Rev 7147 | Rev 7150 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 7147 | Rev 7148 | ||
---|---|---|---|
Line 15... | Line 15... | ||
15 | // // |
15 | // // |
16 | // DATA // |
16 | // DATA // |
17 | // // |
17 | // // |
18 | //===================================================// |
18 | //===================================================// |
Line 19... | Line 19... | ||
19 | 19 | ||
Line 20... | Line 20... | ||
20 | #define T_TITLE "Background generator 0.62" |
20 | #define T_TITLE "Icon Editor 0.01" |
21 | 21 | ||
22 | #define MAX_COLORS 10 |
22 | #define MAX_COLORS 32 |
Line 23... | Line -... | ||
23 | #define TOOLBAR_H 24+8 |
- | |
24 | #define PALLETE_SIZE 116 |
- | |
25 | - | ||
26 | more_less_box x_count = { 10, TOOLBAR_H+220, NULL, 1, MAX_COLORS, 22, 23, "X count" }; |
23 | #define TOOLBAR_H 24+8 |
27 | more_less_box y_count = { 10, TOOLBAR_H+250, NULL, 1, MAX_COLORS, 24, 25, "Y count" }; |
24 | #define PALLETE_SIZE 116 |
Line 28... | Line 25... | ||
28 | 25 | ||
29 | rect preview = { 10, TOOLBAR_H+10, 200, 200 }; |
- | |
Line 30... | Line 26... | ||
30 | rect right_bar = { 230, TOOLBAR_H+10, 280, 320 }; |
26 | rect preview = { 10, TOOLBAR_H+10, 200, 200 }; |
31 | - | ||
32 | dword active_color = 0xFFFfff; |
- | |
33 | char active_color_string[11]="0x00111222\0"; |
27 | rect right_bar = { 230, TOOLBAR_H+10, 280, 320 }; |
34 | 28 | ||
35 | enum { |
29 | dword active_color = 0xFFFfff; |
36 | BTN_APPLY_BACKGROUND = 10, |
30 | |
37 | 31 | enum { |
|
Line 67... | Line 61... | ||
67 | 0xFF6666,0xFFB266,0xFFFF66,0xB2FF66,0x66FF66,0x66FFB2,0x66FFFF,0x66B2FF,0x6666FF,0xB266FF,0xFF66FF,0xFF66B2,0xC0C0C0, |
61 | 0xFF6666,0xFFB266,0xFFFF66,0xB2FF66,0x66FF66,0x66FFB2,0x66FFFF,0x66B2FF,0x6666FF,0xB266FF,0xFF66FF,0xFF66B2,0xC0C0C0, |
68 | 0xFF9999,0xFFCC99,0xFFFF99,0xCCFF99,0x99FF99,0x99FFCC,0x99FFFF,0x99CCFF,0x9999FF,0xCC99FF,0xFF99FF,0xFF99CC,0xE0E0E0, |
62 | 0xFF9999,0xFFCC99,0xFFFF99,0xCCFF99,0x99FF99,0x99FFCC,0x99FFFF,0x99CCFF,0x9999FF,0xCC99FF,0xFF99FF,0xFF99CC,0xE0E0E0, |
69 | 0xFFCCCC,0xFFE5CC,0xFFFFCC,0xE5FFCC,0xCCFFCC,0xCCFFE5,0xCCFFFF,0xCCE5FF,0xCCCCFF,0xE5CCFF,0xFFCCFF,0xFFCCE5,0xFFFFFF |
63 | 0xFFCCCC,0xFFE5CC,0xFFFFCC,0xE5FFCC,0xCCFFCC,0xCCFFE5,0xCCFFFF,0xCCE5FF,0xCCCCFF,0xE5CCFF,0xFFCCFF,0xFFCCE5,0xFFFFFF |
70 | }; |
64 | }; |
Line -... | Line 65... | ||
- | 65 | ||
71 | 66 | ||
72 | //===================================================// |
67 | //===================================================// |
73 | // // |
68 | // // |
74 | // CODE // |
69 | // CODE // |
75 | // // |
70 | // // |
Line 84... | Line 79... | ||
84 | load_dll(libio, #libio_init, 1); |
79 | load_dll(libio, #libio_init, 1); |
85 | load_dll(libimg, #libimg_init, 1); |
80 | load_dll(libimg, #libimg_init, 1); |
86 | Libimg_LoadImage(#skin, "/sys/icons16.png"); |
81 | Libimg_LoadImage(#skin, "/sys/icons16.png"); |
Line 87... | Line 82... | ||
87 | 82 | ||
88 | colors.set_default_values(); |
- | |
89 | x_count.value = colors.columns; |
- | |
Line 90... | Line 83... | ||
90 | y_count.value = colors.rows; |
83 | colors.set_default_values(); |
Line 91... | Line 84... | ||
91 | 84 | ||
92 | SetEventMask(EVM_REDRAW+EVM_KEY+EVM_BUTTON+EVM_MOUSE+EVM_MOUSE_FILTER); |
85 | SetEventMask(EVM_REDRAW+EVM_KEY+EVM_BUTTON+EVM_MOUSE+EVM_MOUSE_FILTER); |
93 | 86 | ||
94 | loop() switch(WaitEvent()) |
87 | loop() switch(WaitEvent()) |
95 | { |
88 | { |
- | 89 | case evMouse: |
|
- | 90 | mouse.get(); |
|
- | 91 | if (pick_active) EventPickColor(); |
|
- | 92 | else { |
|
- | 93 | if (mouse.lkm) |
|
- | 94 | && (mouse.x>colors.x) && (mouse.y>colors.y) |
|
- | 95 | && (mouse.y |
|
- | 96 | { |
|
- | 97 | colors.set_color(mouse.y-colors.y/colors.cell_size, |
|
- | 98 | mouse.x-colors.x/colors.cell_size, active_color); |
|
- | 99 | DrawColorsField(); |
|
Line 96... | Line 100... | ||
96 | case evMouse: |
100 | } |
97 | mouse.get(); |
101 | } |
98 | if (pick_active) EventPickColor(); |
- | |
99 | - | ||
100 | case evButton: |
102 | break; |
101 | btn = GetButtonID(); |
103 | |
102 | if (x_count.click(btn)) EventChangeFieldSize(); |
104 | case evButton: |
103 | if (y_count.click(btn)) EventChangeFieldSize(); |
105 | btn = GetButtonID(); |
104 | switch(btn) |
106 | switch(btn) |
Line 115... | Line 117... | ||
115 | case BTN_MOVE_DOWN: |
117 | case BTN_MOVE_DOWN: |
116 | colors.move(DIRECTION_DOWN); |
118 | colors.move(DIRECTION_DOWN); |
117 | break; |
119 | break; |
118 | case CLOSE_BTN: |
120 | case CLOSE_BTN: |
119 | ExitProcess(); |
121 | ExitProcess(); |
120 | case BTN_APPLY_BACKGROUND: |
- | |
121 | EventApplyBackground(); |
- | |
122 | break; |
- | |
123 | case BTN_PICK: |
122 | case BTN_PICK: |
124 | EventPickActivate(); |
123 | EventPickActivate(); |
125 | break; |
124 | break; |
126 | } |
125 | } |
127 | if (btn >= BTN_PALETTE_COLOR_MAS) && (btn < BTN_PALETTE_COLOR_MAS+PALLETE_SIZE) |
126 | if (btn >= BTN_PALETTE_COLOR_MAS) && (btn < BTN_PALETTE_COLOR_MAS+PALLETE_SIZE) |
128 | { |
127 | { |
129 | active_color = default_colors[btn-BTN_PALETTE_COLOR_MAS]; |
128 | active_color = default_colors[btn-BTN_PALETTE_COLOR_MAS]; |
130 | DrawActiveColor(NULL); |
129 | DrawActiveColor(NULL); |
131 | } |
130 | } |
132 | if (btn >= 300) && (btn < 401) |
131 | if (btn >= 300) |
133 | { |
132 | { |
134 | btn-=300; |
133 | btn-=300; |
135 | debugval("\n\nid",btn); |
134 | debugval("\n\nid",btn); |
136 | colors.set_color(btn/colors.columns, btn%colors.columns, active_color); |
135 | colors.set_color(btn/colors.columns, btn%colors.columns, active_color); |
137 | DrawColorsField(); |
136 | DrawColorsField(); |
Line 139... | Line 138... | ||
139 | break; |
138 | break; |
Line 140... | Line 139... | ||
140 | 139 | ||
141 | case evKey: |
140 | case evKey: |
142 | GetKeys(); |
141 | GetKeys(); |
143 | if (key_scancode == SCAN_CODE_ESC) ExitProcess(); |
- | |
144 | if (key_scancode == SCAN_CODE_ENTER) EventApplyBackground(); |
142 | if (key_scancode == SCAN_CODE_ESC) ExitProcess(); |
145 | if (key_scancode == SCAN_CODE_KEY_I) EventPickActivate(); |
143 | if (key_scancode == SCAN_CODE_KEY_I) EventPickActivate(); |
Line 146... | Line 144... | ||
146 | break; |
144 | break; |
147 | 145 | ||
Line 156... | Line 154... | ||
156 | DrawWideRectangle(_x, 4, 24, 24, 4, 0xFFFfff); |
154 | DrawWideRectangle(_x, 4, 24, 24, 4, 0xFFFfff); |
157 | DefineHiddenButton(_x, 4, 23, 23, _id); |
155 | DefineHiddenButton(_x, 4, 23, 23, _id); |
158 | img_draw stdcall(skin.image, _x+4, 8, 16, 16, 0, _icon_n*16); |
156 | img_draw stdcall(skin.image, _x+4, 8, 16, 16, 0, _icon_n*16); |
159 | } |
157 | } |
Line -... | Line 158... | ||
- | 158 | ||
- | 159 | void DrawStatusBar() |
|
- | 160 | { |
|
- | 161 | sprintf(#param,"Canvas: %ix%i", colors.rows, colors.columns); |
|
- | 162 | WriteText(10, Form.cheight-40, 0x90, system.color.work_text, #param); |
|
- | 163 | } |
|
160 | 164 | ||
161 | void draw_window() |
165 | void draw_window() |
162 | { |
166 | { |
163 | #define TB_ICON_PADDING 26 |
167 | #define TB_ICON_PADDING 26 |
164 | incn tx; |
168 | incn tx; |
Line 168... | Line 172... | ||
168 | 0x34, system.color.work, T_TITLE,0 |
172 | 0x34, system.color.work, T_TITLE,0 |
169 | ); |
173 | ); |
170 | GetProcessInfo(#Form, SelfInfo); |
174 | GetProcessInfo(#Form, SelfInfo); |
Line 171... | Line 175... | ||
171 | 175 | ||
172 | tx.n = preview.x - TB_ICON_PADDING; |
176 | tx.n = preview.x - TB_ICON_PADDING; |
173 | // DrawToolbarButton(BTN_NEW, tx.inc(TB_ICON_PADDING), 2); |
177 | DrawToolbarButton(BTN_NEW, tx.inc(TB_ICON_PADDING), 2); //not implemented |
174 | // DrawToolbarButton(BTN_OPEN, tx.inc(TB_ICON_PADDING), 0); |
178 | DrawToolbarButton(BTN_OPEN, tx.inc(TB_ICON_PADDING), 0); //not implemented |
175 | // DrawToolbarButton(BTN_SAVE, tx.inc(TB_ICON_PADDING), 5); |
179 | DrawToolbarButton(BTN_SAVE, tx.inc(TB_ICON_PADDING), 5); //not implemented |
176 | DrawToolbarButton(BTN_MOVE_LEFT, tx.inc(TB_ICON_PADDING), 30); |
180 | DrawToolbarButton(BTN_MOVE_LEFT, tx.inc(TB_ICON_PADDING+8), 30); |
177 | DrawToolbarButton(BTN_MOVE_RIGHT, tx.inc(TB_ICON_PADDING), 31); |
181 | DrawToolbarButton(BTN_MOVE_RIGHT, tx.inc(TB_ICON_PADDING), 31); |
178 | DrawToolbarButton(BTN_MOVE_UP, tx.inc(TB_ICON_PADDING), 32); |
182 | DrawToolbarButton(BTN_MOVE_UP, tx.inc(TB_ICON_PADDING), 32); |
Line 179... | Line 183... | ||
179 | DrawToolbarButton(BTN_MOVE_DOWN, tx.inc(TB_ICON_PADDING), 33); |
183 | DrawToolbarButton(BTN_MOVE_DOWN, tx.inc(TB_ICON_PADDING), 33); |
- | 184 | ||
- | 185 | DrawToolbarButton(BTN_FLIP_HOR, tx.inc(TB_ICON_PADDING+8), 34); //not implemented |
|
- | 186 | DrawToolbarButton(BTN_FLIP_VER, tx.inc(TB_ICON_PADDING), 35); //not implemented |
|
Line 180... | Line 187... | ||
180 | 187 | DrawToolbarButton(BTN_ROTATE_LEFT, tx.inc(TB_ICON_PADDING), 36); //not implemented |
|
181 | DrawToolbarButton(BTN_PICK, tx.inc(TB_ICON_PADDING+8), 38); |
- | |
182 | - | ||
183 | // DrawToolbarButton(BTN_FLIP_HOR, tx.inc(TB_ICON_PADDING+8), 34); |
- | |
Line 184... | Line 188... | ||
184 | // DrawToolbarButton(BTN_FLIP_VER, tx.inc(TB_ICON_PADDING), 35); |
188 | DrawToolbarButton(BTN_ROTATE_RIGHT, tx.inc(TB_ICON_PADDING), 37); //not implemented |
185 | // DrawToolbarButton(BTN_ROTATE_LEFT, tx.inc(TB_ICON_PADDING), 36); |
189 | |
Line 186... | Line -... | ||
186 | // DrawToolbarButton(BTN_ROTATE_RIGHT, tx.inc(TB_ICON_PADDING), 37); |
- | |
187 | - | ||
188 | DrawBar(0, TOOLBAR_H-1, Form.cwidth, 1, system.color.work_dark); |
- | |
189 | DrawBar(0, TOOLBAR_H, Form.cwidth, 1, system.color.work_light); |
190 | DrawToolbarButton(BTN_PICK, tx.inc(TB_ICON_PADDING+8), 38); |
Line 190... | Line -... | ||
190 | - | ||
191 | x_count.draw(); |
- | |
192 | y_count.draw(); |
191 | |
- | 192 | DrawBar(0, TOOLBAR_H-1, Form.cwidth, 1, system.color.work_dark); |
|
193 | 193 | DrawBar(0, TOOLBAR_H, Form.cwidth, 1, system.color.work_light); |
|
Line 194... | Line 194... | ||
194 | DrawColorsField(); |
194 | |
195 | 195 | DrawColorsField(); |
|
196 | DrawStandartCaptButton(preview.x, 320, BTN_APPLY_BACKGROUND, "Fill background"); |
- | |
197 | - | ||
Line 198... | Line 196... | ||
198 | DrawRightBar(); |
196 | |
199 | } |
197 | DrawRightBar(); |
200 | 198 | DrawStatusBar(); |
|
- | 199 | } |
|
- | 200 | ||
- | 201 | void DrawColorsField() |
|
- | 202 | { |
|
201 | void DrawColorsField() |
203 | |
Line 202... | Line 204... | ||
202 | { |
204 | colors.x = -colors.cell_size*colors.columns+preview.w/2 + preview.x; |
203 | DrawRectangle(preview.x, preview.y, preview.w, preview.h, system.color.work_graph); //0x808080); |
205 | colors.y = -colors.cell_size*colors.rows+preview.h/2 + preview.y; |
204 | DrawBar(preview.x+1, preview.y+1, preview.w-1, preview.h-1, 0xBFCAD2); //F3F3F3 |
206 | colors.draw_all_cells(); |
205 | 207 | ||
206 | colors.x = -colors.cell_size*colors.columns+preview.w/2 + preview.x; |
208 | DrawRectangle(preview.x, preview.y, preview.w, preview.h, system.color.work_graph); |
207 | colors.y = -colors.cell_size*colors.rows+preview.h/2 + preview.y; |
- | |
208 | colors.draw_all_cells(); |
- | |
- | 209 | DrawWideRectangle(preview.x+1, preview.y+1, preview.w-1, preview.h-1, |
|
209 | } |
210 | colors.x-preview.x, 0xC0C0C0); |
210 | - | ||
211 | void DrawRightBar() |
- | |
212 | { |
211 | } |
Line 213... | Line 212... | ||
213 | int i; |
212 | |
214 | incn y; |
213 | void DrawRightBar() |
215 | y.n = right_bar.y; |
214 | { |
216 | EDI = system.color.work; |
215 | int i; |
217 | WriteTextB(right_bar.x, y.inc(3), 0x90, system.color.work_text, "Active color"); |
216 | incn y; |
218 | DrawActiveColor(y.inc(22)); |
217 | DrawDefaultColors(right_bar.x, right_bar.y); |
219 | WriteTextB(right_bar.x, y.inc(34), 0x90, system.color.work_text, "Palette"); |
218 | |
220 | DrawDefaultColors(right_bar.x, y.inc(22)); |
219 | DrawActiveColor(Form.cheight-40); |
221 | } |
220 | } |
Line 222... | Line 221... | ||
222 | 221 | ||
223 | void DrawActiveColor(dword iny) |
222 | void DrawActiveColor(dword iny) |
224 | { |
223 | { |
- | 224 | static dword outy; |
|
- | 225 | if (iny != NULL) outy = iny; |
|
225 | static dword outy; |
226 | DrawBar(right_bar.x, outy, 20, 20, active_color); |
226 | if (iny != NULL) outy = iny; |
227 | sprintf(#param, "%A", active_color); |
227 | colors.draw_cell(right_bar.x, outy, active_color); |
228 | EDI = system.color.work; |
228 | sprintf(#active_color_string, "%A", active_color); |
229 | WriteText(right_bar.x + 30, outy + 3, 0xD0, system.color.work_text, #param+4); |
229 | EDI = system.color.work; |
230 | } |
230 | WriteText(right_bar.x + 30, outy + 3, 0xD0, system.color.work_text, #active_color_string+4); |
231 | |
231 | } |
- | |
232 | 232 | void DrawDefaultColors(dword _x, _y) |
|
233 | void DrawDefaultColors(dword _x, _y) |
233 | { |
234 | { |
234 | int r, c, i; |
235 | int r, c, i; |
235 | int cellw = 20; |
236 | i = 0; |
236 | |
237 | for (r = 0; r < 9; r++) |
237 | i = 0; |
238 | { |
238 | for (r = 0; r < 9; r++) |
Line 239... | Line 239... | ||
239 | for (c = 0; c < 13; c++) |
239 | { |
240 | { |
240 | for (c = 0; c < 13; c++) |
241 | colors.draw_cell(c*colors.cell_size + _x, r*colors.cell_size + _y, default_colors[PALLETE_SIZE-i]); |
241 | { |
242 | DefineHiddenButton(c*colors.cell_size + _x, r*colors.cell_size + _y, |
242 | DrawBar(c*cellw + _x, r*cellw + _y, cellw, cellw, default_colors[PALLETE_SIZE-i]); |
243 | colors.cell_size-1, colors.cell_size-1, BTN_PALETTE_COLOR_MAS+PALLETE_SIZE-i); |
243 | DefineHiddenButton(c*cellw + _x, r*cellw + _y, cellw-1, cellw-1, BTN_PALETTE_COLOR_MAS+PALLETE_SIZE-i); |
Line 244... | Line -... | ||
244 | i++; |
- | |
245 | } |
- | |
246 | } |
- | |
247 | DrawRectangle(_x-1, _y-1, c*colors.cell_size+1, r*colors.cell_size+1, system.color.work_light); |
- | |
248 | DrawRectangle(_x-2, _y-2, c*colors.cell_size+3, r*colors.cell_size+3, system.color.work_dark); |
- | |
249 | } |
- | |
250 | - | ||
251 | 244 | i++; |
|
252 | //===================================================// |
245 | } |
253 | // // |
246 | } |
254 | // EVENTS // |
247 | DrawRectangle(_x-1, _y-1, c*cellw+1, r*cellw+1, system.color.work_light); |
255 | // // |
248 | DrawRectangle(_x-2, _y-2, c*cellw+3, r*cellw+3, system.color.work_dark); |
Line 275... | Line 268... | ||
275 | if (mouse.down) && (mouse.key&MOUSE_LEFT) { |
268 | if (mouse.down) && (mouse.key&MOUSE_LEFT) { |
276 | pick_active = false; |
269 | pick_active = false; |
277 | SetEventMask(EVM_REDRAW+EVM_KEY+EVM_BUTTON+EVM_MOUSE+EVM_MOUSE_FILTER); |
270 | SetEventMask(EVM_REDRAW+EVM_KEY+EVM_BUTTON+EVM_MOUSE+EVM_MOUSE_FILTER); |
278 | } |
271 | } |
279 | } |
272 | }>>> |
280 | - | ||
281 | void EventApplyBackground() |
- | |
282 | { |
- | |
283 | SetBackgroundImage(colors.columns, colors.rows, colors.get_image(), DRAW_DESKTOP_BG_STRETCH); |
- | |
284 | }>>>> |
- | |
285 | 273 | > |