Subversion Repositories Kolibri OS

Rev

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

  1. ;-----------------------------------------------------
  2. draw_volume_rectangle:
  3.  
  4.  mov [line_x],eax
  5.  mov [line_y],ebx
  6.  mov [line_size_x],ecx
  7.  mov [line_size_y],edx
  8.  
  9.  cmp esi,1
  10.  jne no_volume_light_rectangle
  11.  
  12.  mov [color_rectangle],9350878
  13.  mov [color_line1],5669590
  14.  mov [color_line2],12508927
  15.  mov [color_line3],9350878
  16.  jmp exit_colors
  17.  
  18.  no_volume_light_rectangle:
  19.  
  20.  cmp esi,2
  21.  jne no_pressed_rectangle
  22.  
  23.  mov [color_rectangle],9089258
  24.  mov [color_line1],5669590
  25.  mov [color_line2],9089258
  26.  mov [color_line3],9089258
  27.  
  28.  jmp exit_colors
  29.  
  30.  no_pressed_rectangle:
  31.  
  32.  cmp esi,3
  33.  jne no_pressed_panel
  34.  
  35.  mov [color_rectangle],9350878
  36.  mov [color_line1],5669590
  37.  mov [color_line2],7000
  38.  mov [color_line3],12508927
  39.  jmp exit_colors
  40.  
  41.  no_pressed_panel:
  42.  
  43.  cmp esi,4
  44.  jne no_pressed_light_panel
  45.  
  46.  mov [color_rectangle],0xffffff
  47.  mov [color_line1],5669590
  48.  mov [color_line2],7000
  49.  mov [color_line3],12508927
  50.  jmp exit_colors
  51.  
  52.  no_pressed_light_panel:
  53.  
  54.  cmp esi,5
  55.  jne no_light_pressed_rectangle
  56.  
  57.  mov [color_rectangle],9089258
  58.  mov [color_line1],5669590
  59.  mov [color_line2],9089258
  60.  mov [color_line3],9089258
  61.  
  62.  jmp exit_colors
  63.  
  64.  no_light_pressed_rectangle:
  65.  
  66.  cmp esi,6
  67.  jne no_work_rectangle
  68.  
  69.  mov [color_rectangle],9350878
  70.  mov [color_line1],5669590
  71.  mov [color_line2],9350878
  72.  mov [color_line3],9350878
  73.  jmp exit_colors
  74.  
  75.  no_work_rectangle:
  76.  
  77.  cmp esi,7
  78.  jne no_work_rectangle_2
  79.  
  80.  mov [color_rectangle],9350878
  81.  mov [color_line1],9350878
  82.  mov [color_line2],9350878
  83.  mov [color_line3],9350878
  84.  jmp exit_colors
  85.  
  86.  no_work_rectangle_2:
  87.  
  88.  exit_colors:
  89.  ;draw rectangle
  90.  mov ebx,[line_x]
  91.  mov ecx,[line_y]
  92.  shl ebx,16
  93.  shl ecx,16
  94.  add ebx,[line_size_x]
  95.  add ecx,[line_size_y]
  96.  mov edx,[color_rectangle]
  97.  call draw_rectangle
  98.  ;line 1
  99.  mov edx,[color_line1]
  100.  mov ebx,[line_x]
  101.  mov ecx,[line_y]
  102.  shl ebx,16
  103.  shl ecx,16
  104.  add ebx,[line_x]
  105.  add ecx,[line_y]
  106.  add ebx,[line_size_x]
  107.  call draw_line
  108.  ;line 2
  109.  mov edx,[color_line1]
  110.  mov ebx,[line_x]
  111.  mov ecx,[line_y]
  112.  shl ebx,16
  113.  shl ecx,16
  114.  add ebx,[line_x]
  115.  add ecx,[line_y]
  116.  add ecx,[line_size_y]
  117.  call draw_line
  118.  ;line 3
  119.  mov edx,[color_line1]
  120.  mov ebx,[line_x]
  121.  mov ecx,[line_y]
  122.  add ecx,[line_size_y]
  123.  shl ebx,16
  124.  shl ecx,16
  125.  add ebx,[line_x]
  126.  add ecx,[line_y]
  127.  add ebx,[line_size_x]
  128.  add ecx,[line_size_y]
  129.  call draw_line
  130.  ;line 4
  131.  mov edx,[color_line1]
  132.  mov ebx,[line_x]
  133.  mov ecx,[line_y]
  134.  add ebx,[line_size_x]
  135.  shl ebx,16
  136.  shl ecx,16
  137.  add ebx,[line_x]
  138.  add ecx,[line_y]
  139.  add ebx,[line_size_x]
  140.  add ecx,[line_size_y]
  141.  call draw_line
  142.  ;light line 1
  143.  mov edx,[color_line2]
  144.  mov ebx,[line_x]
  145.  mov ecx,[line_y]
  146.  inc ebx
  147.  inc ecx
  148.  shl ebx,16
  149.  shl ecx,16
  150.  add ebx,[line_x]
  151.  add ecx,[line_y]
  152.  add ebx,[line_size_x]
  153.  dec ebx
  154.  inc ecx
  155.  call draw_line
  156.  ;light line 2
  157.  mov edx,[color_line2]
  158.  mov ebx,[line_x]
  159.  mov ecx,[line_y]
  160.  inc ebx
  161.  inc ecx
  162.  shl ebx,16
  163.  shl ecx,16
  164.  add ebx,[line_x]
  165.  add ecx,[line_y]
  166.  add ecx,[line_size_y]
  167.  dec ecx
  168.  inc ebx
  169.  call draw_line
  170.  ;light line 3
  171.  mov edx,[color_line3]
  172.  mov ebx,[line_x]
  173.  mov ecx,[line_y]
  174.  add ebx,[line_size_x]
  175.  dec ebx
  176.  inc ecx
  177.  shl ebx,16
  178.  shl ecx,16
  179.  add ebx,[line_x]
  180.  add ecx,[line_y]
  181.  add ebx,[line_size_x]
  182.  add ecx,[line_size_y]
  183.  dec ebx
  184.  dec ecx
  185.  call draw_line
  186.  ;light line 4
  187.  mov edx,[color_line3]
  188.  mov ebx,[line_x]
  189.  mov ecx,[line_y]
  190.  add ecx,[line_size_y]
  191.  inc ebx
  192.  dec ecx
  193.  shl ebx,16
  194.  shl ecx,16
  195.  add ebx,[line_x]
  196.  add ecx,[line_y]
  197.  add ecx,[line_size_y]
  198.  add ebx,[line_size_x]
  199.  dec ecx
  200.  dec ebx
  201.  call draw_line
  202.  
  203.  ret
  204. ;----------------------------------------------------------
  205. rectangle:
  206.  
  207.  no_light_rectangle:
  208.  mov [line_x],eax
  209.  mov [line_y],ebx
  210.  mov [line_size_x],ecx
  211.  mov [line_size_y],edx
  212.  mov edx,esi
  213.  mov eax,13
  214.  mov ebx,[line_x]
  215.  mov ecx,[line_y]
  216.  shl ebx,16
  217.  shl ecx,16
  218.  add ebx,[line_size_x]
  219.  add ecx,[line_size_y]
  220.  int 0x40
  221.  ret
  222. ;----------------------------------------------------------
  223. draw_conture:
  224.  
  225.  mov [line_x],eax
  226.  mov [line_y],ebx
  227.  mov [line_size_x],ecx
  228.  mov [line_size_y],edx
  229.  
  230.  mov [color_line1],5669590
  231.  
  232.  ;line 1
  233.  mov edx,[color_line1]
  234.  mov ebx,[line_x]
  235.  mov ecx,[line_y]
  236.  shl ebx,16
  237.  shl ecx,16
  238.  add ebx,[line_x]
  239.  add ecx,[line_y]
  240.  add ebx,[line_size_x]
  241.  call draw_line
  242.  ;line 2
  243.  mov edx,[color_line1]
  244.  mov ebx,[line_x]
  245.  mov ecx,[line_y]
  246.  shl ebx,16
  247.  shl ecx,16
  248.  add ebx,[line_x]
  249.  add ecx,[line_y]
  250.  add ecx,[line_size_y]
  251.  call draw_line
  252.  ;line 3
  253.  mov edx,[color_line1]
  254.  mov ebx,[line_x]
  255.  mov ecx,[line_y]
  256.  add ecx,[line_size_y]
  257.  shl ebx,16
  258.  shl ecx,16
  259.  add ebx,[line_x]
  260.  add ecx,[line_y]
  261.  add ebx,[line_size_x]
  262.  add ecx,[line_size_y]
  263.  call draw_line
  264.  ;line 4
  265.  mov edx,[color_line1]
  266.  mov ebx,[line_x]
  267.  mov ecx,[line_y]
  268.  add ebx,[line_size_x]
  269.  shl ebx,16
  270.  shl ecx,16
  271.  add ebx,[line_x]
  272.  add ecx,[line_y]
  273.  add ebx,[line_size_x]
  274.  add ecx,[line_size_y]
  275.  call draw_line
  276.  
  277.  ret
  278. ;----------------------------------------------------------
  279. columnus:
  280.  
  281.  sub eax,ecx
  282.  jns no_columnus
  283.  neg eax
  284.  cmp eax,esi
  285.  ja no_columnus
  286.  sub ebx,edx
  287.  jns no_columnus
  288.  neg ebx
  289.  cmp ebx,edi
  290.  ja no_columnus
  291.  mov eax,1
  292.  jmp columnus_true
  293.  no_columnus:
  294.  xor eax,eax
  295.  columnus_true:
  296.  ret
  297. ;----------------------------------------------------------
  298. print_text:
  299.  mov [text_x],eax
  300.  mov [text_y],ebx
  301.  mov eax,4
  302.  mov ebx,[text_x]
  303.  shl ebx,16
  304.  add ebx,[text_y]
  305.  int 0x40
  306.  ret
  307. ;----------------------------------------------------------
  308. draw_rectangle:
  309.  mov eax,13
  310.  int 0x40
  311.  ret
  312. ;------------------------
  313. draw_line:
  314.  mov eax,38
  315.  int 0x40
  316.  ret
  317. ;----------------------------------------------------------
  318. ;lightlin 12508927
  319. ;lines    5669590
  320. ;workpan  9350878
  321. ;btnpress 9089258
  322. line_x          dd 0
  323. line_y          dd 0
  324. line_size_x     dd 0
  325. line_size_y     dd 0
  326. color_line1     dd 0
  327. color_line2     dd 0
  328. color_line3     dd 0
  329. color_rectangle dd 0
  330. ;--------------------
  331. text_x          dd 0
  332. text_y          dd 0
  333. ;--------------------