Commit Graph

338 Commits

Author SHA1 Message Date
Kristian Høgsberg bf8bd5aa3a cairo-util: Fix another last-minute typo 2011-10-20 14:44:48 -04:00
Kristian Høgsberg 27d3866045 cairo-util: Add helper to load jpeg files 2011-10-20 13:11:12 -04:00
Kristian Høgsberg 9ef9e0ecf9 simple-egl: Remove leftover wl_visual variable 2011-10-19 21:16:58 -04:00
Kristian Høgsberg bcee9a4b25 desktop-shell: Add beginning of pop-up menu to panel 2011-10-12 00:36:16 -04:00
Benjamin Franzke 1a89f28c7d gears: Fail if compiled without cairo-egl 2011-10-07 10:06:01 +02:00
Benjamin Franzke 0c99163d9b window: Create a cairo device for each egl config 2011-10-07 10:06:01 +02:00
Benjamin Franzke 47eb8f4e91 window: Remove display_flush_cairo_device
Rather add a flush_surface utility that
flushed the cairo_device thats associated to a surface.
2011-10-07 10:05:57 +02:00
Kristian Høgsberg e4fb78de8f Handle compositors without wl_shell 2011-09-21 17:43:32 -04:00
Kristian Høgsberg 41abb2865e view: Fix reference to wayland-glib.h 2011-09-21 08:47:55 -04:00
Kristian Høgsberg e28d05b0ad window.c: Move window items to window.c 2011-09-20 21:43:54 -04:00
Kristian Høgsberg 3a69627f43 window: Stop using glib mainloop in toy toolkit 2011-09-19 17:28:55 -04:00
Kristian Høgsberg 1e164b9afd Move rounded_rect() to cairo-util.c 2011-09-19 17:26:44 -04:00
Kristian Høgsberg 547da5afc9 terminal: Make -f (fullscreen) option work again 2011-09-19 17:26:30 -04:00
Kristian Høgsberg 7e69000556 desktop-shell: Scale background image to output size 2011-09-08 18:18:02 -04:00
Kristian Høgsberg f8ab46e149 window: Default to toplevel windows 2011-09-08 16:56:38 -04:00
Kristian Høgsberg 67680c122d desktop-shell: Add launcher for the Wayland terminal 2011-09-08 11:48:53 -04:00
Kristian Høgsberg 0c29eb292e clients: Add a simple desktop-shell app
This just provides the background surface and the top panel.
2011-09-06 18:02:34 -04:00
Kristian Høgsberg 900b226ac1 window: Add enter/leave handlers 2011-09-06 14:33:52 -04:00
Benjamin Franzke 4b87a13974 clients: Fix typos
And forgotten display_create conversion in view.c.
2011-09-01 10:36:53 +02:00
Benjamin Franzke e8e0e6e2db Update gitignore 2011-08-31 16:25:32 -04:00
Benjamin Franzke 91eacca38b Remove egl display type setenv hack
No longer needed with mesa 7.12-devel egl display autodetection.
2011-08-31 16:25:18 -04:00
Kristian Høgsberg f389cacc20 Move away from visuals and just use EGLConfigs or shm format tokens 2011-08-31 16:21:38 -04:00
Kristian Høgsberg 6da3812f0a gears: Don't schedule redraw, just draw from frame callback 2011-08-29 17:12:37 -04:00
Kristian Høgsberg 2821aaaf9c simple-shm: Fix inverted logic 2011-08-29 17:12:37 -04:00
Kristian Høgsberg 2415990461 clients: Remove a few unused variables 2011-08-29 17:12:36 -04:00
Kristian Høgsberg 26130866c6 terminal: Fix unused return value warnings 2011-08-29 17:12:36 -04:00
Kristian Høgsberg 9de79a92a6 window.c: Drop global handler argument
We can just register a global handler directly on the wl_display now.
2011-08-29 17:12:36 -04:00
Kristian Høgsberg a8d1fa762e clients: Bring clients up to date 2011-08-29 17:12:36 -04:00
Kristian Høgsberg f790c79ec7 Use wl_display_bind() for binding to globals 2011-08-29 17:12:36 -04:00
Kristian Høgsberg 334182062f Use the new wl_callback interface 2011-08-29 17:12:36 -04:00
Kristian Høgsberg 8417d432f5 screenshot: A couple of minor tweaks 2011-07-27 05:58:57 -07:00
Tiago Vignatti 4d0d2037ea screenshot: use gdk-pixbuf for writing png images
Signed-off-by: Tiago Vignatti <tiago.vignatti@intel.com>
2011-07-26 08:23:37 -07:00
Kristian Høgsberg 2669f72e95 clients: Rename simple-client to simple-egl 2011-07-21 08:42:58 -07:00
Tiago Vignatti 93165e3e23 configure: set up simple clients independently from the others
Namely, simple-client and simple-shm.

