Subversion Repositories Kolibri OS

Rev

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

Rev 1702 Rev 2068
Line 458... Line 458...
458
        mov     dword [ebx+12], 10*4   ; bytes to write
458
        mov     dword [ebx+12], 10*4   ; bytes to write
459
        mov     dword [ebx+16], color_table ; address
459
        mov     dword [ebx+16], color_table ; address
460
        mcall   70
460
        mcall   70
461
        ret
461
        ret
462
;---------------------------------------------------------------------
462
;---------------------------------------------------------------------
463
;read_string:
-
 
464
;
-
 
465
;    pusha
-
 
466
;
-
 
467
;    mov  edi,fname
-
 
468
;    mov  al,'_'
-
 
469
;    mov  ecx,87
-
 
470
;    cld
-
 
471
;    rep  stosb
-
 
472
;
-
 
473
;    call print_text
-
 
474
;
-
 
475
;    mov  edi,fname
-
 
476
;
-
 
477
;  f11:
-
 
478
;    mov  eax,10
-
 
479
;    mcall
-
 
480
;    cmp  eax,2
-
 
481
;    jne  read_done
-
 
482
;;    mov  eax,2
-
 
483
;    mcall
-
 
484
;    shr  eax,8
-
 
485
;    cmp  eax,13
-
 
486
;    je   read_done
-
 
487
;    cmp  eax,8
-
 
488
;    jne  nobsl
-
 
489
;    cmp  edi,fname
-
 
490
;    je   f11
-
 
491
;    dec  edi
-
 
492
;    mov  [edi],byte '_'
-
 
493
;    call print_text
-
 
494
;    jmp  f11
-
 
495
;   nobsl:
-
 
496
;    mov  [edi],al
-
 
497
;
-
 
498
;    call print_text
-
 
499
;
-
 
500
;    inc  edi
-
 
501
;    cmp  edi, fname+87
-
 
502
;    jne  f11
-
 
503
;
-
 
504
;  read_done:
-
 
505
;
-
 
506
;    mov  ecx, fname+88
-
 
507
;    sub  ecx, edi
-
 
508
;    mov  eax, 0
-
 
509
;    cld
-
 
510
;    rep  stosb
-
 
511
;
-
 
512
;    call print_text
-
 
513
;
-
 
514
;    popa
-
 
515
;
-
 
516
;    ret
-
 
517
 
-
 
518
 
-
 
519
;print_text:
-
 
520
;    pushad
-
 
521
;
-
 
522
;    mpack ebx,15,6*87+4
-
 
523
;    mpack ecx,(30+18*10+2),11
-
 
524
;    mcall 13,,,[w_work]
-
 
525
;
-
 
526
;    mpack ebx,17,(30+18*10+4)
-
 
527
;    mcall 4,,[w_work_text],fname,87
-
 
528
;
-
 
529
;    popad
-
 
530
;ret
-
 
531
 
-
 
532
 
-
 
533
draw_color:
463
draw_color:
Line 534... Line 464...
534
 
464
 
Line 535... Line 465...
535
    pusha
465
    pusha
Line 552... Line 482...
552
    mov  edx,272*65536+201
482
    mov  edx,272*65536+201
553
    mov  esi,[w_work_text]
483
    mov  esi,[w_work_text]
554
    mcall
484
    mcall
Line 555... Line 485...
555
 
485
 
556
    popa
-
 
557
 
486
    popa
558
    ret
-
 
559
 
-
 
-
 
487
    ret
560
 
488
;----------------------------------------------------------------------
Line 561... Line 489...
561
draw_colours:
489
draw_colours:
Line 562... Line 490...
562
 
490
 
Line 574... Line 502...
574
    add  esi,4
502
    add  esi,4
575
    cmp  esi,color_table+4*9
503
    cmp  esi,color_table+4*9
576
    jbe  newcol
504
    jbe  newcol
Line 577... Line 505...
577
 
505
 
578
    popa
-
 
579
 
506
    popa
580
    ret
-
 
581
 
