Commit Graph

362 Commits

Author SHA1 Message Date
Alexander Larsson
601aecc8ad Remove unused method declarations 2010-07-08 14:19:45 +02:00
Alexander Larsson
0659fb7897 Move in spice/draw.h from spice-protocol to common/ 2010-07-08 13:56:01 +02:00
Alon Levy
0e16cadc70 Make CEGUI optional
This makes the CEGUI dependency optional and off by default. Restoring
previous behaviour of exiting on disconnect if disabled.
2010-07-01 13:48:58 +02:00
Alexander Larsson
d69fd9408c client: Use ASSERT, not assert 2010-07-01 10:50:12 +02:00
Alexander Larsson
5cd86fc45d Update client and protocol to support the new SpiceClipRects 2010-06-30 22:35:16 +02:00
Yonit Halperin
59152e31f0 client: add --include "common.h" for generated marshallers 2010-06-29 13:59:46 +02:00
Yonit Halperin
270a1e6df3 fixed unhandled destroy screen in Application:restore_screens_size 2010-06-29 13:59:46 +02:00
Yonit Halperin
3ca28ddf28 detaching the screen when the primary surface is destoryed and closing the window if the primary surface is not recreated (the monitor has been detached). 2010-06-29 13:59:46 +02:00
Alexander Larsson
7e26ff3c26 Replace log4cpp with custom log function
Also prints a simpler error to stderr for WARN or above so that
we print something on the commandline if something go wrong.
2010-06-28 21:54:53 +02:00
Alexander Larsson
b08b80d13f Fix build error due to member "SpiceMsgEmpty" same name as type 2010-06-28 12:45:07 +02:00
Alexander Larsson
9655dc30e9 Remove support for clip by path
This is not supported currently anyway and was not generated before.
2010-06-24 14:30:00 +02:00
Alexander Larsson
dc8625c7e1 Make pointers 32bit in new protocol format 2010-06-23 16:33:07 +02:00
Alexander Larsson
eb3fe11d94 Fix version mismatch error on connect
Protocol is 0 (auto), 1 (old), or 2 (new). This is (apart from 0) the
same as the major number for the stable protocol. However, the current major
is ~(-1) to signify it being unstable, so don't use the major number as source
for setting or comparing protocol.
2010-06-23 12:18:41 +02:00
Alexander Larsson
f35ac2049a Fix screen resolution changes on old servers
* Correctly check for existing canvas 0
* Don't try to unlock the screen size if there is no active screen
2010-06-23 11:37:01 +02:00
Alexander Larsson
72cf104c28 client: Support connecting to a major==1 server 2010-06-22 17:34:45 +02:00
Alexander Larsson
652c13e71b Implement display_mode message needed for backwards compat 2010-06-22 17:34:45 +02:00
Alexander Larsson
2788b2ec46 Generate marshaller/demarshallers for old protocol 2010-06-22 17:34:39 +02:00
Alexander Larsson
36fd22a9db Add more emacs mode headers 2010-06-22 12:03:21 +02:00
Alexander Larsson
5c05a24ba1 Convert client to use indirect calls for message marshalling
This is required to support multiple versions
2010-06-22 10:54:59 +02:00
Alexander Larsson
9123e24e7b Add destructor for demarshalled messages
This is required because we don't want to free messages that just
refer to the unparsed message (like SpiceMsgData).

Also, in the future we might need it for more complex demarshalling.
2010-06-22 10:53:24 +02:00
Yonit Halperin
25bb38f643 applying zlib compression over glz on WAN connection 2010-06-21 15:05:37 +02:00
Alexander Larsson
cfc1e95bda Make opengl optional, disabled by default
The OpenGL renderer isn't really useful right now, its not quite up
to date, its not really faster than software and it only supports a limited
subset of drivers. So, lets disable it for now.

