Subversion Repositories Kolibri OS

Rev

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

Rev 4156 Rev 4336
Line 1... Line -...
1
;¨­®£¤  ­¥¢¥à­® ®¯à¥¤¥«ï¥âáï è¨à¨­  ¬¥­î誨
-
 
2
 
-
 
3
ICONS_DAT	equ '/rd/1/icons.dat'
-
 
4
ICON_STRIP	equ '/rd/1/iconstrp.png'
1
ICON_STRIP	equ '/rd/1/iconstrp.png'
5
ICON_SIZE	equ 68
2
ICON_INI	equ '/rd/1/settings/icon.ini'
-
 
3
ICON_SIZE	equ 68	  ;à §¬¥à ®¡« á⨠¤«ï ¨ª®­ª¨ á ­ ¤¯¨áìî
6
IMG_SIZE	equ 32
4
IMG_SIZE	equ 32	  ;à §¬¥à ¨ª®­®ª
7
TEXT_BOTTOM_Y	equ 14
5
TEXT_BOTTOM_Y	equ 14	  ;®âáâ㯠¯® Y ⥪áâ  ®â ­¨§  ¨ª®­ª¨
8
IMAGE_TOP_Y	equ 10	  ;>=1
6
IMAGE_TOP_Y	equ 10	  ;>=1 Š®®à¤¨­ â  Y ¨ª®­ª¨ ¢ ®¡« á⨠¤«ï ¤ ­­®© ¨ª®­ª¨
9
ALIGN_SIZE	equ 68
7
ALIGN_SIZE	equ 68	  ;à §¬¥à á¥âª¨ ¢ëà ¢­¨¢ ­¨ï
10
NAME_LENGTH	equ 11
8
NAME_LENGTH	equ 11	 ;¤«¨­  ¨¬¥­¨ ¨ª®­ª¨
11
MIN_NO_MOVING	equ 8
9
MIN_NO_MOVING	equ 8	 ;ç¥à¥§ á⮫쪮 ¯¨ªá¥«¥© ᤢ¨£  ¬ëè¨ ­ ç¨­ ¥âáï â áª ­¨¥ ¨ª®­ª¨
-
 
10
 
12
			   ;¤«ï ¤¨ «®£  ᮧ¤ ­¨ï/। ªâ¨à®¢ ­¨ï
11
		     ;--------¤«ï ¤¨ «®£  ᮧ¤ ­¨ï/। ªâ¨à®¢ ­¨ï
13
ICONSX		equ 20
12
ICONSX		equ 20
14
ICONSY		equ 80
13
ICONSY		equ 80
15
ICONS_DRAW_COUNTW equ 10  ;ª®«¨ç¥á⢮ ¨ª®­®ª ¢ è¨à¨­ã
14
ICONS_DRAW_COUNTW equ 10  ;ª®«¨ç¥á⢮ ¨ª®­®ª ¢ è¨à¨­ã
16
ICONS_DRAW_COUNTH equ 2   ;ª®«¨ç¥á⢮ ¨ª®­®ª ¢ ¢ëá®âã
15
ICONS_DRAW_COUNTH equ 2   ;ª®«¨ç¥á⢮ ¨ª®­®ª ¢ ¢ëá®âã
17
SPCW		equ 3	  ;¯à®¡¥« ¬¥¦¤ã ¨ª®­ª ¬¨ ¯® £®à¨§®­â «¨
16
SPCW		equ 3	  ;¯à®¡¥« ¬¥¦¤ã ¨ª®­ª ¬¨ ¯® £®à¨§®­â «¨
Line 39... Line 38...
39
include '../../macros.inc'
38
include '../../macros.inc'
40
include '../../proc32.inc'
39
include '../../proc32.inc'
41
include '../../develop/libraries/box_lib/trunk/box_lib.mac'
40
include '../../develop/libraries/box_lib/trunk/box_lib.mac'
42
include '../../dll.inc'
41
include '../../dll.inc'
43
;include '../../debug.inc'
42
;include '../../debug.inc'
44
 
-
 
45
;------------------------------------------------------------------------------
43
;------------------------------------------------------------------------------
46
START:		; start of execution
44
START:		; start of execution
47
	mcall	68,11
45
	mcall	68,11
48
	stdcall dll.Load,IMPORTS
46
	stdcall dll.Load,IMPORTS
49
	test	eax,eax
47
	test	eax,eax
Line 94... Line 92...
94
	and	eax,0x7
92
	and	eax,0x7
95
	mov	[cur_band_compensation],eax
93
	mov	[cur_band_compensation],eax
Line 96... Line 94...
96
 
94
 
Line 97... Line 95...
97
;########## § £à㦠¥¬ ¤ ­­ë¥ ¨ª®­®ª ¢ ¯ ¬ïâì ##########################
95
;########## § £à㦠¥¬ ¤ ­­ë¥ ¨ª®­®ª ¢ ¯ ¬ïâì ##########################
98
 
96
 
99
	mcall	70,fiIni		     ;¢ë¤¥«ï¥¬ ¯ ¬ïâì, ¤®áâ â®ç­®© ¤«ï åà ­¥­¨ï ini ä ©« . …ñ â®ç­® 墠â¨â ¤«ï åà ­¥­¨ï ¤ ­­ëå ®¡ ¨ª®­ª å
