Commit Graph

50 Commits

Author SHA1 Message Date
Alexander Larsson
82a7c42a86 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
afc7618b6a Move canvas_region and group_start/end to canvas_base 2010-03-08 19:45:28 +01:00
Alexander Larsson
5fe1ef371c 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
c0012a91ce Make virt mapping an interface 2010-03-08 19:45:28 +01:00
Alexander Larsson
4a0cb79982 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
ccbd520e4a 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
Alexander Larsson
acd6262480 Fix colorkeying in pixman_utils.c
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.
2010-03-08 19:41:34 +01:00
Larsson@.(none)
1f08b3866f Make gdi canvas build in the new pixman world 2010-03-01 15:12:35 +01:00
Larsson@.(none)
1afe879741 Always include spice/types.h before pixman so standard int types exist 2010-03-01 15:12:33 +01:00
Larsson@.(none)
9344743555 Fix warnings from visual studio compiler 2010-03-01 15:12:32 +01:00
Larsson@.(none)
15f932d3ff Have only one copy of ROUND macro and cast to int explicitly 2010-03-01 15:12:30 +01:00
Alexander Larsson
026463bd1c Remove last cairo use from canvas_base 2010-02-23 22:52:06 +01:00
Alexander Larsson
dada46a54a Remove cairo_t from cairo canvas 2010-02-23 22:52:06 +01:00
Alexander Larsson
79e407f558 Covert cairo canvas put_image() to pixman 2010-02-23 22:52:06 +01:00
Alexander Larsson
46d18ce680 Replace custom region implementation with pixman_region32_t
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.
2010-02-23 22:52:06 +01:00
Alexander Larsson
1fcda9f28a Convert cairo canvas clear() to pixman 2010-02-23 22:52:06 +01:00
Alexander Larsson
d07c401de4 Convert cairo canvas group_start/end to pixman 2010-02-23 22:52:06 +01:00
Alexander Larsson
69fc5f57a7 Convert cairo canvas read_bits() to pixman 2010-02-23 22:52:06 +01:00
Alexander Larsson
b8d6bbca84 Remove unused cairo helper functions 2010-02-23 22:52:06 +01:00
Alexander Larsson
b02c4d8dbf Convert cairo canvas to use pixman for draw_stroke 2010-02-23 22:52:06 +01:00
Alexander Larsson
28976efefb Convert cairo canvas draw_transparent to use pixman 2010-02-23 22:52:06 +01:00
Alexander Larsson
f84c5f361e Convert cairo canvas draw_rop3 to using pixman 2010-02-23 22:52:05 +01:00
Alexander Larsson
dc047d0d06 Convert draw_blackness/whiteness/invers to using pixman 2010-02-23 22:52:05 +01:00
Alexander Larsson
6d5ed0eb6f Convert cairo canvas alpha_blend to using pixman 2010-02-23 22:52:05 +01:00
Alexander Larsson
7512c3951f Convert cairo canvas draw_text to using pixman 2010-02-23 22:52:05 +01:00
Alexander Larsson
4d78427363 Convert cairo canvas copy bits to pixman 2010-02-23 22:52:05 +01:00
Alexander Larsson
800cfdd4b8 Convert cairo canvas draw_copy() to using pixman
This is just identical to draw_blend().
2010-02-23 22:52:05 +01:00
Alexander Larsson
32970dd0ef Convert cairo canvas draw_blend() to using pixman 2010-02-23 22:52:05 +01:00
Alexander Larsson
2284af62c3 Convert cairo canvas draw_opaque() to using pixman 2010-02-23 22:52:05 +01:00
Alexander Larsson
70475ea409 Convert cairo canvas draw_fill() to using pixman 2010-02-23 22:52:05 +01:00
Alexander Larsson
93ae409c52 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
44de7fcff4 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
1d3ac0b931 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
451d9e3816 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
9ae0090945 Add line rasterizer 2010-02-23 14:43:20 +01:00
Alexander Larsson
876bc2daaf Add pixman utilities
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
2010-02-23 14:43:15 +01:00
Alexander Larsson
f479fdf923 Add emacs settings for indent according to spice styleguide 2010-02-23 11:52:30 +01:00
Alexander Larsson
6da4b78975 Use standard int types and <spice/types.h> 2010-02-04 18:49:05 +01:00
Alexander Larsson
0e7183b35d 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
b950678653 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
Alexander Larsson
fc9394c158 Remove headers that were moved to spice-protocol 2010-02-04 17:56:42 +01:00
Izik Eidus
cb62b90ab2 libspice: add surface 0 support
This include alot of infestracture for off screens.

Signed-off-by: Izik Eidus <ieidus@redhat.com>
2010-01-28 04:46:29 +02:00
Yaniv Kamay
1a1584ec4a client: change rerror code to be positive 2010-01-11 19:58:35 +02:00
Yaniv Kamay
71fe1e4c07 client: add Platform::term_printf
Platform::term_printf is a variant of printf that
on windows dynamically opens console in order to
have visible output during command line processing.
2010-01-11 19:57:29 +02:00
Yonit Halperin
89d886bdcb server,client: server authentication for secured channels.
3 available mechanisms:  by public key, by host name, and by certificate subject name.
In the former method, chain of trust verification is not performed.
The CA certificate files are looked for under <spice-config-dir>/spice_truststore.pem

windows <spice-config-dir>=%APPDATA%\spicec\
linux <spice-config-dir>=$HOME/.spicec/
2010-01-11 19:10:54 +02:00
Izik Eidus
eea1f803e0 spice client: fix wrong gdi-canvas handling of blend_alpha
Signed-off-by: Izik Eidus <ieidus@redhat.com>
2009-12-23 23:15:07 +02:00
Izik Eidus
777f7ad806 spice: server: add memslots support.
Signed-off-by: Izik Eidus <ieidus@redhat.com>
2009-11-23 20:54:11 +02:00
Yaniv Kamay
96a8c8dc83 fix build on Debian 2009-10-26 23:30:41 +02:00
Yonit Halperin
677c3f5f99 tunnel 2009-10-18 17:42:37 +02:00
Yaniv Kamay
22d4047752 fresh start 2009-10-14 15:06:41 +02:00