ShiftOS-C-/source/ShiftUI/Internal/MONO-NOTES

29 lines
1.4 KiB
Text
Raw Normal View History

Application.Idle is invoked on the same thread used to add the event
our hacky double buffering only works on the client area, not the nc
area. need to move to a more XplatUI solution involving server-side
drawing surfaces (pixmaps in the X case).
right now the expose/configure event aggregating is done in the
XEventThread (in the hwnd code, but in the thread running the x event
loop). There is probably a way to get it to run in the thread doing
GetMessage, probably by making GetMessage know about both the xevent
and paint queue's, and having it consume the x queue until there's
nothing left, doing the AddExpose stuff there. then, once the xqueue
is empty, consume the paint queue. This has the added benefit of
making the paint queue a ThreadQueue local thing - no locking will be
needed on it, since the only thing touching it will be the thread
running the message pump.
why do we /nowarn:108? we lose tons of possibly important warnings due to that...
more event work:
CheckedListBox: nothing done.
DataGridView*: nothing done.
GridColumnStylesCollection: nothing done, no Component inheritance
GridTableStylesCollection: nothing done, no Component inheritance
MenuItem: what do we do about CloneMenu? we can't have assignment of events like that (look for the #if notyet)
MonthCalendar: nothing done.
Panel: nothing done. see whether the events should be "new" or now..