Subversion Repositories Kolibri OS

Rev

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

Rev 7786 Rev 7848
Line 441... Line 441...
441
	add	edx,[menu_data]       ; edx points to child's base address
441
	add	edx,[menu_data]       ; edx points to child's base address
442
	mov	[edx + x_start],cx  ; xstart for new thread
442
	mov	[edx + x_start],cx  ; xstart for new thread
443
	mov	cx,[esi + y_end]   ; y_end in cx
443
	mov	cx,[esi + y_end]   ; y_end in cx
444
	mov	bl,[esi + rows]    ; number of buttons in bl
444
	mov	bl,[esi + rows]    ; number of buttons in bl
445
	sub	bl,ah	  ; number of btn from bottom
445
	sub	bl,ah	  ; number of btn from bottom
-
 
446
 
-
 
447
	; Leency: store vars for case when attachement=top 
-
 
448
	pusha
-
 
449
	mov [prior_thread_selected_y_end], bl
-
 
450
	mcall	9,procinfo,-1
-
 
451
	m2m     [prior_thread_y], dword[procinfo+38]
-
 
452
	m2m     [prior_thread_h], dword[procinfo+46]
-
 
453
	popa
-
 
454
 
446
	movzx	eax,al
455
	movzx	eax,al
447
	mov	[buffer],eax		; thread id in buffer
456
	mov	[buffer],eax		; thread id in buffer
448
	movzx	ebx,bl
457
	movzx	ebx,bl
449
	push	edx
458
	push	edx
450
	mov	eax,BTN_HEIGHT
459
	mov	eax,BTN_HEIGHT
Line 453... Line 462...
453
	pop	edx
462
	pop	edx
454
	mov	[edx + y_end],cx    ; store y_end
463
	mov	[edx + y_end],cx    ; store y_end
455
	mov	edi,esi
464
	mov	edi,esi
456
	call	backconvert	      ; get number of this process (al)
465
	call	backconvert	      ; get number of this process (al)
457
	mov	[edx + parent],al   ; store number of parent process
466
	mov	[edx + parent],al   ; store number of parent process
-
 
467
 
458
	mov	al,[edx + rows]
468
	mov	al,[edx + rows]
459
	mov	[edx + cur_sel],al  ; clear current selected element
469
	mov	[edx + cur_sel],al  ; clear current selected element
460
	mov	[edx + prev_sel],al ; clear previous selected element
470
	mov	[edx + prev_sel],al ; clear previous selected element
461
	mov	[edx + child],0
471
	mov	[edx + child],0
Line 709... Line 719...
709
	movzx	ebx,[edi + rows]
719
	movzx	ebx,[edi + rows]
710
	imul	eax,ebx,BTN_HEIGHT	    ; eax = height of window
720
	imul	eax,ebx,BTN_HEIGHT	    ; eax = height of window
711
	movzx	ecx,[edi + y_end]
721
	movzx	ecx,[edi + y_end]
712
	cmp	[panel_attachment],byte 1
722
	cmp	[panel_attachment],byte 1
713
	je	@f
723
	je	@f
-
 
724
	
-
 
725
	
-
 
726
	;cmp	ebp,0x000 ; if this is first started thread
-
 
727
	;je .1            ; then show it at the very top
-
 
728
	
714
;	add	ecx,eax
729
	push  ebx eax
-
 
730
	; if attachement=top 
-
 
731
	; then NEW_WIN_Y = PRIOR_WIN_Y + PRIOR_WIN_H - ITEM_H + 1 - SEL_ITEM_Y
-
 
732
 
-
 
733
	mov ecx, [prior_thread_y]
-
 
734
	add ecx, [prior_thread_h]
715
;	sub	ecx,BTN_HEIGHT
735
	sub ecx, BTN_HEIGHT
-
 
736
	inc ecx
-
 
737
 
-
 
738
	xor eax, eax
-
 
739
	mov al, [prior_thread_selected_y_end]
-
 
740
	mov ebx, BTN_HEIGHT
-
 
741
	mul ebx
-
 
742
		
-
 
743
	sub ecx, eax
-
 
744
 
-
 
745
	mov	[edi + cur_sel],1 ;if attachement=top then set item=1 selected
-
 
746
	
-
 
747
	pop eax ebx
-
 
748
 
716
	jmp	.1
749
	jmp	.1
717
;--------------------------------------
750
;--------------------------------------
718
align 4
751
align 4
719
@@:	
752
@@:	
720
	sub	ecx,eax	    ; ecx = Y_START
753
	sub	ecx,eax	    ; ecx = Y_START
Line 937... Line 970...
937
.top:		dw ?
970
.top:		dw ?
938
;--------------------------------------
971
;--------------------------------------
939
sc system_colors
972
sc system_colors
940
;--------------------------------------
973
;--------------------------------------
941
last_key	db ?
974
last_key	db ?
-
 
975
prior_thread_y dd ?
-
 
976
prior_thread_h dd ?
-
 
977
prior_thread_selected_y_end db ?
942
;------------------------------------------------------------------------------
978
;------------------------------------------------------------------------------
943
align 4
979
align 4
944
menu_data	dd ?
980
menu_data	dd ?
945
;--------------------------------------
981
;--------------------------------------
946
virtual at 0	      ; PROCESSES TABLE (located at menu_data)
982
virtual at 0	      ; PROCESSES TABLE (located at menu_data)