Subversion Repositories Kolibri OS

Rev

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

Rev 2435 Rev 2436
Line 15... Line 15...
15
;;                                                              ;;
15
;;                                                              ;;
16
;;  See file COPYING for details                                ;;
16
;;  See file COPYING for details                                ;;
17
;;                                                              ;;
17
;;                                                              ;;
18
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
18
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Line 19... Line 19...
19
 
19
 
Line 20... Line 20...
20
$Revision: 2435 $
20
$Revision: 2436 $
21
 
21
 
Line 450... Line 450...
450
;--------------------------------------
450
;--------------------------------------
451
align 4
451
align 4
452
.finish:
452
.finish:
453
        add     esp, putimg.stack_data
453
        add     esp, putimg.stack_data
454
        popad
454
        popad
-
 
455
        cmp     [SCR_MODE], dword 0x12
-
 
456
        jne     @f
455
        call    VGA__putimage
457
        call    VGA__putimage
-
 
458
;--------------------------------------
-
 
459
align 4
-
 
460
@@:
456
        mov     [EGA_counter], 1
461
        mov     [EGA_counter], 1
457
        ret
462
        ret
458
;--------------------------------------
463
;--------------------------------------
459
align 4
464
align 4
460
put_image_end_32_new:
465
put_image_end_32_new:
Line 598... Line 603...
598
        mov     eax, [esp+32-8+4]
603
        mov     eax, [esp+32-8+4]
599
;--------------------------------------
604
;--------------------------------------
600
; check mouse area for putpixel
605
; check mouse area for putpixel
601
        test    eax, 0x04000000
606
        test    eax, 0x04000000
602
        jnz     @f
607
        jnz     @f
603
        call    [_display.check_mouse]
608
        call    check_mouse_area_for_putpixel
604
;--------------------------------------
609
;--------------------------------------
605
align 4
610
align 4
606
@@:
611
@@:
607
; store to real LFB
612
; store to real LFB
608
        mov     [LFB_BASE+ebx+edi], ax
613
        mov     [LFB_BASE+ebx+edi], ax
609
        shr     eax, 16
614
        shr     eax, 16
610
        mov     [LFB_BASE+ebx+edi+2], al
615
        mov     [LFB_BASE+ebx+edi+2], al
-
 
616
        ret
-
 
617
;-----------------------------------------------------------------------------
-
 
618
align 4
-
 
619
Vesa20_putpixel24_new:
-
 
620
; eax = x
-
 
621
; ebx = y
-
 
622
        mov     ecx, eax
-
 
623
        shl     ecx, 16
-
 
624
        mov     cx, bx
-
 
625
 
-
 
626
        imul    ebx, [BytesPerScanLine]  ; ebx = y * y multiplier
-
 
627
        lea     edi, [eax+eax*2]; edi = x*3
-
 
628
        mov     eax, [esp+32-8+4]
-
 
629
;--------------------------------------
-
 
630
; check mouse area for putpixel
-
 
631
        test    eax, 0x04000000
-
 
632
        jnz     @f
-
 
633
;--------------------------------------
-
 
634
; check for Y
-
 
635
        cmp     cx, [Y_UNDER_subtraction_CUR_hot_y]
-
 
636
        jb      @f
-
 
637
 
-
 
638
        cmp     cx, [Y_UNDER_sub_CUR_hot_y_add_curh]
-
 
639
        jae     @f
-
 
640
 
-
 
641
        rol     ecx, 16
611
;--------------------------------------
642
;--------------------------------------
-
 
643
; check for X
-
 
644
        cmp     cx, [X_UNDER_subtraction_CUR_hot_x]
-
 
645
        jb      @f
-
 
646
 
-
 
647
        cmp     cx, [X_UNDER_sub_CUR_hot_x_add_curh]
-
 
648
        jae     @f
-
 
649
 
-
 
650
        call    check_mouse_area_for_putpixel_new.1
-
 
651
;--------------------------------------
-
 
652
align 4
-
 
653
@@:
-
 
654
; store to real LFB
-
 
655
        mov     [LFB_BASE+ebx+edi], ax
-
 
656
        shr     eax, 16
-
 
657
        mov     [LFB_BASE+ebx+edi+2], al
612
        ret
658
        ret
613
;-----------------------------------------------------------------------------
659
;-----------------------------------------------------------------------------
614
align 4
660
align 4
615
Vesa20_putpixel32:
661
Vesa20_putpixel32:
616
; eax = x
662
; eax = x
Line 624... Line 670...
624
        mov     eax, [esp+32-8+4]; eax = color
670
        mov     eax, [esp+32-8+4]; eax = color
625
;--------------------------------------
671
;--------------------------------------
626
; check mouse area for putpixel
672
; check mouse area for putpixel
627
        test    eax, 0x04000000
673
        test    eax, 0x04000000
628
        jnz     @f
674
        jnz     @f
629
        call    [_display.check_mouse]
675
        call    check_mouse_area_for_putpixel
630
;--------------------------------------
676
;--------------------------------------
631
align 4
677
align 4
632
@@:
678
@@:
633
        and     eax, 0xffffff
