Subversion Repositories Kolibri OS

Rev

Blame | Last modification | View Log | Download | RSS feed

  1.  
  2. ch_struc_size=36
  3. ed_struc_size=76
  4. ch_flag_en=10b
  5.  
  6. ch_left equ [edi]    ;ª®®à¤¨­ â  ­ ç «  à¨á®¢ ­¨ï ¯® å
  7. ch_top equ [edi+2]   ;ª®®à¤¨­ â  ­ ç «  à¨á®¢ ­¨ï ¯® ã
  8. ch_text_margin equ [edi+4]      ;=4 à ááâ®ï­¨¥ ®â ¯àאַ㣮«ì­¨ª  祪 ¡®ªá  ¤® ­ ¤¯¨á¨
  9. ch_size equ [edi+8]             ;12 à §¬¥à ª¢ ¤à â  祪 ¡®ªá 
  10. ch_color equ [edi+12]           ;梥⠢­ãâਠcheckbox
  11. ch_border_color equ [edi+16] ; or [edi+4] ;梥â à ¬ª¨ checkbox ¥¥ ¬®¦­® § ¤ âì á ¬®áâ®ï⥫쭮
  12. ch_text_color equ   [edi+20];[edi+4]  ;梥â ⥪áâ 
  13. ch_text_ptr equ [edi+24]    ;㪠§ â¥«ì ­  ­ ç «® ⥪á⮢®© áâப¨
  14. ch_text_length equ [edi+28]
  15. ch_flags equ [edi+32]       ;ä« £¨
  16.  
  17. ed_width        equ [edi]               ;è¨à¨­  ª®¬¯®­¥­â 
  18. ed_left         equ [edi+4]             ;¯®«®¦¥­¨¥ ¯® ®á¨ å
  19. ed_top          equ [edi+8]             ;¯®«®¦¥­¨¥ ¯® ®á¨ ã
  20. ed_color        equ [edi+12]            ;梥â ä®­  ª®¬¯®­¥­â 
  21. shift_color     equ [edi+16]            ;=0x6a9480 ¤«ï ¯à¨¬¥à  ¢®§ì¥¬ ¦¥«¥­ë© 梥⠡®ªá 
  22. ed_focus_border_color   equ [edi+20]    ;梥â à ¬ª¨ ª®¬¯®­¥­â 
  23. ed_blur_border_color    equ [edi+24]    ;梥⠭¥  ªâ¨¢­®£® ª®¬¯®­¥­â 
  24. ed_text_color   equ [edi+28]            ;梥â ⥪áâ 
  25. ed_max          equ [edi+32]                    ;ª®«-¢® ᨬ¢®«®¢ ª®â®àë¥ ¬®¦­® ¬ ªá¨¬ «ì­® ¢¢¥áâ¨
  26. ed_text         equ [edi+36]                    ;㪠§ â¥«ì ­  ¡ãä¥à
  27. ed_mouse_variable       equ [edi+40]    ; 㪠§ â¥«ì ­  ¯¥à¥¬¥­­ãî ¤«ï ¡®ªá /£à㯯ë
  28. ed_flags        equ [edi+44]            ;ä« £¨
  29. bp_flags        equ [ebp+44]            ;¢ ­¥ª®â®àëå ¯à®æ¥¤ãà å edi ¨á¯®«ì§ã¥âáï, ¢§ ¬¥­ 㪠§ â¥«ì åà ­¨âìáï ¢ ebp
  30. ed_size equ [edi+48]                    ;ª®«-¢® ᨬ¢®«®¢
  31. bp_size equ [ebp+48]                    ;ª®«-¢® ᨬ¢¯®«®¢, ¤«ï  ¤à¥á æ¨¨ ¨á¯«ì§ã¥âáï ebp¡ edi § ­ïâ
  32. ed_pos  equ [edi+52]                    ;¯®§¨æ¨ï ªãàá®à 
  33. ed_offset       equ [edi+56]            ;ᬥ饭¨¥
  34. cl_curs_x       equ [edi+60]            ;¯à¥¤ë¤ã饥 ª®®à¤¨­ â  ªãàá®à  ¯® å
  35. cl_curs_y       equ [edi+64]            ;¯à¥¤ë¤ã饥 ª®®à¤¨­ â  ªãàá®à  ¯® ã
  36. ed_shift_pos    equ [edi+68]            ;¯®«®¦¥­¨¥ ªãàá®à 
  37. ed_shift_pos_old equ [edi+72]           ;áâ à®¥ ¯®«®¦¥­¨¥ ªãàá®à 
  38.  
  39. ed_struc_size=76
  40. struc  edit_box width,left,top,color,shift_color,focus_border_color,\
  41.        blur_border_color,text_color,max,text,mouse_variable,flags,size,pos
  42. {
  43. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  44. ;Bit mask from editbox
  45. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  46. ed_figure_only= 1000000000000000b   ;®¤­¨ ᨬ¢®«ë
  47. ed_always_focus= 100000000000000b
  48. ed_focus=                     10b   ;䮪ãá ¯à¨«®¦¥­¨ï
  49. ed_shift_on=                1000b   ;¥á«¨ ­¥ ãáâ ­®¢«¥­ -§­ ç¨â ¢¯¥à¢ë¥ ­ ¦ â shift,¥á«¨ ¡ë« ãáâ ­®¢«¥­, §­ ç¨â ¬ë 㦥 çâ® - â® ¤¥« «¨ 㤥ন¢ ï shift
  50. ed_shift_on_off=1111111111110111b
  51. ed_shift=                    100b   ;¢ª«îç ¥âáï ¯à¨ ­ ¦ â¨¨ ­  shift â.¥. ¥á«¨ ­ ¦¨¬ î
  52. ed_shift_off=   1111111111111011b
  53. ed_shift_bac=              10000b   ;¡¨â ¤«ï ®ç¨á⪨ ¢ë¤¥«¥­®£® shift â.¥. ¯à¨ ãáâ ­®¢ª¥ £®¢®à¨â çâ® ¥áâì ¢ë¤¥«¥­¨¥
  54. ed_shift_bac_cl=1111111111101111b   ;®ç¨á⪠ ¯à¨ 㤠«¥­¨¨ ¢ë¤¥«¥­¨ï
  55. ed_shift_cl=    1111111111100011b
  56. ed_shift_mcl=   1111111111111011b
  57. ed_left_fl=               100000b
  58. ed_right_fl=    1111111111011111b
  59. ed_offset_fl=            1000000b
  60. ed_offset_cl=   1111111110111111b
  61. ed_insert=              10000000b
  62. ed_insert_cl=   1111111101111111b
  63. ed_mouse_on =          100000000b
  64. ed_mous_adn_b=         100011000b
  65. ed_mouse_on_off=1111111011111111b
  66. ed_height=14 ; ¢ëá®â 
  67.  
  68. .width dd width
  69. .left dd left
  70. .top dd top
  71. .color dd color
  72. .shift_color dd shift_color
  73. .focus_border_color dd focus_border_color
  74. .blur_border_color dd blur_border_color
  75. .text_color dd text_color
  76. .max dd max
  77. .text dd text
  78. .mouse_variable dd mouse_variable
  79. .flags dd flags+0
  80. .size dd size+0
  81. .pos dd pos+0
  82. .offset dd 0
  83. .cl_curs_x dd 0
  84. .cl_curs_y dd 0
  85. .shift   dd 0
  86. .shift_old   dd 0
  87. }
  88. macro edit_boxes_set_sys_color start,end,color_table
  89. {
  90.         mov     edi,start
  91.         mov     ecx,((end-start)/ed_struc_size)
  92.         mov     esi,color_table
  93. @@:
  94.         mov     eax,dword [esi+36]
  95.         mov     ebx,dword [esi+20]
  96.         push    dword eax
  97.         pop     dword ed_focus_border_color
  98.         shr     bh,1
  99.         shr     bl,1
  100.         shr     ah,1
  101.         shr     al,1
  102.         add     ah,bh
  103.         add     al,bl
  104.         ror     eax,16
  105.         ror     ebx,16
  106.         shr     bl,1
  107.         shr     al,1
  108.         add     al,bl
  109.         ror     eax,16
  110.         mov     dword ed_blur_border_color,eax
  111.         mov     dword shift_color,eax
  112.         add     edi,ed_struc_size
  113.         loop    @b
  114. }
  115. macro get_sys_colors col_buf
  116. {
  117.         ;mov     eax,48
  118.         push    48
  119.         pop     eax
  120.         ;mov     ebx,3
  121.         push    3
  122.         pop     ebx
  123.         ;mov     ecx,col_buf
  124.         push    col_buf
  125.         pop     ecx
  126.         ;mov     edx,40
  127.         push    40
  128.         pop     edx
  129.         mcall
  130. }
  131. macro check_boxes_set_sys_color start,end,color_table
  132. {
  133. ch_left equ [edi]    ;ª®®à¤¨­ â  ­ ç «  à¨á®¢ ­¨ï ¯® å
  134. ch_top equ [edi+2]   ;ª®®à¤¨­ â  ­ ç «  à¨á®¢ ­¨ï ¯® ã
  135. ch_text_margin equ [edi+4]      ;=4 à ááâ®ï­¨¥ ®â ¯àאַ㣮«ì­¨ª  祪 ¡®ªá  ¤® ­ ¤¯¨á¨
  136. ch_size equ [edi+8]             ;12 à §¬¥à ª¢ ¤à â  祪 ¡®ªá 
  137. ch_color equ [edi+12]           ;梥⠢­ãâਠcheckbox
  138. ch_border_color equ [edi+16] ; or [edi+4] ;梥â à ¬ª¨ checkbox ¥¥ ¬®¦­® § ¤ âì á ¬®áâ®ï⥫쭮
  139. ch_text_color equ   [edi+20];[edi+4]  ;梥â ⥪áâ 
  140. ch_text_ptr equ [edi+24]    ;㪠§ â¥«ì ­  ­ ç «® ⥪á⮢®© áâப¨
  141. ch_text_length equ [edi+28]
  142. ch_flags equ [edi+32]       ;ä« £¨
  143.  
  144.  
  145. ;ch_left equ [edi]    ;ª®®à¤¨­ â  ­ ç «  à¨á®¢ ­¨ï ¯® å
  146. ;ch_top equ [edi+2]   ;ª®®à¤¨­ â  ­ ç «  à¨á®¢ ­¨ï ¯® ã
  147. ;ch_color equ [edi+4] ;梥⠢­ãâਠcheckbox
  148. ;ch_border_color equ [edi+8] ;梥â à ¬ª¨ checkbox
  149. ;ch_text_color equ [edi+12]  ;梥â ⥪áâ 
  150. ;ch_text_ptr equ [edi+16]    ;㪠§ â¥«ì ­  ­ ç «® ⥪á⮢®© áâப¨
  151. ;ch_text_length equ [edi+20] ;¤«¨­  ­ ¤¯¨á¨ (2^64 â ª®© ¤«¨­ë ¬®¦¥â ¡ëâì ⥪áâ)
  152. ;ch_flags equ [edi+24]       ;ä« £¨
  153.  
  154.         mov     edi,start
  155.         mov     ecx,((end-start)/ch_struc_size)
  156.         mov     esi,color_table
  157. @@:
  158.         push    dword [esi+32]
  159.         pop     dword ch_text_color
  160.         push    dword [esi+36]
  161.         pop     dword ch_border_color
  162.         add     edi,ch_struc_size
  163.         loop    @b
  164. }
  165. struc check_box left,top,ch_text_margin,ch_size,color,border_color,text_color,text,ch_text_length,flags
  166. {        ;áâàãªâãà  ¯ à ¬¥â஢ ¤«ï 祪 ¡®ªá 
  167. ch_flag_en=10b
  168. .left: dw left      ;+0        ;¯®«®¦¥­¨¥ ¯® å
  169. .top: dw top        ;¯®«®¦¥­¨¥ ¯® ã
  170. .ch_text_margin:  dd ch_text_margin ;à ááâ®ï­¨¥ ®â ¯àאַ㣮«ì­¨ª  祪 ¡®ªá  ¤® ­ ¤¯¨á¨
  171. .ch_size: dd ch_size ;à §¬¥à ª¢ ¤à â  祪 ¡®ªá , ¤«ï ¯à¨¬¥à  12
  172. .color: dd color    ;梥⠢­ãâਠ祪¡®ªá 
  173. .border_color: dd border_color ;梥â à ¬ª¨
  174. .text_color: dd text_color     ;梥⠭ ¤¯¨á¨
  175. .text: dd text                 ; ¤à¥á ¢ ª®¤¥ ¯à®£à ¬¬ë £¤¥ à á¯®«®¦¥­ ⥪áâ
  176. .ch_text_length: dd ch_text_length ;¤«¨­­  áâப¨ á ᨬ¢®« ¬¨
  177. .flags: dd flags+0   ; ä« £¨        
  178. }
  179. struc option_box point_gr,left,top,op_text_margin,op_size,color,border_color,text_color,text,op_text_length,flags
  180. {        ;áâàãªâãà  ¯ à ¬¥â஢ ¤«ï 祪 ¡®ªá 
  181. op_flag_en=10b
  182. .option_group: dd point_gr
  183. .left: dw left      ;+0        ;¯®«®¦¥­¨¥ ¯® å
  184. .top: dw top        ;¯®«®¦¥­¨¥ ¯® ã
  185. .ch_text_margin:  dd op_text_margin ;à ááâ®ï­¨¥ ®â ¯àאַ㣮«ì­¨ª  祪 ¡®ªá  ¤® ­ ¤¯¨á¨
  186. .ch_size: dd op_size ;à §¬¥à ª¢ ¤à â  祪 ¡®ªá , ¤«ï ¯à¨¬¥à  12
  187. .color: dd color    ;梥⠢­ãâਠ祪¡®ªá 
  188. .border_color: dd border_color ;梥â à ¬ª¨
  189. .text_color: dd text_color     ;梥⠭ ¤¯¨á¨
  190. .text: dd text                 ; ¤à¥á ¢ ª®¤¥ ¯à®£à ¬¬ë £¤¥ à á¯®«®¦¥­ ⥪áâ
  191. .ch_text_length: dd op_text_length ;¤«¨­­  áâப¨ á ᨬ¢®« ¬¨
  192. .flags: dd flags+0   ; ä« £¨        
  193. }
  194.  
  195.