Commit Graph

193 Commits

Author SHA1 Message Date
Pietro Gagliardi 6c29932efe Added testingTDefer(). Now we can actually write the rest of these tests. 2018-03-03 16:24:10 -05:00
Pietro Gagliardi 70db51d23b Added testingTFail() and simplified the implementation of the logging macros. 2018-03-03 14:22:34 -05:00
Pietro Gagliardi b5570040b0 Added skipping and fatal to testing.h. 2018-03-03 14:08:17 -05:00
Pietro Gagliardi d0db6f9594 Added early termination mechanics to the testing framework. 2018-03-01 20:25:36 -05:00
Pietro Gagliardi 8d92003426 Broke apart the testing implementation code into their own files. 2018-02-28 22:07:06 -05:00
Pietro Gagliardi 010e878286 Wrote more of the testing framework, wrote the first test, and fixed compiler errors in opentype.c. 2018-02-28 19:43:29 -05:00
Pietro Gagliardi cf15dba2ef Oops, missed a spot when cleaning up the previous commit. Fixed. 2018-02-28 01:22:16 -05:00
Pietro Gagliardi 5ab1266b5d Finished the boilerplate for the uiOpenTypeFeatures test. 2018-02-28 01:21:10 -05:00
Pietro Gagliardi 70815d8d7b Started writing a test suite for uiOpenTypeFeatures. So far it's just the test boilerplate. 2018-02-27 23:44:50 -05:00
Pietro Gagliardi 3f62cb5cee Oops; forgot to update attrstr.h in the last commit. Also changed a TODO to a LONGTERM in opentype.c. 2018-02-25 20:40:23 -05:00
Pietro Gagliardi dcaf69bc51 Added a single cross-platform implementation of uiOpenTypeFeatures. 2018-02-25 20:38:06 -05:00
Pietro Gagliardi 8b35d16144 More notes. Also fixed a typo (thanks Nicole from Jul). 2018-02-20 21:05:08 -05:00
Pietro Gagliardi 93bf0d403e Wrote the new uiAttribute code in attribute.c. 2018-02-19 18:37:50 -05:00
Pietro Gagliardi eeb7717d88 Moved old attributed-string stuff out of the way for now. 2018-02-19 01:52:38 -05:00
Pietro Gagliardi ca5a5f1f72 More TODOs. I have to really think about this API and build a point-by-point test... 2017-11-04 20:47:09 -04:00
Pietro Gagliardi 180b6429ef More documentation, const correctness, and TODO wrangling. 2017-06-19 22:00:46 -04:00
Pietro Gagliardi 5d7128781b And const-corrected uiAttributedStringForEachAttribute(). 2017-06-19 21:45:18 -04:00
Pietro Gagliardi 8e8cc12105 Added uiForEach for canonicalizing foreach function returns and used it everywhere. 2017-06-06 12:47:07 -04:00
Pietro Gagliardi 8c850a26b2 More TODOs. 2017-06-03 17:53:10 -04:00
Pietro Gagliardi 01df4631f6 And finished integrating the new attributed string stuff on OS X. 2017-05-30 15:24:31 -04:00
Pietro Gagliardi e356f1c48a Started reworking darwin/attrstr.m to be a lot more sane. 2017-05-30 13:06:58 -04:00
Pietro Gagliardi 02020e676a Managed attribute spec memory properly. 2017-05-28 00:41:40 -04:00
Pietro Gagliardi 90962e18c4 And got rid of the remaining old stuff entirely. 2017-05-19 16:14:39 -04:00
Pietro Gagliardi 3e28887a24 Fixed the build. 2017-05-17 19:21:27 -04:00
Pietro Gagliardi 4f31a1331c And omitted the common OpenType stuff from the build. 2017-05-17 16:18:28 -04:00
Pietro Gagliardi 58fff53f61 More TODOs... 2017-02-24 21:18:15 -05: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 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 be56ec3626 Removed the vertical forms attribute. This is a compatiblity nightmare. 2017-02-24 01:23:47 -05:00
Pietro Gagliardi d7a44a5168 Added uiAttribute handling code to the GTK+ backend. Not finished yet; not used yet. 2017-02-20 17:11:52 -05:00
Pietro Gagliardi 6ae6e91238 Integrated opentype.c into the build. Finally. 2017-02-20 14:59:43 -05:00
Pietro Gagliardi e27e51c4b8 Seemed to fix crashing issues for now. Character insertion is borked :| 2017-02-16 14:25:19 -05:00
Pietro Gagliardi 3e941d008e Integrated aat.m into the build. 2017-02-15 23:10:23 -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 bda35b40bd Filled in Core Text language details. 2017-02-14 23:56:20 -05:00
Pietro Gagliardi da22adac7f More feature list completeness work. 2017-02-14 22:37:01 -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 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
Pietro Gagliardi 526173bf76 Started writing the implementation of uiAttributedString. Updated windows/graphemes.cpp for this new implementation. Also fixed up a bunch of subtle errors and other issues with windows/graphemes.cpp. 2016-12-03 18:34:06 -05:00
Pietro Gagliardi 0d5ff432b3 Rewrote utf16.cpp to use my utf lib. Maybe I should be doing attributed strings safter all, but I might as well optimize too I guess?? 2016-12-03 11:31:11 -05:00
Pietro Gagliardi c0f91058c4 Started the move to my utf library. Imported the library. 2016-12-03 11:20:22 -05:00
Pietro Gagliardi 18b103c988 Fully reintegrated the table code. 2016-11-27 17:44:52 -05:00
Pietro Gagliardi 52d88d3f36 Re-added the table code. Need to patch together everything else, but. 2016-11-27 17:36:11 -05:00
Pietro Gagliardi e3dec183aa Started the process of splitting the table code into a separate branch. 2016-11-27 17:34:40 -05:00
Pietro Gagliardi d7caa150b8 Added checkbox table cells. Now just to add progressbar cells and we'll be good. 2016-06-26 15:36:46 -04:00
Pietro Gagliardi f02fbd2ecf Some more API cleanup. Don't separate table cell parts from columns. 2016-06-23 09:56:24 -04:00
Pietro Gagliardi 1c70edaef1 Fixed initial OS X uiTable. It works! 2016-06-22 00:58:10 -04:00
Pietro Gagliardi b21ec6cf6b Laid the foundation for uiTable: common code and a test. Now to start actually implementing it. 2016-06-21 22:22:13 -04:00
Pietro Gagliardi cb3f10f243 Quick fix in the meantime. 2016-06-13 21:38:48 -04:00