Subversion Repositories Kolibri OS

Rev

Rev 1643 | Rev 3951 | Go to most recent revision | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1643 Rev 1702
1
;*******************************************************
1
;*******************************************************
2
;**************GRAPHICS EDITOR ANIMAGE *****************
2
;**************GRAPHICS EDITOR ANIMAGE *****************
3
;*******************************************************
3
;*******************************************************
4
; version:	1.3
4
; version:	1.3
5
; last update:  05/10/2010
5
; last update:  05/10/2010
6
; written by:   Marat Zakiyanov aka Mario79, aka Mario
6
; written by:   Marat Zakiyanov aka Mario79, aka Mario
7
; changes:      Fixed window flicker when redrawing,
7
; changes:      Fixed window flicker when redrawing,
8
;               Fixed memory leak for stack
8
;               Fixed memory leak for stack
9
;--------------------------------------------------------
9
;--------------------------------------------------------
10
; version:	1.2
10
; version:	1.2
11
; last update:  30/09/2010
11
; last update:  30/09/2010
12
; written by:   Marat Zakiyanov aka Mario79, aka Mario
12
; written by:   Marat Zakiyanov aka Mario79, aka Mario
13
; changes:      Program used function 68 instead 64 is now,
13
; changes:      Program used function 68 instead 64 is now,
14
;               select path with OpenDialog
14
;               select path with OpenDialog
15
;--------------------------------------------------------
15
;--------------------------------------------------------
16
; version 1.1 year 9.12.2006
16
; version 1.1 year 9.12.2006
17
; AUTORS:
17
; AUTORS:
18
; programming by andrew_programmer
18
; programming by andrew_programmer
19
; design by golus
19
; design by golus
20
 
20
 
21
use32
21
use32
22
org	0x0
22
org	0x0
23
 
23
 
24
	db 'MENUET01'
24
	db 'MENUET01'
25
	dd 0x1
25
	dd 0x1
26
	dd START
26
	dd START
27
	dd IM_END
27
	dd IM_END
28
	dd I_END	;0x19000;100	kb
28
	dd I_END	;0x19000;100	kb
29
	dd stacktop	;0x19000;
29
	dd stacktop	;0x19000;
30
	dd file_path	;parameters
30
	dd file_path	;parameters
31
	dd cur_dir_path
31
	dd cur_dir_path
32
 
32
 
-
 
33
 
33
 
34
include '../../../config.inc'		;for nightbuild
34
include	'..\..\..\macros.inc'
35
include	'..\..\..\macros.inc'
35
include '../../../develop/libraries/box_lib/load_lib.mac'
36
include '../../../develop/libraries/box_lib/load_lib.mac'
36
	@use_library
37
	@use_library
37
COLOR_ORDER equ MENUETOS
38
COLOR_ORDER equ MENUETOS
38
include	'gif_lite.inc'
39
include	'gif_lite.inc'
39
include	'bmplib.inc'
40
include	'bmplib.inc'
40
;include	'dialog.inc'
41
;include	'dialog.inc'
41
include	'dialog2.inc'
42
include	'dialog2.inc'
42
include	'design.inc'
43
include	'design.inc'
43
include	'graphlib.inc'
44
include	'graphlib.inc'
44
 
45
 
45
include	'cursors.inc'
46
include	'cursors.inc'
46
 
47
 
47
include	'load_from_parameters.inc'
48
include	'load_from_parameters.inc'
48
 
49
 
49
START:
50
START:
50
	mcall	68,11
51
	mcall	68,11
51
	
52
	
52
load_libraries l_libs_start,end_l_libs
53
load_libraries l_libs_start,end_l_libs
53
 
54
 
54
	cmp	eax,-1
55
	cmp	eax,-1
55
	jz	close
56
	jz	close
56
;--------------------------------------------------------
57
;--------------------------------------------------------
57
;---------------set events mask--------------------------
58
;---------------set events mask--------------------------
58
;--------------------------------------------------------
59
;--------------------------------------------------------
59
	mcall	40,1100111b
60
	mcall	40,1100111b
60
;---------------------------------------------------------
61
;---------------------------------------------------------
61
;-----------------------init data-------------------------
62
;-----------------------init data-------------------------
62
;---------------------------------------------------------
63
;---------------------------------------------------------
63
include	'init_data.inc'
64
include	'init_data.inc'
64
 
65
 
