Rev 7273 | Rev 7275 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 7273 | Rev 7274 | ||
---|---|---|---|
Line 30... | Line 30... | ||
30 | // // |
30 | // // |
31 | // DATA // |
31 | // DATA // |
32 | // // |
32 | // // |
33 | //===================================================// |
33 | //===================================================// |
Line 34... | Line 34... | ||
34 | 34 | ||
Line 35... | Line 35... | ||
35 | #define T_TITLE "Icon Editor 0.54.2 Alpha" |
35 | #define T_TITLE "Icon Editor 0.55 Alpha" |
36 | 36 | ||
37 | #define TOPBAR_H 24+8 |
37 | #define TOPBAR_H 24+8 |
Line 84... | Line 84... | ||
84 | BTN_BAR, |
84 | BTN_BAR, |
85 | BTN_SELECT, |
85 | BTN_SELECT, |
86 | BTN_SCREEN_COPY, |
86 | BTN_SCREEN_COPY, |
87 | BTN_ZOOM_IN, |
87 | BTN_ZOOM_IN, |
88 | BTN_ZOOM_OUT, |
88 | BTN_ZOOM_OUT, |
- | 89 | BTN_CANVAS_RESIZE, |
|
89 | BTNS_PALETTE_COLOR_MAS = 100, |
90 | BTNS_PALETTE_COLOR_MAS = 100, |
90 | BTNS_LAST_USED_COLORS = 400 |
91 | BTNS_LAST_USED_COLORS = 400 |
91 | }; |
92 | }; |
Line 92... | Line 93... | ||
92 | 93 | ||
Line 129... | Line 130... | ||
129 | #include "actions_history.h" |
130 | #include "actions_history.h" |
Line 130... | Line 131... | ||
130 | 131 | ||
Line 131... | Line 132... | ||
131 | _ActionsHistory actionsHistory; |
132 | _ActionsHistory actionsHistory; |
- | 133 | ||
Line 132... | Line 134... | ||
132 | 134 | #include "tools.h" |
|
133 | #include "tools.h" |
135 | #include "canvas_resize.h" |
134 | 136 | ||
135 | //===================================================// |
137 | //===================================================// |
Line 186... | Line 188... | ||
186 | SetEventMask(EVM_REDRAW+EVM_KEY+EVM_BUTTON+EVM_MOUSE+EVM_MOUSE_FILTER); |
188 | SetEventMask(EVM_REDRAW+EVM_KEY+EVM_BUTTON+EVM_MOUSE+EVM_MOUSE_FILTER); |
Line 187... | Line 189... | ||
187 | 189 | ||
188 | loop() switch(WaitEvent()) |
190 | loop() switch(WaitEvent()) |
189 | { |
191 | { |
- | 192 | case evMouse: |
|
190 | case evMouse: |
193 | if (Window_CanvasReSize.thread_exists()) break; |
Line 191... | Line 194... | ||
191 | mouse.get(); |
194 | mouse.get(); |
192 | 195 | ||
193 | if (mouse.lkm) tool_color = color1; |
196 | if (mouse.lkm) tool_color = color1; |
Line 231... | Line 234... | ||
231 | } |
234 | } |
Line 232... | Line 235... | ||
232 | 235 | ||
Line 233... | Line 236... | ||
233 | break; |
236 | break; |
- | 237 | ||
234 | 238 | case evButton: |
|
Line 235... | Line 239... | ||
235 | case evButton: |
239 | if (Window_CanvasReSize.thread_exists()) break; |
Line 236... | Line 240... | ||
236 | btn = GetButtonID(); |
240 | btn = GetButtonID(); |
237 | 241 | ||
238 | if (zoom.click(btn)) DrawEditArea(); |
242 | if (zoom.click(btn)) DrawEditArea(); |
239 | 243 | ||
240 | switch(btn) |
244 | switch(btn) |
241 | { |
245 | { |
242 | case BTN_NEW: |
246 | case BTN_NEW: |
243 | EventCleanCanvas(); |
247 | EventCreateNewIcon(); |
244 | break; |
248 | break; |
Line 291... | Line 295... | ||
291 | setCurrentTool(TOOL_SELECT); |
295 | setCurrentTool(TOOL_SELECT); |
292 | break; |
296 | break; |
293 | case BTN_SCREEN_COPY: |
297 | case BTN_SCREEN_COPY: |
294 | setCurrentTool(TOOL_SCREEN_COPY); |
298 | setCurrentTool(TOOL_SCREEN_COPY); |
295 | break; |
299 | break; |
- | 300 | case BTN_CANVAS_RESIZE: |
|
- | 301 | notify("Sorry, not implemented yet."); |
|
- | 302 | break; |
|
296 | case CLOSE_BTN: |
303 | case CLOSE_BTN: |
297 | EventExitIconEdit(); |
304 | EventExitIconEdit(); |
298 | break; |
305 | break; |
299 | } |
306 | } |
300 | break; |
307 | break; |
Line 303... | Line 310... | ||
303 | GetKeys(); |
310 | GetKeys(); |
Line 304... | Line 311... | ||
304 | 311 | ||
305 | if (currentTool != TOOL_NONE) && (tools[currentTool].onKeyEvent != 0) |
312 | if (currentTool != TOOL_NONE) && (tools[currentTool].onKeyEvent != 0) |
Line -... | Line 313... | ||
- | 313 | tools[currentTool].onKeyEvent(key_scancode); |
|
- | 314 | ||
306 | tools[currentTool].onKeyEvent(key_scancode); |
315 | if (key_scancode == SCAN_CODE_DEL) EventCleanCanvas(); |
307 | 316 | ||
308 | if (key_scancode == SCAN_CODE_KEY_P) setCurrentTool(TOOL_PENCIL); |
317 | if (key_scancode == SCAN_CODE_KEY_P) setCurrentTool(TOOL_PENCIL); |
309 | if (key_scancode == SCAN_CODE_KEY_I) setCurrentTool(TOOL_PIPETTE); |
318 | if (key_scancode == SCAN_CODE_KEY_I) setCurrentTool(TOOL_PIPETTE); |
310 | if (key_scancode == SCAN_CODE_KEY_F) setCurrentTool(TOOL_FILL); |
319 | if (key_scancode == SCAN_CODE_KEY_F) setCurrentTool(TOOL_FILL); |
Line 322... | Line 331... | ||
322 | if (key_scancode == SCAN_CODE_PLUS) {zoom.inc(); DrawEditArea();} |
331 | if (key_scancode == SCAN_CODE_PLUS) {zoom.inc(); DrawEditArea();} |
Line 323... | Line 332... | ||
323 | 332 | ||
Line 324... | Line 333... | ||
324 | break; |
333 | break; |
- | 334 | ||
325 | 335 | case evReDraw: |
|
326 | case evReDraw: |
336 | Window_CanvasReSize.thread_exists(); |
327 | draw_window(); |
337 | draw_window(); |
328 | break; |
338 | break; |
Line 350... | Line 360... | ||
350 | 360 | ||
351 | void DrawStatusBar() |
361 | void DrawStatusBar() |
352 | { |
362 | { |
Line -... | Line 363... | ||
- | 363 | zoom.draw(wrapper.x, wrapper.y + wrapper.h + 6); |
|
- | 364 | ||
- | 365 | DrawCaptButton( |
|
- | 366 | wrapper.x+wrapper.w-calc(strlen(#param)*8) +6 - 1, |
|
- | 367 | zoom.y, |
|
- | 368 | calc(strlen(#param)*8)-6, |
|
- | 369 | 18, |
|
- | 370 | BTN_CANVAS_RESIZE, |
|
353 | zoom.draw(wrapper.x, wrapper.y + wrapper.h + 6); |
371 | system.color.work_button, |
354 | - | ||
- | 372 | system.color.work_button_text, |
|
355 | sprintf(#param,"Canvas: %ix%i", image.rows, image.columns); |
373 | sprintf(#param,"%i x %i", image.rows, image.columns) |
Line 356... | Line 374... | ||
356 | WriteText(wrapper.x+wrapper.w-calc(strlen(#param)*8), zoom.y+2, 0x90, system.color.work_text, #param); |
374 | ); |
357 | } |
375 | } |
358 | 376 | ||
Line 389... | Line 407... | ||
389 | // DrawTopPanelButton(BTN_ROTATE_LEFT, tx.inc(GAP), 36); //not implemented |
407 | // DrawTopPanelButton(BTN_ROTATE_LEFT, tx.inc(GAP), 36); //not implemented |
390 | // DrawTopPanelButton(BTN_ROTATE_RIGHT, tx.inc(GAP), 37); //not implemented |
408 | // DrawTopPanelButton(BTN_ROTATE_RIGHT, tx.inc(GAP), 37); //not implemented |
Line 391... | Line 409... | ||
391 | 409 | ||
Line 392... | Line -... | ||
392 | DrawEditArea(); |
- | |
393 | 410 | DrawEditArea(); |
|
394 | //BG under LeftBar |
411 | |
- | 412 | DrawBar(0, TOPBAR_H, LEFTBAR_W-1, Form.cheight - TOPBAR_H, system.color.work); |
|
395 | DrawBar(0, TOPBAR_H, LEFTBAR_W-1, Form.cheight - TOPBAR_H, system.color.work); |
413 | DrawLeftPanel(); |
396 | //BG under RightBar |
414 | |
397 | DrawBar(wrapper.x+wrapper.w, TOPBAR_H, Form.cwidth-wrapper.x-wrapper.w, |
- | |
398 | Form.cheight - TOPBAR_H, system.color.work); |
- | |
399 | //BG under StatusBar |
- | |
400 | DrawBar(LEFTBAR_W-1, wrapper.y + wrapper.h, wrapper.w+1, |
- | |
401 | Form.cheight - wrapper.y - wrapper.h, system.color.work); |
- | |
402 | 415 | DrawBar(wrapper.x+wrapper.w, TOPBAR_H, Form.cwidth-wrapper.x-wrapper.w, |
|
403 | DrawLeftPanel(); |
416 | Form.cheight - TOPBAR_H, system.color.work); |
404 | DrawActiveColor(right_bar.y); |
- | |
405 | DrawColorPallets(); |
417 | DrawActiveColor(right_bar.y); |
- | 418 | DrawColorPallets(); |
|
- | 419 | DrawPreview(); |
|
- | 420 | ||
- | 421 | DrawBar(LEFTBAR_W-1, wrapper.y + wrapper.h, wrapper.w+1, |
|
406 | DrawStatusBar(); |
422 | Form.cheight - wrapper.y - wrapper.h, system.color.work); |
Line 407... | Line 423... | ||
407 | DrawPreview(); |
423 | DrawStatusBar(); |
408 | } |
424 | } |
409 | 425 | ||
Line 606... | Line 622... | ||
606 | // // |
622 | // // |
607 | // EVENTS // |
623 | // EVENTS // |
608 | // // |
624 | // // |
609 | //===================================================// |
625 | //===================================================// |
Line -... | Line 626... | ||
- | 626 | ||
- | 627 | void EventCreateNewIcon() |
|
- | 628 | { |
|
- | 629 | EventSaveIconToFile(); |
|
- | 630 | Window_CanvasReSize.create(); |
|
- | 631 | } |
|
610 | 632 | ||
611 | void EventSaveIconToFile() |
633 | void EventSaveIconToFile() |
612 | { |
634 | { |
613 | int i=0; |
635 | int i=0; |
614 | char save_file_name[4096]; |
636 | char save_file_name[4096]; |
Line 621... | Line 643... | ||
621 | save_image(image.get_image(), image.columns, image.rows, #save_file_name); |
643 | save_image(image.get_image(), image.columns, image.rows, #save_file_name); |
622 | } |
644 | } |
Line 623... | Line 645... | ||
623 | 645 | ||
624 | void EventCleanCanvas() |
646 | void EventCleanCanvas() |
625 | { |
647 | { |
626 | EventSaveIconToFile(); |
648 | image.create(image.rows, image.columns); |
627 | image.create(32, 32); |
649 | actionsHistory.saveCurrentState(); |
628 | DrawCanvas(); |
650 | DrawCanvas(); |
Line 629... | Line 651... | ||
629 | } |
651 | } |
630 | 652 |