Subversion Repositories Kolibri OS

Rev

Rev 1380 | Rev 1392 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1380 Rev 1391
Line 55... Line 55...
55
;;
55
;;
56
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
56
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Line 57... Line 57...
57
 
57
 
Line 58... Line 58...
58
include 'macros.inc'
58
include 'macros.inc'
Line 59... Line 59...
59
 
59
 
Line 60... Line 60...
60
$Revision: 1380 $
60
$Revision: 1391 $
Line 1033... Line 1033...
1033
;                                                                    ;
1033
;                                                                    ;
1034
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1034
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1035
align 32
1035
align 32
1036
osloop:
1036
osloop:
1037
        call   [draw_pointer]
1037
        call   [draw_pointer]
1038
        call   check_buttons
1038
        call    window_check_events
1039
        call   checkwindows
1039
        call    mouse_check_events
1040
;       call   check_window_move_request
-
 
1041
        call   checkmisc
1040
        call   checkmisc
1042
        call   checkVga_N13
1041
        call   checkVga_N13
1043
        call   stack_handler
1042
        call   stack_handler
1044
        call   checkidle
1043
        call   checkidle
1045
        call   check_fdd_motor_status
1044
        call   check_fdd_motor_status
Line 2673... Line 2672...
2673
        jne     .exit
2672
        jne     .exit
2674
        movzx   eax, byte [BTN_COUNT]
2673
        movzx   eax, byte [BTN_COUNT]
2675
        test    eax, eax
2674
        test    eax, eax
2676
        jz      .exit
2675
        jz      .exit
2677
        mov     eax, [BTN_BUFF]
2676
        mov     eax, [BTN_BUFF]
2678
        shl     eax, 8
-
 
2679
; // Alver 22.06.2008 // {
-
 
2680
        mov       al, byte [btn_down_determ]
-
 
2681
        and       al,0xFE                                       ; delete left button bit
2677
        and     al, 0xFE                                    ; delete left button bit
2682
; } \\ Alver \\
-
 
2683
        mov     [BTN_COUNT], byte 0
2678
        mov     [BTN_COUNT], byte 0
2684
        mov     [esp + 32], eax
2679
        mov     [esp + 32], eax
2685
.exit:
2680
.exit:
2686
        ret
2681
        ret
Line 2909... Line 2904...
2909
        ret
2904
        ret
Line 2910... Line 2905...
2910
 
2905
 
2911
  srl1:
2906
  srl1:
Line 2912... Line -...
2912
        ret
-
 
2913
 
-
 
2914
 
-
 
2915
sys_drawwindow:
-
 
2916
 
-
 
2917
    mov   eax,edx
-
 
2918
    shr   eax,16+8
-
 
2919
    and   eax,15
-
 
2920
 
-
 
2921
;    cmp   eax,0   ; type I    - original style
-
 
2922
    jne   nosyswI
-
 
2923
    inc   [mouse_pause]
-
 
2924
    call  [_display.disable_mouse]
-
 
2925
    call  sys_set_window
-
 
2926
    call  [_display.disable_mouse]
-
 
2927
    call  drawwindow_I
-
 
2928
    ;dec   [mouse_pause]
-
 
2929
    ;call   [draw_pointer]
-
 
2930
    ;ret
-
 
2931
    jmp   draw_window_caption.2
-
 
2932
  nosyswI:
-
 
2933
 
-
 
2934
    cmp   al,1    ; type II   - only reserve area, no draw
-
 
2935
    jne   nosyswII
-
 
2936
    inc   [mouse_pause]
-
 
2937
    call  [_display.disable_mouse]
-
 
2938
    call  sys_set_window
-
 
2939
    call  [_display.disable_mouse]
-
 
2940
    call  sys_window_mouse
-
 
2941
    dec   [mouse_pause]
-
 
2942
    call   [draw_pointer]
-
 
2943
    ret
-
 
2944
  nosyswII:
-
 
2945
 
-
 
2946
    cmp   al,2    ; type III  - new style
-
 
2947
    jne   nosyswIII
-
 
2948
    inc   [mouse_pause]
-
 
2949
    call  [_display.disable_mouse]
-
 
2950
    call  sys_set_window
-
 
2951
    call  [_display.disable_mouse]
-
 
2952
    call  drawwindow_III
-
 
