Commit Graph

776 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 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 5581d41f88 Switched to alpha-premultiplied image data for Areas on Mac OS X. This is the easiest change; it involves removing one bit flag from the NSBitmapImageRep constructor (the other changes are indentation changes). 2014-04-11 16:17:06 -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 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 e713b59bec Removed TODO about Windows -1 conversions, as the Go spec specifically says that signed values are sign-extended to the full size of the type to convert to (and even shows an example of this), so the code we have was correct, not just working out of luck. 2014-04-10 20:52:12 -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 1c11ef2d9c More TODOs. 2014-04-10 19:38:48 -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 bd907dadd8 More future plans and TODOs. 2014-04-10 16:44:45 -04:00
Pietro Gagliardi 1516c0d938 Decided not to make Labels selectable; nothing does it and it's a platform detail. 2014-04-10 16:23:51 -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 7b8580b12d More TODOs. 2014-04-10 13:35:27 -04:00
Pietro Gagliardi 865a0ec662 "Fixed" the zero-size Combobox drop-down on Windows by having Windows fix it for us (and since we did everything we need to do to get it to fix it for us, it was already fixed!). 2014-04-10 12:53:23 -04:00
Pietro Gagliardi 013e8707da Removed unnecessary space if the secondaryText argument to MsgBox***() is an empty string. This doesn't change much on Mac OS X; it always shows the informational text field, showing an empty string by default. On GTK+ it seems to get rid of the bold over the primary text; I'm going to assume this is intentional (it looks that way on GTK+ 2; the HIG docs have outdated screenshots...). 2014-04-10 12:35:37 -04:00
Pietro Gagliardi 9e185d815e Documented that event channels can be assigned to each other to collapse events. 2014-04-10 11:59:40 -04:00
Pietro Gagliardi 0a54daa7b1 More TODOs and future plans. 2014-04-09 22:37:36 -04:00
Pietro Gagliardi 8259e6d1f8 Added a test for the extremities of the Area's actual drawing area to make sure all pixels are shown on all platforms. That seems to be the case right now... Also more TODOs. 2014-04-09 20:44:07 -04:00
Pietro Gagliardi a2edde63c2 More future plans. 2014-04-09 20:09:20 -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 bfb259da27 Tried to resolve the use a single window class for each type of custom window TODO; found it was nothing but problems, so moved to future plans. 2014-04-09 13:22:16 -04:00
Pietro Gagliardi e395adb214 Fixed GTK+ windows having the wrong background. 2014-04-09 12:04:04 -04:00
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 67c56c3766 More (big) future plans. 2014-04-09 09:34:15 -04:00
Pietro Gagliardi 69b63dbbb8 Slowed GTK+ indeterminate Progressbars down. 2014-04-08 00:21:12 -04:00
Pietro Gagliardi 64df42356b More future plans. 2014-04-07 22:52:05 -04:00
Pietro Gagliardi 8220df86bf Undid the previous change to the keyboard test so that it responds to window closes again. 2014-04-07 18:36:52 -04:00
Pietro Gagliardi 3bf215ae4e Split out the common resizing code into its own function so that it's all in one place. This will also affect what happens if I switch to DeferWindowPos() on Windows. 2014-04-07 14:32:25 -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 14bb9e3621 Removed the TODOs about AppQuit: fixed on OS X, never a problem on Windows, unfixable elsewhere (these are window manager window-local(? apparently...) events so they never hit us; thanks to some people in irc.gimp.net/#gtk+). Also added some notes to the future plans document (related to all that). 2014-04-07 12:49:23 -04:00
Pietro Gagliardi 24d40fa12d Fixed AppQuit on Mac OS X (forgot to set the NSApp delegate AND was using the wrong selector). 2014-04-07 12:46:09 -04:00
Pietro Gagliardi f7817f6987 Added (untested; VM issues) code to handle Mac OS X Quit Dock menu items and other related stuff that may happen in the future. Will drop the TODO after I can test it. 2014-04-06 23:33:27 -04:00
Pietro Gagliardi af770340c9 Added details of application termination handling. 2014-04-06 19:14:28 -04:00
Pietro Gagliardi 371e8c2c99 Added thanks comment (see previous commit). 2014-04-06 14:08:33 -04:00
Pietro Gagliardi 0524a17920 Added borders to GTK+ Listboxes (thanks to jlindgren in irc.gimp.net/#gtk+); ends that TODO. 2014-04-06 13:25:23 -04:00
Pietro Gagliardi f12bae7d3e Wrote an update on the NSUInteger/NSInteger situation in bleh_darwin.m. 2014-04-06 13:09:58 -04:00
Pietro Gagliardi a65012f476 More TODOs. 2014-04-05 23:14:25 -04:00
Pietro Gagliardi 7d02af4e81 Removed the bit about selectable messagebox text from the TODO file: that's a platform-specific thing. 2014-04-05 23:10:07 -04:00
Pietro Gagliardi 420c640aea Noted that NSScrollView sets the Listbox border in listbox_darwin.go. 2014-04-05 22:53:26 -04:00
Pietro Gagliardi 30c3ee1b98 Gave Listboxes a border on Mac OS X. That just leaves GTK+: oyxgen-gtk always gives GtkScrollingWindows a border, which misled me earlier... other themes don't. 2014-04-05 22:51:01 -04:00
Pietro Gagliardi e3a2a15416 More future plans. 2014-04-05 21:43:46 -04:00
Pietro Gagliardi 3d04200e8d Split the todo.md file into one for immediate TODOs and one for future work; merged the latter with controlcandidates.md to form a single future stuff list. Also cleaned up all those lists. 2014-04-05 19:38:35 -04:00
Pietro Gagliardi dc96a73c2f Removed TODO from Mac OS X code about additional label styles; judging from Interface Builder I've got them covered. 2014-04-05 15:26:31 -04:00
Pietro Gagliardi da68adf420 Gave controls their proper fonts on Mac OS X. 2014-04-05 15:10:02 -04:00
Pietro Gagliardi 612eba9de3 Updated sysdata_darwin.go to remove some TODOs and change most, if not all, embedded magic numbers to named constants. 2014-04-05 13:59:11 -04:00
Pietro Gagliardi 1449409f61 More TODOs. 2014-04-05 13:32:40 -04:00
Pietro Gagliardi 98ae4cb3b8 Moved all selector and class initialization for bleh_darwin.m into its own function. 2014-04-05 13:30:56 -04:00
Pietro Gagliardi 338cbc0540 Removed NilClass from the shared Mac OS X files (objc_darwin.h and bleh_darwin.m) as the //export issue that required that no longer applies. 2014-04-05 12:39:27 -04:00