Subversion Repositories Kolibri OS

Rev

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

Rev 280 Rev 297
Line -... Line 1...
-
 
1
;POP_WIDTH   = (popup_text.max_title+popup_text.max_accel+6)*6
1
;POP_WIDTH   = (popup_text.max_title+popup_text.max_accel+6)*6
2
POP_IHEIGHT = 16
2
POP_IHEIGHT = 16
3
;POP_HEIGHT  = popup_text.cnt_item*POP_IHEIGHT+popup_text.cnt_sep*4+4
3
;POP_HEIGHT  = popup_text.cnt_item*POP_IHEIGHT+popup_text.cnt_sep*4+4
4
 
Line 4... Line 5...
4
 
5
popup_thread_start:
Line 42... Line 43...
42
	cmp	eax,6
43
	je	mouse_popup
43
	je	mouse_popup
44
	cmp	eax,7
44
	cmp	eax,7
45
	jne	still_popup
45
	jne	still_popup
46
 
Line 46... Line 47...
46
 
47
	mov	ebp,[POPUP_STACK]
47
	mov	ebp,[POPUP_STACK];-32+12+4]
48
	mov	dword[POPUP_STACK-32+4],8
48
	mov	dword[POPUP_STACK-32+4],8
49
	movzx	ebx,[ebp+POPUP.x]
49
	movzx	ebx,[ebp+POPUP.x]
50
	movzx	ecx,[ebp+POPUP.y]
50
	movzx	ecx,[ebp+POPUP.y]
51
	movzx	edx,[ebp+POPUP.width]
51
	movzx	edx,[ebp+POPUP.width]
52
	movzx	esi,[ebp+POPUP.height]
52
	movzx	esi,[ebp+POPUP.height]
53
	mcall	67
53
	mcall	67
-
 
54
;       call    draw_popup_wnd
54
	jmp	still_popup
Line 55... Line 55...
55
	jmp	still_popup
55
 
56
 
56
  mouse_popup:
57
  mouse_popup:
57
	mov	ecx,mst2
Line 73... Line 73...
73
	or	al,al
73
	js	close_popup
74
	js	close_popup
74
	jz	still_popup
75
	jz	still_popup
75
	mov	ebx,[ebp+POPUP.actions]
76
	mov	ebx,[ebp+POPUP.actions]
76
	mov	[just_from_popup],1
77
	mov	[just_from_popup],1
77
	call	dword[ebx+eax*4-4]
78
	call	dword[ebx+eax*4-4];dword[popup_text.actions+eax*4-4]
78
	inc	[just_from_popup]
79
	inc	[just_from_popup]
79
	jmp	close_popup
80
	jmp	close_popup
80
 
Line 81... Line 81...
81
 
81
  check_popup_move:
82
  check_popup_move:
82
	mov	eax,[pi_cur]
Line 96... Line 96...
96
	mcall	17
96
 
Line 97... Line 97...
97
 
97
  close_popup:
98
  close_popup:
98
	mcall	18,3,[p_info.PID]
99
	mcall	18,3,[p_info.PID]
99
	mov	[popup_active],0
-
 
100
	mov	[mi_cur],0
100
	mov	[popup_active],0
101
	mcall	-1
Line 101... Line 102...
101
	mcall	-1
102
 
102
 
103
func draw_popup_wnd
Line 103... Line -...
103
func draw_popup_wnd
-
 
104
	mcall	12,1
-
 
105
 
-
 
106
;       mcall   48,3,sc,sizeof.system_colors
-
 
107
;       call    calc_3d_colors
-
 
108
 
-
 
109
;        mov     ebx,[p_pos]
-
 
110
;        mov     ecx,[p_pos-2]
104
	mcall	12,1
111
;        mov     bx,POP_WIDTH
105
 
112
;        mov     cx,POP_HEIGHT
106
	mov	ebx,dword[ebp+POPUP.x-2]
113
	mov	ebx,dword[ebp+POPUP.x-2]
107
	mov	bx,[ebp+POPUP.width]
114
	mov	bx,[ebp+POPUP.width]
108
	mov	ecx,dword[ebp+POPUP.y-2]
Line 115... Line 109...
115
	mov	ecx,dword[ebp+POPUP.y-2]
