summaryrefslogtreecommitdiff
path: root/driver
diff options
context:
space:
mode:
Diffstat (limited to 'driver')
-rw-r--r--driver/mouse.c10
-rw-r--r--driver/vesa.c9
2 files changed, 12 insertions, 7 deletions
diff --git a/driver/mouse.c b/driver/mouse.c
index 0485096..d0f1591 100644
--- a/driver/mouse.c
+++ b/driver/mouse.c
@@ -3,6 +3,7 @@
#include "mouse.h"
#include "ringbuffer.h"
+#include "compositor.h"
#include "interrupts.h"
#include "kernel/kernel.h"
#include "log.h"
@@ -145,13 +146,10 @@ void mouse_action()
if(mouse_x<0)mouse_x=0;
if(mouse_y<0)mouse_y=0;
- if(mouse_x>800)mouse_x=800;
- if(mouse_y>600)mouse_y=600;
+ if(mouse_x>=1920)mouse_x=1920-1;
+ if(mouse_y>=1080)mouse_y=1080-1;
- //klog("%d / %d / %02x ",mouse_x, mouse_y,mouse_byte[2]);
- if (mouse_byte[0] & 1)vesa_put_rect(mouse_x,600-mouse_y,10,10,0x00ffff);
- //else vesa_put_rect(mouse_x,600-mouse_y,10,10,0x0000ff);
- PutFont('X', mouse_x,600-mouse_y, 0xff0000,0);
+ compositor_mouse_handle(mouse_x,1080-mouse_y, mouse_byte[0]);
}
diff --git a/driver/vesa.c b/driver/vesa.c
index 848b0bf..7405422 100644
--- a/driver/vesa.c
+++ b/driver/vesa.c
@@ -137,6 +137,13 @@ uint32_t vesa_init(multiboot_information *inf, foolfont *rawfont)
vesaBpp=inf->framebuffer_bpp;
vesaAddr=inf->framebuffer_addr;
+ // virtual screen
+ vesaXres=640;
+ vesaYres=480;
+ vesaPitch=640*4;
+ vesaBpp=32;
+ vesaAddr=VMEM_USER_FRAMEBUFFER;
+
//the only functionallu important init lines! (rest is log)
//VbeModeInfoBlock=mode;
deffont=rawfont;
@@ -193,7 +200,7 @@ void PutPixel(int x,int y, int color)
if (x) x = (x*(vesaBpp>>3)); // get bytes (divide by 8)
if (y) y = (y*vesaPitch);
//uint8_t *cTemp=VbeModeInfoBlock->physbase;
- uint8_t *cTemp=VMEM_FRAMEBUFFER;
+ uint8_t *cTemp=VMEM_USER_FRAMEBUFFER;
cTemp[x+y] = (uint8_t)(color & 0xff);
cTemp[x+y+1] = (uint8_t)((color>>8) & 0xff);