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 |