Pietro Gagliardi
|
77bf566ebb
|
...in with the new.
|
2014-08-30 23:02:02 -04:00 |
Pietro Gagliardi
|
155899c65e
|
Out with the old...
|
2014-08-30 23:01:08 -04:00 |
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
|
ffa1bbe0b9
|
Restored the previous new API. I'm going to change it so that events are callbacks rather than using a window handler, but other than that... yeah.
|
2014-06-30 22:48:12 -04:00 |
Pietro Gagliardi
|
33155f7496
|
Reverted everything back to the old API.
|
2014-06-30 09:57:44 -04:00 |
Pietro Gagliardi
|
ea6200a432
|
Began the migration to the new API. Removed locks from the public control APIs; they won't be needed anymore.
|
2014-06-28 01:05:06 -04:00 |
Pietro Gagliardi
|
1eeadc000a
|
Made the new sizing system work on Windows.
|
2014-06-25 23:21:57 -04:00 |
Pietro Gagliardi
|
057f0eaf53
|
Migrated existing controls to the new sizing system.
|
2014-06-25 22:17:26 -04:00 |
Pietro Gagliardi
|
39f0c352fb
|
Added the necessary work to make new regular Labels work on the other platforms.
|
2014-06-25 11:58:13 -04:00 |
Pietro Gagliardi
|
5fa1bd22e2
|
More go fmt. That completes the main package go fmt. Won't bother with test or tools.
|
2014-06-10 16:05:41 -04:00 |
Pietro Gagliardi
|
a0e8048b06
|
Had Area.SetSize() explicitly labelled as repainting the whole Area; made sure it does that on GTK+ (it already did on Windows and Mac). I think we're ready to declare the API as it stands now stable!
|
2014-06-09 22:47:45 -04:00 |
Pietro Gagliardi
|
764010bd81
|
Areas have worked on all platforms forever now; remove the GTK+ only note from its documentation.
|
2014-06-09 22:38:22 -04:00 |
Pietro Gagliardi
|
37ab5f41a7
|
Cleaned up the scrollbars documentation in the Overview.
|
2014-06-09 22:37:43 -04:00 |
Pietro Gagliardi
|
fa4094adeb
|
Added Area.RepaintAll() (requested by aybabtme on the Gopher Academy Slack) and implemented it on Mac OS X.
|
2014-06-09 22:11:08 -04:00 |
Pietro Gagliardi
|
7adc18caf1
|
Removed TODO on getting the available button count: this isn't meaningful. (desrt in irc.gimp.net/#gtk+ confirmed that GDK has no such function and both him and mikeash in irc.freenode.net/#macdev pointed out issues with such a function.)
|
2014-06-08 22:38:42 -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
|
83e4f05592
|
Fixed typo in area.go documentation.
|
2014-06-07 00:17:50 -04:00 |
Pietro Gagliardi
|
f539747546
|
Set Area's preferred size in the documentation and on Windows and Mac OS X.
|
2014-06-06 23:03:29 -04:00 |
Pietro Gagliardi
|
b6ca650692
|
Added Help key handling (as Insert) on Mac OS X.
|
2014-06-06 19:35:26 -04:00 |
Pietro Gagliardi
|
61ed2ea822
|
Marked a sentence in the Area docs as not being active.
|
2014-06-06 10:09:18 -04:00 |
Pietro Gagliardi
|
d7c37671f3
|
Removed the TODO on memstride: we were already using it?????? It is working correctly... No idea why that TODO was there; I know I added it when I was too tired to think though.
|
2014-06-03 22:32:24 -04:00 |
Pietro Gagliardi
|
bf6c29b39c
|
Made multiple modifier keys undefined; removed the TODO there. If I need to change the behavior I can do it later.
|
2014-06-03 22:26:25 -04:00 |
Pietro Gagliardi
|
3745acf57b
|
Decided not to rename MouseEvent.Pos.
|
2014-06-03 22:23:48 -04:00 |
Pietro Gagliardi
|
a9ecc296ef
|
Documented the changed event handling of Area.
|
2014-06-02 11:27:37 -04:00 |
Pietro Gagliardi
|
1b23de9c78
|
Changed the Modifiers behavior in KeyEvent to more properly handle modifier keys. This is just the public interface for now; next comes all the backends.
|
2014-05-29 11:42:17 -04:00 |
Pietro Gagliardi
|
511f774649
|
Finished the Area clicking stuff: formalized the behavior in documentation in area.go, pointed out that Mac OS X already behaves as expected, updated some comments, and removed the relevant TODO.
|
2014-05-23 23:48:17 -04:00 |
Pietro Gagliardi
|
13397f91ee
|
Changed the meaning of the Modifiers keys to be positional, added Super, and pinned down Meta vs. Alt. All but the Meta/Alt one were done after discussion in #go-nuts about how to handle differences in user expectation properly. This is the portable interface only; each platform implementation comes next.
|
2014-05-16 18:16:25 -04:00 |
Pietro Gagliardi
|
fefab429fc
|
Documented dragging issues caused by how Mac OS X handles mouse events; also determined that multiple buttons held at once only generates one mouseDragged: signal.
|
2014-05-10 14:27:29 -04:00 |
Pietro Gagliardi
|
3508239bf7
|
Completed extending of mouse buttons to the system's limit; defined (as undefined) the mouse drag behavior for buttons >= 3; implemented all that on the GTK+ side, and decided to have MouseEvents.Held[] be sorted (documentation only for now; need to check the code to make sure it follows). Good Lord...
|
2014-05-07 17:51:04 -04:00 |
Pietro Gagliardi
|
6716ce3998
|
Added a quick disclaimer about Area mouse button numbers and documentation.
|
2014-04-29 16:27:16 -04:00 |
Pietro Gagliardi
|
2528fa9cfd
|
Added extra mouse buttons to Areas on Windows.
|
2014-04-29 16:26:29 -04:00 |
Pietro Gagliardi
|
a98072a23b
|
Decided not to cap mouse buttons at 3; reflected this in the public interface and in the TODO file. Platform implementations come next.
|
2014-04-29 16:03:37 -04:00 |
Pietro Gagliardi
|
44b061aa31
|
More TODOs (because I can't think right now).
|
2014-04-20 23:29:38 -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
|
3cb3d5f97e
|
Clarified the previous commit.
|
2014-04-14 12:51:20 -04:00 |
Pietro Gagliardi
|
a29abd11c0
|
Ensured that pressing Modifiers+Key/ExtKey does not produce an event with just the Key/ExtKey.
|
2014-04-14 12:47:49 -04:00 |
Pietro Gagliardi
|
dcc21eb087
|
Pinned down horizontal scrollbar behavior on Listboxes; also reworded the Area scrollbar behavior sentence a bit to match. Now to actually implement the changes...
|
2014-04-13 02:00:18 -04:00 |
Pietro Gagliardi
|
aef419a83e
|
Documented the thread safety of AreaHandler and Area.SetSize().
|
2014-04-12 14:07:31 -04:00 |
Pietro Gagliardi
|
ae4950bbd8
|
Switched to ARGB drawing in Areas on GTK+.
|
2014-04-12 13:48:59 -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
|
57088b9787
|
Added a general-purpose function to produce a native-endian ARGB representation of the image. I thought cairo image surfaces would work, but they're not designed for reading in images, the cairo functions for reading image data were introduced in the next version (1.12), and GDK-Pixbuf only does non-alpha-premultiplied... This can be used on Windows though.
|
2014-04-11 18:00:51 -04:00 |
Pietro Gagliardi
|
6f0d114a8b
|
Changed from using image.NRGBA to image.RGBA (premultiplied alpha) in Area.Paint() since it'll be easier to work with on Windows after applying what Treeki/Ninjifox suggested I do instead of what I am doing now.
|
2014-04-11 16:13:18 -04:00 |
Pietro Gagliardi
|
d6abf79932
|
Added bounds checking to NewArea() and Area.SetSize() such that an Area must have a valid size.
|
2014-04-10 20:42:01 -04:00 |
Pietro Gagliardi
|
09e92b0eb3
|
Documented scrollbars on Listbox and Area to the best of my ability, shuffling the appropriate TODOs around.
|
2014-04-10 16:18:53 -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
|
00acf74177
|
Updated Area's KeyEvent documentation to talk about some window managers on Unix intercepting some events; also updated the keyboard test program to make a note of behaviors related to that.
|
2014-04-07 12:56:10 -04:00 |
Pietro Gagliardi
|
2647d28f2b
|
Removed the initText parameter from sysData.make() and changed all invocations to call sysData.setText() separately; this avoids the need to check if sysData.setText() is valid. Also implemented that on GTK+.
|
2014-04-01 16:43:56 -04:00 |
Pietro Gagliardi
|
ce5cd80dba
|
Updated the documentation: Area now works on all platforms, Modifiers behavior on both left and right keys simultaneously is undefined for now, and the way to create custom Controls no longer involves embedding Area.
|
2014-03-30 19:57:24 -04:00 |
Pietro Gagliardi
|
41a7e3dab8
|
Implemented Area mouse events on Mac OS X. Also fixed a few other things left behind in the previous commits. Also more TODOs.
|
2014-03-30 17:52:27 -04:00 |