Subversion Repositories Kolibri OS

Rev

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

  1. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  2. ;Basic macros for use EditBox                             ;
  3. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  4. ed_width        equ [edi]               ;è¨à¨­  ª®¬¯®­¥­â 
  5. ed_left         equ [edi+4]             ;¯®«®¦¥­¨¥ ¯® ®á¨ å
  6. ed_top          equ [edi+8]             ;¯®«®¦¥­¨¥ ¯® ®á¨ ã
  7. ed_color        equ [edi+12]            ;梥â ä®­  ª®¬¯®­¥­â 
  8. shift_color     equ [edi+16]            ;=0x6a9480 ¤«ï ¯à¨¬¥à  ¢®§ì¥¬ ¦¥«¥­ë© 梥⠡®ªá 
  9. ed_focus_border_color   equ [edi+20]    ;梥â à ¬ª¨ ª®¬¯®­¥­â 
  10. ed_blur_border_color    equ [edi+24]    ;梥⠭¥  ªâ¨¢­®£® ª®¬¯®­¥­â 
  11. ed_text_color   equ [edi+28]            ;梥â ⥪áâ 
  12. ed_max          equ [edi+32]                    ;ª®«-¢® ᨬ¢®«®¢ ª®â®àë¥ ¬®¦­® ¬ ªá¨¬ «ì­® ¢¢¥áâ¨
  13. ed_text         equ [edi+36]                    ;㪠§ â¥«ì ­  ¡ãä¥à
  14. ed_mouse_variable       equ [edi+40]    ; 㪠§ â¥«ì ­  ¯¥à¥¬¥­­ãî ¤«ï ¡®ªá /£à㯯ë
  15. ed_flags        equ [edi+44]            ;ä« £¨
  16. bp_flags        equ [ebp+44]            ;¢ ­¥ª®â®àëå ¯à®æ¥¤ãà å edi ¨á¯®«ì§ã¥âáï, ¢§ ¬¥­ 㪠§ â¥«ì åà ­¨âìáï ¢ ebp
  17. ed_size equ [edi+48]                    ;ª®«-¢® ᨬ¢®«®¢
  18. bp_size equ [ebp+48]                    ;ª®«-¢® ᨬ¢¯®«®¢, ¤«ï  ¤à¥á æ¨¨ ¨á¯«ì§ã¥âáï ebp¡ edi § ­ïâ
  19. ed_pos  equ [edi+52]                    ;¯®§¨æ¨ï ªãàá®à 
  20. ed_offset       equ [edi+56]            ;ᬥ饭¨¥
  21. cl_curs_x       equ [edi+60]            ;¯à¥¤ë¤ã饥 ª®®à¤¨­ â  ªãàá®à  ¯® å
  22. cl_curs_y       equ [edi+64]            ;¯à¥¤ë¤ã饥 ª®®à¤¨­ â  ªãàá®à  ¯® ã
  23. ed_shift_pos    equ [edi+68]            ;¯®«®¦¥­¨¥ ªãàá®à 
  24. ed_shift_pos_old equ [edi+72]           ;áâ à®¥ ¯®«®¦¥­¨¥ ªãàá®à 
  25.  
  26. ed_struc_size=76
  27.  
  28. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  29. ;Bit mask from editbox
  30. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  31. ed_figure_only= 1000000000000000b   ;®¤­¨ ᨬ¢®«ë
  32. ed_always_focus= 100000000000000b
  33. ed_focus=                     10b   ;䮪ãá ¯à¨«®¦¥­¨ï
  34. ed_shift_on=                1000b   ;¥á«¨ ­¥ ãáâ ­®¢«¥­ -§­ ç¨â ¢¯¥à¢ë¥ ­ ¦ â shift,¥á«¨ ¡ë« ãáâ ­®¢«¥­, §­ ç¨â ¬ë 㦥 çâ® - â® ¤¥« «¨ 㤥ন¢ ï shift
  35. ed_shift_on_off=1111111111110111b
  36. ed_shift=                    100b   ;¢ª«îç ¥âáï ¯à¨ ­ ¦ â¨¨ ­  shift â.¥. ¥á«¨ ­ ¦¨¬ î
  37. ed_shift_off=   1111111111111011b
  38. ed_shift_bac=              10000b   ;¡¨â ¤«ï ®ç¨á⪨ ¢ë¤¥«¥­®£® shift â.¥. ¯à¨ ãáâ ­®¢ª¥ £®¢®à¨â çâ® ¥áâì ¢ë¤¥«¥­¨¥
  39. ed_shift_bac_cl=1111111111101111b   ;®ç¨á⪠ ¯à¨ 㤠«¥­¨¨ ¢ë¤¥«¥­¨ï
  40. ed_shift_cl=    1111111111100011b
  41. ed_shift_mcl=   1111111111111011b
  42. ed_left_fl=               100000b
  43. ed_right_fl=    1111111111011111b
  44. ed_offset_fl=            1000000b
  45. ed_offset_cl=   1111111110111111b
  46. ed_insert=              10000000b
  47. ed_insert_cl=   1111111101111111b
  48. ed_mouse_on =          100000000b
  49. ed_mous_adn_b=         100011000b
  50. ed_mouse_on_off=1111111011111111b
  51. ed_height=14 ; ¢ëá®â 
  52.  
  53. struc  edit_box width,left,top,color,shift_color,focus_border_color,\
  54.        blur_border_color,text_color,max,text,mouse_variable,flags,size,pos
  55. {
  56. .width dd width
  57. .left  dd left
  58. .top   dd top
  59. .color dd color
  60. .shift_color dd shift_color
  61. .focus_border_color dd focus_border_color
  62. .blur_border_color  dd blur_border_color
  63. .text_color dd text_color
  64. .max  dd max
  65. .text dd text
  66. .mouse_variable dd mouse_variable
  67. .flags  dd flags+0
  68. .size   dd size+0
  69. .pos    dd pos+0
  70. .offset dd 0
  71. .cl_curs_x dd 0
  72. .cl_curs_y dd 0
  73. .shift     dd 0
  74. .shift_old dd 0
  75. }
  76.  
  77. macro edit_boxes_set_sys_color start,end,color_table
  78. {
  79.         mov     edi,start
  80.         mov     ecx,((end-start)/ed_struc_size)
  81.         mov     esi,color_table
  82. @@:
  83.         mov     eax,dword [esi+36]
  84.         mov     ebx,dword [esi+20]
  85.         push    dword eax
  86.         pop     dword ed_focus_border_color
  87.         shr     bh,1
  88.         shr     bl,1
  89.         shr     ah,1
  90.         shr     al,1
  91.         add     ah,bh
  92.         add     al,bl
  93.         ror     eax,16
  94.         ror     ebx,16
  95.         shr     bl,1
  96.         shr     al,1
  97.         add     al,bl
  98.         ror     eax,16
  99.         mov     dword ed_blur_border_color,eax
  100.         mov     dword shift_color,eax
  101.         add     edi,ed_struc_size
  102.         loop    @b
  103. }
  104. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  105. ;Basic macros for use CheckBox                            ;
  106. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  107. ch_struc_size=36
  108. ch_flag_en=10b ;í«¥¬¥­â ¢ë¡à ­
  109.  
  110. ch_left  equ [edi]         ;ª®®à¤¨­ â  ­ ç «  à¨á®¢ ­¨ï ¯® å
  111. ch_top   equ [edi+2]       ;ª®®à¤¨­ â  ­ ç «  à¨á®¢ ­¨ï ¯® ã
  112. ch_text_margin equ [edi+4] ;=4 à ááâ®ï­¨¥ ®â ¯àאַ㣮«ì­¨ª  祪 ¡®ªá  ¤® ­ ¤¯¨á¨
  113. ch_size  equ [edi+8]       ;12 à §¬¥à ª¢ ¤à â  祪 ¡®ªá 
  114. ch_color equ [edi+12]      ;梥⠢­ãâਠcheckbox
  115. ch_border_color equ [edi+16] ; or [edi+4] ;梥â à ¬ª¨ checkbox ¥¥ ¬®¦­® § ¤ âì á ¬®áâ®ï⥫쭮
  116. ch_text_color   equ [edi+20] ;[edi+4]  ;梥â ⥪áâ 
  117. ch_text_ptr     equ [edi+24] ;㪠§ â¥«ì ­  ­ ç «® ⥪á⮢®© áâப¨
  118. ch_text_length  equ [edi+28]
  119. ch_flags equ [edi+32]      ;ä« £¨
  120.  
  121. struc check_box left,top,ch_text_margin,ch_size,color,border_color,text_color,text,ch_text_length,flags
  122. {        ;áâàãªâãà  ¯ à ¬¥â஢ ¤«ï 祪 ¡®ªá 
  123. .left: dw left      ;+0 ¯®«®¦¥­¨¥ ¯® å
  124. .top:  dw top       ;+2 ¯®«®¦¥­¨¥ ¯® ã
  125. .ch_text_margin:  dd ch_text_margin ;à ááâ®ï­¨¥ ®â ¯àאַ㣮«ì­¨ª  祪 ¡®ªá  ¤® ­ ¤¯¨á¨
  126. .ch_size: dd ch_size ;à §¬¥à ª¢ ¤à â  祪 ¡®ªá , ¤«ï ¯à¨¬¥à  12
  127. .color:   dd color   ;梥⠢­ãâਠ祪¡®ªá 
  128. .border_color: dd border_color ;梥â à ¬ª¨
  129. .text_color:   dd text_color   ;梥⠭ ¤¯¨á¨
  130. .text: dd text                 ; ¤à¥á ¢ ª®¤¥ ¯à®£à ¬¬ë £¤¥ à á¯®«®¦¥­ ⥪áâ
  131. .ch_text_length: dd ch_text_length ;¤«¨­­  áâப¨ á ᨬ¢®« ¬¨
  132. .flags: dd flags+0   ; ä« £¨        
  133. }
  134.  
  135. macro check_boxes_set_sys_color start,end,color_table
  136. {
  137.     mov     edi,start
  138.     mov     ecx,((end-start)/ch_struc_size)
  139.     mov     esi,color_table
  140. @@:
  141. ;    push    dword [esi+20] ;梥â à ¡®ç¥© ®¡« á⨠®ª­ 
  142. ;    pop     dword ch_color
  143.     push    dword [esi+32] ;梥â ⥪áâ  ¢ à ¡®ç¥© ®¡« á⨠®ª­ 
  144.     pop     dword ch_text_color
  145.     push    dword [esi+36] ;梥⠣à ä¨ª¨ ¢ ®ª­¥ (à §¤¥«¨â¥«ì­ë¥ «¨­¨¨ ¨ â.¯.)
  146.     pop     dword ch_border_color
  147.     add     edi,ch_struc_size
  148.     loop    @b
  149. }
  150.  
  151. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  152. ;Basic macros for use OptionBox                           ;
  153. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  154.  
  155. struc option_box point_gr,left,top,op_text_margin,op_size,color,border_color,text_color,text,op_text_length,flags
  156. {        ;áâàãªâãà  ¯ à ¬¥â஢ ¤«ï 祪 ¡®ªá 
  157. op_flag_en=10b
  158. .option_group: dd point_gr
  159. .left: dw left       ;+0 ;¯®«®¦¥­¨¥ ¯® å
  160. .top:  dw top        ;¯®«®¦¥­¨¥ ¯® ã
  161. .ch_text_margin:  dd op_text_margin ;à ááâ®ï­¨¥ ®â ¯àאַ㣮«ì­¨ª  祪 ¡®ªá  ¤® ­ ¤¯¨á¨
  162. .ch_size: dd op_size ;à §¬¥à ª¢ ¤à â  祪 ¡®ªá , ¤«ï ¯à¨¬¥à  12
  163. .color:   dd color   ;梥⠢­ãâਠ祪¡®ªá 
  164. .border_color: dd border_color ;梥â à ¬ª¨
  165. .text_color:   dd text_color   ;梥⠭ ¤¯¨á¨
  166. .text: dd text                 ; ¤à¥á ¢ ª®¤¥ ¯à®£à ¬¬ë £¤¥ à á¯®«®¦¥­ ⥪áâ
  167. .ch_text_length: dd op_text_length ;¤«¨­­  áâப¨ á ᨬ¢®« ¬¨
  168. .flags: dd flags+0   ; ä« £¨
  169. }
  170.  
  171. struc tree_list info_size,info_max_count,style, img_cx,img_cy,\
  172.     col_bkg,col_zag,col_txt, box_l,box_t,box_w,box_h, capt_cy,info_capt_offs,\
  173.     info_capt_len,el_focus, p_scrol,on_press {
  174.   .data_info    dd 0
  175.   .info_size    dw info_size
  176.   .info_max_count dd info_max_count
  177.   .style            dd style
  178.   .data_nodes   dd 0
  179.   .data_img      dd 0
  180.   .img_cx          dw img_cx
  181.   .img_cy          dw img_cy
  182.   .data_img_sys  dd 0
  183.   .ch_tim                 dd 0
  184.   .ls_tim                 dd 0
  185.   .tim_undo      dd 0
  186.   .cur_pos        dd 0
  187.   .col_bkg        dd col_bkg
  188.   .col_zag        dd col_zag
  189.   .col_txt        dd col_txt
  190.   .box_left   dd box_l
  191.   .box_top    dd box_t
  192.   .box_width  dd box_w
  193.   .box_height dd box_h
  194.   .capt_cy         dw capt_cy
  195.   .info_capt_offs dw info_capt_offs
  196.   .info_capt_len dw info_capt_len
  197.   .el_focus dd el_focus
  198.   .p_scrol  dd p_scrol
  199.   rb 4
  200.   .on_activate dd 0
  201.   .on_press dd on_press
  202. }
  203.  
  204. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  205. ;Basic macros for use TreeList                           ;
  206. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
  207.  
  208. ;ª®­áâ ­âë á⨫ï
  209. tl_key_no_edit   equ   1b ;í«¥¬¥­â ­¥«ì§ï । ªâ¨à®¢ âì ­  ª« ¢¨ âãॠ(¨§¬¥­ïâì ã஢­¨, 㤠«ïâì)
  210. tl_draw_par_line equ  10b ;à¨á®¢ âì «¨­¨¨ ª த¨â¥«ì᪮¬ã 㧫ã
  211. tl_list_box_mode equ 100b ;áâ¨«ì ­¥ ®â®¡à ¦ ¥â ã஢­¨ (ª ª ¢ ListBox ¢á¥ ®¤­®£® ã஢­ï)
  212.  
  213. ;ª®­áâ ­âë ¤«ï ä㭪権
  214. tl_err_save_memory_size equ  10b ;­¥ 墠⠥⠯ ¬ï⨠¤«ï á®åà ­¥­¨ï í«¥¬¥­â 
  215. tl_err_load_caption     equ   1b ;¢ ¯ ¬ï⨠­¥â § £®«®¢ª  'tree'
  216. tl_err_load_info_size   equ 100b ;­¥ ᮢ¯ ¤ ¥â à §¬¥à ¨­ä®à¬ æ¨®­­®© áâàãªâãàë ¯à¨ ®âªàë⨨
  217. tl_load_mode_add        equ 0x20000 ;®¯æ¨ï áç¨â뢠­¨ï ¢ ०¨¬¥ ¤®¡ ¢«¥­¨ï ¨­ä®à¬ æ¨¨
  218. tl_save_load_heder_size equ 26 ;à §¬¥à § £®«®¢ª  ¤«ï § ¯¨á¨/ç⥭¨ï í«¥¬¥­â®¢
  219.