summaryrefslogtreecommitdiff
path: root/area.go
AgeCommit message (Collapse)Author
2014-07-02Moved it all back; the preemptive multitaksing during an event handler kills ↵Pietro Gagliardi
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-02Moved everything out of the way pending rewrite.Pietro Gagliardi
2014-06-30Restored the previous new API. I'm going to change it so that events are ↵Pietro Gagliardi
callbacks rather than using a window handler, but other than that... yeah.
2014-06-30Reverted everything back to the old API.Pietro Gagliardi
2014-06-28Began the migration to the new API. Removed locks from the public control ↵Pietro Gagliardi
APIs; they won't be needed anymore.
2014-06-25Made the new sizing system work on Windows.Pietro Gagliardi
2014-06-25Migrated existing controls to the new sizing system.Pietro Gagliardi
2014-06-25Added the necessary work to make new regular Labels work on the other platforms.Pietro Gagliardi
2014-06-10More go fmt. That completes the main package go fmt. Won't bother with test ↵Pietro Gagliardi
or tools.
2014-06-09Had Area.SetSize() explicitly labelled as repainting the whole Area; made ↵Pietro Gagliardi
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-09Areas have worked on all platforms forever now; remove the GTK+ only note ↵Pietro Gagliardi
from its documentation.
2014-06-09Cleaned up the scrollbars documentation in the Overview.Pietro Gagliardi
2014-06-09Added Area.RepaintAll() (requested by aybabtme on the Gopher Academy Slack) ↵Pietro Gagliardi
and implemented it on Mac OS X.
2014-06-08Removed TODO on getting the available button count: this isn't meaningful. ↵Pietro Gagliardi
(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-07Documented window switch clicks in Area and implemented them on Windows and ↵Pietro Gagliardi
Mac OS X.
2014-06-07Fixed typo in area.go documentation.Pietro Gagliardi
2014-06-06Set Area's preferred size in the documentation and on Windows and Mac OS X.Pietro Gagliardi
2014-06-06Added Help key handling (as Insert) on Mac OS X.Pietro Gagliardi
2014-06-06Marked a sentence in the Area docs as not being active.Pietro Gagliardi
2014-06-03Removed the TODO on memstride: we were already using it?????? It is working ↵Pietro Gagliardi
correctly... No idea why that TODO was there; I know I added it when I was too tired to think though.
2014-06-03Made multiple modifier keys undefined; removed the TODO there. If I need to ↵Pietro Gagliardi
change the behavior I can do it later.
2014-06-03Decided not to rename MouseEvent.Pos.Pietro Gagliardi
2014-06-02Documented the changed event handling of Area.Pietro Gagliardi
2014-05-29Changed the Modifiers behavior in KeyEvent to more properly handle modifier ↵Pietro Gagliardi
keys. This is just the public interface for now; next comes all the backends.
2014-05-23Finished the Area clicking stuff: formalized the behavior in documentation ↵Pietro Gagliardi
in area.go, pointed out that Mac OS X already behaves as expected, updated some comments, and removed the relevant TODO.
2014-05-16Changed the meaning of the Modifiers keys to be positional, added Super, and ↵Pietro Gagliardi
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-10Documented dragging issues caused by how Mac OS X handles mouse events; also ↵Pietro Gagliardi
determined that multiple buttons held at once only generates one mouseDragged: signal.
2014-05-07Completed extending of mouse buttons to the system's limit; defined (as ↵Pietro Gagliardi
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-04-29Added a quick disclaimer about Area mouse button numbers and documentation.Pietro Gagliardi
2014-04-29Added extra mouse buttons to Areas on Windows.Pietro Gagliardi
2014-04-29Decided not to cap mouse buttons at 3; reflected this in the public ↵Pietro Gagliardi
interface and in the TODO file. Platform implementations come next.
2014-04-20More TODOs (because I can't think right now).Pietro Gagliardi
2014-04-14Added click-to-focus to GTK+ Areas and documented that click-to-focus ↵Pietro Gagliardi
happens; also TODOs related to that.
2014-04-14Clarified the previous commit.Pietro Gagliardi
2014-04-14Ensured that pressing Modifiers+Key/ExtKey does not produce an event with ↵Pietro Gagliardi
just the Key/ExtKey.
2014-04-13Pinned down horizontal scrollbar behavior on Listboxes; also reworded the ↵Pietro Gagliardi
Area scrollbar behavior sentence a bit to match. Now to actually implement the changes...
2014-04-12Documented the thread safety of AreaHandler and Area.SetSize().Pietro Gagliardi
2014-04-12Switched to ARGB drawing in Areas on GTK+.Pietro Gagliardi
2014-04-11Rewrote Area code on Windows to use alpha-premultiplied RGB and only use GDI ↵Pietro Gagliardi
functions to do it... and it doesn't quite work right yet.
2014-04-11Added a general-purpose function to produce a native-endian ARGB ↵Pietro Gagliardi
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-11Changed from using image.NRGBA to image.RGBA (premultiplied alpha) in ↵Pietro Gagliardi
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-10Added bounds checking to NewArea() and Area.SetSize() such that an Area must ↵Pietro Gagliardi
have a valid size.
2014-04-10Documented scrollbars on Listbox and Area to the best of my ability, ↵Pietro Gagliardi
shuffling the appropriate TODOs around.
2014-04-09Fixed Area drawing assuming the first pixel of the *image.NRGBA is at i.Pix[0].Pietro Gagliardi
2014-04-07Updated Area's KeyEvent documentation to talk about some window managers on ↵Pietro Gagliardi
Unix intercepting some events; also updated the keyboard test program to make a note of behaviors related to that.
2014-04-01Removed the initText parameter from sysData.make() and changed all ↵Pietro Gagliardi
invocations to call sysData.setText() separately; this avoids the need to check if sysData.setText() is valid. Also implemented that on GTK+.
2014-03-30Updated the documentation: Area now works on all platforms, Modifiers ↵Pietro Gagliardi
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-30Implemented Area mouse events on Mac OS X. Also fixed a few other things ↵Pietro Gagliardi
left behind in the previous commits. Also more TODOs.
2014-03-29Documented that the clip area in AreaHandler.Paint() more properly and ↵Pietro Gagliardi
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-29Re-added the numeric keypad keys to ExtKey and removed predefkeys in ↵Pietro Gagliardi
area_unix.go since all are now being handled.