2953
    ;dec   [mouse_pause]
-
 
2954
    ;call   [draw_pointer]
-
 
2955
    ;ret
-
 
2956
    jmp   draw_window_caption.2
-
 
2957
  nosyswIII:
-
 
2958
 
-
 
2959
    cmp   al,3    ; type IV - skinned window
-
 
2960
    je    draw_skin_window
-
 
2961
    cmp   al,4    ; type V - skinned window not sized! {not_sized_skin_window}
-
 
2962
    jne   nosyswV
-
 
2963
  draw_skin_window:
-
 
2964
 
-
 
2965
    inc   [mouse_pause]
-
 
2966
    call  [_display.disable_mouse]
-
 
2967
    call  sys_set_window
-
 
2968
    call  [_display.disable_mouse]
-
 
2969
    mov   eax, [TASK_COUNT]
-
 
2970
    movzx eax, word [WIN_POS + eax*2]
-
 
2971
    cmp   eax, [CURRENT_TASK]
-
 
2972
    setz  al
-
 
2973
    movzx eax, al
-
 
2974
    push  eax
-
 
2975
    call  drawwindow_IV
-
 
2976
    ;dec   [mouse_pause]
-
 
2977
    ;call   [draw_pointer]
-
 
2978
    ;ret
-
 
2979
    jmp   draw_window_caption.2
-
 
2980
  nosyswV:
-
 
2981
 
-
 
2982
    ret
-
 
2983
 
-
 
2984
 
-
 
2985
draw_window_caption:
-
 
2986
        inc     [mouse_pause]
-
 
2987
        call    [_display.disable_mouse]
-
 
2988
 
-
 
2989
        xor     eax,eax
-
 
2990
        mov     edx,[TASK_COUNT]
-
 
2991
        movzx   edx,word[WIN_POS+edx*2]
-
 
2992
        cmp     edx,[CURRENT_TASK]
-
 
2993
        jne     @f
-
 
2994
        inc     eax
-
 
2995
    @@: mov     edx,[CURRENT_TASK]
-
 
2996
        shl     edx,5
-
 
2997
        add     edx,window_data
-
 
2998
        movzx   ebx,[edx+WDATA.fl_wstyle]
-
 
2999
        and     bl,0x0F
-
 
3000
        cmp     bl,3
-
 
3001
        je      .draw_caption_style_3           ;{for 3 and 4 style write caption}
-
 
3002
        cmp     bl,4
-
 
3003
        je      .draw_caption_style_3
-
 
3004
 
-
 
3005
        jmp     .not_style_3
-
 
3006
  .draw_caption_style_3:
-
 
3007
 
-
 
3008
        push    edx
-
 
3009
        call    drawwindow_IV_caption
-
 
3010
        add     esp,4
-
 
3011
        jmp     .2
-
 
3012
 
-
 
3013
  .not_style_3:
-
 
3014
        cmp     bl,2
-
 
3015
        jne     .not_style_2
-
 
3016
 
-
 
3017
        call    drawwindow_III_caption
-
 
3018
        jmp     .2
-
 
3019
 
-
 
3020
  .not_style_2:
-
 
3021
        cmp     bl,0
-
 
3022
        jne     .2
-
 
3023
 
-
 
3024
        call    drawwindow_I_caption
-
 
3025
 
-
 
3026
;--------------------------------------------------------------
-
 
3027
  .2:   ;jmp     @f
-
 
3028
        mov     edi,[CURRENT_TASK]
-
 
3029
        shl     edi,5
-
 
3030
        test    [edi+window_data+WDATA.fl_wstyle],WSTYLE_HASCAPTION
-
 
3031
        jz      @f
-
 
3032
        mov     edx,[edi*8+SLOT_BASE+APPDATA.wnd_caption]
-
 
3033
        or      edx,edx
-
 
3034
        jz      @f
-
 
3035
 
-
 
3036
        movzx   eax,[edi+window_data+WDATA.fl_wstyle]
-
 
3037
        and     al,0x0F
-
 
3038
        cmp     al,3
-
 
3039
        je      .skinned
-
 
3040
        cmp     al,4
-
 
3041
        je      .skinned
-
 
3042
 
-
 
3043
        jmp     .not_skinned
-
 
3044
  .skinned:
-
 
3045
        mov     ebp,[edi+window_data+WDATA.box.left-2]
