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.hbindraw.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();