Commit Graph

102 Commits

Author SHA1 Message Date
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 4195bc3b4b Finalized and implemented underlines on OS X. 2017-02-14 14:57:56 -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 1c238bf85b And implemented uiAttributeBackground on OS X. Not sure what else to add besides the feature variants... 2017-02-13 02:10:39 -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 40c388e01d Whoops, just realized I typo'd. 2017-02-13 01:28:46 -05:00
Pietro Gagliardi b2cd5ef851 Wrote code to draw the background of text. 2017-02-13 01:22:59 -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 5a1c733841 Something is wrong with the Windows code... 2017-02-10 20:37:05 -05:00
Pietro Gagliardi 6acb10a4fc Fixed hanging errors in uiDrawCaret(). 2017-02-10 19:29: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 8ac9e386b5 More TODOs. 2017-02-10 11:07:44 -05:00
Pietro Gagliardi 6fa009a7dd Fixed uiAttributedString not putting the right position for the last character. Simple case of using the wrong variables. 2017-02-10 11:06:37 -05:00
Pietro Gagliardi b18cc88dce Boilerplate needed for implementing range-to-rect. 2017-02-05 20:42:52 -05:00
Pietro Gagliardi c0781a13ae Fixed compile errors. Jesus.
Runtime errors next.
2017-01-20 03:24:06 -05:00
Pietro Gagliardi 7f270942a7 And fixed errors. Woo, it works!!!!! 2017-01-17 13:54:23 -05:00
Pietro Gagliardi 7bda3baee3 Fixed build errors. DOES IT WORK?!?!?!?!?!?!?!?! 2017-01-17 13:05:40 -05:00
Pietro Gagliardi e32341b24b More work. 2017-01-07 20:09:44 -05:00
Pietro Gagliardi 31274bcbd2 Started implementing the new attributed string system on OS X. 2017-01-02 23:53:31 -05:00
Pietro Gagliardi 30ca879c14 More API stuff. 2017-01-02 20:11:15 -05:00
Pietro Gagliardi e409943a50 One more support method before I can actually implement uiDrawTextLayout. Still need to figure out how I'm going to deal with fonts... 2016-12-23 14:01:09 -05:00
Pietro Gagliardi dfffc4c851 Started the API definition of the new uiDrawTextLayout. 2016-12-23 12:24:20 -05:00
Pietro Gagliardi 4f6ed98e40 And integrated the new attribute list implementation fully. 2016-12-23 00:31:11 -05:00
Pietro Gagliardi 5c1dfbd86f Got rid of the old attribute code and integrated exp_attrdll.c into attrstr.c. I'll rename the file to attrlist.c later. 2016-12-22 14:33:30 -05:00
Pietro Gagliardi ab8aa9266e Finished filling in exp_attrdll.c. I think this will stay. 2016-12-22 14:22:01 -05:00
Pietro Gagliardi 0078615662 More attribute list work. 2016-12-22 13:05:36 -05:00
Pietro Gagliardi ecc7b70a6b And FINALLY implemented that function :D 2016-12-20 16:16:52 -05:00
Pietro Gagliardi 28ca02673b Even more trying to reason about the algorithm. 2016-12-20 14:47:11 -05:00
Pietro Gagliardi 4f1ba0df84 Plotted out at a high level how insertion with attribute borrowing should work. 2016-12-20 14:24:26 -05:00
Pietro Gagliardi 643e2937c4 More stuff I guess? 2016-12-19 17:15:48 -05:00
Pietro Gagliardi 78f5ca5eb5 Implemented attrlistInsertCharactersUnattributed(). 2016-12-19 13:46:20 -05:00
Pietro Gagliardi fee06b9553 Wrote the prototypes for the other functions I will need. 2016-12-19 11:07:52 -05:00
Pietro Gagliardi 7ebfe73bce Some minor cleanup. 2016-12-19 11:02:33 -05:00
Pietro Gagliardi 96e15116ba Added some expository information about attribute lists. 2016-12-18 14:11:12 -05:00
Pietro Gagliardi 5c96266c7c And finished implementing attrlistInsertAt(). Woo! 2016-12-18 14:06:37 -05:00
Pietro Gagliardi 75525196b1 Even more expansion of the experimental attribute list. 2016-12-18 11:49:54 -05:00
Pietro Gagliardi 4c99899a1d More work. Much clearer now... not yet complete though. 2016-12-17 23:07:48 -05:00
Pietro Gagliardi 2f449887d8 More TODOs. 2016-12-17 12:23:09 -05:00
Pietro Gagliardi 722dd03193 Cleaned up exp_attrdll.c a bit. 2016-12-17 12:19:33 -05:00
Pietro Gagliardi 98082068f6 Started an experimental doubly linked list implementation of attribute lists. 2016-12-16 23:31:04 -05:00
Pietro Gagliardi 6726ab70a9 Changed attrstr.c to match ui_attrstr.h. 2016-12-15 13:39:19 -05:00
Pietro Gagliardi 3f48bddce0 Started the header file for attributed strings, drawing text layouts, and the new text system in general. 2016-12-12 06:45:49 -05:00
Pietro Gagliardi e9fdbf33f3 And plugged in the deletion stuff into the rest of attrstr.c. We're on a roll here! 2016-12-06 10:35:08 -05:00
Pietro Gagliardi 0503110ddd Fixed the delete attributes code. 2016-12-06 10:23:53 -05:00
Pietro Gagliardi cb8d75d431 Started implementing the attribute handling code itself. 2016-12-05 18:32:51 -05:00
Pietro Gagliardi b45e5f4de2 Extended attrstr.c. Much more complete API now. 2016-12-04 16:02:56 -05:00