Commit Graph

681 Commits

Author SHA1 Message Date
Pietro Gagliardi 8709838a8f Added a uiFreeFontButtonFont() function to free resources allocated by uiFontButtonFont(), implemented it on Windows, and integrated it into the drawtext example. I'm going to continue chipping away at the Windows code for a bit longer, so I'll add this to the other platforms later. 2018-03-17 23:07:40 -04:00
Pietro Gagliardi 78e0684435 Cleaned up memory management in windows attrstr.cpp; also got rid of the logHRESULT(HELP) I was using in case DirectWrite doesn't return NULL+S_OK on a nonexistent drawing effect (thankfully it does). 2018-03-17 21:26:34 -04:00
Pietro Gagliardi fa293717af Removed the NumLines and LineByteRange functions for now; I'll count them under extents. 2018-03-17 21:05:05 -04:00
Pietro Gagliardi d358e87583 Moved the old metrics attrstr code out of the way. 2018-03-17 21:00:11 -04:00
Pietro Gagliardi 45d11962b1 Turns out there was only one real runtime bug (a bad castee). It works! Now to clean up. 2018-03-17 16:10:11 -04:00
Pietro Gagliardi a5bbc83359 Fixed build errors. Now to test. 2018-03-17 15:49:00 -04:00
Pietro Gagliardi 2f02836181 Fixed attrstr.cpp. Wow, that unordered_map custom hash and equal_to actually compiles! 2018-03-17 15:29:06 -04:00
Pietro Gagliardi 51952b4599 And fixed the CMakeLists.txt. Now to build. 2018-03-17 14:50:10 -04:00
Pietro Gagliardi cdaf49ec30 And quick and dirty migration of fontdialog.cpp back. Okay, after fixing the CMakeLists.txt, let's see how bad this is. 2018-03-17 14:47:20 -04:00
Pietro Gagliardi e08460adc3 Cleanup from the previous commit. 2018-03-17 14:45:45 -04:00
Pietro Gagliardi 8352cd72b8 "Migrated" dwrite.cpp back. Not much to say here; it'll do for now. 2018-03-17 14:44:38 -04:00
Pietro Gagliardi 1d1b6c3162 Migrated fontbutton.cpp back. 2018-03-16 20:06:23 -04:00
Pietro Gagliardi 1b1d609c88 More migrations of attrstr.cpp and drawtext.cpp. My this is a mess :D 2018-03-14 21:08:19 -04:00
Pietro Gagliardi 5314295e4c Started migrating drawtext.cpp. This is a bigger mess than I was hoping for... 2018-03-13 22:56:30 -04:00
Pietro Gagliardi 5282951681 Oops, self -> this. 2018-03-13 22:06:33 -04:00
Pietro Gagliardi f25b8dce37 Finished migrating attrstr.cpp. 2018-03-13 22:01:15 -04:00
Pietro Gagliardi 12e97a1b29 Started migrating attrstr.cpp, using the same techniques as attrstr.m. 2018-03-13 18:43:32 -04:00
Pietro Gagliardi abc6fd2825 uiDrawFontDescriptor -> uiFontDescriptor. 2018-03-11 22:36:31 -04:00
Pietro Gagliardi 86264d32a0 And migrated the IDWriteFont -> uiFontDescriptor code. 2018-03-11 22:17:16 -04:00
Pietro Gagliardi 1f61fb30de Wrote a fontmatch.cpp. 2018-03-11 22:11:19 -04:00
Pietro Gagliardi 6c95ce849a Migrated graphemes.cpp and opentype.cpp back. 2018-03-11 21:17:39 -04:00
Pietro Gagliardi e020ba465a Moved the old Windows text code out of the way. 2018-03-11 21:04:38 -04:00
Pietro Gagliardi e768293b54 Merge branch 'master' into utflib-and-attrstr 2018-02-17 22:30:01 -05:00
Pietro Gagliardi 6c85f39584 Improved the comment in the previous commit. 2018-02-17 12:56:47 -05:00
Alexander Neumann ee87a9db23 Fix enter/escape crashes on Windows (#202)
* Do not let slip through IDOK and IDCANCEL as menu events, fixes #55

* Add comment about IDOK and IDCANCEL
2018-02-17 12:53:32 -05:00
Pietro Gagliardi 1f33ca14d8 Fixed Windows build issues and resolved a question in libui that I need to enshrine in documentation next. 2017-11-04 21:44:28 -04:00
Pietro Gagliardi b98888a628 More TODOs. 2017-08-20 05:30:36 -04:00
Pietro Gagliardi 5d7128781b And const-corrected uiAttributedStringForEachAttribute(). 2017-06-19 21:45:18 -04:00
Pietro Gagliardi 3e20e4670c Made a decision on const correctness in uiOpenTypeFeatures. 2017-06-19 14:50:03 -04:00
Pietro Gagliardi e6ee2b0dbd Some TODO elminiation (for once). One TODO got reshuffled. 2017-06-18 20:10:42 -04:00
Pietro Gagliardi cc8a412687 More TODOs. 2017-06-17 17:15:32 -04:00
Pietro Gagliardi fd7c436b8a More TODOs. 2017-06-14 22:07:41 -04:00
Pietro Gagliardi f0813ac6e4 More stuff. I should probably write that OpenType features test now. 2017-06-10 03:37:17 -04:00
Pietro Gagliardi d63a5b23b1 Handled uiOpenTypeFeatures NULL equality. This only added more TODOs elsewhere :| 2017-06-09 19:59:48 -04:00
Pietro Gagliardi 39a8d1a07e More TODOs. 2017-06-07 15:58:11 -04:00
Pietro Gagliardi b3e3b27f71 Some more TODO cleanup and name adjustment. 2017-06-06 14:14:33 -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 8cacd0ba03 Quick fixup. 2017-05-31 22:25:10 -04:00
Pietro Gagliardi 933a8f592a And cleaned up the Windows drawing effect code like we did yesterday. 2017-05-31 22:24:34 -04:00
Pietro Gagliardi 2118259769 Set up text effect stuff. 2017-05-31 20:33:40 -04:00
Pietro Gagliardi 98459d2878 Dropped the redundant features collection stuff on Windows like we did on OS X and GTK+ yesterday. That just leaves all the drawing effects, which we have to collect in a different way (like we did on OS X). 2017-05-31 18:45:11 -04:00
Pietro Gagliardi b47431cd7c More TODOs. 2017-05-30 22:57:38 -04:00
Pietro Gagliardi 81a82723d0 Fixed the Windows code to run after the recent changes. Now to decide whether to clean it up like we did the OS X code... 2017-05-30 16:57:25 -04:00
Pietro Gagliardi 91bfceaf71 And FINALLY cleaned up all the AAT nonsense. Much saner now. 2017-05-30 14:00:58 -04:00
Pietro Gagliardi 1733c28b52 Added consts to the OpenType implementations. 2017-05-30 09:52:38 -04:00
Pietro Gagliardi d979f7a93e Updated a stale comment. 2017-05-28 21:55:10 -04:00
Pietro Gagliardi 3e28887a24 Fixed the build. 2017-05-17 19:21:27 -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 4e6ccc05f1 Implemented the new opentype.cpp on Windows. 2017-05-17 15:57:39 -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 df2a726c1b And fixed on Windows too. We're good. 2017-02-25 01:24:43 -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 0f2b2b1fe5 Fixed background drawing on Windows. 2017-02-22 21:46:15 -05:00
Pietro Gagliardi f2b158b529 And finished implementing attributes on Windows. 2017-02-22 19:13:36 -05:00
Pietro Gagliardi b42250e3a9 More text attributes on Windows, including the beginning of drawing effects for colors and underlines. 2017-02-22 15:19:11 -05:00
Pietro Gagliardi fb04feaebb Started Windows attribute handling. 2017-02-22 12:49:55 -05:00
Pietro Gagliardi ae8105c234 Added debugging to our custom IDWriteTextRenderer. 2017-02-22 11:23:26 -05:00
Pietro Gagliardi 9cc8b03516 Switched to a custom IDWriteTextRenderer, which will be necessary for some of our text attributes. More TODO. 2017-02-22 03:43:43 -05:00
Pietro Gagliardi efb7d5b21d More TODOs. 2017-02-21 16:06:29 -05:00
Pietro Gagliardi ea473a3411 Ugh of course I screwed up the malloc() test. Fixed a crash on GTK+ since I guess OS X malloc() autofills to 0? 2017-02-20 15:14:53 -05:00
Pietro Gagliardi c4a97792ea And implemented the new stuff on Windows. 2017-02-11 21:54:06 -05:00
Pietro Gagliardi dca92d507e And readded uiFontButton on Windows. Woo! Now we have to deal with styles. 2017-02-11 17:08:05 -05:00
Pietro Gagliardi 230d23765a Removed Uniscribe from the Windows build process and header file list. Also more TODOs. Next major goal: reinstating the font button. 2017-02-10 22:22:47 -05:00
Pietro Gagliardi c4b6149ec2 Gave up and rewrote Windows graphemes.cpp to use CharNextW() instead of Uniscribe, since I can't manage Uniscribe memory properly, it seems. The CharNextW() bug is relatively painless to work around anyway. Next commit will drop Uniscribe from the headers and build system. 2017-02-10 22:12:37 -05:00
Pietro Gagliardi 5a1c733841 Something is wrong with the Windows code... 2017-02-10 20:37:05 -05:00
Pietro Gagliardi 746e4091cb Implemented uiDrawCaret() on Windows. 2017-02-10 17:38:17 -05:00
Pietro Gagliardi 5823c3a53e More cleanup. 2017-02-10 11:52:26 -05:00
Pietro Gagliardi 5458e10134 Implemented the new hit-test functions on Windows. 2017-02-08 20:10:34 -05:00
Pietro Gagliardi 012ce92b71 And implemented the caret changes on Windows. 2017-02-07 19:55:21 -05:00
Pietro Gagliardi 3e4f99e0dd Notes for Windows equivalent of previous commits. Not actually done yet. 2017-02-07 19:42:00 -05:00
Pietro Gagliardi e4ed1c337b And implemented the functions on Windows. Yeah I think I'll need cursor functions, perhaps. 2017-02-06 18:38:44 -05:00
Pietro Gagliardi bb52275686 Corrected ambiguous wording in a comment. 2017-01-29 21:51:27 -05:00
Pietro Gagliardi 7614d3e0ff More TODOs. 2017-01-27 15:39:24 -05:00
Pietro Gagliardi d8316790a0 More notes. 2017-01-21 10:21:39 -05:00
Pietro Gagliardi f0b9ff9aba Fixed multifragment lines on Windows, again with the help of the PadWrite sample. 2017-01-21 09:39:53 -05:00
Pietro Gagliardi c720e8147b Figured out what's going on. No clue how to fix it. 2017-01-20 20:57:20 -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 fc7fcd9f05 And implemented metrics stuff on Windows. 2017-01-20 18:09:06 -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 3218ba2a43 And migrated the Unix grapheme code for the new attributed string system. 2016-12-03 18:54:19 -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 e3dec183aa Started the process of splitting the table code into a separate branch. 2016-11-27 17:34:40 -05:00
Pietro Gagliardi 8819d9cd58 Fixed the new Windows uiArea functions. 2016-10-25 23:41:37 -04:00
Pietro Gagliardi 9d754bbf2a Implemented the new functions on Windows. Now to test. 2016-10-25 23:24:13 -04:00
Pietro Gagliardi 57fbf78ef3 More removal. 2016-10-22 19:31:57 -04:00
Pietro Gagliardi edd70b9fa5 More uiWindows cleanup. 2016-10-22 18:35:41 -04:00
Pietro Gagliardi f46edd097b uiDrawTextWeightUtraBold. 2016-10-21 16:35:46 -04:00
Pietro Gagliardi e133903809 Merge branch 'master' of github.com:andlabs/libui 2016-10-17 12:41:58 -04:00
Pietro Gagliardi 084ed53e63 Fixed a latent bug in uiFreeInitError() on Windows. 2016-10-15 01:21:04 -04:00
Boris Nagaev 61bcb0d536 cmake: do not reset unused variable _res_suffix 2016-07-10 22:14:55 +03:00
Pietro Gagliardi ef689c10f1 Started table part handling on Windows. 2016-06-30 20:38:12 -04:00
Pietro Gagliardi 9656a81c77 Added uiNewVerticalSeparator(). 2016-06-17 11:02:17 -04:00
Pietro Gagliardi ae14542c9a Improved uiMainSteps(). 2016-06-17 09:22:31 -04:00
Pietro Gagliardi 99545e8775 Fixed up the progressbar changes. 2016-06-16 17:43:04 -04:00