Rostislav Pehlivanov
b9b397ef80
Add a demo client for dmabuf export
7 years ago
Ilia Bozhinov
24cf70ae96
backends: implement custom EGL and renderer initialization
...
Compositors now have more control over how the backend creates its
renderer. Currently all backends create an EGL/GLES2 renderer, so
the necessary attributes for creating the context are passed to a
user-provided callback function. It is responsible for initializing
provided wlr_egl and to return a renderer. On fail, return 0.
Fixes #987
7 years ago
Tony Crisci
a078e50ec0
rename sample state to "state"
7 years ago
Tony Crisci
e9fab2cc70
pointer example: use xcursor manager
7 years ago
Tony Crisci
aedd3c6d46
make pointer show up in pointer example
7 years ago
Timidger
9a1d0e42d2
Fixed emersion's issues
7 years ago
Timidger
7da50d065b
Fixed style issues
7 years ago
Timidger
7f1230fe78
Remvoed unnecessary wayland socket in examples
7 years ago
Timidger
167ca57b18
Fixed up building examples
7 years ago
Timidger
583654405f
Made output layout example standalone
7 years ago
Timidger
8fd25cbc5b
Fixed indentation
7 years ago
Timidger
b3ca73c0ac
Multi-pointer ported over
7 years ago
Timidger
b510c0f6c2
Made rotation example standalone
7 years ago
Timidger
7be5dfecc0
Made tablet standalone
7 years ago
Timidger
c622a0c7fb
Made touch standalone
...
TODO test
7 years ago
Timidger
4c1d74ef91
Made examples/pointer standalone
7 years ago
Timidger
7284709370
simple now works on DRM
7 years ago
Timidger
44b2bf18f0
Can now quit the simple example
7 years ago
Timidger
b98779a674
Got simple working without keyboard input
7 years ago
Timidger
ad6d40c7c6
Moved cat out of support, removed support
7 years ago
emersion
eaed6bd03b
render/egl: add wlr_egl_destroy_surface
7 years ago
Guido Günther
67a10cc1f6
examples/layer-shell: take an explicit grab on the popup
...
This demonstrates popups can be closed by clicking on the area outside
the popup and parent.
7 years ago
Guido Günther
32e043f996
examples: Allow to close the popup
...
So we can the xdg_popup_destroy path.
7 years ago
Guido Günther
5209c79702
examples: Handle input entering popup in layer-shell
...
Change the cursor when entering the popup and make mouse buttons change
the red component of the square. This makes sure we can handle input
correctly.
7 years ago
Guido Günther
421652a450
examples: Animate popup in layer-shell
7 years ago
Guido Günther
d1e82a8ede
examples: Drop unused variable
7 years ago
Drew DeVault
941f88ce23
Fix popup positioning & double popups
7 years ago
Drew DeVault
0a0627f5d0
Finish forward-porting @acrisci's positioner work
7 years ago
Drew DeVault
2e3d901ac5
Forward-port xdg-shell-v6 positioner improvements
7 years ago
Drew DeVault
d3cdb00208
Add (shitty) support for popups to layer example
7 years ago
Drew DeVault
4575f27932
Update layer shell example -o behavior
7 years ago
Dominique Martinet
555206cf60
Fix gcc string truncation warnings
7 years ago
Drew DeVault
902d859c67
Fix syntax errors
...
Build before you commit, dumbass
7 years ago
Drew DeVault
7bb8512afb
Fix assertions with side-effects
...
Fixes #1725
7 years ago
Drew DeVault
3a8c7f283d
Add input-inhibitor example client
7 years ago
Drew DeVault
a94f4d0edc
Always give keyboard focus to the topmost layer
7 years ago
Drew DeVault
883d8d306c
Identify topmost interactive layer surface
7 years ago
emersion
f63a5d881d
examples: get wlr_renderer from the backend
7 years ago
emersion
33a2eb4b77
Untie wlr_backend from wlr_renderer
7 years ago
Drew DeVault
2053a4c144
Add more exotic cursor for layer shell example
...
So it's more obvious that it's being set
7 years ago
Drew DeVault
746e3759b7
Address review feedback
7 years ago
Drew DeVault
168f65fb7a
Minor bugfixes
7 years ago
Drew DeVault
e3eb487dc2
Add pointer support to layer shell example
7 years ago
Drew DeVault
ac219cbda6
Remove width_mm from tablet events
7 years ago
Drew DeVault
324b9d910d
Remove width_mm from wlr_touch events
7 years ago
Drew DeVault
a35a5786b0
Remove width_mm from wlr_pointer events
7 years ago
Tony Crisci
330ee08126
Merge pull request #744 from emersion/texture-redesign
...
Redesign wlr_texture
7 years ago
Drew DeVault
13edb19a6c
Fix issue starting up client EGL on X11 backend
7 years ago
Drew DeVault
776b81d499
Fix surface layer damage tracking
7 years ago
Drew DeVault
0e318df13d
Add margin animation to the example demo
7 years ago
Drew DeVault
86ca4bea6d
Fix layer rendering/layout bugs
7 years ago
Drew DeVault
df9dbf3170
Fix rebase issues; rearrange layers on destroy
7 years ago
Drew DeVault
d1c0e6fe2c
Add layer_surface.close
7 years ago
Drew DeVault
b73c4f48c1
Fix exclusive zone among other layers
7 years ago
Drew DeVault
0f7e78f6aa
Fix issue with multiple outputs in layer example
7 years ago
Drew DeVault
f444a0d14c
Implement layer surface damage
7 years ago
Drew DeVault
4bf936360d
Arrange & render layer surfaces
7 years ago
Drew DeVault
fcf8c6c8a2
Fix issues preventing layer from getting allocated
...
Now all of the steps to get rootston a reference to the layer surface
are correctly wired up.
7 years ago
Drew DeVault
4bc1cc49d5
Fix strcmp use
7 years ago
Drew DeVault
b31ce4220c
Add broken test client and rootston stubs
7 years ago
emersion
adf4fb08dd
Merge branch 'master' into texture-redesign
7 years ago
emersion
793c3b3047
render: add simple functions to render rectangles and ellipses
7 years ago
emersion
c63d94483b
Redesign wlr_texture
...
- Textures are now immutable (apart from those created from raw
pixels), no more invalid textures
- Move all wl_drm stuff in wlr_renderer
- Most of wlr_texture fields are now private
- Remove some duplicated DMA-BUF code in the DRM backend
- Add more assertions
- Stride is now always given as bytes rather than pixels
- Drop wl_shm functions
Fun fact: this patch has been written 10,000 meters up in the air.
7 years ago
emersion
3581573bdc
render/gles2: make wlr_renderer_begin take viewport size
...
This allows raw GL calls outside wlr_renderer to be removed.
7 years ago
emersion
c41de2d1be
render: split render.h into wlr_renderer.h and wlr_texture.h
7 years ago
Drew DeVault
1956d3cedb
Merge pull request #722 from emersion/matrix-redesign
...
Matrix redesign
7 years ago
emersion
876f07e9f1
renderer: replace wlr_texture_get_matrix by wlr_render_texture
7 years ago
emersion
824a95ad19
matrix: use 2D matrices
7 years ago
emersion
d26b67cb06
matrix: unify API, don't use array pointers
7 years ago
emersion
b6a3f240c7
matrix: move to types/
7 years ago
emersion
3bd1d876ae
examples: simplify screenshot client
7 years ago
Drew DeVault
bfc0e95d2c
Add mode support to libinput backend
...
And extend tablet example with tilt and ring support
7 years ago
Drew DeVault
3296365ce5
Merge pull request #659 from agx/alpha
...
Make wlr_render_with_matrix use alpha
7 years ago
Guido Günther
d08792bfff
Add alpha to wlr_render_with_matrix
...
so we can use the alpha channel to e.g. blend in textures
7 years ago
Drew DeVault
9dc868a27f
Merge pull request #667 from Ongy/screenshot_tmpfile_template
...
prevent screenshot from resuing template array
7 years ago
Markus Ongyerth
8ab0073b49
prevent screenshot from resuing template array
...
The template array given to mkstemp was declared static. This reused the
memory, which caused mkstemp to fail if backingfile is run more than
once, because the array no longer contained the template syntax
(which is forced to end in XXXXXX) but the previous file name.
7 years ago
Tony Crisci
b7b86a9591
Merge pull request #641 from Ongy/idle-inhibit
...
Add idle-inhibit implementation
7 years ago
Markus Ongyerth
67285c1d57
idle-inhibit: style adjustments and motivation
7 years ago
Guido Günther
b13f9fcfde
Don't use os_create_anonymous_file outside of wlroots
...
Use a stripped down version for the backing file in the screenshot
example.
7 years ago
Markus Ongyerth
87a7afb641
idle-inhibit: second feedback pass
7 years ago
Markus Ongyerth
3016133f91
idle-inhibit: feedback pass
7 years ago
Markus Ongyerth
bab8c73d3c
handle xdg close event in idle-inhibit example
...
Fixes a crash when the idle-inhibit example application is closed by the
compositor, instead of Ctr+C on the spawning terminal, by actualy
handling the close request.
7 years ago
Markus Ongyerth
a0bce86006
adds the client example for idle-inhibit
...
Adds a client example for the idle-inhibit-unsable-v1 protocol.
The client creates a surface and requests an idle inhibitor.
On pointer BTN_LEFT the inhibitor is destroyed if it exists, or
recreated if it was destroyed before.
The surfaces colour is based on the idle-inhibit state.
Green if an inhibitor exists, yellow if it does not.
7 years ago
Dominique Martinet
d1b28ec812
wayland protocol headers: use double-quote for includes
...
These headers are not installed so we should look for these locally
7 years ago
emersion
10ecf871f2
Remove wlr_backend.events.{output_remove,device_remove}
7 years ago
emersion
ddb1779f9f
render: make wlr_renderer_clear take a float[4] for the color
7 years ago
emersion
3d3ea32137
Merge remote-tracking branch 'upstream/master' into output-damage
7 years ago
Markus Ongyerth
cd925f496c
fixes the off by one errors in examples/screenshot
...
The inverse loop iterations for the transformed outputs had an off by
one error, iterating 1 based, not 0 based. This commit fixes that.
7 years ago
Markus Ongyerth
3a404e4f8d
handle the other transformations for screenshots
...
This handles all current transformations for outputs properly.
This ensures an output is drawn in readable orientation/flipping no
matter the actual transformations applied to it.
7 years ago
Markus Ongyerth
4afc933ea4
fixes 90 degree rotation screenshots
...
This fixes the screenshot example application when an output is rotated
by 90 degrees.
Other tranformations are not taken into account yet.
7 years ago
emersion
51c22d39a4
Merge remote-tracking branch 'upstream/master' into output-damage
7 years ago
emersion
4fa90b0511
Backport screenshooter fixes from the renderer redesign v1
...
This backports some changes to #319 to fix the screenshooter data
format. This also adds wlr_backend_get_renderer which will be
useful to support multiple renderers.
7 years ago
emersion
415a2b7c56
render: add wlr_renderer_clear and wlr_renderer_scissor
7 years ago
emersion
59c53e8333
Merge remote-tracking branch 'upstream/master' into output-damage
7 years ago
Johannes Schramm
dcc743047b
style: include brackets for if/while/for, even if it's a single statement
7 years ago
emersion
0365b587f0
output: add damage tracking via buffer age
7 years ago
emersion
e29a0df8c1
output: fix software cursors damage tracking
7 years ago
Drew DeVault
bcb58b5caa
Merge pull request #567 from Timidger/example-logging
...
Fixed logging for examples
7 years ago
Timidger
264ef0c261
Fixed logging for examples
7 years ago
Drew DeVault
b331c5c2c5
Merge pull request #549 from emersion/output-enabled
...
Add wlr_output::enabled
7 years ago
Heghedus Razvan
9e85283f06
Add example for idle protocol
...
Signed-off-by: Heghedus Razvan <heghedus.razvan@gmail.com>
7 years ago
emersion
8ebd7d4dbe
output: rename resolution event to mode
7 years ago
emersion
1fe1d64042
Fix views outside output layout
7 years ago
Timidger
56505c2635
Don't destroy backend in compositor_fini
...
This is already done after the changes in #504 , and now just causes a
segfault on closing the examples.
7 years ago
Drew DeVault
bb24895a2b
Merge pull request #533 from martinetd/wl_array_add
...
ENOMEM checks: consistently check wl_array_add return
7 years ago
Dominique Martinet
8e24aaa3c6
style: fix sizeof() calls without parentheses
7 years ago
emersion
1e6566e6cd
Fixes for multiple outputs
...
* Fixes output positions in screenshots
* Fixes Wayland backend pointer events when output layout doesn't start at (0, 0)
7 years ago
Björn Esser
ff13849624
config: Avoid clash with other config-headers
7 years ago
Björn Esser
57a09c8ca4
config: Put all defines into config.h
7 years ago
emersion
3b4b8953d9
Update output layout when scale or transform changes
7 years ago
Moritz
cef6d75491
Moved os-compatibility and added header
...
* Moved os-compatibility.c to util
* Added header under util
* Removed static since it isn't needed (i think so)
* Adjusted meson.build to include lib_wlr
Improved some codestyle
* Added guard to os-compatibility.h
* Fixed typo in include statment
Adjusted Guard
* Changed guard to _WLR_UTIL_OS_COMPATIBILITY
7 years ago
emersion
64221c6da1
Use wl_list for touch points in examples/
7 years ago
Tony Crisci
f61986e8db
rename touch slot to touch id
7 years ago
emersion
ac1573b0e7
Add scale parameter to wlr_cursor_set_image
7 years ago
Tancredi Orlando
029f2c05bb
Fix unused-result error
7 years ago
Drew DeVault
4f73498b78
Move shared example code
7 years ago
emersion
6b6895168b
Fix segfaults on exit in examples/mutli-pointer
7 years ago
emersion
7dc716a2bb
Fix memory leak in wlr_cursor
7 years ago
emersion
ae9a46fc9b
Remove outdated TODOs, use wlr_surface_has_buffer
7 years ago
emersion
6a74a3586f
Fix wlr_cursor_destroy, handle device remove in examples/multi-cursor
7 years ago
emersion
044173d1df
Add multi-pointer example
7 years ago
emersion
4230a577cc
Remove wlr_cursor_set_xcursor for now
7 years ago
emersion
2e2d63a164
Manage wlr_output_cursor from wlr_cursor
7 years ago
emersion
c45f2eef0e
Fix rootston
7 years ago
Tony Crisci
875a5b446f
remove time usec
7 years ago
Timidger
a299b9d875
Fixes #321 , not using result of wl_container_of
7 years ago
emersion
e1d213fccd
Create globals only for enabled outputs in DRM backend
7 years ago
Drew DeVault
c5fff08f8a
Forgot to rename these
7 years ago
Drew DeVault
16f35ecbea
Merge branch 'master' into heghe/wl_list
7 years ago
Drew DeVault
169b68b17c
Rename remaining refs to wlr_list
7 years ago
emersion
c8570d0e42
Remove wl_list_init when using wl_signal_add
7 years ago
Heghedus Razvan
e1f196a3e9
Replace list_t with wl_list for wlr_input_device
...
Signed-off-by: Heghedus Razvan <heghedus.razvan@gmail.com>
7 years ago
Heghedus Razvan
1d716241af
Replace list_t with wl_list in wlr_output
...
Signed-off-by: Heghedus Razvan <heghedus.razvan@gmail.com>
7 years ago
Greg V
a5fe9aa736
Add FreeBSD compatibility
7 years ago
emersion
55c063f440
Remove examples/compositor.c, re-added by mistake
7 years ago
emersion
e4a8831bf1
Fix GCC build
7 years ago
emersion
c9909a45ab
Code style
7 years ago
emersion
63af97800f
Use ImageMagick to write PNG screenshot
7 years ago
emersion
a87f016017
Remove cairo dependency, write raw pixels
7 years ago
emersion
d4cc82f11a
Call glReadPixels right before swapping buffers
7 years ago
emersion
35f9700251
First attempt to implement screenshooter
7 years ago
emersion
1c8b72e0cd
Add screenshooter skeleton
7 years ago
Versus Void
641d08ce7e
Transform hotspot with cursor
...
Fix #188
7 years ago
Versus Void
e88f3887ca
Move wlr-example.ini.example to rootston.ini.example and reference it from examples' config parser
7 years ago
Versus Void
84de02986a
Add examples/wlr-example.ini.example with option descriptions for examples
7 years ago
Drew DeVault
aa8a4f12b7
Fix keyboard handling in examples
7 years ago
Drew DeVault
e3af7d508f
Remove example compositor
7 years ago
Drew DeVault
906a816abf
Fix rootston keyboard, add Xwayland
7 years ago
emersion
4e70d36e61
examples/compositor: fix handle_output_frame
7 years ago
emersion
e001e40022
Set view->surface
7 years ago
Drew DeVault
e6a6634bc5
Minor tweaks to (broken) keyboard support
7 years ago
Drew DeVault
f4387b437f
Merge branch 'master' into rootston
7 years ago
Drew DeVault
61e451ea1b
Move keyboard logic to wlr_{keyboard,seat}
7 years ago
Tony Crisci
84a8f1b42d
add keys array param to seat keyboard enter
7 years ago
Tony Crisci
3895593998
wlr-seat: keyboard layout
7 years ago
Tony Crisci
30b5d76426
wlr-seat: keyboard modifiers
7 years ago
Tony Crisci
cef1f60522
wlr-seat-keyboard: basic events
7 years ago
emersion
c38d7949ef
Use wl_display_next_serial
7 years ago
Drew DeVault
e5e6dab7fd
Fix use of serial on motion_request
7 years ago
Drew DeVault
087894ae99
Merge pull request #152 from acrisci/feature/wlr-seat-axis-events
...
wlr-seat cursor axis events
7 years ago
Tony Crisci
e38248f34c
wlr-seat: implement cursor axis events
...
Axis events for the cursor are generated with the scroll wheel.
7 years ago
Drew DeVault
b6cf9b14a4
Fix possibly uninitialized variable
7 years ago
Drew DeVault
21f5b92973
Add super+click to move windows around without xdg
...
Though it still doesn't work for non-XDG windows because we need to
build common window state managemnet within the reference compositor.
7 years ago
Drew DeVault
800a1ec679
Use time_usec for event serials
...
Fixes #151
7 years ago
Drew DeVault
7ae5268679
Implement xdg request_move in reference compositor
7 years ago
Drew DeVault
d558745633
Handle tablet motion in example compositor
7 years ago
Tony Crisci
446adda1a3
compositor.c: implement cursor motion absolute
7 years ago
Tony Crisci
91323a9b9b
compositor.c: add guards for unconfigured surfaces
7 years ago
Tony Crisci
675a71dce7
compositor.c: determine xdg position by window geom
7 years ago
Tony Crisci
7a3edf6e62
use double for cursor coordinates
7 years ago
Tony Crisci
8b74450b39
wlr_seat: pointer events
7 years ago
Tony Crisci
b01909ae15
compositor.c: xdg-surface layout position
...
Add data structures to compositor.c xdg-surface implementation that allows them
to be rendered in the correct position in the layout, spanning outputs if
necessary.
7 years ago
Tony Crisci
94f4f1878d
xdg-surface-v6: implement ping
7 years ago
Tony Crisci
c912de6390
compositor.c: implement xdg-toplevel-v6 request events
7 years ago
Tony Crisci
27161a673f
xdg-shell new surface and ack configure events
7 years ago
Tony Crisci
9d2dc8447a
use wlr_surface on shell struct and listen to events
7 years ago
Tony Crisci
31bd8e089b
compositor.c: working pointer
7 years ago
Tony Crisci
9d9aaad020
compositor.c: fix formatting
7 years ago
emersion
1b588e7c1f
Add gamma_control skeleton
7 years ago
Drew DeVault
586ae674ae
Merge pull request #136 from acrisci/bug/rename-output-layout-create
...
Rename wlr_output_layout_init()
7 years ago
Tony Crisci
e733b0e643
Rename wlr_output_layout_init()
...
Rename wlr_output_layout_init() to wlr_output_layout_create() to be consistent
with the rest of the api.
7 years ago
Tony Crisci
500bcc49c4
move device configuration to config.h
7 years ago
Tony Crisci
0cdd7fac02
pointer.c: refactor device configuration
7 years ago
Tony Crisci
6904ed8bd9
bugfix: warp cursor to current position on output add
7 years ago
Tony Crisci
6d26fda57c
use monotonic clock time for animations
7 years ago
Tony Crisci
35eee80f9b
remove unused outputs list in output-layout.c
7 years ago
Tony Crisci
fa3d4ecc84
fix layout hotplugging issue in output-layout.c
7 years ago
Tony Crisci
f8e4ba3f5f
cleanup output-layout example
7 years ago
Tony Crisci
40bd6bcc43
implement output layout auto configuration
7 years ago
Tony Crisci
368f74e4df
Refactor meson build files
...
Use tabs for indentation and break up function calls over 80 col.
7 years ago
Tony Crisci
6699024b44
handle empty config file
7 years ago
Tony Crisci
9b65d0b3f0
refactor and rename wlr_geometry to wlr_box
7 years ago
Tony Crisci
a51b76083e
rename wlr_cursor_init to wlr_cursor_create
7 years ago
Tony Crisci
34f4a7b972
pointer.c: fix formatting
7 years ago
Tony Crisci
1193dd564b
config fixes
7 years ago
Drew DeVault
30611894f2
Implement tablet_tool support in pointer example
7 years ago
Tony Crisci
4fbe322fa6
fix memory errors
7 years ago
Tony Crisci
5c845f14ed
handle input device destroy
7 years ago
Tony Crisci
df0ee7f25f
implement tablet tool devices
7 years ago
Tony Crisci
5e06d61e42
implement touch up and touch down
7 years ago