Subversion Repositories Kolibri OS

Rev

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

Rev 1899 Rev 1929
Line 376... Line 376...
376
	test	dl, mouse.WINDOW_MOVE_FLAG
376
	test	dl, mouse.WINDOW_MOVE_FLAG
377
	jz	.check_resize_w
377
	jz	.check_resize_w
Line 378... Line 378...
378
 
378
 
379
	mov	eax, [mouse.state.pos.x]
379
	mov	eax, [mouse.state.pos.x]
380
	sub	eax, [mouse.active_sys_window.delta.x]
-
 
381
	and	al, 0xFC				; <<<<<<<<<<<<<<<<<<<
380
	sub	eax, [mouse.active_sys_window.delta.x]
382
	mov	[mouse.active_sys_window.new_box.left], eax
381
	mov	[mouse.active_sys_window.new_box.left], eax
383
	mov	eax, [mouse.state.pos.y]
382
	mov	eax, [mouse.state.pos.y]
384
	sub	eax, [mouse.active_sys_window.delta.y]
-
 
385
	and	al, 0xFE				; <<<<<<<<<<<<<<<<<<<
383
	sub	eax, [mouse.active_sys_window.delta.y]
Line 386... Line 384...
386
	mov	[mouse.active_sys_window.new_box.top], eax
384
	mov	[mouse.active_sys_window.new_box.top],  eax
387
 
385
 
388
	mov	eax, [mouse.active_sys_window.new_box.left]
386
	mov	eax, [mouse.active_sys_window.new_box.left]
Line 411... Line 409...
411
	test	dl, mouse.WINDOW_RESIZE_W_FLAG
409
	test	dl, mouse.WINDOW_RESIZE_W_FLAG
412
	jz	.check_resize_s
410
	jz	.check_resize_s
Line 413... Line 411...
413
 
411
 
414
	mov	eax, [mouse.state.pos.x]
412
	mov	eax, [mouse.state.pos.x]
415
	sub	eax, [mouse.active_sys_window.delta.x]
-
 
416
	and	al, 0xFC				; <<<<<<<<<<<<<<<<<<<
413
	sub	eax, [mouse.active_sys_window.delta.x]
417
	mov	[mouse.active_sys_window.new_box.left], eax
414
	mov	[mouse.active_sys_window.new_box.left], eax
418
	sub	eax, [mouse.active_sys_window.old_box.left]
415
	sub	eax, [mouse.active_sys_window.old_box.left]
Line 419... Line 416...
419
	sub	[mouse.active_sys_window.new_box.width], eax
416
	sub	[mouse.active_sys_window.new_box.width], eax
Line 435... Line 432...
435
	jz	.check_resize_e
432
	jz	.check_resize_e
Line 436... Line 433...
436
 
433
 
437
	mov	eax, [mouse.state.pos.y]
434
	mov	eax, [mouse.state.pos.y]
438
	add	eax, [mouse.active_sys_window.delta.y]
435
	add	eax, [mouse.active_sys_window.delta.y]
439
	sub	eax, [mouse.active_sys_window.old_box.top]
-
 
440
	and	al, 0xFC				; <<<<<<<<<<<<<<<<<<<
436
	sub	eax, [mouse.active_sys_window.old_box.top]
Line 441... Line 437...
441
	mov	[mouse.active_sys_window.new_box.height], eax
437
	mov	[mouse.active_sys_window.new_box.height], eax
442
 
438
 
443
	push	eax
439
	push	eax
Line 468... Line 464...
468
	jz	.call_window_handler
464
	jz	.call_window_handler
Line 469... Line 465...
469
 
465
 
470
	mov	eax, [mouse.state.pos.x]
466
	mov	eax, [mouse.state.pos.x]
471
	add	eax, [mouse.active_sys_window.delta.x]
467
	add	eax, [mouse.active_sys_window.delta.x]
472
	sub	eax, [mouse.active_sys_window.old_box.left]
-
 
473
	and	al, 0xFC				; <<<<<<<<<<<<<<<<<<<
468
	sub	eax, [mouse.active_sys_window.old_box.left]
Line 474... Line 469...
474
	mov	[mouse.active_sys_window.new_box.width], eax
469
	mov	[mouse.active_sys_window.new_box.width], eax
475
 
470
 
476
	mov	eax, [mouse.active_sys_window.new_box.width]
471
	mov	eax, [mouse.active_sys_window.new_box.width]
Line 516... Line 511...
516
;? mouse cursor within its bounds
511
;? mouse cursor within its bounds
517
;------------------------------------------------------------------------------
512
;------------------------------------------------------------------------------
518
;< esi = process slot
513
;< esi = process slot
519
;< edi = pointer to WDATA struct
514
;< edi = pointer to WDATA struct
520
;------------------------------------------------------------------------------
515
;------------------------------------------------------------------------------
521
	mov	esi, [mouse.state.pos.y]
-
 
522
        mov     edi, [mouse.state.pos.x]
516
        mov     esi, [Screen_Max_X]
523
        shr     esi, 1
517
        inc     esi
524
        shr     edi, 2
518
        imul    esi, [mouse.state.pos.y]
525
	imul	esi, [_WinMapWidth]
-
 
526
	add	edi, [_WinMapAddress]
519
        add     esi, [_WinMapAddress]
527
	add	esi, edi
520
        add     esi, [mouse.state.pos.x]
528
	movzx	esi, byte[esi]
521
	movzx	esi, byte[esi]
529
	mov	edi, esi
522
	mov	edi, esi
530
	shl	edi, 5
523
	shl	edi, 5
531
	add	edi, window_data
524
	add	edi, window_data
532
	ret
525
	ret