-
 
-
 
507
    ret
582
 
508
;----------------------------------------------------------------------
583
draw_framerect: ; ebx,ecx
509
draw_framerect: ; ebx,ecx
584
        push    ebx ecx
510
        push    ebx ecx
585
        add     bx,[esp+6]
511
        add     bx,[esp+6]
586
        mov     cx,[esp+2]
512
        mov     cx,[esp+2]
Line 602... Line 528...
602
        add     bx,[esp+4]
528
        add     bx,[esp+4]
603
        sub     ebx,0x00010001
529
        sub     ebx,0x00010001
604
        mcall
530
        mcall
605
        add     esp,8
531
        add     esp,8
606
        ret
532
        ret
607
 
-
 
-
 
533
;----------------------------------------------------------------------
608
find_bitmap:
534
find_bitmap:
609
        mov     edi,[ebp+SKIN_HEADER.bitmaps]
535
        mov     edi,[ebp+SKIN_HEADER.bitmaps]
610
        add     edi,ebp
536
        add     edi,ebp
611
        xor     ebx,ebx
537
        xor     ebx,ebx
612
  .lp1: cmp     dword[edi],0
538
  .lp1: cmp     dword[edi],0
Line 619... Line 545...
619
        mov     cx,[ebx+4]
545
        mov     cx,[ebx+4]
620
        add     ebx,8
546
        add     ebx,8
621
  .lp2: ret
547
  .lp2: ret
622
    @@: add     edi,8
548
    @@: add     edi,8
623
        jmp     .lp1
549
        jmp     .lp1
624
 
-
 
-
 
550
;----------------------------------------------------------------------
625
dec_edx:
551
dec_edx:
626
        sub     dl,4
552
        sub     dl,4
627
        jnc     @f
553
        jnc     @f
628
        xor     dl,dl
554
        xor     dl,dl
629
    @@: sub     dh,4
555
    @@: sub     dh,4
Line 633... Line 559...
633
        sub     dl,4
559
        sub     dl,4
634
        jnc     @f
560
        jnc     @f
635
        xor     dl,dl
561
        xor     dl,dl
636
    @@: rol     edx,16
562
    @@: rol     edx,16
637
        ret
563
        ret
638
 
-
 
-
 
564
;----------------------------------------------------------------------
639
area:
565
area:
640
  .x      = 345
566
  .x      = 345
641
  .y      = 20
567
  .y      = 20
642
  .width  = 206
568
  .width  = 206
643
  .height = 191
569
  .height = 191
Line 664... Line 590...
664
  .height = 90
590
  .height = 90
Line 665... Line 591...
665
 
591
 
666
virtual at edi+SKIN_PARAMS.dtp.data
592
virtual at edi+SKIN_PARAMS.dtp.data
667
  dtp system_colors
593
  dtp system_colors
668
end virtual
-
 
-
 
594
end virtual
669
 
595
;----------------------------------------------------------------------
670
draw_skin:
596
draw_skin:
Line 671... Line 597...
671
        mcall   13,,,0x00FFFFFF
597
        mcall   13,,,0x00FFFFFF
672
 
598
 
Line 914... Line 840...
914
	ret
840
	ret
915
;---------------------------------------------------------------------
841
;---------------------------------------------------------------------
916
;   *********************************************
842
;   *********************************************
917
;   *******  WINDOW DEFINITIONS AND DRAW ********
843
;   *******  WINDOW DEFINITIONS AND DRAW ********
918
;   *********************************************
844
;   *********************************************
919
 
-
 
920
 
-
 
921
draw_window:
845
draw_window:
922
 
-
 
923
    mov  eax,12                    ; function 12:tell os about windowdraw
-
 
924
    mov  ebx,1                     ; 1, start of draw
-
 
925
    mcall
846
	mcall	12,1
926
 
-
 
927
    mov  eax,48
-
 
928
    mov  ebx,3
-
 
929
    mov  ecx,app_colours
847
	mcall	48,3,app_colours,10*4
930
    mov  edx,10*4