65
;----------------------------------------------------------
66
;----------------------------------------------------------
66
;--------get memory and draw window of program-------------
67
;--------get memory and draw window of program-------------
67
;----------------------------------------------------------
68
;----------------------------------------------------------
68
	call	GetMemory
69
	call	GetMemory
69
	call	cleare_work_arrea
70
	call	cleare_work_arrea
70
	call	load_icons
71
	call	load_icons
71
 
72
 
72
;load	cursors
73
;load	cursors
73
	mov	eax,CursorsID
74
	mov	eax,CursorsID
74
	call	load_cursors
75
	call	load_cursors
75
 
76
 
76
	call	drawwin
77
	call	drawwin
77
;---------------------------------------------------------
78
;---------------------------------------------------------
78
;---------Check loading of file from parameters-----------
79
;---------Check loading of file from parameters-----------
79
;---------------------------------------------------------
80
;---------------------------------------------------------
80
;	mov	eax,parameters
81
;	mov	eax,parameters
81
;	mov	ebx,file_path
82
;	mov	ebx,file_path
82
;	call	check_loading_from_parameters
83
;	call	check_loading_from_parameters
83
	mov	eax,file_path
84
	mov	eax,file_path
84
	cmp [eax],byte 0
85
	cmp [eax],byte 0
85
	jz @f
86
	jz @f
86
	call load_picture
87
	call load_picture
87
@@:
88
@@:
88
 
89
 
89
;---------------------------------------------------------------------
90
;---------------------------------------------------------------------
90
	mov	edi,filename_area
91
	mov	edi,filename_area
91
	mov	esi,path4+5
92
	mov	esi,path4+5
92
	call	copy_str_1
93
	call	copy_str_1
93
 
94
 
94
	mov	edi,file_path
95
	mov	edi,file_path
95
	cmp	[edi],byte 0
96
	cmp	[edi],byte 0
96
	jne	@f
97
	jne	@f
97
	mov	esi,path4
98
	mov	esi,path4
98
	call	copy_str_1
99
	call	copy_str_1
99
@@:
100
@@:
100
;OpenDialog	initialisation
101
;OpenDialog	initialisation
101
	push    dword OpenDialog_data
102
	push    dword OpenDialog_data
102
	call    [OpenDialog_Init]
103
	call    [OpenDialog_Init]
103
;---------------------------------------------------------------------
104
;---------------------------------------------------------------------
104
;----------------------------------------------------------
105
;----------------------------------------------------------
105
;---------------------MAIN LOOP----------------------------
106
;---------------------MAIN LOOP----------------------------
106
;----------------------------------------------------------
107
;----------------------------------------------------------
107
red:
108
red:
108
	call	drawwin
109
	call	drawwin
109
still:
110
still:
110
	call	event
111
	call	event
111
 
112
 
112
	cmp	eax,1
113
	cmp	eax,1
113
	je	red
114
	je	red
114
 
115
 
115
	cmp	eax,2
116
	cmp	eax,2
116
	je	keys
117
	je	keys
117
 
118
 
118
	cmp	eax,3
119
	cmp	eax,3
119
	je	buttons
120
	je	buttons
120
 
121
 
121
	cmp	eax,6
122
	cmp	eax,6
122
	je	mouse
123
	je	mouse
123
 
124
 
124
	jmp	still
125
	jmp	still
125
	
126
	
126
;---------------------------------------------------------------------
127
;---------------------------------------------------------------------
127
copy_str_1:
128
copy_str_1:
128
	xor	eax,eax
129
	xor	eax,eax
129
	cld
130
	cld
130
@@:
131
@@:
131
	lodsb
132
	lodsb
132
	stosb
133
	stosb
133
	test	eax,eax
134
	test	eax,eax
134
	jnz	@b
135
	jnz	@b
135
	ret
136
	ret
