Rev 924 | Rev 939 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 924 | Rev 927 | ||
---|---|---|---|
Line 53... | Line 53... | ||
53 | ;; |
53 | ;; |
54 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
54 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
Line 55... | Line 55... | ||
55 | 55 | ||
Line 56... | Line 56... | ||
56 | include 'macros.inc' |
56 | include 'macros.inc' |
Line 57... | Line 57... | ||
57 | 57 | ||
Line 58... | Line 58... | ||
58 | $Revision: 924 $ |
58 | $Revision: 927 $ |
Line 5091... | Line 5091... | ||
5091 | ;eax = 36 |
5091 | ;eax = 36 |
5092 | ;ebx = pointer to bufer for img BBGGRRBBGGRR... |
5092 | ;ebx = pointer to bufer for img BBGGRRBBGGRR... |
5093 | ;ecx = [size x]*65536 + [size y] |
5093 | ;ecx = [size x]*65536 + [size y] |
5094 | ;edx = [start x]*65536 + [start y] |
5094 | ;edx = [start x]*65536 + [start y] |
5095 | pushad |
5095 | pushad |
- | 5096 | inc [mouse_pause] |
|
- | 5097 | ; Check of use of the hardware cursor. |
|
- | 5098 | cmp [disable_mouse],__sys_disable_mouse |
|
- | 5099 | jne @f |
|
- | 5100 | ; Since the test for the coordinates of the mouse should not be used, |
|
- | 5101 | ; then use the call [disable_mouse] is not possible! |
|
- | 5102 | cmp dword [MOUSE_VISIBLE],dword 0 |
|
- | 5103 | jne @f |
|
- | 5104 | pushf |
|
- | 5105 | cli |
|
- | 5106 | call draw_mouse_under |
|
- | 5107 | popf |
|
- | 5108 | mov [MOUSE_VISIBLE],dword 1 |
|
- | 5109 | @@: |
|
5096 | mov edi,ebx |
5110 | mov edi,ebx |
5097 | mov eax,edx |
5111 | mov eax,edx |
5098 | shr eax,16 |
5112 | shr eax,16 |
5099 | mov ebx,edx |
5113 | mov ebx,edx |
5100 | and ebx,0xffff |
5114 | and ebx,0xffff |
Line 5103... | Line 5117... | ||
5103 | 5117 | ||
5104 | shr ecx,16 |
5118 | shr ecx,16 |
5105 | and edx,0xffff |
5119 | and edx,0xffff |
5106 | mov esi,ecx |
5120 | mov esi,ecx |
5107 | ; ecx - size x, edx - size y |
- | |
5108 | .start_y: |
- | |
5109 | push ecx |
- | |
5110 | .start_x: |
- | |
5111 | push eax ebx ecx edx esi edi |
- | |
5112 | add eax,ecx |
- | |
5113 | add ebx,edx |
- | |
5114 | call dword [GETPIXEL] ; eax - x, ebx - y |
- | |
Line 5115... | Line 5121... | ||
5115 | pop edi esi |
5121 | ; ecx - size x, edx - size y |
- | 5122 | ||
5116 | 5123 | mov ebp,edx |
|
Line -... | Line 5124... | ||
- | 5124 | dec ebp |
|
- | 5125 | lea ebp,[ebp*3] |
|
- | 5126 | ||
- | 5127 | imul ebp,esi |
|
- | 5128 | ||
- | 5129 | mov esi,ecx |
|
- | 5130 | dec esi |
|
- | 5131 | lea esi,[esi*3] |
|
- | 5132 | ||
- | 5133 | add ebp,esi |
|
- | 5134 | add ebp,edi |
|
- | 5135 | ||
5117 | mov eax,ecx |
5136 | add ebx,edx |
- | 5137 | ||
- | 5138 | .start_y: |
|
- | 5139 | push ecx edx |
|
Line 5118... | Line -... | ||
5118 | pop edx ecx |
- | |
5119 | - | ||
5120 | push ecx edx |
- | |
5121 | - | ||
5122 | dec edx |
- | |
5123 | lea edx,[edx*3] |
5140 | .start_x: |
5124 | imul edx,esi |
- | |
5125 | dec ecx |
- | |
5126 | lea ecx,[ecx*3] |
- | |
5127 | add edx,ecx |
- | |
Line 5128... | Line 5141... | ||
5128 | add edx,edi |
5141 | push eax ebx ecx |
- | 5142 | add eax,ecx |
|
- | 5143 | ||
Line -... | Line 5144... | ||
- | 5144 | call dword [GETPIXEL] ; eax - x, ebx - y |
|
- | 5145 | ||
5129 | mov [edx],ax |
5146 | mov [ebp],cx |
5130 | shr eax,16 |
5147 | shr ecx,16 |
5131 | mov [edx+2],al |
5148 | mov [ebp+2],cl |
- | 5149 | ||
5132 | 5150 | pop ecx ebx eax |
|
5133 | pop edx ecx ebx eax |
5151 | sub ebp,3 |
- | 5152 | dec ecx |
|
- | 5153 | jnz .start_x |
|
- | 5154 | pop edx ecx |
|
- | 5155 | dec ebx |
|
- | 5156 | dec edx |
|
- | 5157 | jnz .start_y |
|
5134 | 5158 | dec [mouse_pause] |
|
5135 | dec ecx |
5159 | ; Check of use of the hardware cursor. |
Line 5136... | Line 5160... | ||
5136 | jnz .start_x |
5160 | cmp [disable_mouse],__sys_disable_mouse |