aboutsummaryrefslogtreecommitdiffstats
path: root/test
AgeCommit message (Collapse)AuthorFilesLines
2019-07-28Fix unused parameter warnings and prevent rotDavid Robillard1-0/+2
2019-07-28Fix building pugl_cairo_test as C++David Robillard1-1/+1
2019-07-26Windows: Implement size constraintsDavid Robillard1-1/+1
There are two possible approaches to take here: try to expand dimensions that are not being explicitly resized (for example expand the bottom when dragging right), or just stop single-dimension resizes if they would go out of range. I chose the latter here for two reasons: it's hard to always do something smooth and unsurprising with the first approach (and it would require more code), and it can be nice from the user's perspective to easily be able to resize the window to exactly one of its aspect ratio limits. For example, it is very easy to drag pugl_test to 1:1 or 16:9. In other words, simplicity and user power wins.
2019-07-25Use standard Cairo include paths everywhereDavid Robillard1-1/+1
Weird convention, that.
2019-07-24Unify key and character fields and separate text eventsDavid Robillard3-15/+10
Only one field is necessary to store any kind of key, including special keys, since PuglKey occupies a reserved Unicode region. This is generally much simpler to deal with since there is only one value to dispatch on. Text events are separated from key events (like Windows but unlike MacOS or X11) because it is not possible to derive text events from key press events when they occur on Windows. Since merging the two has been the source of some confusion, this approach has some advantages anyway, even though it introduces the need to handle another event type. In the process, text input has been almost completely rewritten. I have tested this with a compose key on X11 and dead keys on Windows and MacOS and everything seems to work correctly, though there may (as always) still be issues with more exotic input methods.
2019-07-24Rename PuglEventKey::utf8 to "string" with char typeDavid Robillard1-2/+2
This matches Gtk and is generally less annoying to work with.
2019-07-23Test: Move some generic code to a separate headerDavid Robillard2-124/+147
2019-07-23Test: Move test programs to a subdirectoryDavid Robillard2-0/+555