Long term opengl rendering of the 2d part of spice is important if we want
to combine 2d and 3d rendering (say if spice adds opengl support in the
protocol). But until then this is isn't useful for normal use.
2010-06-21 14:50:18 +02:00
Alexander Larsson
ae4436215c Make generated marshallers build on win32 2010-06-18 21:10:25 +02:00
Alexander Larsson
972951dbb7 Make sound data @as_ptr to avoid copying data 2010-06-18 20:27:32 +02:00
Alexander Larsson
3c8cb83af5 Make cursor data @as_ptr to avoid copying data 2010-06-18 20:27:32 +02:00
Alexander Larsson
4c1094acce Make all message structs internal to spice
We move all message structs from spice-protocol to spice as
we want to be able to change these as needed internally. The
on-network format is no longer defined by these structures anyway,
but rather by the spice protocol description.
2010-06-18 20:27:32 +02:00
Alexander Larsson
ee91ed475d Switch client to use generated marshallers 2010-06-18 20:27:32 +02:00
Alexander Larsson
1302667662 Generate and link marshallers into client 2010-06-18 20:27:32 +02:00
Alexander Larsson
1a0b3fbdbb Generate demarshalling code on win32 too 2010-06-18 16:32:11 +02:00
Alexander Larsson
4154d70289 Client: Use the autogenerated demarshallers
When a message has been read from the network we now pass it into
the generated demarshaller for the channel. The demarshaller converts
the network data to in-memory structures that is passed on to the
spice internals.

Additionally it also:
* Converts endianness
* Validates sizes of message and any pointers in it
* Localizes offsets (converts them to pointers)
* Checks for zero offsets in messages where they are not supported

Some of this was previously done using custom code in the client, this
is now removed.
2010-06-18 16:32:11 +02:00
Alexander Larsson
17bbef4df3 Generate demarshallers in client 2010-06-18 16:32:11 +02:00
Alexander Larsson
aa6b7b5beb Use the correctly spelled enum values from the new generated enums 2010-06-18 16:32:10 +02:00
Alexander Larsson
1ba1ce52ed Use the new enums for keyboard modifier flags 2010-06-18 16:32:10 +02:00
Yonit Halperin
5d2ae66f50 support for lossy images in the pixmap cache and fill bits
1) add an option to determine if a bitmap can be sent lossy to the client
2) when required, replacing lossy cache items with their correspending
   lossless bitmaps
2010-06-09 11:41:01 +02:00
Yonit Halperin
263646a1f7 JPEG support: introducing jpeg encoding for spice bitmaps 2010-06-09 11:40:25 +02:00
Alexander Larsson
3e989a361c client: Only invalidate on screen if drawing to the primary surface 2010-06-09 11:16:48 +02:00
Alexander Larsson
f9da2720ae Fix some misspelled identifiers
severty -> severity
SpiceResorceID -> SpiceResourceID
SpiceResorceList -> SpiceResourceList
resorces -> resources
ped_size -> pad_size
postition -> position
2010-05-21 11:14:29 +02:00
Alexander Larsson
012bd25779 Fix spelling errors in comments and strings 2010-05-21 10:51:28 +02:00
Gerd Hoffmann
d9084bfb64 Revert "[debug] migration troubleshooting"
This reverts commit 08927fabe5.
2010-05-19 12:09:22 +02:00
Gerd Hoffmann
08927fabe5 [debug] migration troubleshooting 2010-05-19 11:22:07 +02:00
Alexander Larsson
ae40f270cf Remove all mentions of "cairo" from the code
The command line option is renamed from "cairo" to "sw", and
similarly all filenames and types from Cairo to Sw (and similar).
2010-05-03 12:38:02 +02:00
Alexander Larsson
fcbd3208fc client: Report window format right for win32 2010-04-29 13:34:44 +02:00
Alexander Larsson
1e4ec1f513 client: Support 16bpp pixmaps on win32 2010-04-29 13:34:16 +02:00
Gerd Hoffmann
e52974c7b4 fix two warnings 2010-04-26 14:01:37 +02:00
Alexander Larsson
a1ec6e065a Fix up win32 client with recent changes 2010-04-23 16:41:47 +02:00
Alexander Larsson
4f5a09a73d Make each surface its own depth/format
Surface creation now specifies the exact format, not only the bit depth
of each surface which is used for rendering.

