Esempio n. 1
0
static void
set_painter (HTMLObject *o,
             HTMLPainter *painter)
{
	HTMLFrame *frame;

	frame = HTML_FRAME (o);
	if (G_OBJECT_TYPE (GTK_HTML (frame->html)->engine->painter) != HTML_TYPE_PRINTER) {
		frame_set_gdk_painter (frame, GTK_HTML (frame->html)->engine->painter);
	}

	html_engine_set_painter (GTK_HTML (frame->html)->engine,
				 G_OBJECT_TYPE (painter) != HTML_TYPE_PRINTER ? frame->gdk_painter : painter);
}
Esempio n. 2
0
static void
set_format (GtkHTML *html, gboolean format_html)
{
	HTMLGdkPainter *p, *old_p;

	gtk_widget_ensure_style (GTK_WIDGET (html));

	if (!plain_painter) {
		gdk_painter = HTML_GDK_PAINTER (html->engine->painter);
		plain_painter = HTML_GDK_PAINTER (html_plain_painter_new (GTK_WIDGET (html), TRUE));

		g_object_ref (G_OBJECT (gdk_painter));
	}

	if (format_html) {
		p = gdk_painter;
		old_p = plain_painter;
	} else {
		p = plain_painter;
		old_p = gdk_painter;
	}

	if (html->engine->painter != (HTMLPainter *) p) {
		html_gdk_painter_unrealize (old_p);
		if (html->engine->window)
			html_gdk_painter_realize (p, html->engine->window);

		html_font_manager_set_default (&HTML_PAINTER (p)->font_manager,
					       HTML_PAINTER (old_p)->font_manager.variable.face,
					       HTML_PAINTER (old_p)->font_manager.fixed.face,
					       HTML_PAINTER (old_p)->font_manager.var_size,
					       HTML_PAINTER (old_p)->font_manager.var_points,
					       HTML_PAINTER (old_p)->font_manager.fix_size,
					       HTML_PAINTER (old_p)->font_manager.fix_points);

		html_engine_set_painter (html->engine, HTML_PAINTER (p));
		html_engine_schedule_redraw (html->engine);
	}

}