Subversion Repositories Kolibri OS

Rev

Rev 1717 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1717 Rev 1720
Line 205... Line 205...
205
proc draw_obj_check, p_obj:dword
205
proc draw_obj_check, p_obj:dword
206
locals
206
locals
207
	coor_x dd ?
207
	coor_x dd ?
208
	coor_y dd ?
208
	coor_y dd ?
209
	ot_txt dd ? ;®âáâ㯠¤«ï ⥪áâ 
209
	ot_txt dd ? ;®âáâ㯠¤«ï ⥪áâ 
-
 
210
	size_w dd ? ;à §¬¥à ª¢ ¤à â¨ª  w
210
	size_wh dd ? ;à §¬¥à ª¢ ¤à â¨ª 
211
	size_h dd ? ;à §¬¥à ª¢ ¤à â¨ª  h
211
	col_txt dd ? ;梥â ⥪âá 
212
	col_txt dd ? ;梥â ⥪âá 
212
endl
213
endl
213
	pushad
214
	pushad
214
		mov ebx,dword[p_obj]
215
		mov ebx,dword[p_obj]
215
		;1,2,3, 4,5,6, 7,8 - x,y,txt, col_fon,col_frame,col_txt, w_txt,w_h
216
		;1,2,3,4,5, 6,7,8, 9 - ot_x,ot_y,w,h,ot_w_txt, col_fon,col_frame,col_txt, txt
Line 216... Line 217...
216
 
217
 
217
		stdcall get_obj_text_col,ebx,1
218
		stdcall get_obj_text_col,ebx,1 ;ot_x
218
		stdcall conv_str_to_int,edx
219
		stdcall conv_str_to_int,edx
219
		mov [coor_x],eax
220
		mov [coor_x],eax
220
		stdcall get_obj_text_col,ebx,2
221
		stdcall get_obj_text_col,ebx,2 ;ot_y
221
		stdcall conv_str_to_int,edx
222
		stdcall conv_str_to_int,edx
222
		mov [coor_y],eax
223
		mov [coor_y],eax
223
		move_to_skin [coor_x],[coor_y]
224
		move_to_skin [coor_x],[coor_y]
224
		stdcall get_obj_text_col,ebx,7
225
		stdcall get_obj_text_col,ebx,5 ;ot_w_txt
225
		stdcall conv_str_to_int,edx
226
		stdcall conv_str_to_int,edx
226
		mov [ot_txt],eax
227
		mov [ot_txt],eax
227
		stdcall get_obj_text_col,ebx,8
228
		stdcall get_obj_text_col,ebx,3 ;w
228
		stdcall conv_str_to_int,edx
229
		stdcall conv_str_to_int,edx
229
		dec eax ;à §¬¥à ¬¥­ìè¥ ­  1 ¯¨ªá¥«ì
230
		dec eax ;à §¬¥à ¬¥­ìè¥ ­  1 ¯¨ªá¥«ì
230
		mov [size_wh],eax
231
		mov [size_w],eax
-
 
232
		stdcall get_obj_text_col,ebx,4 ;h
-
 
233
		stdcall conv_str_to_int,edx
-
 
234
		dec eax ;à §¬¥à ¬¥­ìè¥ ­  1 ¯¨ªá¥«ì
-
 
235
		mov [size_h],eax
231
		stdcall get_obj_text_col,ebx,5
236
		stdcall get_obj_text_col,ebx,7 ;col_frame
232
		stdcall conv_str_to_int,edx
237
		stdcall conv_str_to_int,edx
233
		stdcall [buf2d_rect_by_size], buf_fon, dword[coor_x],dword[coor_y],\
238
		stdcall [buf2d_rect_by_size], buf_fon, dword[coor_x],dword[coor_y],\
Line -... Line 239...
-
 
239
			dword[size_w],dword[size_h], eax
234
			dword[size_wh],dword[size_wh], eax
240
 
235
 
241
		;§ «¨¢ª  ä®­  checkbox- 
-
 
242
		inc dword[coor_x]
236
		inc dword[coor_x]
243
		inc dword[coor_y]
237
		inc dword[coor_y]
244
		sub dword[size_w],2
238
		sub dword[size_wh],2
245
		sub dword[size_h],2
239
		stdcall get_obj_text_col,ebx,4
246
		stdcall get_obj_text_col,ebx,6 ;col_fon
240
		stdcall conv_str_to_int,edx
247
		stdcall conv_str_to_int,edx
Line -... Line 248...
-
 
248
		stdcall [buf2d_filled_rect_by_size], buf_fon, dword[coor_x],dword[coor_y],\
-
 
249
			dword[size_w],dword[size_h], eax
-
 
250
 
-
 
251
		test_bool_prop ebx,BIT_MOD_CHE
-
 
252
		jnc @f
-
 
253
			;à¨á®¢ ­¨¥ ®â¬¥âª¨ ¢ checkbox-¥
-
 
254
			inc dword[coor_x]
-
 
255
			inc dword[coor_y]
-
 
