forked from KolibriOS/kolibrios
Function RemoveComponent is renamed in MoveComponent.
New function is added. void ActivateTrapForSpecializedMessage (dword *control) - to activate a trap for the specialized messages. git-svn-id: svn://kolibrios.org@675 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
parent
814797a829
commit
21d1027a5a
@ -56,10 +56,10 @@ start:
|
||||
call _ksys_cofflib_getproc
|
||||
mov [resize_component],eax
|
||||
|
||||
push fnRemoveComponent
|
||||
push fnMoveComponent
|
||||
push [myexport]
|
||||
call _ksys_cofflib_getproc
|
||||
mov [remove_component],eax
|
||||
mov [move_component],eax
|
||||
|
||||
push fnCraeteButton
|
||||
push [myexport]
|
||||
@ -235,7 +235,7 @@ start:
|
||||
|
||||
;init bookmark
|
||||
mov ecx,[ColorsTable+8]
|
||||
mov [Bookmark.type],byte 10000001b
|
||||
mov [Bookmark.type],byte 10100001b
|
||||
mov [Bookmark.x],10
|
||||
mov [Bookmark.y],10
|
||||
mov [Bookmark.sizex],350
|
||||
@ -302,7 +302,7 @@ start:
|
||||
push 340;270
|
||||
push 120;250
|
||||
push ebx
|
||||
call [remove_component]
|
||||
call [move_component]
|
||||
|
||||
;send message 1 for redrawing ALL controls
|
||||
mov [Message],dword 1
|
||||
@ -540,7 +540,7 @@ text_for_text db 'Hello world from bookmark',0
|
||||
fnDestroyControl db 'DestroyControl',0
|
||||
fnSendMessage db 'SendMessage',0
|
||||
fnResizeComponent db 'ResizeComponent',0
|
||||
fnRemoveComponent db 'RemoveComponent',0
|
||||
fnMoveComponent db 'MoveComponent',0
|
||||
fnCraeteButton db 'CraeteButton',0
|
||||
fnCraeteScroller db 'CraeteScroller',0
|
||||
fnCraeteBookmark db 'CraeteBookmark',0
|
||||
@ -556,7 +556,7 @@ myexport dd 0
|
||||
destroy_control dd 0
|
||||
send_message dd 0
|
||||
resize_component dd 0
|
||||
remove_component dd 0
|
||||
move_component dd 0
|
||||
craete_button dd 0
|
||||
craete_scroller dd 0
|
||||
craete_bookmark dd 0
|
||||
|
@ -51,6 +51,11 @@ start:
|
||||
call _ksys_cofflib_getproc
|
||||
mov [send_message],eax
|
||||
|
||||
push fnActivateTrapForSpecializedMessage
|
||||
push [myexport]
|
||||
call _ksys_cofflib_getproc
|
||||
mov [activate_trap_for_specialized_message],eax
|
||||
|
||||
push fnCraeteButton
|
||||
push [myexport]
|
||||
call _ksys_cofflib_getproc
|
||||
@ -125,9 +130,11 @@ still:
|
||||
|
||||
mov ebx,[progress]
|
||||
mov eax,[PointerToControlForProgressBar]
|
||||
mov [eax+44],byte 1b
|
||||
mov [eax+44+26],ebx
|
||||
|
||||
push eax
|
||||
call [activate_trap_for_specialized_message]
|
||||
|
||||
fld [progress_step]
|
||||
fld [progress]
|
||||
fadd st0,st1
|
||||
@ -139,9 +146,11 @@ still:
|
||||
|
||||
mov [progress],0.02
|
||||
mov eax,[PointerToControlForProgressBar]
|
||||
mov [eax+44],byte 10000001b
|
||||
mov [eax+44+26],dword 0.02
|
||||
|
||||
push eax
|
||||
call [activate_trap_for_specialized_message]
|
||||
|
||||
mov [Message],dword 1
|
||||
push Message
|
||||
push Parend
|
||||
@ -345,6 +354,7 @@ fnDestroyControl db 'DestroyControl',0
|
||||
fnSendMessage db 'SendMessage',0
|
||||
fnCraeteButton db 'CraeteButton',0
|
||||
fnCraeteProgressbar db 'CraeteProgressbar',0
|
||||
fnActivateTrapForSpecializedMessage db 'ActivateTrapForSpecializedMessage',0
|
||||
|
||||
myexport dd 0
|
||||
|
||||
@ -354,6 +364,8 @@ craete_button dd 0
|
||||
|
||||
craete_progress_bar dd 0
|
||||
|
||||
activate_trap_for_specialized_message dd 0
|
||||
|
||||
PointerToControlForButtonExit dd 0
|
||||
|
||||
PointerToControlForProgressBar dd 0
|
||||
|
@ -11,6 +11,6 @@ align 4
|
||||
get_version:
|
||||
|
||||
xor eax,eax
|
||||
mov eax,dword 071014 ;07.10.13
|
||||
mov eax,dword 071119 ;07.11.19
|
||||
|
||||
ret
|
16
programs/develop/libGUI/src/activate_trap.inc
Normal file
16
programs/develop/libGUI/src/activate_trap.inc
Normal file
@ -0,0 +1,16 @@
|
||||
;*******************************************************
|
||||
;*Function activate a trap for the specialized message.*
|
||||
;*******************************************************
|
||||
|
||||
;IN
|
||||
;void ActivateTrapForSpecializedMessage(dword *control)
|
||||
|
||||
activate_trap_for_specialized_message:
|
||||
|
||||
mov ebx,[esp+4]
|
||||
xor eax,eax
|
||||
mov al,[ebx+control_header_size]
|
||||
or al,activate_trap
|
||||
mov [ebx+control_header_size],al
|
||||
|
||||
ret 4
|
@ -1,6 +1,6 @@
|
||||
|
||||
zk_redraw_all_Bookmark = 1000000b
|
||||
zk_redraw_all_Bookmark_off = 10111111b
|
||||
zk_redraw_all_Bookmark = 00100000b
|
||||
zk_redraw_all_Bookmark_off = 11011111b
|
||||
zk_init_Bookmark = 10000000b
|
||||
zk_init_Bookmark_off = 01111111b
|
||||
zk_child_button_type = 10001001b
|
||||
@ -1161,7 +1161,7 @@ SendMessageChildControlsOfBookmark:
|
||||
|
||||
mov ebx,[eax]
|
||||
mov eax,ebx
|
||||
|
||||
|
||||
mov ebx,[Bookmark.MessageForChildButton+12]
|
||||
test ebx,ebx
|
||||
jz bookmark_left_button_of_mouse_not_pressed
|
||||
|
@ -1,16 +1,16 @@
|
||||
|
||||
;button's types
|
||||
bt_check_text_type = 1b
|
||||
bt_check_picture_type = 10b
|
||||
bt_check_picture_text_type = 100b
|
||||
bt_no_draw = 1000b
|
||||
bt_check_3D_type = 10000b
|
||||
bt_check_text_type = 00000001b
|
||||
bt_check_picture_type = 00000010b
|
||||
bt_check_picture_text_type = 00000100b
|
||||
bt_no_draw = 00001000b
|
||||
bt_check_3D_type = 00010000b
|
||||
bt_check_full_redraw = 10000000b
|
||||
bt_full_redraw_off = 1111111b
|
||||
bt_full_redraw_off = 01111111b
|
||||
|
||||
;button's flags
|
||||
bt_crossing = 1b
|
||||
bt_crossing_pressing = 11b
|
||||
bt_crossing = 00000001b
|
||||
bt_crossing_pressing = 00000011b
|
||||
bt_crossing_pressing_off = 11111100b
|
||||
|
||||
bt_control_data_size = 50
|
||||
|
@ -136,6 +136,9 @@ check_box:
|
||||
no_redraw_all_check_box:
|
||||
|
||||
|
||||
cmp [eax],dword 3
|
||||
je exit_check_box
|
||||
|
||||
cmp [eax],dword 6
|
||||
jne no_mouse_check_box
|
||||
|
||||
|
@ -182,6 +182,9 @@ edit_box:
|
||||
|
||||
.no_keys_edit_box:
|
||||
|
||||
cmp [eax],dword 3
|
||||
je exit_edit_box
|
||||
|
||||
;events of mouse for EditBox
|
||||
|
||||
cmp [eax],dword 6
|
||||
|
@ -2,8 +2,8 @@
|
||||
im_control_data_size = 26
|
||||
im_redraw_all = 10000000b
|
||||
im_redraw_all_off = 01111111b
|
||||
im_special_redraw_on = 1b
|
||||
im_special_redraw_off = 11111110b
|
||||
;im_special_redraw_on = 00000001b
|
||||
;im_special_redraw_off = 11111110b
|
||||
|
||||
;****************************************************
|
||||
;*******************craete Image**********************
|
||||
@ -87,11 +87,11 @@ image:
|
||||
|
||||
xor eax,eax
|
||||
mov al,[Image.type]
|
||||
and al,im_special_redraw_on
|
||||
and al,activate_trap
|
||||
test al,al
|
||||
jz no_activate_redraw_image
|
||||
|
||||
and [Image.type],im_special_redraw_off
|
||||
and [Image.type],deactivate_trap
|
||||
or [Image.type],im_redraw_all
|
||||
no_activate_redraw_image:
|
||||
|
||||
|
@ -1,15 +1,16 @@
|
||||
;**********************************************************************
|
||||
; library of Graphics Universal Interface for Kolibri operation system
|
||||
;
|
||||
; version 071001
|
||||
; version 071119
|
||||
; 2007 year
|
||||
;
|
||||
;autors:
|
||||
;
|
||||
;andrew_programmer polynki@mail.ru
|
||||
;
|
||||
;menegement of controls : destroy_control, send_message
|
||||
;GUI components : button,scroller,Bookmark,text,image,number,progres bar
|
||||
;menegement of controls : destroy_control, send_message,move_component
|
||||
; resize_component,activate_trap_for_specialized_message
|
||||
;GUI components : button,scroller,Bookmark,text,image,number,progres_bar
|
||||
;
|
||||
;<Lrz> and Maxxxx32
|
||||
;
|
||||
@ -25,6 +26,9 @@ control_header_size = 44
|
||||
|
||||
border_width = 5
|
||||
|
||||
activate_trap = 01000000b
|
||||
deactivate_trap = 10111111b
|
||||
|
||||
section '.flat' code readable align 16
|
||||
|
||||
include 'macros.inc'
|
||||
@ -70,8 +74,11 @@ section '.flat' code readable align 16
|
||||
;function for resize GUI component
|
||||
include 'resize_component.inc'
|
||||
|
||||
;function for remove GUI component
|
||||
include 'remove_component.inc'
|
||||
;function for move GUI component
|
||||
include 'move_component.inc'
|
||||
|
||||
;function for activate trap for specialized messages
|
||||
include 'activate_trap.inc'
|
||||
|
||||
align 16
|
||||
EXPORTS:
|
||||
@ -79,7 +86,8 @@ EXPORTS:
|
||||
dd szSendMessage,send_message
|
||||
dd szVersion,get_version
|
||||
dd szResizeComponent,resize_component
|
||||
dd szRemoveComponent,remove_component
|
||||
dd szMoveComponent,move_component
|
||||
dd szActivateTrap,activate_trap_for_specialized_message
|
||||
dd szcraeteButton,craete_button
|
||||
dd szcraeteScroller,craete_scroller
|
||||
dd szcraeteBookmark,craete_Bookmark
|
||||
@ -95,7 +103,8 @@ szDestroyControl db 'DestroyControl',0
|
||||
szSendMessage db 'SendMessage',0
|
||||
szVersion db 'Version',0
|
||||
szResizeComponent db 'ResizeComponent',0
|
||||
szRemoveComponent db 'RemoveComponent',0
|
||||
szMoveComponent db 'MoveComponent',0
|
||||
szActivateTrap db 'ActivateTrapForSpecializedMessage',0
|
||||
szcraeteButton db 'CraeteButton',0
|
||||
szcraeteScroller db 'CraeteScroller',0
|
||||
szcraeteBookmark db 'CraeteBookmark',0
|
||||
|
@ -1,8 +1,8 @@
|
||||
;****************************************************
|
||||
;***************Resize of GUI component**************
|
||||
;*****************move of GUI component**************
|
||||
;****************************************************
|
||||
;IN
|
||||
;ResizeComponent(dword Parend,dword Control,dword newx,dword newy)
|
||||
;MoveComponent(dword Parend,dword Control,dword newx,dword newy)
|
||||
;newy
|
||||
;newx
|
||||
;Control
|
||||
@ -12,7 +12,7 @@
|
||||
|
||||
align 4
|
||||
|
||||
remove_component:
|
||||
move_component:
|
||||
|
||||
mov ebx,[esp+4] ;Control
|
||||
mov ecx,[esp+8] ;new x
|
@ -2,10 +2,10 @@
|
||||
nm_control_data_size = 22
|
||||
nm_redraw_all = 10000000b
|
||||
nm_redraw_off = 01111111b
|
||||
nm_special_redraw_on = 100b
|
||||
nm_special_redraw_off = 11111011b
|
||||
nm_integer_type = 10b
|
||||
nm_no_show_number = 1b
|
||||
;nm_special_redraw_on = 00000100b
|
||||
;nm_special_redraw_off = 11111011b
|
||||
nm_integer_type = 00000010b
|
||||
nm_no_show_number = 00000001b
|
||||
|
||||
;****************************************************
|
||||
;********************craete Number**********************
|
||||
@ -92,12 +92,12 @@ number:
|
||||
|
||||
xor ebx,ebx
|
||||
mov bl,[Number.type]
|
||||
and bl,nm_special_redraw_on
|
||||
and bl,activate_trap
|
||||
test bl,bl
|
||||
jz no_special_message_for_number
|
||||
|
||||
or [Number.type],nm_redraw_all
|
||||
and [Number.type],nm_special_redraw_off
|
||||
and [Number.type],deactivate_trap
|
||||
|
||||
no_special_message_for_number:
|
||||
|
||||
|
@ -2,8 +2,8 @@
|
||||
pb_control_data_size = 34
|
||||
pb_redraw_all = 10000000b
|
||||
pb_redraw_all_off = 01111111b
|
||||
pb_special_progress_on = 1b
|
||||
pb_special_progress_off = 11111110b
|
||||
;pb_special_progress_on = 00000001b
|
||||
;pb_special_progress_off = 11111110b
|
||||
|
||||
;****************************************************
|
||||
;****************craete ProgressBar********************
|
||||
@ -109,7 +109,18 @@ progress_bar:
|
||||
cmp [eax],dword 3
|
||||
jne no_special_message_progress_bar
|
||||
|
||||
or [ProgressBar.type],pb_special_progress_on
|
||||
xor eax,eax
|
||||
mov al,[ProgressBar.type]
|
||||
and al,activate_trap
|
||||
test al,al
|
||||
jz no_draw_progress_bar
|
||||
|
||||
and [ProgressBar.type],deactivate_trap
|
||||
|
||||
call draw_progress
|
||||
|
||||
no_draw_progress_bar:
|
||||
jmp exit_progress_bar
|
||||
|
||||
no_special_message_progress_bar:
|
||||
|
||||
@ -127,17 +138,6 @@ progress_bar:
|
||||
|
||||
no_draw_all_progress_bar:
|
||||
|
||||
xor eax,eax
|
||||
mov al,[ProgressBar.type]
|
||||
and al,pb_special_progress_on
|
||||
test al,al
|
||||
jz no_draw_progress_bar
|
||||
|
||||
and [ProgressBar.type],pb_special_progress_off
|
||||
|
||||
call draw_progress
|
||||
|
||||
no_draw_progress_bar:
|
||||
|
||||
exit_progress_bar:
|
||||
|
||||
|
@ -1,24 +1,25 @@
|
||||
|
||||
;scroller's flags
|
||||
sc_check_vertical = 1b
|
||||
sc_check_horizontal = 10b
|
||||
sc_check_init_child_buttons = 100b
|
||||
sc_check_3D_type = 10000b
|
||||
sc_scroll_bar_move = 100000b
|
||||
sc_active = 1000000b
|
||||
sc_check_vertical = 00000001b
|
||||
sc_check_horizontal = 00000010b
|
||||
sc_check_init_child_buttons = 00000100b
|
||||
sc_active = 00001000b
|
||||
sc_check_3D_type = 00010000b
|
||||
sc_scroll_bar_move = 00100000b
|
||||
|
||||
sc_redraw = 10000000b
|
||||
sc_redraw_off = 01111111b
|
||||
sc_full_redraw = 11100000b
|
||||
sc_full_redraw = 10101000b
|
||||
sc_scroll_bar_move_off = 11011111b
|
||||
sc_move_active_off = 10011111b
|
||||
sc_move_active_off = 11010111b
|
||||
|
||||
sc_first_child_button_pressed = 1b
|
||||
sc_first_child_button_pressed = 00000001b
|
||||
sc_first_child_button_pressed_off = 11111110b
|
||||
sc_second_child_button_pressed = 10000b
|
||||
sc_second_child_button_pressed = 00010000b
|
||||
sc_second_child_button_pressed_off = 11101111b
|
||||
|
||||
sc_control_data_size = 29
|
||||
sc_child_button_type = 10001000b
|
||||
sc_child_button_type = 10001000b
|
||||
|
||||
;****************************************************
|
||||
;******************Crate Scroller*********************
|
||||
|
@ -1,9 +1,9 @@
|
||||
|
||||
tx_control_data_size = 22
|
||||
tx_no_show_text = 1b
|
||||
tx_no_show_text = 00000001b
|
||||
tx_redraw_all = 10000000b
|
||||
tx_redraw_all_off = 01111111b
|
||||
tx_special_redraw_on = 100b
|
||||
tx_special_redraw_on = 00000100b
|
||||
tx_special_redraw_off = 11111011b
|
||||
|
||||
;****************************************************
|
||||
|
66
programs/develop/libGUI/whats new.txt
Normal file
66
programs/develop/libGUI/whats new.txt
Normal file
@ -0,0 +1,66 @@
|
||||
19.11.07
|
||||
|
||||
RUSSIAN
|
||||
|
||||
Ôóíêöèÿ RemoveComponent ïåðåèìåíîâàíà â MoveComponent.
|
||||
Äîáàâëåíà íîâàÿ ôóíêöèÿ.
|
||||
void ActivateTrapForSpecializedMessage(dword *control) - àêòèâèðîâàòü ëîâóøêó äëÿ ñïåöèàëèçèðîâàííûõ ñîîáùåíèé.
|
||||
|
||||
ENGLISH
|
||||
|
||||
Function RemoveComponent is renamed in MoveComponent.
|
||||
New function is added.
|
||||
void ActivateTrapForSpecializedMessage (dword *control) - to activate a trap for the specialized messages.
|
||||
|
||||
15.10.07
|
||||
|
||||
RUSSIAN
|
||||
|
||||
Âûøëà íîâàÿ âåðñèÿ áèáëèîòåêè libGUI.
|
||||
|
||||
×òî íîâîãî â ýòîé âåðñèè:
|
||||
|
||||
1) Ïåðåäà÷à ïàðàìåòðîâ ôóíêöèÿì áèáëèîòåêè ïåðåïèñàíà íà êîíâåíöèþ stdcall.
|
||||
|
||||
2)Òåïåðü ôóíêöèè ëèíêóþòñÿ ïî èìåíàì.
|
||||
|
||||
3)Òåïåðü, åñëè íàâåñòè ìûøü íà êîìïîíåíò è íàæàòü ëåâóþ êíîïêó ìûøè, òî âñå ñîîáùåíèÿ îò
|
||||
ìûøè ïîñûëàþòñÿ òîëüêî ýòîìó êîìïîíåíòó.Åñëè îòïóñòèòü ëåâóþ êíîïêó ìûøè, òî ñîîáùåíèÿ îò
|
||||
ìûøè âíîâü ñòàíîâÿòñÿ äîñòóïíûìè äëÿ âñåõ êîìïîíåíòîâ.
|
||||
|
||||
4) Â áèáëèîòåêó äîáàâëåíû íîâûå ôóíêöèè.
|
||||
int Version(void) - ïîëó÷èòü âåðñèþ áèáëèîòåêè. Âåðñèÿ âîçâðàùàåòñÿ â ôîðìàòå: ãîä + ìåñÿö + äåíü . Òåêóùàÿ
|
||||
áèáëèîòåêà èìååò âåðñèþ 071014.
|
||||
void RemoveComponent(void *Control,int new_x,int new_y) - ïåðåìåùàåò êîìïîíåíò â íîâûå êîîðäèíàòû.
|
||||
void ResizeComponent(void *Control,int new_sizex,int new_sizey) - èçìåíÿåò ðàçìåð êîìïîíåíòà.
|
||||
Ïðèìåðû èñïîëüçîâàíèÿ ýòèõ ôóíêöèé ñìîòðèòå â ïðèìåðå Bookmark.
|
||||
|
||||
5)Äîáàâëåí ïðèìåð ðàáîòû ñ libGUI â ÿçûêå ïðîãðàììèðîâàíèÿ C. Ýòîò ïðèìåð ÿâëÿåòñÿ ÷àñòüþ èíòåðôåéñà íàïèñàííîãî
|
||||
ìíîé äëÿ ìîåé íàó÷íîé ïðîãðàììû.
|
||||
|
||||
ENGLISH
|
||||
|
||||
14.10.07
|
||||
|
||||
The new version of library libGUI has left.
|
||||
|
||||
That new in this version:
|
||||
|
||||
1) Transfer of parameters to functions of library is copied on the convention stdcall.
|
||||
|
||||
2) Now functions link on names.
|
||||
|
||||
3)Now, if to guide the mouse on a component and to press the left button of the mouse all
|
||||
messages from the mouse are sent only to this component.If to release(let off) the left
|
||||
button of the mouse messages from the mouse again become accessible to all components.
|
||||
|
||||
4) In library new functions are added.
|
||||
int Version (void) - to receive the version of library. The version comes back in a format: year + month + day.
|
||||
The current library has version 71014.
|
||||
void RemoveComponent (void *Control, int new_x, int new_y) - moves a component to new coordinates.
|
||||
void ResizeComponent (void *Control, int new_sizex, int new_sizey) - changes the size of a component.
|
||||
Examples of use of these functions look in example Bookmark.
|
||||
|
||||
5) The example of work with libGUI in programming language C is added. This example is a part of the interface
|
||||
written by me for my scientific program.
|
||||
|
Loading…
Reference in New Issue
Block a user