forked from KolibriOS/kolibrios
optimization mouse code and delete 9 function and not use it now
git-svn-id: svn://kolibrios.org@830 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
parent
a4d9a318f2
commit
4533639793
@ -3,7 +3,7 @@
|
||||
|
||||
#pragma option A
|
||||
#codesize
|
||||
#include "..\..\lib\kolibri.h--"
|
||||
#include "..\lib\kolibri.h--"
|
||||
#include "use_library.h--"
|
||||
//////////////////////////////////////////////////////////////////
|
||||
//Bit mask from editbox
|
||||
@ -62,7 +62,7 @@ byte id;
|
||||
}
|
||||
|
||||
|
||||
edit_box_mouse stdcall (dword 0,0,#edit1);
|
||||
edit_box_mouse stdcall (#edit1);
|
||||
|
||||
}
|
||||
|
||||
|
Binary file not shown.
@ -30,12 +30,7 @@ cl_curs_y equ [edi+60] ;
|
||||
ed_shift_pos equ [edi+64] ;¯®«®¦¥¨¥ ªãàá®à
|
||||
ed_shift_pos_old equ [edi+68] ;áâ ஥ ¯®«®¦¥¨¥ ªãàá®à
|
||||
.draw:
|
||||
pusha
|
||||
mov eax,9
|
||||
push procinfo
|
||||
pop ebx
|
||||
or ecx,-1
|
||||
mcall
|
||||
pushad
|
||||
;--- à¨á㥬 à ¬ªã ---
|
||||
mov edi,dword [esp+36]
|
||||
call .draw_border ; ”ãªæ¨ï áâ ¡¨«ì
|
||||
@ -59,14 +54,14 @@ ed_shift_pos_old equ [edi+68] ;
|
||||
;<3B>¡é¨© ¢ë室 ¨§ editbox ¤«ï ¢á¥å äãªæ¨© ¨ ¯®áâ ®¡à ¡®â稪®¢
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
.editbox_exit:
|
||||
popa
|
||||
popad
|
||||
ret 4
|
||||
|
||||
;==========================================================
|
||||
;=== ®¡à ¡®âª ª« ¢¨ âãàë =================================
|
||||
;==========================================================
|
||||
edit_box_key:
|
||||
pusha
|
||||
pushad
|
||||
mov edi,dword [esp+36]
|
||||
test word ed_flags,ed_focus ; ¥á«¨ ¥ ¢ 䮪ãá¥, ¢ë室¨¬
|
||||
je edit_box.editbox_exit
|
||||
@ -106,18 +101,7 @@ use_work_key
|
||||
;==========================================================
|
||||
;save for stdcall ebx,esi,edi,ebp
|
||||
edit_box_mouse:
|
||||
pop eax ;opint to back
|
||||
pop edx ;scr_w
|
||||
pop ecx ;ebp ;scr_h
|
||||
push eax
|
||||
|
||||
; pop eax
|
||||
; pop edx ;scr_w
|
||||
; pop ecx ;scr_h
|
||||
; push eax ;pointer to back
|
||||
pusha
|
||||
mov ebp,ecx
|
||||
|
||||
pushad
|
||||
mov edi,dword [esp+36]
|
||||
;debug
|
||||
;----------------------------------------------------------
|
||||
@ -146,7 +130,7 @@ pusha
|
||||
;----------------------------------------------------------
|
||||
;--- ¯®«ãç ¥¬ ª®®à¤¨ âë ¬ëè¨ ®â®á¨â¥«ì® 0 â.¥ ¢á¥© ®¡« á⨠íªà
|
||||
;----------------------------------------------------------
|
||||
@@: mcall 37,0
|
||||
@@: mcall 37,1
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;”ãªæ¨ï ®¡à ¡®âª¨ ¬ë誨 ¯®«ã票¥ ª®®à¤¨ â ¨ ¯à®¢¥àª ¨å + ¢ë¤¥«¥¨ï
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
@ -162,7 +146,7 @@ use_key_func
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;”ãªæ¨¨ ¤«ï à ¡®âë á mouse
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
use_mouse_func ;scr_w
|
||||
use_mouse_func
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;Bit mask from editbox
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
@ -548,4 +532,3 @@ szVersion_op db 'version_op',0
|
||||
;;;;;;;;;;;
|
||||
align 16
|
||||
mouse_flag dd 0x0
|
||||
procinfo process_information
|
Binary file not shown.
@ -154,7 +154,7 @@ ret
|
||||
; ¢ ®¡é¥© ¡¨â®¢®© ¬ àà¨æ¥ á®áâ®ï¨ï ª®¬¯®¥â®¢ word ed_flags
|
||||
;----------------------------------------------------------
|
||||
edit_box.check_offset:
|
||||
pusha
|
||||
pushad
|
||||
mov ecx,ed_pos
|
||||
mov ebx,ed_offset
|
||||
cmp ebx,ecx
|
||||
@ -830,11 +830,10 @@ edit_box_mouse.mouse_wigwag:
|
||||
;;;;;;;;;;;;;;;;;;
|
||||
;;¯à®æ¥¤ãà ®¡à ¡®âª¨ ¯®«®¦¥¨ï ¢ë¤¥«¥®£® ⥪áâ , ª®£¤ ¯à®¨á室¨â ¢ë室 § ¯à¥¤¥«ë editbox
|
||||
;;;;;;;;;;;;;;;;;;
|
||||
mov ebx,[procinfo.box.left]
|
||||
add ebx,ed_left
|
||||
|
||||
add ebx,dword [esp+20];scr_w
|
||||
test ax,0x8000
|
||||
jnz edit_box_mouse.mleft
|
||||
|
||||
mov ebx,ed_left
|
||||
cmp eax,ebx
|
||||
jb edit_box_mouse.mleft
|
||||
|
||||
@ -920,8 +919,6 @@ edit_box_mouse.mright:
|
||||
}
|
||||
|
||||
macro use_work_mouse
|
||||
; pop edx ;scr_h
|
||||
; pop ebp ;scr_w
|
||||
;----------------------------------------------------------
|
||||
;--- € ¥ 㤥ন¢ ¥¬ «¨ ¬ë ª« ¢¨èã ¬ë誨, ¯¥à¥¬¥é ï ªãàá®à, ¢® ¢á¥ à §ë¥ áâ®à®ë?
|
||||
;----------------------------------------------------------
|
||||
@ -931,48 +928,41 @@ macro use_work_mouse
|
||||
;----------------------------------------------------------
|
||||
;--- ¯à®¢¥à塞, ¯®¯ ¤ ¥â «¨ ªãàá®à ¢ edit box -------------
|
||||
;----------------------------------------------------------
|
||||
mov ebx,[procinfo.box.top]
|
||||
add ebx,ed_top
|
||||
add ebx,dword [esp+24] ;ecx scr_h
|
||||
mov ebx,ed_top
|
||||
cmp ax,bx
|
||||
jl edit_box_mouse._blur;.mouse_end_no_focus
|
||||
|
||||
|
||||
add ebx,ed_height
|
||||
cmp ax,bx
|
||||
jg edit_box_mouse._blur;.mouse_end_no_focus
|
||||
|
||||
shr eax,16
|
||||
|
||||
mov ebx,[procinfo.box.left]
|
||||
add ebx,ed_left
|
||||
add ebx,dword [esp+20] ;edx scr_w
|
||||
|
||||
mov ebx,ed_left
|
||||
cmp ax,bx
|
||||
jl edit_box_mouse._blur;.mouse_end_no_focus
|
||||
|
||||
add ebx,ed_width
|
||||
|
||||
cmp ax,bx
|
||||
jg edit_box_mouse._blur;.mouse_end_no_focus
|
||||
jg edit_box_mouse._blur;.mouse_end_no_focus
|
||||
|
||||
;--- ¨§¬¥ï¥¬ ¯®§¨æ¨î ªãàá®à ---
|
||||
push eax
|
||||
mov ebp,ed_color
|
||||
call edit_box.clear_cursor
|
||||
pop eax
|
||||
edit_box_mouse._mvpos:
|
||||
mov ebx,dword [procinfo.box.left]
|
||||
xor edx,edx
|
||||
sub eax,ed_left
|
||||
sub eax,ebx
|
||||
;
|
||||
add ebx,dword [esp+20] ; scr_w
|
||||
sub eax,2
|
||||
;
|
||||
|
||||
mov ebx,6
|
||||
div bx
|
||||
add eax,ed_offset
|
||||
cmp eax,ed_size
|
||||
jna edit_box_mouse._mshift
|
||||
mov eax,ed_size
|
||||
|
||||
edit_box_mouse._mshift:
|
||||
;;;;;;;
|
||||
;;‘¥ªæ¨ï ®¡à ¡®âª¨ shift ¨ ¢ë¤¥«¥¨ï ¯® shift
|
||||
@ -1025,7 +1015,7 @@ edit_box_mouse.drc: call edit_box.draw_border
|
||||
; Œ ªà®á ¢ë室
|
||||
macro edit_ex
|
||||
{
|
||||
popa
|
||||
popad
|
||||
ret
|
||||
}
|
||||
macro debug
|
||||
|
@ -111,13 +111,9 @@ still: ;
|
||||
jz button
|
||||
|
||||
push dword edit1
|
||||
push 22
|
||||
push 5
|
||||
call [edit_box_mouse]
|
||||
|
||||
push dword edit2
|
||||
push 22
|
||||
push 5
|
||||
call [edit_box_mouse]
|
||||
|
||||
push dword check1
|
||||
|
Binary file not shown.
@ -1,4 +1,4 @@
|
||||
..\FASM\fasm.exe box_lib.asm
|
||||
..\FASM\fasm.exe editbox_ex.asm editbox_ex.kex
|
||||
@fasm.exe box_lib.asm
|
||||
@fasm.exe editbox_ex.asm editbox_ex.kex
|
||||
REM ..\FASM\kpack.exe editbox_ex
|
||||
..\emul\klbrinwin.exe editbox_ex.kex
|
||||
@klbrinwin.exe editbox_ex.kex
|
@ -2,7 +2,7 @@
|
||||
;;;;;;;;;;;;;;;;;;
|
||||
include 'editbox.mac' ;¬ ªà®á ª®â®àë© ¤®«¦¥ ®¡«¥£ç¨âì ¦¨§ì :) á¯¥æ¨ «ì® ¤«ï editbox
|
||||
;;;;;;;;;;;;;;;;;;
|
||||
macro use_edit_box procinfo,scr_h,scr_w
|
||||
macro use_edit_box
|
||||
{
|
||||
edit_box:
|
||||
ed_width equ [edi] ;è¨à¨ ª®¬¯®¥â
|
||||
@ -16,18 +16,18 @@ ed_text_color equ [edi+28] ;梥
|
||||
ed_max equ [edi+32] ;ª®«-¢® ᨬ¢®«®¢ ª®â®àë¥ ¬®¦® ¬ ªá¨¬ «ì® ¢¢¥áâ¨
|
||||
ed_text equ [edi+36] ;㪠§ â¥«ì ¡ãä¥à
|
||||
ed_flags equ [edi+40] ;ä« £¨
|
||||
ed_size equ [edi+42] ;ª®«-¢® ᨬ¢®«®¢
|
||||
ed_pos equ [edi+46] ;¯®§¨æ¨ï ªãàá®à
|
||||
ed_offset equ [edi+50] ;ᬥ饨¥
|
||||
cl_curs_x equ [edi+54] ;¯à¥¤ë¤ã饥 ª®®à¤¨ â ªãàá®à ¯® å
|
||||
cl_curs_y equ [edi+58] ;¯à¥¤ë¤ã饥 ª®®à¤¨ â ªãàá®à ¯® ã
|
||||
ed_shift_pos equ [edi+62] ;¯®«®¦¥¨¥ ªãàá®à
|
||||
ed_shift_pos_old equ [edi+66] ;áâ ஥ ¯®«®¦¥¨¥ ªãàá®à
|
||||
ed_size equ [edi+44] ;ª®«-¢® ᨬ¢®«®¢
|
||||
ed_pos equ [edi+48] ;¯®§¨æ¨ï ªãàá®à
|
||||
ed_offset equ [edi+52] ;ᬥ饨¥
|
||||
cl_curs_x equ [edi+56] ;¯à¥¤ë¤ã饥 ª®®à¤¨ â ªãàá®à ¯® å
|
||||
cl_curs_y equ [edi+60] ;¯à¥¤ë¤ã饥 ª®®à¤¨ â ªãàá®à ¯® ã
|
||||
ed_shift_pos equ [edi+64] ;¯®«®¦¥¨¥ ªãàá®à
|
||||
ed_shift_pos_old equ [edi+68] ;áâ ஥ ¯®«®¦¥¨¥ ªãàá®à
|
||||
;==========================================================
|
||||
;=== ¯à®æ¥¤ãà ¯à®à¨á®¢ª¨ =================================
|
||||
;==========================================================
|
||||
.draw:
|
||||
pusha
|
||||
pushad
|
||||
;--- à¨á㥬 à ¬ªã ---
|
||||
call .draw_border ; ”ãªæ¨ï áâ ¡¨«ì
|
||||
.draw_bg_cursor_text:
|
||||
@ -54,7 +54,7 @@ edit_ex
|
||||
;=== ®¡à ¡®âª ª« ¢¨ âãàë =================================
|
||||
;==========================================================
|
||||
.key:
|
||||
pusha
|
||||
pushad
|
||||
test word ed_flags,ed_focus ; ¥á«¨ ¥ ¢ 䮪ãá¥, ¢ë室¨¬
|
||||
je .editbox_exit
|
||||
test word ed_flags,ed_mouse_on
|
||||
@ -91,7 +91,7 @@ use_work_key
|
||||
;=== ®¡à ¡®âª ¬ëè¨ =======================================
|
||||
;==========================================================
|
||||
.mouse:
|
||||
pusha
|
||||
pushad
|
||||
;debug
|
||||
;----------------------------------------------------------
|
||||
;--- ¯®«ãç ¥¬ á®áâ®ï¨¥ ª®¯®ª ¬ëè¨ -----------------------
|
||||
@ -117,13 +117,14 @@ pusha
|
||||
je @f
|
||||
jmp ._blur
|
||||
;----------------------------------------------------------
|
||||
;--- ¯®«ãç ¥¬ ª®®à¤¨ âë ¬ëè¨ ®â®á¨â¥«ì® 0 â.¥ ¢á¥© ®¡« á⨠íªà
|
||||
;--- ¯®«ãç ¥¬ ª®®à¤¨ âë ¬ëè¨ ®â®á¨â¥«ì® ®ª
|
||||
;----------------------------------------------------------
|
||||
@@: mcall 37,0
|
||||
@@: mcall 37,1
|
||||
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;”ãªæ¨ï ®¡à ¡®âª¨ ¬ë誨 ¯®«ã票¥ ª®®à¤¨ â ¨ ¯à®¢¥àª ¨å + ¢ë¤¥«¥¨ï
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
use_work_mause scr_h,scr_w
|
||||
use_work_mouse
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;Ž¡é¨¥ äãªæ¨¨ ®¡à ¡®âª¨
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
@ -135,7 +136,7 @@ use_key_func
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;”ãªæ¨¨ ¤«ï à ¡®âë á mouse
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
use_mouse_func scr_w
|
||||
use_mouse_func
|
||||
}
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;Bit mask from editbox
|
||||
@ -161,12 +162,8 @@ ed_mouse_on = 100000000b
|
||||
ed_mous_adn_b= 100011000b
|
||||
ed_mouse_on_off=1111111011111111b
|
||||
ed_height=14 ; ¢ëá®â
|
||||
macro draw_edit_boxes start,_end,use_f9,procinfo
|
||||
macro draw_edit_boxes start,_end
|
||||
{
|
||||
if use_f9 eq
|
||||
else
|
||||
mcall 9,procinfo,-1
|
||||
end if
|
||||
mov edi,start
|
||||
mov ecx,((_end-start)/ed_struc_size)
|
||||
@@:
|
||||
@ -194,7 +191,7 @@ macro key_edit_boxes start,end
|
||||
add edi,ed_struc_size
|
||||
loop @b
|
||||
}
|
||||
ed_struc_size=70
|
||||
ed_struc_size=72
|
||||
struc edit_box width,left,top,color,shift_color,focus_border_color,\
|
||||
blur_border_color,text_color,max,text,flags,size,pos
|
||||
{
|
||||
@ -208,7 +205,7 @@ struc edit_box width,left,top,color,shift_color,focus_border_color,\
|
||||
.text_color dd text_color
|
||||
.max dd max
|
||||
.text dd text
|
||||
.flags dw flags+0
|
||||
.flags dd flags+0
|
||||
.size dd size+0
|
||||
.pos dd pos+0
|
||||
.offset dd 0
|
||||
@ -245,12 +242,8 @@ macro edit_boxes_set_sys_color start,end,color_table
|
||||
loop @b
|
||||
}
|
||||
|
||||
macro draw_edit_box ed_ptr,use_f9,procinfo
|
||||
macro draw_edit_box ed_ptr
|
||||
{
|
||||
if use_f9 eq
|
||||
else
|
||||
mcall 9,procinfo,-1
|
||||
end if
|
||||
mov edi,ed_ptr
|
||||
call edit_box.draw
|
||||
}
|
||||
|
@ -84,23 +84,17 @@ draw_edit_boxes -
|
||||
Передаваемые параметры
|
||||
editboxes - указатель на информационную структуру боксов
|
||||
editboxes_end - конец информационной структуры боксов
|
||||
use_f9 и procinfo - при передаче этого параметра - при перерисовки боксов будет исползована фунция
|
||||
mcall 9,procinfo,-1
|
||||
которая получает данные о окне и складывает параметры по адресу procinfo- его то же обязательно нужно передавать!!!!
|
||||
Если в программе уже используется эта функция, то не нужно указывать данные параметр!!!!
|
||||
|
||||
|
||||
Как под вариант существует макрос
|
||||
draw_edit_box - он используется если выводится один бокс
|
||||
Передаваемый параметр
|
||||
editboxes - указатель на информационную структуру боксов
|
||||
use_f9 и procinfo - при передаче этого параметра - при перерисовки боксов будет использована функция
|
||||
mcall 9,procinfo,-1
|
||||
которая получает данные о окне и складывает параметры по адресу procinfo- его то же обязательно нужно передавать!!!!
|
||||
Если в программе уже используется эта функция, то не нужно указывать данные параметр!!!!
|
||||
Больше никаких параметров передавать не нужно.
|
||||
**********
|
||||
default_box - макрос который приводит основные данные макроса по дефолту т.е. Снимает битовую матрицу выделения
|
||||
Специально для KFM :)) Нужно добавить этот код при обработчике yes or no при копировании. Если будет вести себя неадекватно - необходимо раскомментировать строки в данном макросе
|
||||
так за все время и не был использован в KFM
|
||||
|
||||
|
||||
|
||||
@ -128,7 +122,7 @@ struc edit_box width,left,top,color,focus_border_color,blur_border_color,text_co
|
||||
.text_color dd text_color
|
||||
.max dd max
|
||||
.text dd text
|
||||
.flags dw flags+0
|
||||
.flags dd flags+0
|
||||
.size dd size+0
|
||||
.pos dd 0 - где будет находиться курсор
|
||||
.offset dd 0
|
||||
|
@ -6,6 +6,7 @@ You bunny wrote .....
|
||||
Это не много фольклера, связанное, с тем, что написание программ длинные и муторный процесс, и он не обходиться без выражений подобного содержания, но не попадающего в коментарии и основной код.....
|
||||
|
||||
Теплов Алексей Юрьевич aka <Lrz>
|
||||
; <Lrz> 23.07.2008 Переписана обработка мышки без использования 9-ой функции, уменьшил примерно на 50 байт код.
|
||||
; <Lrz> 20.07.2007 Косметические улучшения в коде программы, исправлен один несущественный баг.
|
||||
; <Lrz> 18.05.2007 Улучшение понимания работы программы за счет вынеса основных функций в отдельные макросы
|
||||
; <Lrz> 14.05.2007 Использование макросов,удобочитаемось программы использование макроса mcall для вызова сис. функций
|
||||
|
@ -1,3 +1,3 @@
|
||||
@fasm editbox.asm editbox
|
||||
@fasm editbox.asm editbox.kex
|
||||
REM @kpack editbox
|
||||
@pause
|
@ -7,7 +7,7 @@
|
||||
include 'editbox.inc'
|
||||
meos_app_start
|
||||
align 4
|
||||
use_edit_box procinfo,22,5
|
||||
use_edit_box
|
||||
;Ž¡« áâì ª®¤
|
||||
code ;’®çª ¢å®¤ ¢ ¯à®£à ¬¬ã
|
||||
mcall 40,0x27 ;ãáâ ®¢¨âì ¬ áªã ¤«ï ®¦¨¤ ¥¬ëå ᮡë⨩
|
||||
@ -41,7 +41,7 @@ align 4
|
||||
draw_window: ;à¨á®¢ ¨¥ ®ª ¯à¨«®¦¥¨ï
|
||||
mcall 12,1
|
||||
mcall 0,(50*65536+390),(30*65536+200),0xb3AABBCC,0x805080DD,hed
|
||||
draw_edit_boxes editboxes,editboxes_end,use_f9,procinfo ;à¨á®¢ ¨¥ edit box'®¢
|
||||
draw_edit_boxes editboxes,editboxes_end ;à¨á®¢ ¨¥ edit box'®¢
|
||||
mcall 12,2
|
||||
ret
|
||||
;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
|
||||
@ -54,7 +54,7 @@ edit4 edit_box 16,5,70,0xffffff,0x6a9480,0,0,0,1,ed_buffer.4,ed_figure_only
|
||||
editboxes_end:
|
||||
data_of_code dd 0
|
||||
mouse_flag dd 0x0
|
||||
hed db 'EDITBOX optimization and retype <Lrz> date 20.07.2007',0
|
||||
hed db 'EDITBOX optimization and retype <Lrz> date 23.07.2008',0
|
||||
rb 256
|
||||
ed_buffer:
|
||||
;.1: rb 514;256
|
||||
@ -64,6 +64,5 @@ ed_buffer:
|
||||
;¤¢ § ¯ áëå ¡ ©â ¥®¡å®¤¨¬ë ¤«ï ⮣® çâ® ¡ë ¥ ¯¥¯¥à¥¯¨á âì á«¥¤ãî騥© ¡ ©âë, ¢ ª®æ¥ ¡ãä¥à 0
|
||||
buffer_end:
|
||||
align 16
|
||||
procinfo process_information
|
||||
meos_app_end
|
||||
udata
|
@ -818,7 +818,7 @@ edit_ex
|
||||
jmp .draw_cursor_text
|
||||
}
|
||||
|
||||
macro use_mouse_func scr_w
|
||||
macro use_mouse_func
|
||||
{
|
||||
;----------------------------------------------------------
|
||||
;--- Ž¡à ¡®âª .mouse_wigwag
|
||||
@ -829,12 +829,10 @@ macro use_mouse_func scr_w
|
||||
;;;;;;;;;;;;;;;;;;
|
||||
;;¯à®æ¥¤ãà ®¡à ¡®âª¨ ¯®«®¦¥¨ï ¢ë¤¥«¥®£® ⥪áâ , ª®£¤ ¯à®¨á室¨â ¢ë室 § ¯à¥¤¥«ë editbox
|
||||
;;;;;;;;;;;;;;;;;;
|
||||
mov ebx,dword [procinfo+34]
|
||||
add ebx,ed_left
|
||||
if scr_w eq
|
||||
else
|
||||
add ebx,dword scr_w
|
||||
end if
|
||||
test ax,0x8000
|
||||
jnz .mleft
|
||||
|
||||
mov ebx,ed_left
|
||||
cmp eax,ebx
|
||||
jb .mleft
|
||||
|
||||
@ -893,6 +891,7 @@ end if
|
||||
; popa
|
||||
; ret
|
||||
.mleft:
|
||||
|
||||
mov eax,ed_pos
|
||||
cmp eax,0
|
||||
jbe .mwigvag
|
||||
@ -919,7 +918,7 @@ end if
|
||||
jmp .mdraw
|
||||
}
|
||||
|
||||
macro use_work_mause scr_h,scr_w
|
||||
macro use_work_mouse
|
||||
;----------------------------------------------------------
|
||||
;--- € ¥ 㤥ন¢ ¥¬ «¨ ¬ë ª« ¢¨èã ¬ë誨, ¯¥à¥¬¥é ï ªãàá®à, ¢® ¢á¥ à §ë¥ áâ®à®ë?
|
||||
;----------------------------------------------------------
|
||||
@ -929,48 +928,36 @@ macro use_work_mause scr_h,scr_w
|
||||
;----------------------------------------------------------
|
||||
;--- ¯à®¢¥à塞, ¯®¯ ¤ ¥â «¨ ªãàá®à ¢ edit box -------------
|
||||
;----------------------------------------------------------
|
||||
mov ebx,dword [procinfo + 38]
|
||||
add ebx,ed_top
|
||||
if scr_h eq
|
||||
else
|
||||
add ebx,scr_h
|
||||
end if
|
||||
|
||||
mov ebx,ed_top
|
||||
cmp ax,bx
|
||||
jl ._blur;.mouse_end_no_focus
|
||||
|
||||
|
||||
add ebx,ed_height
|
||||
cmp ax,bx
|
||||
jg ._blur;.mouse_end_no_focus
|
||||
|
||||
shr eax,16
|
||||
|
||||
mov ebx,dword [procinfo + 34]
|
||||
add ebx,ed_left
|
||||
if scr_w eq
|
||||
else
|
||||
add ebx,scr_w
|
||||
end if
|
||||
mov ebx,ed_left
|
||||
cmp ax,bx
|
||||
jl ._blur;.mouse_end_no_focus
|
||||
|
||||
add ebx,ed_width
|
||||
|
||||
cmp ax,bx
|
||||
jg ._blur;.mouse_end_no_focus
|
||||
jg ._blur;.mouse_end_no_focus
|
||||
|
||||
;--- ¨§¬¥ï¥¬ ¯®§¨æ¨î ªãàá®à ---
|
||||
push eax
|
||||
mov ebp,ed_color
|
||||
call .clear_cursor
|
||||
pop eax
|
||||
._mvpos:
|
||||
mov ebx,dword [procinfo+ 34]
|
||||
|
||||
xor edx,edx
|
||||
sub eax,ed_left
|
||||
sub eax,ebx
|
||||
if scr_w eq
|
||||
else
|
||||
add ebx,scr_w
|
||||
sub eax,2
|
||||
end if
|
||||
|
||||
mov ebx,6
|
||||
div bx
|
||||
add eax,ed_offset
|
||||
@ -1029,7 +1016,7 @@ end if
|
||||
; Œ ªà®á ¢ë室
|
||||
macro edit_ex
|
||||
{
|
||||
popa
|
||||
popad
|
||||
ret
|
||||
}
|
||||
macro debug
|
||||
|
Loading…
Reference in New Issue
Block a user