Rev 7911 | Rev 7984 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 7911 | Rev 7981 | ||
---|---|---|---|
Line 8... | Line 8... | ||
8 | // // |
8 | // // |
9 | // DATA // |
9 | // DATA // |
10 | // // |
10 | // // |
11 | //===================================================// |
11 | //===================================================// |
Line 12... | Line -... | ||
12 | - | ||
13 | dword pick_active = true; |
12 | |
14 | dword picked_color = 0; |
13 | dword picked_color; |
15 | char picked_color_string[11]; |
14 | char picked_color_string[7]; |
16 | #define FORM_W 167 |
15 | #define FORM_W 167 |
17 | #define FORM_H 60 |
16 | #define FORM_H 60 |
18 | #define COLOR_BLOCK_SIZE 42 |
17 | #define PICKED_SIZE 42 |
19 | #define COLOR_BLOCK_PADDING FORM_H - COLOR_BLOCK_SIZE / 2 |
18 | #define PICKED_PADDING FORM_H - PICKED_SIZE / 2 |
20 | #define COLOR_BLOCK_X FORM_W - COLOR_BLOCK_SIZE - COLOR_BLOCK_PADDING |
19 | #define PICKED_X FORM_W - PICKED_SIZE - PICKED_PADDING |
21 | #define BUTTON_ID_CLOSE 1 |
20 | #define BUTTON_CLOSE 1 |
22 | #define BUTTON_ID_COPY 2 |
21 | #define BUTTON_COPY 2 |
Line 23... | Line 22... | ||
23 | #define BUTTON_ID_PICK 3 |
22 | #define BUTTON_PICK 3 |
24 | 23 | ||
25 | //===================================================// |
24 | //===================================================// |
26 | // // |
25 | // // |
27 | // CODE // |
26 | // CODE // |
Line 28... | Line 27... | ||
28 | // // |
27 | // // |
29 | //===================================================// |
28 | //===================================================// |
- | 29 | ||
30 | 30 | void main() |
|
31 | void main() |
31 | { |
32 | { |
32 | bool pick_active = true; |
33 | int btn; |
33 | int btn; |
34 | proc_info Form; |
34 | proc_info Form; |
35 | SetEventMask(EVM_REDRAW + EVM_KEY + EVM_BUTTON + EVM_MOUSE); |
35 | @SetEventMask(EVM_REDRAW + EVM_KEY + EVM_BUTTON + EVM_MOUSE); |
36 | SetWindowLayerBehaviour(-1, ZPOS_ALWAYS_TOP); |
36 | @SetWindowLayerBehaviour(-1, ZPOS_ALWAYS_TOP); |
37 | loop() switch(WaitEvent()) |
37 | loop() switch(@WaitEvent()) |
38 | { |
38 | { |
39 | case evMouse: |
39 | case evMouse: |
Line 46... | Line 46... | ||
46 | if (mouse.down) && (mouse.key&MOUSE_LEFT) pick_active = false; |
46 | if (mouse.down) && (mouse.key&MOUSE_LEFT) pick_active = false; |
47 | } |
47 | } |
48 | break; |
48 | break; |
Line 49... | Line 49... | ||
49 | 49 | ||
50 | case evButton: |
50 | case evButton: |
51 | btn = GetButtonID(); |
51 | btn = @GetButtonID(); |
52 | if (btn == BUTTON_ID_CLOSE) ExitProcess(); |
52 | if (btn == BUTTON_CLOSE) ExitProcess(); |
53 | if (btn == BUTTON_ID_COPY) EventCopyHex(); |
53 | if (btn == BUTTON_COPY) EventCopyHex(); |
54 | if (btn == BUTTON_ID_PICK) pick_active = true; |
54 | if (btn == BUTTON_PICK) pick_active = true; |
Line 55... | Line 55... | ||
55 | break; |
55 | break; |
56 | 56 | ||
57 | case evKey: |
57 | case evKey: |
58 | GetKeys(); |
58 | key_scancode = @GetKeyScancode(); |
59 | if (key_scancode == SCAN_CODE_ESC) ExitProcess(); |
59 | if (key_scancode == SCAN_CODE_ESC) @ExitProcess(); |
Line 60... | Line 60... | ||
60 | if (key_scancode == SCAN_CODE_KEY_C) EventCopyHex(); |
60 | if (key_scancode == SCAN_CODE_KEY_C) EventCopyHex(); |
61 | break; |
61 | break; |
Line 72... | Line 72... | ||
72 | { |
72 | { |
73 | DrawRectangle3D(0, 0, FORM_W, FORM_H, 0xCCCccc, 0x888888); |
73 | DrawRectangle3D(0, 0, FORM_W, FORM_H, 0xCCCccc, 0x888888); |
74 | DrawRectangle3D(1, 1, FORM_W-2, FORM_H-2, 0xCCCccc, 0x888888); |
74 | DrawRectangle3D(1, 1, FORM_W-2, FORM_H-2, 0xCCCccc, 0x888888); |
75 | DrawBar(2,2,FORM_W-3,FORM_H-3,0xFFFfff); |
75 | DrawBar(2,2,FORM_W-3,FORM_H-3,0xFFFfff); |
Line 76... | Line 76... | ||
76 | 76 | ||
77 | DrawRectangle(COLOR_BLOCK_X-2, COLOR_BLOCK_PADDING-2, COLOR_BLOCK_SIZE+3, COLOR_BLOCK_SIZE+3, 0xCBC6C5); |
77 | DrawRectangle(PICKED_X-2, PICKED_PADDING-2, PICKED_SIZE+3, PICKED_SIZE+3, 0xCBC6C5); |
Line 78... | Line 78... | ||
78 | DefineHiddenButton(COLOR_BLOCK_X-1, COLOR_BLOCK_PADDING-1, COLOR_BLOCK_SIZE+1, COLOR_BLOCK_SIZE+1, BUTTON_ID_PICK); |
78 | DefineHiddenButton(PICKED_X-1, PICKED_PADDING-1, PICKED_SIZE+1, PICKED_SIZE+1, BUTTON_PICK); |
Line 79... | Line 79... | ||
79 | 79 | ||
80 | DrawCopyButton(67, 11, 35, 14); |
80 | DrawCopyButton(67, 11, 35, 14); |
Line 81... | Line 81... | ||
81 | 81 | ||
82 | EventUpdateWindowContent(); |
82 | EventUpdateWindowContent(); |
83 | } |
83 | } |
84 | 84 | ||
85 | //copy of sprintf() => %A |
85 | //copy of sprintf() => %A |
86 | void str2col(dword buf, number) |
86 | void str2col(dword buf, number) |
87 | { |
87 | { |
88 | byte s; |
88 | byte s; |
89 | strlcpy(buf,"0x00000000",10); |
89 | strlcpy(buf,"000000",6); |
90 | buf+=10; |
90 | buf+=6; |
91 | while(number) |
91 | while(number) |
Line 98... | Line 98... | ||
98 | } |
98 | } |
99 | } |
99 | } |
Line 100... | Line 100... | ||
100 | 100 | ||
101 | void EventUpdateWindowContent() |
101 | void EventUpdateWindowContent() |
102 | { |
- | |
103 | //sprintf(#picked_color_string, "%A", picked_color); |
102 | { |
104 | str2col(#picked_color_string, picked_color); |
103 | str2col(#picked_color_string, picked_color); |
Line 105... | Line 104... | ||
105 | rgb.DwordToRgb(picked_color); |
104 | rgb.DwordToRgb(picked_color); |
Line 106... | Line 105... | ||
106 | 105 | ||
107 | WriteTextWithBg(12,12, 0xD0, 0x000111, #picked_color_string+4, 0xFFFfff); |
106 | WriteTextWithBg(12,12, 0xD0, 0x000111, #picked_color_string, 0xFFFfff); |
108 | 107 | ||
Line 109... | Line 108... | ||
109 | WriteNumber(12,33, 0xD0, 0xff0000, 3, rgb.r); |
108 | WriteNumber(12,33, 0xD0, 0xff0000, 3, rgb.r); |
110 | WriteNumber(44,33, 0xD0, 0x008000, 3, rgb.g); |
109 | WriteNumber(44,33, 0xD0, 0x008000, 3, rgb.g); |
Line 111... | Line 110... | ||
111 | WriteNumber(75,33, 0xD0, 0x0000ff, 3, rgb.b); |
110 | WriteNumber(75,33, 0xD0, 0x0000ff, 3, rgb.b); |
112 | 111 | ||
113 | DrawBar(COLOR_BLOCK_X, COLOR_BLOCK_PADDING, COLOR_BLOCK_SIZE, COLOR_BLOCK_SIZE, picked_color); |
112 | DrawBar(PICKED_X, PICKED_PADDING, PICKED_SIZE, PICKED_SIZE, picked_color); |
114 | } |
113 | } |
115 | 114 | ||
116 | void DrawCopyButton(dword _x, _y, _w, _h) |
115 | void DrawCopyButton(dword _x, _y, _w, _h) |
Line 117... | Line 116... | ||
117 | { |
116 | { |
118 | DefineHiddenButton(_x+1, _y+1, _w-2, _h-2, BUTTON_ID_COPY); |
117 | DefineHiddenButton(_x+1, _y+1, _w-2, _h-2, BUTTON_COPY); |
119 | DrawRectangle(_x, _y, _w, _h, 0x777777); |
118 | DrawRectangle(_x, _y, _w, _h, 0x777777); |
120 | WriteText(_x+6, _h-8/2 + _y, 0x80, 0x555555, "Copy"); |
119 | WriteText(_x+6, _h-8/2 + _y, 0x80, 0x555555, "Copy"); |
121 | } |
120 | } |