Additionally we now actually store the surfaces in that format, instead
of converting everything to 32bpp when drawing or e.g. handling palettes.
2010-04-23 16:41:42 +02:00
Alexander Larsson
774e5bd36f Client: Support pixmap format conversion in copy_pixels
In order to be able to support 16bit canvases on 32bit screens and 32bit
canvases on 16bit screens we need to handle format conversion when drawing
RedPixmaps.

The way this works now for X11 is that we only have one PIXELS_SOURCE_TYPE
for pixmaps, which always has a pixman_image_t for the data, but additionally
it has an XImage (shared mem or not) if the screen the pixmap was created
for (i.e. an explicit one or the default screen) has the same format as
the pixmap.

When we draw a pixmap on a drawable we have two variants. If the pixmap
has a XImage and it matches the format of the target drawable then we
just X(Shm)PutImage it to the drawable. If the formats differ, then we
create a temporary XImage and convert into that before drawing it to
the screen.

Right now this is a bit inefficient, because we always allocate a new
temporary image when converting. We want to add some caching here, but
at least this lets things work again.
2010-04-23 16:39:13 +02:00
Alexander Larsson
d2a2f18b6e X11 client: Add helper for XImage construction 2010-04-23 16:36:35 +02:00
Alexander Larsson
4200c66cd7 Add utility functions to create XShm images 2010-04-23 16:36:35 +02:00
Alexander Larsson
ecc51c6478 Create screen composit area in same format as window
This way we don't have to convert when drawing to it, or drawing it to
the dc.
2010-04-23 16:36:35 +02:00
Alexander Larsson
1efe358a05 Add helper to compare RedDrawable::Formats for copy compabible
Being copy compatible means the format are identical except
that some bits in the source may be ignored in the destination.
2010-04-23 16:36:35 +02:00
Alexander Larsson
5c2d9a3e32 Add RedDrawable::Format get_format()
This is useful because we can e.g. create pixmaps in the same format as
a window.
2010-04-23 16:36:35 +02:00
Alexander Larsson
cfa250caa2 Add XPlatform::get_screen_format for X11 2010-04-23 16:36:35 +02:00
Alexander Larsson
2d6fbde89b Move RedPixmap::Format to RedDrawable::Format
We need to know the format for other drawables too (like for instance
the native format of a window), so we're pushing this down.

This changes a bunch of references to be RedDrawable::, but not all.
The the old RedPixmap:: references still work, but will be phased out.
2010-04-23 16:36:35 +02:00
Alexander Larsson
98d91203c5 Make client canvas and pixmaps handle more formats and simplify
We now support 16bit format pixmaps as well as the old ones. Including
both 555 and 565 modes.

We drop the palette argument for pixmap construction as it was only
used for black/white anyway.

Canvas creation is simplified so that there is no separate set_mode
state. Canvases are already created in the right mode and never change.
2010-04-23 16:36:35 +02:00
Alexander Larsson
ee04978272 Add emacs modelines to more files 2010-04-23 16:36:31 +02:00
Alexander Larsson
aeab661c5d Make client start if screen is 16bpp
The current glx code is looking for a rgb32 visual and always failing
if there is none. This means not even software rendering starts up
on e.g. 16bit visuals. This commit makes it pick software fallbacks
on 16bit visuals.

Long term we need to fix the gl implementation to do 16bpp too.
2010-04-23 16:36:31 +02:00
Alexander Larsson
9c02d15396 Client: Don't die if XIM not availible 2010-04-23 16:36:31 +02:00
Alexander Larsson
43a61bb6fe Detect XShm extension sanely
The previous way XShm detection worked failed at least for me, and is
not the standard way. We now just use XShmQueryExtension and
XShmQueryVersion.
2010-04-23 16:36:31 +02:00
Alexander Larsson
5a1f8bafa0 Avoid unncessary buffer management in mjpeg decoder if possible 2010-04-14 11:41:37 +02:00
Alexander Larsson
c97116aeb9 Relicense everything from GPL to LGPL 2.1+ 2010-04-13 22:22:15 +02:00
Alexander Larsson
cc9b7a21fb Fix A1 handling in RedDrawable combine_pixels.
The previous code was just busted, as apparent on e.g. the cursor
in MS Paint.
2010-04-13 11:48:13 +02:00
Alexander Larsson
3f94cad657 Use upstream name for pthreads lib and new freetype version 2010-04-12 21:43:16 +02:00
Alexander Larsson
d033a7c71e Fixed vs2008 warning 2010-04-12 21:43:16 +02:00
Izik Eidus
22d1ac9eb5 spice: win32 client: fix gdi locking
While the fix could have been more effective,
it seems like this patch stream better with the coding
logic that was there..., maybe later we will want to change
the locking into more effective way.

