Subversion Repositories Kolibri OS

Rev

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

Rev 129 Rev 384
Line 1... Line 1...
1
include "skindata.inc"
1
include "skindata.inc"
Line 2... Line 2...
2
 
2
 
Line 3... Line 3...
3
skin_data = 0x00778000
3
;skin_data = 0x00778000
4
 
4
 
5
load_skin_file:
5
load_skin_file:
6
; eax = filename
6
; eax = filename
Line 268... Line 268...
268
 
268
 
Line 269... Line 269...
269
        pusha
269
        pusha
Line 270... Line 270...
270
 
270
 
Line 271... Line 271...
271
        push  edx
271
        push  edx
272
 
272
 
273
        mov   edi,[esp]                              ; RECTANGLE
273
        mov   edi,edx
274
 
274
 
Line 288... Line 288...
288
		add   bx,word [edi+WDATA.box.height]
288
		add   bx,word [edi+WDATA.box.height]
289
;        mov   esi,[edi+24]
289
;        mov   esi,[edi+24]
290
;        shr   esi,1
290
;        shr   esi,1
291
;        and   esi,0x007f7f7f
291
;        and   esi,0x007f7f7f
292
        mov   esi,[ebp+SKIN_DATA.colors.outer]
292
        mov   esi,[ebp+SKIN_DATA.colors.outer]
-
 
293
        or      [edi+WDATA.fl_wdrawn], 4
293
        call  draw_rectangle
294
        call  draw_rectangle
294
        mov   ecx,3
295
        mov   ecx,3
295
      _dw3l:
296
      _dw3l:
296
        add   eax,1*65536-1
297
        add   eax,1*65536-1
297
        add   ebx,1*65536-1
298
        add   ebx,1*65536-1
Line 343... Line 344...
343
        mov   ecx,[esi+WDATA.box.width]
344
        mov   ecx,[esi+WDATA.box.width]
344
        mov   edx,[esi+WDATA.box.height]
345
        mov   edx,[esi+WDATA.box.height]
345
        sub   ecx,4
346
        sub   ecx,4
346
        sub   edx,4
347
        sub   edx,4
347
        mov   edi,[esi+WDATA.cl_workarea]
348
        mov   edi,[esi+WDATA.cl_workarea]
-
 
349
	test  edi,0x40000000
-
 
350
	jnz   _noinside2
348
        call  [drawbar]
351
        call  [drawbar]
349
      _noinside2:
352
      _noinside2:
Line 350... Line 353...
350
 
353
 
351
        cmp   dword[skin_data],'SKIN'
354
        cmp   dword[skin_data],'SKIN'
Line 352... Line 355...
352
        jne   no_skin_add_button
355
        jne   no_skin_add_button
353
 
356
 
354
;* close button
357
;* close button
355
        mov   edi,[0xfe88]
358
        mov   edi,[BTN_ADDR]
356
        movzx eax,word [edi]
359
        movzx eax,word [edi]
357
        cmp   eax,1000
360
        cmp   eax,1000
358
        jge   no_skin_add_button
361
        jge   no_skin_add_button
Line 359... Line 362...
359
        inc   eax
362
        inc   eax
360
        mov   [edi],ax
363
        mov   [edi],ax
Line 361... Line 364...
361
 
364
 
362
        shl   eax,4
365
        shl   eax,4
Line 363... Line 366...
363
        add   eax,edi
366
        add   eax,edi
364
 
367
 
365
        mov   bx,[0x3000]
368
        mov   bx,[CURRENT_TASK]
Line 389... Line 392...
389
        mov   ebx,[skin_btn_close.height]
392
        mov   ebx,[skin_btn_close.height]
390
        dec   ebx
393
        dec   ebx
391
        mov   [eax],bx
394
        mov   [eax],bx
Line 392... Line 395...
392
 
395
 
393
;* minimize button
396
;* minimize button
394
        mov   edi,[0xfe88]
397
        mov   edi,[BTN_ADDR]
395
        movzx eax,word [edi]
398
        movzx eax,word [edi]
396
        cmp   eax,1000
399
        cmp   eax,1000
397
        jge   no_skin_add_button
400
        jge   no_skin_add_button
398
        inc   eax
401
        inc   eax
Line 399... Line 402...
399
        mov   [edi],ax
402
        mov   [edi],ax
400
 
403
 
Line 401... Line 404...
401
        shl   eax,4
404
        shl   eax,4
402
        add   eax,edi
405
        add   eax,edi
Line 403... Line 406...
403
 
406
 
404
        mov   bx,[0x3000]
407
        mov   bx,[CURRENT_TASK]
405
        mov   [eax],bx
408
        mov   [eax],bx
Line 428... Line 431...
428
        mov   ebx,[skin_btn_minimize.height]
431
        mov   ebx,[skin_btn_minimize.height]
429
        dec   ebx
432
        dec   ebx
430
        mov   [eax],bx
433
        mov   [eax],bx
Line 431... Line 434...
431
 
434
 
-
 
435
      no_skin_add_button:
-
 
436
        pop     edi
-
 
437
        and     [edi+WDATA.fl_wdrawn], not 4
-
 
438
        test    [edi+WDATA.fl_wdrawn], 2
-
 
439
        jz      @f
-
 
440
        call    drawwindowframes
Line 432... Line -...
432
      no_skin_add_button:
-
 
433
 
441
@@:
Line 434... Line 442...
434
        add   esp,4
442