Kristian Høgsberg [Fri, 21 Jan 2011 16:35:05 +0000 (11:35 -0500)]
Use cairo_push_group() for all double buffering, drop window_copy_*()
Kristian Høgsberg [Thu, 20 Jan 2011 17:37:33 +0000 (12:37 -0500)]
Use cairo_push_group() for double buffering in the terminal
Slightly different version of the patch from twied.
Kristian Høgsberg [Thu, 20 Jan 2011 16:56:57 +0000 (11:56 -0500)]
Render selection
Kristian Høgsberg [Wed, 19 Jan 2011 19:41:20 +0000 (14:41 -0500)]
Use libxkbcommon #defines for modifiers
Kristian Høgsberg [Wed, 19 Jan 2011 19:27:42 +0000 (14:27 -0500)]
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'.
Kristian Høgsberg [Wed, 19 Jan 2011 19:20:33 +0000 (14:20 -0500)]
Pass input device and time in key_handler callback
Move the modifiers to a input device getter function.
Kristian Høgsberg [Wed, 19 Jan 2011 19:11:48 +0000 (14:11 -0500)]
Put the fd in the closure so debugging can print it
Kristian Høgsberg [Wed, 19 Jan 2011 19:08:21 +0000 (14:08 -0500)]
Use different closures for sending and receiving
Otherwise we can end up overwriting data in the receive buffer as we
try to send it.
Kristian Høgsberg [Tue, 18 Jan 2011 14:23:13 +0000 (09:23 -0500)]
Use the global handler in dnd instead of custom drag_offer hook
Kristian Høgsberg [Tue, 18 Jan 2011 14:17:57 +0000 (09:17 -0500)]
window: Add a catch-all global handler hook
Kristian Høgsberg [Tue, 18 Jan 2011 14:08:53 +0000 (09:08 -0500)]
First attempt at selection support
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
Benjamin Franzke [Sat, 15 Jan 2011 14:06:37 +0000 (15:06 +0100)]
clients/Makefile: Add AM_CPPFLAGS to view's CPPFLAGS
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.
Benjamin Franzke [Sat, 15 Jan 2011 11:34:48 +0000 (12:34 +0100)]
compositor-wayland: Assign func pointers pre init
Kristian Høgsberg [Sat, 15 Jan 2011 01:45:23 +0000 (20:45 -0500)]
simple-client: Remove unnecessary flush
Kristian Høgsberg [Sat, 15 Jan 2011 01:39:21 +0000 (20:39 -0500)]
simple-client: Create GLES2 context
Kristian Høgsberg [Sat, 15 Jan 2011 01:38:35 +0000 (20:38 -0500)]
Link simple-client against libGLESv2.so, not full GL
Kristian Høgsberg [Sat, 15 Jan 2011 00:13:22 +0000 (19:13 -0500)]
Merge remote branch 'bnf/simple_client'
Benjamin Franzke [Fri, 14 Jan 2011 23:40:17 +0000 (00:40 +0100)]
Add a simple client
Benjamin Franzke [Fri, 14 Jan 2011 23:40:00 +0000 (00:40 +0100)]
connection: Write before reading connection data
Kristian Høgsberg [Fri, 14 Jan 2011 22:41:33 +0000 (17:41 -0500)]
Check for cairo-egl instead of just cairo-gl
Kristian Høgsberg [Fri, 14 Jan 2011 22:28:21 +0000 (17:28 -0500)]
Check for GL_EXT_texture_format_BGRA8888
Kristian Høgsberg [Fri, 14 Jan 2011 22:27:24 +0000 (17:27 -0500)]
Both internalFormat and format should be GL_BGRA_EXT
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
Kristian Høgsberg [Fri, 14 Jan 2011 21:22:37 +0000 (16:22 -0500)]
Remove unused visual argument to wlsc_surface_create()
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
Kristian Høgsberg [Fri, 14 Jan 2011 19:59:13 +0000 (14:59 -0500)]
Move tty and vt handling out in its own file
Kristian Høgsberg [Fri, 14 Jan 2011 19:49:46 +0000 (14:49 -0500)]
Some kind of support for touchscreen
Kristian Høgsberg [Fri, 14 Jan 2011 19:45:42 +0000 (14:45 -0500)]
Split out evdev handling to its own file
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
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>
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
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>
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.
Kristian Høgsberg [Tue, 11 Jan 2011 16:06:49 +0000 (11:06 -0500)]
Batch up drawing glyphs
Kristian Høgsberg [Sat, 25 Dec 2010 21:58:31 +0000 (16:58 -0500)]
Hold on to the scaled fonts we use
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.
Kristian Høgsberg [Tue, 11 Jan 2011 15:26:04 +0000 (10:26 -0500)]
Factor out decoding of character attributes
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
Kristian Høgsberg [Tue, 11 Jan 2011 15:13:00 +0000 (10:13 -0500)]
Make border color a color from the color table
Kristian Høgsberg [Tue, 11 Jan 2011 15:11:39 +0000 (10:11 -0500)]
Add helper to set color from color table
Kristian Høgsberg [Sat, 25 Dec 2010 13:58:46 +0000 (08:58 -0500)]
Split background and foreground painting into separate loops
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().
Callum Lowcay [Mon, 10 Jan 2011 20:08:59 +0000 (09:08 +1300)]
Merge branch 'master' of git://anongit.freedesktop.org/wayland
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
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>
Kristian Høgsberg [Fri, 7 Jan 2011 21:13:00 +0000 (16:13 -0500)]
Map new surfaces on top of all other surface
Kristian Høgsberg [Fri, 7 Jan 2011 19:42:49 +0000 (14:42 -0500)]
gears: Include config.h
Kristian Høgsberg [Fri, 7 Jan 2011 19:04:43 +0000 (14:04 -0500)]
Add missing newline in gears error message
Kristian Høgsberg [Fri, 7 Jan 2011 14:19:25 +0000 (09:19 -0500)]
Simplify visual check
Kristian Høgsberg [Fri, 7 Jan 2011 13:38:56 +0000 (08:38 -0500)]
Ignore surface.map_toplevel() if already mapped
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
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.
Kristian Høgsberg [Thu, 6 Jan 2011 19:22:59 +0000 (14:22 -0500)]
Merge remote branch 'nobled/fixes2'
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.
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.
Kristian Høgsberg [Wed, 5 Jan 2011 22:34:54 +0000 (17:34 -0500)]
Move basic grab handling to core libraries
nobled [Wed, 5 Jan 2011 17:41:55 +0000 (17:41 +0000)]
Fix window.c build without cairo-gl
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.
Kristian Høgsberg [Fri, 17 Dec 2010 14:54:45 +0000 (09:54 -0500)]
Fix compositor-wayland
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.
Kristian Høgsberg [Fri, 17 Dec 2010 02:11:10 +0000 (21:11 -0500)]
Fix the resizor
Kristian Høgsberg [Thu, 16 Dec 2010 19:56:41 +0000 (14:56 -0500)]
Schedule frame callback in the redraw handler
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.
Joel Teichroeb [Sun, 12 Dec 2010 05:08:53 +0000 (21:08 -0800)]
Fixed a small typo
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
Kristian Høgsberg [Thu, 9 Dec 2010 16:06:46 +0000 (11:06 -0500)]
Document the shell.configure event a bit
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.
Kristian Høgsberg [Wed, 8 Dec 2010 16:07:57 +0000 (11:07 -0500)]
Handle buttons in grab objects too
Kristian Høgsberg [Wed, 8 Dec 2010 14:48:52 +0000 (09:48 -0500)]
Move grab state to struct wl_input_device
Kristian Høgsberg [Wed, 8 Dec 2010 01:19:10 +0000 (20:19 -0500)]
Reenable fragment shader precision specifier
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.
Kristian Høgsberg [Tue, 7 Dec 2010 20:08:16 +0000 (15:08 -0500)]
Make wlsc_input_device_update_grab() take a grab object
Kristian Høgsberg [Tue, 7 Dec 2010 19:58:57 +0000 (14:58 -0500)]
Use a grab object for drag and drop
Kristian Høgsberg [Tue, 7 Dec 2010 18:30:18 +0000 (13:30 -0500)]
Handle shell.move using a grab object
Kristian Høgsberg [Tue, 7 Dec 2010 18:04:43 +0000 (13:04 -0500)]
Move resizing to a grab object
Kristian Høgsberg [Tue, 7 Dec 2010 17:29:03 +0000 (12:29 -0500)]
Add grab object infrastructure
Kristian Høgsberg [Tue, 7 Dec 2010 14:15:57 +0000 (09:15 -0500)]
Drop dummy wl_grab_surface hack
Kristian Høgsberg [Tue, 7 Dec 2010 14:03:02 +0000 (09:03 -0500)]
Remove unnecessary wlsc_compositor_schedule_repaint() call
Kristian Høgsberg [Tue, 7 Dec 2010 14:02:09 +0000 (09:02 -0500)]
Reduce indentation in notify_button()
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.
Kristian Høgsberg [Tue, 7 Dec 2010 02:41:10 +0000 (21:41 -0500)]
Move get_time() helper back into compositor
Kristian Høgsberg [Tue, 7 Dec 2010 02:38:50 +0000 (21:38 -0500)]
Pass timestamp in surface destroy callback
Kristian Høgsberg [Tue, 7 Dec 2010 02:35:19 +0000 (21:35 -0500)]
Move focus tracking surface destroy callbacks into core
Kristian Høgsberg [Tue, 7 Dec 2010 02:32:15 +0000 (21:32 -0500)]
Use surface destroy notifier for cancelling grabs
Kristian Høgsberg [Mon, 6 Dec 2010 22:33:11 +0000 (17:33 -0500)]
Use the per-surface destroy callback for grabs as well
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.
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
Kristian Høgsberg [Mon, 6 Dec 2010 15:46:37 +0000 (10:46 -0500)]
Refactor drm buffer creation a bit