Age | Commit message (Collapse) | Author | Files | Lines | |
---|---|---|---|---|---|
2020-07-05 | Move stub backend function implementations to a detail header | David Robillard | 1 | -0/+1 | |
2020-07-05 | Replace isHint bool with a flag | David Robillard | 1 | -1/+3 | |
I don't have any particular future use case in mind, but I think the concept makes sense for general events and it seems it could be useful for things like gestures as well. Also fixes another padding warning in the API. | |||||
2020-07-05 | Add scroll direction field | David Robillard | 1 | -4/+16 | |
2020-07-05 | Replace grab flag in PuglEventFocus with crossing mode | David Robillard | 1 | -1/+6 | |
2020-07-05 | Remove count field from PuglEventExpose | David Robillard | 1 | -3/+1 | |
This was never particularly useful, and it makes no sense with the new drawing model, even on X11, so its presence just adds confusion. So, remove it, which also conveniently fixes a padding warning in PuglEventExpose. | |||||
2020-07-04 | X11: Fix integer to enum conversion warning | David Robillard | 1 | -1/+2 | |
2020-07-04 | X11: Fix sign conversion warning | David Robillard | 1 | -4/+4 | |
2020-07-02 | Fix cast alignment warnings on 32-bit ARM | David Robillard | 1 | -2/+4 | |
2020-06-13 | Add puglSetCursor() | Jean Pierre Cimalando | 1 | -1/+73 | |
2020-06-13 | Cleanup: Fix implicit conversion warnings with clang | David Robillard | 1 | -6/+7 | |
2020-06-13 | Cleanup: Fix uninitialised variables | David Robillard | 1 | -5/+5 | |
2020-05-16 | Add default and maximum size | David Robillard | 1 | -26/+56 | |
2020-05-16 | Use email address in copyright headers | David Robillard | 1 | -1/+1 | |
Not really sure why I used a web link here (maybe because it's more stable), but this is more conventional. | |||||
2020-05-16 | Fix file documentation | David Robillard | 1 | -1/+2 | |
2020-04-02 | Add missing include | David Robillard | 1 | -0/+1 | |
2020-04-01 | Consistently use "view" terminology in API | David Robillard | 1 | -3/+3 | |
The sloppy use of "window" caused quite a bit of confusion, since views only correspond to top-level windows in some cases, and on MacOS, a non-top-level view is not a "window" at all. | |||||
2020-04-01 | Replace puglShowWindow() with puglRealize() | David Robillard | 1 | -8/+20 | |
2020-03-31 | X11: Don't wait for timeouts less than a millisecond | David Robillard | 1 | -1/+1 | |
2020-03-28 | Tolerate puglPostRedisplay() in configure handlers | David Robillard | 1 | -10/+11 | |
2020-03-17 | Use clearer names for pointer events | David Robillard | 1 | -3/+3 | |
These old "notify" names are a smell from X11 which is a bit strange and inconsistent here, since nearly everything is a "notification" of sorts. I think the new names here are much more clear since they are consistent with the keyboard focus events. | |||||
2020-03-16 | Add timer events | David Robillard | 1 | -0/+139 | |
2020-03-16 | X11: Dispatch a configure event before the map for child windows | David Robillard | 1 | -0/+9 | |
It does not seem to be guaranteed that child windows receive a ConfigureNotify at all. Work around this by explicitly dispatching one first, so child views receive events consistently with how top level views do. | |||||
2020-03-16 | Factor out dispatching configure events in the drawing context | David Robillard | 1 | -2/+2 | |
The updates here need to happen whenever a configure is dispatched, even outside puglDispatchEvent(). This removes the last remaining direct calls to the event callback so the common implementation can always do the right thing. | |||||
2020-03-16 | Only send update events when the view is visible | David Robillard | 1 | -1/+3 | |
2020-03-15 | Unify event loop functions as puglUpdate() | David Robillard | 1 | -15/+39 | |
The previous separation between polling and dispatching was a lie, especially on MacOS where it is impossible to only poll for events without dispatching anything. Providing such an API is misleading, and problematic in various other ways. So, merge them into a single puglUpdate() function which can do the right thing on all platforms. This also adds the behaviour of actually processing all events in the given time interval, which is almost always what clients actually want to do when using a positive timeout (naively doing this before caused terrible input lag). | |||||
2020-03-15 | X11: Factor out flushing pending exposures | David Robillard | 1 | -16/+22 | |
2020-03-15 | Add type and flags to world | David Robillard | 1 | -1/+5 | |
Unfortunately this is an API break, but there's no reasonable way to deprecate the old function and this is required for things to work correctly. The type will be used in following commits to tick the main loop and dispatch events correctly for either case. | |||||
2020-03-15 | Cleanup: Add puglDispatchSimpleEvent() internal utility | David Robillard | 1 | -2/+1 | |
2020-03-15 | Cleanup: Fix misleading variable name | David Robillard | 1 | -2/+2 | |
2020-03-15 | Cleanup: Remove redundant PUGL_API declarations | David Robillard | 1 | -1/+1 | |
2020-03-15 | X11: Simplify implementation slightly | David Robillard | 1 | -6/+2 | |
These continue statements are not necessary since the events will not be translated anyway. | |||||
2020-03-15 | X11: Read from server if necessary in puglDispatchEvents() | David Robillard | 1 | -3/+3 | |
This reduces input lag. The previous approach was an over-optimization: what's important here is to keep the iteration bounded by not continually flushing, but we do want to read everything to be as up to date as possible. | |||||
2020-03-15 | X11: Only enter drawing context if an expose is pending | David Robillard | 1 | -2/+2 | |
2020-03-15 | X11: Update frame immediately on ConfigureNotify | David Robillard | 1 | -0/+4 | |
This fixes some jittery display issues since the frame can be used before the deferred configure actually gets dispatched. | |||||
2020-03-15 | X11: Factor out selection event handling | David Robillard | 1 | -40/+69 | |
2020-03-15 | Move configure shortcut and frame update to common implementation | David Robillard | 1 | -29/+1 | |
2020-03-15 | Remove backend resize method | David Robillard | 1 | -5/+0 | |
2020-03-14 | Add logging API | David Robillard | 1 | -5/+4 | |
2020-03-13 | Strengthen warnings | David Robillard | 1 | -4/+4 | |
2020-03-09 | Add PuglEventClient and puglSendEvent() | David Robillard | 1 | -1/+18 | |
This event makes it possible to send an arbitrary event to a view, which is useful for many things. In particular, this method of communication with views will wake up the event loop, unlike hacks in applications that share data in some other way. | |||||
2020-03-09 | X11: Factor out converting PuglEventExpose to XExposeEvent | David Robillard | 1 | -16/+50 | |
2020-03-09 | X11: Only send configure events if something has changed | David Robillard | 1 | -13/+21 | |
2020-03-09 | Add create, destroy, map, and unmap events | David Robillard | 1 | -9/+6 | |
These can be used to do things when a view is created or destroyed, in particular set up the GL context in a more controlled way. Map and unmap events are also added for when views are shown and hidden so application can react to this as well. Towards the deprecation of puglEnterContext() and puglLeaveContext(), which are prone to abuse. squash! Remove client event stuff | |||||
2020-03-08 | Cleanup: Fix some conversion warnings | David Robillard | 1 | -6/+6 | |
2020-03-02 | Strengthen ultra-strict warnings with clang | David Robillard | 1 | -5/+5 | |
2020-03-02 | Omit deprecated implementations with PUGL_DISABLE_DEPRECATED | David Robillard | 1 | -0/+4 | |
2020-03-01 | Cleanup: Adjust some code to be more clang-format friendly | David Robillard | 1 | -7/+9 | |
2020-03-01 | Cleanup: Fix includes | David Robillard | 1 | -1/+2 | |
2020-03-01 | Put PuglEventAny member of PuglEvent first for easy initialization | David Robillard | 1 | -1/+1 | |
2020-02-18 | Pass expose event to backend enter and leave functions | David Robillard | 1 | -8/+3 | |
This is needed for clipping. Unfortunately, the puglEnterContext() and puglLeaveContext() API was not suitable for this, but this shouldn't matter in user code because it is only used for setup, and is slated for removal anyway. Instead, just call the backend functions directly in the implementation. |