Transparent glyphs.

This commit is contained in:
Michael Jumper 2011-07-21 01:16:55 -07:00
parent b9727f9d56
commit 5781eb8764

View File

@ -293,7 +293,7 @@ RD_HGLYPH guac_rdp_ui_create_glyph(rdpInst* inst, int width, int height, uint8*
cairo_surface_t* surface; cairo_surface_t* surface;
/* Init Cairo buffer */ /* Init Cairo buffer */
stride = cairo_format_stride_for_width(CAIRO_FORMAT_RGB24, width); stride = cairo_format_stride_for_width(CAIRO_FORMAT_ARGB32, width);
image_buffer = malloc(height*stride); image_buffer = malloc(height*stride);
image_buffer_row = image_buffer; image_buffer_row = image_buffer;
@ -316,9 +316,9 @@ RD_HGLYPH guac_rdp_ui_create_glyph(rdpInst* inst, int width, int height, uint8*
/* Output RGB */ /* Output RGB */
if (v & 0x80) if (v & 0x80)
*(image_buffer_current++) = 0x000000; *(image_buffer_current++) = 0xFF000000;
else else
*(image_buffer_current++) = 0xFFFFFF; *(image_buffer_current++) = 0x00000000;
/* Next bit */ /* Next bit */
v <<= 1; v <<= 1;
@ -328,7 +328,7 @@ RD_HGLYPH guac_rdp_ui_create_glyph(rdpInst* inst, int width, int height, uint8*
} }
} }
surface = cairo_image_surface_create_for_data(image_buffer, CAIRO_FORMAT_RGB24, width, height, stride); surface = cairo_image_surface_create_for_data(image_buffer, CAIRO_FORMAT_ARGB32, width, height, stride);
guac_send_png(io, GUAC_COMP_OVER, glyph, 0, 0, surface); guac_send_png(io, GUAC_COMP_OVER, glyph, 0, 0, surface);
/* Free surface */ /* Free surface */