Signed-off-by: Tiago Vignatti <tiago.vignatti@intel.com>
2011-07-21 08:42:58 -07:00
Tiago Vignatti e81fe8346c clients: simple-shm: remove unused libraries and headers
Signed-off-by: Tiago Vignatti <tiago.vignatti@intel.com>
2011-07-21 08:42:58 -07:00
Tiago Vignatti 79caa757c9 simple-shm: assert display conection
Signed-off-by: Tiago Vignatti <tiago.vignatti@intel.com>
2011-07-21 08:42:58 -07:00
Benjamin Franzke 22d5481f91 window.c: Fix compile/run using cairo without egl 2011-07-15 17:56:04 +00:00
Kristian Høgsberg 97ba2e6015 clients: Add a simple shared memory client 2011-07-06 11:58:45 -04: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 54b8683784 terminal: Don't set terminal size before we have the pty 2011-06-21 16:31:11 -04:00
Kristian Høgsberg 2468692c9f Merge remote-tracking branch 'bnf/fixes-2' 2011-06-21 11:31:38 -04:00
Kristian Høgsberg 8f0ce05f52 compositor: Send out more detailed output events 2011-06-21 11:16:58 -04:00
Benjamin Franzke 282019a7df simple-client: Trigger first drawing by hand 2011-06-21 09:53:15 +02: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 b3bef626ce view: Set opaque when going fullscreen 2011-05-16 14:46:47 -04: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
Kristian Høgsberg 393d47aa6f view: Add fullscreen option 2011-05-16 10:43:32 -04:00
Kristian Høgsberg 12283cc9a2 view: Set resize handler so fullscreen doesn't crash 2011-05-16 10:43:32 -04:00
Kristian Høgsberg ded9ff337b simple-client: setenv the EGL platform for simple client as well 2011-05-16 10:42:07 -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
Kristian Høgsberg 8544903741 compositor: Screenhoot into a client provided shm buffer
This moves the png writing part to the client and removes the gdk-pixbuf
dependency from the compositor.
2011-05-02 12:13:14 -04:00
Casey Dahlin 48d49eb5f9 Add some new things to .gitignore
libtoytoolkit.a, and generated protocol headers for meego-tablet.
2011-04-29 10:30:13 -04:00
Kristian Høgsberg 80492e220a configure: Only check dependencies for the enabled compositor backends 2011-04-26 11:10:32 -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 cf57dc52ff Update to work with scanner that doesn't hardcode wl_*
This lets us drop the wl_ prefix for the un-officual screenshooter protocol.
2011-04-20 14:20:02 -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
Kristian Høgsberg 8d85e886fc Merge remote-tracking branch 'bnf/fixes' 2011-03-18 00:15:25 -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 2eae9e3f1c simple-client: Request a alpha channel in choose config 2011-03-17 15:43:21 +01:00
Benjamin Franzke ec4d342aa9 Support per surface frame events
This fixes tearing with multi head.
2011-03-17 11:54:35 +01:00
Kristian Høgsberg b2d71852fd Split into a demo repository that holds the demo compositor and clients 2011-02-14 22:13:33 -05: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 3eff366911 Add struct wl_egl_display argument to wl_egl_window_create
We don't need it in the mesa implementation, but other implementations
might and it's symmetric with wl_egl_pixmap_create().
2011-02-07 20:48:01 -05:00
Kristian Høgsberg bfb8e61381 Follow wayland-egl renames 2011-02-07 10:30:38 -05:00
Kristian Høgsberg a495a5ed8b simple-client: Port to wayland-egl and use eglSwapBuffers()
simple-client is simpler.
2011-02-07 09:12:56 -05:00
Kristian Høgsberg f57a96f98d gears: Remove unused drm_fd field 2011-02-07 09:12:56 -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
Tim Wiederhake 80bf6f78e4 clients/view: Fix memory leak 2011-01-25 16:33:34 -05:00
Tim Wiederhake 6685aceae3 clients/view: Don't try to show inexistant files 2011-01-25 16:33:25 -05:00
Tim Wiederhake 9aad08e91b clients/view: Allow relative paths 2011-01-25 16:33:00 -05:00
Tim Wiederhake 655467a5d2 clients/view: Add mousewheel and arrow keys 2011-01-25 16:32:37 -05:00
Tim Wiederhake 7e182ef13b clients/view: Remove unnecessary variables 2011-01-25 16:29:51 -05:00
Tim Wiederhake 1afc9a98fa clients/view: Do not browse outside document range 2011-01-25 16:29:27 -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 734a7501b6 Remove frame handler prototype
I messed up the merge.
2011-01-25 12:44:19 -05:00
Kristian Høgsberg 6ec41abf72 Merge remote branch 'callum/master'
Conflicts:
	clients/window.h
