Commit Graph

150 Commits

Author SHA1 Message Date
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.
2017-09-05 17:48:02 -04:00
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.
2017-09-05 07:48:28 -04:00
Tony Crisci d84deb0742 add wlr_output destroy event 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 f25511ee3d refactor wlr_output_layout to use wlr_box 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 d9ab631f5d bugfix: set cursor coords on warp_unchecked 2017-08-29 12:48:45 -04:00
Tony Crisci b6031d1065 refactor wlr_output_layout_closest_point 2017-08-29 12:36:39 -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 1fb8bc9340 wlr_cursor.c: fix formatting 2017-08-29 12:36:39 -04:00
Tony Crisci 3449777a8d wlr_output_layout.c: fix style 2017-08-29 12:36:39 -04:00
Tony Crisci 4fbe322fa6 fix memory errors 2017-08-28 11:07:54 -04:00
Tony Crisci ab1a12b174 fix formatting in types/meson.build 2017-08-28 11:07:21 -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 0dc3aecfd4 refactor device mapping calculation 2017-08-27 20:10:46 -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 ac503a47a7 intersect cursor and device regions 2017-08-26 11:55:24 -04:00
Tony Crisci 0a97b68278 implement cursor and device geometry mapping 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 13e895d943 implement wlr_cursor_map_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 f69a7afd36 assert cursor layout for move and warp functions 2017-08-26 08:32:11 -04:00
Tony Crisci 0cba06dcef implement wlr_cursor_warp 2017-08-26 08:32:11 -04:00
Tony Crisci dd68f680e4 handle cursor to output edge cases 2017-08-26 08:32:11 -04:00
Tony Crisci 431e1ddeca smooth pointer transitioning between outputs 2017-08-26 08:32:11 -04:00
Tony Crisci 9978349903 use safe for_each when freeing cursor devices 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 3391e5b634 xwayland: fix style issues 2017-08-23 22:03:49 +02:00
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
2017-08-23 22:03:49 +02:00
Dominique Martinet 3cc5b1acc6 wlr_compositor: add signal for create_surface 2017-08-23 22:03:49 +02:00
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
2017-08-21 07:59:08 +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 84c0c87a5d wlr_surface: change update_size/damage to bool 2017-08-19 14:37:57 +02:00
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
2017-08-19 09:31:06 +02:00
Dominique Martinet 03b29eb32c wlr region/surface: explicitely select interface fields 2017-08-19 09:31:06 +02:00
Dominique Martinet fc1a851415 wlr_surface: clear/fini buffers when appropriate 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
Drew DeVault a1551bccc0 Merge pull request #107 from nyorain/wlr_data_device_manager
Implement wlr_data_{source,device,device_manager}
2017-08-18 14:05:51 -04:00
nyorain f2a9098691 Fix wlr_data_device_manager 2017-08-18 19:58:36 +02:00
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.
2017-08-18 19:38:11 +02:00
nyorain 154d2ad941 Fix data_device destruction 2017-08-18 19:12:31 +02:00
nyorain 86314caa5b Implement wlr_data_{source,device,device_manager} 2017-08-18 18:56:21 +02:00
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.
2017-08-18 12:41:42 -04:00
Drew DeVault e5fd858394 Merge pull request #101 from nyorain/texture_fix
Fix surface buffer uploading
2017-08-18 10:16:45 -04:00
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.
2017-08-18 16:01:40 +02:00