Commit Graph

30 Commits

Author SHA1 Message Date
Izik Eidus
4a208b3644 libspice: add off screens support
Signed-off-by: Izik Eidus <ieidus@redhat.com>
2010-04-03 05:35:31 +03:00
Alexander Larsson
dcef400d30 Fix uninitilized memory read in stroke_fill_spans()
y2 was not initialized
2010-03-18 10:40:18 +01:00
Alexander Larsson
da21e89daa Use nearest scaling for DRAW_ALPHA_BLEND since this is what win32 needs
DrvAlphaBlend is the only current user of DRAW_ALPHA_BLEND, and its
defined to do nearest (COLORONCOLOR) scaling, not bilinear.
2010-03-17 20:08:59 +01:00
Alexander Larsson
6664c12278 Fix up empty region checks in canvas operations
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().
2010-03-17 10:06:40 +01:00
Alexander Larsson
af4672326b Use the spice allocator in common/ 2010-03-11 12:14:08 +01:00
Alexander Larsson
90c5766caf Use macros from <spice/macros.h> rather than duplicate them 2010-03-09 11:10:00 +01:00
Alexander Larsson
5cb99e12c6 Move draw_rop3 to canvas_base 2010-03-08 19:45:28 +01:00
Alexander Larsson
a0c6344c6a Move canvas_draw_stroke to canvas_base 2010-03-08 19:45:28 +01:00
Alexander Larsson
e00bce8e25 Move most of the shared draw_xyz() methods from CairoCanvas to CanvasBase
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.
2010-03-08 19:45:28 +01:00
Alexander Larsson
18606d99ea Move canvas_region and group_start/end to canvas_base 2010-03-08 19:45:28 +01:00
Alexander Larsson
f8217d8b96 Move virtualization of canvas drawing into common/canvas_base
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.
2010-03-08 19:45:28 +01:00
Alexander Larsson
05697e502d Make virt mapping an interface 2010-03-08 19:45:28 +01:00
Alexander Larsson
f7a77f9881 Make glz_decoder non-optional canvas_base in canvas constructors
It can still be NULL, but we simplify the headers by always including it.
There is no practical performance difference here.
2010-03-08 19:45:27 +01:00
Alexander Larsson
c0fdcd1a10 Make canvas Glz decoder integration nicer
We use a dynamic interface similar to e.g. SpiceImageCache instead
of passing both function and opaque
2010-03-08 19:45:27 +01:00
Larsson@.(none)
bb77edf643 Have only one copy of ROUND macro and cast to int explicitly 2010-03-01 15:12:30 +01:00
Alexander Larsson
e995040b1e Remove last cairo use from canvas_base 2010-02-23 22:52:06 +01:00
Alexander Larsson
7992266ccf Remove cairo_t from cairo canvas 2010-02-23 22:52:06 +01:00
Alexander Larsson
f7c071514b Remove unused cairo helper functions 2010-02-23 22:52:06 +01:00
Alexander Larsson
23d4fdbe8a Convert cairo canvas to use pixman for draw_stroke 2010-02-23 22:52:06 +01:00
Alexander Larsson
864881c318 Convert cairo canvas draw_fill() to using pixman 2010-02-23 22:52:05 +01:00
Alexander Larsson
a7ceb98ea1 Add possibility to not invert bitmask in canvas_get_mask()
This allows the pixman implementation to instead invert the (generally
smaller) region instead of duplicating the bitmap to invert it.
2010-02-23 22:52:05 +01:00
Alexander Larsson
16780a7b81 Use pixman_image_t instead of cairo_surface_t as the generic pixman container
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.
2010-02-23 22:52:01 +01:00
Alexander Larsson
0b0342ee7e Turn image and palette cache into c style dynamic interface
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.
2010-02-23 14:43:20 +01:00
Alexander Larsson
79d8c5c6a4 Add pixman_image_t referencing the cairo_canvas bits
This references the same data as the cairo surface and can be used
for drawing to the surface using direct pixman calls instead.
2010-02-23 14:43:20 +01:00
Alexander Larsson
2233dd02a1 Add emacs settings for indent according to spice styleguide 2010-02-23 11:52:30 +01:00
Alexander Larsson
39be5a8b13 Use standard int types and <spice/types.h> 2010-02-04 18:49:05 +01:00
Alexander Larsson
16540e9953 Use the new header names
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
2010-02-04 18:49:05 +01:00
Alexander Larsson
1f51697852 Rename symbols that were changed in spice-protocol
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
2010-02-04 18:49:00 +01:00
Izik Eidus
a70110c4e5 spice: server: add memslots support.
Signed-off-by: Izik Eidus <ieidus@redhat.com>
2009-11-23 20:54:11 +02:00
Yaniv Kamay
c1b79eb035 fresh start 2009-10-14 15:06:41 +02:00