Commit Graph

53 Commits

Author SHA1 Message Date
Pietro Gagliardi 02020e676a Managed attribute spec memory properly. 2017-05-28 00:41:40 -04:00
Pietro Gagliardi 475ae4a4bf Started making attribute manipulation better. In a sense. Pointers will be represented properly, and in a const-safe way. We'll need to make local copies of everything, of course. 2017-05-28 00:19:49 -04:00
Pietro Gagliardi a17985b4cd Some big TODOs I didn't realize until now. 2017-05-19 20:46:56 -04:00
Pietro Gagliardi 90962e18c4 And got rid of the remaining old stuff entirely. 2017-05-19 16:14:39 -04:00
Pietro Gagliardi 2f73df09e3 And adjusted the Windows attrstr.cpp to boot. Now to rewrite the example and test. 2017-05-17 16:15:54 -04:00
Pietro Gagliardi 676dfb87f2 Started the uiOpenTypeFeatures implementationss, filling in holes in the API. 2017-05-11 10:27:34 -04:00
Pietro Gagliardi a0454a6b43 Started dropping the whole features system in favor of a homogenous OpenType feature attribute just like every other API. Will make some things easier, hopefully... 2017-05-07 10:30:08 -04:00
Pietro Gagliardi 28b30367e2 Still more TODO resolution. 2017-02-24 18:19:34 -05:00
Pietro Gagliardi cca4db5ce9 More TODO resolution and pointless TODO elimination. 2017-02-24 18:15:20 -05:00
Pietro Gagliardi ce1a54a9d1 More documentation works. 2017-02-24 12:39:29 -05:00
Pietro Gagliardi 0db03e5f44 More TODO and documentation cleanup, including removing redundant or now-pointless TODOs. 2017-02-24 12:27:44 -05:00
Pietro Gagliardi 0df8346bff Also removed uiAttributeLangauge for compatibility reasons too. Let's settle all the TODOs now. 2017-02-24 12:12:03 -05:00
Pietro Gagliardi 074350bf99 Removed the TODOs from uiAttributes for attributes we don't yet support. That'll all come later. 2017-02-24 11:49:32 -05:00
Pietro Gagliardi be56ec3626 Removed the vertical forms attribute. This is a compatiblity nightmare. 2017-02-24 01:23:47 -05:00
Pietro Gagliardi fbd294c089 Filled in the rest of the typographic features. Now to write the any combination example. 2017-02-20 12:38:39 -05:00
Pietro Gagliardi 1eb2ffaf82 FLIPPED THE SWITCH 2017-02-15 21:30:21 -05:00
Pietro Gagliardi 85fd3b72af More support for uiAttributeLanguage. 2017-02-15 09:44:57 -05:00
Pietro Gagliardi 81b520249b More attribute work. Getting a clearer idea. 2017-02-15 01:34:26 -05:00
Pietro Gagliardi 16b0ca518e Synced opentype.c to AAT and more TODOs. 2017-02-14 21:18:56 -05:00
Pietro Gagliardi 2ffcd192c0 Wrote the common code (for DirectWrite and Pango) to deal with OpenType features. Now to merge with Core Text's internal AAT-to-OpenType mapping. 2017-02-14 19:00:35 -05:00
Pietro Gagliardi e4b761d611 Defined more of the OpenType attributes. 2017-02-14 17:15:19 -05:00
Pietro Gagliardi 4195bc3b4b Finalized and implemented underlines on OS X. 2017-02-14 14:57:56 -05:00
Pietro Gagliardi eb7dfa5cc4 More attribute work, including trimming unsupported or nonsensical attributes. 2017-02-14 14:21:58 -05:00
Pietro Gagliardi 250cba7c67 Added more potential attributes. 2017-02-14 13:21:47 -05:00
Pietro Gagliardi aa7d1e28ea More TODOs. 2017-02-14 02:55:42 -05:00
Pietro Gagliardi 9c1293736b Prepared the non-feature attributes based on the OS X list. 2017-02-14 02:53:21 -05:00
Pietro Gagliardi fbae38ce2e Started mapping out attributes for typographic features. I FORGOT THE OTHER ATTRIBUTES I NEED TO DO THOSE FIRST. 2017-02-14 02:26:26 -05:00
Pietro Gagliardi e3b1e033b2 More TODOs. 2017-02-13 23:20:38 -05:00
Pietro Gagliardi 35a06e8540 Changed uiAttributeVerticalForms into a boolean. This is how the other features might need to be implemented :/ 2017-02-13 22:42:18 -05:00
Pietro Gagliardi ff986858f1 Added vertical glyph forms. Next up is the rest of the various font features. 2017-02-13 10:24:12 -05:00
Pietro Gagliardi 9eba197fd1 Adjusted the example for backgrounds. Nope brushes isn't gonna work; absolute positioning of gradients is a problem. 2017-02-13 01:44:18 -05:00
Pietro Gagliardi 44f24fc900 Added the foreground color attribute. Considering making the background color a background BRUSH attribute instead... 2017-02-12 20:27:47 -05:00
Pietro Gagliardi 261dd4851a Changed the representation of an attribute type/value pair to allow more type safety and expressability. 2017-02-12 14:11:25 -05:00
Pietro Gagliardi 32a0284edc Started work on actual attributed text. This includes the beginnings of an attributed text example. Now to implement. 2017-02-11 23:19:30 -05:00
Pietro Gagliardi 8a64a1dfb0 Made the OS X code and the example program use the new layout stuff. 2017-02-11 19:47:20 -05:00
Pietro Gagliardi 491ec3ae49 Actually let's do paragraph alignment first. Haven't tested hit-test with that just yet. 2017-02-11 17:10:59 -05:00
Pietro Gagliardi 49094bb340 Merged uiFontButton back in, with an updated API that works directly with uiDrawFontDescriptors. 2017-02-11 00:25:07 -05:00
Pietro Gagliardi b5b0fae052 And implemented uiDrawCaret() on GTK+. 2017-02-10 16:53:08 -05:00
Pietro Gagliardi 642363ccae Added the uiDrawCaret() function for drawing text carets. Now to write the backend-specific code and test it out. 2017-02-10 16:29:36 -05:00
Pietro Gagliardi 49d36b340c Started adjusting all the implementations to the new API's formal definition. There's bugs in uiAttributedString... 2017-02-10 10:54:37 -05:00
Pietro Gagliardi 92d996f148 Okay so I can't fix Pango as the behavior is hardcoded in (https://git.gnome.org/browse/pango/tree/pango/pango-layout.c?id=f4cbd27f4e5bf8490ea411190d41813e14f12165#n4204); just write some documentation and get rid of the old APIs entirely. 2017-02-09 19:20:35 -05:00
Pietro Gagliardi 749a0cddaf Wrote the new hit-testing API on OS X, the easiest target. Also updated the example. Had to slightly modify one function for this all to work. 2017-02-08 19:00:45 -05:00
Pietro Gagliardi 93537ebb83 Simpler hit-testing APIs based on Core Text's. Microsoft's PadWrite sample shows us how to implement these on both DirectWrite and the similarly-interfaced Pango. 2017-02-08 11:38:52 -05:00
Pietro Gagliardi a5dac81855 Refined the hit-test API some more. 2017-02-07 16:21:18 -05:00
Pietro Gagliardi ac9aefc43a Set up a new API specifically for caret positioning when hit-testing a point. Not yet implemented, just planned out. 2017-02-07 15:29:12 -05:00
Pietro Gagliardi 87b7d5b4b7 Decided to remove uiDrawTextLayoutByteIndexToGraphemeRect(); the Range one later on handles it. Now we can do the hit testing functions! 2017-01-20 19:34:16 -05:00
Pietro Gagliardi 794d30154c And rewrote drawtext.m based around the new Core Text research. 2017-01-17 12:02:42 -05:00
Pietro Gagliardi e63a42a290 Okay, now that I know what I'm doing, let's make the line metrics struct useful again. 2017-01-17 02:17:12 -05:00
Pietro Gagliardi e32341b24b More work. 2017-01-07 20:09:44 -05:00
Pietro Gagliardi 3910ff1a13 Resolved Core Text pain by not even thinking about lines in terms of boxes. 2017-01-05 17:55:05 -05:00