Subversion Repositories Kolibri OS

Rev

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

  1.     use32
  2.     org     0x0
  3. ;-------------------------------------------------------------------------------
  4.     db      "MENUET01"
  5.     dd      1, @code, @data, @mem, @stack, 0, 0
  6. ;-------------------------------------------------------------------------------
  7.     include "../../macros.inc"
  8. ;===============================================================================
  9. @code:
  10.     mcall   48, 3, color, 40
  11. ;-------------------------------------------------------------------------------
  12. main_loop:
  13.     mcall   10
  14.     cmp     eax, EV_REDRAW
  15.     je      event_redraw
  16.     cmp     eax, EV_BUTTON
  17.     je      event_button
  18.  
  19.     jmp     main_loop
  20. ;-------------------------------------------------------------------------------
  21. exit:
  22.     mcall   -1
  23. ;-------------------------------------------------------------------------------
  24. event_redraw:
  25.     call    win.draw
  26.     jmp     main_loop
  27. ;-------------------------------------------------------------------------------
  28. event_button:
  29.     mcall   17
  30.     cmp     ah, 0x01
  31.     je      exit
  32.     cmp     ah, 0x10
  33.     je      .tabs.walls
  34.     cmp     ah, 0x11
  35.     je      .tabs.skins
  36.     cmp     ah, 0x12
  37.     je      .tabs.docky
  38.     cmp     ah, 0x13
  39.     je      .tabs.panel
  40.  
  41.     jmp     main_loop
  42.  
  43.  .tabs.walls:
  44.     mov     [tabs.index], byte 0
  45.     call    win.draw
  46.     jmp     main_loop
  47.  .tabs.skins:
  48.     mov     [tabs.index], byte 1
  49.     call    win.draw
  50.     jmp     main_loop
  51.  .tabs.docky:
  52.     mov     [tabs.index], byte 2
  53.     call    win.draw
  54.     jmp     main_loop
  55.  .tabs.panel:
  56.     mov     [tabs.index], byte 3
  57.     call    win.draw
  58.     jmp     main_loop
  59. ;-------------------------------------------------------------------------------
  60. win.draw:
  61.     mcall   12, 1
  62.  
  63.     mov     edx, [color.work]
  64.     or      edx, 0x34000000
  65.     mcall   0, <128, 256>, <128, 360>, , , win.title
  66.  
  67.     call    tabs.draw
  68.  
  69.     mcall   12, 2
  70.  
  71.     ret
  72. ;-------------------------------------------------------------------------------
  73. tabs.draw:
  74.     mcall    8, <  8,  57>, < 9, 25>, 0x40000010
  75.     mcall     , < 65,  57>,         , 0x40000011
  76.     mcall     , <122,  57>,         , 0x40000012
  77.     mcall     , <179,  58>,         , 0x40000013
  78.  
  79.     mcall   13, <  9, 228>,         , [color.work]
  80.  
  81.     mcall     ,           , < 9,  1>, [color.workE]
  82.     mcall     ,           , <34,  1>
  83.     mcall     , <  8,   1>, <10, 24>
  84.     mcall     , < 65,   1>
  85.     mcall     , <122,   1>
  86.     mcall     , <179,   1>
  87.     mcall     , <237,   1>
  88.  
  89.     mov     edx, [color.workE]
  90.  
  91.     cmp     [tabs.index], byte 0
  92.     je      .walls
  93.     cmp     [tabs.index], byte 1
  94.     je      .skins
  95.     cmp     [tabs.index], byte 2
  96.     je      .docky
  97.     jmp     .panel
  98.  
  99.  .walls:
  100.     mcall     , <  9,  56>
  101.  
  102.     mcall   4, < 22, 18>, [color.textE], tabs.walls_title, 5
  103.     mcall    , < 79, 18>, [color.text] , tabs.skins_title
  104.     mcall    , <136, 18>,              , tabs.docky_title
  105.     mcall    , <193, 18>,              , tabs.panel_title
  106.  
  107.     call    tabs.walls.draw
  108.  
  109.     ret
  110.  .skins:
  111.     mcall     , < 66,  56>
  112.  
  113.     mcall   4, < 79, 18>, [color.textE], tabs.skins_title, 5
  114.     mcall    , < 22, 18>, [color.text] , tabs.walls_title
  115.     mcall    , <136, 18>,              , tabs.docky_title
  116.     mcall    , <193, 18>,              , tabs.panel_title
  117.  
  118.     call    tabs.skins.draw
  119.  
  120.     ret
  121.  .docky:
  122.     mcall     , <123,  56>
  123.  
  124.     mcall   4, <136, 18>, [color.textE], tabs.docky_title, 5
  125.     mcall    , < 79, 18>, [color.text] , tabs.skins_title
  126.     mcall    , < 22, 18>,              , tabs.walls_title
  127.     mcall    , <193, 18>,              , tabs.panel_title
  128.  
  129.     call    tabs.docky.draw
  130.  
  131.     ret
  132.  .panel:
  133.     mcall     , <180,  57>
  134.  
  135.     mcall   4, <193, 18>, [color.textE], tabs.panel_title, 5
  136.     mcall    , < 79, 18>, [color.text] , tabs.skins_title
  137.     mcall    , <136, 18>,              , tabs.docky_title
  138.     mcall    , < 22, 18>,              , tabs.walls_title
  139.  
  140.     call    tabs.panel.draw
  141.  
  142.     ret
  143. ;-------------------------------------------------------------------------------
  144. tabs.walls.draw:
  145.     mcall   8, <20, 50>, < 50, 20>, 0x20, [color.workE]
  146.     ret
  147. ;-------------------------------------------------------------------------------
  148. tabs.skins.draw:
  149.     mcall   8, <40, 40>, < 60, 30>, 0x30, [color.workE]
  150.     mcall    ,         , < 99, 30>, 0x31
  151.     ret
  152. ;-------------------------------------------------------------------------------
  153. tabs.docky.draw:
  154.     mcall   8, <50, 10>, < 50, 10>, 0x40, [color.workE]
  155.     mcall    ,         , < 70, 10>, 0x41
  156.     mcall    ,         , < 90, 10>, 0x42
  157.     mcall    ,         , <110, 10>, 0x43
  158.     ret
  159. ;-------------------------------------------------------------------------------
  160. tabs.panel.draw:
  161.     mcall   8, <70, 20>, <70, 20>, 0x20, [color.workE]
  162.     mcall   4, <30, 50>, [color.text], tabs.panel_title
  163.     ret
  164. ;===============================================================================
  165. win.title:
  166.     db      "Desktop configuration", 0
  167.  
  168. tabs.walls_title:
  169.     db      "Walls"
  170. tabs.skins_title:
  171.     db      "Skins"
  172. tabs.docky_title:
  173.     db      "Docky"
  174. tabs.panel_title:
  175.     db      "Panel"
  176.  
  177. @data:
  178. ;===============================================================================
  179.     rb      2048
  180. @stack:
  181. ;-------------------------------------------------------------------------------
  182. tabs.index:
  183.     rb      1
  184.  
  185. color:
  186.  .frame:
  187.     rd      5
  188.  .work:
  189.     rd      1
  190.  .workE:
  191.     rd      1
  192.  .textE:
  193.     rd      1
  194.  .text:
  195.     rd      2
  196.  
  197. @mem: