Top | ![]() |
![]() |
![]() |
![]() |
A GtkPrinter object represents a printer. You only need to deal directly with printers if you use the non-portable GtkPrintUnixDialog API.
A GtkPrinter allows to get status information about the printer, such as its description, its location, the number of queued jobs, etc. Most importantly, a GtkPrinter object can be used to create a GtkPrintJob object, which lets you print to the printer.
Printing support was added in GTK+ 2.10.
GtkPrinter * gtk_printer_new (const gchar *name
,GtkPrintBackend *backend
,gboolean virtual_
);
Creates a new GtkPrinter.
Since: 2.10
GtkPrintBackend *
gtk_printer_get_backend (GtkPrinter *printer
);
Returns the backend of the printer.
Since: 2.10
const gchar *
gtk_printer_get_name (GtkPrinter *printer
);
Returns the name of the printer.
Since: 2.10
const gchar *
gtk_printer_get_state_message (GtkPrinter *printer
);
Returns the state message describing the current state of the printer.
Since: 2.10
const gchar *
gtk_printer_get_description (GtkPrinter *printer
);
Gets the description of the printer.
Since: 2.10
const gchar *
gtk_printer_get_location (GtkPrinter *printer
);
Returns a description of the location of the printer.
Since: 2.10
const gchar *
gtk_printer_get_icon_name (GtkPrinter *printer
);
Gets the name of the icon to use for the printer.
Since: 2.10
gint
gtk_printer_get_job_count (GtkPrinter *printer
);
Gets the number of jobs currently queued on the printer.
Since: 2.10
gboolean
gtk_printer_is_active (GtkPrinter *printer
);
Returns whether the printer is currently active (i.e. accepts new jobs).
Since: 2.10
gboolean
gtk_printer_is_paused (GtkPrinter *printer
);
Returns whether the printer is currently paused. A paused printer still accepts jobs, but it is not printing them.
Since: 2.14
gboolean
gtk_printer_is_accepting_jobs (GtkPrinter *printer
);
Returns whether the printer is accepting jobs
Since: 2.14
gboolean
gtk_printer_is_virtual (GtkPrinter *printer
);
Returns whether the printer is virtual (i.e. does not represent actual printer hardware, but something like a CUPS class).
Since: 2.10
gboolean
gtk_printer_is_default (GtkPrinter *printer
);
Returns whether the printer is the default printer.
Since: 2.10
gboolean
gtk_printer_accepts_ps (GtkPrinter *printer
);
Returns whether the printer accepts input in PostScript format.
Since: 2.10
gboolean
gtk_printer_accepts_pdf (GtkPrinter *printer
);
Returns whether the printer accepts input in PDF format.
Since: 2.10
GList *
gtk_printer_list_papers (GtkPrinter *printer
);
Lists all the paper sizes printer
supports.
This will return and empty list unless the printer’s details are
available, see gtk_printer_has_details()
and gtk_printer_request_details()
.
a newly allocated list of newly allocated GtkPageSetup s.
[element-type GtkPageSetup][transfer full]
Since: 2.12
gint gtk_printer_compare (GtkPrinter *a
,GtkPrinter *b
);
Compares two printers.
Since: 2.10
gboolean
gtk_printer_has_details (GtkPrinter *printer
);
Returns whether the printer details are available.
Since: 2.12
void
gtk_printer_request_details (GtkPrinter *printer
);
Requests the printer details. When the details are available,
the “details-acquired” signal will be emitted on printer
.
Since: 2.12
GtkPrintCapabilities
gtk_printer_get_capabilities (GtkPrinter *printer
);
Returns the printer’s capabilities.
This is useful when you’re using GtkPrintUnixDialog’s manual-capabilities setting and need to know which settings the printer can handle and which you must handle yourself.
This will return 0 unless the printer’s details are available, see
gtk_printer_has_details()
and gtk_printer_request_details()
.
Since: 2.12
GtkPageSetup *
gtk_printer_get_default_page_size (GtkPrinter *printer
);
Returns default page size of printer
.
Since: 2.14
gboolean gtk_printer_get_hard_margins (GtkPrinter *printer
,gdouble *top
,gdouble *bottom
,gdouble *left
,gdouble *right
);
Retrieve the hard margins of printer
, i.e. the margins that define
the area at the borders of the paper that the printer cannot print to.
Note: This will not succeed unless the printer’s details are available,
see gtk_printer_has_details()
and gtk_printer_request_details()
.
printer |
||
top |
a location to store the top margin in. |
[out] |
bottom |
a location to store the bottom margin in. |
[out] |
left |
a location to store the left margin in. |
[out] |
right |
a location to store the right margin in. |
[out] |
Since: 2.20
gboolean (*GtkPrinterFunc) (GtkPrinter *printer
,gpointer data
);
The type of function passed to gtk_enumerate_printers()
.
Note that you need to ref printer
, if you want to keep
a reference to it after the function has returned.
Since: 2.10
void gtk_enumerate_printers (GtkPrinterFunc func
,gpointer data
,GDestroyNotify destroy
,gboolean wait
);
Calls a function for all GtkPrinters.
If func
returns TRUE
, the enumeration is stopped.
func |
a function to call for each printer |
|
data |
user data to pass to |
|
destroy |
function to call if |
|
wait |
if |
Since: 2.10