]> Pileus Git - ~andy/gtk/blobdiff - gtk/gtkprinter.h
Change FSF Address
[~andy/gtk] / gtk / gtkprinter.h
index a61cfc3fdedd7125af545646f8d30955c5e48d12..4c177adc12c58d840f2aeb42da54b4e07a30d141 100644 (file)
  * Lesser General Public License for more details.
  *
  * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * License along with this library. If not, see <http://www.gnu.org/licenses/>.
  */
 
-#if defined(GTK_DISABLE_SINGLE_INCLUDES) && !defined (__GTK_UNIX_PRINT_H_INSIDE__) && !defined (GTK_COMPILATION)
+#if !defined (__GTK_UNIX_PRINT_H_INSIDE__) && !defined (GTK_COMPILATION)
 #error "Only <gtk/gtkunixprint.h> can be included directly."
 #endif
 
@@ -34,6 +32,28 @@ G_BEGIN_DECLS
 /* Note, this type is manually registered with GObject in gtkprinter.c
  * If you add any flags, update the registration as well!
  */
+/**
+ * GtkPrintCapabilities:
+ * @GTK_PRINT_CAPABILITY_PAGE_SET: Print dialog will offer printing even/odd pages.
+ * @GTK_PRINT_CAPABILITY_COPIES: Print dialog will allow to print multiple copies.
+ * @GTK_PRINT_CAPABILITY_COLLATE: Print dialog will allow to collate multiple copies.
+ * @GTK_PRINT_CAPABILITY_REVERSE: Print dialog will allow to print pages in reverse order.
+ * @GTK_PRINT_CAPABILITY_SCALE: Print dialog will allow to scale the output.
+ * @GTK_PRINT_CAPABILITY_GENERATE_PDF: The program will send the document to
+ *   the printer in PDF format
+ * @GTK_PRINT_CAPABILITY_GENERATE_PS: The program will send the document to
+ *   the printer in Postscript format
+ * @GTK_PRINT_CAPABILITY_PREVIEW: Print dialog will offer a preview
+ * @GTK_PRINT_CAPABILITY_NUMBER_UP: Print dialog will offer printing multiple
+ *   pages per sheet. Since 2.12
+ * @GTK_PRINT_CAPABILITY_NUMBER_UP_LAYOUT: Print dialog will allow to rearrange
+ *   pages when printing multiple pages per sheet. Since 2.14
+ *
+ * An enum for specifying which features the print dialog should offer.
+ * If neither %GTK_PRINT_CAPABILITY_GENERATE_PDF nor
+ * %GTK_PRINT_CAPABILITY_GENERATE_PS is specified, GTK+ assumes that all
+ * formats are supported.
+ */
 typedef enum
 {
   GTK_PRINT_CAPABILITY_PAGE_SET         = 1 << 0,
@@ -68,7 +88,8 @@ struct _GtkPrinter
 {
   GObject parent_instance;
 
-  GtkPrinterPrivate *GSEAL (priv);
+  /*< private >*/
+  GtkPrinterPrivate *priv;
 };
 
 struct _GtkPrinterClass
@@ -86,6 +107,7 @@ struct _GtkPrinterClass
   void (*_gtk_reserved5) (void);
   void (*_gtk_reserved6) (void);
   void (*_gtk_reserved7) (void);
+  void (*_gtk_reserved8) (void);
 };
 
 GType                    gtk_printer_get_type              (void) G_GNUC_CONST;
@@ -93,11 +115,11 @@ GtkPrinter              *gtk_printer_new                   (const gchar     *nam
                                                            GtkPrintBackend *backend,
                                                            gboolean         virtual_);
 GtkPrintBackend         *gtk_printer_get_backend           (GtkPrinter      *printer);
-G_CONST_RETURN gchar    *gtk_printer_get_name              (GtkPrinter      *printer);
-G_CONST_RETURN gchar    *gtk_printer_get_state_message     (GtkPrinter      *printer);
-G_CONST_RETURN gchar    *gtk_printer_get_description       (GtkPrinter      *printer);
-G_CONST_RETURN gchar    *gtk_printer_get_location          (GtkPrinter      *printer);
-G_CONST_RETURN gchar    *gtk_printer_get_icon_name         (GtkPrinter      *printer);
+const gchar *            gtk_printer_get_name              (GtkPrinter      *printer);
+const gchar *            gtk_printer_get_state_message     (GtkPrinter      *printer);
+const gchar *            gtk_printer_get_description       (GtkPrinter      *printer);
+const gchar *            gtk_printer_get_location          (GtkPrinter      *printer);
+const gchar *            gtk_printer_get_icon_name         (GtkPrinter      *printer);
 gint                     gtk_printer_get_job_count         (GtkPrinter      *printer);
 gboolean                 gtk_printer_is_active             (GtkPrinter      *printer);
 gboolean                 gtk_printer_is_paused             (GtkPrinter      *printer);
@@ -113,7 +135,25 @@ gint                     gtk_printer_compare               (GtkPrinter *a,
 gboolean                 gtk_printer_has_details           (GtkPrinter       *printer);
 void                     gtk_printer_request_details       (GtkPrinter       *printer);
 GtkPrintCapabilities     gtk_printer_get_capabilities      (GtkPrinter       *printer);
-
+gboolean                 gtk_printer_get_hard_margins      (GtkPrinter       *printer,
+                                                            gdouble          *top,
+                                                            gdouble          *bottom,
+                                                            gdouble          *left,
+                                                            gdouble          *right);
+
+/**
+ * GtkPrinterFunc:
+ * @printer: a #GtkPrinter
+ * @data: (closure): user data passed to gtk_enumerate_printers()
+ *
+ * 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.
+ *
+ * Returns: %TRUE to stop the enumeration, %FALSE to continue
+ *
+ * Since: 2.10
+ */
 typedef gboolean (*GtkPrinterFunc) (GtkPrinter *printer,
                                    gpointer    data);