From f3c6ba6e90e2c208f4b33e9673f7b36acc457d3b Mon Sep 17 00:00:00 2001 From: "Marat Zakiyanov (Mario79)" Date: Thu, 22 Oct 2009 21:29:33 +0000 Subject: [PATCH] Box_lib: 1) A small fix for OptionBox - removed unnecessary redrawing when processing mouse events. 2) Build.sh - script to compile Box_lib library under Linux git-svn-id: svn://kolibrios.org@1227 a494cfbc-eb01-0410-851d-a64ba20cac60 --- .../develop/libraries/box_lib/trunk/build.sh | 10 ++++++++++ .../libraries/box_lib/trunk/optionbox.mac | 17 ++++++----------- 2 files changed, 16 insertions(+), 11 deletions(-) create mode 100755 programs/develop/libraries/box_lib/trunk/build.sh diff --git a/programs/develop/libraries/box_lib/trunk/build.sh b/programs/develop/libraries/box_lib/trunk/build.sh new file mode 100755 index 0000000000..86d5704180 --- /dev/null +++ b/programs/develop/libraries/box_lib/trunk/build.sh @@ -0,0 +1,10 @@ +#!/bin/bash +# This script does for Linux the same as build.bat for DOS, +# it compiles the current KolibriOS applications + + mkdir bin + fasm -m 16384 box_lib.asm ./bin/box_lib.obj + exit 0 + + + diff --git a/programs/develop/libraries/box_lib/trunk/optionbox.mac b/programs/develop/libraries/box_lib/trunk/optionbox.mac index 8818549f00..340734afe0 100644 --- a/programs/develop/libraries/box_lib/trunk/optionbox.mac +++ b/programs/develop/libraries/box_lib/trunk/optionbox.mac @@ -47,7 +47,12 @@ option_check: option_box_mouse: pusha - + mcall 37,2 + test eax,eax + jnz @f + popa + ret 4 +@@: mov eax,dword [esp+36] @@: mov edi,dword [eax] test edi,edi @@ -156,16 +161,6 @@ macro use_optionbox_mouse ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; option_box_mouse_op: ;обработка мыши pusha - mov eax,37 ;будем что то делать если у нас что - нить нажато - mov ebx,2 ;внести в регистр значение 2 - mcall ;проверка не нажал ли пользователь кнопку мышки - test eax,eax ;проверка если у нас в eax=0, то установим флаг и выйдем - jnz @f ;перейти на нижнюю метку @@ - - jmp option_box_mouse_end - ;если ничего не произошло, то восстановим значения регистров из стека - ;выход -@@: mov esi,dword op_text_length ;загрузить кол-во символов в текстовой строке ;Умножение на 6 Быстрое умножение можно воспользоваться любым мз методов, но на старых Процессорах (386,486,P1)быстрее будет с инструкцией Lea ; lea esi,[eax*2+eax]