136
;---------------------------------------------------------------------
137
;---------------------------------------------------------------------
137
;---------------------------------------------------------
138
;---------------------------------------------------------
138
;---------------------------------------------------------
139
;---------------------------------------------------------
139
;---------------------------------------------------------
140
;---------------------------------------------------------
140
include	'events.inc'
141
include	'events.inc'
141
include	'events_of_window.inc'
142
include	'events_of_window.inc'
142
include	'events_of_keys.inc'
143
include	'events_of_keys.inc'
143
include	'events_of_buttons.inc'
144
include	'events_of_buttons.inc'
144
include	'events_of_mouse.inc'
145
include	'events_of_mouse.inc'
145
include	'panel_engen.inc'
146
include	'panel_engen.inc'
146
include	'screen.inc'
147
include	'screen.inc'
147
include 'menu_instruments.inc'
148
include 'menu_instruments.inc'
148
include	'icons_instruments.inc'
149
include	'icons_instruments.inc'
149
include	'icons.inc'
150
include	'icons.inc'
150
include	'sprites.inc'
151
include	'sprites.inc'
151
include	'string.inc'
152
include	'string.inc'
152
include	'palette.inc'
153
include	'palette.inc'
153
include	'files.inc'
154
include	'files.inc'
154
include	'time.inc'
155
include	'time.inc'
155
include	'memory.inc'
156
include	'memory.inc'
156
;-----------------------------------------------------------
157
;-----------------------------------------------------------
157
;------------variables and data of program------------------
158
;------------variables and data of program------------------
158
;-----------------------------------------------------------
159
;-----------------------------------------------------------
159
sound_havent_memory	db 150,64,0
160
sound_havent_memory	db 150,64,0
160
 
161
 
161
include 'lib_data.inc'
162
include 'lib_data.inc'
162
include	'panel_data.inc'
163
include	'panel_data.inc'
163
include	'palitra256.inc'
164
include	'palitra256.inc'
164
include	'brushes.inc'
165
include	'brushes.inc'
165
include	'spray.inc'
166
include	'spray.inc'
166
include	'width_lines.inc'
167
include	'width_lines.inc'
167
;----------------------------------------------------------
168
;----------------------------------------------------------
168
;-------------------ICON"S picture-------------------------
169
;-------------------ICON"S picture-------------------------
169
;----------------------------------------------------------
170
;----------------------------------------------------------
170
	dd	0
171
	dd	0
171
panel_picture:
172
panel_picture:
172
file 'panel_buttons.gif'
173
file 'panel_buttons.gif'
173
;****************cursors******************
174
;****************cursors******************
174
brush_cursor:
175
brush_cursor:
175
file 'brush.cur'
176
file 'brush.cur'
176
;----------------------------------------------------------
177
;----------------------------------------------------------
177
flood_fill_cursor:
178
flood_fill_cursor:
178
file 'flood_fill.cur'
179
file 'flood_fill.cur'
179
;----------------------------------------------------------
180
;----------------------------------------------------------
180
lastik_cursor:
181
lastik_cursor:
181
file 'lastik.cur'
182
file 'lastik.cur'
182
;----------------------------------------------------------
183
;----------------------------------------------------------
183
other_cursor:
184
other_cursor:
184
file 'other.cur'
185
file 'other.cur'
185
;----------------------------------------------------------
186
;----------------------------------------------------------
186
pencil_cursor:
187
pencil_cursor:
187
file 'pencil.cur'
188
file 'pencil.cur'
188
;----------------------------------------------------------
189
;----------------------------------------------------------
189
pipette_cursor:
190
pipette_cursor:
190
file 'pipette.cur'
191
file 'pipette.cur'
191
;----------------------------------------------------------
192
;----------------------------------------------------------
192
spray_cursor:
193
spray_cursor:
193
file 'spray.cur'
194
file 'spray.cur'
194
;----------------------------------------------------------
195
;----------------------------------------------------------
195
zoom_cursor:
196
zoom_cursor:
196
file 'zoom.cur'
197
file 'zoom.cur'
197
;----------------------------------------------------------
198
;----------------------------------------------------------
198
IM_END:
199
IM_END:
199
;-----------------------------------------------------------
200
;-----------------------------------------------------------
200
;------------variables and data of program------------------
201
;------------variables and data of program------------------
201
;-----------------------------------------------------------
202
;-----------------------------------------------------------
202
time			rd 1
203
time			rd 1
203
PosX			rd 1
204
PosX			rd 1
204
PosY			rd 1
205
PosY			rd 1
205
PointerToIcons		rd 1
206
PointerToIcons		rd 1
206
ScreenPointer		rd 1
207
ScreenPointer		rd 1
207
PointerToPicture	rd 1
208
PointerToPicture	rd 1
208
PointerToCopyPicture	rd 1
209
PointerToCopyPicture	rd 1
209
PointerToCopyPicture2	rd 1
210
PointerToCopyPicture2	rd 1
210
PointerToEditBufer	rd 1
211
PointerToEditBufer	rd 1
211
PointerToSpriteBufer	rd 1
212
PointerToSpriteBufer	rd 1
212
PointerToPalette	rd 1
213
PointerToPalette	rd 1
213
Color			rd 1
214
Color			rd 1
214
Number_Brush		rd 1
215
Number_Brush		rd 1
215
Brush_SizeX		rd 1
216
Brush_SizeX		rd 1
216
Brush_SizeY		rd 1
217
Brush_SizeY		rd 1
217
Current_instrument	rd 1
218
Current_instrument	rd 1
218
Last_instrument		rd 1
219
Last_instrument		rd 1
219
Activate_instrument	rb 1
220
Activate_instrument	rb 1
220
SColor			rd 1
221
SColor			rd 1
221
OldX			rd 1
222
OldX			rd 1
222
OldY			rd 1
223
OldY			rd 1
223
 