256
			sub dword[size_w],2
-
 
257
			sub dword[size_h],2
-
 
258
			stdcall get_obj_text_col,ebx,7 ;col_frame
-
 
259
			stdcall conv_str_to_int,edx
-
 
260
			stdcall [buf2d_filled_rect_by_size], buf_fon, dword[coor_x],dword[coor_y],\
-
 
261
				dword[size_w],dword[size_h], eax
-
 
262
		@@:
-
 
263
 
-
 
264
		;¢®áâ ­ ¢«¨¢ ¥¬ ¯®«®¦¥­¨¥ ¨ à §¬¥àë
-
 
265
		stdcall get_obj_text_col,ebx,1 ;ot_x
-
 
266
		stdcall conv_str_to_int,edx
-
 
267
		mov [coor_x],eax
-
 
268
		stdcall get_obj_text_col,ebx,2 ;ot_y
241
		stdcall [buf2d_filled_rect_by_size], buf_fon, dword[coor_x],dword[coor_y],\
269
		stdcall conv_str_to_int,edx
-
 
270
		mov [coor_y],eax
-
 
271
		move_to_skin [coor_x],[coor_y]
-
 
272
		stdcall get_obj_text_col,ebx,3 ;w
-
 
273
		stdcall conv_str_to_int,edx
-
 
274
		dec eax ;à §¬¥à ¬¥­ìè¥ ­  1 ¯¨ªá¥«ì
-
 
275
		mov [size_w],eax
-
 
276
		stdcall get_obj_text_col,ebx,4 ;h
-
 
277
		stdcall conv_str_to_int,edx
-
 
278
		dec eax ;à §¬¥à ¬¥­ìè¥ ­  1 ¯¨ªá¥«ì
242
			dword[size_wh],dword[size_wh], eax
279
		mov [size_h],eax
243
 
280
 
244
		stdcall get_obj_text_col,ebx,6
281
		stdcall get_obj_text_col,ebx,8 ;col_txt
245
		stdcall conv_str_to_int,edx
282
		stdcall conv_str_to_int,edx
-
 
283
		mov [col_txt],eax
-
 
284
		mov eax,[coor_x]
-
 
285
		add eax,[size_w]
-
 
286
		add eax,[ot_txt] ;¢ëç¨á«ï¥¬ ª®®à¤¨­ âë ¤«ï ⥪á⮢®© ¯®¤¯¨á¨
-
 
287
 
-
 
288
		test_bool_prop ebx,BIT_MOD_CHE_T
-
 
289
		jc .end_txt_align ;if text aligment = top
-
 
290
 
-
 
291
		test_bool_prop ebx,BIT_MOD_CHE_M
246
		mov [col_txt],eax
292
		jnc @f
-
 
293
			shl [coor_y],1 ;㬭®¦ ¥¬ ­  2
247
		mov eax,[ot_txt]
294
			mov ecx,[size_h]
-
 
295
			add [coor_y],ecx ;¤®¡ ¢«ï¥¬ ¢ëá®âã checkbox
-
 
296
			sub [coor_y],9 ;®â­¨¬ ¥¬ ¢ëá®âã ᨬ¢®« 
-
 
297
			shr [coor_y],1 ;¤¥«¨¬ ­  ¯®«ã稢襥áï 2, ¯®«ãç ¥¬ ®âáâ㯠¤«ï áâ®ï饣® ¯® 業âàã ⥪áâ 
248
		add eax,[size_wh]
298
			jmp .end_txt_align
-
 
299
		@@:
-
 
300
 
-
 
301
		test_bool_prop ebx,BIT_MOD_CHE_B
-
 
302
		jnc @f
-
 
303
			mov ecx,[size_h]
-
 
304
			add [coor_y],ecx ;¤®¡ ¢«ï¥¬ ¢ëá®âã checkbox
-
 
305
			sub [coor_y],9 ;®â­¨¬ ¥¬ ¢ëá®âã ᨬ¢®« 
-
 
306
				;¯®«ãç ¥¬ ®âáâ㯠¤«ï áâ®ï饣® á­¨§ã ⥪áâ 
249
		add eax,2-1 ;sub dword[size_wh],2 ;inc dword[coor_x]
307
		@@:
250
		add [coor_x],eax ;¢ëç¨á«ï¥¬ ª®®à¤¨­ âë ¤«ï ⥪á⮢®© ¯®¤¯¨á¨
308
		.end_txt_align:
251
		add [coor_y],5-1 ;inc dword[coor_y]
309
 
252
		stdcall get_obj_text_col,ebx,3
310
		stdcall get_obj_text_col,ebx,9 ;txt
253
		stdcall [buf2d_draw_text], buf_fon, buf_font,edx,dword[coor_x],dword[coor_y],\
311
		stdcall [buf2d_draw_text], buf_fon, buf_font,edx,eax,dword[coor_y],\
254
			dword[col_txt] ;à¨á㥬 áâபã á ⥪á⮬
312
			dword[col_txt] ;à¨á㥬 áâபã á ⥪á⮬