679
        and     eax, 0xffffff
634
; store to real LFB
680
; store to real LFB
635
        mov     [LFB_BASE+edi], eax
681
        mov     [LFB_BASE+edi], eax
-
 
682
        ret
-
 
683
;-----------------------------------------------------------------------------
-
 
684
align 4
-
 
685
Vesa20_putpixel32_new:
-
 
686
; eax = x
-
 
687
; ebx = y
-
 
688
        mov     ecx, eax
-
 
689
        shl     ecx, 16
-
 
690
        mov     cx, bx
-
 
691
 
-
 
692
        imul    ebx, [BytesPerScanLine]  ; ebx = y * y multiplier
-
 
693
        lea     edi, [ebx+eax*4]; edi = x*4+(y*y multiplier)
-
 
694
        mov     eax, [esp+32-8+4]; eax = color
-
 
695
;--------------------------------------
-
 
696
; check mouse area for putpixel
-
 
697
        test    eax, 0x04000000
-
 
698
        jnz     @f
-
 
699
;--------------------------------------
-
 
700
; check for Y
-
 
701
        cmp     cx, [Y_UNDER_subtraction_CUR_hot_y]
-
 
702
        jb      @f
-
 
703
 
-
 
704
        cmp     cx, [Y_UNDER_sub_CUR_hot_y_add_curh]
-
 
705
        jae     @f
-
 
706
 
-
 
707
        rol     ecx, 16
636
;--------------------------------------
708
;--------------------------------------
-
 
709
; check for X
-
 
710
        cmp     cx, [X_UNDER_subtraction_CUR_hot_x]
-
 
711
        jb      @f
-
 
712
 
-
 
713
        cmp     cx, [X_UNDER_sub_CUR_hot_x_add_curh]
-
 
714
        jae     @f
-
 
715
 
-
 
716
        call    check_mouse_area_for_putpixel_new.1
-
 
717
;--------------------------------------
-
 
718
align 4
-
 
719
@@:
-
 
720
        and     eax, 0xffffff
-
 
721
; store to real LFB
-
 
722
        mov     [LFB_BASE+edi], eax
637
        ret
723
        ret
638
;-----------------------------------------------------------------------------
724
;-----------------------------------------------------------------------------
639
align 4
725
align 4
640
calculate_edi:
726
calculate_edi:
641
        mov     edi, ebx
727
        mov     edi, ebx
Line 1206... Line 1292...
1206
;--------------------------------------
1292
;--------------------------------------
1207
align 4
1293
align 4
1208
.end:
1294
.end:
1209
        add     esp, drbar.stack_data
1295
        add     esp, drbar.stack_data
1210
        popad
1296
        popad
-
 
1297
        cmp     [SCR_MODE], dword 0x12
-
 
1298
        jne     @f
1211
        call    VGA_draw_bar
1299
        call    VGA_draw_bar
-
 
1300
;--------------------------------------
-
 
1301
align 4
-
 
1302
@@:
1212
        xor     eax, eax
1303
        xor     eax, eax
1213
        mov     [EGA_counter], 1
1304
        mov     [EGA_counter], 1
1214
        ret
1305
        ret
1215
;--------------------------------------
1306
;--------------------------------------
1216
align 4
1307
align 4
Line 1389... Line 1480...
1389
        inc     ebx
1480
        inc     ebx
1390
        cmp     ebx, [draw_data+32+RECT.bottom]
1481
        cmp     ebx, [draw_data+32+RECT.bottom]
1391
        jbe     dp2
1482
        jbe     dp2
1392
        popad
1483
        popad
1393
        mov     [EGA_counter], 1
1484
        mov     [EGA_counter], 1
-
 
1485
        cmp     [SCR_MODE], dword 0x12
-
 
1486
        jne     @f
1394
        call    VGA_drawbackground
1487
        call    VGA_drawbackground
-
 
1488
;--------------------------------------
-
 
1489
align 4
-
 
1490
@@:
1395
        ret
1491
        ret
1396
;------------------------------------------------------------------------------
1492
;------------------------------------------------------------------------------
1397
align 4
1493
align 4
1398
vesa20_drawbackground_stretch:
1494
vesa20_drawbackground_stretch:
1399
        pushad
1495
        pushad
Line 1596... Line 1692...
1596
align 4
1692
align 4
1597
sdpdone:
1693
sdpdone:
1598
        add     esp, 44
1694
        add     esp, 44
1599
        popad
1695
        popad
1600
        mov     [EGA_counter], 1
1696
        mov     [EGA_counter], 1
-
 
1697
        cmp     [SCR_MODE], dword 0x12
-
 
1698
        jne     @f
1601
        call    VGA_drawbackground
1699
        call    VGA_drawbackground
-
 
1700
;--------------------------------------
-
 
1701
align 4
-
 
1702
@@:
1602
        ret
1703
        ret
Line 1603... Line 1704...
1603
 
1704
 
1604
uglobal
1705
uglobal
1605
;--------------------------------------
1706
;--------------------------------------