-
 
3046
        mov     bp,word[edi+window_data+WDATA.box.top]
-
 
3047
        movzx   eax,word[edi+window_data+WDATA.box.width]
-
 
3048
        sub     ax,[_skinmargins.left]
-
 
3049
        sub     ax,[_skinmargins.right]
-
 
3050
        push    edx
-
 
3051
        cwde
-
 
3052
        cdq
-
 
3053
        mov     ebx,6
-
 
3054
        idiv    ebx
-
 
3055
        pop     edx
-
 
3056
        or      eax,eax
-
 
3057
        js      @f
-
 
3058
        mov     esi,eax
-
 
3059
        mov     ebx,dword[_skinmargins.left-2]
-
 
3060
        mov     bx,word[_skinh]
-
 
3061
        sub     bx,[_skinmargins.bottom]
-
 
3062
        sub     bx,[_skinmargins.top]
-
 
3063
        sar     bx,1
-
 
3064
        adc     bx,0
-
 
3065
        add     bx,[_skinmargins.top]
-
 
3066
        add     bx,-3
-
 
3067
        add     ebx,ebp
-
 
3068
        jmp     .dodraw
-
 
3069
 
-
 
3070
  .not_skinned:
-
 
3071
        cmp     al,1
-
 
3072
        je      @f
-
 
3073
 
-
 
3074
        mov     ebp,[edi+window_data+WDATA.box.left-2]
-
 
3075
        mov     bp,word[edi+window_data+WDATA.box.top]
-
 
3076
        movzx   eax,word[edi+window_data+WDATA.box.width]
-
 
3077
        sub     eax,16
-
 
3078
        push    edx
-
 
3079
        cwde
-
 
3080
        cdq
-
 
3081
        mov     ebx,6
-
 
3082
        idiv    ebx
-
 
3083
        pop     edx
-
 
3084
        or      eax,eax
-
 
3085
        js      @f
-
 
3086
        mov     esi,eax
-
 
3087
        mov     ebx,0x00080007
-
 
3088
        add     ebx,ebp
-
 
3089
.dodraw:
-
 
3090
        mov     ecx,[common_colours+16];0x00FFFFFF
-
 
3091
        or      ecx, 0x80000000
-
 
3092
        xor     edi,edi
-
 
3093
; // Alver 22.06.2008 // {
-
 
3094
;       call    dtext
-
 
3095
        call dtext_asciiz_esi
-
 
3096
; } \\ Alver \\
-
 
3097
 
-
 
3098
    @@:
-
 
3099
;--------------------------------------------------------------
-
 
3100
        dec     [mouse_pause]
-
 
3101
        call    [draw_pointer]
-
 
3102
        ret
-
 
3103
 
-
 
3104
iglobal
-
 
3105
align 4
-
 
3106
window_topleft dd \
-
 
3107
  1, 21,\               ;type 0
-
 
3108
  0,  0,\       ;type 1
-
 
3109
  5, 20,\       ;type 2
-
 
3110
  5,  ?,\       ;type 3 {set by skin}
-
 
3111
  5,  ?         ;type 4 {set by skin}
-
 
3112
endg
-
 
3113
 
-
 
3114
set_window_clientbox:
-
 
3115
        push    eax ecx edi
-
 
3116
 
-
 
3117
        mov     eax,[_skinh]
-
 
3118
        mov     [window_topleft+4*7],eax
-
 
3119
        mov     [window_topleft+4*9],eax
-
 
3120
 
-
 
3121
        mov     ecx,edi
-
 
3122
        sub     edi,window_data
-
 
3123
        shl     edi,3
-
 
3124
        test    [ecx+WDATA.fl_wstyle],WSTYLE_CLIENTRELATIVE
-
 
3125
        jz      @f
-
 
3126
 
-
 
3127
        movzx   eax,[ecx+WDATA.fl_wstyle]
-
 
3128
        and     eax,0x0F
-
 
3129
        mov     eax,[eax*8+window_topleft+0]
-
 
3130
        mov     [edi+SLOT_BASE+APPDATA.wnd_clientbox.left],eax
-
 
3131
        shl     eax,1
-
 
3132
        neg     eax
-
 
3133
        add     eax,[ecx+WDATA.box.width]
-
 
3134
        mov     [edi+SLOT_BASE+APPDATA.wnd_clientbox.width],eax
