summaryrefslogtreecommitdiffstats
path: root/client/cursor_channel.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Use the spice-common submoduleMarc-André Lureau2012-03-251-1/+2
| | | | | | | | | | | | | | | | | | This patch will replace the common/ directory with the spice-common project. It is for now a simple project subdirectory shared with spice-gtk, but the goal is to make it a proper library later on. With this change, the spice-server build is broken. The following commits fix the build, and have been seperated to ease the review. v2 - moves all the generated marshallers to spice-common library - don't attempt to fix windows VS build, which should somehow be splitted with spice-common (or built from tarball only to avoid generation tools/libs deps) v3 - uses libspice-common-client - fix a mutex.h inclusion reported by Alon
* Remove trailing blank linesDaniel P. Berrange2012-01-131-1/+0
| | | | Remove any blank lines at the end of all source files
* add #include <config.h> to all source filesChristophe Fergeau2011-05-031-0/+3
| | | | | | | | When using config.h, it must be the very first include in all source files since it contains #define that may change the compilation process (eg libc structure layout changes when it's used to enable large file support on 32 bit x86 archs). This commit adds it at the beginning of all .c and .cpp files
* Make cursor data @as_ptr to avoid copying dataAlexander Larsson2010-06-181-4/+4
|
* Client: Use the autogenerated demarshallersAlexander Larsson2010-06-181-23/+17
| | | | | | | | | | | | | | | | 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.
* Fix some misspelled identifiersAlexander Larsson2010-05-211-4/+4
| | | | | | | | | severty -> severity SpiceResorceID -> SpiceResourceID SpiceResorceList -> SpiceResourceList resorces -> resources ped_size -> pad_size postition -> position
* Fix spelling errors in comments and stringsAlexander Larsson2010-05-211-1/+1
|
* Remove all mentions of "cairo" from the codeAlexander Larsson2010-05-031-9/+9
| | | | | The command line option is renamed from "cairo" to "sw", and similarly all filenames and types from Cairo to Sw (and similar).
* Client: Support pixmap format conversion in copy_pixelsAlexander Larsson2010-04-231-4/+4
| | | | | | | | | | | | | | | | | | | | | | 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.
* Make client canvas and pixmaps handle more formats and simplifyAlexander Larsson2010-04-231-6/+4
| | | | | | | | | | | 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.
* Relicense everything from GPL to LGPL 2.1+Alexander Larsson2010-04-131-9/+9
|
* Use macros from <spice/macros.h> rather than duplicate themAlexander Larsson2010-03-091-3/+3
|
* Replace custom region implementation with pixman_region32_tAlexander Larsson2010-02-231-2/+12
| | | | | | 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.
* Rename symbols that were changed in spice-protocolAlexander Larsson2010-02-041-72/+72
| | | | | | 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
* client: interactive screen layerYaniv Kamay2009-11-301-185/+185
|
* spice client: Transfer all channels run loop from EventsLoop class to ↵Yonit Halperin2009-11-091-1/+1
| | | | ProcessLoop class
* spice client: creating a general process loop.Yonit Halperin2009-11-091-9/+13
| | | | | | | | | | | 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.
* fresh startYaniv Kamay2009-10-141-0/+661