profile/ivi/weston-ivi-shell.git
13 years agoUse cairo_show_glyphs for rendering text
Kristian Høgsberg [Sat, 25 Dec 2010 21:14:23 +0000 (16:14 -0500)]
Use cairo_show_glyphs for rendering text

A small step for now.

13 years agoFactor out decoding of character attributes
Kristian Høgsberg [Tue, 11 Jan 2011 15:26:04 +0000 (10:26 -0500)]
Factor out decoding of character attributes

13 years agoOnly draw background if it's different from what's already there
Kristian Høgsberg [Tue, 11 Jan 2011 15:15:21 +0000 (10:15 -0500)]
Only draw background if it's different from what's already there

13 years agoMake border color a color from the color table
Kristian Høgsberg [Tue, 11 Jan 2011 15:13:00 +0000 (10:13 -0500)]
Make border color a color from the color table

13 years agoAdd helper to set color from color table
Kristian Høgsberg [Tue, 11 Jan 2011 15:11:39 +0000 (10:11 -0500)]
Add helper to set color from color table

13 years agoSplit background and foreground painting into separate loops
Kristian Høgsberg [Sat, 25 Dec 2010 13:58:46 +0000 (08:58 -0500)]
Split background and foreground painting into separate loops

13 years agoFix terminal resizing
Kristian Høgsberg [Tue, 11 Jan 2011 15:00:52 +0000 (10:00 -0500)]
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().

13 years agoterminal: fix crashing when terminal size is < 0
Tiago Vignatti [Mon, 10 Jan 2011 17:30:04 +0000 (19:30 +0200)]
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>
13 years agoterminal: Various fixes
Callum Lowcay [Fri, 7 Jan 2011 19:47:03 +0000 (19:47 +0000)]
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>
13 years agoterminal: Special keys
Callum Lowcay [Fri, 7 Jan 2011 19:47:02 +0000 (19:47 +0000)]
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>
13 years agoterminal: Implement character set switching
Callum Lowcay [Fri, 7 Jan 2011 19:47:01 +0000 (19:47 +0000)]
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>
13 years agoterminal: vt102 editing commands
Callum Lowcay [Fri, 7 Jan 2011 19:47:00 +0000 (19:47 +0000)]
terminal: vt102 editing commands

Implement the vt102 editing commands, and insert/replace mode.

Signed-off-by: Callum Lowcay <callum@callumscode.com>
13 years agoterminal: Basic vt100 escape codes
Callum Lowcay [Fri, 7 Jan 2011 19:46:59 +0000 (19:46 +0000)]
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>
13 years agoterminal: Scroll margins
Callum Lowcay [Fri, 7 Jan 2011 19:46:58 +0000 (19:46 +0000)]
terminal: Scroll margins

Implement scroll margins and related escape codes.

Signed-off-by: Callum Lowcay <callum@callumscode.com>
13 years agoterminal: Escape sequence handling fixes
Callum Lowcay [Fri, 7 Jan 2011 19:46:57 +0000 (19:46 +0000)]
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>
13 years agoterminal: Window size ioctls
Callum Lowcay [Fri, 7 Jan 2011 19:46:56 +0000 (19:46 +0000)]
terminal: Window size ioctls

Use TIOCSWINSZ ioctl to set window size on terminal resize.
This causes applications to be notified of the resize event.

Signed-off-by: Callum Lowcay <callum@callumscode.com>
13 years agoterminal: Fancy colors
Callum Lowcay [Fri, 7 Jan 2011 19:46:55 +0000 (19:46 +0000)]
terminal: Fancy colors

Includes bold, underline, inverse, and blink attributes.  Blink is
rendered bold as in xterm.  Supports xterm's 256 color palette.

Signed-off-by: Callum Lowcay <callum@callumscode.com>
13 years agoterminal: UTF-8 support
Callum Lowcay [Fri, 7 Jan 2011 19:46:54 +0000 (19:46 +0000)]
terminal: UTF-8 support

Signed-off-by: Callum Lowcay <callum@callumscode.com>
13 years agoMap new surfaces on top of all other surface
Kristian Høgsberg [Fri, 7 Jan 2011 21:13:00 +0000 (16:13 -0500)]
Map new surfaces on top of all other surface

13 years agogears: Include config.h
Kristian Høgsberg [Fri, 7 Jan 2011 19:42:49 +0000 (14:42 -0500)]
gears: Include config.h

13 years agoAdd missing newline in gears error message
Kristian Høgsberg [Fri, 7 Jan 2011 19:04:43 +0000 (14:04 -0500)]
Add missing newline in gears error message