224
 
224
MouseX			rd 1
225
MouseX			rd 1
225
MouseY			rd 1
226
MouseY			rd 1
226
Window_SizeX		rd 1
227
Window_SizeX		rd 1
227
Window_SizeY		rd 1
228
Window_SizeY		rd 1
228
Window_CordinatX	rd 1
229
Window_CordinatX	rd 1
229
Window_CordinatY	rd 1
230
Window_CordinatY	rd 1
230
Picture_SizeX		rd 1
231
Picture_SizeX		rd 1
231
Picture_SizeY		rd 1
232
Picture_SizeY		rd 1
232
ScreenX			rd 1
233
ScreenX			rd 1
233
ScreenY			rd 1
234
ScreenY			rd 1
234
WorkScreen_SizeX	rd 1
235
WorkScreen_SizeX	rd 1
235
WorkScreen_SizeY	rd 1
236
WorkScreen_SizeY	rd 1
236
MaxWorkScreen_SizeX	rd 1
237
MaxWorkScreen_SizeX	rd 1
237
MaxWorkScreen_SizeY	rd 1
238
MaxWorkScreen_SizeY	rd 1
238
k			rd 1
239
k			rd 1
239
 
240
 
240
ReserveArray		rd 1
241
ReserveArray		rd 1
241
register		rd 1
242
register		rd 1
242
CounterX		rd 1
243
CounterX		rd 1
243
CounterY		rd 1
244
CounterY		rd 1
244
OffsetYPicture		rd 1
245
OffsetYPicture		rd 1
245
OffsetYWorkScreen	rd 1
246
OffsetYWorkScreen	rd 1
246
OffsetYBigPixel		rd 1
247
OffsetYBigPixel		rd 1
247
 
248
 
248
Icon_X			rd 1
249
Icon_X			rd 1
249
Icon_Y			rd 1
250
Icon_Y			rd 1
250
counter			rd 1
251
counter			rd 1
251
counter2		rd 1
252
counter2		rd 1
252
Icon_text_x		rd 1
253
Icon_text_x		rd 1
253
Icon_text_y		rd 1
254
Icon_text_y		rd 1
254
Panel_flag		rb 1
255
Panel_flag		rb 1
255
counter_menu		rd 1
256
counter_menu		rd 1
256
menu_coordinat_x	rd 1
257
menu_coordinat_x	rd 1
257
menu_size_x		rd 1
258
menu_size_x		rd 1
258
menu_counter		rd 1
259
menu_counter		rd 1
259
counter_11		rd 1
260
counter_11		rd 1
260
number_panel		rd 1
261
number_panel		rd 1
261
number_menu		rd 1
262
number_menu		rd 1
262
 
263
 
263
Scroll1CoordinatX	rd 1
264
Scroll1CoordinatX	rd 1
264
Scroll1CoordinatY	rd 1
265
Scroll1CoordinatY	rd 1
265
Scroll1MaxSizeX		rd 1
266
Scroll1MaxSizeX		rd 1
266
Scroll1MaxSizeY		rd 1
267
Scroll1MaxSizeY		rd 1
267
Scroll1SizeX		rd 1
268
Scroll1SizeX		rd 1
268
Scroll1FreeX		rd 1
269
Scroll1FreeX		rd 1
269
 
270
 
