Subversion Repositories Kolibri OS

Rev

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

Rev 41 Rev 49
Line 698... Line 698...
698
        call  palette320x200
698
        call  palette320x200
699
      no_pal_ega:
699
      no_pal_ega:
Line 700... Line 700...
700
 
700
 
Line -... Line 701...
-
 
701
; LOAD DEFAULT SKIN
701
; LOAD DEFAULT SKIN
702
 
-
 
703
        mov     esi,_skin_file_default
-
 
704
        mov     edi,_skin_file
-
 
705
        movsd
702
 
706
        movsd
Line 703... Line 707...
703
        call  load_default_skin
707
        movsd
Line 704... Line 708...
704
        call  load_default_skin_1
708
        call    load_skin
Line 812... Line 816...
812
 
816
 
813
        call   [draw_pointer]
817
        call   [draw_pointer]
814
        call   checkbuttons
818
        call   checkbuttons
815
        call   main_loop_sys_getkey
819
        call   main_loop_sys_getkey
816
        call   checkwindows
820
        call   checkwindows
817
        call   check_window_move_request
821
;       call   check_window_move_request
818
        call   checkmisc
822
        call   checkmisc
819
        call   checkEgaCga
823
        call   checkEgaCga
820
        call   stack_handler
824
        call   stack_handler
821
        call   checkidle
825
        call   checkidle
Line 2919... Line 2923...
2919
    ret
2923
    ret
Line 2920... Line 2924...
2920
 
2924
 
Line 2921... Line 2925...
2921
 
2925
 
2922
sys_window_move:
2926
sys_window_move:
-
 
2927
 
Line -... Line 2928...
-
 
2928
        mov     edi,[0x00003000]
2923
 
2929
        shl     edi,5
Line -... Line 2930...
-
 
2930
        add     edi,window_data
-
 
2931
 
-
 
2932
        test    [edi+WDATA.fl_wstate],WSTATE_MAXIMIZED
-
 
2933
        jnz     .window_move_return
-
 
2934
 
-
 
2935
        push  dword [edi+0]           ; save old coordinates
-
 
2936
        push  dword [edi+4]
-
 
2937
        push  dword [edi+8]
-
 
2938
        push  dword [edi+12]
-
 
2939
 
-
 
2940
        cmp   eax,-1                  ; set new position and size
-
 
2941
        je    .no_x_reposition
-
 
2942
        mov   [edi+0],eax
-
 
2943
      .no_x_reposition:
-
 
2944
        cmp   ebx,-1
-
 
2945
        je    .no_y_reposition
-
 
2946
        mov   [edi+4],ebx
-
 
2947
      .no_y_reposition:
-
 
2948
 
-
 
2949
        test    [edi+WDATA.fl_wstate],WSTATE_ROLLEDUP
-
 
2950
        jnz     .no_y_resizing
-
 
2951
 
-
 
2952
        cmp   ecx,-1
-
 
2953
        je    .no_x_resizing
-
 
2954
        mov   [edi+8],ecx
-
 
2955
      .no_x_resizing:
-
 
2956
        cmp   edx,-1
-
 
2957
        je    .no_y_resizing
-
 
2958
        mov   [edi+12],edx
-
 
2959
      .no_y_resizing:
-
 
2960
 
-
 
2961
        call  check_window_position
-
 
2962
 
-
 
2963
        pushad                       ; save for window fullscreen/resize
-
 
2964
        mov   esi,edi
2924
        cmp  [window_move_pr],0
2965
        sub   edi,window_data
-
 
2966
        shr   edi,5
-
 
2967
        shl   edi,8
Line -... Line 2968...
-
 
2968
        add   edi,0x80000+0x90
-
 
2969
        mov   ecx,4
-
 
2970
        cld
-
 
2971
        rep   movsd
-
 
2972
        popad
-
 
2973
 
-
 
2974
        pushad                       ; calculcate screen at new position
-
 
2975
        mov   eax,[edi+00]
2925
        je   mwrl1
2976
        mov   ebx,[edi+04]
Line -... Line 2977...
-
 
2977
        mov   ecx,[edi+8]
-
 
2978
        mov   edx,[edi+12]
-
 
2979
        add   ecx,eax
-
 
2980
        add   edx,ebx
-
 
2981
        call  calculatescreen
-
 
2982
        popad
2926
 
2983
 
-
 
2984
        pop   edx                   ; calculcate screen at old position
-
 
2985
        pop   ecx
2927
        mov  [esp+36],dword 1         ; return queue error
2986
        pop   ebx
-
 
2987
        pop   eax
-
 
2988
        add   ecx,eax
-
 
2989
        add   edx,ebx
-
 
2990
        mov   [dlx],eax             ; save for drawlimits
-
 
2991
        mov   [dly],ebx
-
 
2992
        mov   [dlxe],ecx
-
 
2993
        mov   [dlye],edx
-
 
2994
        call  calculatescreen
-
 
2995
 
-
 
2996
        mov   [edi+31],byte 1       ; flag the process as redraw
-
 
2997
 
-
 
2998
        mov   eax,edi               ; redraw screen at old position
-
 
2999
        xor   esi,esi
-
 
3000
        call  redrawscreen
-
 
3001
 
-
 
3002
        mov   [0xfff5],byte 0 ; mouse pointer
-
 
3003
        mov   [0xfff4],byte 0 ; no mouse under
-
 
3004
        mov   [0xfb44],byte 0 ; react to mouse up/down
Line 2928... Line -...
2928
 
-
 
2929
        ret
-
 
2930
 
3005
 
2931
     mwrl1:
-
 
Line 2932... Line 3006...
2932
 
3006
        mov   ecx,10          ; wait 1/10 second
Line 2933... Line 3007...
2933
        mov   edi,[0x3000]            ; requestor process base
3007
      .wmrl3:
Line 2934... Line 3008...
2934
        mov   [window_move_pr],edi
3008
        call  [draw_pointer]
2935
 
3009
        mov   eax,1