forked from AuroraMiddleware/gtk
Move documentation to inline comments: GtkPrintContext
This commit is contained in:
parent
c029306b4c
commit
25c2569a5d
1
docs/reference/gtk/tmpl/.gitignore
vendored
1
docs/reference/gtk/tmpl/.gitignore
vendored
@ -80,6 +80,7 @@ gtkpagesetup.sgml
|
|||||||
gtkpagesetupunixdialog.sgml
|
gtkpagesetupunixdialog.sgml
|
||||||
gtkpaned.sgml
|
gtkpaned.sgml
|
||||||
gtkpapersize.sgml
|
gtkpapersize.sgml
|
||||||
|
gtkprintcontext.sgml
|
||||||
gtkprinter.sgml
|
gtkprinter.sgml
|
||||||
gtkprintjob.sgml
|
gtkprintjob.sgml
|
||||||
gtkprintoperation.sgml
|
gtkprintoperation.sgml
|
||||||
|
@ -1,202 +0,0 @@
|
|||||||
<!-- ##### SECTION Title ##### -->
|
|
||||||
GtkPrintContext
|
|
||||||
|
|
||||||
<!-- ##### SECTION Short_Description ##### -->
|
|
||||||
Encapsulates context for drawing pages
|
|
||||||
|
|
||||||
<!-- ##### SECTION Long_Description ##### -->
|
|
||||||
<para>
|
|
||||||
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.
|
|
||||||
</para>
|
|
||||||
<para>
|
|
||||||
GtkPrintContext objects gets passed to the ::begin-print, ::end-print,
|
|
||||||
::request-page-setup and ::draw-page signals on the #GtkPrintOperation.
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<example>
|
|
||||||
<title>Using GtkPrintContext in a ::draw-page callback</title>
|
|
||||||
<programlisting>
|
|
||||||
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);
|
|
||||||
}
|
|
||||||
</programlisting>
|
|
||||||
</example>
|
|
||||||
|
|
||||||
<para>
|
|
||||||
Printing support was added in GTK+ 2.10.
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<!-- ##### SECTION See_Also ##### -->
|
|
||||||
<para>
|
|
||||||
|
|
||||||
</para>
|
|
||||||
|
|
||||||
<!-- ##### SECTION Stability_Level ##### -->
|
|
||||||
|
|
||||||
|
|
||||||
<!-- ##### SECTION Image ##### -->
|
|
||||||
|
|
||||||
|
|
||||||
<!-- ##### STRUCT GtkPrintContext ##### -->
|
|
||||||
<para>
|
|
||||||
|
|
||||||
</para>
|
|
||||||
|
|
||||||
|
|
||||||
<!-- ##### FUNCTION gtk_print_context_get_cairo_context ##### -->
|
|
||||||
<para>
|
|
||||||
|
|
||||||
</para>
|
|
||||||
|
|
||||||
@context:
|
|
||||||
@Returns:
|
|
||||||
|
|
||||||
|
|
||||||
<!-- ##### FUNCTION gtk_print_context_set_cairo_context ##### -->
|
|
||||||
<para>
|
|
||||||
|
|
||||||
</para>
|
|
||||||
|
|
||||||
@context:
|
|
||||||
@cr:
|
|
||||||
@dpi_x:
|
|
||||||
@dpi_y:
|
|
||||||
|
|
||||||
|
|
||||||
<!-- ##### FUNCTION gtk_print_context_get_page_setup ##### -->
|
|
||||||
<para>
|
|
||||||
|
|
||||||
</para>
|
|
||||||
|
|
||||||
@context:
|
|
||||||
@Returns:
|
|
||||||
|
|
||||||
|
|
||||||
<!-- ##### FUNCTION gtk_print_context_get_width ##### -->
|
|
||||||
<para>
|
|
||||||
|
|
||||||
</para>
|
|
||||||
|
|
||||||
@context:
|
|
||||||
@Returns:
|
|
||||||
|
|
||||||
|
|
||||||
<!-- ##### FUNCTION gtk_print_context_get_height ##### -->
|
|
||||||
<para>
|
|
||||||
|
|
||||||
</para>
|
|
||||||
|
|
||||||
@context:
|
|
||||||
@Returns:
|
|
||||||
|
|
||||||
|
|
||||||
<!-- ##### FUNCTION gtk_print_context_get_dpi_x ##### -->
|
|
||||||
<para>
|
|
||||||
|
|
||||||
</para>
|
|
||||||
|
|
||||||
@context:
|
|
||||||
@Returns:
|
|
||||||
|
|
||||||
|
|
||||||
<!-- ##### FUNCTION gtk_print_context_get_dpi_y ##### -->
|
|
||||||
<para>
|
|
||||||
|
|
||||||
</para>
|
|
||||||
|
|
||||||
@context:
|
|
||||||
@Returns:
|
|
||||||
|
|
||||||
|
|
||||||
<!-- ##### FUNCTION gtk_print_context_get_pango_fontmap ##### -->
|
|
||||||
<para>
|
|
||||||
|
|
||||||
</para>
|
|
||||||
|
|
||||||
@context:
|
|
||||||
@Returns:
|
|
||||||
|
|
||||||
|
|
||||||
<!-- ##### FUNCTION gtk_print_context_create_pango_context ##### -->
|
|
||||||
<para>
|
|
||||||
|
|
||||||
</para>
|
|
||||||
|
|
||||||
@context:
|
|
||||||
@Returns:
|
|
||||||
|
|
||||||
|
|
||||||
<!-- ##### FUNCTION gtk_print_context_create_pango_layout ##### -->
|
|
||||||
<para>
|
|
||||||
|
|
||||||
</para>
|
|
||||||
|
|
||||||
@context:
|
|
||||||
@Returns:
|
|
||||||
|
|
||||||
|
|
||||||
<!-- ##### FUNCTION gtk_print_context_get_hard_margins ##### -->
|
|
||||||
<para>
|
|
||||||
|
|
||||||
</para>
|
|
||||||
|
|
||||||
@context:
|
|
||||||
@top:
|
|
||||||
@bottom:
|
|
||||||
@left:
|
|
||||||
@right:
|
|
||||||
@Returns:
|
|
||||||
|
|
||||||
|
|
@ -21,6 +21,83 @@
|
|||||||
#include "config.h"
|
#include "config.h"
|
||||||
#include "gtkprintoperation-private.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.
|
||||||
|
*
|
||||||
|
* <example>
|
||||||
|
* <title>Using GtkPrintContext in a #GtkPrintOperation::draw-page callback</title>
|
||||||
|
* <programlisting>
|
||||||
|
* 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);
|
||||||
|
* }
|
||||||
|
* </programlisting>
|
||||||
|
* </example>
|
||||||
|
*
|
||||||
|
* Printing support was added in GTK+ 2.10.
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
typedef struct _GtkPrintContextClass GtkPrintContextClass;
|
typedef struct _GtkPrintContextClass GtkPrintContextClass;
|
||||||
|
|
||||||
#define GTK_IS_PRINT_CONTEXT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_PRINT_CONTEXT))
|
#define GTK_IS_PRINT_CONTEXT_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_PRINT_CONTEXT))
|
||||||
|
Loading…
Reference in New Issue
Block a user