97
	mcall	70,fiIni		     ;¢ë¤¥«ï¥¬ ¯ ¬ïâì, ¤®áâ â®ç­®© ¤«ï åà ­¥­¨ï ini ä ©« .
Line 100... Line 98...
100
	test	eax,eax
98
	test	eax,eax 		;…ñ â®ç­® 墠â¨â ¤«ï åà ­¥­¨ï ¤ ­­ëå ®¡ ¨ª®­ª å
101
	jnz	ErrorIni
99
	jnz	ErrorIni
102
 
100
 
Line 111... Line 109...
111
	mcall	-1
109
	mcall	-1
Line 112... Line 110...
112
 
110
 
113
  NoErrIni:
111
  NoErrIni:
Line -... Line 112...
-
 
112
	m2m	[PIcoDB],[BegData]
-
 
113
 
-
 
114
 
-
 
115
 
-
 
116
	mov	edi,IconsID
-
 
117
	xor	eax,eax
-
 
118
	mov	ecx,100h/4
114
	m2m	[PIcoDB],[BegData]
119
	rep stosd
115
 
120
	mov	[nLoadIcon],0
116
	stdcall [ini_enum_sections],IconIni,LoadIconsData
121
	stdcall [ini_enum_sections],IconIni,LoadIconsData
117
;int3
122
;int3
118
	mov	eax,dword[PIcoDB]
123
	mov	eax,dword[PIcoDB]
Line 123... Line 128...
123
	jne	@f
128
	jne	@f
124
	mov	dword[eax],0
129
	mov	dword[eax],0
125
	mov	dword[SizeData],0
130
	mov	dword[SizeData],0
126
   @@:
131
   @@:
127
;######################################################################
132
;######################################################################
128
 
-
 
129
	call	FillIconsOffs		       ;§ ¯®«­ï¥â MaxNumIcon,IconsOffs
133
	call	FillIconsOffs		       ;§ ¯®«­ï¥â MaxNumIcon,IconsOffs
Line 130... Line 134...
130
 
134
 
Line 131... Line 135...
131
	mcall	40,0100000b		       ;­ã¦­ë ⮫쪮 ᮡëâ¨ï ¬ëè¨, ¯¥à¥à¨á®¢ª  ¨ª®­®ª ¡ã¤¥â ¢ ¤à㣮¬ ¯®â®ª¥
135
	mcall	40,0100000b		       ;­ã¦­ë ⮫쪮 ᮡëâ¨ï ¬ëè¨, ¯¥à¥à¨á®¢ª  ¨ª®­®ª ¡ã¤¥â ¢ ¤à㣮¬ ¯®â®ª¥
Line 141... Line 145...
141
	mov	[sbIcons.max_area],eax
145
	mov	[sbIcons.max_area],eax
Line 142... Line 146...
142
 
146
 
143
	mcall	51,1,BGRedrawThread,stack_bredraw	;§ ¯ã᪠¥¬ ¯®â®ª ¯¥à¥à¨á®¢ª¨ ¨ª®­®ª
147
	mcall	51,1,BGRedrawThread,stack_bredraw	;§ ¯ã᪠¥¬ ¯®â®ª ¯¥à¥à¨á®¢ª¨ ¨ª®­®ª
Line -... Line 148...
-
 
148
	stdcall [OpenDialog_Init],OpenDialog_data
-
 
149
 
144
	stdcall [OpenDialog_Init],OpenDialog_data
150
;dph [MaxNumIcon]
145
 
151
 
146
messages:
152
messages:
147
	mcall	10
153
	mcall	10
Line 186... Line 192...
186
	;debug_newline
192
	;debug_newline
187
close:
193
close:
188
	mcall	-1
194
	mcall	-1
Line 189... Line 195...
189
 
195
 
-
 
196
LButtonPress:
190
LButtonPress:
197
 
191
	stdcall GetNumIcon,[MouseX],[MouseY],-1
198
	stdcall GetNumIcon,[MouseX],[MouseY],-1
192
;int3
199
;int3
193
	cmp	eax,-1
200
	cmp	eax,-1
Line 419... Line 426...
419
	sub	bx,[wsY]
426
	sub	bx,[wsY]
420
    .mov2:
427
    .mov2:
Line 421... Line 428...
421
 
428
 
Line 422... Line -...
422
	stdcall SetPosition,[SelIcon],eax,ebx
-
 
423
 
429
	stdcall SetPosition,[SelIcon],eax,ebx
424
 
430
 
Line 425... Line 431...
425
	m2m	[PIcoDB],[BegData]
431
	m2m	[PIcoDB],[BegData]
426
	stdcall [ini_enum_sections],IconIni,Ini_SavePos  ;in RButton.inc
432
	stdcall [ini_enum_sections],IconIni,Ini_SavePos  ;in RButton.inc
Line 433... Line 439...
433
	jmp	messages
439
	jmp	messages
Line 434... Line 440...
434
 
440
 
Line 435... Line 441...
435
;-------------------------------------------------------------------------------
441
;-------------------------------------------------------------------------------
436
 
-
 
437
RButtonPress:
-
 
438
	cmp	[RButtonActiv],1
442
 
Line 439... Line 443...
439
	je	messages
443
RButtonPress:
440
	mov	[RButtonActiv],1
