Lines 79-90
Link Here
|
79 |
static void pgd_render_start(GtkButton *button, PgdRenderDemo *demo) |
79 |
static void pgd_render_start(GtkButton *button, PgdRenderDemo *demo) |
80 |
{ |
80 |
{ |
81 |
PopplerPage *page; |
81 |
PopplerPage *page; |
|
|
82 |
gboolean subpixel_rendering; |
82 |
gdouble page_width, page_height; |
83 |
gdouble page_width, page_height; |
83 |
gdouble width, height; |
84 |
gdouble width, height; |
84 |
gint x, y; |
85 |
gint x, y; |
85 |
gchar *str; |
86 |
gchar *str; |
86 |
GTimer *timer; |
87 |
GTimer *timer; |
87 |
cairo_t *cr; |
88 |
cairo_t *cr; |
|
|
89 |
cairo_font_options_t *fo; |
90 |
|
88 |
|
91 |
|
89 |
page = poppler_document_get_page(demo->doc, demo->page); |
92 |
page = poppler_document_get_page(demo->doc, demo->page); |
90 |
if (!page) { |
93 |
if (!page) { |
Lines 114-119
Link Here
|
114 |
demo->surface = cairo_image_surface_create(CAIRO_FORMAT_ARGB32, width, height); |
117 |
demo->surface = cairo_image_surface_create(CAIRO_FORMAT_ARGB32, width, height); |
115 |
cr = cairo_create(demo->surface); |
118 |
cr = cairo_create(demo->surface); |
116 |
|
119 |
|
|
|
120 |
fo = cairo_font_options_create (); |
121 |
cairo_get_font_options (cr, fo); |
122 |
|
123 |
subpixel_rendering = poppler_page_support_subpixel_rendering (page); |
124 |
printf("subpixel_rendering %d\n", subpixel_rendering); |
125 |
if (subpixel_rendering) { |
126 |
cairo_set_source_rgb (cr, 1., 1., 1.); |
127 |
cairo_paint (cr); |
128 |
cairo_font_options_set_antialias (fo, CAIRO_ANTIALIAS_SUBPIXEL); |
129 |
cairo_font_options_set_subpixel_order (fo, CAIRO_SUBPIXEL_ORDER_RGB); |
130 |
} |
131 |
|
132 |
cairo_set_font_options (cr, fo); |
133 |
cairo_font_options_destroy (fo); |
134 |
|
117 |
cairo_save(cr); |
135 |
cairo_save(cr); |
118 |
switch (demo->rotate) { |
136 |
switch (demo->rotate) { |
119 |
case 90: |
137 |
case 90: |
Lines 144-152
Link Here
|
144 |
} |
162 |
} |
145 |
cairo_restore(cr); |
163 |
cairo_restore(cr); |
146 |
|
164 |
|
147 |
cairo_set_operator(cr, CAIRO_OPERATOR_DEST_OVER); |
165 |
if (!subpixel_rendering) { |
148 |
cairo_set_source_rgb(cr, 1., 1., 1.); |
166 |
cairo_set_operator(cr, CAIRO_OPERATOR_DEST_OVER); |
149 |
cairo_paint(cr); |
167 |
cairo_set_source_rgb(cr, 1., 1., 1.); |
|
|
168 |
cairo_paint(cr); |
169 |
} |
150 |
|
170 |
|
151 |
g_timer_stop(timer); |
171 |
g_timer_stop(timer); |
152 |
|
172 |
|