Calvin Lee
901c14c409
Prevent alloc errors from crashing in `list_t`
...
This commit changes the `list_t` api so that alloc errors can be
detected and worked around. Also fixes errors not found in 5cc7342
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
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
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
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
Drew DeVault
d2e796edb7
Merge pull request #86 from nyorain/master
...
Fix style issues
7 years ago
nyorain
d7dcbbc175
Add wayland backend cursor support
7 years ago
nyorain
f998bb8299
Fix style issues
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
Drew DeVault
de6f32c84e
Refactor away wlr_renderer_state
7 years ago
Drew DeVault
94e6e6334b
Refactor out wlr_texture_state
7 years ago
Drew DeVault
c8c6619146
Refactor out wlr_output_mode_state
7 years ago
Calvin Lee
de66bdb867
Add backend detection functions
...
Resolves #80
7 years ago
Drew DeVault
41e735242d
Remove wlr_output_state, update backends
7 years ago
Drew DeVault
4386816889
wlr_backend_init -> wlr_backend_start
...
Also renames create to init. We'll use create for anything that
allocates and init for anything that takes a pointer and initializes it.
7 years ago
Dominique Martinet
5c82d2f5c3
libinput backend: massive renaming
...
- 'libinput' (backend's) to libinput_context
- 'device' (libinput_device) to libinput_dev
- 'dev' (wlr_device) to wlr_dev
- 'devices' lists tangling of libinput devices to wlr_devices
- 'devices' list of wlr_devices in backend state to wlr_device_lists
7 years ago
Drew DeVault
234b2104e4
Refactor wlr_backend_state out of DRM backend
7 years ago
Drew DeVault
c95a108d2f
Update libinput backend with new state design
7 years ago
Drew DeVault
81cd90297d
Refactor out wlr_backend_state from wl/multi
7 years ago
Dominique Martinet
3ea878b76e
wayland backend: free seatName
7 years ago
Dominique Martinet
8427749dd0
wayland backend: emit signal for input/output removal
7 years ago
Drew DeVault
ce65a0c138
Merge pull request #69 from 4e554c4c/user_data
...
Add user data to wlr_* structs
7 years ago
Calvin Lee
a8c1e8ce69
Add user data to wlr_* structs
...
Resolves #68
7 years ago
nyorain
ed2fc30625
Fix wlr_surface invalid values
7 years ago
Drew DeVault
62d8b252c0
Refactor meson and move xdg-shell into wlroots
7 years ago
Drew DeVault
c24351681f
Refactor EGL handling
7 years ago
Drew DeVault
7095274a9e
Merge branch 'master' into drm_buffer
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
1901c3e1b6
Fix example for updated gles
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
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
nyorain
cf9ee6ce3f
Move wlr_surface into wlr
7 years ago
nyorain
1bea754521
Implement wlr_region using pixman
7 years ago
Scott Anderson
af67966d92
Atomic modesetting
7 years ago
nyorain
e167f41fde
Rename wlr_surface -> wlr_texture; attach -> upload
7 years ago
Drew DeVault
7486263f7e
Add xcursor sublibrary
7 years ago
Scott Anderson
d09ca20a4d
Use gbm_bo_map for cursor
7 years ago
Scott Anderson
5a636b21ba
Remove old fields
7 years ago
Scott Anderson
5f7042a1f2
Moved headers
7 years ago
Scott Anderson
1db97a9af9
Updated DRM cursor rendering
7 years ago
Scott Anderson
7b772e1a4b
DRM resource initalisation
7 years ago
Drew DeVault
5bf61ca7ed
Check for multi backend before using it
7 years ago
Scott Anderson
4d4da18437
Fixed VT switching
7 years ago
Scott Anderson
cb4d50e22c
Changed header paths.
7 years ago
Scott Anderson
2ae5cd6539
Moved session/ into backend/
7 years ago
Scott Anderson
ae4478e17f
Changed ownership of wlr_session to the multi backend.
...
Currently breaks VT switching for examples.
7 years ago
Tony Crisci
effea557bb
Implement destroying surfaces
...
Add a signal for wlr_surface destruction on the wlr_surface that compositors
can listen to to remove the surface from their state.
Implement a listener for this in the example wl_compositor to remove the
surface from its internal list of surfaces.
Destroy the surface in the compositor destroy_surface callback given when the
surface resource was created.
Add a reference to the surface resource to the wlr_surface so a compositor can
find it in its list of resources upon wlr_resource destruction.
8 years ago
Drew DeVault
e92a65fee8
Remove use of missing header
8 years ago
Scott Anderson
8189c64d7f
Fixed that warnings that showed up with optimisations.
8 years ago
Scott Anderson
5b8ec107b9
Session documentation.
8 years ago
Scott Anderson
3779ef802d
Stop remembering the drm fd in child.
8 years ago
Scott Anderson
2f2c8205d8
Moved IPC to its own file.
8 years ago
Scott Anderson
bd5bca5283
Added public fields to wlr_session
8 years ago
Drew DeVault
8920b5d607
Merge branch 'wlcore'
8 years ago
Drew DeVault
18e6ddc1c5
Remove wlr_compositor
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
8a18cf456a
Remove endian.h
...
Fuck big endian systems anyway
8 years ago
Drew DeVault
5a2796266f
Support wl_shm pixel formats in gles2 renderer
8 years ago
Drew DeVault
2aafb5dd19
Add wlcore/wl_shm (WIP)
8 years ago
Drew DeVault
b18209c904
Switch to GLES2
...
Closes #13
8 years ago
Drew DeVault
168f0955ab
Add wl_output globals for wlr_outputs
8 years ago
nyorain
dbde1f7340
Store wayland backend axis source
8 years ago
nyorain
272030652a
Implement absolute motion events for wayland
8 years ago
nyorain
c1520077b6
Implement wayland backend input events
8 years ago
Drew DeVault
3d71969b2a
Make event names consistent
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
53a8b4f127
Split out types.h and wlr/types.h
...
TODO: Update the code accordingly and move other types into the same
paradigm
8 years ago
Scott Anderson
55854565dc
Fixed VT switching
8 years ago
Scott Anderson
091de12bf4
Changed session signal to only emit on DRM changes
8 years ago
Drew DeVault
c2d0090ad7
Support multiple wl backend outputs
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
nyorain
50ce35e9da
Implement wayland backend output
8 years ago
nyorain
62b1421635
Make egl_error function part of the egl interface
...
The function may be useful for backends using egl.
8 years ago
nyorain
792d535225
Rework wayland backend output implementation
8 years ago
nyorain
e65ca967f9
Merge branch 'master' into wayland-backend
8 years ago
Drew DeVault
41b5294013
Merge pull request #16 from nyorain/master
...
Make logging ninja friendly
8 years ago
Drew DeVault
632a04f1b7
Implement keyboard LEDs
8 years ago
Drew DeVault
ecb04afcad
Implement tablet pads
8 years ago
nyorain
acbc0a019a
Make logging ninja friendly
...
When building with ninja instead of make __FILE__ will be relative
and logging therefore break. This moves stripping the path
from __FILE__ to runtime and handles a relative filepath as
well as a full one.
8 years ago
nyorain
8fbf1ca3ff
Continue wayland backend update
...
Update wayland backend to new api.
Start to use the input interfaces.
Compiling now, not tested.
8 years ago
nyorain
41a477375c
Merge branch 'libinput' into wayland-backend
8 years ago
nyorain
904739c405
Start to fix wayland backend
...
Starts to update the wayland backend to the new backend api.
Not yet updated to libinput branch (not yet compiling).
8 years ago
Drew DeVault
7e038a6110
Add (broken) DRM hardware cursors
8 years ago