-
 
931
    mcall
848
	mcall	14
932
 
-
 
933
    mov  eax,14
-
 
934
    mcall
-
 
935
 
-
 
936
                                      ; DRAW WINDOW
849
; DRAW WINDOW
937
    mov  eax,0                     ; function 0 : define and draw window
850
	xor	eax,eax		; function 0 : define and draw window
938
    mov  ebx,110*65536+555         ; [x start] *65536 + [x size]
851
	xor	esi,esi
939
    mov  ecx,50*65536+275          ; [y start] *65536 + [y size]
-
 
940
    mov  edx,[w_work]              ; color of work area RRGGBB,8->color
852
	mov	edx,[w_work]	; color of work area RRGGBB,8->color
941
    or   edx,0x14000000
853
	or	edx,0x14000000
-
 
854
	mcall	,<110,555>,<50,275>,,,title
-
 
855
 
-
 
856
	mcall	9,procinfo,-1
-
 
857
	
942
    mov  edi,title                ; WINDOW LABEL
858
	mov	eax,[procinfo+70] ;status of window
-
 
859
	test	eax,100b
943
    mcall
860
	jne	.end
Line 944... Line 861...
944
 
861
    
945
if lang eq ru
862
if lang eq ru
946
  load_w  = (5*2+6*9)
863
  load_w  = (5*2+6*9)
947
  save_w  = (5*2+6*9)
864
  save_w  = (5*2+6*9)
Line 952... Line 869...
952
  save_w  = (5*2+6*8)
869
  save_w  = (5*2+6*8)
953
  flat_w  = (5*2+6*4)
870
  flat_w  = (5*2+6*4)
954
  apply_w = (5*2+6*7)
871
  apply_w = (5*2+6*7)
955
end if
872
end if
Line 956... Line -...
956
 
-
 
957
;    mov  eax,8                    ; FILENAME BUTTON
-
 
958
;    mov  ebx,5*65536+545
-
 
959
;    mov  ecx,212*65536+10
-
 
960
;    mov  edx,0x4000000B
-
 
961
;    mov  esi,[w_grab_button]       ; button color RRGGBB
873
 
962
;    mcall
-
 
963
 
-
 
964
    mov  eax,8                    ; LOAD BUTTON
874
; LOAD BUTTON
965
    mov  ebx,15*65536+load_w
875
;	mov  ebx,15*65536+load_w
966
    mov  ecx,(35+18*12)*65536+14
-
 
967
    mov  edx,12
876
;	mov  ecx,(35+18*12)*65536+14
968
    mov  esi,[w_work_button]
877
	mcall	8,<15,load_w>,<35+18*12,14>,12,[w_work_button]
969
    mcall
-
 
970
 
-
 
971
;   mov  eax,8                    ; SAVE BUTTON
878
; SAVE BUTTON
972
    add  ebx,(load_w+2)*65536-load_w+save_w
879
	add	ebx,(load_w+2)*65536-load_w+save_w
973
    inc  edx
880
	inc	edx
974
    mcall
881
	mcall
975
 
-
 
976
;   mov  eax,8                    ; 3D
-
 
977
;   mov  ebx,15*65536+35
-
 
978
;   mov  ecx,(30+18*12)*65536+14
882
; 3D
979
    mov  ebx,(340-t1.size*6-13)*65536+(5*2+6*4)
883
	mov	ebx,(340-t1.size*6-13)*65536+(5*2+6*4)
980
    inc  edx
884
	inc	edx
981
    mcall
885
	mcall
982
 
-
 
983
;   mov  eax,8                    ; FLAT
886
; FLAT
984
    add  ebx,(5*2+6*4+2)*65536-(5*2+6*4)+flat_w
887
	add	ebx,(5*2+6*4+2)*65536-(5*2+6*4)+flat_w
985
    inc  edx
888
	inc	edx
986
    mcall
-
 
987
 
889
	mcall
988
;   mov  eax,8                    ; APPLY BUTTON
890
; APPLY BUTTON
989
    add  ebx,(flat_w+6+2)*65536-flat_w+apply_w
