summaryrefslogtreecommitdiff
path: root/gtk/gtkprintoperation-private.h
diff options
context:
space:
mode:
authorMarek Kasik <mkasik@redhat.com>2008-12-19 16:42:05 +0000
committerMarek Kašík <mkasik@src.gnome.org>2008-12-19 16:42:05 +0000
commit8ff5d4ffc4dba1ab870660250e2542d7c1a2dd40 (patch)
tree0cb8800051356862ae19c40ee04bf371b459f4a6 /gtk/gtkprintoperation-private.h
parent1b62d9ebdaba694f044af978e3313bee7698a781 (diff)
downloadgtk+-8ff5d4ffc4dba1ab870660250e2542d7c1a2dd40.tar.gz
Bug 339318 - Allow page rendering to (optionally) happen in a thread
2008-12-19 Marek Kasik <mkasik@redhat.com> Bug 339318 - Allow page rendering to (optionally) happen in a thread * gtk/gtk.symbols: API change * doc/reference/gtk/gtk-sections.txt: API change * gtk/gtkprintoperation-private.h * gtk/gtkprintoperation.h * gtk/gtkprintoperation.c: Adds 2 new functions gtk_print_operation_set_defer_drawing() - Sets up the GtkPrintOperation to wait for calling of gtk_print_operation_draw_page_finish() from application. It can be used for drawing page in another thread. This function must be called in the callback of "draw-page" signal. gtk_print_operation_draw_page_finish() - Signalize that drawing of particular page is complete. It is called after completion of page drawing (e.g. drawing in another thread). If gtk_print_operation_set_defer_drawing() was called before, then this function has to be called by application. In another case it is called by the library itself. svn path=/trunk/; revision=21913
Diffstat (limited to 'gtk/gtkprintoperation-private.h')
-rw-r--r--gtk/gtkprintoperation-private.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/gtk/gtkprintoperation-private.h b/gtk/gtkprintoperation-private.h
index 3595314b4d..0e5f606c80 100644
--- a/gtk/gtkprintoperation-private.h
+++ b/gtk/gtkprintoperation-private.h
@@ -25,6 +25,14 @@
G_BEGIN_DECLS
+/* Page drawing states */
+typedef enum
+{
+ GTK_PAGE_DRAWING_STATE_READY,
+ GTK_PAGE_DRAWING_STATE_DRAWING,
+ GTK_PAGE_DRAWING_STATE_DEFERRED_DRAWING
+} GtkPageDrawingState;
+
struct _GtkPrintOperationPrivate
{
GtkPrintOperationAction action;
@@ -45,6 +53,8 @@ struct _GtkPrintOperationPrivate
guint allow_async : 1;
guint is_sync : 1;
+ GtkPageDrawingState page_drawing_state;
+
guint print_pages_idle_id;
guint show_progress_timeout_id;