summaryrefslogtreecommitdiffstats
path: root/common
Commit message (Collapse)AuthorAgeFilesLines
* Remove non-used lookup3.[ch]Alexander Larsson2010-04-073-798/+0
|
* spice: common: gdi_canvas fix gdi objects leakIzik Eidus2010-04-051-0/+1
| | | | | | | | | | | BitmapMask was used by the draw_text function as well therefore we need to mark from_surface = 0 if we want it to release the boject... (Was evil, took me few hours to understand from where the leak come...) Signed-off-by: Izik Eidus <ieidus@redhat.com>
* libspice: add off screens supportIzik Eidus2010-04-038-392/+1086
| | | | Signed-off-by: Izik Eidus <ieidus@redhat.com>
* Add spice_strndupAlexander Larsson2010-03-242-0/+19
| | | | Also, make str(n)dup handle NULL correctly
* 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-172-10/+10
| | | | | | | 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-119-116/+62
|
* New memory allocators that exit on OOM and handle multiplication overflowAlexander Larsson2010-03-112-0/+232
| | | | | | | | | Every place that does a regular malloc/calloc and aborts on failure should use spice_malloc/spice_mallo0 instead, which is leaner and cleaner. Allocations of dynamically sized arrays can use g_malloc_n or g_new etc which correctly handle multiplication overflow if some of the arguments are not trusted.
* Define GL_GLEXT_PROTOTYPES in CFLAGS not in random places in the sourceAlexander Larsson2010-03-101-2/+0
|
* Update gdi canvas wrt latest changesAlexander Larsson2010-03-091-2/+2
| | | | ALIGN -> SPICE_ALIGN
* Use macros from <spice/macros.h> rather than duplicate themAlexander Larsson2010-03-099-75/+19
|
* Move draw_rop3 to canvas_baseAlexander Larsson2010-03-082-96/+94
|
* Move canvas_draw_stroke to canvas_baseAlexander Larsson2010-03-082-455/+450
|
* Move most of the shared draw_xyz() methods from CairoCanvas to CanvasBaseAlexander Larsson2010-03-083-932/+1039
| | | | | | 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-085-37/+57
|
* Move virtualization of canvas drawing into common/canvas_baseAlexander Larsson2010-03-088-251/+353
| | | | | | | | | | | 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-086-37/+23
|
* Make glz_decoder non-optional canvas_base in canvas constructorsAlexander Larsson2010-03-086-28/+11
| | | | | 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-088-22/+27
| | | | | We use a dynamic interface similar to e.g. SpiceImageCache instead of passing both function and opaque
* Fix colorkeying in pixman_utils.cAlexander Larsson2010-03-081-1/+2
| | | | | | We were masking out the alpha bit in the key color not int the source pixel, so colorkeying didn't work when the high byte was != 0. For instance in the shutdown dialog in XP.
* Make gdi canvas build in the new pixman worldLarsson@.(none)2010-03-013-20/+23
|
* Always include spice/types.h before pixman so standard int types existLarsson@.(none)2010-03-011-0/+2
|
* Fix warnings from visual studio compilerLarsson@.(none)2010-03-012-15/+15
|
* Have only one copy of ROUND macro and cast to int explicitlyLarsson@.(none)2010-03-012-3/+1
|
* Remove last cairo use from canvas_baseAlexander Larsson2010-02-231-3/+0
|
* Remove cairo_t from cairo canvasAlexander Larsson2010-02-233-59/+8
|
* Covert cairo canvas put_image() to pixmanAlexander Larsson2010-02-231-77/+33
|
* Replace custom region implementation with pixman_region32_tAlexander Larsson2010-02-236-810/+451
| | | | | | 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.
* Convert cairo canvas clear() to pixmanAlexander Larsson2010-02-231-8/+5
|
* Convert cairo canvas group_start/end to pixmanAlexander Larsson2010-02-231-14/+18
|
* Convert cairo canvas read_bits() to pixmanAlexander Larsson2010-02-231-6/+5
|
* Remove unused cairo helper functionsAlexander Larsson2010-02-232-494/+0
|
* Convert cairo canvas to use pixman for draw_strokeAlexander Larsson2010-02-232-213/+465
|
* Convert cairo canvas draw_transparent to use pixmanAlexander Larsson2010-02-231-119/+134
|
* Convert cairo canvas draw_rop3 to using pixmanAlexander Larsson2010-02-231-40/+29
|
* Convert draw_blackness/whiteness/invers to using pixmanAlexander Larsson2010-02-231-16/+61
|
* Convert cairo canvas alpha_blend to using pixmanAlexander Larsson2010-02-231-15/+135
|
* Convert cairo canvas draw_text to using pixmanAlexander Larsson2010-02-231-71/+100
|
* Convert cairo canvas copy bits to pixmanAlexander Larsson2010-02-231-211/+90
|
* Convert cairo canvas draw_copy() to using pixmanAlexander Larsson2010-02-231-20/+60
| | | | This is just identical to draw_blend().
* Convert cairo canvas draw_blend() to using pixmanAlexander Larsson2010-02-231-25/+168
|
* Convert cairo canvas draw_opaque() to using pixmanAlexander Larsson2010-02-231-27/+133
|
* Convert cairo canvas draw_fill() to using pixmanAlexander Larsson2010-02-232-19/+503
|
* Add possibility to not invert bitmask in canvas_get_mask()Alexander Larsson2010-02-234-10/+16
| | | | | 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-2310-523/+534
| | | | | | 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-238-116/+71
| | | | | | 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 pixman_image_t referencing the cairo_canvas bitsAlexander Larsson2010-02-232-0/+45
| | | | | This references the same data as the cairo surface and can be used for drawing to the surface using direct pixman calls instead.
* Add line rasterizerAlexander Larsson2010-02-233-0/+3764
|
* Add pixman utilitiesAlexander Larsson2010-02-233-0/+1043
| | | | | | | | | | | | | This includes: * pixman region from SpiceRects * rop2 enum * solid fill * solid fill with rop * tiled fill * tiled fill with rop * blit * blit with rop * copy rect