891
	add	ebx,(flat_w+6+2)*65536-flat_w+apply_w
990
    inc  edx
892
	inc	edx
991
    mcall
-
 
992
 
893
	mcall
993
;   mov  eax,8                    ; LOAD SKIN BUTTON
894
; LOAD SKIN BUTTON
994
    mov  ebx,(336+(555-335)/2-t2.size*6/2)*65536+load_w
895
	mov	ebx,(336+(555-335)/2-t2.size*6/2)*65536+load_w
995
    inc  edx
896
	inc	edx
996
    mcall
-
 
997
 
897
	mcall
998
;   mov  eax,8                    ; APPLY SKIN BUTTON
898
; APPLY SKIN BUTTON
999
    add  ebx,(load_w+6+2)*65536-load_w+apply_w
899
	add	ebx,(load_w+6+2)*65536-load_w+apply_w
1000
    inc  edx
900
	inc	edx
Line 1001... Line -...
1001
    mcall
-
 
1002
 
901
	mcall
1003
    mov  eax, 4
902
	
1004
    mov  ebx, (339-t1.size*6-12)*65536+(35+18*12+4)
-
 
1005
    mov  ecx, [w_work_button_text]
-
 
1006
    mov  edx, t1
-
 
Line 1007... Line 903...
1007
    mov  esi, t1.size
903
	mov	ebx,(339-t1.size*6-12)*65536+(35+18*12+4)
1008
    mcall
-
 
1009
 
904
	mcall	4,,[w_work_button_text],t1,t1.size
1010
    mov  ebx,(336+(555-335)/2-t2.size*6/2)*65536+(35+18*12+4)
-
 
Line 1011... Line 905...
1011
    mov  edx,t2
905
	
1012
    mov  esi,t2.size
-
 
1013
    mcall
906
	mov	ebx,(336+(555-335)/2-t2.size*6/2)*65536+(35+18*12+4)
1014
 
-
 
1015
    mov  ebx,(15+(load_w+save_w+2-t3.size*6)/2)*65536+(35+18*12+4)
-
 
1016
    mov  edx,t3
-
 
1017
    mov  esi,t3.size
-
 
1018
    mcall
-
 
1019
 
-
 
1020
;   mov  eax, 4
-
 
Line 1021... Line 907...
1021
;    mov  ebx, 277*65536+(30+18*12+4)
907
	mcall	,,,t2,t2.size
1022
;    mov  edx, t2
908
	
1023
;    mov  esi, t2.size
909
	mov	ebx,(15+(load_w+save_w+2-t3.size*6)/2)*65536+(35+18*12+4)
1024
;    mcall
910
	mcall	,,,t3,t3.size
-
 
911
	
1025
 
912
	mov	eax,38                    ; R G B COLOR GLIDES
1026
    mov  eax,38                    ; R G B COLOR GLIDES
913
	mov	ebx,266*65536+285
1027
    mov  ebx,266*65536+285
914
	mov	ecx,30*65536+30
1028
    mov  ecx,30*65536+30
915
	mov	edx,0xff0000
1029
    mov  edx,0xff0000
916
;----------------------------------- 
Line 1039... Line 926...
1039
    popa
926
	popa
1040
    sub  edx,0x020000
927
	sub	edx,0x020000
1041
    add  ecx,0x00010001
928
	add	ecx,0x00010001
1042
    cmp  ecx,158*65536+158
929
	cmp	ecx,158*65536+158
1043
    jnz  .newl
930
	jnz	.newl
1044
 
-
 
-
 
931
;-----------------------------------	
1045
    call draw_color
932
	call	draw_color
Line 1046... Line 933...
1046
 
933
	
1047
    mov  edx,31                    ; BUTTON ROW
934
	mov	edx,31                    ; BUTTON ROW
1048
    mov  ebx,15*65536+200
935
	mov	ebx,15*65536+200
1049
    mov  ecx,30*65536+14
