Commit Graph

2859 Commits

Author SHA1 Message Date
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 fc7fcd9f05 And implemented metrics stuff on Windows. 2017-01-20 18:09:06 -05:00
Pietro Gagliardi 6ccf436206 Implemented Pango text metrics and expanded the drawtext basic page to draw metrics. Works on both Pango and OS X; DirectWrite comes next. 2017-01-20 16:36:44 -05:00
Pietro Gagliardi 6ef6ed8cde Expanded the drawtext example to allow for multiple examples and options in the examples. Our old makefiles wouldn't allow examples to be spread across multiple files like this, so yay cmake? 2017-01-20 13:25:21 -05:00
Pietro Gagliardi 2d09f22932 Added a debugging guide for Windows. Will have to investigate this more, because I can't find any information online that suggests Direct2D should not respect clipping when drawing text :S Also more TODOs. 2017-01-20 12:46:00 -05:00
Pietro Gagliardi 88ea7c4665 Fixed runtime errors. Yay it works on all platforms now! Also more TODOs. Now the real work is getting the rest of the functionality in. 2017-01-20 04:34:15 -05:00
Pietro Gagliardi c0781a13ae Fixed compile errors. Jesus.
Runtime errors next.
2017-01-20 03:24:06 -05:00
Pietro Gagliardi cac390a821 Wrote much of the new text layout code on Windows. Now to test. 2017-01-19 21:13:03 -05:00
Pietro Gagliardi f7121774e1 Added some TODOs and started the work necessary for the Windows text system migration... which is gonna hurt. 2017-01-17 23:25:26 -05:00
Pietro Gagliardi 5444f76bd3 Started implementing the new text layout stuff on GTK+. The drawtext example works. 2017-01-17 21:06:45 -05:00
Pietro Gagliardi 7f270942a7 And fixed errors. Woo, it works!!!!! 2017-01-17 13:54:23 -05:00
Pietro Gagliardi 907d7c5830 Added the beginning of a text-drawing example (since I would need to heavily change the tester to test these things; hopefully in the future the example will be much more sophisticated). Time to fix segfaults! 2017-01-17 13:30:00 -05:00
Pietro Gagliardi 7bda3baee3 Fixed build errors. DOES IT WORK?!?!?!?!?!?!?!?! 2017-01-17 13:05:40 -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 1bd2ca22c2 Some more work on the new Cocoa text drawing code. 2017-01-06 23:53:23 -05:00
Pietro Gagliardi 6212ac7238 And integrated the rest of our important tests in. 2017-01-05 21:36:07 -05:00
Pietro Gagliardi 747a0bbfad More TODOs. 2017-01-05 17:56:47 -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
Pietro Gagliardi dfaf640101 More work. Core Text chaos has resurged... 2017-01-04 23:50:08 -05:00
Pietro Gagliardi f147edf949 More work. 2017-01-03 23:59:23 -05:00
Pietro Gagliardi bab798543f Wrote the new font matching code. This is taken from the old code, but cleaned up considerably and updated with new knowledge. 2017-01-03 13:42:12 -05:00
Pietro Gagliardi 4318785eb2 More drawtext.m work. I was wrong; I'll need to do the trait matching anyway. Ugh. 2017-01-03 12:18:17 -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