-
 
3135
 
-
 
3136
        movzx   eax,[ecx+WDATA.fl_wstyle]
-
 
3137
        and     eax,0x0F
-
 
3138
        push    [eax*8+window_topleft+0]
-
 
3139
        mov     eax,[eax*8+window_topleft+4]
-
 
3140
        mov     [edi+SLOT_BASE+APPDATA.wnd_clientbox.top],eax
-
 
3141
        neg     eax
-
 
3142
        sub     eax,[esp]
-
 
3143
        add     eax,[ecx+WDATA.box.height]
-
 
3144
        mov     [edi+SLOT_BASE+APPDATA.wnd_clientbox.height],eax
-
 
3145
        add     esp,4
-
 
3146
 
-
 
3147
        pop     edi ecx eax
-
 
3148
        ret
-
 
3149
    @@:
-
 
3150
        xor     eax,eax
-
 
3151
        mov     [edi+SLOT_BASE+APPDATA.wnd_clientbox.left],eax
-
 
3152
        mov     [edi+SLOT_BASE+APPDATA.wnd_clientbox.top],eax
-
 
3153
        mov     eax,[ecx+WDATA.box.width]
-
 
3154
        mov     [edi+SLOT_BASE+APPDATA.wnd_clientbox.width],eax
-
 
3155
        mov     eax,[ecx+WDATA.box.height]
-
 
3156
        mov     [edi+SLOT_BASE+APPDATA.wnd_clientbox.height],eax
-
 
3157
 
-
 
3158
        pop     edi ecx eax
-
 
3159
        ret
-
 
3160
 
-
 
3161
sys_set_window:
-
 
3162
 
-
 
3163
    mov   eax,[CURRENT_TASK]
-
 
3164
    shl   eax,5
-
 
3165
    add   eax,window_data
-
 
3166
 
-
 
3167
    ; colors
-
 
3168
    mov   [eax+WDATA.cl_workarea],edx
-
 
3169
    mov   [eax+WDATA.cl_titlebar],esi
-
 
3170
    mov   [eax+WDATA.cl_frames],edi
-
 
3171
 
-
 
3172
    mov   edi, eax
-
 
3173
 
-
 
3174
    ; check flag (?)
-
 
3175
    test  [edi+WDATA.fl_wdrawn],1
-
 
3176
    jnz   newd
-
 
3177
 
-
 
3178
    mov   eax,[timer_ticks] ;[0xfdf0]
-
 
3179
    add   eax,100
-
 
3180
    mov   [new_window_starting],eax
-
 
3181
 
-
 
3182
    movsx eax,bx
-
 
3183
    mov   [edi+WDATA.box.width],eax
-
 
3184
    movsx eax,cx
-
 
3185
    mov   [edi+WDATA.box.height],eax
-
 
3186
    sar   ebx,16
-
 
3187
    sar   ecx,16
-
 
3188
    mov   [edi+WDATA.box.left],ebx
-
 
3189
    mov   [edi+WDATA.box.top],ecx
-
 
3190
 
-
 
3191
    call  check_window_position
-
 
3192
 
-
 
3193
    push  ecx esi edi               ; save for window fullscreen/resize
-
 
3194
    ;mov   esi,edi
-
 
3195
 
-
 
3196
        mov     cl, [edi+WDATA.fl_wstyle]
-
 
3197
        mov     eax, [edi+WDATA.cl_frames]
-
 
3198
 
-
 
3199
    sub   edi,window_data
-
 
3200
    shl   edi,3
-
 
3201
    add   edi,SLOT_BASE
-
 
3202
 
-
 
3203
        and     cl,0x0F
-
 
3204
        mov     [edi+APPDATA.wnd_caption],0
-
 
3205
        cmp     cl,3
-
 
3206
        je      set_APPDATA_wnd_caption
-
 
3207
        cmp     cl,4                                                            ; {SPraid.simba}
-
 
3208
        je      set_APPDATA_wnd_caption
-
 
3209
 
-
 
3210
        jmp     @f
-
 
3211
    set_APPDATA_wnd_caption:
-
 
3212
        mov     [edi+APPDATA.wnd_caption],eax
-
 
3213
    @@: mov     esi,[esp+0]
-
 
3214
 
-
 
3215
    add   edi, APPDATA.saved_box
