summaryrefslogtreecommitdiffstats
path: root/client/canvas.h
Commit message (Collapse)AuthorAgeFilesLines
* Add support for Composite command to the clientSøren Sandmann Pedersen2012-08-241-0/+1
| | | | | | All the real work is being done in spice-common, so this patch is just hooking up the virtual calls and adding the SPICE_DISPLAY_CAP_COMPOSITE capability.
* Add some more 'noreturn' annotationsDaniel P. Berrange2012-04-251-1/+1
| | | | | | | | Methods which longjump, unconditionally raise an exception, or call _exit() cannot return control to the caller so should be annotated with 'noreturn' Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
* Use the spice-common submoduleMarc-André Lureau2012-03-251-4/+6
| | | | | | | | | | | | | | | | | | 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 unused Canvas membersChristophe Fergeau2012-03-201-3/+0
| | | | | The various Canvas have _max and _base variables which are not used, better to remove them.
* Remove trailing blank linesDaniel P. Berrange2012-01-131-1/+0
| | | | Remove any blank lines at the end of all source files
* client: rewrite surfaces cacheYonit Halperin2011-11-021-138/+14
| | | | | | | | | | | use std::map instead of a specific template (CHash). There is no need for special template. Moreover, using std::map will allow easy iteration over the surfaces. (cherry picked from commit fcb3b4ce5231218bcf949da4270bd85a2cfb3535 branch 0.8) Conflicts: client/display_channel.cpp
* autotools: correctly build canvas-related codeChristophe Fergeau2011-05-031-1/+0
| | | | | | | | | | | | | | | | | | | | | spice client and spice server shares code from common/{gdi,gl,sw}_canvas.[ch]. However, while most of the code is shared, the server code wants a canvas compiled with SW_CANVAS_IMAGE_CACHE defined while the client code wants a canvas compiled with SW_CANVAS_CACHE. The initial autotools refactoring didn't take that into account, this is now fixed by this commit. After this commit, the canvas files from common/ are no longer compiled as part of the libspice-common.la convenience library. Instead, there are "proxy" canvas source files in client/ and server/ which #include the appropriate C files after defining the relevant #define for the binary that is being built. To prevent misuse of the canvas c files and headers in common/, SPICE_CANVAS_INTERNAL must be set when including the canvas headers from common/ or when building the c files from common/ otherwise the build will error out.
* Remove unused method declarationsAlexander Larsson2010-07-081-5/+0
|
* applying zlib compression over glz on WAN connectionYonit Halperin2010-06-211-0/+3
|
* Make all message structs internal to spiceAlexander Larsson2010-06-181-1/+1
| | | | | | | 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.
* Client: Use the autogenerated demarshallersAlexander Larsson2010-06-181-1/+0
| | | | | | | | | | | | | | | | 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.
* support for lossy images in the pixmap cache and fill bitsYonit Halperin2010-06-091-1/+22
| | | | | | 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
* JPEG support: introducing jpeg encoding for spice bitmapsYonit Halperin2010-06-091-0/+4
|
* Remove all mentions of "cairo" from the codeAlexander Larsson2010-05-031-1/+1
| | | | | The command line option is renamed from "cairo" to "sw", and similarly all filenames and types from Cairo to Sw (and similar).
* Make each surface its own depth/formatAlexander Larsson2010-04-231-3/+6
| | | | | | | | 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.
* Add emacs modelines to more filesAlexander Larsson2010-04-231-0/+1
|
* Relicense everything from GPL to LGPL 2.1+Alexander Larsson2010-04-131-9/+9
|
* libspice: add off screens supportIzik Eidus2010-04-031-1/+142
| | | | Signed-off-by: Izik Eidus <ieidus@redhat.com>
* Move virtualization of canvas drawing into common/canvas_baseAlexander Larsson2010-03-081-20/+9
| | | | | | | | | | | 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.
* Make canvas Glz decoder integration nicerAlexander Larsson2010-03-081-1/+0
| | | | | We use a dynamic interface similar to e.g. SpiceImageCache instead of passing both function and opaque
* Remove qcairo dependency, only use pixmanAlexander Larsson2010-02-231-1/+0
|
* Replace custom region implementation with pixman_region32_tAlexander Larsson2010-02-231-2/+1
| | | | | | 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.
* Use pixman_image_t instead of cairo_surface_t as the generic pixman containerAlexander Larsson2010-02-231-15/+15
| | | | | | 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.
* Turn image and palette cache into c style dynamic interfaceAlexander Larsson2010-02-231-7/+67
| | | | | | 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.
* Use the new header namesAlexander Larsson2010-02-041-1/+1
| | | | | | 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
* Rename symbols that were changed in spice-protocolAlexander Larsson2010-02-041-44/+44
| | | | | | 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
* spice: server: add memslots support.Izik Eidus2009-11-231-1/+1
| | | | Signed-off-by: Izik Eidus <ieidus@redhat.com>
* fresh startYaniv Kamay2009-10-141-0/+265