Subversion Repositories Kolibri OS

Rev

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