Commit Graph

261 Commits

Author SHA1 Message Date
Pietro Gagliardi f1c9b2b15b Made the uiFontButton more robust by making it not show irrelevant controls and not affect other controls. Also sets up things for uiColorButton. 2016-04-14 14:01:33 -04:00
Pietro Gagliardi 307ec746ef Started implementing uiFontButton on OS X. 2016-04-14 13:27:15 -04:00
Pietro Gagliardi 7f2194c383 Typo fixes in the previous commit. 2016-01-24 21:50:10 -05:00
Pietro Gagliardi ab0230b428 Added a function for scrolling uiAreas. Implemented on OS X; stubbed elsewhere. 2016-01-24 21:41:34 -05:00
Pietro Gagliardi 5fd3a6fbab Long-awaited TODO: removed the "in terminate:" message. 2016-01-16 19:34:34 -05:00
Pietro Gagliardi b0621a6b1f Implemented the new multiline text stuff on GTK+. 2016-01-16 15:59:34 -05:00
Pietro Gagliardi 9c6c16be53 Simplified text drawing on OS X by using CTFramesetter exclusively. 2016-01-16 13:34:22 -05:00
Pietro Gagliardi 37f9bfd1b9 More OS X layout work. 2016-01-15 22:48:38 -05:00
Pietro Gagliardi 4fffe9008c Started implementing the new multiline uiDrawTextLayout logic in the OS X port; fixed some bugs in the test program. 2016-01-15 20:18:53 -05:00
Pietro Gagliardi 2b0de07243 More TODOs. 2016-01-14 02:14:31 -05:00
Pietro Gagliardi fa0b3ea8dd Fixed OS X text drawing not being vertically aligned properly. 2016-01-13 15:17:49 -05:00
Pietro Gagliardi 85af3d2a5b More TODOs. 2016-01-13 04:08:01 -05:00
Pietro Gagliardi d6063394ee Implemented the metrics stuff on OS X and improved the test a bit. 2016-01-12 22:07:24 -05:00
Pietro Gagliardi 73867119ef Updated the test and fixed compiler errors in darwin/drawtext.m. It seems to work now! Width handling is still not working right, but width handling needs major rewrites because width on Core Text has major sensibility issues... 2016-01-12 01:58:45 -05:00
Pietro Gagliardi 426b133e58 Implemented the new font API on OS X. Now to rewrite the test. 2016-01-12 01:46:28 -05:00
Pietro Gagliardi ae60141497 Decided to split the OS X text drawing stuff into its own file to make it easier to manage. In fact, darwin/draw.m used to be the longest file (by line count) in libui's source code proper (not the longest in the repo)! (Now it's windows/draw.c instead, and that *doesn't* contain text code!) 2016-01-12 01:14:41 -05:00
Pietro Gagliardi 5f1b900dc5 More TODOs. More even bigger TODOs. 2016-01-10 15:35:43 -05:00
Pietro Gagliardi 29794af67a Filled in text size conversion functions on OS X. 2016-01-09 18:14:06 -05:00
Pietro Gagliardi ca75579135 More exposition. 2016-01-09 18:05:44 -05:00
Pietro Gagliardi 3cc2a06147 Added font matching to the OS X backend. 2016-01-09 17:41:05 -05:00
Pietro Gagliardi dec34670bb Fixed keyboard events not working on OS X. 2016-01-09 15:05:19 -05:00
Pietro Gagliardi a826fd7516 Wrote the text drawing code on Windows. Now to build and test. 2016-01-09 01:07:48 -05:00
Pietro Gagliardi 5365453c19 Tried to figure out the traits stuff for myself. I can't quite do that when it has no effect :v 2016-01-08 17:13:31 -05:00
Pietro Gagliardi 11a3fcfad0 Fixed the drawing shenanigans. 2016-01-08 13:51:39 -05:00
Pietro Gagliardi 94883ed620 Kinda sorta fixed the text rendering stuff. 2016-01-08 12:49:52 -05:00
Pietro Gagliardi 4c12934992 Fixed the compiler errors in the previous commit. Things aren't quite right yet. 2016-01-08 10:14:09 -05:00
Pietro Gagliardi e7a68893e2 Filled in the rest of the beginning of the Core Text implementation. 2016-01-08 02:08:26 -05:00
Pietro Gagliardi 9fc92cf96b Started doing the Core Text text code. I am completely lost on text styles. 2016-01-07 21:51:37 -05:00
Pietro Gagliardi 4f2dbe2662 Really fixed the NSMapTable nonsense now. Added a TODO to go through the rest of the code for the same. 2016-01-07 16:01:11 -05:00
Pietro Gagliardi 9cfc133481 "Fixed" the weird crashes and fixed the makefile failures. 2016-01-07 15:43:35 -05:00
Pietro Gagliardi 499a93e32e Completely rewrote the OS X map system to use NSMapTable correctly and hide the details behind more wrapper functions to prevent further mass rewrites; this fixes most of the crashing issues on OS X. The one with package ui still stands... 2016-01-07 14:41:20 -05:00
Pietro Gagliardi f9b940f698 More TODOs. 2016-01-06 20:39:47 -05:00
Pietro Gagliardi 6a15e23897 Set up saner handling of sonames at build time. 2016-01-05 11:51:36 -05:00
Pietro Gagliardi 24f7c2d803 Merge branch 'master' of github.com:andlabs/libui 2016-01-04 15:49:20 -05:00
Pietro Gagliardi 9e8e09f262 Added an explicit check for ARC. 2016-01-02 09:22:24 -05:00
Florent Clairambault e24c8f6440 Merge remote-tracking branch 'upstream/master' 2016-01-02 13:27:08 +01:00
Florent Clairambault bdded52f5e Mac Os X install rule: Tiny fix. 2016-01-01 23:20:49 +01:00
Florent Clairambault c204e47b72 Various fixes around makefiles
* $PREFIX is uppercase (I have no idea why I put it lowercase before).
* "install" rules is OS specific and moved to new OS specific files. So that they can be included last.
* "examples" rule defines the list of examples to execute.
* Travis launches the "test" rule.
2016-01-01 23:19:14 +01:00
Pietro Gagliardi 1b3d303cbe More TODOs. 2015-12-27 22:55:41 -05:00
Pietro Gagliardi a1beccd63d Pinpointed the issues with mouseExited:. A TODO for now; this is gonna be murder to figure out :) 2015-12-27 22:19:59 -05:00
Pietro Gagliardi 66ad8066ea Improved the exited debugging. 2015-12-27 17:13:57 -05:00
Pietro Gagliardi 93a9847b59 Added debugging code for mouseExited:. In El Capitan it's not working in scrolled views... 2015-12-27 16:15:18 -05:00
Pietro Gagliardi 0ec70f9111 Removed libgmalloc. That was a mistake; it slows down callbacks tremendously on DEFAULT SETTINGS. 2015-12-27 15:54:53 -05:00
Pietro Gagliardi c31d06c254 Quick change for now: added libgmalloc to the OS X build so I can debug potential memory allocation issues. I think something is wrong in the mouseExited logic... 2015-12-27 15:19:14 -05:00
Pietro Gagliardi 3b916fa749 Stubbed out the text drawing functions on OS X. 2015-12-27 11:32:47 -05:00
Pietro Gagliardi a9419e0cc4 Oops, I completely overlooked the Core Text Font Manager Reference, which would have told me that CTFontManagerCopyAvailableFontFamilyNames() was what I was looking for. Yay; the font families stuff now works on OS X as well! 2015-12-23 00:58:06 -05:00
Pietro Gagliardi bcc17a4e6d Attempted to write the font enumeration code for OS X. It does not work yet (memory management is borked and duplicate removal does not work, period). 2015-12-22 21:48:26 -05:00
Pietro Gagliardi 33d4217450 Fixed rpath shenanigans on OS X. 2015-12-19 16:46:04 -05:00
Pietro Gagliardi c095d80098 Implemented mouse tracking on OS X. 2015-12-19 16:35:18 -05:00
Pietro Gagliardi 35f2cc55da Fixed compiler errors. Now to implement mouse tracking. 2015-12-19 16:15:50 -05:00
Pietro Gagliardi a0c3c80393 Finished migrating OS X uiArea to the new scroll system. Now to compile and test. Crossed events come next. 2015-12-19 15:33:54 -05:00
Pietro Gagliardi 8cf437211d Dropped ALL the custom scrolling crap from darwin/area.m. We're going back to NSScrollView baby! 2015-12-19 15:13:44 -05:00
Pietro Gagliardi 327abd04b0 Re-established the OS X build. 2015-12-11 18:58:27 -05:00
Pietro Gagliardi 70886e4ade Moved the old build files away. Yes that's right folks, we're redoing the build system *again*! Isn't that *fun*? 2015-12-10 18:49:50 -05:00
Pietro Gagliardi 529620eb47 Updated a TODO. 2015-12-09 09:07:00 -05:00
Pietro Gagliardi c5a5038382 Fixed the uiMultilineEntry on OS X so that it now actually displays something. More TODOs. 2015-12-09 09:05:28 -05:00
Pietro Gagliardi 11fe5deb73 More NSTextView work. 2015-12-08 21:09:23 -05:00
Pietro Gagliardi ea6e903069 TRIED TO add uiMultilineEntry on OS X. It does not quite work yet. 2015-12-08 13:06:26 -05:00
Pietro Gagliardi f77955aefb Added uiQueueMain() (basically g_idle_add()) and implemented it on all platforms except Haiku. A test to come. After this we can start rewriting the Go package ui at long last. 2015-12-04 23:42:03 -05:00
Pietro Gagliardi 8084041139 Removed uiAreaHandler.RedrawOnResize(); Direct2D requires us to always redraw on resize (see previous commit). Added windows/amd64 to the example makefiles and updated them to use libui.xxx instead of new.xxx. 2015-12-04 21:04:51 -05:00
Pietro Gagliardi 8adb1a25a2 More TODOs. 2015-11-28 12:16:05 -05:00
Pietro Gagliardi bf6fabef21 Implemented the dialog stuff on OS X. 2015-11-28 12:09:14 -05:00
Pietro Gagliardi ff9dcc6d58 Wrote the Haiku allocator and fixed some leftovers in other allocators. 2015-11-17 12:51:51 -05:00
Pietro Gagliardi c40e80d5a5 Added C++ to the build and started writing the actual Haiku code. I think this isg oing to have to require a GCC 4 hybrid... 2015-11-17 11:49:23 -05:00
Pietro Gagliardi f19d3cd0c7 More makefile work. 2015-10-16 22:49:54 -04:00
Pietro Gagliardi 790edf0df8 Assembled a new make system. Not quite working the way I'd like yet, but definitely a start. 2015-10-16 20:55:09 -04:00
Pietro Gagliardi ab97e26efc Moved all the common stuff in a new folder common/. This is part of the makefile simplification. 2015-10-16 18:31:14 -04:00
Pietro Gagliardi b4cbf79cbb Implemented dashing on OS X. 2015-10-16 11:05:08 -04:00
Pietro Gagliardi 191c026d29 And implemented on OS X. 2015-10-14 08:50:56 -04:00
Pietro Gagliardi 2cbbc6c69d Removed the DPI fields from uiAreaDrawParams. We no longer worry about DPI. 2015-10-13 19:44:16 -04:00
Pietro Gagliardi c3fdd3050d Implemented clipping on OS X. 2015-10-13 13:53:24 -04:00
Pietro Gagliardi c6cdabe20d Preparation for proper, extensible state tracking and clipping on Windows. 2015-10-12 21:11:42 -04:00
Pietro Gagliardi de3ccecd5b Implemented skewing. Will do the test now. 2015-10-12 07:58:07 -04:00
Pietro Gagliardi 46e3fee40d Added a center point to scaling transforms. Fixed rotations on GTK+. 2015-10-12 01:43:12 -04:00
Pietro Gagliardi 5792ac76fc Work on more tests. Scaling will need a center point for this test to work correctly... 2015-10-12 01:18:08 -04:00
Pietro Gagliardi 41a33a1aa1 Fixed the failing test. 2015-10-12 00:27:34 -04:00
Pietro Gagliardi f4b0e7e35e Added negative arcs to the OS X backend. Now we have a crash in one of the tests; still debugging. 2015-10-11 23:48:40 -04:00
Pietro Gagliardi b09cdb5137 Made 90° point toward y=+∞. 2015-10-11 20:24:06 -04:00
Pietro Gagliardi 40acbd8fa0 Did the matrix stuff on OS X. Now we can implement more tests. 2015-10-11 13:53:47 -04:00
Pietro Gagliardi 3a932d281b Fixed arcs on the OS X backend too. Woo! 2015-10-10 11:04:15 -04:00
Pietro Gagliardi 73d77ef38b Capped sweeps at 2π radians. 2015-10-09 22:00:41 -04:00
Pietro Gagliardi 2c7ed07747 Changed the arc functions to take a start angle and a sweep amount instead of a start angle and an end angle. This makes it easier to reason about sweeps > 2π radians. 2015-10-09 21:51:43 -04:00
Pietro Gagliardi 844015f71a Fixed typos in the test program that in turn fixed the gradients; also fixed a few Objective-C-isms in the OS X backend. 2015-10-09 18:49:41 -04:00
Pietro Gagliardi 7075bea0f5 Added uiAreaQueueRedrawAll() and implemented on all platforms. NOW we can focus exclusively on the test suite. 2015-10-09 15:27:57 -04:00
Pietro Gagliardi 5da68c64b3 Implemented uiComboboxSetSelected() on OS X and Windows; fixed editable combobox minimum widths on OS X. 2015-10-09 14:39:26 -04:00
Pietro Gagliardi 56d0d35f83 More TODOs. 2015-10-09 12:34:26 -04:00
Pietro Gagliardi 4deb0f364c Migrated the OS X uiArea back into main. 2015-10-09 12:33:45 -04:00
Pietro Gagliardi 8fb5d1212f Implemented the new uiCombobox behavior on OS X. 2015-10-08 16:32:12 -04:00
Pietro Gagliardi 54332b90fb Finally merged out the redo folder. 2015-09-02 13:48:06 -04:00
Pietro Gagliardi 269e99aec3 Removed the old OS X code. 2015-08-27 11:56:07 -04:00
Pietro Gagliardi 3d79ccf24c Migrated container.m. This will behave similarly to the GTK+ backend; bin.m will come next. 2015-07-29 12:17:12 -04:00
Pietro Gagliardi 2e4af8a123 More OS X uiControl work... kinda. At least all the controls that were in previously are now back in; that just leaes the new ones now. 2015-07-24 15:42:10 -04:00
Pietro Gagliardi 62b5365577 More OS X uiControl work. 2015-07-22 23:20:01 -04:00
Pietro Gagliardi d5744df476 More OS X uiControl work, finally. 2015-07-22 23:03:26 -04:00
Pietro Gagliardi 4234b47f62 More OS X uiControl work. 2015-07-11 22:56:43 -04:00
Pietro Gagliardi 89f8bd8643 Migrated OS X uiButton. We're off to a meh start... 2015-07-11 20:28:04 -04:00
Pietro Gagliardi 9f1ef9eaa1 Migrated the OS X uiWindow code back, modernizing it in the process. Also fixed a latent bug in the GTK+ uiWindow code. 2015-07-03 23:12:31 -04:00
Pietro Gagliardi ed9e70c058 Started redoing the OS X port. 2015-07-02 16:09:57 -04:00
Pietro Gagliardi a517beccae Added uiContainerUpdate() calls to each SetMargined(). 2015-05-11 12:42:13 -04:00
Pietro Gagliardi 2c9e63d8d2 Same as previous commits, but for uiContainer. We don't need to do these because everything that calls uiControlSetParent() (which should only ever be a uiContainer) should also be updating themselves afterward (or are about to be destroyed). 2015-05-11 12:20:41 -04:00