Compose a [class@Buffer] for printing.
The `GtkSourcePrintCompositor` object is used to compose a [class@Buffer] for printing. You can set various configuration options to customize
the printed output. `GtkSourcePrintCompositor` is designed to be used with the high-level printing API of gtk+, i.e. [class@Gtk.PrintOperation].
The margins specified in this object are the layout margins: they define the blank space bordering the printed area of the pages. They must not
be confused with the "print margins", i.e. the parts of the page that the printer cannot print on, defined in the [class@Gtk.PageSetup]
objects. If the specified layout margins are smaller than the "print margins", the latter ones are used as a fallback by the
`GtkSourcePrintCompositor` object, so that the printed area is not clipped.
- public string body_font_name { owned get; set; }
Name of the font used for the text body.
- public Buffer buffer { get; construct; }
The [class@Buffer] object to print.
- public string footer_font_name { owned get; set; }
Name of the font used to print page footer.
- public string header_font_name { owned get; set; }
Name of the font used to print page header.
- public bool highlight_syntax { get; set; }
Whether to print the document with highlighted syntax.
- public string line_numbers_font_name { owned get; set; }
Name of the font used to print line numbers on the left margin.
- public int n_pages { get; }
The number of pages in the document or <code>-1</code> if the
document has not been completely paginated.
- public bool print_footer { get; set; }
Whether to print a footer in each page.
- public bool print_header { get; set; }
Whether to print a header in each page.
- public uint print_line_numbers { get; set; }
Interval of printed line numbers.
- public uint tab_width { get; set; }
Width of a tab character expressed in spaces.
- public WrapMode wrap_mode { get; set; }
Whether to wrap lines never, at word boundaries, or at character boundaries.
- public void draw_page (PrintContext context, int page_nr)
Draw page page_nr
for printing on the the Cairo context
encapsuled in context
.
- public string get_body_font_name ()
Returns the name of the font used to print the text body.
- public double get_bottom_margin (Unit unit)
Gets the bottom margin in units of unit
.
- public unowned Buffer get_buffer ()
Gets the [class@Buffer] associated with the compositor.
- public string get_footer_font_name ()
Returns the name of the font used to print the page footer.
- public string get_header_font_name ()
Returns the name of the font used to print the page header.
- public bool get_highlight_syntax ()
Determines whether the printed text will be highlighted according to the
buffer rules.
- public double get_left_margin (Unit unit)
Gets the left margin in units of unit
.
- public string get_line_numbers_font_name ()
Returns the name of the font used to print line numbers on the left margin.
- public int get_n_pages ()
Returns the number of pages in the document or <code>-1</code>
if the document has not been completely paginated.
- public double get_pagination_progress ()
Returns the current fraction of the document pagination that has been
completed.
- public bool get_print_footer ()
Determines if a footer is set to be printed for each page.
- public bool get_print_header ()
Determines if a header is set to be printed for each page.
- public uint get_print_line_numbers ()
Returns the interval used for line number printing.
- public double get_right_margin (Unit unit)
Gets the right margin in units of unit
.
- public uint get_tab_width ()
Returns the width of tabulation in characters for printed text.
- public double get_top_margin (Unit unit)
Gets the top margin in units of unit
.
- public WrapMode get_wrap_mode ()
Gets the line wrapping mode for the printed text.
- public void ignore_tag (TextTag tag)
Specifies a tag whose style should be ignored when compositing the document
to the printable page.
- public bool paginate (PrintContext context)
Paginate the document associated with the this
.
- public void set_body_font_name (string font_name)
Sets the default font for the printed text.
- public void set_bottom_margin (double margin, Unit unit)
Sets the bottom margin used by this.
- public void set_footer_font_name (string? font_name)
Sets the font for printing the page footer.
- public void set_footer_format (bool separator, string? left, string? center, string? right)
See [method@PrintCompositor.
- public void set_header_font_name (string? font_name)
Sets the font for printing the page header.
- public void set_header_format (bool separator, string? left, string? center, string? right)
Sets strftime like header format strings, to be printed on the left, center
and right of the top of each page.
- public void set_highlight_syntax (bool highlight)
Sets whether the printed text will be highlighted according to the buffer
rules.
- public void set_left_margin (double margin, Unit unit)
Sets the left margin used by this.
- public void set_line_numbers_font_name (string? font_name)
Sets the font for printing line numbers on the left margin.
- public void set_print_footer (bool print)
Sets whether you want to print a footer in each page.
- public void set_print_header (bool print)
Sets whether you want to print a header in each page.
- public void set_print_line_numbers (uint interval)
Sets the interval for printed line numbers.
- public void set_right_margin (double margin, Unit unit)
Sets the right margin used by this.
- public void set_tab_width (uint width)
Sets the width of tabulation in characters for printed text.
- public void set_top_margin (double margin, Unit unit)
Sets the top margin used by this.
- public void set_wrap_mode (WrapMode wrap_mode)
Sets the line wrapping mode for the printed text.