444
	mov	[RButtonActiv],1
441
 
445
 
Line 655... Line 659...
655
;        mov     eax,1
659
;        mov     eax,1
656
	pop	esi edi ebx
660
	pop	esi edi ebx
657
	ret
661
	ret
658
endp
662
endp
Line 659... Line -...
659
 
-
 
660
 
-
 
661
 
663
 
662
proc RestoreBackgrnd,NumIcon:DWORD
664
proc RestoreBackgrnd,NumIcon:DWORD
663
	push	ebx edi
665
	push	ebx edi
664
	mov	eax,[NumIcon]
666
	mov	eax,[NumIcon]
665
	cmp	eax,[MaxNumIcon]
667
	cmp	eax,[MaxNumIcon]
Line 708... Line 710...
708
	mcall	15,9
710
	mcall	15,9
709
	pop	edi ebx
711
	pop	edi ebx
710
	ret
712
	ret
711
endp
713
endp
Line 712... Line -...
712
 
-
 
713
;ret eax=numIcon
-
 
714
proc AddIcon stdcall,x,y,lpIcon,lpName,lpExeFile,lpParams
-
 
715
	push	ebx edi esi
-
 
716
 
-
 
717
	mov	eax,[x]
-
 
718
	mov	ebx,[y]
-
 
719
 
-
 
720
	xor	edx,edx
-
 
721
	test	eax,8000h
-
 
722
	jnz	@f
-
 
723
	mov	dx,[wsW]    ;¥á«¨ ­ ¤®, â® ¯à¥®¡à §®¢ë¢ ¥¬ ¢
-
 
724
	shr	edx,1		;®âà¨æ â¥«ì­ë¥ ª®®à¤¨­ âë
-
 
725
	add	dx,[wsX]
-
 
726
	cmp	eax,edx
-
 
727
	jbe	@f
-
 
728
	sub	ax,[wsW]
-
 
729
	inc	eax
-
 
730
      @@:
-
 
731
 
-
 
732
	test	ebx,8000h
-
 
733
	jnz	@f
-
 
734
	mov	dx,[wsY]
-
 
735
	shr	edx,1
-
 
736
	add	dx,[wsH]
-
 
737
	cmp	ebx,edx
-
 
738
	jbe	@f
-
 
739
	sub	bx,[wsH]
-
 
740
	inc	ebx
-
 
741
      @@:
-
 
742
				;¯®¯à ¢ª  ­  á«ãç © ¢ë室  §  ªà © íªà ­ 
-
 
743
 
-
 
744
	test	eax,8000h
-
 
745
	jnz	@f
-
 
746
	mov	dx,[wsXe]
-
 
747
	sub	edx,ICON_SIZE
-
 
748
	cmp	eax,edx
-
 
749
	jbe	@f
-
 
750
	mov	eax,edx
-
 
751
     @@:
-
 
752
 
-
 
753
	test	ebx,8000h
-
 
754
	jnz	@f
-
 
755
	mov	dx,[wsYe]
-
 
756
	sub	edx,ICON_SIZE
-
 
757
	cmp	ebx,edx
-
 
758
	jbe	@f
-
 
759
	mov	ebx,edx
-
 
760
     @@:
-
 
761
 
-
 
762
	mov	[x],eax
-
 
763
	mov	[y],ebx
-
 
764
 
-
 
765
	xor	al,al
-
 
766
	or	ecx,-1
-
 
767
	mov	edi,[lpName]
-
 
768
	repne	scasb
-
 
769
	sub	edi,[lpName]
-
 
770
	mov	ebx,edi
-
 
771
	mov	edi,[lpExeFile]
-
 
772
	repne	scasb
-
 
773
	sub	edi,[lpExeFile]
-
 
774
	add	ebx,edi
-
 
775
	mov	edi,[lpParams]
-
 
776
	repne	scasb
-
 
777
	sub	edi,[lpParams]
-
 
778
	add	ebx,edi
-
 
779
	mov	edi,[lpIcon]
-
 
780
	repne	scasb
-
 
781
	sub	edi,[lpIcon]
-
 
782
	add	ebx,edi
-
 
783
	add	ebx,4
-
 
784
	mov	ecx,dword[SizeData]
-
 
785
	add	ecx,ebx
-
 
786
	mov	edx,[IconsOffs]
-
 
787
	mcall	68,20
-
 
788
 
-
 
789
	mov	edx,dword[SizeData]
-
 
790
	mov	dword[SizeData],ecx
-
 
791
	mov	dword[BegData],eax
-
 
792
	mov	edi,eax
-
 
793
	add	edi,edx
-
 
794
	mov	esi,[lpName]
-
 
795
    @@: lodsb
-
 
796
	stosb
-
 
797
	test	al,al
-
 
798
	jnz	@b
-
 
799
 
-
 
800
	mov	esi,[lpExeFile]
-
 
801
    @@: lodsb
-
 
802
	stosb
-
 
803
	test	al,al
-
 
804
	jnz	@b
-
 
805
 
-
 
806
	mov	esi,[lpParams]
-
 
807
    @@: lodsb
-
 
808
	stosb
-
 
809
	test	al,al
-
 
810
	jnz	@b
-
 
811
 
-
 
812
	mov	esi,[lpIcon]