13 years agoSimplify visual check
Kristian Høgsberg [Fri, 7 Jan 2011 14:19:25 +0000 (09:19 -0500)]
Simplify visual check

13 years agoIgnore surface.map_toplevel() if already mapped
Kristian Høgsberg [Fri, 7 Jan 2011 13:38:56 +0000 (08:38 -0500)]
Ignore surface.map_toplevel() if already mapped

13 years agoPass EGL_NO_CONTEXT to eglCreateImageKHR for EGL_DRM_BUFFER_MESA target
Kristian Høgsberg [Thu, 6 Jan 2011 20:45:19 +0000 (15:45 -0500)]
Pass EGL_NO_CONTEXT to eglCreateImageKHR for EGL_DRM_BUFFER_MESA target

13 years agoInitialize surface->link so we can always wl_list_remove() it
Kristian Høgsberg [Thu, 6 Jan 2011 20:32:14 +0000 (15:32 -0500)]
Initialize surface->link so we can always wl_list_remove() it

In particular, even if we never added it to the compositor surface list.

13 years agoMerge remote branch 'nobled/fixes2'
Kristian Høgsberg [Thu, 6 Jan 2011 19:22:59 +0000 (14:22 -0500)]
Merge remote branch 'nobled/fixes2'

13 years agoMove grab definitions to wayland-util.h
Kristian Høgsberg [Thu, 6 Jan 2011 15:00:23 +0000 (10:00 -0500)]
Move grab definitions to wayland-util.h

These tokens really are part of the protocol and we need to extend the
scanner to generate them.

13 years agoWorkaround gears depending on cairo-gl
nobled [Wed, 5 Jan 2011 17:48:15 +0000 (17:48 +0000)]
Workaround gears depending on cairo-gl

Extremely hacky, but at least it doesn't stop the build anymore.

13 years agoMove basic grab handling to core libraries
Kristian Høgsberg [Wed, 5 Jan 2011 22:34:54 +0000 (17:34 -0500)]
Move basic grab handling to core libraries

13 years agoFix window.c build without cairo-gl
nobled [Wed, 5 Jan 2011 17:41:55 +0000 (17:41 +0000)]
Fix window.c build without cairo-gl

13 years agoInstall the pkgconfig files
Kristian Høgsberg [Sat, 1 Jan 2011 15:55:45 +0000 (10:55 -0500)]
Install the pkgconfig files

Lost the install rule when we converted to automake.

13 years agoFix compositor-wayland
Kristian Høgsberg [Fri, 17 Dec 2010 14:54:45 +0000 (09:54 -0500)]
Fix compositor-wayland

13 years agoUpdate surface.attach and change surface.map to surface.map_toplevel
Kristian Høgsberg [Fri, 17 Dec 2010 14:53:12 +0000 (09:53 -0500)]
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.

13 years agoFix the resizor
Kristian Høgsberg [Fri, 17 Dec 2010 02:11:10 +0000 (21:11 -0500)]
Fix the resizor

13 years agoSchedule frame callback in the redraw handler
Kristian Høgsberg [Thu, 16 Dec 2010 19:56:41 +0000 (14:56 -0500)]
Schedule frame callback in the redraw handler

13 years agoAdd window resize sample client
Kristian Høgsberg [Thu, 16 Dec 2010 18:35:23 +0000 (13:35 -0500)]
Add window resize sample client

This is an example of how to animate window resizing.  The size is
animated by a simple physics model that allows the user to cancel the
animation halfway and still look good.

13 years agoFixed a small typo
Joel Teichroeb [Sun, 12 Dec 2010 05:08:53 +0000 (21:08 -0800)]
Fixed a small typo

13 years agoMove code around to keep input device interface and init function close
Kristian Høgsberg [Thu, 9 Dec 2010 16:29:40 +0000 (11:29 -0500)]
Move code around to keep input device interface and init function close

13 years agoDocument the shell.configure event a bit
Kristian Høgsberg [Thu, 9 Dec 2010 16:06:46 +0000 (11:06 -0500)]
Document the shell.configure event a bit

13 years agoSet up visuals in wayland-server
Kristian Høgsberg [Wed, 8 Dec 2010 20:12:58 +0000 (15:12 -0500)]
Set up visuals in wayland-server

Still very much hand-wavey, but at least it's only in one place now.

13 years agoHandle buttons in grab objects too
Kristian Høgsberg [Wed, 8 Dec 2010 16:07:57 +0000 (11:07 -0500)]
Handle buttons in grab objects too