2011-01-25 10:40:01 -05:00
nobled 7d9517855a fix includes 2011-01-24 16:01:26 +00: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 eae5569558 remove unused variable 2011-01-23 17:58:18 -05:00
Tim Wiederhake 503ccca5c8 document the usage of libtoytoolkit
(krh: edited to follow window_create() API changes)
2011-01-23 14:04:35 -05:00
Tim Wiederhake f71accc5b8 close terminal window on exit 2011-01-23 14:00:21 -05:00
Tim Wiederhake b6761dc294 fix resizing at top/left border 2011-01-23 13:59:30 -05:00
Tim Wiederhake dc3f817538 remove declaration without definition from window.h 2011-01-23 13:58:43 -05:00
Tim Wiederhake b0ae49e315 remove unused function in clients/smoke.c, silence warning 2011-01-23 13:58:26 -05:00
Tim Wiederhake 8a6f7e3139 compositor crashes if window width or height is <= 0 2011-01-23 13:58:18 -05:00
Tim Wiederhake 762e5c25d6 add clients to .gitignore 2011-01-23 13:58:07 -05:00
Kristian Høgsberg 0cd8f6eded Drive-by optimization of blur_surface() 2011-01-21 22:19:40 -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 31cce0533f Actually send selected text when pasting 2011-01-21 15:18:55 -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 f39a9ccbb3 Use cairo_push_group() for double buffering in the terminal
Slightly different version of the patch from twied.
2011-01-20 12:37:41 -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
Benjamin Franzke 25f0ba4be1 clients/Makefile: Add AM_CPPFLAGS to view's CPPFLAGS 2011-01-16 21:09:51 -05:00
Kristian Høgsberg ad67af1bcc simple-client: Remove unnecessary flush 2011-01-14 20:45:23 -05:00
Kristian Høgsberg 1a11fac8fa simple-client: Create GLES2 context 2011-01-14 20:39:21 -05:00
Kristian Høgsberg a1015b9e8c Link simple-client against libGLESv2.so, not full GL 2011-01-14 20:38:35 -05:00
Kristian Høgsberg be63ae5a2c Merge remote branch 'bnf/simple_client' 2011-01-14 19:13:22 -05:00
Benjamin Franzke aabdce027f Add a simple client 2011-01-15 00:44:03 +01: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
Callum Lowcay 9d708b07e4 terminal: Fix bugs in attribute rendering
Fixed ignoring of concealed attribute, incorrect underline colour, and
glyph_run_flush not resetting the attribute.

Signed-off-by: Callum Lowcay <callum@callumscode.com>
2011-01-13 20:30:43 +13:00
Callum Lowcay 9acdb50084 Merge branch 'master' of git://anongit.freedesktop.org/wayland
Conflicts:
	clients/terminal.c
2011-01-12 19:40:14 +13:00
Callum Lowcay 67a201da6f terminal: Escape sequences with string parameters
Adjust escape parsing code to handle OSC, DSC, and other escape
sequences with string parameters.

