Subversion Repositories Kolibri OS

Rev

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
>