13 years agoMove grab state to struct wl_input_device
Kristian Høgsberg [Wed, 8 Dec 2010 14:48:52 +0000 (09:48 -0500)]
Move grab state to struct wl_input_device

13 years agoReenable fragment shader precision specifier
Kristian Høgsberg [Wed, 8 Dec 2010 01:19:10 +0000 (20:19 -0500)]
Reenable fragment shader precision specifier

13 years agoUse grab object for motion grabs too
Kristian Høgsberg [Tue, 7 Dec 2010 22:06:15 +0000 (17:06 -0500)]
Use grab object for motion grabs too

Now all grabs use grab objects, so drop the grab enum.

13 years agoMake wlsc_input_device_update_grab() take a grab object
Kristian Høgsberg [Tue, 7 Dec 2010 20:08:16 +0000 (15:08 -0500)]
Make wlsc_input_device_update_grab() take a grab object

13 years agoUse a grab object for drag and drop
Kristian Høgsberg [Tue, 7 Dec 2010 19:58:57 +0000 (14:58 -0500)]
Use a grab object for drag and drop

13 years agoHandle shell.move using a grab object
Kristian Høgsberg [Tue, 7 Dec 2010 18:30:18 +0000 (13:30 -0500)]
Handle shell.move using a grab object

13 years agoMove resizing to a grab object
Kristian Høgsberg [Tue, 7 Dec 2010 18:04:43 +0000 (13:04 -0500)]
Move resizing to a grab object

13 years agoAdd grab object infrastructure
Kristian Høgsberg [Tue, 7 Dec 2010 17:29:03 +0000 (12:29 -0500)]
Add grab object infrastructure

13 years agoDrop dummy wl_grab_surface hack
Kristian Høgsberg [Tue, 7 Dec 2010 14:15:57 +0000 (09:15 -0500)]
Drop dummy wl_grab_surface hack

13 years agoRemove unnecessary wlsc_compositor_schedule_repaint() call
Kristian Høgsberg [Tue, 7 Dec 2010 14:03:02 +0000 (09:03 -0500)]
Remove unnecessary wlsc_compositor_schedule_repaint() call

13 years agoReduce indentation in notify_button()
Kristian Høgsberg [Tue, 7 Dec 2010 14:02:09 +0000 (09:02 -0500)]
Reduce indentation in notify_button()

13 years agoStart grab when button is pressed, upgrade if we start drag, move or resize
Kristian Høgsberg [Tue, 7 Dec 2010 13:59:51 +0000 (08:59 -0500)]
Start grab when button is pressed, upgrade if we start drag, move or resize

Fixes crash on click in terminal.

13 years agoMove get_time() helper back into compositor
Kristian Høgsberg [Tue, 7 Dec 2010 02:41:10 +0000 (21:41 -0500)]
Move get_time() helper back into compositor

13 years agoPass timestamp in surface destroy callback
Kristian Høgsberg [Tue, 7 Dec 2010 02:38:50 +0000 (21:38 -0500)]
Pass timestamp in surface destroy callback

13 years agoMove focus tracking surface destroy callbacks into core
Kristian Høgsberg [Tue, 7 Dec 2010 02:35:19 +0000 (21:35 -0500)]
Move focus tracking surface destroy callbacks into core

13 years agoUse surface destroy notifier for cancelling grabs
Kristian Høgsberg [Tue, 7 Dec 2010 02:32:15 +0000 (21:32 -0500)]
Use surface destroy notifier for cancelling grabs

13 years agoUse the per-surface destroy callback for grabs as well
Kristian Høgsberg [Mon, 6 Dec 2010 22:33:11 +0000 (17:33 -0500)]
Use the per-surface destroy callback for grabs as well

13 years agoMove get_time() helper to core
Kristian Høgsberg [Mon, 6 Dec 2010 21:56:28 +0000 (16:56 -0500)]
Move get_time() helper to core

We'll need a better strategy for generating timestamps without input events
or pageflips.  At least we'll need to ensure everybody is using the same
underlying time source.

13 years agoAdd a surface destroy callback and use it for focus tracking
Kristian Høgsberg [Mon, 6 Dec 2010 21:43:16 +0000 (16:43 -0500)]
Add a surface destroy callback and use it for focus tracking

13 years agoRefactor drm buffer creation a bit
Kristian Høgsberg [Mon, 6 Dec 2010 15:46:37 +0000 (10:46 -0500)]
Refactor drm buffer creation a bit

