Sun 26 Nov 2006 10:19:56 AM UTC, comment #3:
Seems like glyphs are being used to draw masks. Can't test this myself ATM, so please try to change the draw_glyph() function to:
void draw_glyph(shape_character_def *def,
const matrix& mat, rgba color, float /pixel_scale/) {
// NOTE: def->get_bound() is NULL for glyphs so we can't check the
// clipping area (bounds_in_clipping_area):
// create a new path with the matrix applied
std::vector<path> paths;
apply_matrix_to_path(def->get_paths(), paths, mat);
// make sure m_single_fill_styles contains the required color
need_single_fill_style(color);
// draw the shape
if (m_drawing_mask)
draw_mask_shape(paths, false);
else
draw_shape(-1, paths, m_single_fill_styles, m_neutral_cxform,
mat, false);
// NOTE: Do not use even-odd filling rule for glyphs!
}
|