Pietro Gagliardi
965dec0157
Settled the PostThreadMessage() TODOs in the Windows testing code.
2019-04-30 02:31:08 -04:00
Pietro Gagliardi
848c3813ee
Cleaned up the error handling in the Windows testing code by also creating HRESULT functions for whatever it calls. This resolves a bunch of the TODOs in that file.
2019-04-30 01:18:48 -04:00
Pietro Gagliardi
db6b6fd97b
Provided a mechanism for the testing library to abort on an internal error; redefined memory allocation to do so. This will also be used for resolving many of the TODOs on the Windows testing code.
2019-04-29 23:46:08 -04:00
Pietro Gagliardi
05af10aade
Added ARM64 to the CPU-specific Windows testing code.
2019-04-29 22:34:28 -04:00
Pietro Gagliardi
2282ee2cf8
Removed TODOs about overflow; we really can't handle overflow properly anyway, so eh.
2019-04-29 00:18:26 -04:00
Pietro Gagliardi
f948c30a3b
Simplified testingTimerNsec() on Windows. _div128() would make this super simple, but that's only available on VS2019, and it seems no one has implemented this in software elsewhere (the most I can find are unsigned ones...).
2019-04-28 23:20:01 -04:00
Pietro Gagliardi
3257710fb7
Fixed bad timers on GTK+ tests. Turns out that clock() doesn't count when the process isn't actively running code (for instance, if it's waiting for I/O) :|
2019-04-28 21:49:54 -04:00
Pietro Gagliardi
74468bb38f
And implemented the multithreading stuff on Unix and Darwin. We can finally continue re-adding stuff to libui!
2019-04-28 21:22:11 -04:00
Pietro Gagliardi
df8eadb980
And added the multithreaded uiQueueMain() tests.
2019-04-28 20:45:53 -04:00
Pietro Gagliardi
6c41fb712e
More notes.
2019-04-28 19:11:52 -04:00
Pietro Gagliardi
74ca863c1b
More TODOs.
2019-04-28 19:07:41 -04:00
Pietro Gagliardi
5fb4e4403e
And implemented testingRunWithTimeout() on Windows. All tests currently pass on all platforms! Woo!
2019-04-28 19:04:27 -04:00
Pietro Gagliardi
8ffb2b1b1e
Fixed build warnings and errors. Now we just need to implement testingRunWithTimeout() on Windows.
2019-04-28 16:35:25 -04:00
Pietro Gagliardi
49bde22f81
More TODOs.
2019-04-28 14:54:33 -04:00
Pietro Gagliardi
bdf80516c5
Reimplemented uiMain() and friends on GTK+.
2019-04-28 14:52:39 -04:00
Pietro Gagliardi
b20bf2d1c9
Wrote TestQueueMain_Sequence.
2019-04-28 14:41:30 -04:00
Pietro Gagliardi
e03021a350
Piped the actual file/line through to testingRunWithTimeout().
2019-04-28 13:26:15 -04:00
Pietro Gagliardi
64478bd5b0
Finished cleaning up the TimerNsec naming wonk.
2019-04-28 13:19:04 -04:00
Pietro Gagliardi
1bc2297597
Added a facility to do timeouts in test functions. Also started cleaning up the weird TimerNsec abstractions.
2019-04-28 13:12:40 -04:00
Pietro Gagliardi
9c70782a0f
Added uiMain() and friends on macOS and refined the tests. So now we'll need to add a timeout mechanism because that sendEvent: stuff really is still neeeded and I'd like to prevent shenanigans later.
2019-04-28 11:48:21 -04:00
Pietro Gagliardi
aa49da98ba
And implemented testingTimer on Windows.
2019-04-23 22:49:28 -04:00
Pietro Gagliardi
7e631879e7
Wrote the Unix clock function. It's primitive, but it works.
2019-04-23 12:26:52 -04:00
Pietro Gagliardi
4bd1ba2fa5
Oops; flipped a boolean.
2019-04-22 23:03:12 -04:00
Pietro Gagliardi
bd1ca240e3
Added timers to the testing framework, test timing (so no more of those pesky TODOs), and the OS X implementation of test timing.
2019-04-22 23:01:55 -04:00
Pietro Gagliardi
23591eeefa
Executive decision: drop uiUnint(). This was really more for double-checking *my* work, mostly with regards to memory management, and we could probably do that in the test suite instead, or even with AddressSanitizer.
2019-04-21 20:59:36 -04:00
Pietro Gagliardi
80ca6e2fc1
More notes.
2019-04-21 18:00:38 -04:00
Pietro Gagliardi
63952a3e20
ANd integrated the test manifest back into the tester.
2019-04-21 17:59:29 -04:00
Pietro Gagliardi
b8b3b3df39
Fixed the rest of the build errors and warnings. Woo! Now for the manifests.
2019-04-21 17:28:47 -04:00
Pietro Gagliardi
f7867f3427
ALMOST fixed the build on Windows with MSVC. (For the change to test/testing.h: Even in VS2019 inline isn't available in C, ugh. That function doesn't need to be inline anyway, so eh.)
2019-04-21 15:08:09 -04:00
Pietro Gagliardi
484989e925
Implemented uiInit() on macOS. The tests work so far!
2019-04-20 21:38:26 -04:00
Pietro Gagliardi
5e45afd0a2
More TODOs.
2019-04-19 12:13:08 -04:00
Pietro Gagliardi
6f3d45b107
Made it so that normal and after tests don't run if before tests failed.
2019-04-19 12:12:13 -04:00
Pietro Gagliardi
da36b304f8
Wrote the uiInit() test.
2019-04-19 12:10:45 -04:00
Pietro Gagliardi
e5e60284fb
More desirable sorting of tests: by line number per file, specifically. Also per-file, but that can remain unguaranteed if I ever spin this out into its own library.
2019-04-17 22:58:44 -04:00
Pietro Gagliardi
16c6425200
Reorganized test sets into growing arrays. We can sort them next.
2019-04-17 22:12:32 -04:00
Pietro Gagliardi
dcf34e6dab
Set up the necessary work for having the list of tests sort by filename/line number instead of init order.
2019-04-17 21:49:47 -04:00
Pietro Gagliardi
59b449b920
Added rudimentary test ordering, for the Init and Uninit tests.
2019-04-10 20:17:40 -04:00
Pietro Gagliardi
1b046e763b
Fixed the test suite.
2019-04-10 20:11:44 -04:00
Pietro Gagliardi
4f381d04a1
Added some test cases and the build script.
2019-04-10 14:42:17 -04:00
Pietro Gagliardi
759d6d1e46
Allowed deferred functions to access the testingT. If they call FailNow, we act as if nothing happens and the defers keep running.
2019-04-10 14:27:21 -04:00
Pietro Gagliardi
0149639edc
Cleaned things up a bit for libui's test suite.
2019-04-10 14:19:17 -04:00
Pietro Gagliardi
b26e0677af
Okay, I'm not satisfied with the other testing frameworks, so strip testing.h down to just what libui needs.
2019-04-10 13:23:25 -04:00
Pietro Gagliardi
ced0820e39
Undo that; this is probably overkill for libui's unit tests...
2019-04-10 12:55:37 -04:00
Pietro Gagliardi
5a0477d46d
Moved the testing files back here since we're actually going to start writing proper unit tests now.
2019-04-10 12:18:08 -04:00
Pietro Gagliardi
992d8694a9
Let's start the remodel. Move almost everything out of the way.
2019-04-08 20:36:21 -04:00
Pietro Gagliardi
f7907f38c6
Decided to just deal with the name tester instead of test for now. It's not that important to block merging.
2019-03-31 11:09:16 -04:00
Pietro Gagliardi
ff3d39213e
Decided to just build everything by default and not have separate all or examples targets since we don't really have much control over what's a top-level target anyway (and ninja on its own == ninja all). Also set layout to flat by default, since it keeps everything together, which will lead to less surprising behavior on Windows and is more useful for our release packages.
2019-03-31 11:04:20 -04:00
Pietro Gagliardi
81e25f76f2
Moved the binary PIC as a TODO and marked merge blockers as MESONTODO. Also removed a stale cmake-era TODO, because the manifest distribution idea it had will eventually be part of the uires tool.
2019-03-27 21:34:09 -04:00
Pietro Gagliardi
99f2b8f5ad
And settled test/CMakeLists.txt; nothing there that needed to be moved.
2019-03-27 01:07:03 -04:00
Pietro Gagliardi
1b9250e41e
Removed include_directories hackery, as suggested by various people in freenode #mesonbuild.
2019-03-25 20:07:22 -04:00
Pietro Gagliardi
467a9102ec
Fixed static builds on all platforms. So close to getting all this set up!
2019-03-24 14:11:02 -04:00
Pietro Gagliardi
2be9a4f3a3
Added the initial Windows meson.build. Windows Meson is having problems running, so we'll have to test this later.
2019-03-23 22:28:17 -04:00
Pietro Gagliardi
cdd997b6f6
Added tester build file and made sure everything works. It works!
2019-03-23 18:12:33 -04:00
Pietro Gagliardi
abeb0144d4
Changed the image generator for the tester to print the premultiplied RGBA byte stream instead of uint32_ts; regenerated images.c.
2018-08-29 19:58:35 -04:00
Pietro Gagliardi
095e63d522
Fixed memory leaks in the tester and a symbol name flub in OS X's image.m.
2018-07-08 21:20:42 -04:00
Pietro Gagliardi
fb67c429d8
Made background color columns only settable at creation time; added a uiTableParams struct for the purpose. This should end edits to uitable.h for now (until we're ready to document it). Now to just clean up all the implementations.
2018-06-24 10:28:41 -04:00
Pietro Gagliardi
9a79eed2ac
Final cleanup, first part: renamed uiTableData to uiTableValue.
2018-06-23 20:19:30 -04:00
Pietro Gagliardi
0a6a781be7
And implemented row background colors and button clicks. OS X implementation done for now!
2018-06-04 22:14:05 -04:00
Pietro Gagliardi
8c611cf95d
And added the rest of the column types to the tester.
2018-06-04 20:13:35 -04:00
Pietro Gagliardi
3bb050777b
Started converting the test program. First column works fine, second segfaults.
2018-06-03 23:23:48 -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
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
ae2eea7975
Merge branch 'master' into table
...
Long-overdue sync.
2018-04-18 10:00:13 -04:00
Pietro Gagliardi
3e76d799b1
Fixed leftovers from utflib-and-attrstr that broke builds of things I didn't fully update yet, since people want to build them anyway (for testing in a CI environment, I suppose; a real unit test suite would be better for this, though, which is one of the reasons for the _future/unittest stuff...)
...
Updates #302 .
2018-03-20 01:58:34 -04: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
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
1fbfc9dd67
More TODOs.
2016-10-25 01:00:18 -04:00
Pietro Gagliardi
22caa5e502
Implemented the window drag stuff on GTK+. It works!
2016-10-25 00:34:12 -04:00
Pietro Gagliardi
67ff2fa855
Laid out the interface for user window drags.
2016-10-24 23:35:18 -04:00
Pietro Gagliardi
1871f7139d
Some more test areas in the borderless resize test. Now to actually spec out the API (hint: it's two functions in uiArea).
2016-10-24 23:27:44 -04:00
Pietro Gagliardi
8556fc7cd1
Started work on custom user resizes.
2016-10-24 23:08:55 -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
e17e69f2ad
Let's experiment with making uiWindowSetSize() not require an event loop.
2016-10-23 22:02:07 -04:00
Pietro Gagliardi
570b794650
Started the work in removing the move and center functions from uiWindow; those simply cannot be done thanks to Wayland.
2016-10-22 15:40:15 -04:00
Pietro Gagliardi
f46edd097b
uiDrawTextWeightUtraBold.
2016-10-21 16:35:46 -04:00
Pietro Gagliardi
53bd751461
Fixed uiImage byte order on OS X.
2016-06-27 16:34:57 -04:00
Pietro Gagliardi
6804f263d4
And implemented (mostly) the progressbar table parts. I think that'll do for uiTable features now.
2016-06-26 18:19:34 -04:00
Pietro Gagliardi
d7caa150b8
Added checkbox table cells. Now just to add progressbar cells and we'll be good.
2016-06-26 15:36:46 -04:00
Pietro Gagliardi
44a723b314
Added uiTable buttons. Not fully working on OS X.
2016-06-26 13:06:33 -04:00
Pietro Gagliardi
e0230d73a6
Started editable uiTable elements.
2016-06-25 23:04:49 -04:00
Pietro Gagliardi
49ab4a886f
Added image table cell parts; implemented on OS X
2016-06-25 19:18:25 -04:00
Pietro Gagliardi
93bbf39aa4
Added some test images. Now to add image columns to uiTable and see what happens.
2016-06-25 17:26:50 -04:00
Pietro Gagliardi
4914d0c64c
Added a way to set the text color of a part.
2016-06-23 22:16:25 -04:00
Pietro Gagliardi
67e8db9efd
Added row background colors.
2016-06-23 11:29:43 -04:00
Pietro Gagliardi
f02fbd2ecf
Some more API cleanup. Don't separate table cell parts from columns.
2016-06-23 09:56:24 -04:00
Pietro Gagliardi
1c70edaef1
Fixed initial OS X uiTable. It works!
2016-06-22 00:58:10 -04:00
Pietro Gagliardi
2f08ec683a
Started the OS X uiTable implementation.
2016-06-21 23:58:17 -04:00
Pietro Gagliardi
b21ec6cf6b
Laid the foundation for uiTable: common code and a test. Now to start actually implementing it.
2016-06-21 22:22:13 -04:00
Pietro Gagliardi
d93bb2c48f
Formatting fixes.
2016-06-21 12:45:04 -04:00
Pietro Gagliardi
1f20772b46
Merge pull request #123 from kainjow/void-ptr-warning
...
Fix void* warning
2016-06-21 12:43:43 -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
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
d4492c06a9
Changed the uiMainSteps() API as the GTK+ port will need it to be done this way...
2016-06-16 13:49:50 -04:00
Pietro Gagliardi
da4b396aaf
Added uiMainSteps(), which sets things up to use uiMainStep() for the main loop. Implemented on OS X.
2016-06-16 13:45:24 -04:00
Pietro Gagliardi
b4d0e08a22
Started the work to fix uiMainStep().
2016-06-16 13:41:13 -04:00
Pietro Gagliardi
377f46814a
Started adding borderless uiWindow support; implemented on Windows.
2016-06-16 11:20:28 -04:00
Pietro Gagliardi
fd9af04123
Implemented fullscreen on OS X.
2016-06-16 09:29:28 -04:00
Pietro Gagliardi
69cafde7f3
Started the fullscreen window stuff.
2016-06-16 08:07:50 -04:00
Pietro Gagliardi
6c56f1e1ce
Implemented the window size stuff on Windows.
2016-06-15 22:52:35 -04:00
Pietro Gagliardi
5fbe85c21a
Started adding the uiWindow size code.
2016-06-15 22:28:44 -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
Pietro Gagliardi
53bec81925
More uiWindow positioning refinement and implementation on OS X.
2016-06-15 14:57:52 -04:00
Pietro Gagliardi
4465d37d2e
Started uiWindow positioning stuff.
2016-06-15 13:21:07 -04:00
Pietro Gagliardi
efe207ca37
Added a test of uiFormDelete().
2016-06-15 12:06:19 -04:00
Pietro Gagliardi
cb81518e0f
Implemented proper hiding and showing behavior on OS X on uiForm and uiGrid.
2016-06-14 11:18:38 -04:00
Pietro Gagliardi
d54f7dd682
Added a facility to the OS X port to be notified when a child's visibility has changed; this is necessary for implementing hiding and showing properly.
2016-06-14 10:37:19 -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
e46554f481
More work on the uiGrid test.
2016-06-13 13:57:20 -04:00
Pietro Gagliardi
ba8e5b80ea
More uiGrid tests. OS X falls apart as usual :D
2016-06-13 08:12:01 -04:00
Pietro Gagliardi
bf1595795c
Fixed a tester bug.
2016-06-11 23:53:49 -04:00
Kevin Wojniak
a18e3c71b9
Fix void* warning
...
"Format specifies type 'void *' but the argument has type 'uiWindow *' (aka 'struct uiWindow *')"
2016-06-10 21:23:13 -07:00
Pietro Gagliardi
3a3b96a38e
Implemented more of GTK+'s grid tests.
2016-06-09 21:30:33 -04:00
Pietro Gagliardi
4b149ddfef
Implemented uiGrid on GTK+.
2016-06-09 18:57:58 -04:00
Pietro Gagliardi
075eae15e5
Started uiGrid.
2016-06-09 17:15:59 -04:00
Pietro Gagliardi
1ad18ddc8e
We are FINALLY adding uiForm. About time :V
2016-06-07 09:56:53 -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
6cb3cd4ed7
More robust accelerator tests.
2016-06-06 09:27:07 -04:00
Pietro Gagliardi
d0be2979e4
Added Password and Search Entries. Now for the implementation.
2016-06-05 20:26:44 -04:00
Pietro Gagliardi
05b542182a
More cmake stuff. MSVC shared builds work as we want them to so far (mostly).
2016-06-03 17:30:00 -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
08c06f24c0
Added the test program to the CMake setup.
2016-06-01 14:07:43 -04:00
Pietro Gagliardi
be8a957689
Fixed static linking on Windows.
2016-05-29 18:35:06 -04:00
Pietro Gagliardi
0c85469e52
More TODO and intrinsic size work.
2016-05-28 22:49:27 -04:00
Pietro Gagliardi
b130ddc04b
Added a test of having multiple uiRadioButtons in the same parent container and started a test of intrinsic sizes of all non-container controls.
2016-05-28 21:29:00 -04:00
Pietro Gagliardi
4c98fda7ff
Added Enable/Disable buttons to page 6.
2016-05-28 11:36:16 -04:00
Pietro Gagliardi
3896861f39
Added another facet to page 10's tests: whether the letter after the combined one gets colored.
2016-05-26 17:44:35 -04:00
Pietro Gagliardi
a8aa842172
More TODOs.
2016-05-25 01:15:43 -04:00
Pietro Gagliardi
363916855c
Split uiCombobox on OS X.
2016-05-23 18:50:02 -04:00
Pietro Gagliardi
996ba99b0f
Began uiEditableCombobox splitting.
2016-05-23 17:41:37 -04:00
Pietro Gagliardi
a571bd4779
Added a composed character test to page 10.
2016-05-23 08:11:22 -04:00
Pietro Gagliardi
60627e13a1
Fleshed out page 12.
2016-05-22 23:05:37 -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
a641a7eda8
Some TODO cleanup. Started changing long-term TODOs to say LONGTERM instead.
2016-05-22 18:37:53 -04:00
Pietro Gagliardi
b73a96ad27
More TODOs.
2016-05-22 17:49:41 -04:00
Pietro Gagliardi
6d421e9349
Implemented a test of non-BMP characters that need surrogate pairs on UTF-16-based systems on test page 10.
2016-05-22 17:01:18 -04:00
Pietro Gagliardi
bbae4478f6
More TODOs.
2016-05-22 14:41:42 -04:00
Pietro Gagliardi
313ce47833
Started non-wrapping multiline entries. Implemented on Windows.
2016-05-22 13:56:36 -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
bf411e787e
Implemented uiColorButton on OS X.
2016-05-15 20:51:33 -04:00
Pietro Gagliardi
68ad5f53fa
Added uiColorButton. Let's implement this on OS X first.
2016-05-15 20:06:57 -04:00
Pietro Gagliardi
52fff1520d
Disabled page 11 for now.
2016-05-15 16:34:14 -04:00
Pietro Gagliardi
fd9f6cea6a
Allowed uiGroups and uiTabs to have no and NULL controls with defined behavior on OS X. Actually added the test code this time.
2016-05-14 22:09:02 -04:00
Pietro Gagliardi
0e785d886b
Started tests for truly empty uiGroups and uiTabs; started banning NULL in uiBox.
2016-05-14 21:53:24 -04:00
Pietro Gagliardi
897674d20f
Made the queuemaintest a multithreading example, because why not.
2016-05-12 12:50:05 -04:00
Pietro Gagliardi
cfa1b6bf0a
Added uiFontButtonFont() and uiFontButtonOnChanged(); implemented on OS X.
2016-04-20 13:40:54 -04:00
Pietro Gagliardi
275b80a6d9
More TODOs.
2016-04-20 12:37:04 -04:00
Pietro Gagliardi
9b1d75bec2
More TODOs and stale TODO elimination.
2016-04-20 02:52:46 -04:00
Pietro Gagliardi
e786d664cb
Implemented text layout SetColor on OS X.
2016-04-19 16:06:50 -04:00
Pietro Gagliardi
7a568f6bf4
Added the first text layout attribute: foreground color. Now to implement.
2016-04-19 15:38:24 -04:00
Pietro Gagliardi
861b5f22df
Finished changing the Windows font dialog and uiFontButton to manipulate IDWriteFonts directly.
2016-04-18 17:14:33 -04:00
Pietro Gagliardi
9b27e12cfc
Made the small caps stuff ineffective on page 9. We'll be removing it from FontDescriptor shortly.
2016-04-15 14:09:14 -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
307ec746ef
Started implementing uiFontButton on OS X.
2016-04-14 13:27:15 -04:00
Pietro Gagliardi
8b6dd1d45f
More for the previous commit.
2016-04-14 12:57:09 -04:00
Pietro Gagliardi
423719b21f
Started adding uiFontButton. Duplicated Page 9 to Page 10 to test it.
2016-04-14 12:54:37 -04:00
Pietro Gagliardi
9c6c16be53
Simplified text drawing on OS X by using CTFramesetter exclusively.
2016-01-16 13:34:22 -05:00
Pietro Gagliardi
4fffe9008c
Started implementing the new multiline uiDrawTextLayout logic in the OS X port; fixed some bugs in the test program.
2016-01-15 20:18:53 -05:00
Pietro Gagliardi
c0db113367
Started adding support for multiline uiDrawTextLayouts and extracting the extents from them.
2016-01-14 20:02:01 -05:00
Pietro Gagliardi
468acd50be
More TODOs.
2016-01-13 19:35:31 -05:00
Pietro Gagliardi
6202863faa
Added some guides for making sure text measurements are correct.
2016-01-13 04:02:30 -05:00
Pietro Gagliardi
d6079f8c50
More TODOs.
2016-01-13 00:56:03 -05:00
Pietro Gagliardi
d6063394ee
Implemented the metrics stuff on OS X and improved the test a bit.
2016-01-12 22:07:24 -05:00
Pietro Gagliardi
a082469cf8
Started working on text metrics support.
2016-01-12 21:52:45 -05:00
Pietro Gagliardi
73867119ef
Updated the test and fixed compiler errors in darwin/drawtext.m. It seems to work now! Width handling is still not working right, but width handling needs major rewrites because width on Core Text has major sensibility issues...
2016-01-12 01:58:45 -05:00
Pietro Gagliardi
dec34670bb
Fixed keyboard events not working on OS X.
2016-01-09 15:05:19 -05:00
Pietro Gagliardi
2a80888cb8
Fixed a warning in the test program.
2016-01-09 14:49:44 -05:00
Pietro Gagliardi
ca514d94d1
Set up a proper, formal layout and attirbute system. No attributes right now, but initial font style is in. Implemented it on GTK+.
2016-01-07 18:37:43 -05:00
Pietro Gagliardi
46aadf62c1
Added a manifest to the test program.
2015-12-31 20:09:20 -05:00
Pietro Gagliardi
66ad8066ea
Improved the exited debugging.
2015-12-27 17:13:57 -05:00
Pietro Gagliardi
15bb899770
Vertically condensed Page 9 a bit.
2015-12-24 23:04:07 -05:00
Pietro Gagliardi
6fd945b602
Split the text test onto a separate page, Page 9.
2015-12-24 22:59:00 -05:00
Pietro Gagliardi
6ef404c2dd
Implemented the basic uiDrawText() function on GTK+. It looks like I missed some PangoAttributes; I'll add those in next.
2015-12-24 19:48:57 -05:00
Pietro Gagliardi
280ef464f6
Started work on text rendering. Right now, features match Pango; they will be stripped as needed. Also I never committed test/page8.c; whoops.
2015-12-24 18:05:16 -05:00
Pietro Gagliardi
9987c98dcd
Began the work to list font families. This is the first of the text rendering work.
2015-12-22 19:01:56 -05:00
Pietro Gagliardi
92680a549d
Oh I know why the green didn't show up; fixed.
2015-12-19 17:32:13 -05:00
Pietro Gagliardi
16f22576ed
Reduced the number of tabs on the first page of the outer tab in the test program. This makes the uiArea tabs more readily accessible on all platforms and keeps the initial size of the main window down on OS X. Also fixed the rpath nonsense on the example makefile too.
2015-12-19 16:56:45 -05:00
Pietro Gagliardi
85dac9fa80
Oh right they don't show because of ID2D1HwndRenderTarget::Resize(). I still wonder if areas outside the scroll could be scrolled visible...
2015-12-19 14:56:44 -05:00
Pietro Gagliardi
b5d257409c
Added a green "out of bounds" area to test/page7c.c. For some reason it doesn't show up here... will need to look further.
2015-12-19 14:54:24 -05:00
Pietro Gagliardi
0f80d15fc4
Added a test of scrolled drawing. More TODOs.
2015-12-19 01:16:32 -05:00
Pietro Gagliardi
6d06e15390
More Windows uiArea migration and compiler error fixes. Now to figure out what happened with GetSize again...
2015-12-18 14:21:35 -05:00
Pietro Gagliardi
2ce0c810f1
Added a test of mouse events in a scrolled uiArea. Removed some dead code from the GTK+ uiArea. Now to make the changes to the Windows and OS X backends!
2015-12-17 21:21:29 -05:00
Pietro Gagliardi
6b2d9920c5
Split out the content of test/page7.c into test/page7a.c so more can be put on page 7.
2015-12-17 21:11:00 -05:00
Pietro Gagliardi
0cb080d085
Ported over the tests. Now to fix runtime errors!
2015-12-17 19:30:28 -05:00
Pietro Gagliardi
3e0b6fdff4
Re-established the test build.
2015-12-11 20:04:31 -05:00
Pietro Gagliardi
70886e4ade
Moved the old build files away. Yes that's right folks, we're redoing the build system *again*! Isn't that *fun*?
2015-12-10 18:49:50 -05:00
Pietro Gagliardi
0307e74e90
Added uiMultilineEntry on Windows. Fixed a misuse of std::condition_variable in the uiQueueMain test program.
2015-12-06 14:38:13 -05:00
Pietro Gagliardi
2705f93305
Added uiMultilineEntry, wrote it on GTK+, and wrote the uiQueueMain() test. It works on Unix.
2015-12-06 01:18:32 -05:00
Pietro Gagliardi
8084041139
Removed uiAreaHandler.RedrawOnResize(); Direct2D requires us to always redraw on resize (see previous commit). Added windows/amd64 to the example makefiles and updated them to use libui.xxx instead of new.xxx.
2015-12-04 21:04:51 -05:00
Pietro Gagliardi
e6e264408f
Implemented dialog parenting on Windows. Eliminated the dialog helper. uiArea still works (and still responds to key events), but IsDialogMessage() isn't being called for the active window anymore...
2015-11-28 10:53:48 -05:00
Pietro Gagliardi
0bcd620a62
Started a change which will allow a parent of the standard dialogs to be specified.
2015-11-27 23:23:54 -05:00
Pietro Gagliardi
490fa315d1
Added controls to the menued enabled window in the test program to test dialog ownership.
2015-11-27 13:01:12 -05:00
Pietro Gagliardi
9153766dc9
Added a checkbox for testing uiArea keystroke ignoring. This will be for migrating the Windows keyboard code to using message filters, so we can clean up dialog handling.
2015-11-27 11:49:06 -05:00
Pietro Gagliardi
5e29d07d20
Moved all the table stuff out of the way. I need to decide what I'm going to do with it.
2015-11-16 10:52:19 -05:00
Pietro Gagliardi
e340f75b78
Broke the very long chain of tabs apart in the test program.
2015-11-02 10:49:04 -05:00
Pietro Gagliardi
5d26b9b059
Finished the uiTable test and fixed errors.
2015-10-19 10:52:36 -04:00
Pietro Gagliardi
fa2252e9c6
Started a table test.
2015-10-18 23:00:24 -04:00
Pietro Gagliardi
790edf0df8
Assembled a new make system. Not quite working the way I'd like yet, but definitely a start.
2015-10-16 20:55:09 -04:00
Pietro Gagliardi
1cadb85bd0
Added line dashing and implemented it on GTK+.
2015-10-16 10:09:41 -04:00
Pietro Gagliardi
efc0e74c82
Wrote a better arc test.
2015-10-13 15:09:06 -04:00
Pietro Gagliardi
b5ac921988
Implemented clipping on Windows. Phew!
2015-10-13 13:20:25 -04:00
Pietro Gagliardi
cc827919b8
Added uiDrawClip() and implemented it on GTK+.
2015-10-13 11:16:06 -04:00
Pietro Gagliardi
818d954654
More transformation tests and work.
2015-10-12 09:08:50 -04:00
Pietro Gagliardi
46e3fee40d
Added a center point to scaling transforms. Fixed rotations on GTK+.
2015-10-12 01:43:12 -04:00
Pietro Gagliardi
5792ac76fc
Work on more tests. Scaling will need a center point for this test to work correctly...
2015-10-12 01:18:08 -04:00
Pietro Gagliardi
41a33a1aa1
Fixed the failing test.
2015-10-12 00:27:34 -04:00
Pietro Gagliardi
f4b0e7e35e
Added negative arcs to the OS X backend. Now we have a crash in one of the tests; still debugging.
2015-10-11 23:48:40 -04:00
Pietro Gagliardi
0989454106
Implemented negative arcs on Windows.
2015-10-11 22:14:27 -04:00
Pietro Gagliardi
d789d37ef6
Fixed up the examples.
2015-10-11 21:31:23 -04:00
Pietro Gagliardi
15c00330d6
Added a parameter for negative arcs.
2015-10-11 21:15:08 -04:00
Pietro Gagliardi
9cb2c922b8
More samples. The fill style sample is showing the limitations of what I've done so far, and solving that problem is proving to be a nightmare.
2015-10-11 15:47:30 -04:00
Pietro Gagliardi
3d8f8f0756
Implemented a basic translation.
2015-10-11 11:42:07 -04:00
Pietro Gagliardi
9e8c522010
More drawing tests. Maybe I should do transforms now...
2015-10-10 20:48:26 -04:00
Pietro Gagliardi
46149edccf
More draw tests.
2015-10-10 18:53:07 -04:00
Pietro Gagliardi
87e51487f6
More drawing tests.
2015-10-10 13:01:48 -04:00
Pietro Gagliardi
0a59910d91
Removed some stale TODOs.
2015-10-10 11:07:37 -04:00
Pietro Gagliardi
0566c3fa7a
Fixed up the radial gradient test to be a full circle now that it finally works.
2015-10-10 10:49:42 -04:00
Pietro Gagliardi
3fad1a16d7
Even more TODOs.
2015-10-10 08:50:47 -04:00
Pietro Gagliardi
4b81b421e8
Expanded the arcs test a bit more.
2015-10-10 08:50:16 -04:00
Pietro Gagliardi
7a4d4b7eba
More arc tests. This time, it tests if the starting line segment is in the right place.
2015-10-10 08:41:42 -04:00
Pietro Gagliardi
3cbc3f3c67
Made arc angles counterclockwise on the GTK+ backend and fixed the sun in the Direct2D geometries howto.
2015-10-09 23:13:15 -04:00
Pietro Gagliardi
50f03eca14
More arc testing.
2015-10-09 22:28:10 -04:00
Pietro Gagliardi
2c7ed07747
Changed the arc functions to take a start angle and a sweep amount instead of a start angle and an end angle. This makes it easier to reason about sweeps > 2π radians.
2015-10-09 21:51:43 -04:00
Pietro Gagliardi
9adf4cef86
Added an arc test.
2015-10-09 19:18:16 -04:00
Pietro Gagliardi
844015f71a
Fixed typos in the test program that in turn fixed the gradients; also fixed a few Objective-C-isms in the OS X backend.
2015-10-09 18:49:41 -04:00
Pietro Gagliardi
f558319f18
More TODOs.
2015-10-09 18:02:28 -04:00
Pietro Gagliardi
6dfbd71c52
More drawtests.c stuff. I need to resolve this arc stuff once and for all and write AddEllipse before I can continue.
2015-10-09 17:49:43 -04:00
Pietro Gagliardi
fc502b178b
More drawing tests. There is defintely something wrong with arcs.
2015-10-09 17:32:26 -04:00
Pietro Gagliardi
7075bea0f5
Added uiAreaQueueRedrawAll() and implemented on all platforms. NOW we can focus exclusively on the test suite.
2015-10-09 15:27:57 -04:00
Pietro Gagliardi
db1026f003
Added a second test to the uiArea draw test suite. Now to add a uiAreaQueueRedrawAll() function.
2015-10-09 15:09:08 -04:00
Pietro Gagliardi
843ea0d46c
Implemented uiComboboxSetSelected() on GTK+.
2015-10-09 13:54:34 -04:00
Pietro Gagliardi
581cbaecc9
Added uiComboboxSetSelected(), which we need for the uiArea drawing tests. Will implement next.
2015-10-09 13:47:02 -04:00
Pietro Gagliardi
6424ea00ab
Created a new framework for consolidating all drawing tests.
2015-10-09 13:38:41 -04:00
Pietro Gagliardi
b0492cbde8
Fixed up more bits of uiArea on Windows.
2015-10-09 11:49:57 -04:00
Pietro Gagliardi
5d19387811
Did scrolling for the uiArea test and uiArea itself on GTK+.
2015-10-09 10:09:55 -04:00
Pietro Gagliardi
e27781cce7
Integrated the test into the main packge. I'll need to handle a few corner cases here...
2015-10-08 19:20:06 -04:00
Pietro Gagliardi
06f17aa4de
Implemented the new uiCombobox stuff on GTK+.
2015-10-08 14:55:18 -04:00
Pietro Gagliardi
26e90f0b51
Started uiCombobox querying and events. Needed for the uiArea tests.
2015-10-08 14:23:04 -04:00
Pietro Gagliardi
54332b90fb
Finally merged out the redo folder.
2015-09-02 13:48:06 -04:00
Pietro Gagliardi
e1efbb1b8f
Started cleaning out the toplevel (the old redo/).
2015-08-27 12:06:31 -04:00
Pietro Gagliardi
8213eac2d7
Moved everything up a directory level.
2015-08-27 12:05:11 -04:00
Pietro Gagliardi
cf2dc096b7
More migration.
2015-05-15 21:21:36 -04:00
Pietro Gagliardi
9cd8ff7e93
Added a bare-bones uiGroup.
2015-05-11 22:35:16 -04:00
Pietro Gagliardi
9dfa95b3e1
Added a test of having multiple consecutive separators in, separators at the start of, and separators at the end of a menu. How OS X behaves is the deciding factor here.
2015-05-11 10:31:03 -04:00