platform/upstream/weston.git
13 years agoSplit shell object out from compositor.c into its own file
Kristian Høgsberg [Tue, 18 Jan 2011 12:53:49 +0000 (07:53 -0500)]
Split shell object out from compositor.c into its own file

13 years agoclients/Makefile: Add AM_CPPFLAGS to view's CPPFLAGS
Benjamin Franzke [Sat, 15 Jan 2011 14:06:37 +0000 (15:06 +0100)]
clients/Makefile: Add AM_CPPFLAGS to view's CPPFLAGS

13 years agocompositor: Attach only valid background buffers
Benjamin Franzke [Sat, 15 Jan 2011 11:34:49 +0000 (12:34 +0100)]
compositor: Attach only valid background buffers

If a background is not found,
create_buffer_from_png will return NULL.
Do not attach these buffers.

13 years agocompositor-wayland: Assign func pointers pre init
Benjamin Franzke [Sat, 15 Jan 2011 11:34:48 +0000 (12:34 +0100)]
compositor-wayland: Assign func pointers pre init

13 years agosimple-client: Remove unnecessary flush
Kristian Høgsberg [Sat, 15 Jan 2011 01:45:23 +0000 (20:45 -0500)]
simple-client: Remove unnecessary flush

13 years agosimple-client: Create GLES2 context
Kristian Høgsberg [Sat, 15 Jan 2011 01:39:21 +0000 (20:39 -0500)]
simple-client: Create GLES2 context

13 years agoLink simple-client against libGLESv2.so, not full GL
Kristian Høgsberg [Sat, 15 Jan 2011 01:38:35 +0000 (20:38 -0500)]
Link simple-client against libGLESv2.so, not full GL

13 years agoMerge remote branch 'bnf/simple_client'
Kristian Høgsberg [Sat, 15 Jan 2011 00:13:22 +0000 (19:13 -0500)]
Merge remote branch 'bnf/simple_client'

13 years agoAdd a simple client
Benjamin Franzke [Fri, 14 Jan 2011 23:40:17 +0000 (00:40 +0100)]
Add a simple client

13 years agoconnection: Write before reading connection data
Benjamin Franzke [Fri, 14 Jan 2011 23:40:00 +0000 (00:40 +0100)]
connection: Write before reading connection data

13 years agoCheck for cairo-egl instead of just cairo-gl
Kristian Høgsberg [Fri, 14 Jan 2011 22:41:33 +0000 (17:41 -0500)]
Check for cairo-egl instead of just cairo-gl

13 years agoCheck for GL_EXT_texture_format_BGRA8888
Kristian Høgsberg [Fri, 14 Jan 2011 22:28:21 +0000 (17:28 -0500)]
Check for GL_EXT_texture_format_BGRA8888

13 years agoBoth internalFormat and format should be GL_BGRA_EXT
Kristian Høgsberg [Fri, 14 Jan 2011 22:27:24 +0000 (17:27 -0500)]
Both internalFormat and format should be GL_BGRA_EXT

13 years agoMake it possible to enable/disable the various compositors from configure
Kristian Høgsberg [Fri, 14 Jan 2011 22:22:35 +0000 (17:22 -0500)]
Make it possible to enable/disable the various compositors from configure

13 years agoRemove unused visual argument to wlsc_surface_create()
Kristian Høgsberg [Fri, 14 Jan 2011 21:22:37 +0000 (16:22 -0500)]
Remove unused visual argument to wlsc_surface_create()

13 years agoMove buffer creation and buffer details into drm.c and shm.c
Kristian Høgsberg [Fri, 14 Jan 2011 21:20:21 +0000 (16:20 -0500)]
Move buffer creation and buffer details into drm.c and shm.c

13 years agoMove tty and vt handling out in its own file
Kristian Høgsberg [Fri, 14 Jan 2011 19:59:13 +0000 (14:59 -0500)]
Move tty and vt handling out in its own file

13 years agoSome kind of support for touchscreen
Kristian Høgsberg [Fri, 14 Jan 2011 19:49:46 +0000 (14:49 -0500)]
Some kind of support for touchscreen

13 years agoSplit out evdev handling to its own file
Kristian Høgsberg [Fri, 14 Jan 2011 19:45:42 +0000 (14:45 -0500)]
Split out evdev handling to its own file

13 years agoPick up input devices of type ID_INPUT_TABLET as well
Kristian Høgsberg [Fri, 14 Jan 2011 19:33:49 +0000 (14:33 -0500)]
Pick up input devices of type ID_INPUT_TABLET as well

13 years agoterminal: Fix bugs in attribute rendering
Callum Lowcay [Wed, 12 Jan 2011 07:06:17 +0000 (20:06 +1300)]
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>
13 years agoMerge branch 'master' of git://anongit.freedesktop.org/wayland
Callum Lowcay [Wed, 12 Jan 2011 06:40:14 +0000 (19:40 +1300)]
Merge branch 'master' of git://anongit.freedesktop.org/wayland

Conflicts:
clients/terminal.c

13 years agoterminal: Escape sequences with string parameters
Callum Lowcay [Wed, 12 Jan 2011 06:23:41 +0000 (19:23 +1300)]
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>
13 years agoclients: Make poppler-glib optional
Kristian Høgsberg [Tue, 11 Jan 2011 18:48:03 +0000 (13:48 -0500)]
clients: Make poppler-glib optional

Just don't compile the view client.

13 years agoBatch up drawing glyphs
Kristian Høgsberg [Tue, 11 Jan 2011 16:06:49 +0000 (11:06 -0500)]
Batch up drawing glyphs

13 years agoHold on to the scaled fonts we use
Kristian Høgsberg [Sat, 25 Dec 2010 21:58:31 +0000 (16:58 -0500)]
Hold on to the scaled fonts we use

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 agoMerge branch 'master' of git://anongit.freedesktop.org/wayland
Callum Lowcay [Mon, 10 Jan 2011 20:08:59 +0000 (09:08 +1300)]
Merge branch 'master' of git://anongit.freedesktop.org/wayland

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: More character attributes
Callum Lowcay [Sun, 9 Jan 2011 23:14:01 +0000 (12:14 +1300)]
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>
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