Benjamin Franzke
22d5481f91
window.c: Fix compile/run using cairo without egl
2011-07-15 17:56:04 +00:00
Benjamin Franzke
14f7ff91ad
window: Set egl_window_resize late and once
...
Previously we resized in attach_surface and create_surface.
THe second resize overwrote dx or dy from the first.
2011-06-23 12:10:51 +02:00
Kristian Høgsberg
8f0ce05f52
compositor: Send out more detailed output events
2011-06-21 11:16:58 -04:00
Kristian Høgsberg
7a5c979f4c
Move map requests to shell
2011-06-20 10:45:24 -04:00
Benjamin Franzke
65e5051bc7
clients: Add an optional roundtrip for visual lookup
2011-05-31 15:05:32 +02:00
Kristian Høgsberg
3be87d1931
window: Add support for opaque windows
2011-05-16 14:46:41 -04:00
Kristian Høgsberg
8357cd61d8
window.c: Deal with visual changes
2011-05-16 10:43:32 -04:00
Egbert Eich
e7b8d9055e
compositor: Set EGL_PLATFORM env variable for each backend.
...
I may have missed something, but - since the Wayland compositor
already picks a platform backend, opens a connection and initializes the
backend specific display data structure it doesn't make sense
to let egl pick a platform. If it picks a different one the
display specific data structure will most likely not match.
Thus determine the platform in the Wayland rendering backend by setting
the EGL_PLATFORM env variable.
For the client any other platform than 'wayland' doesn't seem to make
sense.
I'm not sure if I've got the the platform ofr openfwd right.
Signed-off-by: Egbert Eich <eich@freedesktop.org>
2011-05-10 16:42:08 -04:00
Benjamin Franzke
bde55ec8e4
Implement buffer.damage in shm, use it in window.c
2011-04-22 11:53:45 -04:00
Kristian Høgsberg
7cbdb64ab6
Fix clients to work with wl_ prefixed interface names
2011-04-20 18:53:37 -04:00
Kristian Høgsberg
91342c6081
Switch to new subscribe protocol and wayland-egl
2011-04-20 14:20:02 -04:00
Kristian Høgsberg
d11eadb519
window.c: Check for cairo device failure the right way
2011-04-14 11:54:59 -04:00
Kristian Høgsberg
01aed1c665
Remove double definition of window_get_wl_surface()
2011-04-11 16:59:05 -04:00
Kristian Høgsberg
11e2828bdc
Merge remote-tracking branch 'bnf/surface-frame-event'
...
Conflicts:
compositor/compositor.c
2011-04-11 16:47:50 -04:00
Kristian Høgsberg
12b0bb343b
Fix window_set_child_size() for windows without decoration
2011-04-11 13:18:31 -04:00
Kristian Høgsberg
386857ba6a
Add struct window accessor for the wl_surface
2011-04-11 13:17:44 -04:00
Tim Wiederhake
b4b67344f0
Define global handler on display creation
...
Otherwise the initial announcement of interfaces gets lost.
2011-04-11 13:16:33 -04:00
Benjamin Franzke
cff904e69d
gears: Use wayland egl surface instead of images
2011-03-17 15:55:25 +01:00
Benjamin Franzke
6693ac2108
window: Use window surfaces for windows
2011-03-17 15:55:18 +01:00
Benjamin Franzke
ec4d342aa9
Support per surface frame events
...
This fixes tearing with multi head.
2011-03-17 11:54:35 +01:00
Tim Wiederhake
9c7a8cc663
fix typo in window.c
2011-02-11 13:44:31 -05:00
Kristian Høgsberg
0d5007a76f
window.c: Use eglGetProcAddress to look up extension functions
2011-02-09 10:57:44 -05:00
Kristian Høgsberg
297d6dd442
window.c: Include wayland-egl.h before EGL headers so we get the right platform
2011-02-09 10:51:15 -05:00
Kristian Høgsberg
bfb8e61381
Follow wayland-egl renames
2011-02-07 10:30:38 -05:00
Kristian Høgsberg
297c6313eb
Port window.c to use wayland-egl
2011-02-07 09:12:56 -05:00
nobled
7b87cb04a9
window: add null checks
...
Also check for invalid parameters early on, so if we crash,
we know *why* we crashed.
2011-02-01 18:51:47 +00:00
nobled
14d222f612
add newlines in error messages
2011-02-01 18:48:46 +00:00
Kristian Høgsberg
0ce245761c
Add initial basic support for fullscreen surfaces
2011-01-28 15:18:33 -05:00
Kristian Høgsberg
3ba4858c4b
compositor-x11: Handle keyboard focus correctly so we avoid stuck modifiers
2011-01-27 11:57:19 -05:00
Kristian Høgsberg
00439617f3
Fix new gcc 4.6 warnings
...
simple-client.c:156:10: warning: variable ‘ar’ set but not used [-Wunused-but-set-variable]
etc.
2011-01-25 15:16:01 -05:00
Darxus@chaosreigns.com
c4df99cb2c
Replace gdk_pixbuf_unref with g_object_unref
...
Because gdk_pixbuf_unref is deprecated and for compatability with
gdk-pixbuf 2.21.4.
2011-01-25 15:05:08 -05:00
Kristian Høgsberg
d5fb9cc769
window.c: Make title not const
...
We now strdup it.
2011-01-25 12:45:37 -05:00
Kristian Høgsberg
6ec41abf72
Merge remote branch 'callum/master'
...
Conflicts:
clients/window.h
2011-01-25 10:40:01 -05:00
Tim Wiederhake
81bd979835
initialise display
...
fixes valgrind:
==25178== Conditional jump or move depends on uninitialised value(s)
==25178== at 0x409E2C: display_create (window.c:1582)
==25178== by 0x407A43: main (terminal.c:2323)
and
==13793== Conditional jump or move depends on uninitialised value(s)
==13793== at 0x40A2D1: display_handle_global (window.c:1504)
==13793== by 0x4E2C183: display_handle_global (wayland-client.c:281)
==13793== by 0x713FEE7: ffi_call_unix64 (in /usr/lib/libffi.so.5.0.10)
==13793== by 0x713FC83: ffi_call (in /usr/lib/libffi.so.5.0.10)
==13793== by 0x4E2C71A: wl_closure_invoke (connection.c:663)
==13793== by 0x4E2BB7B: wl_display_iterate (wayland-client.c:484)
==13793== by 0x4096CA: display_create (window.c:1664)
==13793== by 0x407A43: main (terminal.c:2321)
2011-01-23 17:58:30 -05:00
Tim Wiederhake
748f672b2c
free option context
2011-01-23 17:58:22 -05:00
Tim Wiederhake
b6761dc294
fix resizing at top/left border
2011-01-23 13:59:30 -05:00
Tim Wiederhake
8a6f7e3139
compositor crashes if window width or height is <= 0
2011-01-23 13:58:18 -05:00
Kristian Høgsberg
a495333d4f
Remove unused bits of cairo code
2011-01-21 22:17:03 -05:00
Kristian Høgsberg
248c1b61ce
Add an orange pop-up menu to test the new map_transient request
2011-01-21 18:03:15 -05:00
Callum Lowcay
6eeeb30021
Merge branch 'master' of git://anongit.freedesktop.org/wayland
...
Conflicts:
clients/window.h
2011-01-22 12:00:48 +13:00
Kristian Høgsberg
6bccebee23
terminal: Just send the pty master fd to receive the selection.
...
LOL!!1
2011-01-21 16:26:28 -05:00
Kristian Høgsberg
e164e4ef72
Use cairo_push_group() for all double buffering, drop window_copy_*()
2011-01-21 11:35:05 -05:00
Kristian Høgsberg
5982658d62
Render selection
2011-01-20 11:56:57 -05:00
Kristian Høgsberg
23c03ad981
Use libxkbcommon #defines for modifiers
2011-01-19 14:41:20 -05:00
Kristian Høgsberg
58eec36f68
Add proof-of-concept selection support to terminal
...
Next will be to support mouse selections so we can copy and paste
something more interesting than just 'selection data'.
2011-01-19 14:27:42 -05:00
Kristian Høgsberg
67cac8a565
Pass input device and time in key_handler callback
...
Move the modifiers to a input device getter function.
2011-01-19 14:25:13 -05:00
Kristian Høgsberg
943741cb40
Use the global handler in dnd instead of custom drag_offer hook
2011-01-19 14:25:12 -05:00
Kristian Høgsberg
b46df05fa8
window: Add a catch-all global handler hook
2011-01-19 14:25:12 -05:00
Kristian Høgsberg
8def264241
Check for cairo-egl instead of just cairo-gl
2011-01-14 17:42:50 -05:00
Callum Lowcay
ef57a9b788
terminal: Window operations
...
Implement OSC 1 (set window title), and some basic CSI t window
operations.
Signed-off-by: Callum Lowcay <callum@callumscode.com>
2011-01-14 20:51:58 +13:00
Kristian Høgsberg
da846ca91d
Fix terminal resizing
...
Get snapping to character grid working again, avoid crashes when attempting
to resize below 1x1 character cell, only redraw when size actually changes.
Also, rename window_get_child_rectangle() to window_get_child_allocation().
2011-01-11 10:00:52 -05:00
nobled
f8475c9366
Fix window.c build without cairo-gl
2011-01-05 17:41:55 +00:00
Kristian Høgsberg
82da52b15b
Update surface.attach and change surface.map to surface.map_toplevel
...
The new map_toplevel() request no longer specifies a position and takes
the size from the attached buffer. The attach request now takes a
position relative to the top-left corner of the old buffer to let
clients specify the relative position of the new buffer.
2010-12-17 09:53:12 -05:00
Yuval Fledel
45568f6e33
When no DRM present, clients (window.c actually) now either exit orderly,
...
or if that check is removed - crash (unsurprisingly).
This patch relieves this assumption, and allow some clients (terminal,
image, flower) to run in a non-DRM environment
2010-12-06 09:20:34 -05:00
Kristian Høgsberg
f8fc08f771
Add origin information to output.geometry event
2010-12-01 20:10:10 -05:00
Kristian Høgsberg
2bb3ebe1e4
Create socket in /var/run/user/${HOME}
...
Use the runtime dir from XDG Base Directory Specification for creating the
socket in a directory only the user can read and write.
2010-12-01 16:53:01 -05:00
Kristian Høgsberg
06bc26401c
Fix warnings from adding -Wall back
2010-12-01 09:50:16 -05:00
Kristian Høgsberg
41da90897c
Don't hardcode offered dnd types in window.c
2010-11-30 14:01:07 -05:00
Joel Teichroeb
88b272d9ff
Made the window save the coordinates when being draged.
2010-11-30 13:26:31 -05:00
Benjamin Franzke
35fd2a8cc6
wayland_client: rename wl_display_create to wl_display_connect
...
Avoid conflict when using wayland-{server,client} together.
2010-11-29 17:14:38 -05:00
Kristian Høgsberg
1f5d507596
Define MULT outside the HAVE_CAIRO_GL #ifdef
2010-11-29 08:13:35 -05:00
Darxus
55973f2f5a
Some additional return value checking
2010-11-22 21:54:15 -05:00
Kristian Høgsberg
8857a96a97
window: Don't call drag_offer_handler if it's NULL
...
Reported by canbaby@21cn.com .
2010-11-22 13:02:24 -05:00
Bryce Harrington
156d057e56
Function declares a pointer return, so return one.
...
These two functions are just wrappers around display_create_*_surface
but weren't forwarding along the result of those calls as is implied by
their return value type.
This fixes a compile-time warning.
Signed-off-by: Bryce Harrington <bryce@canonical.com>
2010-11-22 10:49:07 -05:00
Bryce Harrington
515f63ad72
Quell warning about potentially uninitialized variable 'surface'
...
In theory, it was possible for an undefined 'surface' to be passed to
window_set_surface(). Instead, explicitly pass NULL.
Signed-off-by: Bryce Harrington <bryce@canonical.com>
2010-11-22 10:48:52 -05:00
Bryce Harrington
40269a6ed6
Cleanup declared but unused variables.
...
Make was complaining about a bunch of unused variables that were being
declared.
Signed-off-by: Bryce Harrington <bryce@canonical.com>
2010-11-22 10:48:17 -05:00
Kristian Høgsberg
2b43bd73a0
Bring gears example up to date
...
Must have gears.
2010-11-08 15:46:02 -05:00
Chia-I Wu
4d8ba216c5
Make sure there is a current context.
...
The context of a display is shared with the cairo device.
cairo_acquire_device should be called whenever OpenGL calls are made.
2010-10-29 12:49:57 -04:00
Chia-I Wu
1f411902de
Use glTexSubImage to update the pixels.
...
glTexImage causes respecification. The DRM buffer a client renders to
will be different from that used to create the wl_buffer.
2010-10-29 12:34:47 -04:00
Kristian Høgsberg
012a007771
Add small client for testing shm surfaces
2010-10-26 10:37:55 -04:00
Kristian Høgsberg
d0c3b9da22
Fall back to cairo image backend and shm surface if we don't have cairo gl
2010-10-25 11:40:03 -04:00
Kristian Høgsberg
ce457ba68c
Add timestamp to pointer image attach request
...
This lets the server discard requests received after the pointer has
exited and the re-entered a surface.
2010-09-14 15:39:45 -04:00
Kristian Høgsberg
ab2f1cddc6
Dont post damage event from window_copy_surface
...
We always call this between window_draw() and attaching the window surface
so the surface we're copying to isn't visible.
2010-09-07 22:01:32 -04:00
Kristian Høgsberg
7d804068b6
Only set pointer image when it changes
2010-09-07 21:50:06 -04:00
Kristian Høgsberg
9d69f8e796
Replace commit/ack/frame protocol with simpler sync and frame callbacks
2010-09-03 14:46:38 -04:00
Kristian Høgsberg
e9d37bdc5f
Use a transient object for the dnd session
2010-09-02 20:22:42 -04:00
Kristian Høgsberg
c7c60646ad
Add options to specify xkb details
2010-08-29 21:33:39 -04:00
Kristian Høgsberg
30620609b2
Remove debug message
2010-08-29 21:12:25 -04:00
Kristian Høgsberg
e968f9c6b9
Provide visual feedback as to whether drop is supported
...
Change the cursor in response to target events.
2010-08-27 22:18:00 -04:00
Kristian Høgsberg
4eb536091a
Update drag protocol to use fd passing for data transfer
2010-08-27 20:30:26 -04:00
Kristian Høgsberg
1d7ffd32f8
Set pointer image only in response to 'target' event
2010-08-25 16:34:05 -04:00
Kristian Høgsberg
b12fcceeb7
Update to EGL_MESA_drm_image from mesa master
...
Woo, running on stock mesa now.
2010-08-25 10:02:20 -04:00
Kristian Høgsberg
506e20eed9
More work on dnd
2010-08-19 17:26:02 -04:00
Kristian Høgsberg
9a686243b6
Add a drag and drop test client
2010-08-18 15:28:04 -04:00
Kristian Høgsberg
10ddbd220a
Insert unexplainable cairo_device_flush() to fix terminal drawing
2010-08-16 21:08:52 -04:00
Kristian Høgsberg
da275dd09f
Add client side pointer image handling
2010-08-16 17:47:07 -04:00
Kristian Høgsberg
b91cd10fcb
Move cairo-util.[ch] to clients/
2010-08-16 16:23:12 -04:00
Kristian Høgsberg
4fe1a3ed3a
Don't track globals in the client lib, just send out events
...
Users of the client library must install an global handler to get access
to globals.
2010-08-10 14:13:23 -04:00
Kristian Høgsberg
640609acfc
Implement current drm auth scheme in the drm object
2010-08-09 22:11:47 -04:00
Kristian Høgsberg
5fcd0aa58e
Introduce 'buffer' object for attaching, image cahce and cursor images
...
The buffer object is created by a 'drm' object, which encapsulates the
buffer sharing and authentication mechanism. Once the buffer is created
it can be attached to a surface.
2010-08-09 14:43:33 -04:00
Kristian Høgsberg
6d70202f80
Send out coordinates with pointer_focus event
...
We can't rely on motion events happening right away, pointer_focus could
change because of windows coming or going etc.
2010-08-06 15:12:26 -04:00
Kristian Høgsberg
83fc061c9c
Introduce 'shell' object for moving and resizing surfaces in the compositor
2010-08-04 22:44:55 -04:00
Kristian Høgsberg
379b678c57
Use EGL_KHR_surfaceless_opengl
2010-07-28 23:51:00 -04:00
Kristian Høgsberg
808fd41861
Drop coordinates from buttons press, add timestamp to events
2010-07-20 17:06:19 -04:00
Kristian Høgsberg
f252d6a98e
Update to use eglGetDRMDisplayMESA()
2010-07-08 20:15:10 -04:00
Kristian Høgsberg
3e6e7e6acb
Track libxkbcommon API changes
2010-07-02 15:12:02 -04:00
Kristian Høgsberg
2d6b7c118b
Fix some warnings
2010-06-25 16:51:57 -04:00
Kristian Høgsberg
94adf6cb9e
Use libxkbcommon for mapping keycodes to keysyms
2010-06-25 16:50:05 -04:00
Kristian Høgsberg
c8c3734ef9
Set window user data using separate function
2010-06-25 11:19:22 -04:00
Kristian Høgsberg
dcb71b62a0
Update decoration drawing to be less cairo path happy
2010-06-15 17:16:35 -04:00
Kristian Høgsberg
80d746f6e3
Consolidate redraw scheduling in window.c
2010-06-14 23:52:50 -04:00
Kristian Høgsberg
0953162db8
Fix resizing
2010-06-14 23:22:15 -04:00
Kristian Høgsberg
bf6ceda545
Implement resizing from all sides
2010-06-14 20:25:06 -04:00
Kristian Høgsberg
478d9265f9
Send device name at connect time
2010-06-08 20:34:11 -04:00
Kristian Høgsberg
7824d81e07
Consolidate more code in clients/window.c
2010-06-08 14:59:44 -04:00
Kristian Høgsberg
a85fe3cf45
Use cairo-gl in clients
2010-06-08 14:08:30 -04:00
Kristian Høgsberg
f88ae45e41
Make clients at least compile for now
2010-06-06 22:28:16 -04:00