-
 
813
    @@: lodsb
-
 
814
	stosb
-
 
815
	test	al,al
-
 
816
	jnz	@b
-
 
817
 
-
 
818
	mov	eax,[x]
-
 
819
	mov	ebx,[y]
-
 
820
	shl	eax,16
-
 
821
	mov	ax,bx
-
 
822
	mov	dword[edi],eax
-
 
823
 
-
 
824
	stdcall FillIconsOffs
-
 
825
 
-
 
826
	pop	esi edi ebx
-
 
827
	ret
-
 
828
endp
-
 
829
 
-
 
830
 
-
 
831
proc EditIcon stdcall,NumIcon,lpIcon,lpName,lpExeFile,lpParams
-
 
832
	push	edi
-
 
833
	mov	eax,[NumIcon]
-
 
834
	mov	edi,[IconsOffs+eax*4]
-
 
835
	xor	al,al
-
 
836
	or	ecx,-1
-
 
837
	repne	scasb
-
 
838
	repne	scasb
-
 
839
	repne	scasb
-
 
840
	repne	scasb
-
 
841
	push	dword[edi]
-
 
842
	stdcall DelIcon,[NumIcon]
-
 
843
	pop	edx
-
 
844
	xor	eax,eax
-
 
845
	mov	ax,dx
-
 
846
	shr	edx,16
-
 
847
	stdcall AddIcon,edx,eax,DAreaIcon,DAreaName,DAreaPath,DAreaParams
-
 
848
	pop	edi
-
 
849
	ret
-
 
850
endp
-
 
851
 
-
 
852
proc SetPosition stdcall,NumIcon,x,y
-
 
853
	push	edi
-
 
854
	mov	eax,[NumIcon]
-
 
855
	mov	edi,[IconsOffs+eax*4]
-
 
856
	xor	al,al
-
 
857
	or	ecx,-1
-
 
858
	repne	scasb
-
 
859
	repne	scasb
-
 
860
	repne	scasb
-
 
861
	repne	scasb
-
 
862
	mov	eax,[x]
-
 
863
	shl	eax,16
-
 
864
	mov	ax,word[y]
-
 
865
	mov	dword[edi],eax
-
 
866
	pop	edi
-
 
867
	ret
-
 
868
endp
-
 
869
 
-
 
870
proc GetNumIcon stdcall,x,y,NumIconI  ;­®¬¥à ¨ª®­ª¨, ª®â®àë© ¯à®¢¥àïâì ­¥ ­ ¤® ¨«¨ -1
-
 
871
local posX:WORD,\
-
 
872
      posY:WORD
-
 
873
	push	ebx edi
-
 
874
	mov	ecx,[MaxNumIcon]
-
 
875
	test	ecx,ecx
-
 
876
	jnz	@f
-
 
877
	or	eax,-1
-
 
878
	pop	edi ebx
-
 
879
	ret
-
 
880
     @@:
-
 
881
 
-
 
882
	mov	ebx,ecx
-
 
883
	dec	ebx
-
 
884
   .TestIcon:
-
 
885
	cmp	dword[NumIconI],-1
-
 
886
	je	@f
-
 
887
 
-
 
888
	cmp	ebx,[NumIconI]
-
 
889
	jne	@f
-
 
890
	dec	ebx
-
 
891
	dec	ecx
-
 
892
	test	ecx,ecx
-
 
893
	jz	.NoIcon
-
 
894
     @@:
-
 
895
 
-
 
896
	push	ecx
-
 
897
 
-
 
898
	or	ecx,-1
-
 
899
	xor	al,al
-
 
900
	mov	edi,[IconsOffs+ebx*4]
-
 
901
	repne	scasb
-
 
902
	repne	scasb
-
 
903
	repne	scasb
-
 
904
	repne	scasb
-
 
905
 
-
 
906
	mov	ax,[edi+2]
-
 
907
	test	ax,8000h
-
 
908
	jz	@f
-
 
909
	add	ax,[wsXe]
-
 
910
	jmp	.gni1
-
 
911
      @@:
-
 
912
	add	ax,[wsX]
-
 
913
     .gni1:
-
 
914
	mov	[posX],ax
-
 
915
 
-
 
916
	mov	ax,[edi]
-
 
917
	test	ax,8000h
-
 
918
	jz	@f
-
 
919
	add	ax,[wsYe]
-
 
920
	jmp	.gni2
-
 
921
      @@:
-
 
922
	add	ax,[wsY]
-
 
923
     .gni2:
-
 
924
 
-
 
925
	mov	[posY],ax
-
 
926
 
-
 
927
	mov	eax,[x]
-
 
928
	mov	edx,[y]
-
 
929
 
-
 
930
	cmp	ax,[posX]
-
 
931
	jb	@f
-
 
932
	add	word[posX],ICON_SIZE
-
 
933
	cmp	ax,[posX]
-
 
934
	ja	@f
-
 
935
 
-
 
936
	cmp	dx,[posY]
-
 
937
	jb	@f
-
 
938
	add	word[posY],ICON_SIZE
-
 
939
	cmp	dx,[posY]
-
 
940
	ja	@f
-
 
941
 
-
 
942
	jmp	.OkIcon
-
 
943
     @@:
-
 
944
 
-
 
945
	dec	ebx
