From 25c2569a5d8af574ccf3604f253d3aa2d21ab9fe Mon Sep 17 00:00:00 2001 From: =?utf8?q?Javier=20Jard=C3=B3n?= Date: Sun, 17 Apr 2011 23:54:00 +0100 Subject: [PATCH] Move documentation to inline comments: GtkPrintContext --- docs/reference/gtk/tmpl/.gitignore | 1 + docs/reference/gtk/tmpl/gtkprintcontext.sgml | 202 ------------------- gtk/gtkprintcontext.c | 77 +++++++ 3 files changed, 78 insertions(+), 202 deletions(-) delete mode 100644 docs/reference/gtk/tmpl/gtkprintcontext.sgml diff --git a/docs/reference/gtk/tmpl/.gitignore b/docs/reference/gtk/tmpl/.gitignore index 06ca67a5f..ee7efc703 100644 --- a/docs/reference/gtk/tmpl/.gitignore +++ b/docs/reference/gtk/tmpl/.gitignore @@ -80,6 +80,7 @@ gtkpagesetup.sgml gtkpagesetupunixdialog.sgml gtkpaned.sgml gtkpapersize.sgml +gtkprintcontext.sgml gtkprinter.sgml gtkprintjob.sgml gtkprintoperation.sgml diff --git a/docs/reference/gtk/tmpl/gtkprintcontext.sgml b/docs/reference/gtk/tmpl/gtkprintcontext.sgml deleted file mode 100644 index 651cbce8c..000000000 --- a/docs/reference/gtk/tmpl/gtkprintcontext.sgml +++ /dev/null @@ -1,202 +0,0 @@ - -GtkPrintContext - - -Encapsulates context for drawing pages - - - -A GtkPrintContext encapsulates context information that is required when -drawing pages for printing, such as the cairo context and important -parameters like page size and resolution. It also lets you easily -create #PangoLayout and #PangoContext objects that match the font metrics -of the cairo surface. - - -GtkPrintContext objects gets passed to the ::begin-print, ::end-print, -::request-page-setup and ::draw-page signals on the #GtkPrintOperation. - - - -Using GtkPrintContext in a ::draw-page callback - -static void -draw_page (GtkPrintOperation *operation, - GtkPrintContext *context, - int page_nr) -{ - cairo_t *cr; - PangoLayout *layout; - PangoFontDescription *desc; - - cr = gtk_print_context_get_cairo_context (context); - - /* Draw a red rectangle, as wide as the paper (inside the margins) */ - cairo_set_source_rgb (cr, 1.0, 0, 0); - cairo_rectangle (cr, 0, 0, gtk_print_context_get_width (context), 50); - - cairo_fill (cr); - - /* Draw some lines */ - cairo_move_to (cr, 20, 10); - cairo_line_to (cr, 40, 20); - cairo_arc (cr, 60, 60, 20, 0, M_PI); - cairo_line_to (cr, 80, 20); - - cairo_set_source_rgb (cr, 0, 0, 0); - cairo_set_line_width (cr, 5); - cairo_set_line_cap (cr, CAIRO_LINE_CAP_ROUND); - cairo_set_line_join (cr, CAIRO_LINE_JOIN_ROUND); - - cairo_stroke (cr); - - /* Draw some text */ - layout = gtk_print_context_create_layout (context); - pango_layout_set_text (layout, "Hello World! Printing is easy", -1); - desc = pango_font_description_from_string ("sans 28"); - pango_layout_set_font_description (layout, desc); - pango_font_description_free (desc); - - cairo_move_to (cr, 30, 20); - pango_cairo_layout_path (cr, layout); - - /* Font Outline */ - cairo_set_source_rgb (cr, 0.93, 1.0, 0.47); - cairo_set_line_width (cr, 0.5); - cairo_stroke_preserve (cr); - - /* Font Fill */ - cairo_set_source_rgb (cr, 0, 0.0, 1.0); - cairo_fill (cr); - - g_object_unref (layout); -} - - - - -Printing support was added in GTK+ 2.10. - - - - - - - - - - - - - - - - - - - - - - - - -@context: -@Returns: - - - - - - - -@context: -@cr: -@dpi_x: -@dpi_y: - - - - - - - -@context: -@Returns: - - - - - - - -@context: -@Returns: - - - - - - - -@context: -@Returns: - - - - - - - -@context: -@Returns: - - - - - - - -@context: -@Returns: - - - - - - - -@context: -@Returns: - - - - - - - -@context: -@Returns: - - - - - - - -@context: -@Returns: - - - - - - - -@context: -@top: -@bottom: -@left: -@right: -@Returns: - - diff --git a/gtk/gtkprintcontext.c b/gtk/gtkprintcontext.c index 26e5a56c7..223a8f4d4 100644 --- a/gtk/gtkprintcontext.c +++ b/gtk/gtkprintcontext.c @@ -21,6 +21,83 @@ #include "config.h" #include "gtkprintoperation-private.h" + +/** + * SECTION:gtkprintcontext + * @Short_description: Encapsulates context for drawing pages + * @Title: GtkPrintContext + * + * A GtkPrintContext encapsulates context information that is required when + * drawing pages for printing, such as the cairo context and important + * parameters like page size and resolution. It also lets you easily + * create #PangoLayout and #PangoContext objects that match the font metrics + * of the cairo surface. + * + * GtkPrintContext objects gets passed to the #GtkPrintOperation::begin-print, + * #GtkPrintOperation::end-print, #GtkPrintOperation::request-page-setup and + * #GtkPrintOperation::draw-page signals on the #GtkPrintOperation. + * + * + * Using GtkPrintContext in a #GtkPrintOperation::draw-page callback + * + * static void + * draw_page (GtkPrintOperation *operation, + * GtkPrintContext *context, + * int page_nr) + * { + * cairo_t *cr; + * PangoLayout *layout; + * PangoFontDescription *desc; + * + * cr = gtk_print_context_get_cairo_context (context); + * + * // Draw a red rectangle, as wide as the paper (inside the margins) + * cairo_set_source_rgb (cr, 1.0, 0, 0); + * cairo_rectangle (cr, 0, 0, gtk_print_context_get_width (context), 50); + * + * cairo_fill (cr); + * + * // Draw some lines + * cairo_move_to (cr, 20, 10); + * cairo_line_to (cr, 40, 20); + * cairo_arc (cr, 60, 60, 20, 0, M_PI); + * cairo_line_to (cr, 80, 20); + * + * cairo_set_source_rgb (cr, 0, 0, 0); + * cairo_set_line_width (cr, 5); + * cairo_set_line_cap (cr, CAIRO_LINE_CAP_ROUND); + * cairo_set_line_join (cr, CAIRO_LINE_JOIN_ROUND); + * + * cairo_stroke (cr); + * + * // Draw some text + * layout = gtk_print_context_create_layout (context); + * pango_layout_set_text (layout, "Hello World! Printing is easy", -1); + * desc = pango_font_description_from_string ("sans 28"); + * pango_layout_set_font_description (layout, desc); + * pango_font_description_free (desc); + * + * cairo_move_to (cr, 30, 20); + * pango_cairo_layout_path (cr, layout); + * + * // Font Outline + * cairo_set_source_rgb (cr, 0.93, 1.0, 0.47); + * cairo_set_line_width (cr, 0.5); + * cairo_stroke_preserve (cr); + * + * // Font Fill + * cairo_set_source_rgb (cr, 0, 0.0, 1.0); + * cairo_fill (cr); + * + * g_object_unref (layout); + * } + * + * + * + * Printing support was added in GTK+ 2.10. + */ + + typedef struct _GtkPrintContextClass GtkPrintContextClass; #define GTK_IS_PRINT_CONTEXT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_PRINT_CONTEXT)) -- 2.43.2