Subversion Repositories Kolibri OS

Rev

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

Rev 396 Rev 402
Line 82... Line 82...
82
.draw_bg_cursor_text:
82
.draw_bg_cursor_text:
83
;--- ¨§¬¥­ï¥¬ ᬥ饭¨¥, ¥á«¨ ­ ¤® ---
83
;--- ¨§¬¥­ï¥¬ ᬥ饭¨¥, ¥á«¨ ­ ¤® ---
84
	call	.check_offset		;¢ëç¨á«¥­¨¥ ¯®§¨æ¨¨ ªãàá®à  áâ ¡¨«ì­ 
84
	call	.check_offset		;¢ëç¨á«¥­¨¥ ¯®§¨æ¨¨ ªãàá®à  áâ ¡¨«ì­ 
85
;--- à¨á㥬 ¢­ãâ७­îî ®¡« áâì ---
85
;--- à¨á㥬 ¢­ãâ७­îî ®¡« áâì ---
86
	call	.draw_bg                ;­ à¨á®¢ âì ¯àאַ㣮«ì­¨ª à ¡®ç¥© ®¡« áâ¨
86
	call	.draw_bg                ;­ à¨á®¢ âì ¯àאַ㣮«ì­¨ª à ¡®ç¥© ®¡« áâ¨
-
 
87
;---- à¨á㥬 ¢ë¤¥«¥­¨¥, ¯® shift ¥á«¨ ¥áâì
-
 
88
	call	.draw_shift
87
.draw_cursor_text:
89
.draw_cursor_text:
88
;--- à¨á㥬 ªãàá®à ---
90
;--- à¨á㥬 ªãàá®à ---
89
	;--- ¬®¦¥â ¥£® ­¥ ­ ¤® à¨á®¢ âì ----
91
	;--- ¬®¦¥â ¥£® ­¥ ­ ¤® à¨á®¢ âì ----
90
	test	word ed_flags,ed_focus
92
	test	word ed_flags,ed_focus
91
	je	@f
93
	je	@f
Line 93... Line 95...
93
@@:
95
@@:
94
	call	.draw_text
96
	call	.draw_text
95
popa
97
popa
96
ret
98
ret
97
;----------------------------------------------------------
99
;----------------------------------------------------------
-
 
100
;--- ¯à®æ¥¤ãà  ¯à®à¨á®¢ª¨ ¢ë¤¥«¥­®© ç á⨠-----------------
-
 
101
;----------------------------------------------------------
-
 
102
.draw_shift:
-
 
103
	test	word ed_flags,ed_shift_bac ;ãáâ ­®¢ª  ä« £ , ¢ë¤¥«¥­­®© ®¡« áâ¨
-
 
104
	jz	@f
-
 
105
        mov	ebp,shift_color
-
 
106
        mov	ebx,dword	ed_shift_pos
-
 
107
	call	.sh_cl_
-
 
108
@@:	ret
-
 
109
 
-
 
110
 
-
 
111
;----------------------------------------------------------
98
;--- ¯à®æ¥¤ãà  ¯à®à¨á®¢ª¨ ⥪áâ  --------------------------
112
;--- ¯à®æ¥¤ãà  ¯à®à¨á®¢ª¨ ⥪áâ  --------------------------
99
;----------------------------------------------------------
113
;----------------------------------------------------------
100
.draw_text:
114
.draw_text:
101
;--- ¢ëç¨á«ï¥¬, ᪮«ìª® ¯®¬¥é ¥âáï ᨬ¢®«®¢ ---
115
;--- ¢ëç¨á«ï¥¬, ᪮«ìª® ¯®¬¥é ¥âáï ᨬ¢®«®¢ ---
102
;--- çâ®¡ë ¬ãá®à ­¥ à¨á®¢ âì ---
116
;--- çâ®¡ë ¬ãá®à ­¥ à¨á®¢ âì ---
Line 547... Line 561...
547
;;;;;;SHIFT end
561
;;;;;;SHIFT end
548
;®¡à ¡®âª  ®ç¨á⪨, ¯à¨ «¥¢®¬ - ¯à ¢®¬ ¤¢¨¦¥­¨¨ ¢ë¤¥«¥­¨ï
562
;®¡à ¡®âª  ®ç¨á⪨, ¯à¨ «¥¢®¬ - ¯à ¢®¬ ¤¢¨¦¥­¨¨ ¢ë¤¥«¥­¨ï
549
;¤«ï ®¡à ¡®âª¨ á­ïâ¨ï ¢ë¤¥«¥­¨ï
563
;¤«ï ®¡à ¡®âª¨ á­ïâ¨ï ¢ë¤¥«¥­¨ï
550
;¢å®¤­ë¥ ¯ à ¬¥âàë ebp=color ebx=ed_shift_pos
564
;¢å®¤­ë¥ ¯ à ¬¥âàë ebp=color ebx=ed_shift_pos
551
	mov 	eax,dword	ed_pos