109
	mov	cx,[ebp+POPUP.height]
116
	mov	cx,[ebp+POPUP.height]
110
	mcall	0,,,0x01000000,0x01000000
117
	mcall	0,,,0x01000000,0x01000000
111
 
118
 
112
	movzx	ebx,bx
Line 119... Line 113...
119
	movzx	ebx,bx
113
	movzx	ecx,cx
120
	movzx	ecx,cx
-
 
121
	pushd	0 0 ebx ecx ;POP_WIDTH POP_HEIGHT
-
 
122
	call	draw_3d_panel
-
 
123
 
-
 
124
	mov	[pi_sel],0
-
 
125
;        mcall   37,1
-
 
126
;        movsx   ebx,ax
114
	pushd	0 0 ebx ecx
127
;        sar     eax,16
115
	call	draw_3d_panel
128
;        mov     [c_pos.x],eax
116
 
129
;        mov     [c_pos.y],ebx
117
	mov	[pi_sel],0
130
 
118
	mov	eax,4
131
	mov	eax,4
119
	mpack	ebx,3*6,3
132
	mpack	ebx,3*6,3
120
	mov	ecx,[sc.work_text]
133
	mov	ecx,[sc.work_text]
121
	mov	edx,[ebp+POPUP.data]
134
	mov	edx,[ebp+POPUP.data];popup_text.data
122
    @@: inc	[pi_sel]
Line 141... Line 129...
141
	mov	ecx,ebx
129
	shl	ecx,16
142
	shl	ecx,16
130
	mov	cx,bx
143
	mov	cx,bx
131
	movzx	ebx,[ebp+POPUP.width]
144
	movzx	ebx,[ebp+POPUP.width]
132
	add	ebx,0x00010000-1
145
	add	ebx,0x00010000-1
133
	add	ecx,0x00010001
146
;       mpack   ebx,1,POP_WIDTH-1
-
 
147
	add	ecx,0x00010001
134
	mcall	38,,,[cl_3d_inset]
148
	mcall	38,,,[cl_3d_inset];0x006382BF;[sc.work_text]
135
	add	ecx,0x00010001
149
	add	ecx,0x00010001
136
	mcall	,,,[cl_3d_outset]
150
	mcall	,,,[cl_3d_outset];0x00FFFFFF
137
	popad
151
	popad
138
	add	ebx,4
152
	add	ebx,4
139
	jmp	.lp2
153
	jmp	.lp2
140
  .lp1: mov	edi,[pi_sel]
154
  .lp1: mov	edi,[pi_sel]
141
	cmp	edi,[pi_cur]
155
	cmp	edi,[pi_cur]
142
	jne	.lp3
156
	jne	.lp3
143
	test	byte[ebp+edi-1],0x01
157
	test	byte[ebp+edi-1],0x01 ; byte[popup_text+edi-1],0x01
144
	jz	.lp3
158
	jz	.lp3
145
	pushad
159
	pushad
146
	movzx	ecx,bx
160
	movzx	ecx,bx
147
	shl	ecx,16
161
	shl	ecx,16
148
	mov	cl,POP_IHEIGHT-1
162
	mov	cl,POP_IHEIGHT-1
149
	movzx	ebx,[ebp+POPUP.width]
163
	movzx	ebx,[ebp+POPUP.width]
150
	add	ebx,0x00010000-1
164
	add	ebx,0x00010000-1
151
	mcall	13,,,[cl_3d_pushed]
165
;       mpack   ebx,1,POP_WIDTH-1
-
 
166
	mcall	13,,,[cl_3d_pushed];0x00A3B8CC
152
	rol	ecx,16
167
	rol	ecx,16
153
	mov	ax,cx
168
	mov	ax,cx
154
	rol	ecx,16
169
	rol	ecx,16
155
	mov	cx,ax
170
	mov	cx,ax
156
	mcall	38,,,[cl_3d_inset]
171
	mcall	38,,,[cl_3d_inset];0x006382BF
157
	add	ecx,(POP_IHEIGHT-1)*65536+POP_IHEIGHT-1
172
	add	ecx,(POP_IHEIGHT-1)*65536+POP_IHEIGHT-1
158
	mcall	,,,[cl_3d_outset]
