Subversion Repositories Kolibri OS

Rev

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

Rev 5201 Rev 5565
Line 1... Line 1...
1
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
2
;;                                                              ;;
2
;;                                                              ;;
3
;; Copyright (C) KolibriOS team 2004-2014. All rights reserved. ;;
3
;; Copyright (C) KolibriOS team 2004-2015. All rights reserved. ;;
4
;; Distributed under terms of the GNU General Public License    ;;
4
;; Distributed under terms of the GNU General Public License    ;;
5
;;                                                              ;;
5
;;                                                              ;;
6
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
6
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Line 7... Line 7...
7
 
7
 
Line 8... Line 8...
8
$Revision: 5201 $
8
$Revision: 5565 $
9
 
9
 
10
 
10
 
Line 526... Line 526...
526
        push    ecx
526
        push    ecx
527
;--------------------------------------
527
;--------------------------------------
528
align 4
528
align 4
529
@@:
529
@@:
530
        mov     edi, ebx
530
        mov     edi, ebx
531
        add     ebx, [_display.pitch]
531
        add     ebx, [_display.lfb_pitch]
Line 532... Line 532...
532
 
532
 
533
        mov     ecx, [esp]
533
        mov     ecx, [esp]
534
        rep movsb
534
        rep movsb
535
        dec     edx
535
        dec     edx
Line 561... Line 561...
561
        mov     esi, cur_saved_data
561
        mov     esi, cur_saved_data
562
;--------------------------------------
562
;--------------------------------------
563
align 4
563
align 4
564
@@:
564
@@:
565
        mov     edi, ebx
565
        mov     edi, ebx
566
        add     ebx, [_display.pitch]
566
        add     ebx, [_display.lfb_pitch]
Line 567... Line 567...
567
 
567
 
568
        mov     ecx, [cur.w]
568
        mov     ecx, [cur.w]
569
        rep movsd
569
        rep movsd
570
        dec     edx
570
        dec     edx
Line 595... Line 595...
595
        mov     esi, cur_saved_data
595
        mov     esi, cur_saved_data
596
;--------------------------------------
596
;--------------------------------------
597
align 4
597
align 4
598
@@:
598
@@:
599
        mov     edi, ebx
599
        mov     edi, ebx
600
        add     ebx, [_display.pitch]
600
        add     ebx, [_display.lfb_pitch]
Line 601... Line 601...
601
 
601
 
602
        mov     ecx, [cur.w]
602
        mov     ecx, [cur.w]
603
        rep movsw
603
        rep movsw
604
        dec     edx
604
        dec     edx
Line 657... Line 657...
657
        mov     [cur_saved_base], edx
657
        mov     [cur_saved_base], edx
Line 658... Line 658...
658
 
658
 
659
        cmp     ebx, [_display.width]
659
        cmp     ebx, [_display.width]
660
        jb      @F
660
        jb      @F
661
        mov     ebx, [_display.width]
-
 
662
        dec     ebx
661
        mov     ebx, [_display.width]
663
;--------------------------------------
662
;--------------------------------------
664
align 4
663
align 4
665
@@:
664
@@:
666
        cmp     edi, [_display.height]
665
        cmp     edi, [_display.height]
667
        jb      @F
666
        jb      @F
668
        mov     edi, [_display.height]
-
 
669
        dec     edi
667
        mov     edi, [_display.height]
670
;--------------------------------------
668
;--------------------------------------
671
align 4
669
align 4
672
@@:
-
 
673
        mov     [cur.right], ebx
-
 
Line 674... Line 670...
674
        mov     [cur.bottom], edi
670
@@:
675
 
671
 
676
        sub     ebx, [x]
-
 
677
        sub     edi, [y]
-
 
678
        inc     ebx
672
        sub     ebx, [x]
679
        inc     edi
673
        sub     edi, [y]
Line 680... Line 674...
680
        sub     ebx, [_dx]
674
        sub     ebx, [_dx]
681
        sub     edi, [_dy]
675
        sub     edi, [_dy]
Line 688... Line 682...
688
        mov     edi, cur_saved_data
682
        mov     edi, cur_saved_data
689
;--------------------------------------
683
;--------------------------------------
690
align 4
684
align 4
691
@@:
685
@@:
692
        mov     esi, edx
686
        mov     esi, edx
693
        add     edx, [_display.pitch]
687
        add     edx, [_display.lfb_pitch]
694
        mov     ecx, [cur.w]
688
        mov     ecx, [cur.w]
695
        lea     ecx, [ecx+ecx*2]
689
        lea     ecx, [ecx+ecx*2]
696
        rep movsb
690
        rep movsb
697
        dec     eax
691
        dec     eax
698
        jnz     @B
692
        jnz     @B
Line 711... Line 705...
711
.row:
705
.row:
712
        mov     ecx, [cur.w]
706
        mov     ecx, [cur.w]
713
        mov     esi, edx
707
        mov     esi, edx
714
        mov     edi, ebx
708
        mov     edi, ebx
715
        add     edx, 32*4
709
        add     edx, 32*4
716
        add     ebx, [_display.pitch]
710
        add     ebx, [_display.lfb_pitch]
717
;--------------------------------------
711
;--------------------------------------
718
align 4
712
align 4
719
.pix:
713
.pix:
720
        lodsd
714
        lodsd
721
        test    eax, 0xFF000000
715
        test    eax, 0xFF000000
Line 777... Line 771...
777
        mov     [cur_saved_base], edx
771
        mov     [cur_saved_base], edx
Line 778... Line 772...
778
 
772
 
779
        cmp     ebx, [_display.width]