Signed-off-by: Callum Lowcay <callum@callumscode.com>
2011-01-12 19:23:41 +13:00
Kristian Høgsberg 08c40c3550 clients: Make poppler-glib optional
Just don't compile the view client.
2011-01-11 13:48:03 -05:00
Kristian Høgsberg 1d3e93922d Batch up drawing glyphs 2011-01-11 11:06:49 -05:00
Kristian Høgsberg 7ae6b1a27d Hold on to the scaled fonts we use 2011-01-11 10:38:51 -05:00
Kristian Høgsberg 4f50670769 Use cairo_show_glyphs for rendering text
A small step for now.
2011-01-11 10:33:53 -05:00
Kristian Høgsberg 01994a5964 Factor out decoding of character attributes 2011-01-11 10:26:04 -05:00
Kristian Høgsberg fb266a3207 Only draw background if it's different from what's already there 2011-01-11 10:15:21 -05:00
Kristian Høgsberg 71eca89356 Make border color a color from the color table 2011-01-11 10:13:00 -05:00
Kristian Høgsberg f106fd5b67 Add helper to set color from color table 2011-01-11 10:11:39 -05:00
Kristian Høgsberg 8c25420a50 Split background and foreground painting into separate loops 2011-01-11 10:09:32 -05: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
Callum Lowcay 1b091dd411 Merge branch 'master' of git://anongit.freedesktop.org/wayland 2011-01-11 09:08:59 +13:00
Tiago Vignatti 5fd89d255b terminal: fix crashing when terminal size is < 0
Just skip drawing when width or height is less than zero.

Signed-off-by: Tiago Vignatti <tiago.vignatti@nokia.com>
2011-01-10 14:16:42 -05:00
Callum Lowcay 81179db42c terminal: More character attributes
Implement the concealed attribute, and 16-colour attributes.  Fix a bug in
256-colour attributes that prevented them from working in elinks.

Signed-off-by: Callum Lowcay <callum@callumscode.com>
2011-01-10 12:14:01 +13:00
Callum Lowcay 86653ed273 terminal: Various fixes
Fix several bugs in the previous patches.  Fix inverse inverse video
with bold attribute, incorrect duplication of attributes when scrolling
up, underline aliasing, bottom scroll margin adjustment when resizing,
and unnecessary sleep when sending terminal reports.  Change TERM
environment variable to xterm-256color to better reflect terminal
capabilities (although it still doesn't emulate all of xterm).

Signed-off-by: Callum Lowcay <callum@callumscode.com>
2011-01-08 20:35:25 -05:00
Callum Lowcay 7e08e90c74 terminal: Special keys
Implements support for function, cursor, and editing keys, with
modifiers.  Partially implements application keypad mode.  Expands
control key support.

Signed-off-by: Callum Lowcay <callum@callumscode.com>
2011-01-08 20:35:15 -05:00
Callum Lowcay 256e72f0e2 terminal: Implement character set switching
Includes the 3 vt100 character sets.  Some of the graphic symbols don't
display because they are not included in the default font.  Apparantly
the cairo toy font API doesn't do font substitution.

Signed-off-by: Callum Lowcay <callum@callumscode.com>
2011-01-08 20:35:05 -05:00
Callum Lowcay 69e9658da0 terminal: vt102 editing commands
Implement the vt102 editing commands, and insert/replace mode.

Signed-off-by: Callum Lowcay <callum@callumscode.com>
2011-01-08 20:34:17 -05:00
Callum Lowcay 8e57dd5071 terminal: Basic vt100 escape codes
Implements correct behaviour for vt100 cursor movement, erasing, custom
tabs, and reporting. Includes relevant terminal modes.

Signed-off-by: Callum Lowcay <callum@callumscode.com>
2011-01-08 20:33:46 -05:00
Callum Lowcay bbeac60b8a terminal: Scroll margins
Implement scroll margins and related escape codes.

Signed-off-by: Callum Lowcay <callum@callumscode.com>
2011-01-08 20:33:35 -05:00
Callum Lowcay b8609ada50 terminal: Escape sequence handling fixes
Upgrade and refactor terminal_data to properly handle non-csi escape
codes, control characters in escape codes, and invalid escape sequences.
Also fix a buffer overflow in the escape sequence buffer.

Signed-off-by: Callum Lowcay <callum@callumscode.com>
2011-01-08 20:33:05 -05:00