565
	mov 	eax,dword	ed_pos
552
;	mov	ebx,dword	ed_shift_pos
-
 
553
	cmp	eax,ebx
566
	cmp	eax,ebx
554
	jae	.sh_n
567
	jae	.sh_n
555
	push	eax  ;¬¥­ì襥 ¢ eax
568
	push	eax  ;¬¥­ì襥 ¢ eax
556
	push	ebx  ;¡®«ì襥
569
	push	ebx  ;¡®«ì襥
557
	jmp	.sh_n1
570
	jmp	.sh_n1
Line 638... Line 651...
638
 
651
 
639
	mov	ebp,ed_color
652
	mov	ebp,ed_color
640
	mov 	eax,dword	ed_pos
653
	mov 	eax,dword	ed_pos
641
	test	word ed_flags,ed_left_fl
654
	test	word ed_flags,ed_left_fl
642
	jz      .low
-
 
643
	;dec	eax
655
	jz      .low
644
@@:     call	.draw_rectangle  ;­ à¨á®¢ âì ¯àאַ㣮«ì­¨ª § ªà è¨¢ ¥¬®© ®¡« áâ¨
656
@@:     call	.draw_rectangle  ;­ à¨á®¢ âì ¯àאַ㣮«ì­¨ª § ªà è¨¢ ¥¬®© ®¡« áâ¨
645
	ret
657
	ret
646
.low:   dec	eax
658
.low:   dec	eax
647
        jmp	@b
659
        jmp	@b
Line 694... Line 706...
694
	call	.check_offset
706
	call	.check_offset
695
	ret
707
	ret
696
.sh_ext_en:	
708
.sh_ext_en:	
697
       	call	.check_offset
709
       	call	.check_offset
698
	test	word ed_flags,ed_offset_fl
710
	test	word ed_flags,ed_offset_fl
699
	jne	@f
711
	je	@f
700
;¨á®¢ ­¨¥ § ªà è¥­ëå ¯àאַ㣮«ì­¨ª®¢ ¨ ®ç¨á⪠ ¨å
712
;¨á®¢ ­¨¥ § ªà è¥­ëå ¯àאַ㣮«ì­¨ª®¢ ¨ ®ç¨á⪠ ¨å
701
        mov 	eax,dword	ed_shift_pos
713
        mov 	eax,dword	ed_shift_pos
702
	mov	ebx,dword	ed_pos
714
	mov	ebx,dword	ed_pos
703
	mov	ecx,dword	ed_shift_pos_old
715
	mov	ecx,dword	ed_shift_pos_old
704
;¯à®¢¥àª  ¨ à¨á®¢ ­¨¥ § ªà è¥­ëå ®¡« á⥩
716
;¯à®¢¥àª  ¨ à¨á®¢ ­¨¥ § ªà è¥­ëå ®¡« á⥩
Line 731... Line 743...
731
	mov	ebp,ed_color
743
	mov	ebp,ed_color
732
	mov	ebx,dword	ed_shift_pos_old
744
	mov	ebx,dword	ed_shift_pos_old
733
	call	.sh_cl_
745
	call	.sh_cl_
Line 734... Line 746...
734
 
746
 
735
@@:	test    word ed_flags,ed_shift
747
@@:	test    word ed_flags,ed_shift
736
	je	.sh_exit_ ;­ à¨á®¢ âì § ªà è¥­ë© ¯àאַ㣮«ì­¨ª (®¡« áâì)
748
	je	.sh_exit_ ;¢ë©â¨
737
        mov	ebp,shift_color
749
        mov	ebp,shift_color
738
        mov	ebx,dword	ed_shift_pos
750
        mov	ebx,dword	ed_shift_pos
739
	call	.sh_cl_
751
	call	.sh_cl_
740
	or	word ed_flags,ed_shift_bac ;ãáâ ­®¢ª  ä« £ , ¢ë¤¥«¥­­®© ®¡« áâ¨
752
	or	word ed_flags,ed_shift_bac ;ãáâ ­®¢ª  ä« £ , ¢ë¤¥«¥­­®© ®¡« áâ¨
Line 822... Line 834...
822
	mov	ebx,eax	;It is don't optimal
834
	mov	ebx,eax	;It is don't optimal
Line 823... Line 835...
823
	
835
	
824
	pop	eax	;ed_pos
836
	pop	eax	;ed_pos
825
       	mov	ecx,ed_offset
837
       	mov	ecx,ed_offset
826
	sub	eax,ecx
-
 
827
 
838
	sub	eax,ecx
828
.nxt:
839
.nxt:
829
	mov	ebp,eax  ;¯à®¢¥àª  ­  ¢ë室 § ªà è¨¢ ¥¬®© ®¡« á⨠§  ¯à¥¤¥«ë ¤«¨­ë