270
Scroll2CoordinatX	rd 1
271
Scroll2CoordinatX	rd 1
271
Scroll2CoordinatY	rd 1
272
Scroll2CoordinatY	rd 1
272
Scroll2MaxSizeX		rd 1
273
Scroll2MaxSizeX		rd 1
273
Scroll2MaxSizeY		rd 1
274
Scroll2MaxSizeY		rd 1
274
Scroll2SizeY		rd 1
275
Scroll2SizeY		rd 1
275
Scroll2FreeY		rd 1
276
Scroll2FreeY		rd 1
276
 
277
 
277
;extended_memory		rd 1
278
;extended_memory		rd 1
278
type			rw 1
279
type			rw 1
279
x			rd 1
280
x			rd 1
280
y			rd 1
281
y			rd 1
281
save_flag		rb 1
282
save_flag		rb 1
282
exit_from_work_arrea	rb 1
283
exit_from_work_arrea	rb 1
283
 
284
 
284
Radius			rd 1
285
Radius			rd 1
285
Dx_			rd 1
286
Dx_			rd 1
286
Dy_			rd 1
287
Dy_			rd 1
287
line_width		rd 1
288
line_width		rd 1
288
lastik_is_active	rb 1
289
lastik_is_active	rb 1
289
a_ellips		rd 1
290
a_ellips		rd 1
290
b_ellips		rd 1
291
b_ellips		rd 1
291
instrument_used		rb 1
292
instrument_used		rb 1
292
used_OldX		rd 1
293
used_OldX		rd 1
293
used_OldY		rd 1
294
used_OldY		rd 1
294
rectangular_shade_x	rd 1
295
rectangular_shade_x	rd 1
295
rectangular_shade_y	rd 1
296
rectangular_shade_y	rd 1
296
crossing_old_x		rd 1
297
crossing_old_x		rd 1
297
crossing_old_y		rd 1
298
crossing_old_y		rd 1
298
crossing		rd 1
299
crossing		rd 1
299
finishing_crossing	rd 1
300
finishing_crossing	rd 1
300
number_undo		rd 1
301
number_undo		rd 1
301
DrawSprite_flag		rb 1
302
DrawSprite_flag		rb 1
302
Paste_flag		rb 1
303
Paste_flag		rb 1
303
SpriteSizeX		rd 1
304
SpriteSizeX		rd 1
304
SpriteSizeY		rd 1
305
SpriteSizeY		rd 1
305
SpriteCoordinatX	rd 1
306
SpriteCoordinatX	rd 1
306
SpriteCoordinatY	rd 1
307
SpriteCoordinatY	rd 1
307
SpriteOldCoordinatX	rd 1
308
SpriteOldCoordinatX	rd 1
308
SpriteOldCoordinatY	rd 1
309
SpriteOldCoordinatY	rd 1
309
;---------------------------------------------------------------------
310
;---------------------------------------------------------------------
310
IncludeUGlobals
311
IncludeUGlobals
311
;---------------------------------------------------------------------
312
;---------------------------------------------------------------------
312
align 4
313
align 4
313
CursorsID	rd 10
314
CursorsID	rd 10
314
;---------------------------------------------------------------------
315
;---------------------------------------------------------------------
315
align 4
316
align 4
316
file_path:
317
file_path:
317
	rb 4096
318
	rb 4096
318
;---------------------------------------------------------------------
319
;---------------------------------------------------------------------
319
align 4
320
align 4
320
filename_area:
321
filename_area:
321
	rb 256
322
	rb 256
322
;---------------------------------------------------------------------
323
;---------------------------------------------------------------------
323
align 4
324
align 4
324
temp_dir_pach:
325
temp_dir_pach:
325
	rb 4096
326
	rb 4096
326
;---------------------------------------------------------------------
327
;---------------------------------------------------------------------
327
align 4
328
align 4
328
library_path:
329
library_path:
329
	rb 4096
330
	rb 4096
330
;---------------------------------------------------------------------
331
;---------------------------------------------------------------------
331
align 4
332
align 4
332
cur_dir_path:
333
cur_dir_path:
333
	rb 4096
334
	rb 4096
334
;---------------------------------------------------------------------
335
;---------------------------------------------------------------------
335
align 4
336
align 4
336
procinfo:
337
procinfo:
337
	rb 1024
338
	rb 1024
338
;---------------------------------------------------------------------
339
;---------------------------------------------------------------------
339
align 4
340
align 4
340
	rb 4096
341
	rb 4096
341
stacktop:
342
stacktop:
342
;---------------------------------------------------------------------
343
;---------------------------------------------------------------------
343
I_END:
344
I_END: