Commit Graph

448 Commits

Author SHA1 Message Date
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
Pietro Gagliardi af0dbd3a0e Fixed a bunch of bugs in GTK+ table.c. 2016-06-27 12:24:14 -04:00
Pietro Gagliardi 40e943eb43 Fixed compile issues. Now to fix other issues. Yay! 2016-06-27 12:01:36 -04:00
Pietro Gagliardi 99a3462eb4 Added GTK+ images. Will hook it up to tables later. 2016-06-27 11:38:11 -04:00
Pietro Gagliardi f7e5c7dd25 Finished the initial implemenetation of uiTable on GTK+. 2016-06-27 09:30:22 -04:00
Pietro Gagliardi f354d48bfd Started the GTK+ implementation of uiTable. 2016-06-26 23:17:34 -04:00
Pietro Gagliardi 2d4f6eb2b8 Stop uiProgressBar pulsing on destroy on GTK+. Fixes #163. 2016-06-21 12:39:53 -04:00