Subversion Repositories Kolibri OS

Rev

Rev 485 | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed

  1. ;load cursors from memory
  2. ;IN
  3. ; eax- pointer to memory for ID of cursors
  4. ;OUT
  5. ; not returned value
  6.  
  7. load_cursors:
  8.  
  9.       mov [PointerToCursorsID],eax
  10.  
  11.       mcall SF_MOUSE_GET, SSF_LOAD_CURSOR, brush_cursor, 1
  12.  
  13.       mov ebx,[PointerToCursorsID]
  14.       mov [ebx],eax
  15.       add [PointerToCursorsID],4
  16.  
  17.       mcall SF_MOUSE_GET, SSF_LOAD_CURSOR, flood_fill_cursor, 1
  18.  
  19.       mov ebx,[PointerToCursorsID]
  20.       mov [ebx],eax
  21.       add [PointerToCursorsID],4
  22.  
  23.       mcall SF_MOUSE_GET, SSF_LOAD_CURSOR, lastik_cursor, 1
  24.  
  25.       mov ebx,[PointerToCursorsID]
  26.       mov [ebx],eax
  27.       add [PointerToCursorsID],4
  28.  
  29.       mcall SF_MOUSE_GET, SSF_LOAD_CURSOR, other_cursor, 1
  30.  
  31.       mov ebx,[PointerToCursorsID]
  32.       mov [ebx],eax
  33.       add [PointerToCursorsID],4
  34.  
  35.       mcall SF_MOUSE_GET, SSF_LOAD_CURSOR, pencil_cursor, 1
  36.  
  37.       mov ebx,[PointerToCursorsID]
  38.       mov [ebx],eax
  39.       add [PointerToCursorsID],4
  40.  
  41.       mcall SF_MOUSE_GET, SSF_LOAD_CURSOR, pipette_cursor, 1
  42.  
  43.       mov ebx,[PointerToCursorsID]
  44.       mov [ebx],eax
  45.       add [PointerToCursorsID],4
  46.  
  47.       mcall SF_MOUSE_GET, SSF_LOAD_CURSOR, spray_cursor, 1
  48.  
  49.       mov ebx,[PointerToCursorsID]
  50.       mov [ebx],eax
  51.       add [PointerToCursorsID],4
  52.  
  53.       mcall SF_MOUSE_GET, SSF_LOAD_CURSOR, zoom_cursor, 1
  54.  
  55.       mov ebx,[PointerToCursorsID]
  56.       mov [ebx],eax
  57.       add [PointerToCursorsID],4
  58.  
  59.       ret
  60.  
  61. ;set cirsor
  62. ;IN
  63. ;eax- pointer to IDs of cursors
  64. ;ebx- number(ID) of current instrument
  65.  
  66. set_cursor:
  67.  
  68.       mov [PointerToCursorsID],eax
  69.  
  70.       cmp ebx,10
  71.       jne no_1_l
  72.        mov eax,5
  73.        jmp che
  74.       no_1_l:
  75.  
  76.       cmp ebx,11
  77.       jne no_2_l
  78.        mov eax,1
  79.        jmp che
  80.       no_2_l:
  81.  
  82.       cmp ebx,12
  83.       jne no_3_l
  84.        mov eax,7
  85.        jmp che
  86.       no_3_l:
  87.  
  88.       cmp ebx,13
  89.       jne no_4_l
  90.        mov eax,3
  91.        jmp che
  92.       no_4_l:
  93.  
  94.       cmp ebx,14
  95.       jne no_5_l
  96.        mov eax,2
  97.        jmp che
  98.       no_5_l:
  99.  
  100.       cmp ebx,15
  101.       jne no_6_l
  102.        mov eax,6
  103.        jmp che
  104.       no_6_l:
  105.  
  106.        cmp ebx,16
  107.       jne no_7_l
  108.        mov eax,4
  109.        jmp che
  110.       no_7_l:
  111.  
  112.       cmp ebx,17
  113.       jne no_8_l
  114.        mov eax,4
  115.        jmp che
  116.       no_8_l:
  117.  
  118.       cmp ebx,18
  119.       jne no_9_l
  120.        mov eax,4
  121.        jmp che
  122.       no_9_l:
  123.  
  124.        cmp ebx,19
  125.       jne no_10_l
  126.        mov eax,4
  127.        jmp che
  128.       no_10_l:
  129.  
  130.       cmp ebx,20
  131.       jne no_11_l
  132.        mov eax,4
  133.        jmp che
  134.       no_11_l:
  135.  
  136.       cmp ebx,21
  137.       jne no_12_l
  138.        mov eax,4
  139.        jmp che
  140.       no_12_l:
  141.  
  142.       cmp ebx,22
  143.       jne no_13_l
  144.        mov eax,4
  145.        jmp che
  146.       no_13_l:
  147.  
  148.       cmp ebx,23
  149.       jne no_14_l
  150.        mov eax,4
  151.        jmp che
  152.       no_14_l:
  153.  
  154.       cmp ebx,24
  155.       jne no_15_l
  156.        mov eax,4
  157.        jmp che
  158.       no_15_l:
  159.  
  160.       cmp ebx,25
  161.       jne no_16_l
  162.        mov eax,4
  163.        jmp che
  164.       no_16_l:
  165.  
  166.       cmp ebx,26
  167.       jne no_17_l
  168.        mov eax,4
  169.        jmp che
  170.       no_17_l:
  171.  
  172.       cmp ebx,27
  173.       jne no_18_l
  174.        mov eax,4
  175.        jmp che
  176.       no_18_l:
  177.  
  178.       cmp ebx,28
  179.       jne no_19_l
  180.        mov eax,4
  181.        jmp che
  182.       no_19_l:
  183.  
  184.  
  185.       cmp ebx,45
  186.       jne no_25_l
  187.        mov eax,8
  188.        jmp che
  189.       no_25_l:
  190.  
  191.       cmp ebx,46
  192.       jne no_26_l
  193.        mov eax,8
  194.        jmp che
  195.       no_26_l:
  196.  
  197.        cmp ebx,47
  198.       jne no_27_l
  199.        mov eax,8
  200.        jmp che
  201.       no_27_l:
  202.  
  203.       cmp ebx,48
  204.       jne no_28_l
  205.        mov eax,8
  206.        jmp che
  207.       no_28_l:
  208.  
  209.        cmp ebx,49
  210.       jne no_29_l
  211.        mov eax,8
  212.        jmp che
  213.       no_29_l:
  214.  
  215.  
  216.       cmp ebx,50
  217.       jne no_30_l
  218.        mov eax,8
  219.        jmp che
  220.       no_30_l:
  221.  
  222.       cmp ebx,40
  223.       je no_change_cursor
  224.  
  225.       cmp ebx,41
  226.       je no_change_cursor
  227.  
  228.       cmp ebx,42
  229.       je no_change_cursor
  230.  
  231.       cmp ebx,43
  232.       je no_change_cursor
  233.  
  234.       cmp ebx,44
  235.       je no_change_cursor
  236.  
  237.       cmp ebx,52
  238.       je no_change_cursor
  239.  
  240.       cmp ebx,51
  241.       je no_change_cursor
  242.  
  243.       cmp ebx,52
  244.       je no_change_cursor
  245.  
  246.       che:
  247.  
  248.         cmp eax,8 ;cursors count
  249.         jg no_change_cursor
  250.  
  251.       dec eax
  252.       shl eax,2
  253.       mov ebx,[PointerToCursorsID]
  254.       add eax,ebx
  255.       mov ecx,[eax]
  256.  
  257.       mcall SF_MOUSE_GET, SSF_SET_CURSOR
  258.  
  259.       no_change_cursor:
  260.  
  261.       ret
  262.  
  263. ;delete cursors
  264. ;IN
  265. ;eax- pointer to IDs of cursors
  266. ;OUT
  267. ;not returned value
  268.  
  269. delete_cursors:
  270.  
  271.      mov [PointerToCursorsID],eax
  272.      mov edx,8
  273.  
  274.   next_cursor_delete:
  275.  
  276.      mov eax,[PointerToCursorsID]
  277.      mov ecx,[eax]
  278.  
  279.      mov eax,37
  280.      mov ebx,6
  281.      mcall
  282.  
  283.      add [PointerToCursorsID],4
  284.  
  285.      dec edx
  286.      jnz next_cursor_delete
  287.  
  288.      ret
  289.  
  290. PointerToCursorsID  dd 0
  291.