-
 
3216
        movsd
-
 
3217
        movsd
-
 
3218
        movsd
-
 
3219
        movsd
-
 
3220
    pop   edi esi ecx
-
 
3221
 
-
 
3222
        mov     esi, [CURRENT_TASK]
-
 
3223
        movzx   esi, word [WIN_STACK+esi*2]
-
 
3224
        lea     esi, [WIN_POS+esi*2]
-
 
3225
        call    waredraw
-
 
3226
 
-
 
3227
;;;    mov   ebx, 1
-
 
3228
;;;    call  delay_hs
-
 
3229
    mov   eax, [edi+WDATA.box.left]
-
 
3230
    mov   ebx, [edi+WDATA.box.top]
-
 
3231
    mov   ecx, [edi+WDATA.box.width]
-
 
3232
    mov   edx, [edi+WDATA.box.height]
-
 
3233
    add   ecx, eax
-
 
3234
    add   edx, ebx
-
 
3235
    call  calculatescreen
-
 
3236
 
-
 
3237
    mov   [KEY_COUNT],byte 0           ; empty keyboard buffer
-
 
3238
    mov   [BTN_COUNT],byte 0           ; empty button buffer
-
 
3239
 
-
 
3240
  newd:
-
 
3241
    call  set_window_clientbox
-
 
3242
 
-
 
3243
    mov   [edi+WDATA.fl_redraw],byte 0   ; no redraw
-
 
3244
    mov   edx,edi
-
 
3245
 
-
 
3246
    ret
-
 
3247
 
-
 
3248
syscall_windowsettings:
-
 
3249
 
-
 
3250
  .set_window_caption:
-
 
3251
        dec     ebx     ; subfunction #1 - set window caption
-
 
3252
        jnz     .exit_fail
-
 
3253
 
-
 
3254
        ; NOTE: only window owner thread can set its caption,
-
 
3255
        ;       so there's no parameter for PID/TID
-
 
3256
 
-
 
3257
        mov     edi,[CURRENT_TASK]
-
 
3258
        shl     edi,5
-
 
3259
 
-
 
3260
        ; have to check if caption is within application memory limit
-
 
3261
        ; check is trivial, and if application resizes its memory,
-
 
3262
        ;   caption still can become over bounds
-
 
3263
; diamond, 31.10.2006: check removed because with new memory manager
-
 
3264
; there can be valid data after APPDATA.mem_size bound
-
 
3265
;        mov     ecx,[edi*8+SLOT_BASE+APPDATA.mem_size]
-
 
3266
;        add     ecx,255 ; max caption length
-
 
3267
;        cmp     ebx,ecx
-
 
3268
;        ja      .exit_fail
-
 
3269
 
-
 
3270
        mov     [edi*8+SLOT_BASE+APPDATA.wnd_caption],ecx
-
 
3271
        or      [edi+window_data+WDATA.fl_wstyle],WSTYLE_HASCAPTION
-
 
3272
 
-
 
3273
        call    draw_window_caption
-
 
3274
 
-
 
3275
        xor     eax,eax ; eax = 0 (success)
-
 
3276
        ret
-
 
3277
 
-
 
3278
;  .get_window_caption:
-
 
3279
;        dec     eax     ; subfunction #2 - get window caption
-
 
3280
;        jnz     .exit_fail
-
 
3281
 
-
 
3282
        ; not implemented yet
-
 
3283
 
-
 
3284
  .exit_fail:
-
 
3285
        xor     eax,eax
-
 
3286
        inc     eax     ; eax = 1 (fail)
-
 
3287
        ret
-
 
3288
 
-
 
3289
 
-
 
3290
sys_window_move:
-
 
3291
 
-
 
3292
        mov     edi,[CURRENT_TASK]
-
 
3293
        shl     edi,5
-
 
3294
        add     edi,window_data
-
 
3295
 
-
 
3296
        test    [edi+WDATA.fl_wstate],WSTATE_MAXIMIZED
-
 
3297
        jnz     .window_move_return
-
 
3298
 
-
 
3299
        push    dword [edi + WDATA.box.left]  ; save old coordinates
-
 
3300
        push    dword [edi + WDATA.box.top]
-
 
3301
        push    dword [edi + WDATA.box.width]
-
 
3302
        push    dword [edi + WDATA.box.height]
-
 
3303
 