13 years agoWhen no DRM present, clients (window.c actually) now either exit orderly,
Yuval Fledel [Mon, 6 Dec 2010 14:18:12 +0000 (09:18 -0500)]
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

13 years agoAdd origin information to output.geometry event
Kristian Høgsberg [Thu, 2 Dec 2010 01:10:10 +0000 (20:10 -0500)]
Add origin information to output.geometry event

13 years agoUse generated wl_interface for visuals
Kristian Høgsberg [Thu, 2 Dec 2010 01:06:39 +0000 (20:06 -0500)]
Use generated wl_interface for visuals

13 years agoSilence scanner makefile rule by default
Kristian Høgsberg [Wed, 1 Dec 2010 22:46:56 +0000 (17:46 -0500)]
Silence scanner makefile rule by default

13 years agoChage the 'base' field to be the name of the super class instead
Kristian Høgsberg [Wed, 1 Dec 2010 22:07:41 +0000 (17:07 -0500)]
Chage the 'base' field to be the name of the super class instead

Instead of display->base.base we want display->proxy.object, or

        buffer->buffer.resource.object.id = id;

which makes it clear what we end up addressing.

13 years agoUpdate TODO
Kristian Høgsberg [Wed, 1 Dec 2010 22:00:17 +0000 (17:00 -0500)]
Update TODO

13 years agocompositor: Use a virtual destructor when shutting down
Kristian Høgsberg [Wed, 1 Dec 2010 21:52:15 +0000 (16:52 -0500)]
compositor: Use a virtual destructor when shutting down

Backend can now rely on their destroy function getting called on shutdown,
so reset tty etc there instead of handling SIGTERM twice.

13 years agocompositor: Shut down properly so we remove the socket
Kristian Høgsberg [Wed, 1 Dec 2010 21:43:56 +0000 (16:43 -0500)]
compositor: Shut down properly so we remove the socket

13 years agoCreate socket in /var/run/user/${HOME}
Kristian Høgsberg [Wed, 1 Dec 2010 20:36:20 +0000 (15:36 -0500)]
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.

13 years agoIndentation nit-picking
Kristian Høgsberg [Wed, 1 Dec 2010 15:21:15 +0000 (10:21 -0500)]
Indentation nit-picking

13 years agoMove pointer and keyboard focus tracking into libwayland-server
Kristian Høgsberg [Wed, 1 Dec 2010 15:17:47 +0000 (10:17 -0500)]
Move pointer and keyboard focus tracking into libwayland-server

13 years agoFix warnings from adding -Wall back
Kristian Høgsberg [Wed, 1 Dec 2010 14:50:16 +0000 (09:50 -0500)]
Fix warnings from adding -Wall back

13 years agoAdd $(GCC_CFLAGS) back
Kristian Høgsberg [Wed, 1 Dec 2010 14:46:10 +0000 (09:46 -0500)]
Add $(GCC_CFLAGS) back

Missed this when moving to automake.

13 years agocompositor-wayland: Call wlsc_compositor_finish_frame from frame callback
Kristian Høgsberg [Wed, 1 Dec 2010 14:42:10 +0000 (09:42 -0500)]
compositor-wayland: Call wlsc_compositor_finish_frame from frame callback

13 years agocompositor-wayland: Use glFlush() not glFinish() after rendering frame
Kristian Høgsberg [Wed, 1 Dec 2010 14:40:58 +0000 (09:40 -0500)]
compositor-wayland: Use glFlush() not glFinish() after rendering frame

13 years agoFix key handler to not run handlers from an empty list
Kristian Høgsberg [Wed, 1 Dec 2010 14:39:37 +0000 (09:39 -0500)]
Fix key handler to not run handlers from an empty list

13 years agoDescribe the wire protocol
Yuval Fledel [Mon, 22 Nov 2010 23:56:45 +0000 (01:56 +0200)]
Describe the wire protocol

13 years agoMake the dnd client actually work.
Joel Teichroeb [Tue, 30 Nov 2010 18:22:16 +0000 (10:22 -0800)]
Make the dnd client actually work.

The dnd client now sends a mime type of
application/x-wayland-dnd-flower instead of text/plain.  The dnd
message is just the position and random seed that lets the drop source
add the flower to its grid.

13 years agoAdd reject round trip to dnd protocol
Kristian Høgsberg [Tue, 30 Nov 2010 20:10:26 +0000 (15:10 -0500)]
Add reject round trip to dnd protocol

