Tony Crisci
b23dd6a6f8
wlr-seat bug: dont set focus surface to null then clear focus
7 years ago
Drew DeVault
ed74f473d6
Fix various rebase-related bugs
7 years ago
Drew DeVault
8c0929cfb3
Fix backwards bit banging
7 years ago
Drew DeVault
c8f97a3a2c
Use surface matrix for software cursors
...
A similar change should probably be applied to hardware cursors, though
more complicated. Also, this doesn't actually fix the issue where the
cursor is too small when over a scale=2 surface. Apparently they don't
set their cursor scales to 2. Seems like a client bug? idk
7 years ago
Drew DeVault
a6930cd8ea
Handle output enter/leave correctly
7 years ago
Drew DeVault
9861add146
Send surface enter output events to clients
7 years ago
Drew DeVault
a7446792a1
Consider scale factor when rendering views
7 years ago
Tony Crisci
1a756b3123
bugfix: dnd force cancel
7 years ago
emersion
510ce27fb7
Re-enable hardware cursors
7 years ago
emersion
0beae99188
Apply output transformation to pointer events in Wayland backend
7 years ago
emersion
ec22fe7134
Make wlr_output_interface.enable optional
7 years ago
emersion
d2581eadbc
Assert mandatory impl fields in wlr_output_init
7 years ago
emersion
7dc716a2bb
Fix memory leak in wlr_cursor
7 years ago
emersion
2c63aa2056
Destroy x11 output with backend
7 years ago
emersion
c97b5ac4ce
Fix output_cursor_render bounds check
7 years ago
emersion
9142def292
Do not render off-screen software cursors
7 years ago
emersion
ca9dfd2e14
Emit add event after configuring wlr_output_layout_output
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
c3b09f73da
Fix cursor hotspot with rotated outputs on DRM backend
7 years ago
emersion
4230a577cc
Remove wlr_cursor_set_xcursor for now
7 years ago
emersion
95566c6bdf
Transform cursor hotspot, fix wayland cursor hotspot
7 years ago
emersion
6656e25fd4
Transform cursor hotspot
7 years ago
emersion
2e2d63a164
Manage wlr_output_cursor from wlr_cursor
7 years ago
emersion
1b6c729360
Add wlr_output_cursor
7 years ago
Tony Crisci
e9c2cf09dc
Merge pull request #361 from emersion/output-layout-checked-allocs
...
Check allocation errors in wlr_output_layout
7 years ago
emersion
88f85f7477
Fix code style issues
7 years ago
emersion
816d6890ee
Fix remaining unchecked allocs in types and code style
7 years ago
emersion
78245a3998
Check allocation errors in wlr_output_layout
7 years ago
Tony Crisci
74bca7251b
rename wlr_seat to seat on seat structs
7 years ago
Tony Crisci
fddef4d58e
rename seat handle to seat client
7 years ago
Drew DeVault
4281aefbf8
Merge pull request #324 from acrisci/feature/keyboard-redesign
...
wlr-seat: keyboard redesign
7 years ago
emersion
a43acae000
Send server-decoration ack event automatically
7 years ago
emersion
e84d573b91
Complete server-decoration implementation
7 years ago
emersion
e521b0404b
Add server-decoration skeleton
7 years ago
emersion
9ccf66f53d
Remove gamma_control->link from list in destroy
7 years ago
Drew DeVault
bbf08f3ef9
Merge pull request #262 from acrisci/feature/data-device-selection
...
wlr-data-device
7 years ago
Drew DeVault
93042e844b
Merge pull request #325 from acrisci/bug/texture-destroy
...
Revert "wlr-surface: destroy texture on null buffer commit"
7 years ago
Tony Crisci
1dbe314937
Merge branch 'master' into feature/data-device-selection
7 years ago
Tony Crisci
06d8893543
wlr-seat: edit todos
7 years ago
Tony Crisci
d33a9f8eaa
wlr-seat: keyboard redesign
7 years ago
emersion
eea532911a
Send output current mode when changed
7 years ago
Tony Crisci
6e7caaee6b
Revert "wlr-surface: destroy texture on null buffer commit"
...
This reverts commit 0e7d13fab7
.
7 years ago
Tony Crisci
0e7d13fab7
wlr-surface: destroy texture on null buffer commit
7 years ago
Tony Crisci
d1dd0a6970
refactor buffer detection
7 years ago
emersion
1cc8f21d8e
Cleanup wlr_gamma_control
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
emersion
4952a633ca
Remove interface version checks
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
Drew DeVault
24ae081001
Merge pull request #308 from ascent12/render-fixups
...
Render fixups
7 years ago
Scott Anderson
37b8a096a9
Pass backend to render
7 years ago
Scott Anderson
822a9f65a4
Add pointer to backend inside wlr_output
7 years ago
Scott Anderson
9b984253e2
Move egl.h to render/egl.h
7 years ago
Tony Crisci
3c7ef3aae6
Merge branch 'master' into feature/data-device-selection
7 years ago
Tony Crisci
a87b60e31e
Merge branch 'master' into feature/data-device-selection
7 years ago
emersion
c8570d0e42
Remove wl_list_init when using wl_signal_add
7 years ago
Tony Crisci
eaed6b6d29
wl-output: send layout position
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
Tony Crisci
a339b10dcd
xdg-shell: improve configure request change detection
7 years ago
Tony Crisci
a5659b65c7
xdg-shell: send same-as-current configure if needed
7 years ago
Tony Crisci
fcf4724da9
xdg-shell: improve configure request change detection
7 years ago
Tony Crisci
ec83d9df58
xdg-shell: send same-as-current configure if needed
7 years ago
Tony Crisci
39308cb868
Merge branch 'master' into feature/data-device-selection
7 years ago
emersion
a7d7659a93
Fix render errors with gnome-terminal
7 years ago
Tony Crisci
b7c622a319
Merge branch 'master' into feature/data-device-selection
7 years ago
Drew DeVault
9129687ad6
Merge pull request #280 from acrisci/bug/xdg-shell-pending-different-force
...
xdg-shell: force configure when pending different
7 years ago
Tony Crisci
82076bd772
xdg-shell: force configure when pending different
7 years ago
Drew DeVault
62371a9974
Merge pull request #257 from emersion/fix-client-cursors
...
[WIP] Fix client cursors
7 years ago
Tony Crisci
2bd52c83ce
bug: detect invalid texture in xdg-shell
7 years ago
emersion
786f4bdd4d
Disable hardware cursors for now
7 years ago
Tony Crisci
19784360f1
bug: fix view centering
7 years ago
Tony Crisci
09f16058c8
cleanup: redo buggy set pointer function
7 years ago
Tony Crisci
f9d578700e
bug: fix seat handle destroy handler
7 years ago
Tony Crisci
c0e8585a4c
data-device: handle multiple data devices
7 years ago
Tony Crisci
2d35e20691
data-device: keyboard grabs
7 years ago
Tony Crisci
570a951947
data-device: button release drag bugfixes
7 years ago
Tony Crisci
3f3110452c
wlr-seat: pointer state button info
7 years ago
Tony Crisci
34f27ff691
wlr-seat: selection signal
7 years ago
Tony Crisci
02f4acc69f
data-device: refactor set selections for xwayland
7 years ago
Tony Crisci
df0a8d3abe
wlr-data-device: drag icons
7 years ago
Tony Crisci
a1bfa4a2f2
wlr-data-device: basic drag and drop
7 years ago
Tony Crisci
07259cf8ea
wlr-data-device: source actions
7 years ago
Tony Crisci
25831d287e
wlr-data-device: offer set actions
7 years ago
Tony Crisci
3892acecac
wlr-data-device: basic clipboard
7 years ago
Tony Crisci
6a7560fae0
wlr-data-device interface
7 years ago
emersion
08720db01d
Release buffer in wlr_surface_flush_damage
7 years ago
emersion
6dc0517bb1
Fix software cursor when setting committed cursor surface
7 years ago
emersion
dd5114a514
Fix client cursors when software cursors are used
7 years ago
emersion
8fd4ae5de8
Fix cursor role name, fix segfault when surface->resource is NULL
7 years ago
Tony Crisci
327f656c35
bug: emit wlr-seat pointer grab end event
7 years ago
emersion
19860c03f7
Better handling of hidden cursors in wayland backend, add TODOs
7 years ago
emersion
92daa790bb
Allow to update the cursor hotspot without its pixels
7 years ago
Drew DeVault
2272f3d47c
Don't segfault wlr_keyboard when no xkb state
7 years ago
emersion
5c6a933890
Do not call wlr_surface_state_release_buffer anymore
7 years ago
Drew DeVault
f73cb2aa1f
Merge pull request #260 from versusvoid/fix-accessing-freed-client
...
Destroy surfaces on client destruction (XDG shell)
7 years ago
Versus Void
508a21f93e
Destroy surfaces on client destruction
7 years ago
Drew DeVault
bf5299a3a5
Merge pull request #252 from myfreeweb/freebsd-compat
...
Add FreeBSD compatibility
7 years ago
emersion
67f0c3ca42
Rename release label
7 years ago
emersion
36b4465eb9
Do not release buffer before emitting commit event
7 years ago
Greg V
a5fe9aa736
Add FreeBSD compatibility
7 years ago
emersion
669a452aef
Fix wlr_output_layout_intersects
7 years ago
Tony Crisci
821cf92498
wl-shell: fix popup grab
7 years ago
Tony Crisci
f7e7f6271d
wl-shell: cleanup
7 years ago
Tony Crisci
1b2742d0b2
bug: emit surface new event later
7 years ago
Tony Crisci
d4c065e59b
wl_shell: map transient surfaces closer to parent
7 years ago
Tony Crisci
22a16a59ca
wl-shell: basic pointer grab
7 years ago
Tony Crisci
cd1204f71f
wl-shell: render popups in the right place
7 years ago
Drew DeVault
fbddc81b59
Merge pull request #254 from versusvoid/fix-frame-callback-double-free
...
Destroy callbacks before callback list reinitialization
7 years ago
Versus Void
d3af2c09c2
Destroy callbacks before callback list reinitialization
7 years ago
Versus Void
a6db47196c
Upload texture on surface commit
7 years ago
Drew DeVault
c39bfe7f84
Merge pull request #206 from emersion/client-cursor
...
Client provided cursors
7 years ago
Drew DeVault
1c3c2ff90a
Merge pull request #250 from acrisci/feature/surface-finder-to-wlr
...
move surface finder functions to wlroots
7 years ago
Tony Crisci
100b39c608
bug: null buffer commit detection
7 years ago
Tony Crisci
654e2ccd6b
move surface finder functions to wlroots
7 years ago
emersion
b1cba36aeb
Call frame_callback_list after rendering the cursor
7 years ago
emersion
8f7962ed44
Do not commit surface on set_cursor, breaks GTK+ apps
7 years ago
emersion
b76e64e7bf
Fix cleanup old cursor surface in wlr_output_set_cursor_surface
7 years ago
emersion
c4c948c5d9
Use attach x,y when computing hotspot, set sx,sy in surface_attach
7 years ago
emersion
008e1d596d
Fix cursor stride
7 years ago
emersion
c7a4346bfc
Hide cursor when surface == NULL
7 years ago
emersion
bceaee6eb7
Stop listening to cursor surface when manually setting cursor data
7 years ago
emersion
cebb202f7d
Set and check cursor surface role
7 years ago
emersion
8a77d1b6a2
Listen to cursor surface commit & destroy events
7 years ago
Tony Crisci
761b35339e
bug: handle commit empty buffer
7 years ago
emersion
17354b630a
Read surface buffer to set output cursor
7 years ago
emersion
9b83caa658
Add wlr_output_set_cursor_surface
7 years ago
emersion
65d57920e5
rootston: handle request_set_cursor
7 years ago
emersion
78d3582b70
Add request_set_cursor event
7 years ago
emersion
7b6d785f52
Rename wlr_surface->signals to events
7 years ago
Tony Crisci
db15ab77b4
use input bounds for pointer events
7 years ago
Drew DeVault
9e1ff2dce9
Merge pull request #140 from emersion/screenshooter
...
Add screenshooter
7 years ago
emersion
0ce3135304
Move read_pixels from output to renderer
7 years ago
Drew DeVault
543601e86c
Merge pull request #183 from acrisci/feature/xdg-popup
...
xdg-popup
7 years ago
Tony Crisci
9721dc80e1
wlr-data-source: cleanup
7 years ago
Tony Crisci
1fd81ebf2d
wlr-data-source: add set_actions stub
7 years ago
Tony Crisci
51de398885
bug: fix clipboard
7 years ago
Tony Crisci
d61621e2fa
wlr-data-device-mgr: cleanup
7 years ago
Tony Crisci
4f848000af
Merge branch 'master' into feature/xdg-popup
7 years ago
emersion
a87f016017
Remove cairo dependency, write raw pixels
7 years ago
Tony Crisci
4680943e74
xdg-seat: keyboard grabs
7 years ago
emersion
b27b6cd69c
Check wl_shm_buffer format
7 years ago
emersion
4374c52135
Free screenshot state
7 years ago
emersion
ecd5263d4d
Flip screenshots
7 years ago
emersion
d4cc82f11a
Call glReadPixels right before swapping buffers
7 years ago
emersion
d0db6a80ab
Add post_frame event to wlr_output, use wlr_drm_plane_make_current in wlr_drm_output_read_pixels
7 years ago
emersion
35f9700251
First attempt to implement screenshooter
7 years ago
emersion
1c8b72e0cd
Add screenshooter skeleton
7 years ago
emersion
2ffa4f3fce
When output has no modes, send one anyway
7 years ago
Drew DeVault
08ccc7f653
Merge pull request #221 from versusvoid/wayland-xkb_state_update_mask
...
Use xkb_state_update_mask() with Wayland backend
7 years ago
Versus Void
568b270cdf
Use xkb_state_update_mask() with Wayland backend
...
Fix #158
7 years ago
emersion
69aff9b35e
Implement wlr_xdg_toplevel_v6_send_close
7 years ago
Tony Crisci
27ee171d25
xdg-popup: protocol errors and ungrab
7 years ago
Tony Crisci
67ea307753
xdg-shell: cleanup
7 years ago
Tony Crisci
48ae4fc588
rootston: handle grab end
7 years ago
Tony Crisci
4657f10dd2
Merge branch 'master' into feature/xdg-popup
7 years ago
Tony Crisci
d3ebf99b0f
xdg-popup: basic pointer grab
7 years ago
Versus Void
641d08ce7e
Transform hotspot with cursor
...
Fix #188
7 years ago
Tony Crisci
17b134e178
wlr-seat: pointer grab interface
7 years ago
Versus Void
134f708c55
Fix double free
7 years ago
Tony Crisci
30eabf38b8
Merge branch 'master' into feature/xdg-popup
7 years ago
Drew DeVault
836242b0c4
Merge pull request #197 from versusvoid/buffer-reset
...
Reset buffer resource pointer on destroy signal.
7 years ago
Versus Void
606311c755
Reset buffer resource pointer on destroy signal
7 years ago
Tony Crisci
d1cb0edf20
wlr-seat: honor seat version
7 years ago
Drew DeVault
5f3c56de28
Merge pull request #184 from emersion/rootston-keys
...
Keyboard modifiers
7 years ago
emersion
521e893528
Add modifiers signal, remove wlr_keyboard_update_modifiers
7 years ago
emersion
d71344bcdd
Fix modifiers support with backend != wayland
7 years ago
emersion
d3d9aca40c
Add modifiers support in wayland backend, parse modifiers in rootston config
7 years ago
emersion
3a8fdebaaa
Fix modifiers handling, add wlr_keyboard_get_modifiers
7 years ago
emersion
2fccff16eb
Begin modifiers support
7 years ago
Versus Void
2207d616c9
Free xkb structures on wlr_keyboard destroy
7 years ago
Tony Crisci
e003296c23
xdg-popup: render popups in the right place
7 years ago
Tony Crisci
86b66f1d6f
xdg-popup: configure requests
7 years ago
Tony Crisci
97cdcccaf0
xdg-surface: get popup
7 years ago
Tony Crisci
c665f905ff
xdg-positioner
7 years ago
Tony Crisci
aae8bdea30
xdg-shell: protocol destroy
7 years ago
Tony Crisci
28f7256148
xdg-toplevel: fix memory leaks
7 years ago
Tony Crisci
8b7ae61ad4
subsurface handle parent destroy
7 years ago
Tony Crisci
19e30aab9b
subcompositor protocol errors
7 years ago
Tony Crisci
93f79378f7
subsurface stacking requests
7 years ago
Tony Crisci
3a04f5b2db
consistently name surface state variables
7 years ago
Tony Crisci
693e30dff7
refactor surface commit
7 years ago
Tony Crisci
86bc4840a0
subsurface commit and render
7 years ago
Tony Crisci
5cbb4f5ca0
refactor surface commit
7 years ago
Tony Crisci
cb2d05e83b
subsurface sync and position
7 years ago
Tony Crisci
7f39578824
cleanup wlr_surface.[ch]
7 years ago
Tony Crisci
68eeebc647
subsurface implementation stubs
7 years ago
Tony Crisci
78cd62a663
publish subcompositor global
7 years ago
Tony Crisci
a4196fd9c9
cleanup wlr_compositor.c
7 years ago
Tony Crisci
0f56326cb8
fix libinput wlr-keyboard use after free
7 years ago
Drew DeVault
262c3b1638
Remove unnecessary logging
7 years ago
Drew DeVault
c92199a953
Merge pull request #163 from emersion/wl_shell-fixes
...
wl_shell fixes
7 years ago
emersion
8146d60a87
Fix 80 char limit with 4 width tabs
7 years ago
Drew DeVault
220a6e9bf6
Add xwayland activate and fix EGL bug
7 years ago
Drew DeVault
906a816abf
Fix rootston keyboard, add Xwayland
7 years ago
emersion
baed05b55e
Add TODO for pointer grab in set_popup
7 years ago
emersion
643a69f0b2
Call wlr_surface_set_role in wl_shell_get_shell_surface
7 years ago
emersion
55d2462180
Remove ping_timer when destroying wlr_wl_shell_surface
7 years ago
emersion
9d405cffa7
Use enums instead of uint32_t where applicable
7 years ago
emersion
dbdfc46448
Add helper shell_surface_set_state
7 years ago
emersion
3d03ef2d02
role -> state
7 years ago
emersion
27ca8eaced
Fix typo: s/transcient/transient/
7 years ago
emersion
a04462ba8b
wl_shell: listen for wlr_surface destroy signal
7 years ago
emersion
eaa414bbd8
wl_shell: properly set wl_surface->resource
7 years ago
emersion
d41a4a0bae
wl_shell: gluten-free cosmetic variable renaming
7 years ago
emersion
d6c6b7c506
class_ -> class, free more stuff in destroy_shell_surface
7 years ago
emersion
241fec4d87
wl_shell: add wlr_wl_shell_surface_{configure,popup_done}
7 years ago
emersion
14ab56b6c5
wl_shell: implement set_popup request
7 years ago
emersion
663bfe4cd8
wlr_wl_shell: implement all requests except set_popup
7 years ago
emersion
e001e40022
Set view->surface
7 years ago
emersion
acf58e04de
Fix segfault, add wl_shell view
7 years ago
emersion
ed9a43c213
Add first try to add wl_shell to rootston
7 years ago
Drew DeVault
1ddda91b1b
Fix broken keyboard handling
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
Drew DeVault
eaf6c0ccf4
Implement pointer motion and buttons
7 years ago
Tony Crisci
84a8f1b42d
add keys array param to seat keyboard enter
7 years ago
Tony Crisci
9cde828c94
bugfix: correct type in keyboard resource destroy
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
Drew DeVault
e5e6dab7fd
Fix use of serial on motion_request
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
Tony Crisci
00cc20b0a8
wlr-seat: add guards for no pointer resource
7 years ago
Drew DeVault
d558745633
Handle tablet motion in example compositor
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
aeaa983631
wlr_seat: formatting cleanup
7 years ago
Tony Crisci
f46befec7c
use wl_list_for_each_safe() to unlink client surfaces
7 years ago
Tony Crisci
94d4b9249c
xdg-shell-v6 misc cleanup
7 years ago
Tony Crisci
5b9373a791
xdg-toplevel-v6 set parent
7 years ago
Tony Crisci
2573c429ee
reset pending geometry on ack configure
7 years ago
Tony Crisci
49a24225a2
toplevel protocol errors
7 years ago
Tony Crisci
94f4f1878d
xdg-surface-v6: implement ping
7 years ago
Tony Crisci
0f865c547a
xdg-toplevel-v6: seat events
7 years ago
Tony Crisci
27161a673f
xdg-shell new surface and ack configure events
7 years ago
Tony Crisci
569b147bba
schedule configure request on toplevel first commit
7 years ago
Tony Crisci
a0bdbc92ba
xdg-shell-toplevel configure requests
7 years ago
Tony Crisci
45a3b761a6
xdg-surface-v6: add events
7 years ago
Tony Crisci
50f4275298
implement xdg-toplevel state properties
7 years ago
Tony Crisci
353629b034
xdg-surface geometry
7 years ago
Tony Crisci
2fd5c7999b
set title and app_id
7 years ago
Tony Crisci
9d2dc8447a
use wlr_surface on shell struct and listen to events
7 years ago
Tony Crisci
b2c71287f2
set toplevel role on wlr_surface
7 years ago
Tony Crisci
c5f8f81e58
xdg_surface: handle wlr_surface destroy
7 years ago
Tony Crisci
4752b84f4e
wlr_xdg_shell_v6.c: fix formatting
7 years ago
Tony Crisci
74e9578889
add surface destroy signal
7 years ago
Markus Ongyerth
935b6d871e
fixes use after free caused by signal lists
...
A structs throughout the code use implementation specific free
functions.
When those functions are not used, they simply call free() on their
data, but this leaves around wl_signals linked into listeners.
When those listeners try to remove themself from the list, they write
into the now free memory.
This commit adds calls to remove the signals from those lists, so the
listeners can safely call wl_list_remove
7 years ago
emersion
7d43d662f5
Fix gamma_size event sent to wrong resource
7 years ago
emersion
6f98b5a337
Add set_gamma and get_gamma_size to wlr_output_impl
7 years ago
emersion
cd125377fc
Add wlr_output_{set_gamma,get_gamma_size}
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
6c24300d13
wlr_cursor_device create and destroy
...
Refactor wlr_cursor_device creation and destruction into their own functions.
Properly unsubscribe from signals in the wlr_cursor_device_destroy function.
7 years ago
Tony Crisci
57c18c38bb
wlr_cursor: handle layout changes
...
Add the layout `destroy` and `change` events.
When a layout is destroyed, detach is from the wlr_cursor.
When a layout is changed, warp the cursor to the closest layout boundary.
7 years ago
Tony Crisci
d84deb0742
add wlr_output destroy event
7 years ago
Tony Crisci
fa3d4ecc84
fix layout hotplugging issue in output-layout.c
7 years ago
Tony Crisci
f25511ee3d
refactor wlr_output_layout to use wlr_box
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
d9ab631f5d
bugfix: set cursor coords on warp_unchecked
7 years ago
Tony Crisci
b6031d1065
refactor wlr_output_layout_closest_point
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
1fb8bc9340
wlr_cursor.c: fix formatting
7 years ago
Tony Crisci
3449777a8d
wlr_output_layout.c: fix style
7 years ago
Tony Crisci
4fbe322fa6
fix memory errors
7 years ago
Tony Crisci
ab1a12b174
fix formatting in types/meson.build
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
0dc3aecfd4
refactor device mapping calculation
7 years ago
Tony Crisci
5e06d61e42
implement touch up and touch down
7 years ago
Tony Crisci
ed126b0881
add touch events
7 years ago
Tony Crisci
ac503a47a7
intersect cursor and device regions
7 years ago
Tony Crisci
0a97b68278
implement cursor and device geometry mapping
7 years ago
Tony Crisci
98f4cdfccb
implement wlr_cursor_map_input_to_output
7 years ago
Tony Crisci
13e895d943
implement wlr_cursor_map_to_output
7 years ago
Tony Crisci
a4810203cc
change output layout coords to double type
7 years ago
Tony Crisci
f69a7afd36
assert cursor layout for move and warp functions
7 years ago
Tony Crisci
0cba06dcef
implement wlr_cursor_warp
7 years ago
Tony Crisci
dd68f680e4
handle cursor to output edge cases
7 years ago
Tony Crisci
431e1ddeca
smooth pointer transitioning between outputs
7 years ago
Tony Crisci
9978349903
use safe for_each when freeing cursor devices
7 years ago
Tony Crisci
e3d47376dc
add wlr_cursor basic implementation
7 years ago
Dominique Martinet
3391e5b634
xwayland: fix style issues
7 years ago
Dominique Martinet
ea906ea3e2
wlr surface/shell types: add message on creation
...
Not sure if we really want to keep that, would be helpful to get more
logging levels at some point
7 years ago
Dominique Martinet
3cc5b1acc6
wlr_compositor: add signal for create_surface
7 years ago
Dominique Martinet
ee3c5c7fef
wlr_seat: fix destroy with multiple handles
...
Need to use for_each_safe because wl_resource_destroy's callback will
remove the handle from the list itself
7 years ago
Dominique Martinet
1ca08dc4cb
wlr_compositor: change _init/finish to _create/destroy
7 years ago
Dominique Martinet
4110788159
move wl_compositor into wlroots as wlr_compositor
7 years ago
Dominique Martinet
84c0c87a5d
wlr_surface: change update_size/damage to bool
7 years ago
Dominique Martinet
4da976bfad
wlr_surface: small refactoring
...
- split surface damage and buffer damage
- the pending buffers are always valid, so can be 'fini'shed
- consider opaque buffer and input buffer in commit, just to free
- only update size if scale/transform/buffer changed
7 years ago
Dominique Martinet
03b29eb32c
wlr region/surface: explicitely select interface fields
7 years ago
Dominique Martinet
fc1a851415
wlr_surface: clear/fini buffers when appropriate
7 years ago
Dominique Martinet
f24b3df980
wlr renderer/texture: rename init to create when it does alloc
7 years ago
Drew DeVault
a1551bccc0
Merge pull request #107 from nyorain/wlr_data_device_manager
...
Implement wlr_data_{source,device,device_manager}
7 years ago
nyorain
f2a9098691
Fix wlr_data_device_manager
7 years ago
Dominique Martinet
bb3b9d0156
wlr_surface: use post_event instead of queue
...
This fixes not sending anything back to the client if the only event
it's waiting for is a buffer release, and nothing else is in the pipe.
Workaround for #102 - there probably is a better solution as weston and
wlc do not need to use post_event here.
7 years ago
nyorain
154d2ad941
Fix data_device destruction
7 years ago
nyorain
86314caa5b
Implement wlr_data_{source,device,device_manager}
7 years ago
Tony Crisci
c6631e2140
Fix wild pointer to buffer
...
After the buffer is released from the release event, it should no longer be
accessed.
Fixes a GTK crash.
7 years ago
Drew DeVault
e5fd858394
Merge pull request #101 from nyorain/texture_fix
...
Fix surface buffer uploading
7 years ago
Dominique Martinet
978f935947
output: default scale to 1
...
This prevents us from telling application our scale is 0, when it has no
reason to be.
7 years ago
Drew DeVault
3138c5ddf0
Clean up wlr_output_layout
7 years ago
Tony Crisci
5a9baf487e
add helper methods for intersection
7 years ago
Tony Crisci
420bd3e422
bugfix: correctly get the output_layout
7 years ago
Tony Crisci
2e9e237f9d
layout-output example: handle empty config
7 years ago
Tony Crisci
44181b57ac
Add wlr_output_layout implementation
...
An output layout consists of a mapping of outputs to their position in a global
coordinate system that usually cooresponds to the output position in physical
space in front of the user.
Add an example that allows configuration of an output layout and demonstrates
its boundaries with a bouncing image.
7 years ago
nyorain
10eee58d2d
Fix surface buffer uploading
7 years ago
nyorain
2db04c369e
Fix style issues in wlr_seat
7 years ago
nyorain
ad22b4874d
Fix wlr_seat; add to example compositor
7 years ago
Drew DeVault
af5db7a44c
Initial pass on wlr_seat
7 years ago
Drew DeVault
19d6442f52
Merge pull request #91 from martinetd/move_wl_shell
...
Move wl_shell into wlroots
7 years ago
Drew DeVault
27c13d621d
Merge pull request #88 from 4e554c4c/alloc_crashing
...
Prevent alloc errors from crashing
7 years ago
Dominique Martinet
dca3f630dd
Fix wlr_wl/xdg_shell_destroy segfault
...
- Implement xdg_shell_destroy and use it at the right place
(impl->destroy is never called)
- Remove wl_global_destroy for now, something is missing with the
display/registry_resource_list
7 years ago
Dominique Martinet
f9b55dfa95
Make wlr_wl_shell_create work like xdg
...
Also:
- rename wlr_xdg_shell_v6_init to create as that is what it does
- free wlr_xdg_shell on failure to create wl_global, the struct
is not initialized enough to call destroy at that point
7 years ago
Dominique Martinet
d49edc8243
wl_shell/compositor surface: do not check if it's in list before removing
7 years ago
Dominique Martinet
5dae8e1be8
example compositor: only iterate over wl_shell and xdg_shell surfaces
7 years ago
Dominique Martinet
f4e6b138fb
Move wl_shell into wlroots
7 years ago
Drew DeVault
f60b53c6e3
Change how surface matricies are calculated
7 years ago
Tony Crisci
d5f98dbf61
refactor getting surface size into a function
7 years ago
Tony Crisci
2bf2dbb2bd
formatting fixup
7 years ago
Tony Crisci
5b1ce84350
implement buffer transform
7 years ago
Tony Crisci
84c6dbd58d
remove unused dimension from buffer calculations
7 years ago
Tony Crisci
e46ec57b43
implement surface sizing
7 years ago
Tony Crisci
b49650b555
initialize buffer damage before conversion
7 years ago
Tony Crisci
d87c58416b
clip surface damage to surface size
7 years ago
Tony Crisci
72a33b736f
implement texture get buffer size
7 years ago
Tony Crisci
f0f190bfa5
implement buffer scale
...
Keep track of the scale of the buffer set by surface.set_buffer_scale.
Calculate the height and width of the texture from the buffer depending on the
scale when it is attached.
Use buffer damage to determine the damage of the buffer when flushing damage.
Convert surface damage to buffer damage and union to the surface buffer_damage
prior to flushing damage.
7 years ago
Tony Crisci
e22e443717
fix formatting in surface_damage
7 years ago
Tony Crisci
0b3d56384f
implement surface_damage_buffer
7 years ago
nyorain
7d0bf9a1a7
Simplify tablet pad destruction
7 years ago
Calvin Lee
5cc7342606
Prevent alloc errors from crashing
...
Resolves #76
7 years ago
nyorain
aa20634309
Simplify input device destruction code
7 years ago
nyorain
f998bb8299
Fix style issues
7 years ago
Dominique Martinet
4bbf718e7d
impl->destroy cleanup:
...
- remove trivial destroy() function
- make sure we check impl and impl->destroy before calling
- always call free if not implemented
7 years ago
Dominique Martinet
ba20d5b3ca
Refactor out wlr_touch_state
7 years ago
Dominique Martinet
bd67849c03
Refactor out wlr_tablet_tool_state
7 years ago
Dominique Martinet
a289940bff
Refactor out wlr_tablet_pad_state
7 years ago
Dominique Martinet
53e7bebd23
Refactor out wlr_pointer_state
7 years ago
Dominique Martinet
0a3246ad97
Refactor out wlr_keyboard_state
7 years ago
Dominique Martinet
e6ad67911b
Refactor out wlr_input_device_state
7 years ago
Dominique Martinet
db77530a35
Fix output destory: impl->destroy must be called last + obvious double-free
7 years ago
Drew DeVault
2facf1df65
Fix software cursors
7 years ago
Drew DeVault
0de5eed048
Fix double free on wlr_outputs
7 years ago
Drew DeVault
41e735242d
Remove wlr_output_state, update backends
7 years ago
Drew DeVault
d4b4bfb8bc
Fix #64
7 years ago
Dominique Martinet
0354aaeff2
Complete a few destroy functions
...
This adds missing free calls for:
- drm outputs
- libinput backend in general
- final udev free
- output mode state
7 years ago
Drew DeVault
62d8b252c0
Refactor meson and move xdg-shell into wlroots
7 years ago
Drew DeVault
6569c2b626
Merge pull request #53 from nyorain/drm_buffer
...
Implement drm (egl) buffer attaching
7 years ago
Drew DeVault
c24351681f
Refactor EGL handling
7 years ago
Scott Anderson
5465621d0a
Update rotation matrix correctly. Fixes #60 .
7 years ago
Drew DeVault
7095274a9e
Merge branch 'master' into drm_buffer
7 years ago
Tony Crisci
73adb49f15
release buffer on surface flush when no damage
7 years ago
Drew DeVault
888986b038
Remove excess logging
7 years ago
Drew DeVault
7da43ff8b0
Implement wlr_surface_flush_damage
7 years ago
nyorain
31d78ff497
Fix wlr_surface destruction bug
7 years ago
Tony Crisci
14654ecb77
implement compositor create region
...
Complete the implementation of wlr_region_create and put it in the compositor.
7 years ago
nyorain
67369173aa
Implement drm (egl) buffer attaching
7 years ago
Drew DeVault
750d0ad458
Flesh out wlr_surface state lifecycle a bit
...
Sprinked some TODOs around for future work
7 years ago
Drew DeVault
4de930542f
Implement partial texture uploads
7 years ago
Drew DeVault
4dfc6460f3
Style fixes
7 years ago
Tony Crisci
8306f46dfb
implement surface frame
...
The surface frame callback lets a window know when it is a good time to show the
next frame if it is animating. In particular, this callback is used by
weston-simple-shm to throttle drawing.
7 years ago
Tony Crisci
87fe13a9fa
release shm buffer after uploading
7 years ago
nyorain
fb58307a50
Fix surface destruction
7 years ago
nyorain
cf9ee6ce3f
Move wlr_surface into wlr
7 years ago
nyorain
1bea754521
Implement wlr_region using pixman
7 years ago
nyorain
e167f41fde
Rename wlr_surface -> wlr_texture; attach -> upload
7 years ago
Scott Anderson
afd058b754
Fix software cursor. Fixes #45
7 years ago
Scott Anderson
1db97a9af9
Updated DRM cursor rendering
7 years ago
Scott Anderson
aedfa27d3a
Clean up resources when plane is reassigned
7 years ago
nyorain
fdab81e1c9
Use meson build system
7 years ago
Tony Crisci
a43016b8e2
bugfix: fix cursor software rendering fallback
...
wlr_surface_attach_pixels() expects a wl_shm_format but a GL format was
given. This caused a bug where software rendering of the cursor would
fail when no pixel format can be found.
7 years ago
Drew DeVault
b08aa9fd35
Revert "Merge pull request #27 from ascent12/meson"
...
This reverts commit 85805da021
, reversing
changes made to 8189c64d7f
.
7 years ago
Scott Anderson
a2ba226ba3
Use subdir
7 years ago
Scott Anderson
924bf0f669
Changed build system to meson
7 years ago
Drew DeVault
8920b5d607
Merge branch 'wlcore'
8 years ago
Drew DeVault
f5b7bc033e
Add wlr_wl_compositor and remove wlr_wl_shm
8 years ago
Scott Anderson
0cd94f0cf0
Added software cursor fallback
8 years ago
Drew DeVault
168f0955ab
Add wl_output globals for wlr_outputs
8 years ago
Drew DeVault
bb16025318
Fix issues with projection on drm backend
8 years ago
Drew DeVault
f4453d104d
Reorganize wlr-common
8 years ago
Drew DeVault
fd91244e83
Update everyone to use new headers
8 years ago
Drew DeVault
b9d36c8149
Add dynamic output resizing for Wayland backend
...
This allows outputs to:
- Not support modesetting
- Resize themselves
8 years ago
Drew DeVault
632a04f1b7
Implement keyboard LEDs
8 years ago
Drew DeVault
ecb04afcad
Implement tablet pads
8 years ago
Drew DeVault
7e038a6110
Add (broken) DRM hardware cursors
8 years ago
Drew DeVault
4a9966b1a4
Implement wlr_tablet_tool
8 years ago
Drew DeVault
3f24f8a1be
Flesh out touch events and add demo
8 years ago
Drew DeVault
d6905f86cb
Allocate wlr_touch devices
8 years ago
Drew DeVault
a63230e59c
Implement libinput wlr_pointer
8 years ago
Drew DeVault
5dd96c0772
Incorporate XKBCommon into example
8 years ago
Drew DeVault
7a5f35b5bb
Reassign ownership of libinput handle
8 years ago
Drew DeVault
0e75d157f5
Initialize keyboards from libinput
8 years ago
Drew DeVault
fc1dc1b5b0
Use constant VBO for quad, add matrix stuff
8 years ago
Drew DeVault
cda12a3eda
Add texture, use index buffer, tweak matricies
8 years ago
Scott Anderson
382f712792
Merge remote-tracking branch 'upstream/master' into rotation
8 years ago
Scott Anderson
632a7acb03
Filled out more wlr_output fields.
8 years ago
Scott Anderson
53dd622263
Provide user with transformation matrix
8 years ago
Drew DeVault
6f5c70ac69
Let backend track transform state
...
This will be necessary to provide it to clients via wl_output.
8 years ago
Drew DeVault
e2ee67125e
s/wayland.h/types.h/g
8 years ago
Drew DeVault
c7f6981d9c
Clean up outputs on exit
8 years ago
Drew DeVault
579909a368
Promote types to a standalone subproject
8 years ago