-
 
946
	pop	ecx
-
 
947
 
-
 
948
	;loop    .TestIcon
-
 
949
	dec	ecx
-
 
950
	jnz	.TestIcon
-
 
951
	jmp	.NoIcon
-
 
952
   .OkIcon:
-
 
953
	mov	eax,ebx
-
 
954
	pop	edi ebx
-
 
955
	ret
-
 
956
   .NoIcon:
-
 
957
	or	eax,-1
-
 
958
	pop	edi ebx
-
 
959
	ret
-
 
960
endp
-
 
961
 
-
 
962
proc DelIcon stdcall,NumIcon
-
 
963
	push	ebx edi esi
-
 
964
 
-
 
965
	cmp	[MaxNumIcon],0
-
 
966
	je	.end
-
 
967
 
-
 
968
	cmp	[MaxNumIcon],1
-
 
969
	je	.OhneIco
-
 
970
 
-
 
971
	mov	ebx,[NumIcon]
-
 
972
 
-
 
973
	mov	eax,[MaxNumIcon]
-
 
974
	dec	eax
-
 
975
	mov	[MaxNumIcon],eax
-
 
976
	cmp	ebx,eax
-
 
977
	je	@f
-
 
978
 
-
 
979
	shl	ebx,2
-
 
980
 
-
 
981
	mov	ecx,dword[BegData]
-
 
982
	add	ecx,dword[SizeData]
-
 
983
	sub	ecx,[IconsOffs+4+ebx]
-
 
984
 
-
 
985
	mov	edx,[IconsOffs+4+ebx]
-
 
986
	sub	edx,[IconsOffs+ebx]
-
 
987
	sub	dword[SizeData],edx
-
 
988
 
-
 
989
	mov	esi,[IconsOffs+4+ebx]
-
 
990
	mov	edi,[IconsOffs+ebx]
-
 
991
	rep	movsb
-
 
992
	jmp	.endDel
-
 
993
 
-
 
994
     @@:
-
 
995
	mov	ecx,dword[BegData]
-
 
996
	add	ecx,dword[SizeData]
-
 
997
	sub	ecx,[IconsOffs+ebx*4]
-
 
998
	sub	dword[SizeData],ecx
-
 
999
 
-
 
1000
  .endDel:
-
 
1001
	stdcall FillIconsOffs
-
 
1002
	jmp	.end
-
 
1003
 
-
 
1004
.OhneIco:
-
 
1005
	mov	edi,[BegData]
-
 
1006
	mov	[SizeData],0
-
 
1007
	mov	dword[edi],0
-
 
1008
	mov	[MaxNumIcon],0
-
 
1009
	mov	dword[IconsOffs],0
-
 
1010
   .end:
-
 
1011
	mcall	15,3
-
 
1012
	pop	esi edi ebx
-
 
1013
	ret
-
 
1014
endp
714
 
1015
				 ;§ ¯®«­ï¥â MaxNumIcon,IconsOffs
715
				 ;§ ¯®«­ï¥â MaxNumIcon,IconsOffs
1016
proc FillIconsOffs
716
proc FillIconsOffs
1017
	push	ebx edi
717
	push	ebx edi
1018
	mov	edi,[BegData]
718
	mov	edi,[BegData]
Line 1029... Line 729...
1029
	xor	edx,edx
729
	xor	edx,edx
1030
	mov	ebx,dword[SizeData]
730
	mov	ebx,dword[SizeData]
1031
	add	ebx,dword[BegData]
731
	add	ebx,dword[BegData]
1032
	or	ecx,-1
732
	or	ecx,-1
1033
 .CalcNumIc:
733
 .CalcNumIc:
-
 
734
 
1034
	repne	scasb
735
	repne	scasb
1035
	repne	scasb
736
	repne	scasb
1036
	repne	scasb
737
	repne	scasb
1037
	repne	scasb
738
	repne	scasb
1038
	add	edi,4
739
	add	edi,4
Line 1044... Line 745...
1044
	jae	@f
745
	jae	@f
1045
	jmp	.CalcNumIc
746
	jmp	.CalcNumIc
1046
   @@:
747
   @@:
Line 1047... Line 748...
1047
 
748
 
-
 
749
	mov	dword[IconsOffs+edx],0
1048
	mov	dword[IconsOffs+edx],0
750
 
1049
	pop	edi ebx
751
	pop	edi ebx
1050
	ret
752
	ret
Line 1051... Line 753...
1051
endp
753
endp
Line 1064... Line 766...
1064
	mov	eax,1
766
	mov	eax,1
1065
	pop	edi esi ebx
767
	pop	edi esi ebx
1066
	ret
768
	ret
1067
     .lid1:
769
     .lid1:
Line -... Line 770...
-
 
770
 
-
 
771
 
-
 
772
	mov	ebx,[sec_name]		;ª®¯¨à㥬 ID
-
 
773
	mov	ax,[ebx]
-
 
774
	mov	edi,[nLoadIcon]
-
 
775
	mov	word[edi*4+IconsID],ax
-
 
776
	mov	word[edi*4+IconsID+2],0
1068
 
777
 
-
 
778
	mov	edi,[PIcoDB]
-
 
779
	stdcall [ini_get_str],[f_name],[sec_name],keyName,edi,4096,0
