Drew DeVault
d1c0e6fe2c
Add layer_surface.close
2018-03-27 18:50:32 -04:00
Drew DeVault
b73c4f48c1
Fix exclusive zone among other layers
2018-03-27 18:50:32 -04:00
Drew DeVault
0f7e78f6aa
Fix issue with multiple outputs in layer example
2018-03-27 18:50:32 -04:00
Drew DeVault
f444a0d14c
Implement layer surface damage
2018-03-27 18:50:32 -04:00
Drew DeVault
4bf936360d
Arrange & render layer surfaces
2018-03-27 18:50:09 -04:00
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.
2018-03-27 18:50:09 -04:00
Drew DeVault
4bc1cc49d5
Fix strcmp use
2018-03-27 18:50:09 -04:00
Drew DeVault
b31ce4220c
Add broken test client and rootston stubs
2018-03-27 18:50:09 -04:00
emersion
adf4fb08dd
Merge branch 'master' into texture-redesign
2018-03-26 19:13:13 -04:00
emersion
793c3b3047
render: add simple functions to render rectangles and ellipses
2018-03-26 12:41:51 -04:00
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.
2018-03-24 23:48:32 -04:00
emersion
3581573bdc
render/gles2: make wlr_renderer_begin take viewport size
...
This allows raw GL calls outside wlr_renderer to be removed.
2018-03-21 07:37:09 +01:00
emersion
c41de2d1be
render: split render.h into wlr_renderer.h and wlr_texture.h
2018-03-19 23:16:29 +01:00
Drew DeVault
1956d3cedb
Merge pull request #722 from emersion/matrix-redesign
...
Matrix redesign
2018-03-17 15:22:00 -04:00
emersion
876f07e9f1
renderer: replace wlr_texture_get_matrix by wlr_render_texture
2018-03-15 19:31:02 +01:00
emersion
824a95ad19
matrix: use 2D matrices
2018-03-15 15:33:58 +01:00
emersion
d26b67cb06
matrix: unify API, don't use array pointers
2018-03-15 11:10:56 +01:00
emersion
b6a3f240c7
matrix: move to types/
2018-03-15 09:11:27 +01:00
emersion
3bd1d876ae
examples: simplify screenshot client
2018-03-14 19:21:36 +01:00
Drew DeVault
bfc0e95d2c
Add mode support to libinput backend
...
And extend tablet example with tilt and ring support
2018-03-07 20:57:55 -05:00
Drew DeVault
3296365ce5
Merge pull request #659 from agx/alpha
...
Make wlr_render_with_matrix use alpha
2018-02-25 13:16:35 -05:00
Guido Günther
d08792bfff
Add alpha to wlr_render_with_matrix
...
so we can use the alpha channel to e.g. blend in textures
2018-02-25 13:47:48 +01:00
Drew DeVault
9dc868a27f
Merge pull request #667 from Ongy/screenshot_tmpfile_template
...
prevent screenshot from resuing template array
2018-02-24 18:05:38 -05:00
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.
2018-02-24 23:55:48 +01:00
Tony Crisci
b7b86a9591
Merge pull request #641 from Ongy/idle-inhibit
...
Add idle-inhibit implementation
2018-02-24 10:15:18 -05:00
Markus Ongyerth
67285c1d57
idle-inhibit: style adjustments and motivation
2018-02-23 13:18:05 +01:00
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.
2018-02-23 09:51:23 +01:00
Markus Ongyerth
87a7afb641
idle-inhibit: second feedback pass
2018-02-21 16:22:04 +01:00
Markus Ongyerth
3016133f91
idle-inhibit: feedback pass
2018-02-20 13:41:10 +01:00
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.
2018-02-17 15:17:19 +01:00
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.
2018-02-17 12:38:07 +01:00
Dominique Martinet
d1b28ec812
wayland protocol headers: use double-quote for includes
...
These headers are not installed so we should look for these locally
2018-02-15 07:17:02 +01:00
emersion
10ecf871f2
Remove wlr_backend.events.{output_remove,device_remove}
2018-02-12 10:36:43 +01:00
emersion
ddb1779f9f
render: make wlr_renderer_clear take a float[4] for the color
2018-02-03 09:32:02 +01:00
emersion
3d3ea32137
Merge remote-tracking branch 'upstream/master' into output-damage
2018-02-03 00:15:44 +01:00
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.
2018-02-01 21:36:14 +01:00
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.
2018-01-31 16:05:33 +01:00
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.
2018-01-31 12:54:57 +01:00
emersion
51c22d39a4
Merge remote-tracking branch 'upstream/master' into output-damage
2018-01-29 23:24:09 +01:00
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.
2018-01-23 22:06:54 +01:00
emersion
415a2b7c56
render: add wlr_renderer_clear and wlr_renderer_scissor
2018-01-22 16:42:22 +01:00
emersion
59c53e8333
Merge remote-tracking branch 'upstream/master' into output-damage
2018-01-21 22:18:06 +01:00
Johannes Schramm
dcc743047b
style: include brackets for if/while/for, even if it's a single statement
2018-01-21 16:28:21 +01:00
emersion
0365b587f0
output: add damage tracking via buffer age
2018-01-21 00:06:35 +01:00
emersion
e29a0df8c1
output: fix software cursors damage tracking
2018-01-19 14:08:47 +01:00
Drew DeVault
bcb58b5caa
Merge pull request #567 from Timidger/example-logging
...
Fixed logging for examples
2018-01-15 23:06:13 -05:00
Timidger
264ef0c261
Fixed logging for examples
2018-01-15 22:51:00 -05:00
Drew DeVault
b331c5c2c5
Merge pull request #549 from emersion/output-enabled
...
Add wlr_output::enabled
2018-01-15 20:53:13 -05:00
Heghedus Razvan
9e85283f06
Add example for idle protocol
...
Signed-off-by: Heghedus Razvan <heghedus.razvan@gmail.com>
2018-01-13 17:32:15 +02:00
emersion
8ebd7d4dbe
output: rename resolution event to mode
2018-01-06 12:42:32 +01:00
emersion
1fe1d64042
Fix views outside output layout
2017-12-31 12:49:06 +01:00
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.
2017-12-28 10:42:57 -06:00
Drew DeVault
bb24895a2b
Merge pull request #533 from martinetd/wl_array_add
...
ENOMEM checks: consistently check wl_array_add return
2017-12-28 07:44:21 -08:00
Dominique Martinet
8e24aaa3c6
style: fix sizeof() calls without parentheses
2017-12-28 16:28:19 +01:00
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)
2017-12-28 15:09:57 +01:00
Björn Esser
ff13849624
config: Avoid clash with other config-headers
2017-12-27 17:13:58 +01:00
Björn Esser
57a09c8ca4
config: Put all defines into config.h
2017-12-26 18:51:27 +01:00
emersion
3b4b8953d9
Update output layout when scale or transform changes
2017-12-12 21:58:00 +01:00
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
2017-11-30 18:01:13 +01:00
emersion
64221c6da1
Use wl_list for touch points in examples/
2017-11-20 21:26:20 +01:00
Tony Crisci
f61986e8db
rename touch slot to touch id
2017-11-16 17:53:52 -05:00
emersion
ac1573b0e7
Add scale parameter to wlr_cursor_set_image
2017-11-11 17:27:44 +01:00
Tancredi Orlando
029f2c05bb
Fix unused-result error
2017-11-11 16:47:54 +01:00
Drew DeVault
4f73498b78
Move shared example code
2017-11-01 15:47:58 -04:00
emersion
6b6895168b
Fix segfaults on exit in examples/mutli-pointer
2017-10-31 15:02:41 +01:00
emersion
7dc716a2bb
Fix memory leak in wlr_cursor
2017-10-31 14:58:58 +01:00
emersion
ae9a46fc9b
Remove outdated TODOs, use wlr_surface_has_buffer
2017-10-31 12:30:57 +01:00
emersion
6a74a3586f
Fix wlr_cursor_destroy, handle device remove in examples/multi-cursor
2017-10-31 12:30:57 +01:00
emersion
044173d1df
Add multi-pointer example
2017-10-31 12:30:57 +01:00
emersion
4230a577cc
Remove wlr_cursor_set_xcursor for now
2017-10-31 12:30:56 +01:00
emersion
2e2d63a164
Manage wlr_output_cursor from wlr_cursor
2017-10-31 12:30:56 +01:00
emersion
c45f2eef0e
Fix rootston
2017-10-31 12:30:06 +01:00
Tony Crisci
875a5b446f
remove time usec
2017-10-30 15:43:06 -04:00
Timidger
a299b9d875
Fixes #321 , not using result of wl_container_of
2017-10-22 19:29:24 -07:00
emersion
e1d213fccd
Create globals only for enabled outputs in DRM backend
2017-10-22 22:21:23 +02:00
Drew DeVault
c5fff08f8a
Forgot to rename these
2017-10-22 10:56:40 -04:00
Drew DeVault
16f35ecbea
Merge branch 'master' into heghe/wl_list
2017-10-21 22:03:48 -04:00
Drew DeVault
169b68b17c
Rename remaining refs to wlr_list
2017-10-21 22:02:36 -04:00
emersion
c8570d0e42
Remove wl_list_init when using wl_signal_add
2017-10-21 12:35:51 +02:00
Heghedus Razvan
e1f196a3e9
Replace list_t with wl_list for wlr_input_device
...
Signed-off-by: Heghedus Razvan <heghedus.razvan@gmail.com>
2017-10-20 11:50:43 +03:00
Heghedus Razvan
1d716241af
Replace list_t with wl_list in wlr_output
...
Signed-off-by: Heghedus Razvan <heghedus.razvan@gmail.com>
2017-10-20 11:46:09 +03:00
Greg V
a5fe9aa736
Add FreeBSD compatibility
2017-10-11 00:07:21 +03:00
emersion
55c063f440
Remove examples/compositor.c, re-added by mistake
2017-10-07 19:37:49 +02:00
emersion
e4a8831bf1
Fix GCC build
2017-10-07 19:30:00 +02:00
emersion
c9909a45ab
Code style
2017-10-07 19:22:55 +02:00
emersion
63af97800f
Use ImageMagick to write PNG screenshot
2017-10-07 19:12:47 +02:00
emersion
a87f016017
Remove cairo dependency, write raw pixels
2017-10-07 19:01:11 +02:00
emersion
d4cc82f11a
Call glReadPixels right before swapping buffers
2017-10-07 16:22:03 +02:00
emersion
35f9700251
First attempt to implement screenshooter
2017-10-07 16:22:02 +02:00
emersion
1c8b72e0cd
Add screenshooter skeleton
2017-10-07 16:22:02 +02:00
Versus Void
641d08ce7e
Transform hotspot with cursor
...
Fix #188
2017-10-06 09:07:08 +03:00
Versus Void
e88f3887ca
Move wlr-example.ini.example to rootston.ini.example and reference it from examples' config parser
2017-10-02 16:17:34 +00:00
Versus Void
84de02986a
Add examples/wlr-example.ini.example with option descriptions for examples
2017-10-02 15:17:35 +03:00
Drew DeVault
aa8a4f12b7
Fix keyboard handling in examples
2017-10-01 11:35:22 -04:00
Drew DeVault
e3af7d508f
Remove example compositor
2017-09-28 17:44:14 -04:00
Drew DeVault
906a816abf
Fix rootston keyboard, add Xwayland
2017-09-28 08:54:57 -04:00
emersion
4e70d36e61
examples/compositor: fix handle_output_frame
2017-09-28 01:36:23 +02:00
emersion
e001e40022
Set view->surface
2017-09-27 15:03:35 +02:00
Drew DeVault
e6a6634bc5
Minor tweaks to (broken) keyboard support
2017-09-25 08:47:00 -04:00
Drew DeVault
f4387b437f
Merge branch 'master' into rootston
2017-09-25 08:29:51 -04:00
Drew DeVault
61e451ea1b
Move keyboard logic to wlr_{keyboard,seat}
2017-09-24 14:12:56 -04:00
Tony Crisci
84a8f1b42d
add keys array param to seat keyboard enter
2017-09-23 14:41:57 -04:00
Tony Crisci
3895593998
wlr-seat: keyboard layout
2017-09-23 14:09:54 -04:00
Tony Crisci
30b5d76426
wlr-seat: keyboard modifiers
2017-09-22 17:09:47 -04:00
Tony Crisci
cef1f60522
wlr-seat-keyboard: basic events
2017-09-22 16:28:11 -04:00
emersion
c38d7949ef
Use wl_display_next_serial
2017-09-22 19:26:11 +02:00
Drew DeVault
e5e6dab7fd
Fix use of serial on motion_request
2017-09-22 11:11:53 -04:00
Drew DeVault
087894ae99
Merge pull request #152 from acrisci/feature/wlr-seat-axis-events
...
wlr-seat cursor axis events
2017-09-22 10:43:48 -04:00
Tony Crisci
e38248f34c
wlr-seat: implement cursor axis events
...
Axis events for the cursor are generated with the scroll wheel.
2017-09-22 10:30:09 -04:00
Drew DeVault
b6cf9b14a4
Fix possibly uninitialized variable
2017-09-22 09:36:02 -04:00
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.
2017-09-22 09:34:52 -04:00
Drew DeVault
800a1ec679
Use time_usec for event serials
...
Fixes #151
2017-09-22 09:24:07 -04:00
Drew DeVault
7ae5268679
Implement xdg request_move in reference compositor
2017-09-22 09:19:27 -04:00
Drew DeVault
d558745633
Handle tablet motion in example compositor
2017-09-21 18:51:33 -04:00
Tony Crisci
446adda1a3
compositor.c: implement cursor motion absolute
2017-09-21 17:51:31 -04:00
Tony Crisci
91323a9b9b
compositor.c: add guards for unconfigured surfaces
2017-09-21 14:05:14 -04:00
Tony Crisci
675a71dce7
compositor.c: determine xdg position by window geom
2017-09-21 13:48:46 -04:00
Tony Crisci
7a3edf6e62
use double for cursor coordinates
2017-09-21 11:38:04 -04:00
Tony Crisci
8b74450b39
wlr_seat: pointer events
2017-09-20 19:43:49 -04:00
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.
2017-09-19 14:47:28 -04:00
Tony Crisci
94f4f1878d
xdg-surface-v6: implement ping
2017-09-16 12:35:49 -04:00
Tony Crisci
c912de6390
compositor.c: implement xdg-toplevel-v6 request events
2017-09-16 09:23:05 -04:00
Tony Crisci
27161a673f
xdg-shell new surface and ack configure events
2017-09-15 08:53:08 -04:00
Tony Crisci
9d2dc8447a
use wlr_surface on shell struct and listen to events
2017-09-13 07:57:16 -04:00
Tony Crisci
31bd8e089b
compositor.c: working pointer
2017-09-07 08:13:37 -04:00
Tony Crisci
9d9aaad020
compositor.c: fix formatting
2017-09-07 08:13:37 -04:00
emersion
1b588e7c1f
Add gamma_control skeleton
2017-09-06 14:48:27 +02:00
Drew DeVault
586ae674ae
Merge pull request #136 from acrisci/bug/rename-output-layout-create
...
Rename wlr_output_layout_init()
2017-09-06 08:29:55 +09:00
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.
2017-09-05 17:53:29 -04:00
Tony Crisci
500bcc49c4
move device configuration to config.h
2017-09-05 17:18:37 -04:00
Tony Crisci
0cdd7fac02
pointer.c: refactor device configuration
2017-09-05 08:24:53 -04:00
Tony Crisci
6904ed8bd9
bugfix: warp cursor to current position on output add
2017-09-05 07:52:17 -04:00
Tony Crisci
6d26fda57c
use monotonic clock time for animations
2017-08-31 23:43:02 -04:00
Tony Crisci
35eee80f9b
remove unused outputs list in output-layout.c
2017-08-31 07:47:44 -04:00
Tony Crisci
fa3d4ecc84
fix layout hotplugging issue in output-layout.c
2017-08-31 07:47:44 -04:00
Tony Crisci
f8e4ba3f5f
cleanup output-layout example
2017-08-31 07:47:44 -04:00
Tony Crisci
40bd6bcc43
implement output layout auto configuration
2017-08-31 07:47:44 -04:00
Tony Crisci
368f74e4df
Refactor meson build files
...
Use tabs for indentation and break up function calls over 80 col.
2017-08-30 14:30:47 -04:00
Tony Crisci
6699024b44
handle empty config file
2017-08-29 12:43:33 -04:00
Tony Crisci
9b65d0b3f0
refactor and rename wlr_geometry to wlr_box
2017-08-29 12:36:39 -04:00
Tony Crisci
a51b76083e
rename wlr_cursor_init to wlr_cursor_create
2017-08-29 12:36:39 -04:00
Tony Crisci
34f4a7b972
pointer.c: fix formatting
2017-08-29 12:36:39 -04:00
Tony Crisci
1193dd564b
config fixes
2017-08-29 12:36:36 -04:00
Drew DeVault
30611894f2
Implement tablet_tool support in pointer example
2017-08-28 22:12:35 -04:00
Tony Crisci
4fbe322fa6
fix memory errors
2017-08-28 11:07:54 -04:00
Tony Crisci
5c845f14ed
handle input device destroy
2017-08-28 10:29:53 -04:00
Tony Crisci
df0ee7f25f
implement tablet tool devices
2017-08-28 10:23:14 -04:00
Tony Crisci
5e06d61e42
implement touch up and touch down
2017-08-27 17:35:12 -04:00
Tony Crisci
ed126b0881
add touch events
2017-08-27 11:34:25 -04:00
Tony Crisci
dc7e32552d
config: fix uninitialized variables and accept trailing for geom
2017-08-26 11:53:16 -04:00
Tony Crisci
0a97b68278
implement cursor and device geometry mapping
2017-08-26 08:32:11 -04:00
Tony Crisci
d0cf8d0d01
add device configuration
2017-08-26 08:32:11 -04:00
Tony Crisci
699d489f93
add cursor configuration
2017-08-26 08:32:11 -04:00
Tony Crisci
b3a43e2261
add configuration file
2017-08-26 08:32:11 -04:00
Tony Crisci
54f87146c3
refactor example config and add ini.c
2017-08-26 08:32:11 -04:00
Tony Crisci
98f4cdfccb
implement wlr_cursor_map_input_to_output
2017-08-26 08:32:11 -04:00
Tony Crisci
a4810203cc
change output layout coords to double type
2017-08-26 08:32:11 -04:00
Tony Crisci
e3d47376dc
add wlr_cursor basic implementation
2017-08-26 08:32:11 -04:00
Dominique Martinet
1458a95e65
example compositor: loop through xwayland surfaces
2017-08-23 22:03:49 +02:00
Dominique Martinet
eb5b9cc6da
xwayland: move & split internal header file
2017-08-23 22:03:49 +02:00
Dominique Martinet
b2bab1af5c
xwayland: split xwm structure out, initial xwm.c
2017-08-23 22:03:49 +02:00
Dominique Martinet
60451521bd
start xwayland in example compositor
2017-08-23 22:03:49 +02:00
Dominique Martinet
2948f53721
example compositor: handle keyboard after we're done with init
...
the libinput backend does wl_display roundtrips, during which there is a
small window where keystrokes can be handled before the rest of the example
compositor is ready.
Setting the callback later ensures we're not called at this point
2017-08-20 14:19:30 +02:00
Dominique Martinet
1ca08dc4cb
wlr_compositor: change _init/finish to _create/destroy
2017-08-19 23:17:39 +02:00
Dominique Martinet
4110788159
move wl_compositor into wlroots as wlr_compositor
2017-08-19 21:56:51 +02:00
Dominique Martinet
5885679e33
examples: separate compositor_fini from run
...
compositor_fini destroys the display, but it is an error to destroy it
before e.g. wlr_seat that references it.
This lets us order destroy calls properly, following first-in-last-out
logic.
2017-08-19 09:31:06 +02:00
Dominique Martinet
f24b3df980
wlr renderer/texture: rename init to create when it does alloc
2017-08-19 08:33:31 +02:00
Tony Crisci
f03be94309
rename wlr_cursor to wlr_xcursor
...
This is for the implementation of another type that should be called wlr_cursor.
2017-08-18 19:48:55 -04:00
Tony Crisci
e3edb08126
bring output configuration into shared.h
2017-08-18 19:31:16 -04:00
Tony Crisci
769549c652
Refactor example output config
...
Put all the config parsing into shared.h so it is shared among the examples.
2017-08-18 17:44:10 -04:00
nyorain
f2a9098691
Fix wlr_data_device_manager
2017-08-18 19:58:36 +02:00
nyorain
86314caa5b
Implement wlr_data_{source,device,device_manager}
2017-08-18 18:56:21 +02:00
Drew DeVault
3138c5ddf0
Clean up wlr_output_layout
2017-08-17 21:06:28 -04:00
Tony Crisci
854a9381ca
improve collision detection algorithm
2017-08-17 21:05:13 -04:00
Tony Crisci
59a71f59b9
reconfigure output on resolution change
2017-08-17 21:05:13 -04:00
Tony Crisci
e0b409760d
fix output resolution callback
2017-08-17 21:05:13 -04:00
Tony Crisci
128f06405b
vt change bugfix
2017-08-17 21:05:13 -04:00
Tony Crisci
d9ebf0615a
add output resolution notify to example shared
2017-08-17 21:05:13 -04:00
Tony Crisci
5a9baf487e
add helper methods for intersection
2017-08-17 21:05:13 -04:00
Tony Crisci
dfb6a12036
layout-output example: only render if its on the output
2017-08-17 21:05:13 -04:00
Tony Crisci
2e9e237f9d
layout-output example: handle empty config
2017-08-17 21:05:13 -04:00
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.
2017-08-17 21:05:13 -04:00
nyorain
edbaa7d6ac
Update keyboard modifiers in example compositor
2017-08-17 14:34:31 +02:00
nyorain
ad22b4874d
Fix wlr_seat; add to example compositor
2017-08-17 13:06:53 +02:00
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
2017-08-16 09:23:21 +02:00
Drew DeVault
19d6442f52
Merge pull request #91 from martinetd/move_wl_shell
...
Move wl_shell into wlroots
2017-08-15 17:39:18 -04:00
Drew DeVault
27c13d621d
Merge pull request #88 from 4e554c4c/alloc_crashing
...
Prevent alloc errors from crashing
2017-08-15 12:21:58 -04:00
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
2017-08-15 15:36:02 +02:00
Dominique Martinet
d49edc8243
wl_shell/compositor surface: do not check if it's in list before removing
2017-08-15 15:34:26 +02:00
Dominique Martinet
5dae8e1be8
example compositor: only iterate over wl_shell and xdg_shell surfaces
2017-08-15 15:34:26 +02:00
Dominique Martinet
f4e6b138fb
Move wl_shell into wlroots
2017-08-15 15:13:23 +02:00
Drew DeVault
f60b53c6e3
Change how surface matricies are calculated
2017-08-15 08:52:30 -04:00
Tony Crisci
e46ec57b43
implement surface sizing
2017-08-15 07:36:51 -04:00
Calvin Lee
5cc7342606
Prevent alloc errors from crashing
...
Resolves #76
2017-08-15 08:04:57 +02:00
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.
2017-08-13 10:19:57 -04:00
Drew DeVault
d4b4bfb8bc
Fix #64
2017-08-13 08:26:32 -04:00
Dominique Martinet
de86965174
Use libinput_event_destroy/xkb_*_unref
...
Also sneak in a missing drmModeFreePlaneResources
2017-08-12 00:11:18 +02:00
Dominique Martinet
be3a0ad065
libinput backend: fill in handle_device_removed
...
And fix input_remove_notify accordingly
2017-08-12 00:11:18 +02:00
Dominique Martinet
1c7dd71208
WIP: example/shared.c free
...
Still missing something, the _remove functions are never called
2017-08-11 19:41:10 +02:00
Drew DeVault
62d8b252c0
Refactor meson and move xdg-shell into wlroots
2017-08-11 09:37:09 -04:00
Drew DeVault
3375381610
Fix segfault during xdg-shell cleanup
2017-08-10 22:24:24 -04:00
Drew DeVault
c24351681f
Refactor EGL handling
2017-08-10 22:15:37 -04:00
Drew DeVault
7095274a9e
Merge branch 'master' into drm_buffer
2017-08-10 13:19:39 -04:00
Drew DeVault
7da43ff8b0
Implement wlr_surface_flush_damage
2017-08-10 08:26:16 -04:00
nyorain
31d78ff497
Fix wlr_surface destruction bug
2017-08-10 12:42:35 +02:00
Tony Crisci
14654ecb77
implement compositor create region
...
Complete the implementation of wlr_region_create and put it in the compositor.
2017-08-10 05:59:43 -04:00
nyorain
1901c3e1b6
Fix example for updated gles
2017-08-10 11:03:58 +02:00
nyorain
67369173aa
Implement drm (egl) buffer attaching
2017-08-10 10:59:58 +02:00
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.
2017-08-09 17:31:38 -04:00
Drew DeVault
bd2e9a7168
Style cleanup
2017-08-09 17:30:22 -04:00
Tony Crisci
5a7595af77
use generators for wayland protocol gen
2017-08-09 16:50:41 -04:00
Tony Crisci
26edd5fb9e
cleanup for style and formatting
2017-08-09 16:50:40 -04:00
Tony Crisci
816a7f8257
add xdg shell destructors
2017-08-09 16:50:07 -04:00
Tony Crisci
bdfe9faf58
Add todo for destroy_xdg_shell_surface
...
This free was causing crashes so remove the implementation and make a note to
do it later.
2017-08-09 12:31:16 -04:00
Tony Crisci
a6c7d8d14f
send configure event after creating toplevel
...
The xdg shell protocol requires us to send a configure in order for the client
to start attaching buffers.
2017-08-09 12:31:16 -04:00
Tony Crisci
5add87cac6
rename wlr_surface to wlr_texture
2017-08-09 12:31:16 -04:00
Tony Crisci
15885ab54a
implement xdg toplevel stubs
2017-08-09 12:31:16 -04:00
Tony Crisci
c3f15ea284
Add xdg shell stubs
2017-08-09 12:31:16 -04:00
Tony Crisci
347707c962
Add shell surface stubs
...
Add stubs for the wl_shell_surface interface.
Implement wl_shell_get_shell_surface by creating the shell surface and settings
its implementation to these stubs.
2017-08-09 12:30:11 -04:00
nyorain
cf9ee6ce3f
Move wlr_surface into wlr
2017-08-09 17:27:12 +02:00
nyorain
8473c3955c
Add first wlr_surface example implementation
2017-08-09 17:26:05 +02:00
Drew DeVault
ba87585bbe
Merge pull request #48 from nyorain/wlr_texture
...
Rename wlr_surface -> wlr_texture; attach -> upload
2017-08-08 13:12:16 -04:00
nyorain
e167f41fde
Rename wlr_surface -> wlr_texture; attach -> upload
2017-08-08 18:25:16 +02:00
Drew DeVault
9383aaf89e
Accomodate for hotspot in cursor position
2017-08-08 11:44:44 -04:00
Drew DeVault
7486263f7e
Add xcursor sublibrary
2017-08-07 21:13:04 -04:00
Scott Anderson
2f8b5c4448
More cleanups
2017-08-06 15:53:41 +12:00
Drew DeVault
5bf61ca7ed
Check for multi backend before using it
2017-08-05 23:08:35 -04:00
Scott Anderson
4d4da18437
Fixed VT switching
2017-08-06 13:37:49 +12:00
Scott Anderson
cb4d50e22c
Changed header paths.
2017-08-06 13:25:26 +12:00
Scott Anderson
ae4478e17f
Changed ownership of wlr_session to the multi backend.
...
Currently breaks VT switching for examples.
2017-08-06 13:25:26 +12:00
nyorain
fdab81e1c9
Use meson build system
2017-08-05 22:34:24 +02:00
Drew DeVault
7c393d5143
Missed a variable
2017-08-04 16:44:45 -04:00
Drew DeVault
95653c0bf7
Minor nitpicking in wl_compositor
2017-08-04 16:26:21 -04:00
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.
2017-08-04 11:53:55 -04:00
Tony Crisci
6610aa7ca7
Implement shm buffer surface attach interface
...
Implement surface_attach method. This is called when a client attaches an shm
buffer with wl_surface_attach().
Implement the GLES2 interface for attaching shm buffers. This creates an opengl
texture with the shm buffer contents for the surface.
This commit also includes some working code to render the surfaces onto the
screen for demonstration purposes.
2017-08-04 11:41:13 -04:00
Tony Crisci
555914a13b
Add surface interface stubs in compositor example
...
Add the wayland surface interface to the example compositor.
Implement the create_surface method to create a new wlr surface from the
wayland surface and add the interface.
2017-08-03 10:46:08 -04:00
Tony Crisci
aebe5ba48c
Use correct pixel format enum in touch example
...
Fix a call to `wlr_surface_attach_pixels()` in the main method of the touch
example to use the correct enum for this method (wayland instead of gl).
2017-07-31 14:54:00 -04:00
Drew DeVault
b08aa9fd35
Revert "Merge pull request #27 from ascent12/meson"
...
This reverts commit 85805da021
, reversing
changes made to 8189c64d7f
.
2017-07-11 22:16:56 -04:00
Drew DeVault
7b9c330bc5
Revert "Fixed linking error"
...
This reverts commit c81324bd0b
.
2017-07-11 22:16:52 -04:00
Scott Anderson
c81324bd0b
Fixed linking error
2017-07-12 13:46:47 +12:00
Scott Anderson
e54b1eded4
Small linking fix
2017-07-11 12:24:43 +12:00
Scott Anderson
a2ba226ba3
Use subdir
2017-07-11 09:56:54 +12:00
Scott Anderson
924bf0f669
Changed build system to meson
2017-07-11 00:28:56 +12:00
Scott Anderson
8189c64d7f
Fixed that warnings that showed up with optimisations.
2017-07-11 00:14:55 +12:00
Scott Anderson
ceef12cb5a
Exit cleanly if we cannot open Wayland socket.
2017-07-10 13:46:15 +12:00
Drew DeVault
8920b5d607
Merge branch 'wlcore'
2017-06-29 16:00:24 -04:00
Drew DeVault
486ec5953c
Add shim implementations of wl_{compositor,shell}
...
To example compositor
2017-06-28 18:51:58 -04:00
Drew DeVault
28736c5787
Move example -> examples
...
And the compositor example into its own directory
2017-06-28 18:23:49 -04:00