(There is just the primary surface to protect in reiality)

Signed-off-by: Izik Eidus <ieidus@redhat.com>
2010-04-09 05:09:02 +03:00
Alexander Larsson
187a4230e5 Remove leftover AutoVStreamInit class 2010-04-08 17:48:40 +02:00
Alexander Larsson
de4306af33 Initialize _kill_mark so we don't get spurious valgrind warnings 2010-04-08 17:09:32 +02:00
Alexander Larsson
18485cef06 Free the jpeg decoder with the stream 2010-04-08 16:35:10 +02:00
Alexander Larsson
5059c304be Use libjpeg to decode mjpegs, not ffmpeg
This is pretty straightforward, although there are two weird issues.
The current encoder has two bugs in the yuv conversion. First of all
it switches red and blue, due to something of an endianness issue. We
keep this behavior by switching red and blue. Maybe we want to
change this in the new protocol version since switching this may
cause jpeg compression to be worse.

Secondly, the old coder/decoder did rgb to/from yuv420 wrongly for
jpeg, not using the "full scale" version of Y that is used in jpeg,
but the other one where y goes from 16 to 235. (See jpeg/jfif
reference on http://en.wikipedia.org/wiki/YCbCr for details.)
The new decoder uses the full range in order to get better quality,
which means old encoders will show slightly darker images.

This completely removes all ffmpeg usage in the client
2010-04-08 11:30:18 +02:00
Alexander Larsson
ed568302ad Update project file to visual studio 2008 2010-04-08 09:30:16 +02:00
Yonit Halperin
88aa56045a client: handling SPICE_MSG_MAIN_MIGRATE_SWITCH_HOST
disconnecting from the current host and connecting to the target host.
2010-04-06 14:56:46 +02:00
Yonit Halperin
91bc0e8625 client: fix unsafe access to an event member 2010-04-06 11:34:21 +02:00
Yonit Halperin
6f40c593e9 client: x11: fix a crash caused by a call to a destroyed window.
Happens when a focused window is destroyed without a focus out event,
and a focus-in event occurs on another window.
2010-04-03 05:55:00 +03:00
Izik Eidus
4a208b3644 libspice: add off screens support
Signed-off-by: Izik Eidus <ieidus@redhat.com>
2010-04-03 05:35:31 +03:00
Izik Eidus
27a8ec1ef4 spice server: surface create/destroy protocol support
Now we can send commands from the server to the client
to destroy surfaces (right now just the primary surface)

Needed for offscreens support)