-
 
780
	test	eax,eax
1069
	mov	edi,[PIcoDB]
781
	jz	@f
1070
	mov	esi,[sec_name]
782
	xor	eax,eax
1071
    @@: lodsb
783
	pop	edi esi ebx
-
 
784
	ret
1072
	stosb
785
     @@:
-
 
786
	xor	al,al
1073
	test	al,al
787
	or	ecx,-1
-
 
788
	repne	scasb
-
 
789
 
Line 1074... Line 790...
1074
	jnz	@b
790
 
1075
 
791
 
1076
	stdcall [ini_get_str],[f_name],[sec_name],keyPath,edi,4096,0
792
	stdcall [ini_get_str],[f_name],[sec_name],keyPath,edi,4096,0
1077
	test	eax,eax
793
	test	eax,eax
Line 1124... Line 840...
1124
     @@:
840
     @@:
1125
	mov	word[edi],ax
841
	mov	word[edi],ax
1126
	add	edi,4
842
	add	edi,4
1127
	mov	[PIcoDB],edi
843
	mov	[PIcoDB],edi
Line -... Line 844...
-
 
844
 
-
 
845
	inc	[nLoadIcon]
1128
 
846
 
1129
	mov	eax,1
847
	mov	eax,1
1130
	pop	edi esi ebx
848
	pop	edi esi ebx
1131
	ret
849
	ret
Line -... Line 850...
-
 
850
endp
-
 
851
 
-
 
852
proc GenerateID ;ax = ID
-
 
853
	push	ebx edi
-
 
854
	mov	ebx,[MaxNumIcon]
-
 
855
	test	ebx,ebx
-
 
856
	jnz	@f
-
 
857
	mov	eax,'00'
-
 
858
	pop	edi ebx
-
 
859
	ret
-
 
860
     @@:
-
 
861
 
-
 
862
	mov	eax,dword[IconsID+ebx*4-4]
-
 
863
  .inc:
-
 
864
	inc	ah
-
 
865
	cmp	ah,'9'+1
-
 
866
	jne	@f
-
 
867
	mov	ah,'A'
-
 
868
       @@:
-
 
869
	cmp	ah,'F'+1
-
 
870
	jne	@f
-
 
871
	mov	ah,'0'
-
 
872
	inc	al
-
 
873
       @@:
-
 
874
	cmp	al,'9'+1
-
 
875
	jne	@f
-
 
876
	mov	al,'A'
-
 
877
       @@:
-
 
878
	cmp	al,'F'+1
-
 
879
	jne	@f
-
 
880
	mov	al,'0'
-
 
881
       @@:
-
 
882
 
-
 
883
 
-
 
884
	mov	edi,IconsID
-
 
885
	;cmp     dword[edi],0
-
 
886
	;je      @f
-
 
887
	mov	ecx,100h
-
 
888
    @@: scasd
-
 
889
	je	.inc
-
 
890
	cmp	dword[edi],0
-
 
891
	je	@f
-
 
892
	loop	@b
-
 
893
     @@:
-
 
894
 
-
 
895
	pop	edi ebx
-
 
896
	ret
-
 
897
endp
1132
endp
898
 
1133
 
899
include 'iconman.inc'
1134
include 'bgredraw.inc'
900
include 'bgredraw.inc'
1135
include 'RButton.inc'
901
include 'RButton.inc'
Line 1178... Line 944...
1178
fiIni	dd 5	       ;¤«ï ini ä ©« 
944
fiIni	dd 5	       ;¤«ï ini ä ©« 
1179
	dd 0
945
	dd 0
1180
	dd 0
946
	dd 0
1181
	dd 0
947
	dd 0
1182
	dd bufIni
948
	dd bufIni
-
 
949
	db 0
1183
	db '/rd/1/settings/icon.ini',0
950
	dd IconIni
Line 1184... Line 951...
1184
 
951
 
1185
 
-
 
-
 
952
 
1186
IconsFile	db ICON_STRIP,0
953
IconsFile	db ICON_STRIP,0
1187
NameIconsDat	db ICONS_DAT,0
954
 
1188
align 4
955
align 4
Line 1189... Line 956...
1189
MaxNumIcon	dd 0	       ;ª®«¨ç¥á⢮ ¨ª®­®ª
956
MaxNumIcon	dd 0		;ª®«¨ç¥á⢮ ¨ª®­®ª
1190
IconNoDraw	dd -1		;-1 «¨¡® ­®¬¥à ¨ª®­ª¨, ª®â®àãî ­¥ ­ ¤® à¨á®¢ âì( ª®£¤  ¥ñ â áª îâ :))
957
IconNoDraw	dd -1		;-1 «¨¡® ­®¬¥à ¨ª®­ª¨, ª®â®àãî ­¥ ­ ¤® à¨á®¢ âì( ª®£¤  ¥ñ â áª îâ )
Line 1191... Line 958...
1191
 
958
 
1192
bFixIcons	dd 1
959
bFixIcons	dd 1
1193
bNotSave	dd 0
960
bNotSave	dd 0
1194
 
961
 
Line 1195... Line 962...
1195
LButtonActiv	dd 0
962
LButtonActiv	dd 0
Line 1196... Line 963...
1196
RButtonActiv	dd 0
963
RButtonActiv	dd 0
Line 1197... Line 964...
1197
MovingActiv	dd 0
964
MovingActiv	dd 0
1198
DlgAddActiv	dd 0
965
DlgAddActiv	dd 0
1199
 
