summaryrefslogtreecommitdiffstats
path: root/common/gl_canvas.c
Commit message (Collapse)AuthorAgeFilesLines
* 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
* Properly parse QXLImage to the new-world SpiceImageGerd Hoffmann2010-07-071-6/+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).
* Convert SpicePath.segments to a pointer arrayAlexander Larsson2010-07-051-7/+5
|
* Update for the SpicePath.segments type changeAlexander Larsson2010-07-011-1/+1
|
* Simplify SpiceLineAttr by removing unsed stuffAlexander Larsson2010-06-301-1/+1
| | | | Also in new protocol don't send style data if not needed.
* Store SpicePath segment count rather than sizeAlexander Larsson2010-06-301-6/+4
| | | | | | | | | | | | | | | | | | | Internally and in the network protocol (for the new version) we now store the actual number of segments rather than the size of the full segments array in bytes. This change consists of multiple changes to handle this: * Make the qxl parser calculate num_segments * Make the canvas stroke code handle the new SpicePath layout. * Fix up is_equal_path in red_worker.c for the new layout * replace multiple calls to spice_marshall_PathSegment with a single spice_marshall_Path call * Make the byte_size() array size handling do the conversion from network size to number of elements when marshalling/demarshalling. * Update the current spice protocol to send the segment count rather than the size * Update the old spice protocol to use the new byte_size functionallity to calculate the size sent and the number of elements recieved
* qxl-abi: handle clip rect and path references.Gerd Hoffmann2010-06-301-10/+8
| | | | | | | | | | | | red_parse_qxl.c starts to follow QXLPHYSICAL references and build up data structures. Can zap a bunch of get_virt calls in red_worker.c, followed by cleanups. (de-) marshaller needs updates to deal with that. Also I suspect with the get_virt() calls being gone we can offload more work to generated marshaller code. client doesn't build.
* qxl abi: parse QXLCopy + QXLBlend.Gerd Hoffmann2010-06-291-2/+2
| | | | Also adapt to tyops fix (s/rop_decriptor/rop_descriptor/).
* qxl abi: parse QXLOpaque.Gerd Hoffmann2010-06-291-2/+2
| | | | Also adapt to tyops fix (s/rop_decriptor/rop_descriptor/).
* qxl abi: parse QXLFill.Gerd Hoffmann2010-06-291-1/+1
| | | | Also adapt to tyops fix (s/rop_decriptor/rop_descriptor/).
* Remove support for clip by pathAlexander Larsson2010-06-241-6/+0
| | | | This is not supported currently anyway and was not generated before.
* applying zlib compression over glz on WAN connectionYonit Halperin2010-06-211-0/+2
|
* Client: Use the autogenerated demarshallersAlexander Larsson2010-06-181-15/+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.
* There are multiple line attribute flags enums, use only oneAlexander Larsson2010-06-171-2/+2
|
* JPEG support: introducing jpeg encoding for spice bitmapsYonit Halperin2010-06-091-0/+2
|
* Fix spelling errors in comments and stringsAlexander Larsson2010-05-211-1/+1
|
* Remove all mentions of "cairo" from the codeAlexander Larsson2010-05-031-7/+7
| | | | | 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-8/+8
| | | | | | | | 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.
* Make client canvas and pixmaps handle more formats and simplifyAlexander Larsson2010-04-231-2/+2
| | | | | | | | | | | 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
|
* libspice: add off screens supportIzik Eidus2010-04-031-0/+2
| | | | Signed-off-by: Izik Eidus <ieidus@redhat.com>
* Use the spice allocator in common/Alexander Larsson2010-03-111-5/+5
|
* Move canvas_region and group_start/end to canvas_baseAlexander Larsson2010-03-081-1/+6
|
* Move virtualization of canvas drawing into common/canvas_baseAlexander Larsson2010-03-081-47/+89
| | | | | | | | | | | 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-7/+2
|
* Make glz_decoder non-optional canvas_base in canvas constructorsAlexander Larsson2010-03-081-6/+1
| | | | | It can still be NULL, but we simplify the headers by always including it. There is no practical performance difference here.
* Make canvas Glz decoder integration nicerAlexander Larsson2010-03-081-3/+2
| | | | | We use a dynamic interface similar to e.g. SpiceImageCache instead of passing both function and opaque
* Replace custom region implementation with pixman_region32_tAlexander Larsson2010-02-231-9/+26
| | | | | | 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.
* Add possibility to not invert bitmask in canvas_get_mask()Alexander Larsson2010-02-231-1/+1
| | | | | This allows the pixman implementation to instead invert the (generally smaller) region instead of duplicating the bitmap to invert it.
* Use pixman_image_t instead of cairo_surface_t as the generic pixman containerAlexander Larsson2010-02-231-86/+85
| | | | | | 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-20/+6
| | | | | | 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 standard int types and <spice/types.h>Alexander Larsson2010-02-041-1/+1
|
* Rename symbols that were changed in spice-protocolAlexander Larsson2010-02-041-73/+73
| | | | | | 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-10/+14
| | | | Signed-off-by: Izik Eidus <ieidus@redhat.com>
* fresh startYaniv Kamay2009-10-141-0/+886