Subversion Repositories Kolibri OS

Rev

Rev 1373 | Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed

  1. ;§ £®«®¢®ª ¯à¨«®¦¥­¨ï
  2. use32                    ; âà ­á«ïâ®à, ¨á¯®«ì§ãî騩 32 à §à來ëå ª®¬ ­¤ë
  3.     org 0x0              ; ¡ §®¢ë©  ¤à¥á ª®¤ , ¢á¥£¤  0x0
  4.     db 'MENUET01'        ; ¨¤¥­â¨ä¨ª â®à ¨á¯®«­ï¥¬®£® ä ©«  (8 ¡ ©â)
  5.     dd 0x1               ; ¢¥àá¨ï ä®à¬ â  § £®«®¢ª  ¨á¯®«­ï¥¬®£® ä ©« 
  6.     dd start             ;  ¤à¥á, ­  ª®â®àë© á¨á⥬  ¯¥à¥¤ ñâ ã¯à ¢«¥­¨¥
  7.     ; ¯®á«¥ § £à㧪¨ ¯à¨«®¦¥­¨ï ¢ ¯ ¬ïâì
  8.     dd i_end             ; à §¬¥à ¯à¨«®¦¥­¨ï
  9.     dd mem               ; Ž¡ê¥¬ ¨á¯®«ì§ã¥¬®© ¯ ¬ïâ¨, ¤«ï á⥪  ®â¢¥¤¥¬ 0å100 ¡ ©â ¨ ¢ë஢­¨¬ ­  £à­¨æã 4 ¡ ©â 
  10.     dd mem               ; à á¯®«®¦¨¬ ¯®§¨æ¨î á⥪  ¢ ®¡« á⨠¯ ¬ïâ¨, áࠧ㠧  ⥫®¬ ¯à®£à ¬¬ë. ‚¥à設  á⥪  ¢ ¤¨ ¯ §®­¥ ¯ ¬ïâ¨, 㪠§ ­­®¬ ¢ëè¥
  11.     dd 0x0               ; 㪠§ â¥«ì ­  áâபã á ¯ à ¬¥âà ¬¨.
  12.     dd cur_dir_path      ; 㪠§ â¥«ì ­   ¤à¥á, ªã¤  ¯®¬¥é ¥âáï áâப , ᮤ¥à¦ é ï ¯ãâì ¤® ¯à®£à ¬¬ë ¢ ¬®¬¥­â § ¯ã᪠.
  13.  
  14. include '../../../../../macros.inc'
  15. include '../../trunk/box_lib.mac'
  16. include '../../load_lib.mac'
  17.     @use_library         ;use load lib macros
  18. start:
  19. ;universal load library/librarys
  20. sys_load_library  library_name, cur_dir_path, library_path, system_path, \
  21. err_message_found_lib, head_f_l, myimport, err_message_import, head_f_i
  22. ;if return code =-1 then exit, else nornary work
  23.     cmp      eax,-1
  24.     jz       exit
  25.     mcall    40,0x27          ;ãáâ ­®¢¨âì ¬ áªã ¤«ï ®¦¨¤ ¥¬ëå ᮡë⨩
  26.  
  27.     push     dword check1     ;¯®¤áçñâ ¤¨­ë ⥪áâ  ¤«ï Checkbox'®¢
  28.     call     [init_checkbox]
  29.  
  30.     push     dword check2
  31.     call     [init_checkbox]
  32.  
  33. red_win:
  34.     call     draw_window      ;¯¥à¢®­ ç «ì­® ­¥®¡å®¤¨¬® ­ à¨á®¢ âì ®ª­®
  35. align 4
  36. still:                        ;®á­®¢­®© ®¡à ¡®â稪
  37.     mcall    10               ;Ž¦¨¤ âì ᮡëâ¨ï
  38.     dec      eax
  39.     jz       red_win
  40.     dec      eax
  41.     jz       key
  42.     dec      eax
  43.     jz       button
  44.  
  45.     push    dword edit1
  46.     call    [edit_box_mouse]
  47.  
  48.     push    dword edit2
  49.     call    [edit_box_mouse]
  50.  
  51.     push    dword check1
  52.     call    [check_box_mouse]
  53.  
  54.     push    dword check2
  55.     call    [check_box_mouse]
  56.  
  57.     push    dword Option_boxs
  58.     call    [option_box_mouse]
  59.  
  60.     push    dword Option_boxs2
  61.     call    [option_box_mouse]
  62.  
  63.     jmp     still           ;¥á«¨ ­¨ç¥£® ¨§ ¯¥à¥ç¨á«¥­­®£® â® á­®¢  ¢ 横«
  64. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  65. button:
  66.     mcall   17             ;¯®«ãç¨âì ¨¤¥­â¨ä¨ª â®à ­ ¦ â®© ª« ¢¨è¨
  67.     test    ah,ah          ;¥á«¨ ¢ ah 0, â® ¯¥à¥©â¨ ­  ®¡à ¡®â稪 ᮡë⨩ still
  68.     jz      still
  69. exit:
  70.     mcall   -1
  71. key:
  72.     mcall   2              ;§ £à㧨¬ §­ ç¥­¨¥ 2 ¢ ॣ¨áâ®à eax ¨ ¯®«ã稬 ª®¤ ­ ¦ â®© ª« ¢¨è¨
  73.  
  74.     push    dword edit1
  75.     call    [edit_box_key]
  76.  
  77.     push    dword edit2
  78.     call    [edit_box_key]
  79.  
  80.     jmp     still
  81.  
  82. ;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
  83. align 4
  84. draw_window:                ;à¨á®¢ ­¨¥ ®ª­  ¯à¨«®¦¥­¨ï
  85.     mcall   12,1
  86.     mcall   0,(50*65536+390),(30*65536+200),0x33AABBCC,0x805080DD,hed
  87.  
  88.     push    dword edit1
  89.     call    [edit_box_draw]
  90.  
  91.     push    dword edit2
  92.     call    [edit_box_draw]
  93.  
  94.     push    dword check1
  95.     call    [check_box_draw]
  96.  
  97.     push    dword check2
  98.     call    [check_box_draw]
  99.  
  100.     push    dword Option_boxs
  101.     call    [option_box_draw]
  102.  
  103.     push    dword Option_boxs2
  104.     call    [option_box_draw]
  105.  
  106.     mcall   12,2
  107.    ret
  108. ;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
  109. ;DATA ¤ ­­ë¥
  110. ;‚ᥣ¤  ᮡ«î¤ âì ¯®á«¥¤®¢ â¥«ì­®áâì ¢ ¨¬¥­¨.
  111. system_path     db '/sys/lib/'
  112. library_name    db 'box_lib.obj',0
  113. ; …᫨ ¥áâì ¦¥« ­¨¥ ࠧꥤ¨­¨âì, â® ­ã¦­® ¨á¯®«ì§®¢ âì á«¥¤ãîé¨î ª®­áâàãªæ¨î
  114. ;system_path      db '/sys/lib/box_lib.obj',0
  115. ;... «î¡ ï ¯®á«¥¤®¢ â¥«ì­®áâì ¤àã£¨å ª®¬ ­¤ ¨ ®¯à¥¤¥«¥­¨©.
  116. ;library_name     db 'box_lib.obj',0
  117. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  118.  
  119. err_message_found_lib    db 'Sorry I cannot load library box_lib.obj',0
  120.  
  121. head_f_i:
  122. head_f_l              db 'System error',0
  123. err_message_import    db 'Error on load import library box_lib.obj',0
  124.  
  125. myimport:
  126.  
  127. edit_box_draw    dd    aEdit_box_draw
  128. edit_box_key     dd    aEdit_box_key
  129. edit_box_mouse   dd    aEdit_box_mouse
  130. version_ed       dd    aVersion_ed
  131.  
  132. init_checkbox    dd    aInit_checkbox
  133. check_box_draw   dd    aCheck_box_draw
  134. check_box_mouse  dd    aCheck_box_mouse
  135. version_ch       dd    aVersion_ch
  136.  
  137. option_box_draw  dd    aOption_box_draw
  138. option_box_mouse dd    aOption_box_mouse
  139. version_op       dd    aVersion_op
  140.  
  141.     dd    0
  142.     dd    0
  143.  
  144. aEdit_box_draw   db 'edit_box',0
  145. aEdit_box_key    db 'edit_box_key',0
  146. aEdit_box_mouse  db 'edit_box_mouse',0
  147. aVersion_ed      db 'version_ed',0
  148.  
  149. aInit_checkbox   db 'init_checkbox2',0
  150. aCheck_box_draw  db 'check_box_draw2',0
  151. aCheck_box_mouse db 'check_box_mouse2',0
  152. aVersion_ch      db 'version_ch2',0
  153.  
  154. aOption_box_draw  db 'option_box_draw',0
  155. aOption_box_mouse db 'option_box_mouse',0
  156. aVersion_op       db 'version_op',0
  157.  
  158.  
  159. check1 check_box2 (10 shl 16 + 12),(45 shl 16 + 12),5,0x80AABBCC,0,0,check_text1,ch_flag_en
  160. check2 check_box2 (10 shl 16 + 12),(60 shl 16 + 12),6,0x80AABBCC,0,0,check_text2
  161.  
  162. edit1 edit_box 350,3,5,0xffffff,0x6f9480,0,0xAABBCC,0,308,hed,mouse_dd,ed_focus,hed_end-hed-1,hed_end-hed-1
  163. edit2 edit_box 350,3,25,0xffffff,0x6a9480,0,0,0,99,ed_buffer,mouse_dd,ed_figure_only
  164.  
  165. op1  option_box option_group1,10,90,6,12,0xffffff,0,0,op_text.1,op_text.e1-op_text.1
  166. op2  option_box option_group1,10,105,6,12,0xFFFFFF,0,0,op_text.2,op_text.e2-op_text.2
  167. op3  option_box option_group1,10,120,6,12,0xffffff,0,0,op_text.3,op_text.e3-op_text.3
  168. op11 option_box option_group2,120,90,6,12,0xffffff,0,0,op_text.1,op_text.e1-op_text.1
  169. op12 option_box option_group2,120,105,6,12,0xffffff,0,0,op_text.2,op_text.e2-op_text.2
  170. op13 option_box option_group2,120,120,6,12,0xffffff,0,0,op_text.3,op_text.e3-op_text.3
  171.  
  172. option_group1    dd op1    ;㪠§ â¥«¨, ®­¨ ®â®¡à ¦ îâáï ¯® 㬮«ç ­¨î, ª®£¤  ¢ë¢®¤¨âáï
  173. option_group2    dd op12   ;¯à¨«®¦¥­¨¥
  174. Option_boxs    dd  op1,op2,op3,0
  175. Option_boxs2   dd  op11,op12,op13,0
  176.  
  177. hed db     'BOXs load from lib <Lrz> date 27.04.2009',0
  178. hed_end:
  179.  
  180. rb  256
  181. check_text1  db 'First checkbox',0
  182. check_text2 db 'Second checkbox',0
  183.  
  184. op_text:        ; ‘®¯à®¢®¦¤ î騩 ⥪áâ ¤«ï Optionbox' 
  185. .1 db 'Option_Box #1'
  186. .e1:
  187. .2 db 'Option_Box #2'
  188. .e2:
  189. .3 db 'Option_Box #3'
  190. .e3:
  191. ed_buffer    rb 100
  192. ;-----------------------
  193. ;sc      system_colors
  194.  
  195. mouse_dd        rd 1
  196. p_info    process_information
  197. cur_dir_path    rb 4096
  198. library_path    rb 4096
  199. i_end:
  200. rb 1024
  201. mem: