Commit Graph

63 Commits

Author SHA1 Message Date
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