Commit Graph

29 Commits

Author SHA1 Message Date
Pietro Gagliardi ae4950bbd8 Switched to ARGB drawing in Areas on GTK+. 2014-04-12 13:48:59 -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 81153617dc Got rid of gtkWidget and changed to using *C.GtkWidget everywhere. This gets rid of some of the casting functions and invocations of said functions, and only adds sysdata_unix.go to the cgo list. 2014-04-01 16:30:38 -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 5190c7c763 Finished re-adding the numeric keypad keys and fixing up the GTK+ Area implementation to handle the new KeyEvent. Everything seems to work on this end... 2014-03-29 13:09:27 -04:00
Pietro Gagliardi 75acdfd9ad Re-added the numeric keypad keys to ExtKey and removed predefkeys in area_unix.go since all are now being handled. 2014-03-29 13:01:42 -04:00
Pietro Gagliardi 84450cfa64 Added the proper provision for numeric keypad entry. 2014-03-29 12:57:54 -04:00
Pietro Gagliardi 07a877fa6e Updated the GTK+ implementation and test programs to reflect the new KeyEvent setup. 2014-03-29 12:33:36 -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 7637193aff The latest go tip fixes cgo to not be confused by typedefs of incomplete types like cairo_t; remove the hack to make GTK+ builds work in the meantime. As a side effect, package ui now requires go tip to build; reflected this in the README. 2014-03-27 17:20:46 -04:00
Pietro Gagliardi 45cd12cccf Printed the hardware_keycode on GTK+ Area key events... something came up so I think I might be able to do what I originally wanted to do with keyboards... also more TODOs. 2014-03-26 23:13:31 -04:00
Pietro Gagliardi f5084c07d4 Fixed import formatting on area_unix.go. I'm rereading the GLFW source; it makes some interesting assumptions that might allow me to get a better solution to this whole keystroke ordeal after all... if I'm provided with irrefutable evidence. 2014-03-26 11:01:37 -04:00
Pietro Gagliardi bbccf96981 Fixed the shrinking not working: the Cairo clip rect apparently can fall outside the actual size of the widget. (I did notice this before.) 2014-03-23 21:31:29 -04:00
Pietro Gagliardi a41f582866 Added Area resizing. Everything mostly works, but not making things smaller... 2014-03-23 20:54:11 -04:00
Pietro Gagliardi 7acb3c5272 Added GDK_KEY_Alt_L/R to the modifier key handling in GTK+ key events. 2014-03-23 17:26:11 -04:00
Pietro Gagliardi aee2b98270 Fixed modifier keys in GTK+ not being registered by KeyEvent on first press. 2014-03-23 17:24:13 -04:00
Pietro Gagliardi d1376e035d Added the GTK+ implementation of Area keyboard events. Seems to work fine for now... 2014-03-23 17:12:30 -04:00
Pietro Gagliardi 18271980cb Finished writing what I need for the GTK+ key equivalency test: display of GDK_KEYMAP_A and GDK_KEYMAP_a to see if I can do what I want to do (map back). 2014-03-21 22:33:07 -04:00
Pietro Gagliardi d14aed4f47 Added code to the GTK+ Area to print the GdkKeymapKeys for a given key value. For GTK+/X11 it appears that we can just use the keyval field... that just leaves GTK+/Wayland (see previous commit). If the same applies, we'll need to see if I can feed artificial keycodes in and it'll still work as expected... 2014-03-21 17:06:46 -04:00
Pietro Gagliardi 92dc282ffd Added the framework code for handling keyboard events in GTK+ Areas. Oh boy... this is gonna hurt (as I will describe shortly). 2014-03-18 12:44:21 -04:00
Pietro Gagliardi ae554f10c3 Changed Area to use a delegate handler object that implements the new AreaHandler interface for handling events. Also updated the GTK+ backend with this change, and made a few more tweaks to the documentation in area.go. 2014-03-16 21:40:33 -04:00
Pietro Gagliardi 63f8033f49 Split out includes of <gtk/gtk.h> into a new header file so the GTK+ versioning macros can be included in all Go files, not just area_unix.go. 2014-03-16 10:34:12 -04:00
Pietro Gagliardi fbef151bb2 Attempted to fix non-handling of the Alt key by having the GDK window's display's keymap used instead; it didn't work. 2014-03-16 01:39:30 -04:00
Pietro Gagliardi 829cf7b1c6 Added (untested) GTK+ implementation of Area's mouse events. 2014-03-15 22:29:47 -04:00
Pietro Gagliardi 4616fdfc5e Actually committed the rectangle to the Area. Area drawing on GTK+ implemented! 2014-03-14 23:36:47 -04:00
Pietro Gagliardi 6cdda6ebec Provided a way to connect child widget signals in the GTK+ sysData and connected Area to draw. I think I'm getting the wrong child widget, though... 2014-03-14 23:15:24 -04:00
Pietro Gagliardi a61b43f50c Hacked around the cairo issue for now; hooked everything together and fixed a few things. Added the Area test to the test program. Now to just hook up the draw event. 2014-03-14 23:06:51 -04:00
Pietro Gagliardi 7a5b635824 Added the GTK+ implementation of Area. It's not enabled yet due to cgo bugs, and there's some extra work needed (started here) to tie this in... 2014-03-14 18:44:59 -04:00