173
	mcall	,,,[cl_3d_outset];0x00FFFFFF
159
	popad
174
	popad
160
  .lp3: add	ebx,(POP_IHEIGHT-7)/2
175
  .lp3: add	ebx,(POP_IHEIGHT-7)/2
161
 
Line 176... Line 162...
176
 
162
	pushad
177
	pushad
163
	test	byte[ebp+edi-1],0x02
Line 183... Line 169...
183
	add	ecx,2
169
	mov	edx,[sc.work_text]
184
	mov	edx,[sc.work_text]
170
	call	draw_check
185
	call	draw_check
171
  .lp8: popad
186
  .lp8: popad
172
 
Line 187... Line 173...
187
 
173
	mov	ecx,[sc.work_text]
188
	mov	ecx,[sc.work_text];0x00000000
174
	test	byte[ebp+edi-1],0x01
189
	test	byte[ebp+edi-1],0x01 ; byte[popup_text+edi-1],0x01
175
	jnz	.lp5
190
	jnz	.lp5
176
	add	ebx,0x00010001
191
	add	ebx,0x00010001
177
	mov	ecx,[cl_3d_outset]
192
	mov	ecx,[cl_3d_outset]
178
	mcall
193
	mcall
179
	sub	ebx,0x00010001
194
	sub	ebx,0x00010001
180
	mov	ecx,[cl_3d_inset]
195
	mov	ecx,[cl_3d_inset]
-
 
196
	;mov     ecx,[sc.grab_text];0x007F7F7F
181
  .lp5: mcall
197
  .lp5: mcall
182
	push	ebx
198
	push	ebx
183
	add	edx,esi
199
	add	edx,esi
184
	inc	edx
200
	inc	edx
185
	movzx	esi,byte[edx-1]
201
	movzx	esi,byte[edx-1]
186
	add	ebx,[ebp+POPUP.acc_ofs]
202
	add	ebx,[ebp+POPUP.acc_ofs] ; ((popup_text.max_title+2)*6-1)*65536
187
	cmp	edi,[pi_cur]
203
	cmp	edi,[pi_cur]
188
	je	.lp4
204
	je	.lp4
189
	mov	ecx,[cl_3d_inset]
205
	mov	ecx,[cl_3d_inset];0x006382BF
190
  .lp4: test	byte[ebp+edi-1],0x01
206
  .lp4: test	byte[ebp+edi-1],0x01 ; byte[popup_text+edi-1],0x01
191
	jnz	.lp6
207
	jnz	.lp6
192
	add	ebx,0x00010001
208
	add	ebx,0x00010001
193
	mov	ecx,[cl_3d_outset]
209
	mov	ecx,[cl_3d_outset]
194
	mcall
210
	mcall
195
	sub	ebx,0x00010001
211
	sub	ebx,0x00010001
196
	mov	ecx,[cl_3d_inset]
212
	mov	ecx,[cl_3d_inset]
-
 
213
	;mov     ecx,[sc.grab_text];0x007F7F7F
197
  .lp6: mcall
214
  .lp6: mcall
198
	pop	ebx
215
	pop	ebx
199
	add	ebx,POP_IHEIGHT-(POP_IHEIGHT-7)/2
216
	add	ebx,POP_IHEIGHT-(POP_IHEIGHT-7)/2
200
  .lp2: add	edx,esi
217
  .lp2: add	edx,esi
201
	cmp	byte[edx],0
Line 269... Line 253...
269
  .run:
253
	ret
270
	ret
254
  .recode:
271
  .recode:
255
	ret
272
	ret
256
  .options:
273
  .options:
257
	;mov     word[mm.Options+0],0
274
	mov	word[mm.Options+0],0
258
	mov	byte[mm.Options+5],0
275
	mov	byte[mm.Options+5],0
259
	or	byte[mm.Options+2],0x02
276
	or	byte[mm.Options+2],0x02
260
	test	[options],OPTS_SECURESEL
277
	test	[options],OPTS_SECURESEL
261
	jnz	@f
278
	jnz	@f
262
	and	byte[mm.Options+2],0xFD
279
	and	byte[mm.Options+2],0xFD
263
    @@: or	byte[mm.Options+3],0x02