Commit Graph

58 Commits

Author SHA1 Message Date
Pietro Gagliardi 8a81650b3d Moved it all back; the preemptive multitaksing during an event handler kills us on all platforms. Going to have to restrict ALL GUI accss to happening from one t hread, so going to need to drop uitask entirely and have just a start() callback for startup code and a post() function for posting requests to windows (like channel sends but into a perpetual buffer). 2014-07-02 22:53:03 -04:00
Pietro Gagliardi 5d339e656b Moved everything out of the way pending rewrite. 2014-07-02 17:13:40 -04:00
Pietro Gagliardi 380afbf755 More go fmt. 2014-06-10 15:31:55 -04:00
Pietro Gagliardi caeff5bb88 Implemented RepaintAll() on Windows. 2014-06-09 22:26:37 -04:00
Pietro Gagliardi d4e06bb4d3 Checked Windows RECT usage and fixed wrong ones. 2014-06-08 00:55:11 -04:00
Pietro Gagliardi 7a22f0e073 Fixed a regression in the Windows Area code: when I fixed numpad behavior, I broke NEnter. Fixed. Also more TODOs. 2014-06-07 12:29:38 -04:00
Pietro Gagliardi 77fdd9d1c3 Documented window switch clicks in Area and implemented them on Windows and Mac OS X. 2014-06-07 04:19:37 -04:00
Pietro Gagliardi dcefa88a04 Fixed incorrect numpad handling on Windows Areas. 2014-06-07 00:46:47 -04:00
Pietro Gagliardi 4856790299 Fixed the standard window class focus behavior on Windows from the previous commit to work. Also updated the SetFocus() call in area_windows.go to boot and removed the relevant TODO after checking both wine and Windows XP work fine. 2014-06-06 01:49:23 -04:00
Pietro Gagliardi bd08967a5a Removed TODOs about sign extension on Windows; situation resolved. 2014-06-04 19:06:16 -04:00
Pietro Gagliardi 33d4178865 Migrated area_windows.go to the new string handling. I think that's it for converting existing code... Now to test on real Windows. 2014-06-03 11:04:31 -04:00
Pietro Gagliardi fb8e64cb5a Removed a TODO from area_windows.go after verifying that what it flagged (GetKeyState() vs. GetAsyncKeyState()) is indeed what we want to do (the former). 2014-06-03 00:53:24 -04:00
Pietro Gagliardi 4ede7d497d Removed a policy TODO in area_windows.go; decided to keep the redundant entries in the Modifiers table table just to be safe. 2014-06-03 00:48:11 -04:00
Pietro Gagliardi 351177bc23 Implemented the new Area event handling on Windows. 2014-06-02 11:32:19 -04:00
Pietro Gagliardi 2ec0460ac6 Removed TODOs about the sysData not being initialized at message time in area_windows.go; we have now solved that problem. 2014-05-30 23:41:35 -04:00
Pietro Gagliardi 2e0914e575 Changed Areas on WIndows so that they all use the same window class, rather than having one per Area. 2014-05-30 23:02:15 -04:00
Pietro Gagliardi 855a09656a Changed Areas on Windows to store their sysData inside the window memory instead of being given it via a closure. Actually having only one window class for all Areas comes next. 2014-05-30 22:14:55 -04:00
Pietro Gagliardi c543f5639b Normalized DefWindowProc() handling across the Windows files; the syscall.LazyProc now has the normalized name _defWindowProc and defWindowProc() is a convenience function that calls _defWindowProc properly. This will also be important for the switch to a single window class per Window/Area. 2014-05-30 14:15:32 -04:00
Pietro Gagliardi 055cd36b20 Added the new Modifiers handling to the Windows backend. 2014-05-29 12:17:02 -04:00
Pietro Gagliardi e7327f2378 Fixed Areas on Windows no longer obeying click count rules after adding the WM_ACTIVATE handler. 2014-05-25 14:34:19 -04:00
Pietro Gagliardi d6e7eda29c Removed constants from area_windows.go. I think I added a regression earlier when adding the WM_ACTIVATE exception that causes the click count to be reset... 2014-05-25 14:29:56 -04:00
Pietro Gagliardi b27caae7c3 Renamed _LPARAM._X()/_LPARAM._Y() to _LPARAM.X()/_LPARAM.Y(): it doesn't matter since _LPARAM is not exported anyway, _WPARAM already had this change, and the constant checking tool complains that _X()/_Y() remain undefined (too early? do I need to merge the package files?). 2014-05-25 01:03:45 -04:00
Pietro Gagliardi b359f995f5 Added click counter reset on window activate/deactivate for Windows Areas. 2014-05-23 17:11:59 -04:00
Pietro Gagliardi 582e3b4644 Implemented triple-clicks and up on Windows. 2014-05-23 17:01:56 -04:00
Pietro Gagliardi 5176b0e9dd Added proper Super handling on Windows. Meta isn't used here and the modifiers were already in the correct order. 2014-05-16 18:56:03 -04:00
Pietro Gagliardi 9ed8d9c816 Consistency change: all Windows API structure field names now match case-wise (some were forcibly exported in the past for historical reasons: I originally started package ui by trying to write a Windows API wrapper, but decided to ditch that and just use the Windows API directly from package ui). Also more TODOs. 2014-05-11 11:11:57 -04:00
Pietro Gagliardi 2528fa9cfd Added extra mouse buttons to Areas on Windows. 2014-04-29 16:26:29 -04:00
Pietro Gagliardi f19db96c4e Resolved another TODO in area_windows.go. 2014-04-29 15:11:25 -04:00
Pietro Gagliardi 5f9221f07a Got rid of stray TODO in area_windows.go about populating MouseEvent.Held; it was already being populated! 2014-04-29 14:35:16 -04:00
Pietro Gagliardi 170225c626 Removed another TODO about scrolling Areas on Windows (this time about aborting early if there seems to be no change). 2014-04-29 12:28:23 -04:00
Pietro Gagliardi 86c95f40aa Fixed other problems with Windows Area scrollbars (after going through Raymond Chen's scrollbar series), added some more future plans, and fixed one of the scrollbar series links (which was accidentally miscopied). 2014-04-29 12:18:09 -04:00
Pietro Gagliardi 3e047ba174 Fixed Area scrollbars on Windows sometimes stopping a pixel shy of the actual end of the scrollbar. 2014-04-29 11:56:59 -04:00
Pietro Gagliardi da2d4da15a Added click-to-focus to GTK+ Areas and documented that click-to-focus happens; also TODOs related to that. 2014-04-14 23:11:28 -04:00
Pietro Gagliardi ac633a8694 Removed the GDI+ dependency on Windows since we no longer use it. 2014-04-12 15:42:13 -04:00
Pietro Gagliardi 0a1dcfa67f Made Areas on Windows flicker-free. 2014-04-12 15:36:05 -04:00
Pietro Gagliardi 97b2542573 Fixed ARGB rendering on Windows. Now to make it flicker-free... 2014-04-12 15:26:27 -04:00
Pietro Gagliardi e3fdc76c5b Rewrote Area code on Windows to use alpha-premultiplied RGB and only use GDI functions to do it... and it doesn't quite work right yet. 2014-04-11 21:30:19 -04:00
Pietro Gagliardi 179ddba93a Added CS_HREDRAW and CS_VREDRAW to our Area on Windows, just to be safe. 2014-04-11 11:32:27 -04:00
Pietro Gagliardi 586ac941a4 Attempted to fix the Windows transparency issues; we're not quite there... flicker... 2014-04-11 11:29:07 -04:00
Pietro Gagliardi a01ffafba0 Fixed Area mouse events being sent when something happens outside the Area itself. 2014-04-10 18:52:43 -04:00
Pietro Gagliardi 78bb4cdace Fixed Area drawing assuming the first pixel of the *image.NRGBA is at i.Pix[0]. 2014-04-09 18:26:20 -04:00
Pietro Gagliardi 773668c35b Fixed the major scrolling corruption on Windows: had to commit the scroll changes before we can get to them in our painting routine =P This doesn't fix ALL the issues; check the (now-updated) TODO. 2014-04-02 23:40:38 -04:00
Pietro Gagliardi 6abea02278 Marked Windows MouseEvent.Held as not done; oops. 2014-03-30 20:07:51 -04:00
Pietro Gagliardi bafb13dd2f Added Alt+[key] and F10 handling to Windows Area key events. Also more TODOs. 2014-03-29 19:30:08 -04:00
Pietro Gagliardi efdd60375a Documented that the clip area in AreaHandler.Paint() more properly and indicate that it is cleared on each AreaHandler.Paint() call; (try to) implement that on Windows (GTK+ does it for us; noted that as well). 2014-03-29 19:02:09 -04:00
Pietro Gagliardi a94d154e1b Implemented Area.SetSize() on Windows. 2014-03-29 18:51:22 -04:00
Pietro Gagliardi 17ae3546d2 Added repaint after Area event on Windows. 2014-03-29 18:28:37 -04:00
Pietro Gagliardi 8f4780f5d7 Added part of keyboard input on Windows. Need to repaint the window on event return and handle area sizes now... 2014-03-29 17:52:40 -04:00
Pietro Gagliardi ab6e7121e4 Added a flag to AreaHandler.Key()/Mouse() to indicate that a repaint is needed after that event has been handled. (Having Repaint() as a method deadlocked for the same reason resizing deadlocked before.) 2014-03-27 20:31:23 -04:00
Pietro Gagliardi 9533b3d7d4 Added Area mouse events on Windows. Also more TODOs. 2014-03-25 15:06:43 -04:00