Commit Graph

595 Commits

Author SHA1 Message Date
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 1c1b16a206 More attributes. Beyond this point I'd need to either redefine the way attributes are specified or make more header macros. 2017-02-12 13:41:52 -05:00
Pietro Gagliardi 5aaac84d55 Implemented uiAttributeFamily on OS X. ATTRIBUTES WORK!!! 2017-02-12 01:05:27 -05:00
Pietro Gagliardi 44f8409b8c And implemented the alignment stuff on OS X. 2017-02-11 21:10:16 -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 67949d79aa And re-added the uiFontButton on OS X and added one to the hit-test example. 2017-02-11 01:13:07 -05:00
Pietro Gagliardi bebaf72de3 Started putting uiFontButton back in on OS X. Just a bunch of boilerplate for now, namely the function to take a CTFontDesciptorRef and convert it into a uiDrawFontDescriptor. 2017-02-11 00:53:52 -05:00
Pietro Gagliardi 5d18d477e3 Implemented uiDrawCaret() on OS X. 2017-02-10 18:19:32 -05:00
Pietro Gagliardi bb50440e55 Started cleaning up the old API. 2017-02-10 11:14:24 -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 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 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 bbc03a489e Implemented the system on the hit-test example and on OS X. 2017-02-07 16:43:49 -05:00
Pietro Gagliardi a1bebc82d8 And implemented caret motions in the hit test examples. 2017-02-06 00:26:22 -05:00
Pietro Gagliardi 64a1167e5f Added the blue caret to the drawtext example. Phew! 2017-02-05 21:44:48 -05:00
Pietro Gagliardi 0ae25c62ed Implemented the range-to-rect function on OS X. 2017-02-05 21:17:48 -05:00
Pietro Gagliardi b18cc88dce Boilerplate needed for implementing range-to-rect. 2017-02-05 20:42:52 -05:00
Pietro Gagliardi c336063b65 Decided what I need to do. 2017-02-05 20:26:59 -05:00
Pietro Gagliardi c9e7ee3a92 Reactivated the Core Text backend. 2017-01-24 23:13:44 -05:00
Pietro Gagliardi 8ff01c5034 Ugh 2017-01-24 17:15:57 -05:00
Pietro Gagliardi 8d3c68d7f0 Moved the AppKit text drawer out of the way for now. One last experiment first; didn't seem to matter :S 2017-01-24 17:12:44 -05:00
Pietro Gagliardi 877ffa5f89 More attempts. Ugggggh. 2017-01-24 10:36:13 -05:00
Pietro Gagliardi d1e2b17f6e Attempted to the layout er I mean attempted to define the ascent, desceitn, er descent, and leading for the NSLayoutManager based code AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA. 2017-01-24 01:04:08 -05:00
Pietro Gagliardi 1ca9a28f2d More work. 2017-01-23 15:07:28 -05:00
Pietro Gagliardi 08f2085f41 Quick fix. 2017-01-23 14:31:39 -05:00
Pietro Gagliardi b19f4cf251 Finished writing a NSLayoutManager-based text system. Not quite perfect yet, but we're getting somewhere! 2017-01-23 11:43:03 -05:00
Pietro Gagliardi 4e2dc90f4f Started an experimental port from Core Text to Cocoa's typesetting system, since that seems to produce more sensible results (and is somewhat easier to use...). We lose per-line spacing though :/ 2017-01-23 01:28:53 -05:00
Pietro Gagliardi d8316790a0 More notes. 2017-01-21 10:21:39 -05:00
Pietro Gagliardi 4de8d4402f More TODOs. 2017-01-20 23:15:10 -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 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 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 794d30154c And rewrote drawtext.m based around the new Core Text research. 2017-01-17 12:02:42 -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 4f8f94b85a Updated the CMakeLists.txt for OS X. 2016-12-03 20:02:39 -05:00
Pietro Gagliardi da8b8de371 Wrote the new attributed string system's grapheme code for OS X. 2016-12-03 20:01:45 -05:00
Lailton Fernando Mariano 39d1c0565e Update uipriv_darwin.h 2016-12-01 16:26:59 -02:00
Lailton Fernando Mariano cb927659fa Update uipriv_darwin.h 2016-12-01 14:32:14 -02: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 287d59b5c5 More TODOs. 2016-11-11 01:21:28 -05:00
Pietro Gagliardi 6b33c62b84 More TODOs. 2016-11-08 09:12:11 -05:00
Pietro Gagliardi f56411fde1 Use performWindowDragWithEvent: if available. 2016-11-02 09:34:40 -04:00
Pietro Gagliardi 17dc5f407e And implemented moves on OS X. 2016-11-02 09:29:44 -04:00
Pietro Gagliardi 81b95a59b1 Minor fixups. 2016-11-02 09:09:49 -04:00
Pietro Gagliardi 503e5d7768 More notes. 2016-11-02 08:23:26 -04:00
Pietro Gagliardi 7199d4c847 More notes. 2016-11-01 17:51:25 -04:00
Pietro Gagliardi fae0bb061b Fixed the obvious glitches with window resizes. 2016-11-01 15:19:02 -04:00
Pietro Gagliardi 4c429d5b7f Removed the titlebar logic. Let's try to get the core code working first. 2016-11-01 14:57:44 -04:00
Pietro Gagliardi 0311679e37 Let's continue working on OS X resize drags. 2016-11-01 13:31:34 -04:00
Pietro Gagliardi 3eeb15bcdb Added the initial implementation of the custom resize code. 2016-11-01 11:58:01 -04:00
Pietro Gagliardi d3b33e39ce Further enhancements to custom run loops on OS X for custom resize loops. 2016-10-31 14:33:11 -04:00
Pietro Gagliardi 39fdf7457b More preparation for the OS X window move/resize code: uiMainStep() is split into an internal function that takes a pre-sendEvent: interception specifically intended for internal loops. 2016-10-27 23:32:33 -04:00
Pietro Gagliardi 8cbae7d2b7 More TODOs. 2016-10-27 20:51:37 -04:00
Pietro Gagliardi 5de62d073f Cal [NSApp finishLaunching]. Fixes #182. 2016-10-26 09:39:43 -04:00
Pietro Gagliardi cc1942a929 Prepared OS X for the new uiArea functions. 2016-10-26 01:15:01 -04:00
Pietro Gagliardi 6d796b5642 More removal of uiWindow move events. 2016-10-22 18:11:49 -04:00
Pietro Gagliardi f46edd097b uiDrawTextWeightUtraBold. 2016-10-21 16:35:46 -04:00
Pietro Gagliardi 621e301d5f Fixed backwards compatibility issues. 2016-06-29 08:53:49 -04:00
Pietro Gagliardi 53bd751461 Fixed uiImage byte order on OS X. 2016-06-27 16:34:57 -04:00
Pietro Gagliardi 6804f263d4 And implemented (mostly) the progressbar table parts. I think that'll do for uiTable features now. 2016-06-26 18:19:34 -04: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 44a723b314 Added uiTable buttons. Not fully working on OS X. 2016-06-26 13:06:33 -04:00
Pietro Gagliardi 15eca1372e Fixed cell editing in table on OS X. 2016-06-26 00:44:21 -04:00
Pietro Gagliardi 2f9a38b5fe Quick bugfix. 2016-06-25 23:06:13 -04:00
Pietro Gagliardi e0230d73a6 Started editable uiTable elements. 2016-06-25 23:04:49 -04:00
Pietro Gagliardi 49ab4a886f Added image table cell parts; implemented on OS X 2016-06-25 19:18:25 -04:00
Pietro Gagliardi 93bbf39aa4 Added some test images. Now to add image columns to uiTable and see what happens. 2016-06-25 17:26:50 -04:00
Pietro Gagliardi 165b3a8a51 Okay, decided on something for images. Let's try this. 2016-06-25 16:27:29 -04:00
Pietro Gagliardi 4914d0c64c Added a way to set the text color of a part. 2016-06-23 22:16:25 -04:00
Pietro Gagliardi 9d22d741c6 More TODOs. 2016-06-23 15:06:07 -04:00
Pietro Gagliardi 78e8dd3883 More TODOs. 2016-06-23 14:57:40 -04:00
Pietro Gagliardi 67e8db9efd Added row background colors. 2016-06-23 11:29:43 -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 a57bef13e5 TODO updates. 2016-06-22 23:08:39 -04:00
Pietro Gagliardi cbb07113ca Fixed uiMultilineEntry to no longer use Auto Layout. 2016-06-22 23:07:59 -04:00
Pietro Gagliardi ddd0e82c90 Removed auto layout from scrollviews. Need to do the same to text views too. 2016-06-22 22:58:51 -04:00
Pietro Gagliardi 0ef01e1685 Added some debugging code to help figure out tables. 2016-06-22 13:28:12 -04:00
Pietro Gagliardi a82835fff3 Fixed uiTable selection colors on OS X. 2016-06-22 01:06:47 -04:00
Pietro Gagliardi 93923bbcb3 More TODOs. 2016-06-22 00:59:04 -04:00
Pietro Gagliardi 1c70edaef1 Fixed initial OS X uiTable. It works! 2016-06-22 00:58:10 -04:00
Pietro Gagliardi c26f438d3b Finished the initial implementation of OS X uiTable. Now to test. 2016-06-22 00:40:30 -04:00
Pietro Gagliardi 2f08ec683a Started the OS X uiTable implementation. 2016-06-21 23:58:17 -04:00
Pietro Gagliardi a07e2afc9c Made alignment work on uiGrid on OS X. 2016-06-18 13:32:10 -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
Pietro Gagliardi 798061f7f6 Merge pull request #144 from ProtonMail/progress-bar
Improves progress bar
2016-06-16 16:44:42 -04:00
Pietro Gagliardi d4492c06a9 Changed the uiMainSteps() API as the GTK+ port will need it to be done this way... 2016-06-16 13:49:50 -04:00
Pietro Gagliardi da4b396aaf Added uiMainSteps(), which sets things up to use uiMainStep() for the main loop. Implemented on OS X. 2016-06-16 13:45:24 -04:00
Pietro Gagliardi dd2ee50710 And implemented borderless windows on OS X. 2016-06-16 11:46:58 -04:00