summaryrefslogtreecommitdiffstats
path: root/common/canvas_base.c
Commit message (Collapse)AuthorAgeFilesLines
* common/canvas_base.c: remove unused variablesAlon Levy2011-01-271-12/+0
|
* common, canvas_get_jpeg_alpha: let top_down be any valueAlon Levy2011-01-171-1/+1
| | | | | | | Allow top_down flag to have any value, only ASSERT it is positive when needs to be positive and zero otherwise. Allows older server bug of sending 4 instead of 1 in top down flag to not affect newer clients (previous patch fixes server).
* Handle surface images in DrawOpaqueAlexander Larsson2010-09-221-19/+42
|
* Fix crash when resetting pixman image transformAlexander Larsson2010-09-211-1/+2
| | | | | Resetting the transform is done by setting it to the identity transform, not passing in NULL. Passing in NULL causes a crash.
* canvas_base jpeg_alpha: supply the correct size to jpeg_decoderYonit Halperin2010-07-151-1/+1
|
* 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
* Move in spice/draw.h from spice-protocol to common/Alexander Larsson2010-07-081-1/+0
|
* Properly parse QXLLineAttrs.styleAlexander Larsson2010-07-081-1/+1
|
* Properly parse QXLImage to the new-world SpiceImageGerd Hoffmann2010-07-071-175/+92
| | | | | 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-12/+9
|
* Properly parse and marshall SpiceStringGerd Hoffmann2010-07-021-19/+4
|
* Fix build on win32Alexander Larsson2010-07-011-2/+2
|
* Update for the SpicePath.segments type changeAlexander Larsson2010-07-011-1/+1
|
* Store SpicePath segment count rather than sizeAlexander Larsson2010-06-301-8/+3
| | | | | | | | | | | | | | | | | | | 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-5/+4
| | | | | | | | | | | | 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-1/+1
| | | | 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-3/+0
| | | | This is not supported currently anyway and was not generated before.
* Lossy compression of RGBA images (on WAN connection)Yonit Halperin2010-06-211-2/+90
| | | | | The RGB channels are compressed using JPEG. The alpha channel is compressed using LZ.
* applying zlib compression over glz on WAN connectionYonit Halperin2010-06-211-9/+42
|
* Client: Use the autogenerated demarshallersAlexander Larsson2010-06-181-54/+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-5/+51
| | | | | | 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-1/+81
|
* Fix spelling errors in comments and stringsAlexander Larsson2010-05-211-2/+2
|
* Remove all mentions of "cairo" from the codeAlexander Larsson2010-05-031-25/+25
| | | | | The command line option is renamed from "cairo" to "sw", and similarly all filenames and types from Cairo to Sw (and similar).
* Add support for SPICE_IMAGE_FLAGS_HIGH_BITS_SETAlexander Larsson2010-04-281-2/+12
|
* fix two warningsGerd Hoffmann2010-04-261-0/+2
|
* Support alpha surface sources and destinationsAlexander Larsson2010-04-231-5/+27
|
* Localize palettes for LZ PLT formatAlexander Larsson2010-04-231-3/+45
| | | | This is needed since they always decode to 32bit mode.
* Make each surface its own depth/formatAlexander Larsson2010-04-231-239/+212
| | | | | | | | 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/+6
| | | | | | | | | | | 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.
* Remove unused method canvas_surf_to_inversAlexander Larsson2010-04-231-67/+17
|
* Relicense everything from GPL to LGPL 2.1+Alexander Larsson2010-04-131-9/+9
|
* libspice: add off screens supportIzik Eidus2010-04-031-142/+388
| | | | Signed-off-by: Izik Eidus <ieidus@redhat.com>
* Fix uninitilized memory read in stroke_fill_spans()Alexander Larsson2010-03-181-0/+3
| | | | y2 was not initialized
* Use nearest scaling for DRAW_ALPHA_BLEND since this is what win32 needsAlexander Larsson2010-03-171-1/+1
| | | | | DrvAlphaBlend is the only current user of DRAW_ALPHA_BLEND, and its defined to do nearest (COLORONCOLOR) scaling, not bilinear.
* Fix up empty region checks in canvas operationsAlexander Larsson2010-03-171-9/+9
| | | | | | | We rely on not passing on empty rects to the drawing operations by checking for empty regions and exiting early. However the checks were wrongly using pixman_region32_n_rects(region) == 0, whereas we should be using pixman_region32_not_empty().
* Use the spice allocator in common/Alexander Larsson2010-03-111-8/+8
|
* Use macros from <spice/macros.h> rather than duplicate themAlexander Larsson2010-03-091-17/+6
|
* Move draw_rop3 to canvas_baseAlexander Larsson2010-03-081-0/+94
|
* Move canvas_draw_stroke to canvas_baseAlexander Larsson2010-03-081-0/+450
|
* Move most of the shared draw_xyz() methods from CairoCanvas to CanvasBaseAlexander Larsson2010-03-081-3/+821
| | | | | | 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 canvas_region and group_start/end to canvas_baseAlexander Larsson2010-03-081-1/+40
|
* Move virtualization of canvas drawing into common/canvas_baseAlexander Larsson2010-03-081-8/+59
| | | | | | | | | | | 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-14/+7
|
* Make glz_decoder non-optional canvas_base in canvas constructorsAlexander Larsson2010-03-081-5/+8
| | | | | 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-7/+6
| | | | | We use a dynamic interface similar to e.g. SpiceImageCache instead of passing both function and opaque
* Have only one copy of ROUND macro and cast to int explicitlyLarsson@.(none)2010-03-011-1/+1
|
* Remove last cairo use from canvas_baseAlexander Larsson2010-02-231-3/+0
|