966
 
1200
IconIni 	db '/rd/1/settings/icon.ini',0
967
IconIni 	db ICON_INI,0
1201
 
968
 
1202
pthNotify	db '/rd/1/@notify',0
969
pthNotify	db '/rd/1/@notify',0
Line 1242... Line 1009...
1242
	ini_get_str,'ini_get_str',\
1009
	ini_get_str		,'ini_get_str',\
1243
	ini_set_str,'ini_set_str',\
1010
	ini_set_str		,'ini_set_str',\
1244
	ini_get_color,'ini_get_color',\
1011
	ini_get_color		,'ini_get_color',\
1245
	ini_get_int,'ini_get_int',\
1012
	ini_get_int		,'ini_get_int',\
1246
	ini_set_int,'ini_set_int',\
1013
	ini_set_int		,'ini_set_int',\
1247
	ini_del_section,'ini_del_section'
1014
	ini_del_section 	,'ini_del_section',\
-
 
1015
	ini_exist_sect		,'ini_exist_sect'
Line 1248... Line 1016...
1248
 
1016
 
1249
 
1017
 
Line 1250... Line 1018...
1250
;ini.get_str (f_name, sec_name, key_name, buffer, buf_len, def_val)
1018
;ini.get_str (f_name, sec_name, key_name, buffer, buf_len, def_val)
1251
;ini.set_str (f_name, sec_name, key_name, buffer, buf_len)
1019
;ini.set_str (f_name, sec_name, key_name, buffer, buf_len)
1252
 
1020
 
-
 
1021
 
-
 
1022
;-------------------------------------------------------------------------------
-
 
1023
;----- RButton.inc -------------------------------------------------------------
-
 
1024
;-------------------------------------------------------------------------------
-
 
1025
 
-
 
1026
if lang eq ru
-
 
1027
 MinRMenuW	 dd 18*6+10
1253
 
1028
else
Line 1254... Line 1029...
1254
;-------------------------------------------------------------------------------
1029
 MinRMenuW	 dd 15*6+10
Line 1255... Line 1030...
1255
;----- RButton.inc -------------------------------------------------------------
1030
end if
Line 1265... Line 1040...
1265
 RMenuOnMoving	db 'Žâªà¥¯¨âì ¨ª®­ª¨',0
1040
 RMenuOnMoving	db 'Žâªà¥¯¨âì ¨ª®­ª¨',0
1266
 RMenuAdd	db '„®¡ ¢¨âì',0
1041
 RMenuAdd	db '„®¡ ¢¨âì',0
1267
 RMenuDel	db '“¤ «¨âì',0
1042
 RMenuDel	db '“¤ «¨âì',0
1268
 RMenuProp	db '‘¢®©á⢠',0
1043
 RMenuProp	db '‘¢®©á⢠',0
1269
else
1044
else
1270
 RMenuRedrawFon db 'Refresh',0
1045
 RMenuRedrawFon db 'Redraw',0
1271
 RMenuAlign     db 'Snap to Grid',0
1046
 RMenuAlign	db 'Snap to Grid',0
1272
 RMenuOffMoving db 'Lock icons',0
1047
 RMenuOffMoving db 'Fix the icons',0
1273
 RMenuOnMoving  db 'Unlock icons',0
1048
 RMenuOnMoving	db 'Unfix the icons',0
1274
 RMenuAdd       db 'New icon',0
1049
 RMenuAdd	db 'Add',0
1275
 RMenuDel       db 'Delete',0
1050
 RMenuDel	db 'Delete',0
1276
 RMenuProp      db 'Properties',0
1051
 RMenuProp	db 'Properties',0
1277
end if
1052
end if
Line 1278... Line 1053...
1278
 
1053
 
Line 1283... Line 1058...
1283
 ErrName	db 'ˆ¬ï "rbmenu" § à¥§¥à¢¨à®¢ ­®',0
1058
 ErrName	db 'ˆ¬ï "rbmenu" § à¥§¥à¢¨à®¢ ­®',0
1284
else
1059
else
1285
 ErrRunProg	db 'Error runing program',0
1060
 ErrRunProg	db 'Error runing program',0
1286
 WarningSave	db 'Do not forget to save the changes, run the RDSave',0
1061
 WarningSave	db 'Do not forget to save the changes, run the RDSave',0
1287
 ErrNotFoundIni db 'icon.ini not found',0
1062
 ErrNotFoundIni db 'icon.ini not found',0
1288
 ErrName	db 'The name "rbmenu" is reserved',0
1063
 ErrName	db 'The name "rbmenu" reserved',0
1289
end if
1064
end if
Line 1290... Line 1065...
1290
 
1065
 
1291
;-------------------------------------------------------------------------------
1066
;-------------------------------------------------------------------------------
1292
;------- AddDlg.inc ---------------------------------------------------------------
1067
;------- AddDlg.inc ---------------------------------------------------------------
Line 1318... Line 1093...
1318
end if
1093
end if
Line 1319... Line 1094...
1319
 
1094
 
