| 12345678910111213141516171819202122232425262728 |
- 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..
|