Commit Graph

111 Commits

Author SHA1 Message Date
Tony Crisci 5b1ce84350 implement buffer transform 2017-08-15 07:36:51 -04:00
Tony Crisci 84c6dbd58d remove unused dimension from buffer calculations 2017-08-15 07:36:51 -04:00
Tony Crisci e46ec57b43 implement surface sizing 2017-08-15 07:36:51 -04:00
Tony Crisci 72a33b736f implement texture get buffer size 2017-08-15 07:36:50 -04:00
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.
2017-08-15 07:36:50 -04:00
nyorain f998bb8299 Fix style issues 2017-08-14 17:09:56 +02:00
Dominique Martinet ba20d5b3ca Refactor out wlr_touch_state 2017-08-14 16:22:31 +02:00
Dominique Martinet bd67849c03 Refactor out wlr_tablet_tool_state 2017-08-14 16:22:31 +02:00
Dominique Martinet a289940bff Refactor out wlr_tablet_pad_state 2017-08-14 16:22:31 +02:00
Dominique Martinet 53e7bebd23 Refactor out wlr_pointer_state 2017-08-14 16:22:31 +02:00
Dominique Martinet 0a3246ad97 Refactor out wlr_keyboard_state 2017-08-14 16:22:31 +02:00
Dominique Martinet e6ad67911b Refactor out wlr_input_device_state 2017-08-14 16:22:31 +02:00
Drew DeVault de6f32c84e Refactor away wlr_renderer_state 2017-08-14 08:37:50 -04:00
Drew DeVault 94e6e6334b Refactor out wlr_texture_state 2017-08-14 08:25:26 -04:00
Drew DeVault c8c6619146 Refactor out wlr_output_mode_state 2017-08-14 08:03:51 -04:00
Calvin Lee de66bdb867 Add backend detection functions
Resolves #80
2017-08-13 23:08:33 +02:00
Drew DeVault 41e735242d Remove wlr_output_state, update backends 2017-08-13 11:38:03 -04: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 81cd90297d Refactor out wlr_backend_state from wl/multi 2017-08-12 11:43:36 -04:00
Drew DeVault ce65a0c138 Merge pull request #69 from 4e554c4c/user_data
Add user data to wlr_* structs
2017-08-11 14:59:15 -04:00
Calvin Lee a8c1e8ce69 Add user data to wlr_* structs
Resolves #68
2017-08-11 20:44:17 +02:00
nyorain ed2fc30625 Fix wlr_surface invalid values 2017-08-11 20:30:42 +02:00
Drew DeVault 62d8b252c0 Refactor meson and move xdg-shell into wlroots 2017-08-11 09:37:09 -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 67369173aa Implement drm (egl) buffer attaching 2017-08-10 10:59:58 +02:00
Drew DeVault 750d0ad458 Flesh out wlr_surface state lifecycle a bit
Sprinked some TODOs around for future work
2017-08-09 23:34:50 -04:00
Drew DeVault 4de930542f Implement partial texture uploads 2017-08-09 22:17:40 -04: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
nyorain cf9ee6ce3f Move wlr_surface into wlr 2017-08-09 17:27:12 +02:00
nyorain 1bea754521 Implement wlr_region using pixman 2017-08-09 17:05:55 +02:00
nyorain e167f41fde Rename wlr_surface -> wlr_texture; attach -> upload 2017-08-08 18:25:16 +02:00
Drew DeVault 7486263f7e Add xcursor sublibrary 2017-08-07 21:13:04 -04:00
Scott Anderson 1db97a9af9 Updated DRM cursor rendering 2017-08-06 21:38:40 +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 2ae5cd6539 Moved session/ into backend/ 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
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
Scott Anderson 5b8ec107b9 Session documentation. 2017-07-09 23:02:41 +12:00
Scott Anderson bd5bca5283 Added public fields to wlr_session 2017-07-09 17:53:13 +12:00
Drew DeVault 8920b5d607 Merge branch 'wlcore' 2017-06-29 16:00:24 -04:00
Drew DeVault 18e6ddc1c5 Remove wlr_compositor 2017-06-28 17:25:01 -04:00
Drew DeVault f5b7bc033e Add wlr_wl_compositor and remove wlr_wl_shm 2017-06-26 10:26:55 -04:00
Scott Anderson 0cd94f0cf0 Added software cursor fallback 2017-06-26 17:34:15 +12:00
Drew DeVault 5a2796266f Support wl_shm pixel formats in gles2 renderer 2017-06-23 14:25:55 -04:00