GUI Desktop
This pretty much manages everything that gets drawn on the screen. Originally written in C
, rewritten and documented in C++
.
How the desktop works
[start_desktop
called] –> [Mouse position reset to (0, 0)] –> [(vbe_clear_screen
called) Screen cleared (Set to 0x000000ff
)] –> [Starts loop]
What the loop does:
[Check for PS/2 Keyboard events (key_event_t
defined, ps2_get_key_event
called)] –> [Check for PS/2 Mouse events (mouse_event_t
defined, ps2_get_mouse_event
called)] –> [Redraws cursor if mouse has moved, handles button presses, etc]
desktop.cpp
Includes
Headers included in desktop.cpp
desktop.h
- As external “C”
Point.h
bindraw.h
(For drawing in binary)../drivers/ps2_keyboard.h
../drivers/ps2_mouse.h
../drivers/vbe.h
Functions
Functions declared in desktop.cpp
start_desktop
desktop.h
Includes
Headers included in desktop.h
../drivers/types.h
Functions
start_desktop
Definitions
void start_desktop();