773
        cmp     ebx, [_display.width]
780
        jb      @F
774
        jb      @F
781
        mov     ebx, [_display.width]
-
 
782
        dec     ebx
775
        mov     ebx, [_display.width]
783
;--------------------------------------
776
;--------------------------------------
784
align 4
777
align 4
785
@@:
778
@@:
786
        cmp     edi, [_display.height]
779
        cmp     edi, [_display.height]
787
        jb      @F
780
        jb      @F
788
        mov     edi, [_display.height]
-
 
789
        dec     edi
781
        mov     edi, [_display.height]
790
;--------------------------------------
782
;--------------------------------------
791
align 4
783
align 4
792
@@:
-
 
793
        mov     [cur.right], ebx
-
 
794
        mov     [cur.bottom], edi
-
 
795
 
784
@@:
796
        sub     ebx, [x]
785
        sub     ebx, [x]
797
        sub     edi, [y]
-
 
798
        inc     ebx
-
 
799
        inc     edi
786
        sub     edi, [y]
800
        sub     ebx, [_dx]
787
        sub     ebx, [_dx]
Line 801... Line 788...
801
        sub     edi, [_dy]
788
        sub     edi, [_dy]
802
 
789
 
Line 808... Line 795...
808
        mov     edi, cur_saved_data
795
        mov     edi, cur_saved_data
809
;--------------------------------------
796
;--------------------------------------
810
align 4
797
align 4
811
@@:
798
@@:
812
        mov     esi, edx
799
        mov     esi, edx
813
        add     edx, [_display.pitch]
800
        add     edx, [_display.lfb_pitch]
814
        mov     ecx, [cur.w]
801
        mov     ecx, [cur.w]
815
        rep movsd
802
        rep movsd
816
        dec     eax
803
        dec     eax
817
        jnz     @B
804
        jnz     @B
Line 830... Line 817...
830
.row:
817
.row:
831
        mov     ecx, [cur.w]
818
        mov     ecx, [cur.w]
832
        mov     esi, edx
819
        mov     esi, edx
833
        mov     edi, ebx
820
        mov     edi, ebx
834
        add     edx, 32*4
821
        add     edx, 32*4
835
        add     ebx, [_display.pitch]
822
        add     ebx, [_display.lfb_pitch]
836
;--------------------------------------
823
;--------------------------------------
837
align 4
824
align 4
838
.pix:
825
.pix:
839
        lodsd
826
        lodsd
840
        test    eax, 0xFF000000
827
        test    eax, 0xFF000000
Line 891... Line 878...
891
;        mul     dword [BytesPerScanLine]
878
;        mul     dword [BytesPerScanLine]
892
        mov     eax, [BPSLine_calc_area+eax*4]
879
        mov     eax, [BPSLine_calc_area+eax*4]
893
        lea     edx, [LFB_BASE+eax+ecx*2]
880
        lea     edx, [LFB_BASE+eax+ecx*2]
894
        mov     [cur_saved_base], edx
881
        mov     [cur_saved_base], edx
Line 895... Line 882...
895
 
882
 
896
        cmp     ebx, [Screen_Max_X]
883
        cmp     ebx, [_display.width]
897
        jbe     @F
884
        jb      @F
898
        mov     ebx, [Screen_Max_X]
885
        mov     ebx, [_display.width]
899
;--------------------------------------
886
;--------------------------------------
900
align 4
887
align 4
901
@@:
888
@@:
902
        cmp     edi, [Screen_Max_Y]
889
        cmp     edi, [_display.height]
903
        jbe     @F
890
        jb      @F
904
        mov     edi, [Screen_Max_Y]
891
        mov     edi, [_display.height]
905
;--------------------------------------
892
;--------------------------------------
906
align 4
893
align 4
907
@@:
-
 
908
        mov     [cur.right], ebx
-
 
909
        mov     [cur.bottom], edi
-
 
910
 
894
@@:
911
        sub     ebx, [x]
895
        sub     ebx, [x]
912
        sub     edi, [y]
-
 
913
        inc     ebx
-
 
914
        inc     edi
896
        sub     edi, [y]
915
        sub     ebx, [_dx]
897
        sub     ebx, [_dx]
Line 916... Line 898...
916
        sub     edi, [_dy]
898
        sub     edi, [_dy]
917
 
899
 
Line 923... Line 905...
923
        mov     edi, cur_saved_data
905
        mov     edi, cur_saved_data
924
;--------------------------------------
906
;--------------------------------------
925
align 4
907
align 4
926
@@:
908
@@:
927
        mov     esi, edx
909
        mov     esi, edx
928
        add     edx, [_display.pitch]
910
        add     edx, [_display.lfb_pitch]
929
        mov     ecx, [cur.w]
911
        mov     ecx, [cur.w]
Line 930... Line 912...
930
 
912
 
931
        rep movsw
913
        rep movsw
932
        dec     eax
914
        dec     eax
Line 946... Line 928...
946
.row:
928
.row:
947
        mov     ecx, [cur.w]
929
        mov     ecx, [cur.w]
948
        mov     esi, edx
930
        mov     esi, edx
949
        mov     edi, ebx
931
        mov     edi, ebx
950
        add     edx, 32*4
932
        add     edx, 32*4
951
        add     ebx, [_display.pitch]
933
        add     ebx, [_display.lfb_pitch]
952
;--------------------------------------
934
;--------------------------------------
953
align 4
935
align 4
954
.pix:
936
.pix:
955
        lodsd
937
        lodsd
956
        test    eax, 0xFF000000
938
        test    eax, 0xFF000000