Hoogle Search

Within LTS Haskell 24.38 (ghc-9.10.3)

Note that Stackage only displays results for the latest LTS and Nightly snapshot. Learn more.

  1. module GI.Gtk.Objects.PrintContext

    A GtkPrintContext encapsulates context information that is required when drawing pages for printing. This includes the cairo context and important parameters like page size and resolution. It also lets you easily create Layout and Context objects that match the font metrics of the cairo surface. GtkPrintContext objects get passed to the PrintOperation::beginPrint, PrintOperation::endPrint, PrintOperation::requestPageSetup and PrintOperation::drawPage signals on the PrintOperation object.

    Using GtkPrintContext in a drawPage callback

    c code

    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);
    }
    

  2. newtype PrintContext

    gi-gtk4 GI.Gtk.Objects.PrintContext

    Memory-managed wrapper type.

  3. PrintContext :: ManagedPtr PrintContext -> PrintContext

    gi-gtk4 GI.Gtk.Objects.PrintContext

    No documentation available.

  4. module GI.Gtk.Objects.PrintDialog

    A GtkPrintDialog object collects the arguments that are needed to present a print dialog to the user, such as a title for the dialog and whether it should be modal. The dialog is shown with the printDialogSetup function. The actual printing can be done with printDialogPrint or printDialogPrintFile. These APIs follows the GIO async pattern, and the results can be obtained by calling the corresponding finish methods. Since: 4.14

  5. newtype PrintDialog

    gi-gtk4 GI.Gtk.Objects.PrintDialog

    Memory-managed wrapper type.

  6. PrintDialog :: ManagedPtr PrintDialog -> PrintDialog

    gi-gtk4 GI.Gtk.Objects.PrintDialog

    No documentation available.

  7. module GI.Gtk.Objects.PrintJob

    A GtkPrintJob object represents a job that is sent to a printer. You only need to deal directly with print jobs if you use the non-portable PrintUnixDialog API. Use printJobGetSurface to obtain the cairo surface onto which the pages must be drawn. Use printJobSend to send the finished job to the printer. If you don’t use cairo GtkPrintJob also supports printing of manually generated PostScript, via printJobSetSourceFile.

  8. newtype PrintJob

    gi-gtk4 GI.Gtk.Objects.PrintJob

    Memory-managed wrapper type.

  9. PrintJob :: ManagedPtr PrintJob -> PrintJob

    gi-gtk4 GI.Gtk.Objects.PrintJob

    No documentation available.

  10. type PrintJobStatusChangedCallback = IO ()

    gi-gtk4 GI.Gtk.Objects.PrintJob

    Emitted when the status of a job changes. The signal handler can use printJobGetStatus to obtain the new status.

Page 151 of many | Previous | Next