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
Pietro Gagliardi
798061f7f6
Merge pull request #144 from ProtonMail/progress-bar
...
Improves progress bar
2016-06-16 16:44:42 -04:00
Pietro Gagliardi
179042025a
And implemented on Windows, and more TODOs on top of that.
2016-06-16 14:12:47 -04:00
Pietro Gagliardi
377f46814a
Started adding borderless uiWindow support; implemented on Windows.
2016-06-16 11:20:28 -04:00
Pietro Gagliardi
aafdb75a98
And implemented the fullscreen stuff on Windows.
2016-06-16 10:30:44 -04:00
emersion
7770b5c850
Adds indeterminate progressbar to windows
2016-06-16 09:32:13 +02:00
Pietro Gagliardi
e5064de86b
More TODOs.
2016-06-15 23:00:26 -04:00
Pietro Gagliardi
6c56f1e1ce
Implemented the window size stuff on Windows.
2016-06-15 22:52:35 -04:00
Pietro Gagliardi
c3777da0f4
And added the new uiWindow methods on Windows.
2016-06-15 21:55:42 -04:00
Pietro Gagliardi
dda58c9323
Fixed leaking issues with the previous commit.
2016-06-15 12:04:11 -04:00
Pietro Gagliardi
ac1a515820
Merge pull request #141 from ProtonMail/ui-form-delete
...
Adds uiFormDelete()
2016-06-15 12:00:38 -04:00
emersion
3173fc6cdc
Fixes windows static library copy
2016-06-15 17:07:52 +02:00
Pietro Gagliardi
c8dd546804
I don't know what's up. Fix a leak anyway.
2016-06-14 23:03:40 -04:00
Pietro Gagliardi
4b2d646345
Fixed most of the grid problems. Now we just need to figure why the Assorted page both clips and doesn't position controls correctly...
2016-06-14 23:00:30 -04:00
Pietro Gagliardi
106d4b544a
Edging ever closer to getting grids working right on Windows.
2016-06-14 21:55:14 -04:00
Pietro Gagliardi
0a4a8ae4f3
Getting closer. Adding hidden views makes things harder... hm.
2016-06-14 20:57:21 -04:00
Pietro Gagliardi
96ce336a8b
Handled hidden controls in uiGrid properly. Spacing, on the other hand...
2016-06-14 19:44:28 -04:00
Pietro Gagliardi
8ae0823eee
Implemented hidden controls properly on Windows uiForm.
2016-06-14 18:12:30 -04:00
emersion
52bd3b2c35
Adds uiFormDelete()
2016-06-14 22:41:37 +02:00
Pietro Gagliardi
b6cb429d1a
Fixed uiBox hidden control nonsense on Windows. FINALLY.
2016-06-14 16:06:39 -04:00
Pietro Gagliardi
997c8aac35
Implemented visibility change detection on Windows. Now to refine the actual implementation of hidden controls.
2016-06-14 15:55:24 -04:00
Pietro Gagliardi
fa4542f217
Got rid of the last bit of intmax_t. Now to verify everything.
2016-06-13 22:00:18 -04:00
Pietro Gagliardi
4524ffce5e
Removed most of the intmax_ts, which are all MinimumSize()s.
2016-06-13 21:54:15 -04:00
Pietro Gagliardi
8c974e7b77
Started removing intmax_ts, first with uipriv_windows.hpp.
2016-06-13 21:47:04 -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
2affdab837
Removed intmax_t from the rest of the public API.
2016-06-13 21:23:05 -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
61a94fde57
Fixed a memory leak in Windows uiForm. NOW OS X.
2016-06-10 22:29:20 -04:00
Pietro Gagliardi
662c9de179
Fixed the Windows grid code. Now it's time for the OS X code (giant bottle of alcohol here).
2016-06-10 21:24:30 -04:00
Pietro Gagliardi
554221fd66
Added Windows uiGrid. Doesn't quite work yet.
2016-06-10 19:34:48 -04:00
Pietro Gagliardi
afe27177d5
Implemented uiForm on Windows.
2016-06-08 23:33:32 -04:00
Pietro Gagliardi
9a5bc738c5
Implemented likewise on Windows.
2016-06-06 19:51:46 -04:00
Pietro Gagliardi
812086be1b
Improved the appearance of uiSearchEntry on Windows somewhat.
2016-06-05 21:27:44 -04:00
Pietro Gagliardi
15456c8b41
Implemented uiPasswordEntry and uiSearchEntry on Windows.
2016-06-05 21:02:59 -04:00
Pietro Gagliardi
eeb20c316b
Fixed uiSpinbox events not working on Windows. NOW let's alpha 3.1.
2016-06-05 17:12:10 -04:00
Pietro Gagliardi
538965b4ef
Fixed the MinGW ABI stuff again...
2016-06-05 16:07:40 -04:00
Pietro Gagliardi
c31699e4cd
Pinned down resource numbers now.
2016-06-04 14:36:55 -04:00
Pietro Gagliardi
66fde9ee0c
More fixups to the previous commit.
2016-06-04 14:30:43 -04:00
Pietro Gagliardi
7d2f364256
Fixed Windows static linking issues.
2016-06-04 13:57:10 -04:00
Pietro Gagliardi
44b4d24881
Started a new cmake file. Seems to work so far...
2016-06-03 14:56:21 -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
ee373a94d6
Started the Windows cmake stuff and tried to get it to work on MinGW again.
2016-06-01 21:45:39 -04:00
Pietro Gagliardi
2ed29a7fa0
More stuff. Screw this; releasing as is.
2016-05-29 21:13:03 -04:00
Pietro Gagliardi
a226c80993
More TODO resolution and elimination and delegation and explanation.
2016-05-29 19:55:53 -04:00
Pietro Gagliardi
0738eca6e4
More work.
2016-05-29 19:01:48 -04:00
Pietro Gagliardi
56cb25b230
Started Windows TODO resolution.
2016-05-29 13:07:48 -04:00
Pietro Gagliardi
e114502605
Tried to set up Windows static linking.
2016-05-29 12:00:55 -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
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
474d3fb1d5
Oops, forgot to free something in the previous commit.
2016-05-25 01:10:47 -04:00
Pietro Gagliardi
47632fe560
Switched text layout attributes to grapheme-based indices on Windows, just like on OS X.
2016-05-25 01:08:55 -04:00
Pietro Gagliardi
ff1971d8d6
More longterming.
2016-05-24 23:13:44 -04:00
Pietro Gagliardi
a9e731ed59
Added uiMainStep() and implemented it on Windows.
2016-05-24 22:14:05 -04:00
Pietro Gagliardi
45edacf8ca
Consolidated GetAncestor() calls again.
2016-05-24 21:18:29 -04:00
Pietro Gagliardi
095e08bc79
Added uiEditableCombobox on Windows.
2016-05-24 10:06:24 -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
a641a7eda8
Some TODO cleanup. Started changing long-term TODOs to say LONGTERM instead.
2016-05-22 18:37:53 -04:00
Pietro Gagliardi
878778c683
Implemented WM_PRINTCLIENT for uiArea and the Direct2D scratch windows.
2016-05-22 16:16:20 -04:00
Pietro Gagliardi
585872839d
Made uiColorButton on Windows draw with actual alpha values.
2016-05-22 16:07:31 -04:00
Pietro Gagliardi
531f8ea19c
Finally wrote makeDCRenderTarget() for the Windows backend. Now to use it.
2016-05-22 15:59:23 -04:00
Pietro Gagliardi
313ce47833
Started non-wrapping multiline entries. Implemented on Windows.
2016-05-22 13:56:36 -04:00
Pietro Gagliardi
f3dad94039
Added CRLF translation to uiMultilineEntry on Windows. More TODOs.
2016-05-22 13:42:37 -04:00
Pietro Gagliardi
d060744f87
Some TODO resolution.
2016-05-22 13:09:13 -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
1d8ea79e45
Removed uiControlVerifyDestroy(); we could have just had it in uiFreeControl().
2016-05-22 01:07:25 -04:00
Pietro Gagliardi
a8fe3004a3
Fixed uiRadioButtons rendering on Windows.
2016-05-21 22:17:29 -04:00
Pietro Gagliardi
de1571cd1f
And implemented the opacity slider. We're done with this dialog!
2016-05-18 00:46:14 -04:00
Pietro Gagliardi
341f8373d3
Implemented the previewer. That just leaves the opacity slider!
2016-05-18 00:20:41 -04:00
Pietro Gagliardi
22a1525d24
Implemented the grid-drawing function. Now we can write the other two views.
2016-05-17 22:55:35 -04:00
Pietro Gagliardi
b226288584
Implemented the H slider.
2016-05-17 20:46:28 -04:00
Pietro Gagliardi
bc69da86af
Implemented the hex entry. That just leaves the other Direct2D views!
2016-05-17 17:41:38 -04:00
Pietro Gagliardi
70635858bd
Implemented the integer entries.
2016-05-17 17:00:00 -04:00
Pietro Gagliardi
d42864c696
Implemented the other double entry fields and drawing alpha on the SV chooser.
2016-05-17 16:46:47 -04:00
Pietro Gagliardi
571faf9582
Implemented mouse control of the SV area; updated the color button immediately after a change.
2016-05-17 14:44:57 -04:00
Pietro Gagliardi
9654ca793d
Changed the color dialog to edit HSV instead of RGB. This fixes issues with conversion that we had in the previous commit. The real question: will this break entering RGB values?
2016-05-17 13:52:56 -04:00
Pietro Gagliardi
d892a8f710
Started making the color dialog editable. I'm going to have to store HSV and alpha instead of RGB and alpha...
2016-05-17 13:44:14 -04:00
Pietro Gagliardi
7c34acc2b7
And an itoutf16() too, because why not. Okay, NOW for updating the labels.
2016-05-17 12:44:43 -04:00
Pietro Gagliardi
8a1fe1f48a
And added a proper invalidateRect().
2016-05-17 12:41:41 -04:00
Pietro Gagliardi
473e0c9b69
Actually first let's do event handling. This adds a ftoutf16() function we can use here.
2016-05-17 12:35:44 -04:00
Pietro Gagliardi
027bb6782b
Drew the marker on the color panel. Now for the hue slider.
2016-05-17 12:18:36 -04:00