summaryrefslogtreecommitdiff
path: root/Kernel/ProcessGUI.cpp
AgeCommit message (Collapse)Author
2019-01-15Slap an InterruptDisabler on gui$invalidate_window().Andreas Kling
This is obviously not a permanent solution but it works now to allow the windowing system to withstand invalidation spam.
2019-01-14Build Painter & friends into LibC. Use it in the GUI test app.Andreas Kling
2019-01-14Share GraphicsBitmaps between the windowing server and the client process.Andreas Kling
This is pretty cool. :^) GraphicsBitmaps are now mapped into both the server and the client address space (usually at different addresses but that doesn't matter.) Added a GUI syscall for getting a window's backing store, and another one for invalidating a window so that the server redraws it.
2019-01-14Start refactoring the windowing system to use an event loop.Andreas Kling
Userspace programs can now open /dev/gui_events and read a stream of GUI_Event structs one at a time. I was stuck on a stupid problem where we'd reenter Scheduler::yield() due to having one of the has_data_available_for_reading() implementations using locks.
2019-01-13gui$create_widget() shouldn't try to make button corners opaque.Andreas Kling
2019-01-13Let's use the existing Rect and Color types in the GUI API.Andreas Kling
Any type that doesn't depend on indirect data can probably be used here.
2019-01-13Add basic GUI API for creating labels and buttons.Andreas Kling
2019-01-13Start working on a GUI kernel API.Andreas Kling