Subversion Repositories Kolibri OS

Rev

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

Rev 5831 Rev 6087
Line 121... Line 121...
121
 
121
 
122
;input:
122
;input:
123
; edi = pointer to tedit struct
123
; edi = pointer to tedit struct
124
align 4
124
align 4
125
proc draw_panel_find
-
 
126
;push edi
-
 
127
;mov edi,dword[edit]
125
proc draw_panel_find
128
  cmp ted_panel_id,TED_PANEL_FIND ;if not panel
126
	cmp ted_panel_id,TED_PANEL_FIND ;if not panel
129
  jne @f
127
	jne @f
130
  push eax ebx ecx edx
-
 
131
 
-
 
132
  mov eax,13 ;ðèñîâàíèå ïðÿìîóãîëüíèêà
-
 
133
  mov ebx,TED_PANEL_WIDTH
128
	push eax ebx ecx edx
134
  mov ecx,ted_wnd_t
129
		mov ecx,ted_wnd_t
135
  shl ecx,16
130
		shl ecx,16
136
  mov cx,20
131
		mov cx,20
137
  mov edx,[sc.work]
-
 
Line 138... Line -...
138
  int 0x40
-
 
139
 
132
		mcall SF_DRAW_RECT,TED_PANEL_WIDTH,,[sc.work]
140
  mov eax,4 ;ðèñîâàíèå òåêñòà
133
 
141
  mov ebx,30*65536+25
134
		mov ebx,30*65536+25
142
  add ebx,ted_wnd_t
135
		add ebx,ted_wnd_t
143
  mov ecx,[sc.work_text]
136
		mov ecx,[sc.work_text]
144
  or ecx,0x80000000
-
 
Line 145... Line 137...
145
  mov edx,txtFindCapt
137
		or ecx,0x80000000
Line 146... Line -...
146
  int 0x40
-
 
147
 
-
 
148
  stdcall [edit_box_draw], dword edit2
138
		mcall SF_DRAW_TEXT,,,txtFindCapt
149
 
139
 
150
  mov eax,13 ;ðèñîâàíèå ïðÿìîóãîëüíèêà
140
		stdcall [edit_box_draw], edit2
151
  mov ebx,TED_PANEL_WIDTH
141
 
152
  mov ecx,ted_wnd_t
142
		mov ecx,ted_wnd_t
153
  add cx,20+15 ; 15 - height text box
143
		add cx,20+15 ; 15 - height text box
154
  shl ecx,16
144
		shl ecx,16
155
  add ecx,ted_wnd_h
145
		add ecx,ted_wnd_h
156
  mov edx,ted_scr_h
-
 
Line 157... Line -...
157
  add cx,word[edx+sb_offs_size_y]
-
 
158
  sub cx,20+15-1 ; 15 - height text box
-
 
159
  mov edx,[sc.work]
146
		mov edx,ted_scr_h
160
  int 0x40
147
		add cx,word[edx+sb_offs_size_y]
161
 
148
		sub cx,20+15-1 ; 15 - height text box
162
  mov eax,8 ;êíîïêà
149
		mcall SF_DRAW_RECT,TED_PANEL_WIDTH,,[sc.work]
163
  mov ebx,5*65536+85
-
 
164
  mov ecx,ted_wnd_t
150
 
165
  add cx,20+15+5
-
 
Line 166... Line -...
166
  shl ecx,16
-
 
167
  mov cx,20
151
		mov ecx,ted_wnd_t
168
  mov edx,201 ;button id
152
		add cx,20+15+5
169
  mov esi,[sc.work_button]
153
		shl ecx,16
170
  int 0x40
154
		mov cx,20
171
 
155
		mcall SF_DEFINE_BUTTON,5*65536+85,,201,[sc.work_button] ;201 - button id
172
  mov eax,4 ;ðèñîâàíèå òåêñòà
-
 
173
  mov ebx,15*65536+(20+15+10)
-
 
174
  add ebx,ted_wnd_t
156
 
175
  mov ecx,[sc.work_text]
157
		mov ebx,15*65536+(20+15+10)
176
  or ecx,0x80000000
158
		add ebx,ted_wnd_t
177
  mov edx,txtFindNext
159
		mov ecx,[sc.work_text]
178
  int 0x40
-
 
179
 
160
		or ecx,0x80000000
180
  pop edx ecx ebx eax
161
		mcall SF_DRAW_TEXT,,,txtFindNext
181
  jmp .end_f
162
	pop edx ecx ebx eax
182
  @@:
163
	jmp .end_f
183
  push eax edx
164
	@@:
184
    mov eax,8
-
 
185
    mov edx,201
165
	push eax edx
186
    or edx,0x80000000
