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
Pietro Gagliardi
10480db895
Call gtk_widget_destroy() instead of g_object_unref() when destroying uiWindows. Fixes #165 .
2016-06-21 12:15:38 -04:00
Pietro Gagliardi
9656a81c77
Added uiNewVerticalSeparator().
2016-06-17 11:02:17 -04:00
Pietro Gagliardi
fca6edd5a2
More TODOs.
2016-06-17 09:24:15 -04:00
Pietro Gagliardi
ae14542c9a
Improved uiMainSteps().
2016-06-17 09:22:31 -04:00
Pietro Gagliardi
cc4c5f7bd5
Tried to see if we can fix up uiMainSteps() to not need parameters after all. Now to actually apply it.
2016-06-17 09:16:30 -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
c001c164f1
Implemented uiMainSteps() on GTK+.
2016-06-16 13:59:35 -04:00
Pietro Gagliardi
256a452fbd
Implemented borderless windows on GTK+.
2016-06-16 11:34:19 -04:00
Pietro Gagliardi
132d925b70
Implemented the fullscreen stuff on GTK+.
2016-06-16 10:03:35 -04:00
Pietro Gagliardi
88bb697bbd
Implemented the new uiWindow stuff on GTK+.
2016-06-16 00:45:23 -04:00
Pietro Gagliardi
48c13c738a
Fixed the GTK+ window code.
2016-06-15 20:45:10 -04:00
emersion
983a53d3c3
Replaces uiProgressBar(Set)Indeterminate() by value=-1
2016-06-15 23:17:23 +02:00
Pietro Gagliardi
f98318fb3a
Started implementing the new uiWindows stuff on GTK+.
2016-06-15 16:45:49 -04:00
emersion
560cca5bc9
Adds uiProgressBar(Set)Indeterminate for unix
2016-06-15 21:51:08 +02:00
emersion
e07a7b3d05
Adds uiProgressBarValue() in unix
2016-06-15 18:51:12 +02:00
Pietro Gagliardi
ac1a515820
Merge pull request #141 from ProtonMail/ui-form-delete
...
Adds uiFormDelete()
2016-06-15 12:00:38 -04:00
emersion
52bd3b2c35
Adds uiFormDelete()
2016-06-14 22:41:37 +02:00
Pietro Gagliardi
6e5cf97623
Tied uiForm label visibility on GTK+ to the visibility of the control. This is the only visibility change needed on GTK+, fortunately.
2016-06-14 11:31:10 -04:00
Pietro Gagliardi
75a8ee9bf9
Removed intmax_t from everything else EXCEPT the Windows code. Now it's time for THAT...
2016-06-13 21:37:50 -04:00
Pietro Gagliardi
864c6c2511
Finished stripping ui.h of intmax.
2016-06-13 21:20:20 -04:00
Pietro Gagliardi
155299cdb9
More intmax_t removal.
2016-06-13 21:11:59 -04:00
Pietro Gagliardi
440635447d
More intmax_t removal.
2016-06-13 21:05:40 -04:00
Pietro Gagliardi
8d48d42201
More intmax_t elminiation.
2016-06-13 20:55:50 -04:00
Pietro Gagliardi
b26354d1e7
Started replacement of intmax_t and uintmax_t with int.
2016-06-13 20:46:11 -04:00
Pietro Gagliardi
41ec54cb47
Started a new controlgallery. Fixed some glitches in OS X uiForm.
2016-06-12 19:08:08 -04:00
Pietro Gagliardi
4b149ddfef
Implemented uiGrid on GTK+.
2016-06-09 18:57:58 -04:00
Pietro Gagliardi
4b2858b53a
Implemented uiForm on GTK+.
2016-06-08 18:19:41 -04:00
Pietro Gagliardi
3e1258cc62
Implemented the new radio button stuff on OS X.
2016-06-06 20:12:17 -04:00
Pietro Gagliardi
5accda32e5
Added new uiRadioButtons functions and implemented them on GTK+. More TODOs.
2016-06-06 18:56:58 -04:00
Pietro Gagliardi
3d5d1408c7
Implemented uiPasswordEntry and uiSearchEntry on GTK+.
2016-06-05 20:54:16 -04:00
Pietro Gagliardi
5c01a8dec3
Re-added the Unix stuff.
2016-06-03 21:14:55 -04:00
Pietro Gagliardi
1903115bbd
Pushed all the build files elsewhere. I'm rewriting the CMakeLists files from scratch.
2016-06-03 00:29:31 -04:00
Pietro Gagliardi
e4a66b786e
Fixed static builds, added GTK+ builds, and cleaned out things in general for cmake.
2016-06-01 20:21:10 -04:00
Pietro Gagliardi
f2e8dab465
Merge pull request #69 from pcwalton/static
...
Add support for static linking.
2016-05-29 04:50:48 -04:00
Pietro Gagliardi
6e94671782
More TODO resolution and LONGTERM relegation.
2016-05-28 21:17:54 -04:00
Patrick Walton
5f1e8fa601
Add support for static linking.
...
Use `make STATIC=1` to build a static library.
Some language ecosystems, like those of Rust, have a convention of
static linking in order to make binaries easier to distribute. In those
environments, this feature helps libui fit in more easily.
In order to prevent internal symbols from linking, we first create an
intermediate object file with `ld -r` and strip private symbols from it
before using `ar` to create the library.
2016-05-28 14:46:02 -07:00
Pietro Gagliardi
0d6dac5c5a
Migrated from GTK+ 3.4 to 3.10 and from OS X 10.7 to 10.8.
2016-05-28 13:06:16 -04:00
mogucpp
01e126f9cc
fix header name
2016-05-26 09:17:34 +08:00
Pietro Gagliardi
5272e749c0
Fixed grapheme stuff on GTK+.
2016-05-25 15:07:32 -04:00
Pietro Gagliardi
ac652f0690
Did most of the work for grapheme cluster boundary based text layout characters on GTK+.
2016-05-25 01:52:53 -04:00
Pietro Gagliardi
ff1971d8d6
More longterming.
2016-05-24 23:13:44 -04:00
Pietro Gagliardi
8bf24cb791
Implemented uiMainStep() on GTK+.
2016-05-24 22:29:33 -04:00
Pietro Gagliardi
e8cedf502f
Split uiCombobox on GTK+.
2016-05-24 01:35:05 -04:00
Pietro Gagliardi
e3bcf31764
More TODO resolution.
2016-05-23 00:41:56 -04:00
Pietro Gagliardi
0e5e37f98b
Fixed multilne entry changed events on GTK+.
2016-05-22 23:14:33 -04:00
Pietro Gagliardi
4ab0d9c1f6
More TODO resolution.
2016-05-22 22:57:18 -04:00
Pietro Gagliardi
a99a81f584
Answered matrix scaling stuff. https://www.willamette.edu/~gorr/classes/GeneralGraphics/Transforms/transforms2d.htm#Combining
2016-05-22 22:52:29 -04:00
Pietro Gagliardi
b66be0bf2d
Stale TODO removal. Expanded page 9 to also show the positions of the second line.
2016-05-22 20:49:16 -04:00
Pietro Gagliardi
9b4a13e9b3
Some more TODO resolution in the GTK+ backend.
2016-05-22 20:35:40 -04:00
Pietro Gagliardi
61185072f7
More TODO -> LONGTERM migration. Also made it so uiSpinbox and uiSlider merely swap min and max if min is larger.
2016-05-22 20:11:52 -04:00
Pietro Gagliardi
ab0a9102b4
Added a user bug for calling SetParent() on a uiWindow.
2016-05-22 20:02:47 -04:00
Pietro Gagliardi
b957558ef4
Even more TODO resolution in uiDateTimePicker on GTK+.
2016-05-22 19:40:56 -04:00
Pietro Gagliardi
f0011d6227
Started resolving TODOs in the GTK+ backend, marking some LONGTERM. In particular, uiDateTimePicker no longer will be localized, as there doesn't seem to be a way to get that info out.
2016-05-22 19:17:42 -04:00
Pietro Gagliardi
07cd03452d
Implemented non-wrapping multiline entries in GTK+ and started implementing them in OS X.
2016-05-22 14:20:54 -04:00
Pietro Gagliardi
5a4b6aa6f0
Switched from using M_PI to a named constant uiPi.
2016-05-22 12:00:44 -04:00
Pietro Gagliardi
1c2acf59a3
Implemented uiControlDestroy() for uiRadioButtons on GTK+. Fixes #40 .
2016-05-21 22:42:55 -04:00
Pietro Gagliardi
5891b764cb
Forgot to take a reference on GtkWindows; this led to weird GObject warnings on the command line when closing a window. Update #40 .
2016-05-21 22:36:21 -04:00
Pietro Gagliardi
0ede964a3d
TODO updates.
2016-05-16 09:58:16 -04:00
Pietro Gagliardi
b47689090e
Implemented uiColorButton on GTK+.
2016-05-15 23:18:11 -04:00
Pietro Gagliardi
6a81921c1a
More TODOs.
2016-05-15 19:26:58 -04:00
Pietro Gagliardi
c82942a81b
More TODO stuff.
2016-05-15 19:15:00 -04:00
Pietro Gagliardi
6d2d977363
Cleaned up the debugging infrastructure on Windows (we stopped using the strsafe functions so there's no useful failure case anymore) and implemented the new one.
2016-05-13 22:05:02 -04:00
Pietro Gagliardi
0205f2e5ca
Got rid of complain() on GTK+.
2016-05-13 21:00:12 -04:00
Pietro Gagliardi
94587b660f
Some TODO resolution and stale TODO removal.
2016-05-13 17:54:10 -04:00
Pietro Gagliardi
02fbb5a559
A lot more drawing migration on Windows. With that done, though, we can finally do this...
2016-05-05 21:49:50 -04:00
Pietro Gagliardi
4e53551e06
Split unix/draw.c into a bunch of smaller files.
2016-05-05 18:23:54 -04:00
Pietro Gagliardi
eff0532760
Some TODO resolution/stale TODO elimination.
2016-05-05 17:58:26 -04:00
Pietro Gagliardi
faeae31acc
Cleaned up unix/box.c and made it not use struct child or ptrArray.
2016-05-05 14:04:07 -04:00
Pietro Gagliardi
f10c760b00
More TODOs.
2016-05-04 23:41:25 -04:00
Pietro Gagliardi
440e8fa47f
Integrated the GTK+ date/time picker. FINALLY!
2016-05-04 23:35:11 -04:00
Pietro Gagliardi
a11e939b34
Wrote the finishing touches on the dptwidget.c needed for the final date-time picker.
2016-05-04 23:28:46 -04:00
Pietro Gagliardi
4e11b6efe1
Fixed build errors. It works! (Except for radiobuttons now needing a destroy; that'll come later.) Next up... Windows. Yay...
2016-04-25 20:34:12 -04:00
Pietro Gagliardi
d65a263bb4
Whoops, forgot unix/area.c. Now let's try.
2016-04-25 20:19:57 -04:00
Pietro Gagliardi
3f16e28d1b
Finished the conversions. Let's hope it works!
2016-04-25 20:15:02 -04:00
Pietro Gagliardi
289ca0ed78
More conversion work, including getting rid of a few now-unnecessary function declarations.
2016-04-25 20:09:20 -04:00
Pietro Gagliardi
01912877ce
Converted the basic GTK+ controls. Now for the containers.
2016-04-25 20:00:25 -04:00
Pietro Gagliardi
85ee2e93dd
More ui_unix.h and unix/control.c work. NOW we're ready to migrate the controls.
2016-04-25 19:45:05 -04:00
Pietro Gagliardi
dda30cdb3c
Started the new uiControl infrastructure.
2016-04-24 19:22:21 -04:00
Pietro Gagliardi
bc0a1d43c9
Applied the new type system to the Windows backend and fixed some more C++ stupidity related to it.
2016-04-24 17:38:48 -04:00
Pietro Gagliardi
96e8f1f8ea
Did the rest of the object changes on GTK+.
2016-04-24 16:59:46 -04:00
Pietro Gagliardi
f60178798f
Removed common type code.
2016-04-24 15:08:48 -04:00
Pietro Gagliardi
7b0f930185
Removed all the type function declarations from all the controls. More TODOs.
2016-04-24 15:04:36 -04:00
Pietro Gagliardi
e6effa042d
Implemented the new fontbutton routines on GTK+.
2016-04-20 13:59:59 -04:00
Pietro Gagliardi
8493bc3c5d
Fixed the GTK+ SetColor() issues. It works!
2016-04-20 01:14:46 -04:00
Pietro Gagliardi
78772ca62d
Fixed most compiler errors and warnings.
2016-04-19 23:58:36 -04:00
Pietro Gagliardi
6b6d6861c1
Wrote the SetColor() for GTK+. Now to test.
2016-04-19 23:52:44 -04:00
Pietro Gagliardi
6fdbd8d68f
Implemented the chars-to-bytes algorithm on the GTK+ code. Now to finally add attributes to uiDrawTextLayout!
2016-04-19 14:57:15 -04:00
Pietro Gagliardi
c2d165af94
Implemented the uiDrawTextFont direct from system font-making functions on other platforms.
2016-04-19 11:23:05 -04:00
Pietro Gagliardi
ccfa3d41a3
More work on the initial font and showing styles. I have a feeling my current approach is a mistake.
2016-04-18 13:32:48 -04:00
Pietro Gagliardi
84fc5dafaa
More TODOs.
2016-04-18 10:22:36 -04:00
Pietro Gagliardi
23ec771c86
Removed uiFontDescriptor.SmallCaps; on Windows this has to be applied to layouts.
2016-04-15 14:23:16 -04:00
Pietro Gagliardi
0bc140cd46
Dropped uiDrawTextGravity. That has to do with vertical text, which we can both abstract into a higher level API and can't do yet because DirectWrite simply does not support vertical text on Windows 7 for reasons that escape logical thought.
2016-04-15 00:24:27 -04:00
Pietro Gagliardi
042b08f31c
Implemented uiFontButton on GTK+.
2016-04-14 15:55:04 -04:00
Pietro Gagliardi
7f2194c383
Typo fixes in the previous commit.
2016-01-24 21:50:10 -05:00
Pietro Gagliardi
ab0230b428
Added a function for scrolling uiAreas. Implemented on OS X; stubbed elsewhere.
2016-01-24 21:41:34 -05:00
Pietro Gagliardi
febb37700a
"Fixed" the FreeBSD build.
2016-01-22 13:08:36 -05:00
Pietro Gagliardi
b0621a6b1f
Implemented the new multiline text stuff on GTK+.
2016-01-16 15:59:34 -05:00
Pietro Gagliardi
9442ebd53a
More TODOs.
2016-01-13 15:59:45 -05:00
Pietro Gagliardi
6394446461
Fixed text rendring on GTK+.
2016-01-13 15:48:39 -05:00