Commit Graph

564 Commits

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