166
		mov edx,201
Line 187... Line 167...
187
    int 0x40
167
		or edx,0x80000000
188
  pop edx eax
168
		mcall SF_DEFINE_BUTTON
189
  .end_f:
169
	pop edx eax
190
;pop edi
170
	.end_f:
191
  ret
-
 
192
endp
-
 
193
 
171
	ret
194
;input:
172
endp
195
; edi = pointer to tedit struct
173
 
Line 196... Line -...
196
align 4
-
 
197
proc draw_panel_syntax
-
 
198
;push edi
174
;input:
199
;mov edi,dword[edit]
175
; edi = pointer to tedit struct
200
  cmp ted_panel_id,TED_PANEL_SYNTAX ;if not panel
176
align 4
201
  jne @f
-
 
202
  pushad
177
proc draw_panel_syntax
Line 203... Line 178...
203
 
178
	cmp ted_panel_id,TED_PANEL_SYNTAX ;if not panel
204
  mov eax,13 ;ðèñîâàíèå ïðÿìîóãîëüíèêà
179
	jne @f
205
  mov ebx,TED_PANEL_WIDTH
180
	pushad
Line 224... Line 199...
224
  sub cx,20
199
	sub cx,20
225
  sub ecx,dword[tree1.box_height]
200
	sub ecx,dword[tree1.box_height]
226
  inc cx
201
	inc cx
227
  int 0x40 ;ðèñîâàíèå íèæíåãî ôîíîâîãî ïðÿìîóãîëüíèêà
202
	int 0x40 ;ðèñîâàíèå íèæíåãî ôîíîâîãî ïðÿìîóãîëüíèêà
Line 228... Line -...
228
 
-
 
229
  mov eax,8 ;êíîïêà
-
 
230
  mov ebx,5*65536+65
203
 
231
  mov ecx,ted_wnd_t
204
	mov ecx,ted_wnd_t
232
  add ecx,25
205
	add ecx,25
233
  add ecx,dword[tree1.box_height]
206
	add ecx,dword[tree1.box_height]
234
  shl ecx,16
207
	shl ecx,16
235
  mov cx,20
-
 
236
  mov edx,200 ;button id
208
	mov cx,20
237
  mov esi,[sc.work_button]
-
 
Line 238... Line -...
238
  int 0x40
-
 
239
 
209
	mcall SF_DEFINE_BUTTON,(5 shl 16)+65,,200,[sc.work_button] ;200 - button id
240
  mov eax,4 ;ðèñîâàíèå òåêñòà
210
 
241
  mov ebx,30*65536+5
211
	mov ebx,(30 shl 16)+5
242
  add ebx,ted_wnd_t
212
	add ebx,ted_wnd_t
243
  mov ecx,[sc.work_text]
213
	mov ecx,[sc.work_text]
244
  or ecx,0x80000000
-
 
Line 245... Line 214...
245
  mov edx,txtFormatCapt
214
	or ecx,0x80000000
246
  int 0x40
215
	mcall SF_DRAW_TEXT,,,txtFormatCapt
247
 
216
 
248
  mov ebx,10*65536+31
217
	mov ebx,(10 shl 16)+31
249
  add ebx,dword[tree1.box_height]
-
 
Line 250... Line 218...
250
  add ebx,ted_wnd_t
218
	add ebx,dword[tree1.box_height]
251
  mov edx,txtFormatApply
219
	add ebx,ted_wnd_t
252
  int 0x40
220
	mcall ,,,txtFormatApply
253
 
221
 
254
  popad
-
 
255
  jmp .end_f
222
	popad
256
  @@:
223
	jmp .end_f
257
    push eax edx
224
	@@:
258
      mov eax,8
225
		push eax edx
259
      mov edx,200
226
		mov edx,200
260
      or edx,0x80000000
-
 
261
      int 0x40 ;åñëè íåò ïàíåëè òî óäàëÿåì êíîïêó
227
		or edx,0x80000000
262
    pop edx eax
228
		mcall SF_DEFINE_BUTTON ;åñëè íåò ïàíåëè òî óäàëÿåì êíîïêó
Line 263... Line 229...
263
  .end_f:
229
		pop edx eax
264
;pop edi
230
	.end_f:
Line 275... Line 241...
275
  mov esi,ted_scr_w
241
	mov esi,ted_scr_w
Line 276... Line 242...
276
 
242
 
277
  m2m ted_wnd_w,[procinfo.client_box.width] ;ñòàâèì øèðèíó îêíà ðåäàêòîðà ðàâíîé øèðèíå âñåãî îêíà