936
	mov	ecx,30*65536+14
1050
    mov  esi,[w_work_button]
937
	mov	esi,[w_work_button]
1051
  newb:
938
 
-
 
939
	mov	eax,8
-
 
940
;-----------------------------------
1052
    mov  eax,8
941
.newb:
1053
    mcall
942
	mcall
1054
    add  ecx,18*65536
943
	add	ecx,18*65536
1055
    inc  edx
944
	inc	edx
1056
    cmp  edx,40
945
	cmp	edx,40
1057
    jbe  newb
-
 
-
 
946
	jbe	.newb
1058
 
947
;-----------------------------------	
1059
    mov  ebx,15*65536+34           ; ROW OF TEXTS
948
	mov	ebx,15*65536+34           ; ROW OF TEXTS
1060
    mov  ecx,[w_work_button_text]
949
	mov	ecx,[w_work_button_text]
1061
    mov  edx,text
950
	mov	edx,text
1062
    mov  esi,32
951
	mov	esi,32
1063
  newline:
952
 
-
 
953
	mov	eax,4
-
 
954
;-----------------------------------
1064
    mov  eax,4
955
.newline:
1065
    mcall
956
	mcall
1066
    add  ebx,18
957
	add	ebx,18
1067
    add  edx,32
958
	add	edx,32
1068
    cmp  [edx],byte 'x'
959
	cmp	[edx],byte 'x'
1069
    jne  newline
-
 
-
 
960
	jne	.newline
1070
 
961
;-----------------------------------
1071
    call draw_colours
-
 
1072
 
962
	call	draw_colours
1073
	call	draw_PathShow	
-
 
1074
	
-
 
1075
;    mcall 13,<5,546>,<212,11>,[w_work]
-
 
1076
;    mcall 13,<337,7>,<2,250>,[w_frame]
-
 
1077
;    shr   edx,1
-
 
1078
;    and   edx,0x007F7F7F
-
 
1079
;    mcall 38,<336,336>,<20,250>
-
 
1080
;    add   ebx,0x00080008
-
 
1081
;    mcall
-
 
1082
;    sub   ebx,0x00040004
-
 
1083
;    mcall ,,<0,255>
-
 
1084
;    mcall ,<5,550>,<211,211>
-
 
1085
;    add   ecx,0x000C000C
-
 
1086
;    mcall
-
 
1087
 
-
 
1088
;    call print_text
-
 
1089
 
963
	call	draw_PathShow	
1090
    cmp  dword[not_packed_area+SKIN_HEADER.ident],'SKIN'
964
	cmp	dword[not_packed_area+SKIN_HEADER.ident],'SKIN'
1091
    jne  @f
965
	jne	@f
1092
    call draw_skin
966
	call	draw_skin
1093
  @@:
967
@@:
1094
 
-
 
1095
    mov  eax,12                    ; function 12:tell os about windowdraw
-
 
1096
    mov  ebx,2                     ; 2, end of draw
968
.end:
1097
    mcall
-
 
1098
 
969
	mcall	12,2
1099
    ret
-
 
1100
 
-
 
-
 
970
	ret
1101
 
971
;---------------------------------------------------------------------
1102
; DATA AREA
-
 
-
 
972
; DATA AREA
1103
 
973
;---------------------------------------------------------------------
1104
lsz text,\
974
lsz text,\
1105
    ru,  ' €ŒŠ€ ŽŠ€                     ',\
975
    ru,  ' €ŒŠ€ ŽŠ€                     ',\
1106
    ru,  ' Ž‹Ž‘€ ‡€ƒŽ‹Ž‚Š€               ',\
976
    ru,  ' Ž‹Ž‘€ ‡€ƒŽ‹Ž‚Š€               ',\
1107
    ru,  ' ŠŽŠ€ € Ž‹Ž‘… ‡€ƒŽ‹Ž‚Š€     ',\
977
    ru,  ' ŠŽŠ€ € Ž‹Ž‘… ‡€ƒŽ‹Ž‚Š€     ',\