Gtk.PrintContext¶
| Subclasses: | None | 
|---|
Methods¶
| Inherited: | GObject.Object (37) | 
|---|---|
| Structs: | GObject.ObjectClass (5) | 
| create_pango_context() | |
| create_pango_layout() | |
| get_cairo_context() | |
| get_dpi_x() | |
| get_dpi_y() | |
| get_hard_margins() | |
| get_height() | |
| get_page_setup() | |
| get_pango_fontmap() | |
| get_width() | |
| set_cairo_context(cr, dpi_x, dpi_y) | 
Virtual Methods¶
| Inherited: | GObject.Object (7) | 
|---|
Properties¶
None
Signals¶
| Inherited: | GObject.Object (1) | 
|---|
Fields¶
| Inherited: | GObject.Object (1) | 
|---|
Class Details¶
- 
class Gtk.PrintContext(**kwargs)¶
- Bases: - GObject.Object- Abstract: - No - A - Gtk.PrintContextencapsulates 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- Pango.Layoutand- Pango.Contextobjects that match the font metrics of the cairo surface.- Gtk.PrintContextobjects gets passed to the- Gtk.PrintOperation- ::begin-print,- Gtk.PrintOperation- ::end-print,- Gtk.PrintOperation- ::request-page-setupand- Gtk.PrintOperation- ::draw-pagesignals on the- Gtk.PrintOperation.- Using Gtk.PrintContextin aGtk.PrintOperation::draw-pagecallback
 - 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_pango_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. - 
create_pango_context()[source]¶
- Returns: - a new Pango context for self - Return type: - Pango.Context- Creates a new - Pango.Contextthat can be used with the- Gtk.PrintContext.- New in version 2.10. 
 - 
create_pango_layout()[source]¶
- Returns: - a new Pango layout for self - Return type: - Pango.Layout- Creates a new - Pango.Layoutthat is suitable for use with the- Gtk.PrintContext.- New in version 2.10. 
 - 
get_cairo_context()[source]¶
- Returns: - the cairo context of self - Return type: - cairo.Context- Obtains the cairo context that is associated with the - Gtk.PrintContext.- New in version 2.10. 
 - 
get_dpi_x()[source]¶
- Returns: - the horizontal resolution of self - Return type: - float- Obtains the horizontal resolution of the - Gtk.PrintContext, in dots per inch.- New in version 2.10. 
 - 
get_dpi_y()[source]¶
- Returns: - the vertical resolution of self - Return type: - float- Obtains the vertical resolution of the - Gtk.PrintContext, in dots per inch.- New in version 2.10. 
 - 
get_hard_margins()[source]¶
- Returns: - Trueif the hard margins were retrieved- top: - top hardware printer margin - bottom: - bottom hardware printer margin - left: - left hardware printer margin - right: - right hardware printer margin - Return type: - ( - bool, top:- float, bottom:- float, left:- float, right:- float)- Obtains the hardware printer margins of the - Gtk.PrintContext, in units.- New in version 2.20. 
 - 
get_height()[source]¶
- Returns: - the height of self - Return type: - float- Obtains the height of the - Gtk.PrintContext, in pixels.- New in version 2.10. 
 - 
get_page_setup()[source]¶
- Returns: - the page setup of self - Return type: - Gtk.PageSetup- Obtains the - Gtk.PageSetupthat determines the page dimensions of the- Gtk.PrintContext.- New in version 2.10. 
 - 
get_pango_fontmap()[source]¶
- Returns: - the font map of self - Return type: - Pango.FontMap- Returns a - Pango.FontMapthat is suitable for use with the- Gtk.PrintContext.- New in version 2.10. 
 - 
get_width()[source]¶
- Returns: - the width of self - Return type: - float- Obtains the width of the - Gtk.PrintContext, in pixels.- New in version 2.10. 
 - 
set_cairo_context(cr, dpi_x, dpi_y)[source]¶
- Parameters: - cr (cairo.Context) – the cairo context
- dpi_x (float) – the horizontal resolution to use with cr
- dpi_y (float) – the vertical resolution to use with cr
 - Sets a new cairo context on a print context. - This function is intended to be used when implementing an internal print preview, it is not needed for printing, since GTK+ itself creates a suitable cairo context in that case. - New in version 2.10. 
- cr (
 
- Using