Pietro Gagliardi
98e7afc5de
Freed most of the mapTables.
2016-04-25 13:47:24 -04:00
Pietro Gagliardi
d0d0efce1a
Fixed build errors. Now to test!
2016-04-25 13:38:17 -04:00
Pietro Gagliardi
3ca4a28bb3
Settled the SetParent stuff. NOW we can test.
2016-04-25 12:59:45 -04:00
Pietro Gagliardi
23c2998040
Migrated darwin/control.m. Forgot the SetParent/SetSuperview rule! One more commit before we can build...
2016-04-25 12:55:51 -04:00
Pietro Gagliardi
189d661b7f
Migrated darwin/tab.m and fixed up the other files. Now for darwin/control.m, then we can test...
2016-04-25 12:52:54 -04:00
Pietro Gagliardi
b50eda0303
Migrated darwin/group.m. That just leaves darwin/tab.m and a few fixups to a number of other controls.
2016-04-25 12:42:43 -04:00
Pietro Gagliardi
f0ca2dcee5
Migrated darwin/box.m.
2016-04-25 12:35:01 -04:00
Pietro Gagliardi
6e584f26d3
Migrated darwin/window.m.
2016-04-25 12:28:36 -04:00
Pietro Gagliardi
c36d5079db
Migrated the controls that don't have children to the new object method model on OS X.
2016-04-25 11:54:09 -04:00
Pietro Gagliardi
639a010a56
Tested everything by migrating darwin/combobox.m; fixed errors along the way. Also more TODOs.
2016-04-25 10:23:16 -04:00
Pietro Gagliardi
dda30cdb3c
Started the new uiControl infrastructure.
2016-04-24 19:22:21 -04:00
Pietro Gagliardi
cf51ec823f
Got rid of toplevelOwning(); I didn't like that one.
2016-04-24 18:23:00 -04:00
Pietro Gagliardi
bc0a1d43c9
Applied the new type system to the Windows backend and fixed some more C++ stupidity related to it.
2016-04-24 17:38:48 -04:00
Pietro Gagliardi
b6c54aac43
Fixed build errors. Let's test!
2016-04-24 16:14:19 -04:00
Pietro Gagliardi
ded1ee6997
Removed typed stuff from darwin/menu.m. Now let's try building it.
2016-04-24 16:07:45 -04:00
Pietro Gagliardi
5efad5e850
Migrated the uiNewControl() definitions on OS X. This just leaves uiMenu.
2016-04-24 16:03:13 -04:00
Pietro Gagliardi
b2c9577cb9
Set up all the control signatures and the framework for signature-based control types on OS X.
2016-04-24 15:46:29 -04:00
Pietro Gagliardi
f60178798f
Removed common type code.
2016-04-24 15:08:48 -04:00
Pietro Gagliardi
7b0f930185
Removed all the type function declarations from all the controls. More TODOs.
2016-04-24 15:04:36 -04:00
Pietro Gagliardi
cfa1b6bf0a
Added uiFontButtonFont() and uiFontButtonOnChanged(); implemented on OS X.
2016-04-20 13:40:54 -04:00
Pietro Gagliardi
721269b3eb
Implemented colored text on OS X and Windows.
2016-04-19 18:45:16 -04:00
Pietro Gagliardi
e786d664cb
Implemented text layout SetColor on OS X.
2016-04-19 16:06:50 -04:00
Pietro Gagliardi
5b74b2752e
Decided to use character offsets instead of byte offsets for text layout attributes. This removes the shaky code from the OS X and Windows backends to compute a list of character offsets for byte offsets. The equivalent code for GTK+ to convert chars to bytes will be much more solid; it will be written next.
2016-04-19 14:39:33 -04:00
Pietro Gagliardi
c2d165af94
Implemented the uiDrawTextFont direct from system font-making functions on other platforms.
2016-04-19 11:23:05 -04:00
Pietro Gagliardi
ccfa3d41a3
More work on the initial font and showing styles. I have a feeling my current approach is a mistake.
2016-04-18 13:32:48 -04:00
Pietro Gagliardi
84fc5dafaa
More TODOs.
2016-04-18 10:22:36 -04:00
Pietro Gagliardi
23ec771c86
Removed uiFontDescriptor.SmallCaps; on Windows this has to be applied to layouts.
2016-04-15 14:23:16 -04:00
Pietro Gagliardi
0bc140cd46
Dropped uiDrawTextGravity. That has to do with vertical text, which we can both abstract into a higher level API and can't do yet because DirectWrite simply does not support vertical text on Windows 7 for reasons that escape logical thought.
2016-04-15 00:24:27 -04:00
Pietro Gagliardi
1b61bfd67c
More TODOs.
2016-04-14 14:33:20 -04:00
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