Commit Graph

20 Commits

Author SHA1 Message Date
Pietro Gagliardi 49103abe7c As it turns out, Windows does have a facility for windows that only serve as message dispatches; let's use it for our message handler. (I only found this out while looking up SetParent() for the previous commit). 2014-04-09 11:13:35 -04:00
Pietro Gagliardi df087d0ea5 Fixed the Windows stalling when scrolling an Area problem: messages were getting lost because (I assume) scrolling is done in a modal event loop. Alas, we have to change to using a dummy window to handle events. Also altered the respective TODO to document bugs now exposed by this fix. 2014-04-01 19:10:30 -04:00
Pietro Gagliardi 593ded848b Removed a stray TODO comment whose purpose is long forgotten. 2014-04-01 15:16:29 -04:00
Pietro Gagliardi b2f0fe1956 Reordered each part of the Windows uitask so that it does things in the same order and with the same goroutine setup as the other platforms; this gets rid of a few channels. Also panics on more errors (gets rid of a few more channels) and removed some stray TODOs. 2014-04-01 15:14:57 -04:00
Pietro Gagliardi a94d154e1b Implemented Area.SetSize() on Windows. 2014-03-29 18:51:22 -04:00
Pietro Gagliardi cfcac03df7 Added GDI+ to the package's Windows version: DLL loaded, initialized, and shut down. It will be used for drawing to Areas because using GDI itself is more complex than it needs to be. 2014-03-24 17:01:33 -04:00
Pietro Gagliardi 34ce16d586 Separated file creation dates from the package comment. 2014-03-12 21:55:45 -04:00
Pietro Gagliardi c0c1e09186 Have ui.Go() return on main() return on Windows. 2014-03-05 13:21:45 -05:00
Pietro Gagliardi be5458c0a3 Major code restructure to allow Cocoa to work correctly. Cocoa requires that the application loop run on the very first OS thread created, not just an any ordinary thread. To support this, your code must now be run by the UI init code. Windows and Unix builds still work fine; Mac OS X fails for reasons I now have to debug. 2014-03-01 15:18:29 -05:00
Pietro Gagliardi bd51e3e9a7 Got rid of my Windows input lag problems on Windows (triggered by the switch to the concurrent garbage collector sweep routine in the Go runtime) by treating <-uitask as a Windows message itself posted to the message loop thread and not making the message loop a CPU waster. 2014-02-19 22:59:48 -05:00
Pietro Gagliardi fb82e651a4 Moved to a proper package; main() is now a test and go test -c is used to build. Once I iron out a bug with Windows event handling, I'll add a README. 2014-02-19 11:41:10 -05:00
Pietro Gagliardi b1b05c2b1f Removed all //package ui comments. 2014-02-17 18:01:32 -05:00
Pietro Gagliardi 355016de05 More error/TODO reduction. 2014-02-15 14:11:54 -05:00
Pietro Gagliardi 6da43e8bb7 Fixed the PeekMessage() call as per http://blogs.msdn.com/b/oldnewthing/archive/2006/02/10/529525.aspx 2014-02-11 22:38:46 -05:00
Pietro Gagliardi 08ba4a1074 Fixed the wndproc not responding: turns out I have to have message dispatch in the UI thread... 2014-02-11 22:18:14 -05:00
Pietro Gagliardi 73fa611b37 All build errors resolved. Now to test... 2014-02-11 19:18:03 -05:00
Pietro Gagliardi bbff3d4f62 Locked the Windows message loop goroutine to the OS thread. 2014-02-11 18:32:07 -05:00
Pietro Gagliardi a1344512aa Added the Windows message loop. 2014-02-11 18:31:24 -05:00
Pietro Gagliardi b727a972ad Set up initialization on Windows (2/2). 2014-02-11 16:25:27 -05:00
Pietro Gagliardi 9794814e93 Started implementing the public API: added the Window and Control types and the skeleton of the Windows implementation. 2014-02-11 16:14:15 -05:00