-
 
3304
        cmp   eax,-1                  ; set new position and size
-
 
3305
        je    .no_x_reposition
-
 
3306
        mov     [edi + WDATA.box.left], eax
-
 
3307
      .no_x_reposition:
-
 
3308
        cmp   ebx,-1
-
 
3309
        je    .no_y_reposition
-
 
3310
        mov     [edi + WDATA.box.top], ebx
-
 
3311
      .no_y_reposition:
-
 
3312
 
-
 
3313
        test    [edi+WDATA.fl_wstate],WSTATE_ROLLEDUP
-
 
3314
        jnz     .no_y_resizing
-
 
3315
 
-
 
3316
        cmp   ecx,-1
-
 
3317
        je    .no_x_resizing
-
 
3318
        mov     [edi + WDATA.box.width], ecx
-
 
3319
      .no_x_resizing:
-
 
3320
        cmp   edx,-1
-
 
3321
        je    .no_y_resizing
-
 
3322
        mov     [edi + WDATA.box.height], edx
-
 
3323
      .no_y_resizing:
-
 
3324
 
-
 
3325
        call  check_window_position
-
 
3326
        call  set_window_clientbox
-
 
3327
 
-
 
3328
        pushad                       ; save for window fullscreen/resize
-
 
3329
        mov   esi,edi
-
 
3330
        sub   edi,window_data
-
 
3331
        shr   edi,5
-
 
3332
        shl   edi,8
-
 
3333
        add   edi, SLOT_BASE + APPDATA.saved_box
-
 
3334
        mov   ecx,4
-
 
3335
        cld
-
 
3336
        rep   movsd
-
 
3337
        popad
-
 
3338
 
-
 
3339
        pushad                       ; calculcate screen at new position
-
 
3340
        mov   eax, [edi + WDATA.box.left]
-
 
3341
        mov   ebx, [edi + WDATA.box.top]
-
 
3342
        mov   ecx, [edi + WDATA.box.width]
-
 
3343
        mov   edx, [edi + WDATA.box.height]
-
 
3344
        add   ecx,eax
-
 
3345
        add   edx,ebx
-
 
3346
 
-
 
3347
        call  calculatescreen
-
 
3348
        popad
-
 
3349
 
-
 
3350
        pop   edx                   ; calculcate screen at old position
-
 
3351
        pop   ecx
-
 
3352
        pop   ebx
-
 
3353
        pop   eax
-
 
3354
        add   ecx,eax
-
 
3355
        add   edx,ebx
-
 
3356
        mov   [draw_limits.left],eax             ; save for drawlimits
-
 
3357
        mov   [draw_limits.top],ebx
-
 
3358
        mov   [draw_limits.right],ecx
-
 
3359
        mov   [draw_limits.bottom],edx
-
 
3360
        call  calculatescreen
-
 
3361
 
-
 
3362
        mov   [edi + WDATA.fl_redraw], 1 ; flag the process as redraw
-
 
3363
 
-
 
3364
        mov   eax,edi               ; redraw screen at old position
-
 
3365
        xor   esi,esi
-
 
3366
        call  redrawscreen
-
 
3367
 
-
 
3368
        mov   [DONT_DRAW_MOUSE],byte 0 ; mouse pointer
-
 
3369
        mov   [MOUSE_BACKGROUND],byte 0 ; no mouse under
-
 
3370
        mov   [MOUSE_DOWN],byte 0 ; react to mouse up/down
-
 
3371
 
-
 
3372
        call  [draw_pointer]
-
 
3373
 
-
 
3374
        mov   [window_move_pr],0
-
 
3375
 
-
 
3376
      .window_move_return:
-
 
3377
 
-
 
3378
        ret
-
 
3379
 
-
 
3380
uglobal
-
 
3381
  window_move_pr   dd  0x0
-
 
3382
  window_move_eax  dd  0x0
-
 
3383
  window_move_ebx  dd  0x0
-
 
3384
  window_move_ecx  dd  0x0
-
 
3385
  window_move_edx  dd  0x0
-
 
3386
endg
2907
        ret
3387
 
2908
 
3388
;ok - 100% work
2909
;ok - 100% work
3389
;nt - not tested
2910
;nt - not tested
3390
;---------------------------------------------------------------------------------------------
2911
;---------------------------------------------------------------------------------------------