Commit Graph

454 Commits

Author SHA1 Message Date
Pietro Gagliardi 241d8b59f0 And handled the functions in draw.h. Now to test this final build, then get rid of the shared library stuff from CMakeLists.txt... 2018-05-12 13:25:40 -04:00
Pietro Gagliardi add92694bf And renamed the things in future.c, to round out uipriv_unix.h. 2018-05-12 13:19:35 -04:00
Pietro Gagliardi e0a2fc5841 Renamed shared functions in draw.c, image.c, and cellrendererbutton.c. 2018-05-12 13:14:39 -04:00
Pietro Gagliardi 70fd8cbf8e Migrated the types and functions of child.c. 2018-05-12 13:03:55 -04:00
Pietro Gagliardi afaec644cc Migrated the margin and padding constants and functions in menu.c, alloc.c, and util.c. 2018-05-12 12:47:21 -04:00
Pietro Gagliardi 1c83d674a5 Dummy commit to split uipriv_unix.h and move the old stuff out of the way first, to create this branch. 2018-05-12 11:20:11 -04:00
Pietro Gagliardi 7b570a4026 Merge branch 'master' into table 2018-05-05 09:15:08 -04:00
Pietro Gagliardi cac4cd9e81 Cleaned up stylistic nits and common branch naming issues on the new uiTimer() code. Also switched the Windows code to use a simple struct instead of the class (and with a uipriv name). 2018-04-18 21:04:12 -04:00
Pietro Gagliardi 85a4c6d35d
Merge pull request #277 from cody271/timer
Adds a function uiTimer() that runs code on the main loop at certain intervals.

Original comment: Add Timer API
2018-04-18 20:52:59 -04:00
Pietro Gagliardi bd2f436d91 Fixed uiImage redeclaration warnings on GTK+. 2018-04-18 10:20:55 -04:00
Pietro Gagliardi 6507a0d3a1 Updated common uipriv names on Unix. 2018-04-18 10:17:41 -04:00
Pietro Gagliardi ae2eea7975 Merge branch 'master' into table
Long-overdue sync.
2018-04-18 10:00:13 -04:00
cody271 5622b13c23 uiTimer() Use uiNew() and uiFree() 2018-04-16 17:49:08 -07:00
cody271 5dbe20593d Implement uiTimer() for GTK+ and OS X 2018-04-16 17:28:12 -07:00
cody271 27b8ce1db3 Add uiTimer() API and example 2018-04-16 17:28:12 -07:00
Pietro Gagliardi 8e2004cf67 struct graphemes -> uiprivGraphemes. Also deleted OLD_uipriv.h now that that one is settled. 2018-04-15 22:43:14 -04:00
Pietro Gagliardi 01d6422664 Added uipriv prefixes to the matrix functions. 2018-04-15 22:39:34 -04:00
Pietro Gagliardi 24a4b0997c fromScancode() -> uiprivFromScancode(). 2018-04-15 22:31:17 -04:00
Pietro Gagliardi 0dddf4a490 clickCounter -> uiprivClickCounter. 2018-04-15 22:26:51 -04:00
Pietro Gagliardi f5be05f143 shouldQuit() -> uiprivShouldQuit(). 2018-04-15 21:54:46 -04:00
Pietro Gagliardi f93973d3cb Migrated implbug() and userbug() to uipriv forms. 2018-04-15 21:46:08 -04:00
Pietro Gagliardi 099c4ff631 uiAlloc() et al -> uiprivAlloc() et al, GTK+ code. 2018-04-15 16:36:03 -04:00
Pietro Gagliardi 4a57b15d09 Renamed the common options variable to uiprivOptions. 2018-04-15 15:49:45 -04:00
Pietro Gagliardi 0125e33720 Made the likewise changes on Unix. 2018-03-17 23:42:54 -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 bffe311afe Switched to using Pango background color attributes. Unix code done for now. 2018-03-11 20:23:18 -04:00
Pietro Gagliardi 602060a673 Fixed build errors, some of which were overisghts and others were habits from the OS X code. 2018-03-11 19:59:11 -04:00
Pietro Gagliardi 697c926c92 And migrated fontmatch.c back. Let's test. 2018-03-11 19:37:30 -04:00
Pietro Gagliardi 5939c3203d Created a new file for the font matching code. 2018-03-11 19:32:08 -04:00
Pietro Gagliardi 24d2220fe5 Migrated drawtext.c. 2018-03-11 18:12:15 -04:00
Pietro Gagliardi 7dc5c6d940 Migrated attrstr.c back. 2018-03-11 17:36:22 -04:00
Pietro Gagliardi 1cce6dc704 Migrated opentype.c and graphemes.c back. 2018-03-11 16:15:28 -04:00
Pietro Gagliardi 008be9b6d8 Began migrating the Unix draw text code by moving the existing files out of the way. 2018-03-11 15:55:28 -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 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 cde1a201f4 Expanded documentation in ui_attrstr.h in an attempt to reduce TODOs. Instead, I added more. :D 2017-06-08 15:31:28 -04:00
Pietro Gagliardi ddf91df764 More cmake TODOs. 2017-06-06 15:32:51 -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 1e31ef24c6 Minor code cleanup. Not sure what to do next... 2017-05-30 22:22:56 -04:00
Pietro Gagliardi 2e98219009 And fixed the whole OpenType features nonsense on GTK+, since we now group all OpenType features together. We're now much closer to pushing this back into master! 2017-05-30 19:07:01 -04:00
Pietro Gagliardi c61bbfe5c8 Updated the GTK+ code to the newest changes. I *do* need to fix this one. 2017-05-30 18:46:30 -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 dd54469677 Set up a future system for OS X like we have on GTK+ and moved everything we already have to it. You'll notice we also set up a loader for what we're going to use this for: using OpenType attributes directly on OS X. 2017-05-19 16:40:52 -04:00
Pietro Gagliardi 39cec570d9 And implemented the new features stuff on the GTK+ side. 2017-05-17 23:37:16 -04:00
Pietro Gagliardi ff4ab7110c Filled in GTK+ opentype.c. This is gonna suck as much as it does now... 2017-05-17 22:56:55 -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 70940e5c06 More TODOs. 2017-02-24 21:43:37 -05:00
Pietro Gagliardi 3d5fbc0880 Checked empty strings on Pango. 2017-02-24 21:42:40 -05:00
Pietro Gagliardi f6e9da916a Fixed Unix cursor positioning. 2017-02-24 14:25:16 -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 c111239b0d More TODOs. 2017-02-20 22:25:49 -05:00
Pietro Gagliardi 75c2c80534 And adding the background attributes. We're done with the Pango one! Now for the Windows one... yay. 2017-02-20 22:24:02 -05:00
Pietro Gagliardi 4ba4e4ba23 More attribute implementation. 2017-02-20 20:41:14 -05:00
Pietro Gagliardi 4a1642cea2 Fixed improper breaks in Unix attribute handling. 2017-02-20 19:51:00 -05:00
Pietro Gagliardi d4b38cd3b7 And switched attributes on on GTK+. We have a problem with attributes that span bytes. 2017-02-20 19:28:19 -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 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 210c4507ca Implemented uiDrawTextLayoutParams and alignment on GTK+. 2017-02-11 21:25:41 -05:00
Pietro Gagliardi 1a8f7ad405 Reimplemented uiFontButton on GTK+. 2017-02-11 14:45:58 -05:00
Pietro Gagliardi b5b0fae052 And implemented uiDrawCaret() on GTK+. 2017-02-10 16:53:08 -05:00
Pietro Gagliardi b52600d9cd Preparation for adding uiDrawCaret(). 2017-02-10 16:16:43 -05:00
Pietro Gagliardi 0e5be32299 And cleaned up the GTK+ code. 2017-02-10 15:49:36 -05:00
Pietro Gagliardi d53bc88f50 And filled in the new functions on GTK+. Not quite right yet... 2017-02-08 21:19:49 -05:00
Pietro Gagliardi 01b6a16af6 And handled caret behavior on GTK+. 2017-02-07 19:14:51 -05:00
Pietro Gagliardi 3d8bf01972 And implemented the hit-testing functions on GTK+. 2017-02-06 10:30:26 -05:00
Pietro Gagliardi c539362c15 Implemented the Pango hit test functions. Now to test. 2017-02-06 10:11:45 -05:00
Pietro Gagliardi d8316790a0 More notes. 2017-01-21 10:21:39 -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 5444f76bd3 Started implementing the new text layout stuff on GTK+. The drawtext example works. 2017-01-17 21:06:45 -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 dd339699cd Oops, I forgot to remove the uiImage code from the GTK+ port when splitting uiTable into a branch. Fixed the build for now. Fixes #238. 2016-11-30 09:21:37 -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 211b11b80f Fixed a threading issue in uiQueueMain() on GTK+. 2016-10-31 13:38:38 -04:00
Pietro Gagliardi 22caa5e502 Implemented the window drag stuff on GTK+. It works! 2016-10-25 00:34:12 -04:00
Pietro Gagliardi fc243aed00 Cleaned up debugging code and added the main loop bugfix to the README. 2016-10-24 17:47:23 -04:00
Pietro Gagliardi 0c209a8277 Whoops, bugged that last one bad (yet it worked fine in X11 for some reason????). Fixed. 2016-10-24 15:44:02 -04:00
Pietro Gagliardi 3f1540b84a And got rid of message pumping in unix/window.c. Woo! Gotta clean it up a bit first though... 2016-10-24 14:39:10 -04:00
Pietro Gagliardi e17e69f2ad Let's experiment with making uiWindowSetSize() not require an event loop. 2016-10-23 22:02:07 -04:00
Pietro Gagliardi 57fbf78ef3 More removal. 2016-10-22 19:31:57 -04:00
Pietro Gagliardi f46edd097b uiDrawTextWeightUtraBold. 2016-10-21 16:35:46 -04:00
Pietro Gagliardi 3286c9b572 Merge branch 'master' of github.com:andlabs/libui 2016-08-10 22:08:45 -04:00
Neel Chauhan 7324683ba2 Fix "cannot find -ldl" linking error with FreeBSD 2016-08-10 20:37:42 -04:00
Pietro Gagliardi e20ce4e188 Some TODO resolution. 2016-06-29 19:20:43 -04:00
Pietro Gagliardi 9164e521e2 Changed the button cell renderer on GTK+ to actually work on 3.20. Thanks to baedert in irc.gimp.net/#gtk+ for suggestions. This actually has slightly fewer bugs! 2016-06-29 17:25:05 -04:00
Pietro Gagliardi 4fabbd18cf Split future symbols into a new file and added one we need to fix our button cell renderer on 3.20. 2016-06-29 15:33:30 -04:00
Pietro Gagliardi 6b0028d084 Added uiTable value setting and events on GTK+. 2016-06-28 22:36:56 -04:00
Pietro Gagliardi f484f568f6 Finished up and plugged in cellrendererbutton. 2016-06-28 13:09:44 -04:00
Pietro Gagliardi 575f4f3053 Added a button cell renderer. No events yet. Now to test. 2016-06-28 12:00:35 -04:00
Pietro Gagliardi 8b04f2062a More GTK+ uiTable work. 2016-06-27 19:12:08 -04:00
Pietro Gagliardi cf3182f4d2 Put images on uiTables. We're going to have to swizzle on OS X after all :( 2016-06-27 16:11:15 -04:00