aboutsummaryrefslogtreecommitdiff
path: root/include
AgeCommit message (Collapse)Author
2022-05-30output: add wlr_output_test_stateSimon Ser
Same as wlr_output_test, but takes a wlr_output_state argument.
2022-05-30output: pass wlr_output_state to rendering functionsSimon Ser
No functional change.
2022-05-30output: pass wlr_output_state to output_pending_resolutionSimon Ser
2022-05-30output: pass wlr_output_state to backendSimon Ser
Groundwork for the following commits. The goal is to allow users to specify their own wlr_output_state instead of wlr_output.pending.
2022-05-27xdg-popup: add reposition supportKirill Primak
2022-05-27xdg-positioner: add v3 parametersKirill Primak
2022-05-27xdg-popup: use current/pending state patternKirill Primak
2022-05-27xdg-popup: add proper configure flowKirill Primak
2022-05-26output: turn make/model/serial into char *Simon Ser
This allows the make/model/serial to be NULL when unset, and allows them to be longer than the hardcoded array length. This is a breaking change: compositors need to handle the new NULL case, and we stop setting make/model to useless "headless" or "wayland" strings.
2022-05-25render/egl: document wlr_egl_create_with_contextSimon Ser
2022-05-25render/egl: make wlr_egl_{make,unset,is}_current privateSimon Ser
These are trivial wrappers around eglMakeCurrent and eglGetCurrentContext. Compositors which need to call these functions will also call other EGL or GL functions anyways. Let's reduce our API surface a bit by making them private.
2022-05-25render/egl: make wlr_egl struct opaqueSimon Ser
Compositors can use wlr_egl_create_with_context if they need a custom EGL display or context.
2022-05-25render/egl: add wlr_egl_get_{context,display}Simon Ser
This allows compositors to integrate with the wlroots GLES2 renderer, if they need to perform custom GL rendering.
2022-05-25render/egl: drop MESA_EGL_NO_X11_HEADERSSimon Ser
This has been superseded by the standard EGL_NO_X11 switch, supported by Mesa 19.3.0+.
2022-05-25Reformat doc commentsSimon Ser
Unify the way we document our APIs. See CONTRIBUTING.md for the rules.
2022-05-25backend/drm: remove wlr_drm_surface.{width,height}Simon Ser
This information is stored in wlr_swapchain, no need to duplicate it.
2022-05-24build: bump version to 0.16.0-devSimon Ser
Same as [1]. [1]: https://github.com/swaywm/sway/pull/6730
2022-05-23wlr_scene: Hook up HIGHLIGHT logicAlexander Orzechowski
This will display red translucent rectangles on the screen regions that have been damaged. These rectangles will fade out over the span of 250 msecs. If the area is damaged again while the region is fading out, the timer is reset. Let's also disable direct scan out when this option is enabled, or else we won't be able to render the highlight damage regions.
2022-05-23wlr_scene: Parse out WLR_SCENE_DEBUG_DAMAGEAlexander Orzechowski
2022-05-23util/addon: avoid calling finish() twiceKirill Primak
No functional change.
2022-05-23xwayland: use dict to collect supported featuresSimon Ser
2022-05-23xwayland: Add support for -force-xrandr-emulationJoshua Ashton
2022-05-22seat: Allow to cancel touchesGuido Günther
After cancelation we destroy the touch points associated with this surface as the Wayland spec says: No further events are sent to the clients from that particular gesture. Touch cancellation applies to all touch points currently active on this client's surface. The client is responsible for finalizing the touch points, future touch points on this surface may re-use the touch point ID. Closes: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/2999
2022-05-19wlr_scene: Refactor wlr_scene_surface to be a helper on top of wlr_scene_bufferAlexander Orzechowski
2022-05-19wlr_scene: Introduce addons to scene nodesAlexander Orzechowski
2022-05-19wlr_scene: Make presentation object publicAlexander Orzechowski
2022-05-19wlr_scene: Change out surface specific iterator functionsAlexander Orzechowski
Instead iterate over wlr_scene_buffer
2022-05-19wlr_scene: Pull scene_node_get_root into a private headerAlexander Orzechowski
We will need this for surface emulation on buffers.
2022-05-19wlr_scene: Make scene_buffer_from_node publicAlexander Orzechowski
2022-05-19wlr_scene: Add a function to also specify damage when applying a buffer to ↵Alexander Orzechowski
wlr_scene_buffer
2022-05-19wlr_scene: Add a way to choose when input interactions happen on a bufferAlexander Orzechowski
2022-05-19wlr_scene: Add frame_done signal for wlr_scene_bufferAlexander Orzechowski
Let's also change the name of the function. Motivation [1]. [1] https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/3496#note_1357824
2022-05-19wlr_scene: Add primary_output property to wlr_scene_bufferAlexander Orzechowski
2022-05-19 wlr_scene: Add presentation signal for wlr_scene_bufferAlexander Orzechowski
2022-05-19wlr_scene: Make wlr_scene_render_output privateAlexander Orzechowski
This function sidesteps damage tracking and output awareness on buffers/surfaces. This function isn't a great fit for the API. Let's also inline the function and simplify it.
2022-05-19wlr_scene: Fix missing calls to scene_node_update_outputsAlexander Orzechowski
There were a couple places this was missing - on mode change of an output. If the resolution changes for example nodes may fall out of the view. - on commits on an output for scale or transform changes - when the transform of a buffer is changed. If the dest size is not set, the buffer may have been rotated potentially changing its size if the buffer width != height
2022-05-19wlr_scene: Add output_enter/output_leave signalsAlexander Orzechowski
When we destroy a scene buffer, let's make sure that we call output_leave signals before we finish the node which will call destroy listeners.
2022-05-19wlr_scene: Add setter for buffer of a wlr_scene_bufferAlexander Orzechowski
2022-05-19wlr_scene: Allow buffer in wlr_scene_buffer to be NULLAlexander Orzechowski
This is useful to emulate an unmapped surface.
2022-05-15xdg-shell: specify version in wlr_xdg_shell_createSimon Ser
With protocol additions such as [1], compositors currently have no way to opt out of the version upgrade. The protocol upgrade will always be backwards-compatible but may require new compositor features. The status quo doesn't make it possible to ship a protocol addition without breaking the wlroots API. This will be an issue for API stabilization [2]. To address this, let compositors provide a maximum version in the function creating the global. We need to support all previous versions of the interface anyways because of older clients. This mechanism works the same way as Wayland clients passing a version in wl_global.bind. [1]: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/3514 [2]: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/1008 References: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/3397
2022-05-11backend/drm: fetch EDID manufacturer from udev_hwdbSimon Ser
Maintaining our internal table up-to-date is tedious: one needs to manually go through the PnP ID registry [1] and check whether we're missing any entry. udev_hwdb already has an API to fetch a manufacturer name from its PnP ID. Use that instead. [1]: https://uefi.org/pnp_id_list
2022-05-07xwayland: terminate when no client is connectedSimon Ser
Automatically shutdown Xwayland 10s after all X11 clients have gone away.
2022-05-07xwayland: add wlr_xwayland_server_options.terminate_delaySimon Ser
This allows users to specify a delay after which the Xwayland process terminates itself when there are no more X11 clients connected.
2022-05-07render/gles: add support for some 16-bpc unsigned shm formatsManuel Stoeckl
These formats require EXT_texture_norm16, which in turn needs OpenGL ES 3.1. The EXT_texture_norm16 extension does not support passing gl_internalformat = GL_RGBA to glTexImage2D, as can be done for formats available in OpenGL ES 2.0, so this commit adds a field to wlr_gles2_pixel_format to provide a more specific internalformat parameter to glTexImage2D.
2022-04-17Revert "Copy xcb_icccm structs into wlroots"John Lindgren
The original commit introduced a bug by transposing the order of some of the fields in xcb_size_hints_t. Since XCB ICCCM support is required now, we can just eliminate the duplicate structs. With minor changes: - Remove #ifdef HAS_XCB_ICCCM guards - Fix #includes - Fix references to local size_hints struct This reverts commit 12b9b1a4bdf00742cc510c2329c7a66c649b3ab0.
2022-04-13xdg-toplevel: don't schedule configures on state requestsKirill Primak
2022-04-13xdg-foreign-v2: treat unmapped parents as NULLKirill Primak
2022-04-13xdg-foreign-v1: treat unmapped parents as NULLKirill Primak
2022-03-23seat: take wlr_keyboard in wlr_seat_set_keyboard()Leonardo Hernández Hernández
Signed-off-by: Leonardo Hernández Hernández <leohdz172@protonmail.com>
2022-03-23layer-shell: Make wlr_layer_surface_v1_from_resource publicGuido Günther
This allows compositors to leverage the `wl_instance_of` based type check.