This lets a drag target reject a drop.

13 years agoDon't hardcode offered dnd types in window.c
Kristian Høgsberg [Tue, 30 Nov 2010 19:01:07 +0000 (14:01 -0500)]
Don't hardcode offered dnd types in window.c

13 years agoMade the window save the coordinates when being draged.
Joel Teichroeb [Tue, 30 Nov 2010 18:22:13 +0000 (10:22 -0800)]
Made the window save the coordinates when being draged.

13 years agoAdd wayland backend for compositor (nested)
Benjamin Franzke [Sat, 27 Nov 2010 18:04:12 +0000 (19:04 +0100)]
Add wayland backend for compositor (nested)

13 years agowayland_client: rename wl_display_create to wl_display_connect
Benjamin Franzke [Sat, 27 Nov 2010 18:04:11 +0000 (19:04 +0100)]
wayland_client: rename wl_display_create to wl_display_connect

Avoid conflict when using wayland-{server,client} together.

13 years agoConsolidate 'sync' and 'frame' events into just one 'key' event
Kristian Høgsberg [Mon, 29 Nov 2010 22:04:21 +0000 (17:04 -0500)]
Consolidate 'sync' and 'frame' events into just one 'key' event

13 years agoDocument wl_list
Yuval Fledel [Mon, 29 Nov 2010 19:29:10 +0000 (21:29 +0200)]
Document wl_list

Comments only.

13 years agoDescribe the protocol using inline XML comments
Yuval Fledel [Mon, 29 Nov 2010 19:05:26 +0000 (21:05 +0200)]
Describe the protocol using inline XML comments

Signed-off-by: Yuval Fledel <yuvalfl@gmail.com>
13 years agofix missing includes in clients/window.h and clients/wayland-glib.h
Fred Morcos [Sun, 28 Nov 2010 18:31:55 +0000 (19:31 +0100)]
fix missing includes in clients/window.h and clients/wayland-glib.h

13 years agoDefine MULT outside the HAVE_CAIRO_GL #ifdef
Kristian Høgsberg [Mon, 29 Nov 2010 13:13:35 +0000 (08:13 -0500)]
Define MULT outside the HAVE_CAIRO_GL #ifdef

13 years agoFix udev rules install directory
Kristian Høgsberg [Wed, 24 Nov 2010 19:29:59 +0000 (14:29 -0500)]
Fix udev rules install directory

13 years agoFix potentially undefined behavior
Joel Teichroeb [Wed, 24 Nov 2010 02:01:40 +0000 (18:01 -0800)]
Fix potentially undefined behavior

Really this time.

http://llvm.org/bugs/show_bug.cgi?id=8670

13 years agoSome additional return value checking
Darxus [Tue, 23 Nov 2010 02:24:39 +0000 (21:24 -0500)]
Some additional return value checking

13 years agoMake clients exit orderly when there is no connection
Yuval Fledel [Mon, 22 Nov 2010 19:34:19 +0000 (21:34 +0200)]
Make clients exit orderly when there is no connection

13 years agoadd newlines for error printfs
Yuval Fledel [Mon, 22 Nov 2010 19:42:58 +0000 (21:42 +0200)]
add newlines for error printfs

13 years agoxml tag should close, or some parsers fail
Yuval Fledel [Mon, 22 Nov 2010 19:25:58 +0000 (21:25 +0200)]
xml tag should close, or some parsers fail

13 years agoFix compositor crash when dragging to a surface that disappears
Kristian Høgsberg [Mon, 22 Nov 2010 18:58:46 +0000 (13:58 -0500)]
Fix compositor crash when dragging to a surface that disappears

13 years agowindow: Don't call drag_offer_handler if it's NULL
Kristian Høgsberg [Mon, 22 Nov 2010 18:02:21 +0000 (13:02 -0500)]
window: Don't call drag_offer_handler if it's NULL

Reported by canbaby@21cn.com.

13 years agoTwo typo fixes in the documentation
Fabian Henze [Fri, 19 Nov 2010 09:28:32 +0000 (10:28 +0100)]
Two typo fixes in the documentation

Two typo fixes in specs/main.tex, mentioned in an earlier mail.

13 years agoFunction declares a pointer return, so return one.
Bryce Harrington [Fri, 19 Nov 2010 20:14:39 +0000 (12:14 -0800)]
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>
13 years agoQuell warning about potentially uninitialized variable 'surface'
Bryce Harrington [Fri, 19 Nov 2010 20:14:55 +0000 (12:14 -0800)]
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>