243
	m2m ted_wnd_w,[procinfo.client_box.width] ;ñòàâèì øèðèíó îêíà ðåäàêòîðà ðàâíîé øèðèíå âñåãî îêíà
278
  mov eax,ted_wnd_l
244
	mov eax,ted_wnd_l
279
  sub ted_wnd_w,eax ;îòíèìàåì îòñòóï ñëåâà
245
	sub ted_wnd_w,eax ;îòíèìàåì îòñòóï ñëåâà
280
  mov eax,dword[esi+sb_offs_size_x]
-
 
281
  and eax,0xffff
246
	movzx eax,word[esi+sb_offs_size_x]
Line 282... Line 247...
282
  sub ted_wnd_w,eax ;îòíèìàåì øèðèíó âåðò. ñêðîëëèíãà
247
	sub ted_wnd_w,eax ;îòíèìàåì øèðèíó âåðò. ñêðîëëèíãà
283
 
248
 
284
  m2m ted_wnd_h,[procinfo.client_box.height] ;ñòàâèì âûñîòó îêíà ðåäàêòîðà ðàâíîé âûñîòå âñåãî îêíà
249
	m2m ted_wnd_h,[procinfo.client_box.height] ;ñòàâèì âûñîòó îêíà ðåäàêòîðà ðàâíîé âûñîòå âñåãî îêíà
285
  cmp ted_wnd_h,MIN_M_WND_H
250
	cmp ted_wnd_h,MIN_M_WND_H
286
  jg @f
251
	jg @f
Line 287... Line 252...
287
    mov ted_wnd_h,MIN_M_WND_H
252
		mov ted_wnd_h,MIN_M_WND_H
288
  @@:
-
 
289
 
253
	@@:
290
  mov ax,word[ebx+sb_offs_size_y]
254
 
291
  and eax,0xffff
255
	movzx eax,word[ebx+sb_offs_size_y]
Line 292... Line 256...
292
  sub ted_wnd_h,eax	      ;îòíèìàåì âûñîòó ãîðèç. ñêðîëëèíãà
256
	sub ted_wnd_h,eax	      ;îòíèìàåì âûñîòó ãîðèç. ñêðîëëèíãà
Line 298... Line 262...
298
  mov eax,ted_wnd_t
262
	mov eax,ted_wnd_t
299
  mov edi,dword tree1
263
	mov edi,dword tree1
300
  mov tl_box_top,eax ;=ted_wnd_t
264
	mov tl_box_top,eax ;=ted_wnd_t
301
  add tl_box_top,20
265
	add tl_box_top,20
Line 302... Line 266...
302
 
266
 
303
  mov dword[edit2.top],eax ;=ted_wnd_t
267
	mov [edit2.top],eax ;=ted_wnd_t
Line 304... Line 268...
304
  add dword[edit2.top],20
268
	add dword[edit2.top],20
305
 
269
 
Line 312... Line 276...
312
;  edx = x*2^16+y
276
;  edx = x*2^16+y
313
align 4
277
align 4
314
draw_but_icon:
278
draw_but_icon:
315
	push eax ebx
279
	push eax ebx
Line 316... Line 280...
316
 
280
 
317
	mov eax,8 ;êíîïêà
281
	mov eax,SF_DEFINE_BUTTON
318
	push ecx edx esi
282
	push ecx edx esi
319
		mov ebx,edx
283
		mov ebx,edx
320
		mov edx,ecx
284
		mov edx,ecx
321
		add edx,3
285
		add edx,3
Line 328... Line 292...
328
		add esi,20
292
		add esi,20
329
		cmp esi,[procinfo.client_box.width]
293
		cmp esi,[procinfo.client_box.width]
330
		jge @f ;êíîïêà íå âëåçëà â îêíî
294
		jge @f ;êíîïêà íå âëåçëà â îêíî
331
			mov esi,[sc.work_button]
295
			mov esi,[sc.work_button]
332
			int 0x40 ;ñòàâèì êíîïêó
296
			int 0x40 ;ñòàâèì êíîïêó
333
			mov eax,7 ;bmp
297
			mov eax,SF_PUT_IMAGE
334
		@@:
298
		@@:
335
	pop esi edx ecx
299
	pop esi edx ecx
Line 336... Line 300...
336
 
300
 
337
	cmp eax,7
301
	cmp eax,SF_PUT_IMAGE
338
	jne @f ;êíîïêà íå âëåçëà â îêíî
302
	jne @f ;êíîïêà íå âëåçëà â îêíî
339
		mov ebx,[bmp_icon]
303
		mov ebx,[bmp_icon]
340
		bt ecx,30 ;if (ecx & 0x40000000)
304
		bt ecx,30 ;if (ecx & 0x40000000)
341
		jc .gray
305
		jc .gray