840
	mov	ebp,eax  ;¯à®¢¥àª  ­  ¢ë室 § ªà è¨¢ ¥¬®© ®¡« á⨠§  ¯à¥¤¥«ë ¤«¨­ë
830
	add	ebp,ebx
841
	add	ebp,ebx
831
	pop	edx
842
	pop	edx
Line 924... Line 935...
924
	add	ax,ed_offset
935
	add	ax,ed_offset
925
	cmp	ax,ed_size
936
	cmp	ax,ed_size
926
	jna	 @f
937
	jna	 @f
927
	mov	ax,ed_size
938
	mov	ax,ed_size
928
@@:
939
@@:
-
 
940
	test    word ed_flags,ed_shift_bac
-
 
941
        je      @f
-
 
942
	mov	ebp,dword	ed_color
-
 
943
	mov	ebx,dword ed_shift_pos
-
 
944
	push	eax
-
 
945
	call	.sh_cl_
-
 
946
	and	word ed_flags,ed_shift_cl
-
 
947
	pop	eax
-
 
948
 
-
 
949
@@:
-
 
950
        test    word ed_flags,ed_shift
-
 
951
        je	@f
-
 
952
        mov	ebx,ed_pos
-
 
953
        mov	ed_shift_pos,ebx
-
 
954
 
-
 
955
        mov	ed_pos,eax
-
 
956
	mov	ebp,dword	shift_color
-
 
957
 
-
 
958
	call	.sh_cl_
-
 
959
	or      word ed_flags,ed_shift_bac	;ãáâ ­®¢¨¬ ¡¨â çâ® ¬ë ¢ë¤¥«¨«¨ 
-
 
960
	and	word ed_flags,ed_shift_off
-
 
961
	jmp	.m_sh
-
 
962
@@:	
929
	mov	ed_pos,ax
963
 	mov	ed_pos,ax
930
	call	.check_offset
964
.m_sh:  call	.draw_text
931
	call	.draw_cursor
965
	call	.draw_cursor
932
;----------------------------------------------------------
966
;----------------------------------------------------------
933
;--- ¯à®æ¥¤ãà  ãáâ ­®¢ª¨ 䮪ãá  ---------------------------
967
;--- ¯à®æ¥¤ãà  ãáâ ­®¢ª¨ 䮪ãá  ---------------------------
934
;----------------------------------------------------------
968
;----------------------------------------------------------
935
	bts	word ed_flags,1
969
	bts	word ed_flags,1
Line 939... Line 973...
939
._blur:
973
._blur:
940
	test	word ed_flags,ed_always_focus
974
	test	word ed_flags,ed_always_focus
941
	jne	@f
975
	jne	@f
942
	btr	word ed_flags,1 ; ¥á«¨ ­¥ ¢ 䮪ãá¥, ¢ë室¨¬
976
	btr	word ed_flags,1 ; ¥á«¨ ­¥ ¢ 䮪ãá¥, ¢ë室¨¬
943
	jnc     @f
977
	jnc     @f
-
 
978
 
944
	mov	ebp,ed_color
979
	mov	ebp,ed_color
945
	call	.clear_cursor
980
	call	.clear_cursor
946
.drc:	call	.draw_border
981
.drc:	call	.draw_border
947
@@:
982
@@:
948
popa
983
popa
Line 1027... Line 1062...
1027
.pos dd 0
1062
.pos dd 0
1028
.offset dd 0
1063
.offset dd 0
1029
.cl_curs_x dd 0
1064
.cl_curs_x dd 0
1030
.cl_curs_y dd 0
1065
.cl_curs_y dd 0
1031
.shift   dd 0
1066
.shift   dd 0
-
 
1067
.shift_old   dd 0
-
 
1068
}
-
 
1069
 
-
 
1070
struc  edit_box1 width,left,top,color,focus_border_color,\
-
 
1071
       blur_border_color,text_color,max,text,flags,ed_size
-
 
1072
{
-
 
1073
.width dd width
-
 
1074
.left dd left
-
 
1075
.top dd top
-
 
1076
.color dd color
-
 
1077
.focus_border_color dd focus_border_color
-
 
1078
.blur_border_color dd blur_border_color
-
 
1079
.text_color dd text_color
-
 
1080
.max dd max
-
 
1081
.text dd text
-
 
1082
.flags dw flags+0
-
 
1083
.size dd ed_size
-
 
1084
.pos dd 0
-
 
1085
.offset dd 0
-
 
1086
.cl_curs_x dd 0
-
 
1087
.cl_curs_y dd 0
-
 
1088
.shift   dd 0
1032
.shift_old   dd 0
1089
.shift_old   dd 0
1033
}
1090
}
Line 1034... Line 1091...
1034
 
1091
 
1035
macro edit_boxes_set_sys_color start,end,color_table
1092
macro edit_boxes_set_sys_color start,end,color_table