Subversion Repositories Kolibri OS

Rev

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

  1. ;ª®¬¯®­¥­â OptionBox (®á­®¢ ­ ­  Checkbox)
  2. ;Ž£à®¬­ ï ¡« £®¤ à­®áâì Maxxxx32, Diamond, Heavyiron ¨ ¤à㣨¬ ¯à®£à ¬¬¨áâ ¬, ¨ ¨å ¯à®£à ¬¬ ¬, ¡¥§
  3. ;ª®â®àëå ï ­¥ ᬮ£ ¡ë ­ ¯¨á âì íâ®â ª®¬¯®­¥­â.
  4. ;21.02.2007 ¬®¤¥à­¨§ æ¨ï ¨ ¯®¤¤¥à¦ª  ¤¢ãå à §­ëå ¢ à¨ ­â®¢ á ¨á¯®«ì§®¢ ­¨¥¬ á¨á 梥⮢ ¨ áâ à®© á奬®©
  5. ;19.02.2007 ®¡é¥¥ ã«ãç襭¨¥ ª®¤ , 㬥­ì襭¨¥ à §¬¥à  ¨ ¨á¯®«ì§®¢ ­¨¥ á¨á⥬­ëå 梥⮢ ¤«ï ®â®¡à ¦¥­¨ï optionkbox
  6. ;16.02.2007 ¤ â  ᮧ¤ ­¨ï ª®¬¯®­¥­â 
  7. ;<Lrz>  - ’¥¯«®¢ €«¥ªá¥©  www.lrz.land.ru
  8.  
  9. ;§ £®«®¢®ª ¯à¨«®¦¥­¨ï
  10. use32           ; âà ­á«ïâ®à, ¨á¯®«ì§ãî騩 32 à §à來ëå ª®¬ ­¤ë
  11.     org 0x0             ; ¡ §®¢ë©  ¤à¥á ª®¤ , ¢á¥£¤  0x0
  12.     db 'MENUET01'       ; ¨¤¥­â¨ä¨ª â®à ¨á¯®«­ï¥¬®£® ä ©«  (8 ¡ ©â)
  13.     dd 0x1              ; ¢¥àá¨ï ä®à¬ â  § £®«®¢ª  ¨á¯®«­ï¥¬®£® ä ©« 
  14.     dd start            ;  ¤à¥á, ­  ª®â®àë© á¨á⥬  ¯¥à¥¤ ñâ ã¯à ¢«¥­¨¥
  15.                         ; ¯®á«¥ § £à㧪¨ ¯à¨«®¦¥­¨ï ¢ ¯ ¬ïâì
  16.     dd i_end            ; à §¬¥à ¯à¨«®¦¥­¨ï
  17.     dd (i_end+0x100) and not 3  ; Ž¡ê¥¬ ¨á¯®«ì§ã¥¬®© ¯ ¬ïâ¨, ¤«ï á⥪  ®â¢¥¤¥¬ 0å100 ¡ ©â ¨ ¢ë஢­¨¬ ­  £à­¨æã 4 ¡ ©â 
  18.     dd (i_end+0x100) and not 3  ; à á¯®«®¦¨¬ ¯®§¨æ¨î á⥪  ¢ ®¡« á⨠¯ ¬ïâ¨, áࠧ㠧  ⥫®¬ ¯à®£à ¬¬ë. ‚¥à設  á⥪  ¢ ¤¨ ¯ §®­¥ ¯ ¬ïâ¨, 㪠§ ­­®¬ ¢ëè¥
  19.     dd 0x0,0x0          ; 㪠§ â¥«ì ­  áâபã á ¯ à ¬¥âà ¬¨.
  20.                  ;    ¥á«¨ ¯®á«¥ § ¯ã᪠ ­¥ à ¢­® ­ã«î, ¯à¨«®¦¥­¨¥ ¡ë«®
  21.                  ;    § ¯ã饭® á ¯ à ¬¥âà ¬¨ ¨§ ª®¬ ­¤­®© áâப¨
  22.  
  23.                      ;    ãª § â¥«ì ­  áâபã, ¢ ª®â®àãî § ¯¨á ­ ¯ãâì,
  24.                  ;    ®âªã¤  § ¯ã饭® ¯à¨«®¦¥­¨¥
  25. ;------------------
  26.         include '..\..\..\..\macros.inc'
  27.         include 'optionbox.inc' ;¢ª«îç¨âì ä ©« opeck.inc
  28.  
  29.       version_op              ;¢ à¨ ­â, ¯à¨ ª®â®à®¬ ¨á¯®«ì§ãîâáï 梥â , ª®â®àë¥ § ¤ ¥â ¯®«ì§®¢ â¥«ì
  30. ;       version_op1             ;æ¢¥â  ¡¥àãâáï ¨§ á¨á⥬ë
  31.         use_option_box          ;¨á¯®«ì§ãï ¬ ªà®áë,¢­¥á⨠¯à®æ¥¤ãàë ¤«ï à¨á®¢ ­¨ï optionbox
  32. align 16
  33. ;Ž¡« áâì ª®¤ 
  34. start:                          ;’®çª  ¢å®¤  ¢ ¯à®£à ¬¬ã
  35.         mov  eax,48             ;¯®«ãç¨âì á¨á⥬­ë¥ 梥â 
  36.         mov  ebx,3
  37.         mov  ecx,sc
  38.         mov  edx,sizeof.system_colors
  39.         mcall
  40.  
  41.         mov     eax,40          ;ãáâ ­®¢¨âì ¬ áªã ¤«ï ®¦¨¤ ¥¬ëå ᮡë⨩
  42.         mov     ebx,0x25          ;á¨á⥬  ¡ã¤¥â ॠ£¨à®¢ âì ⮫쪮 ­  á®®¡é¥­¨¥ ® ¯¥à¥à¨á®¢ª¥,­ ¦ â  ª­®¯ª , ®¯à¥¤¥«ñ­­ ï à ­¥¥, ᮡë⨥ ®â ¬ëè¨ (çâ®-â® á«ã稫®áì - ­ ¦ â¨¥ ­  ª­®¯ªã ¬ëè¨ ¨«¨ ¯¥à¥¬¥é¥­¨¥; á¡à á뢠¥âáï ¯à¨ ¯à®ç⥭¨¨)
  43.         mcall
  44. red_win:
  45.     call draw_window            ;¯¥à¢®­ ç «ì­® ­¥®¡å®¤¨¬® ­ à¨á®¢ âì ®ª­®
  46. still:                          ;®á­®¢­®© ®¡à ¡®â稪
  47.      mov  eax,10                      ;Ž¦¨¤ âì ᮡëâ¨ï
  48.      mcall                      ;®¦¨¤ âì ᮡë⨥ ¢ â¥ç¥­¨¥ 2 ¬¨««¨á¥ªã­¤
  49.  
  50.     cmp al,0x1    ;¥á«¨ ¨§¬¥­¨«®áì ¯®«®¦¥­¨¥ ®ª­ 
  51.     jz red_win
  52.     cmp al,0x3    ;¥á«¨ ­ ¦ â  ª­®¯ª  â® ¯¥à¥©â¨
  53.     jz button
  54.      mouse_option_boxes option_boxes,option_boxes_end  ;¯à®¢¥àª  祪 ¡®ªá       
  55.     jmp still    ;¥á«¨ ­¨ç¥£® ¨§ ¯¥à¥ç¨á«¥­­®£® â® á­®¢  ¢ 横«
  56. button:
  57. ;    mov eax,17         ;¯®«ãç¨âì ¨¤¥­â¨ä¨ª â®à ­ ¦ â®© ª« ¢¨è¨
  58. ;    mcall
  59. ;    test ah,ah         ;¥á«¨ ¢ ah 0, â® ¯¥à¥©â¨ ­  ®¡à ¡®â稪 ᮡë⨩ still
  60. ;    jz  still
  61.     or eax,-1       ;¢ eax,-1 - 5 ,¡ ©â®¢ ã ­ á ¦¥ ⮫쪮 3  ¢ë©â¨
  62.     mcall ;¤ «¥¥ ¢ë¯®«­ï¥âáï ¢ë室 ¨§ ¯à®£à ¬¬ë
  63.  
  64. ;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
  65. draw_window:            ;à¨á®¢ ­¨¥ ®ª­  ¯à¨«®¦¥­¨ï
  66.     mov eax,12          ;¢ ॣ¨áâà ¢­¥á⨠§­ ç¥­¨¥ = 12
  67.     mov ebx,1           ;¯à¨á¢®¨âì 1
  68.     mcall
  69.  
  70.     xor  eax,eax                ;®¡­ã«¨âì eax
  71.     mov  ebx,50*65536+180       ;[ª®®à¤¨­ â  ¯® ®á¨ x]*65536 + [à §¬¥à ¯® ®á¨ x]
  72.     mov  ecx,30*65536+200       ;[ª®®à¤¨­ â  ¯® ®á¨ y]*65536 + [à §¬¥à ¯® ®á¨ y]
  73.     mov  edx,[sc.work]           ; color of work area RRGGBB,8->color gl
  74.     or   edx,0xb3000000
  75.     mov  edi,hed
  76.     mcall                       ;­ à¨á®¢ âì ®ª­® ¯à¨«®¦¥­¨ï
  77.  
  78. draw_option_boxes option_boxes,option_boxes_end ;à¨á®¢ ­¨¥ 祪¡®ªá®¢
  79.  
  80.     mov eax,12                  ;”ã­ªæ¨ï 12 - ­ ç âì/§ ª®­ç¨âì ¯¥à¥à¨á®¢ªã ®ª­ .
  81.     mov ebx,2                   ;®¤äã­ªæ¨ï 2 - § ª®­ç¨âì ¯¥à¥à¨á®¢ªã ®ª­ .
  82.     mcall
  83.     ret
  84.  
  85. ;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
  86. ;>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
  87. ;DATA ¤ ­­ë¥
  88. ;”®à¬ â ¤ ­­ëå 祪 ¡®ªá :
  89. ;10 - ª®®à¤¨­ â  祪 ¡®ªá  ¯® å
  90. ;30 - ª®®à¤¨­ â  祪 ¡®ªá  ¯® ã
  91. ;0
  92. ;0 - 梥â à ¬ª¨ 祪 ¡®ªá 
  93. ;0 - 梥â ⥪áâ  ­ ¤¯¨á¨
  94. ;op_text.1 - 㪠§ â¥«ì ­  ­ ç «® áâப¨
  95. ;option_group1 - íâ® ¯à¨§­ ª £à㯯ë, â.¥. íâ®â ª®¤ ¬®¦¥â ®¡à ¡ â뢠âì ¬­®£® £à㯯 ¨§ optibox
  96. ;op_text.e1-op_text.1 - ¤«¨­  áâப¨
  97. ;
  98. align 16
  99. option_boxes:
  100. ;op1 option_box1 option_group1,10,15,op_text.1,op_text.e1-op_text.1
  101. ;op2 option_box1 option_group1,10,30,op_text.2,op_text.e2-op_text.2
  102. ;op3 option_box1 option_group1,10,45,op_text.3,op_text.e3-op_text.3
  103. ;op11 option_box1 option_group2,10,80,op_text.1,op_text.e1-op_text.1
  104. ;op12 option_box1 option_group2,10,95,op_text.2,op_text.e2-op_text.2
  105. ;op13 option_box1 option_group2,10,110,op_text.3,op_text.e3-op_text.3
  106. ;
  107. ;struc option_box point_gr,left,top,color,border_color,text_color,text,text_length
  108. op1 option_box option_group1,10,15,0xffffff,0,0,op_text.1,op_text.e1-op_text.1
  109. op2 option_box option_group1,10,30,0xFFFFFF,0,0,op_text.2,op_text.e2-op_text.2
  110. op3 option_box option_group1,10,45,0xffffff,0,0,op_text.3,op_text.e3-op_text.3
  111. op11 option_box option_group2,10,80,0xffffff,0,0,op_text.1,op_text.e1-op_text.1
  112. op12 option_box option_group2,10,95,0xffffff,0,0,op_text.2,op_text.e2-op_text.2
  113. op13 option_box option_group2,10,110,0xffffff,0,0,op_text.3,op_text.e3-op_text.3
  114.  
  115. option_boxes_end:
  116.  
  117. op_text:                ; ‘®¯à®¢®¦¤ î騩 ⥪áâ ¤«ï 祪 ¡®ªá®¢
  118. .1 db 'Option_Box #1'
  119. .e1:
  120. .2 db 'Option_Box #2'
  121. .e2:
  122. .3 db 'Option_Box #3'
  123. .e3:
  124.  
  125. option_group1   dd op1  ;㪠§ â¥«¨, ®­¨ ®â®¡à ¦ îâáï ¯® 㬮«ç ­¨î, ª®£¤  ¢ë¢®¤¨âáï
  126. option_group2   dd op11 ;¯à¨«®¦¥­¨¥
  127.  
  128. hed db 'Optionbox [21.02.2007]',0       ;§ £®«®¢®ª ¯à¨«®¦¥­¨ï
  129. sc     system_colors
  130. i_end:                  ;ª®­¥æ ª®¤