Pietro Gagliardi
dfb3bd39f1
Some more TODO work. I might as well try custom drawing text now.
2018-06-10 20:18:07 -04:00
Pietro Gagliardi
cd2a6f7c29
Fixed the checkbox y-offset issue. There are other issues, but this is more hopeful already...
2018-06-10 19:54:44 -04:00
Pietro Gagliardi
2a2990f19c
I have no clue anymore. Tempted to undo checkbox stuff entirely for now.
2018-06-10 19:07:34 -04:00
Pietro Gagliardi
94a3397894
Tried to resolve checkboxes appearing selected. It doesn't work fully yet, so the actual drawing that makes it work is disabled for now. But the handler for NM_CUSTOMDRAW now has a hook to become cleaner in the future.
2018-06-10 17:38:51 -04:00
Pietro Gagliardi
5a5f9ba9ac
And added themed checkboxes.
2018-06-10 13:15:21 -04:00
Pietro Gagliardi
8dd9f08ba4
Actually one more quick test fix to cycle through all the images before continuing. Okay, NOW for themed checkboxes.
2018-06-10 10:45:50 -04:00
Pietro Gagliardi
c22f643df7
More image and checkbox fixups. Next: themed checkboxes.
2018-06-10 10:43:29 -04:00
Pietro Gagliardi
a3feb425a1
Started splitting image and checkbox stuff into its own file. Also started adopting HRESULT returns everywhere, because why not make the conversion to it later slightly easier by starting now.
2018-06-10 00:51:50 -04:00
Pietro Gagliardi
8d43b55ff8
Removed some now-unused stuff.
2018-06-09 23:55:43 -04:00
Pietro Gagliardi
405a6defd2
Started using normal images for checkboxes in Windows uiTables. It doesn't quite work yet.
2018-06-09 23:25:16 -04:00
Pietro Gagliardi
4c5f0961fe
Started an implementation of checkboxes in table.cpp. List View simply does not seem to support state images in subitems, so we'll have to improvise. Hopefully this won't screw accessibility.
2018-06-09 23:02:37 -04:00
Pietro Gagliardi
0f59bf7399
More TODOs.
2018-06-09 20:42:13 -04:00
Pietro Gagliardi
b43fb4b247
And added images to uiTable. Right now it's loading the 32x32 images into the table instead of the 16x16 ones, but hey, it works!
2018-06-09 20:35:05 -04:00
Pietro Gagliardi
a858300f25
Filled in image.cpp. Also switched on WIC since we'll need it for uiArea, though uiTable will still need classic GDI. Now let's integrate this into uiTable.
2018-06-09 19:24:36 -04:00
Pietro Gagliardi
3aee505f4e
Weirdness workarounds.
2018-06-09 14:32:04 -04:00
Pietro Gagliardi
ff64685655
More work. List View is starting to show its dumbness again.
2018-06-09 13:57:43 -04:00
Pietro Gagliardi
1c9f9627c0
Started image support for Windows tables.
2018-06-09 12:15:50 -04:00
Pietro Gagliardi
c6c4dbd580
Started handling colors in the Windows table code.
2018-06-09 10:40:42 -04:00
Pietro Gagliardi
06a8044c2c
Oops, forgot to keep the string queue full. It works! Now to switch to custom draw.
2018-06-08 22:11:46 -04:00
Pietro Gagliardi
69e91a9678
Fixed build errors and some logic errors. Let's hope it works!
2018-06-08 22:05:11 -04:00
Pietro Gagliardi
71a310909d
Oops
2018-06-08 21:45:30 -04:00
Pietro Gagliardi
41d63bd0cf
And finished rewriting table.cpp. That wasn't too bad for just text columns. Let's hope it works.
2018-06-08 21:44:55 -04:00
Pietro Gagliardi
516eb312fc
Rearranged stuff in table.cpp on Windows and started rewriting it to handle owner-data in the new API.
2018-06-08 21:16:06 -04:00
Pietro Gagliardi
3aa16e844d
Adjusted uiTableModel on Windows for owner-data list views.
2018-06-08 01:35:23 -04:00
Pietro Gagliardi
ca2115ca57
Removed some old files from wintable that we won't use anymore.
2018-06-08 01:23:11 -04:00
Pietro Gagliardi
0adad7743a
Drop mixing of C and C++ class allocations, including placement new. This is the easiest change I can make to the Windows table code for now...
2018-06-07 22:54:01 -04:00
Pietro Gagliardi
374eed7432
Removed the facilities for printing an int as text; this was causing the tester to crash in a weird way on OS X (through NSApplication _crashOnException: without telling me what that exception was) and I didn't intend on this part type to be used in this way anyway...
2018-05-29 20:27:31 -04:00
Pietro Gagliardi
a7fe45b8a5
Removed carriage returns.
2018-05-29 20:26:48 -04:00
Pietro Gagliardi
32a83241cb
Merge pull request #361 from bcampbell/table-comctl
...
Add minimal uiTable implementation for Windows.
🎉
2018-05-29 20:00:22 -04:00
Ben Campbell
b3b21196a1
minor windows table tweaks
2018-05-29 18:17:10 +12:00
Pietro Gagliardi
cb5b6bf924
Merge branch 'master' into table
2018-05-28 13:39:11 -04:00
Pietro Gagliardi
c3be9f221c
Fixed a typo that led to CRLF bugs in uiMultilineEntry on Windows. Thanks to @mimecorg for spotting it.
...
Update #359
2018-05-28 13:38:36 -04:00
Ben Campbell
ba13227bed
further style consistency tweaks
2018-05-28 20:26:07 +12:00
Ben Campbell
4246ae5549
assorted consistancy cleanup
2018-05-22 22:53:25 +12:00
Ben Campbell
7402dec266
remove superfluous #include <vector>
2018-05-22 20:41:49 +12:00
Ben Campbell
fc2ea17bb8
Add minimal uiTable implementation for windows
...
This uses the win32 common controls listview to implement uiTable.
There are limitations:
- It supports only a single TextPart per column.
- ImagePart, CheckboxPart and ProgessBarPart are not implemented.
- There is no support for cell coloring.
- Cell editing is not implemented.
Some of these will be very hard to support using the standard
common control listview, and probably require an entire custom
listview.
2018-05-22 20:41:49 +12:00
Pietro Gagliardi
9dad806693
Merge branch 'master' into table
2018-05-13 12:05:43 -04:00
Pietro Gagliardi
ca1079f344
Cleaned up from the previous merge and added it to the README.
2018-05-13 12:05:09 -04:00
cody271
edd4127f8e
uiDateTimePicker Fix style consistency
2018-05-12 21:35:07 -07:00
cody271
0b436a8c74
uiDateTimePicker Use proper Windows backend conventions
2018-05-12 21:35:07 -07:00
cody271
0ac4ffdc87
Implement uiDateTimePickerTime() for Windows
2018-05-12 21:35:07 -07:00
cody271
0baf2d2eb6
uiDateTimePicker Keep libui constructors at the end of the file
2018-05-12 21:35:07 -07:00
cody271
bc14042935
Add uiDateTimePickerTime() APIs
2018-05-12 21:35:07 -07:00
Pietro Gagliardi
86798f72b1
Merge branch 'master' into table
2018-05-13 00:15:37 -04:00
Pietro Gagliardi
2768fef3ce
Cleaned up old static-library stuff from CMakeLists.txt.
2018-05-12 23:59:43 -04:00
Pietro Gagliardi
7b570a4026
Merge branch 'master' into table
2018-05-05 09:15:08 -04:00
Pietro Gagliardi
7ee7de1b92
And removed the rc file copying stuff from CMakeLists.txt. I wonder if this fixes the msbuild generators in cmake, so let's find out...
2018-05-02 23:04:43 -04:00
Pietro Gagliardi
4432e39a44
And the color dialog. All done! Now we just need to clean up and remove the kludge.
2018-05-02 21:13:35 -04:00
Pietro Gagliardi
e3e88c7a6a
And migrated the font dialog.
2018-05-02 20:57:50 -04:00
Pietro Gagliardi
3522ec02b3
Fixed out.
2018-05-02 20:24:30 -04:00
Pietro Gagliardi
a4cb17820c
Forgot a fix (thanks to two people on Telegram)
2018-05-02 20:21:51 -04:00
Pietro Gagliardi
b975cfb83e
Fixes and TODOs in rc2bin. Going to manually adjust out instead of regenerating it, though.
2018-05-02 20:20:06 -04:00
Pietro Gagliardi
c6979fa738
Removed rcTabPageDIalog from the resources. Also removed CRs from the out file. Need to fix that generator...
2018-05-02 20:17:08 -04:00
Pietro Gagliardi
e11196304f
Since out32 and out64 are identical, deduplicate them. Now we can move its contents elsewhere.
2018-05-02 10:00:44 -04:00
Pietro Gagliardi
88882592ac
Fixed compiler errors and generated the output.
2018-05-02 09:59:29 -04:00
Pietro Gagliardi
10de22f9ac
Added a program to dump resources to C structs.
2018-05-02 09:56:06 -04:00
Pietro Gagliardi
17ec9562ea
Cleanup of previous merge, including TODOs and massive infodumps.
2018-04-30 21:55:54 -04:00
Ben Campbell
2be8fd3eb3
Fixes to compile on windows with msys2
...
msys2 seems to be unsure of it's IDWriteTypography definition and
disables it by default. This overrides the disabling (The
IDWriteTypography definition looks OK to me, and seems to work
fine).
This commit also adds in a canary to detect compilers that have a non-16bit
wchar_t on windows (eg a gcc focused on porting unix code rather
than compiling windows code).
2018-05-01 12:59:26 +12:00
Pietro Gagliardi
5cc85c2609
More ifxes.
2018-04-19 20:33:20 -04:00
Andrea Parodi
e61f7fb0cb
Fix uiprivTimer::f: it should return an int
2018-04-19 21:03:49 +02:00
Pietro Gagliardi
83b04cda47
And added documentation nits and TODOs to the uiTimer() code.
2018-04-18 21:09:24 -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
ae2eea7975
Merge branch 'master' into table
...
Long-overdue sync.
2018-04-18 10:00:13 -04:00
Pietro Gagliardi
52dc39a553
Decided to keep attrstr.h for now; removed extern "C" hack from attrstr.hpp on Windows and moved it into attrstr.h. Let's merge back.
2018-04-18 00:54:24 -04:00
cody271
d99549ec18
uiTimer() Use TimerHandler pointers directly as Windows timer IDs
2018-04-16 17:28:13 -07:00
cody271
c9d11a85cc
uiTimer() Refactor TimerHandler for Windows timer IDs
2018-04-16 17:28:13 -07:00
cody271
4e6adca08c
uiTimer() Ensure Windows timer IDs are unique
2018-04-16 17:28:13 -07:00
cody271
b1210165a0
Implement uiTimer() for Windows
2018-04-16 17:28:13 -07:00
cody271
27b8ce1db3
Add uiTimer() API and example
2018-04-16 17:28:12 -07:00
Pietro Gagliardi
fcc26ab9a9
Fixed a serious bug in windows/utf16.cpp that went unnoticed for this long: we wanted utf16UTF8Count(), not utf16RuneCount(), in toUTF8(); any non-ASCII text had the wrong number of bytes, and thus random heap corruption. The string "鎿嶄綔鎴愬姛瀹屾垚銆" (taken from the completely unrelated #337 ) and the Set Button Text button was enough to trigger this.
2018-04-15 23:10:11 -04:00
Pietro Gagliardi
c3992cc647
uipriv-ized utf.c.
2018-04-15 23:08:57 -04: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
c6bb463692
uiAlloc() et al -> uiprivAlloc() et al, Windows code.
2018-04-15 18:12:58 -04:00
Pietro Gagliardi
4a57b15d09
Renamed the common options variable to uiprivOptions.
2018-04-15 15:49:45 -04:00
Pietro Gagliardi
93f0eea140
Likewise codified uiprivStricmp(). Honestly this will probably do for the Windows code for now...
2018-03-17 23:22:17 -04:00
Pietro Gagliardi
8709838a8f
Added a uiFreeFontButtonFont() function to free resources allocated by uiFontButtonFont(), implemented it on Windows, and integrated it into the drawtext example. I'm going to continue chipping away at the Windows code for a bit longer, so I'll add this to the other platforms later.
2018-03-17 23:07:40 -04:00
Pietro Gagliardi
78e0684435
Cleaned up memory management in windows attrstr.cpp; also got rid of the logHRESULT(HELP) I was using in case DirectWrite doesn't return NULL+S_OK on a nonexistent drawing effect (thankfully it does).
2018-03-17 21:26:34 -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
45d11962b1
Turns out there was only one real runtime bug (a bad castee). It works! Now to clean up.
2018-03-17 16:10:11 -04:00
Pietro Gagliardi
a5bbc83359
Fixed build errors. Now to test.
2018-03-17 15:49:00 -04:00
Pietro Gagliardi
2f02836181
Fixed attrstr.cpp. Wow, that unordered_map custom hash and equal_to actually compiles!
2018-03-17 15:29:06 -04:00
Pietro Gagliardi
51952b4599
And fixed the CMakeLists.txt. Now to build.
2018-03-17 14:50:10 -04:00
Pietro Gagliardi
cdaf49ec30
And quick and dirty migration of fontdialog.cpp back. Okay, after fixing the CMakeLists.txt, let's see how bad this is.
2018-03-17 14:47:20 -04:00
Pietro Gagliardi
e08460adc3
Cleanup from the previous commit.
2018-03-17 14:45:45 -04:00
Pietro Gagliardi
8352cd72b8
"Migrated" dwrite.cpp back. Not much to say here; it'll do for now.
2018-03-17 14:44:38 -04:00
Pietro Gagliardi
1d1b6c3162
Migrated fontbutton.cpp back.
2018-03-16 20:06:23 -04:00
Pietro Gagliardi
1b1d609c88
More migrations of attrstr.cpp and drawtext.cpp. My this is a mess :D
2018-03-14 21:08:19 -04:00
Pietro Gagliardi
5314295e4c
Started migrating drawtext.cpp. This is a bigger mess than I was hoping for...
2018-03-13 22:56:30 -04:00
Pietro Gagliardi
5282951681
Oops, self -> this.
2018-03-13 22:06:33 -04:00
Pietro Gagliardi
f25b8dce37
Finished migrating attrstr.cpp.
2018-03-13 22:01:15 -04:00
Pietro Gagliardi
12e97a1b29
Started migrating attrstr.cpp, using the same techniques as attrstr.m.
2018-03-13 18:43:32 -04:00
Pietro Gagliardi
abc6fd2825
uiDrawFontDescriptor -> uiFontDescriptor.
2018-03-11 22:36:31 -04:00
Pietro Gagliardi
86264d32a0
And migrated the IDWriteFont -> uiFontDescriptor code.
2018-03-11 22:17:16 -04:00
Pietro Gagliardi
1f61fb30de
Wrote a fontmatch.cpp.
2018-03-11 22:11:19 -04:00
Pietro Gagliardi
6c95ce849a
Migrated graphemes.cpp and opentype.cpp back.
2018-03-11 21:17:39 -04:00
Pietro Gagliardi
e020ba465a
Moved the old Windows text code out of the way.
2018-03-11 21:04:38 -04:00
Pietro Gagliardi
e768293b54
Merge branch 'master' into utflib-and-attrstr
2018-02-17 22:30:01 -05:00
Pietro Gagliardi
6c85f39584
Improved the comment in the previous commit.
2018-02-17 12:56:47 -05:00
Alexander Neumann
ee87a9db23
Fix enter/escape crashes on Windows ( #202 )
...
* Do not let slip through IDOK and IDCANCEL as menu events, fixes #55
* Add comment about IDOK and IDCANCEL
2018-02-17 12:53:32 -05:00
Pietro Gagliardi
1f33ca14d8
Fixed Windows build issues and resolved a question in libui that I need to enshrine in documentation next.
2017-11-04 21:44:28 -04:00
Pietro Gagliardi
b98888a628
More TODOs.
2017-08-20 05:30:36 -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
cc8a412687
More TODOs.
2017-06-17 17:15:32 -04:00
Pietro Gagliardi
fd7c436b8a
More TODOs.
2017-06-14 22:07:41 -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
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