1320
;/­¥ ¬¥­ïâì ¯®«®¦¥­¨¥
1095
;/­¥ ¬¥­ïâì ¯®«®¦¥­¨¥
1321
edtName    edit_box NAME_LENGTH*6+4,70+20+IMG_SIZE,6,0FFFFFFh,06F9480h,0FFh,0h,0,NAME_LENGTH,\
1096
edtName    edit_box NAME_LENGTH*6+4,70+20+IMG_SIZE,6,0FFFFFFh,06F9480h,0FFh,0h,0,NAME_LENGTH,\
1322
		DAreaName,mouse_dd,0,0,0
1097
		DAreaName,mouse_dd,0,0,0
1323
edtExePath edit_box 281-3-20-IMG_SIZE,70+20+IMG_SIZE,26,0FFFFFFh,06F9480h,0FFh,0h,0,256,\
1098
edtExePath edit_box 281-3-20-IMG_SIZE,70+20+IMG_SIZE,26,0FFFFFFh,06F9480h,0FFh,0h,0,255,\
1324
		DAreaPath,mouse_dd,0,0,0
1099
		DAreaPath,mouse_dd,0,0,0
1325
edtParams  edit_box 295-20-IMG_SIZE,70+20+IMG_SIZE,46,0FFFFFFh,06F9480h,0FFh,0h,0,256,\
1100
edtParams  edit_box 295-20-IMG_SIZE,70+20+IMG_SIZE,46,0FFFFFFh,06F9480h,0FFh,0h,0,255,\
1326
		DAreaParams,mouse_dd,0,0,0
1101
		DAreaParams,mouse_dd,0,0,0
1327
edtIcon    edit_box 295-20-IMG_SIZE,70+20+IMG_SIZE,66,0FFFFFFh,06F9480h,0FFh,0h,0,256,\
1102
edtIcon    edit_box 295-20-IMG_SIZE,70+20+IMG_SIZE,66,0FFFFFFh,06F9480h,0FFh,0h,0,255,\
1328
		DAreaIcon,mouse_dd,0,0,0
1103
		DAreaIcon,mouse_dd,0,0,0
1329
endEdits:
1104
endEdits:
Line 1330... Line 1105...
1330
;\
1105
;\
Line 1419... Line 1194...
1419
 
1194
 
1420
MouseX		rd 1
1195
MouseX		rd 1
Line 1421... Line 1196...
1421
MouseY		rd 1
1196
MouseY		rd 1
1422
 
-
 
1423
RBSlot		rd 1
1197
 
1424
 
1198
RBSlot		rd 1
Line 1425... Line 1199...
1425
AddX		rd 1
1199
AddX		rd 1
1426
AddY		rd 1
1200
AddY		rd 1
1427
 
1201
 
1428
SelIcon 	rd 1
1202
SelIcon 	rd 1
Line 1429... Line 1203...
1429
DlgSelIcon	rd 1
1203
DlgSelIcon	rd 1
1430
slotDlgAdd	rd 1
1204
slotDlgAdd	rd 1
1431
DlgBufImg	rb IMG_SIZE*IMG_SIZE*3
1205
DlgBufImg	rb IMG_SIZE*IMG_SIZE*3
1432
 
1206
 
-
 
1207
align 4
-
 
1208
bufStdIco	rb 40
Line -... Line 1209...
-
 
1209
IconsOffs	rd 100		;â ¡«¨æ  á 㪠§ â¥«ï¬¨ ­  ª®­ªà¥â­ë¥ ¨ª®­ª¨(¤«ï ã᪮७¨ï)
Line 1433... Line 1210...
1433
 
1210
PIcoDB		rd 1
1434
bufStdIco	rb 40
1211
nLoadIcon	rd 1		;­®¬¥à ç¨â ¥¬®© ¨§ ini ¨ª®­ª¨
1435
IconsOffs	rd 100
1212
IconsID 	rd 100		;ID ¨ª®­®ª - 2 ¡ ©âa + ¡ ©â 0 + ¢ëà ¢­¨¢ î騩 ¡ ©â - áâப  á 2¬ï è¥á­ ¤æ¥â¨à¨ç­ë¬¨ æ¨äà ¬¨
1436
PIcoDB		rd 1
1213
 
Line 1437... Line 1214...
1437
 
1214
nameSection	rb 4
Line 1438... Line 1215...
1438
 
1215
 
1439
align 4
-
 
Line 1440... Line 1216...
1440
icon_count	rd 1
1216
align 4
1441
strip_file	rd 1
1217
icon_count	rd 1
1442
strip_file_size rd 1
1218
strip_file	rd 1
1443
 
1219
strip_file_size rd 1
Line 1454... Line 1230...
1454
 
1230
 
1455
MaxPage 	rd 1
1231
MaxPage 	rd 1
Line 1456... Line 1232...
1456
mouse_dd	rd 1
1232
mouse_dd	rd 1
1457
 
1233
 
1458
DAreaName	rb NAME_LENGTH+1
1234
DAreaName	rb NAME_LENGTH+1
1459
DAreaPath	rb 256+1
1235
DAreaPath	rb 255+1
Line 1460... Line 1236...
1460
DAreaParams	rb 256+1
1236
DAreaParams	rb 255+1
1461
DAreaIcon	rb 256+1
1237
DAreaIcon	rb 255+1
1462
 
1238