Another patch`s on the way.

Signed-off-by: Izik Eidus <ieidus@redhat.com>
2010-04-03 05:34:48 +03:00
Alon Levy
77f6d70541 spice: client: fix handling of top down images in video streams
Top down streams arrive from x11-qxl driver.
2010-03-24 15:23:20 +01:00
Alexander Larsson
1c98a3536b configure.ac: client: replace $(top_srcdir) in x11/Makefile.am (subdir config)
Replace all "$(top_srcdir)/common" with "$(SPICE_COMMON_DIR)"
and     all "$(top_srcdir)/client" with custom "$(CLIENTDIR)"

This would (after following patches) enables building the client from
either spice/ (top directory) or spice/client.
2010-03-24 15:04:30 +01:00
Yonit Halperin
457693fcfa client: add command line support for ciphers, ca file, and host certificate subject 2010-03-18 10:21:47 +01:00
Søren Sandmann Pedersen
46ad8fd070 Explicitly depend on various X libraries, and -pthread
In Fedora 13, the linker doesn't pull in DT_NEEDED libraries anymore,
so we have to list the things that we depend on explicitly.

This affects several X extension libraries, and also the pthread
library.
2010-03-11 06:37:41 -05:00
Alexander Larsson
440ac41cf1 New memory allocators that exit on OOM and handle multiplication overflow
Every place that does a regular malloc/calloc and aborts on failure
should use spice_malloc/spice_mallo0 instead, which is leaner and cleaner.

Allocations of dynamically sized arrays can use g_malloc_n or g_new etc
which correctly handle multiplication overflow if some of the arguments
are not trusted.
2010-03-11 12:13:59 +01:00
Alexander Larsson
22b551f97f Define __STDC_LIMIT_MACROS for c++ code to get SIZE_MAX
We need SIZE_MAX for the malloc overflow code, and its not defined
in C++ unless __STDC_LIMIT_MACROS is defined.
2010-03-10 21:28:48 +01:00
Alexander Larsson
0230541af5 Define GL_GLEXT_PROTOTYPES in CFLAGS not in random places in the source 2010-03-10 21:28:47 +01:00
Alexander Larsson
90c5766caf Use macros from <spice/macros.h> rather than duplicate them 2010-03-09 11:10:00 +01:00
Alexander Larsson
18606d99ea Move canvas_region and group_start/end to canvas_base 2010-03-08 19:45:28 +01:00
Alexander Larsson
f8217d8b96 Move virtualization of canvas drawing into common/canvas_base
Instead of having two virtualizations of the canvas we push the
virtualization into the canvas code itself. This not only avoids
the duplication of this code, it also makes the exposed API for the
canvas much smaller (in terms of exported API).

It also lets us use the virtualization to implement basic support
for operations in canvas_base which is then overridden by each canvas
implementation.
2010-03-08 19:45:28 +01:00
Alexander Larsson
c0fdcd1a10 Make canvas Glz decoder integration nicer
We use a dynamic interface similar to e.g. SpiceImageCache instead
of passing both function and opaque
2010-03-08 19:45:27 +01:00
Alexander Larsson
4f097150cb Fix up win32 build reference to pixman_utils.cpp
It was pointing to the wrong directory for pixman_utils.cpp
2010-03-05 17:17:23 +01:00
Alexander Larsson
2d203bc428 Only use AI_ADDRCONF if availible
AI_ADDRCONF not availible on winXP, so this fixes windows build.
2010-03-03 16:14:19 +01:00
Larsson@.(none)
d425690875 Update visual studio project for pixman changes 2010-03-01 15:12:37 +01:00
Larsson@.(none)
c28169976a Make gdi canvas build in the new pixman world 2010-03-01 15:12:35 +01:00
Gerd Hoffmann
872be6b2d7 spice client: add ipv6 support.
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2010-02-27 22:12:08 +02:00
Gerd Hoffmann
878c215501 spice client: fix dns lookup
ignore lookup results which are not ipv4

Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
2010-02-27 22:08:47 +02:00
Alexander Larsson
239b2b66b2 Remove qcairo dependency, only use pixman 2010-02-23 22:52:06 +01:00
Alexander Larsson
295738b453 Remove cairo use in client 2010-02-23 22:52:06 +01:00
Alexander Larsson
1caa4b65c5 Remove no longer needed CAIRO_CANVAS_CACH_IS_SHARED define and code 2010-02-23 22:52:06 +01:00
Alexander Larsson
7992266ccf Remove cairo_t from cairo canvas 2010-02-23 22:52:06 +01:00
Alexander Larsson
98dde80ed3 Replace custom region implementation with pixman_region32_t
pixman_region32_t is an efficient well tested region implementation (its
the one used in X) that we already depend on via pixman and use in
some places. No need to have a custom region implementation.
2010-02-23 22:52:06 +01:00
Alexander Larsson
16780a7b81 Use pixman_image_t instead of cairo_surface_t as the generic pixman container
This allows us to use the simpler dependency of pixman outside of the
cairo backend, and it later lets us move the cairo backend to using
pixman only.
2010-02-23 22:52:01 +01:00
Alexander Larsson
0b0342ee7e Turn image and palette cache into c style dynamic interface
Instead of passing a bunch of function pointer and an opaque
pointer we make a real type and add a vtable pointer to it.
This means we can simplify all the canvas constructors, etc.
2010-02-23 14:43:20 +01:00
Alexander Larsson
7537acd630 Add optional templated base class to Cache and SharedCache
We want this for integration with C-style classes.
2010-02-23 14:43:20 +01:00
Alexander Larsson
60a189f250 Add line rasterizer 2010-02-23 14:43:20 +01:00
Alexander Larsson
9091e763a8 Add pixman utilities
This includes:
 * pixman region from SpiceRects
 * rop2 enum
 * solid fill
 * solid fill with rop
 * tiled fill
 * tiled fill with rop
 * blit
 * blit with rop
 * copy rect
2010-02-23 14:43:15 +01:00
Alexander Larsson
b82f9ed2b3 Fix delete vs delete[] mismatches
This fixes a bunch of valgrind warnings.
2010-02-10 11:25:28 +01:00
Alexander Larsson
39be5a8b13 Use standard int types and <spice/types.h> 2010-02-04 18:49:05 +01:00
Alexander Larsson
90104b39ae Revert automatic renames that were wrong
Seems my rename script didn't handle C++ namespaces that well.
2010-02-04 18:49:05 +01:00
Alexander Larsson
16540e9953 Use the new header names
I just ran:
 find -name "*.[ch]" | xargs sed -i -f ../spice-protocol/includes.sed
 find -name "*.cpp" | xargs sed -i -f ../spice-protocol/includes.sed
2010-02-04 18:49:05 +01:00
Alexander Larsson
1f51697852 Rename symbols that were changed in spice-protocol
This is an automatic change using:
$ find -name "*.[ch]" | xargs ../spice-protocol/rename-identifiers.sh ../spice-protocol/renames
$ find -name "*.cpp" | xargs ../spice-protocol/rename-identifiers.sh ../spice-protocol/renames
2010-02-04 18:49:00 +01:00
Alexander Larsson
3d84818a7b Depend on spice-protocol module
This doesn't actually use the new module, just sets it up for use.
2010-02-04 16:54:17 +01:00
Alexander Larsson
a8ffd12e99 Filter out XIM X events
XIM ClientMessage events to an XIM internal window was triggering
the check for a window message procs. We need to properly filter
events with XFilterEvent to avoid this happening.
2010-02-04 16:11:38 +01:00
Yaniv Kamay
8ceb531958 client: add Platform::term_printf
Platform::term_printf is a variant of printf that
on windows dynamically opens console in order to
have visible output during command line processing.
2010-01-11 19:57:29 +02:00
Yaniv Kamay
3c1ff6448d client: fix logger init mix-up 2010-01-11 19:39:54 +02:00
Yaniv Kamay
ad12181027 client: move log file to spicec appdata dir 2010-01-11 19:30:39 +02:00
Yonit Halperin
3eae1c80d9 server,client: server authentication for secured channels.
3 available mechanisms:  by public key, by host name, and by certificate subject name.
In the former method, chain of trust verification is not performed.
The CA certificate files are looked for under <spice-config-dir>/spice_truststore.pem

windows <spice-config-dir>=%APPDATA%\spicec\
linux <spice-config-dir>=$HOME/.spicec/
2010-01-11 19:10:54 +02:00
Arnon Gilboa
dcf326cfd5 spice: menu additons
-functions: set_name, remove_command, remove_sub, clear
-item state & enum
-add state support in RedWindow insert_command & insert_menu
2010-01-07 13:53:41 +02:00
Arnon Gilboa
6dd05455fb spice: add missing break 2010-01-06 17:26:23 +02:00
Yaniv Kamay
c362f8473b client: use spice icon instead-of solidice icon 2010-01-04 21:13:03 +02:00
Arnon Gilboa
ea9af22e62 spice: position mouse in primary monitor center after full screen toggle
-move _focused & _pointer_in_window from RedWindow to RedWindow_p's
-move shadow focus & cursor handling to sync()
-add reset_cursor_pos() to Platform
-Monitor set_mode()/restore() use virtual do_set_mode()/do_restore()
2009-12-30 22:15:02 +02:00
Arnon Gilboa
02a07b2c06 spice: on_activate_screen generates on_key_down for any modifier pressed
-call SetWindowsHookEx(WH_KEYBOARD_LL, LowLevelKeyboardProc...) only once, in RedWindow::init()
-add Application::cleanup_globals() & RedWindow::cleanup()
-cleanup LowLevelKeyboardProc()
2009-12-30 22:09:25 +02:00
Yaniv Kamay
c57bcf6f44 client: let PreLoginDialog save and restore LoginDialog 2009-12-28 16:44:38 +02:00
Yaniv Kamay
76fc1dd847 client: remove splash image 2009-12-28 12:39:37 +02:00
Yaniv Kamay
68fb440129 client: add GUI infrastructure + functional login dialog 2009-12-28 12:38:58 +02:00
Yaniv Kamay
659be313a4 client: add gui res files 2009-12-28 12:38:03 +02:00
Yaniv Kamay
ce480b0733 client: add soft renderer and cegui 2009-12-28 12:37:01 +02:00
Yaniv Kamay
2dbaf8c00c client: smiplify DisconnectedEvent 2009-12-28 12:36:46 +02:00
Yaniv Kamay
62248734bd client: move visibility change logic from screen to app 2009-12-28 12:36:21 +02:00
Yaniv Kamay
c6435ea02b client: wait for disconnect state in RedClient::connect() 2009-12-28 12:35:54 +02:00
Yaniv Kamay
cced1b1cff client: improve screen resizing
Screen now have to modes locked and unlocked.

In unlocked mode, the application can change screen size and so
reduce resolution changing. The application can also choose to
change window size while not in full screen mode.

In locked mode the application must ewtain locker screen size
setting.
2009-12-28 12:35:32 +02:00
Yaniv Kamay
941ba9bf5c client: restore mouse capture state after screen resizing 2009-12-28 12:35:14 +02:00
Yaniv Kamay
321d375b5e win client: change avcodec version to 51 2009-12-24 00:45:20 +02:00
Yaniv Kamay
a0a1a973d8 client: new static title image 2009-12-23 22:29:15 +02:00
Izik Eidus
cb0cd69933 spice: fix ssl compiling errors
(openssl api was changed, so lets have ifdef to compile in all cases)

Signed-off-by: Izik Eidus <ieidus@redhat.com>
2009-12-22 21:39:17 +02:00
Izik Eidus
e93ef13b8f spice: client: add checks to see if it is safe to use XShem.
Beacuse that XShem internal checks wont fail when using the spice client
from remote, we are adding check on the socket family to see if it is
unix domain socket and fail in case it is not.

Signed-off-by: Izik Eidus <ieidus@redhat.com>
2009-12-22 21:34:55 +02:00
Yaniv Kamay
6c5966d8ed client: KeyHandler now receive unicode char event in addition to RedKey events 2009-11-30 18:22:13 +02:00
Yaniv Kamay
81241dd825 client: move scan code translation to InputsChannel 2009-11-30 18:15:08 +02:00
Yaniv Kamay
4f2e36f08a remove unuse Application::is_cad_pressed() 2009-11-30 18:10:28 +02:00
Yaniv Kamay
6f4736e08b client: split inputs handler 2009-11-30 18:08:16 +02:00
Yaniv Kamay
3b51087b36 client: interactive screen layer 2009-11-30 18:03:35 +02:00
Izik Eidus
a70110c4e5 spice: server: add memslots support.
Signed-off-by: Izik Eidus <ieidus@redhat.com>
2009-11-23 20:54:11 +02:00
Yaniv Kamay
f20e0d3200 add missing alt_image.c to Makefile.am 2009-11-18 14:03:46 +02:00
Arnon Gilboa
3cabc1c1e7 spice: pass modifiers stroke events down the hook chain 2009-11-18 13:42:48 +02:00
Arnon Gilboa
56eb1acb9e spice: add [pid:tid] to log lines 2009-11-18 13:36:43 +02:00
Arnon Gilboa
8b36ed5460 spice: on toggle_full_screen, generate on_key_down if shift is still pressed 2009-11-18 13:25:06 +02:00
Arnon Gilboa
6ff080c0f8 spice: show splash screen on disconnect only on debug 2009-11-17 16:00:25 +02:00
Yaniv Kamay
c7346dd0cb client: change jitter buffer size to 300ms 2009-11-16 00:04:03 +02:00
Yonit Halperin
a461f0655f spice client: sticky Alt activation when holding an Alt key: bug #505912.
Additional changes that were required for the feature:
    1) focusing on the pointed window in full screen mode
    2) In X11 - handling events that occur during keyboard ungrabbing
    3) In X11 - handling Leave/Enter Notify events that occur during keyboard grabbing/ungrabbing
    4) In X11 - fix for focus events that are handled in the wrong order (happens when
       focus events occur during grabbing the keyboard)
    5) In X11 - ignoring key release events during key holding
    6) In Windows - synchronizing keyboard release events that occured during a modal loop
2009-11-15 13:41:10 +02:00
Izik Eidus
3915319125 spice: client: gl: fix glx support.
Just move around touch_context and untouch_context to be at the right
places.

Signed-off-by: Izik Eidus <ieidus@redhat.com>
2009-11-09 23:10:49 +02:00
Izik Eidus
54cf04beed client: fix colormap handling.
Signed-off-by: Izik Eidus <ieidus@redhat.com>
2009-11-09 22:34:05 +02:00
Yonit Halperin
1121d8c629 spice client: tunnel channel - checking that the configuration pipe listener was created before deleting it 2009-11-09 22:14:47 +02:00
Yonit Halperin
e74de7834d spice client: calling the timers during modal loop in Windows 2009-11-09 22:10:50 +02:00
Yonit Halperin
2e4d709805 spice client: fixed missing AutoRef 2009-11-09 19:48:52 +02:00
Yonit Halperin
ec34856fea spice client: remove timer interface from platform - use Application (via ProcessLoop interface). 2009-11-09 19:06:44 +02:00
Yonit Halperin
278c40f301 spice client: cosmetic changes 2009-11-09 17:38:27 +02:00
Yonit Halperin
49f5e5973c spice client: Transfer all channels run loop from EventsLoop class to ProcessLoop class 2009-11-09 17:30:49 +02:00
Yonit Halperin
8d5b738ba1 spice client: creating a general process loop.
The process loop is responsible for: 1) waiting for events 2) timers 3) events queue for
actions that should be performed in the context of the thread and are pushed from other threads.
The benefits:
1) remove duplicity: till now, there was one implementaion of events loop for the channels and
another one for the main thread.
2) timers can be executed on each thread and not only on the main thread.
3) events can be pushed to each thread and not only to the main thread.
In this commit, only the main thread was modified to use the new process loop.
2009-11-09 14:39:33 +02:00
Yaniv Kamay
0829346996 fix win client copyright string 2009-10-27 15:43:09 +02:00
Yaniv Kamay
1a77e6390e fix bad initialization of XDisplay in case crt have more then one output 2009-10-27 00:14:57 +02:00
Yaniv Kamay
c12c3facbd fix build on Debian 2009-10-26 23:30:41 +02:00
Izik Eidus
48535714bf spice: move create and destroy of the canvas to new place
work around for xlib threaded bugs

Signed-off-by: Izik Eidus <ieidus@redhat.com>
2009-10-25 20:15:41 +02:00
Izik Eidus
07c1a13fb3 spice xclient: move xsync() to be at the right place.
Signed-off-by: Izik Eidus <ieidus@redhat.com>
2009-10-25 20:15:26 +02:00
Yonit Halperin
ef213c66c1 tunnel 2009-10-18 17:42:37 +02:00
Yaniv Kamay
308e4545cb change development version to 0.5.0 2009-10-14 15:55:31 +02:00
Yaniv Kamay
c1b79eb035 fresh start 2009-10-14 15:06:41 +02:00