summaryrefslogtreecommitdiffstats
path: root/common/canvas_base.h
Commit message (Collapse)AuthorAgeFilesLines
* common: add windows.h where required, make gdi_handlers staticMarc-André Lureau2011-05-031-0/+3
| | | | | This patch has not been verified with VS/brew. It should be safe hopefully. Compilation is fine with mingw32/spice-gtk.
* autotools: correctly build canvas-related codeChristophe Fergeau2011-05-031-0/+3
| | | | | | | | | | | | | | | | | | | | | 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.
* common: add extern "C" guards to headersChristophe Fergeau2011-05-021-0/+8
| | | | | | Since some spice C++ code is using code from common/, the C functions need to be marked as such for the C++ compiler, otherwise we'll get linkage issues.
* Fix various misspellingsAlexander Larsson2010-07-081-1/+1
| | | | | | | | | | | | | letancy -> latency compund -> compound SpicedSubMessage -> SpiceSubMessage modifaiers -> modifiers massage -> message outgoiong -> outgoing AlphaBlnd -> AlphaBlend remoth -> remote modifires -> modifiers secore -> secure
* Fix inclusion of common files, no need for common/ partAlexander Larsson2010-07-081-1/+1
|
* Move in spice/draw.h from spice-protocol to common/Alexander Larsson2010-07-081-1/+1
|
* Properly parse QXLImage to the new-world SpiceImageGerd Hoffmann2010-07-071-11/+0
| | | | | SpiceImage now replaces RedImage and has all image types in it. All image data are now chunked (and as such not copied when demarshalling).
* applying zlib compression over glz on WAN connectionYonit Halperin2010-06-211-0/+13
|
* 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-0/+10
| | | | | | 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/+18
|
* Support alpha surface sources and destinationsAlexander Larsson2010-04-231-0/+6
|
* Relicense everything from GPL to LGPL 2.1+Alexander Larsson2010-04-131-9/+9
|
* libspice: add off screens supportIzik Eidus2010-04-031-0/+76
| | | | Signed-off-by: Izik Eidus <ieidus@redhat.com>
* Move most of the shared draw_xyz() methods from CairoCanvas to CanvasBaseAlexander Larsson2010-03-081-0/+84
| | | | | | This adds a set of virtual methods for low-level operations. A subclass can choose to implement those and let the default CanvasBase implementations handle the highlevel stuff.
* Move virtualization of canvas drawing into common/canvas_baseAlexander Larsson2010-03-081-0/+39
| | | | | | | | | | | 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 virt mapping an interfaceAlexander Larsson2010-03-081-5/+10
|
* Make canvas Glz decoder integration nicerAlexander Larsson2010-03-081-2/+12
| | | | | We use a dynamic interface similar to e.g. SpiceImageCache instead of passing both function and opaque
* Use pixman_image_t instead of cairo_surface_t as the generic pixman containerAlexander Larsson2010-02-231-4/+4
| | | | | | 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-9/+27
| | | | | | 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.
* Add emacs settings for indent according to spice styleguideAlexander Larsson2010-02-231-0/+1
|
* 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-4/+4
| | | | | | 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-0/+5
| | | | Signed-off-by: Izik Eidus <ieidus@redhat.com>
* fresh startYaniv Kamay2009-10-141-0/+40