You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

235 regels
13 KiB

  1. /* GTK - The GIMP Toolkit
  2. * gtkprintsettings.h: Print Settings
  3. * Copyright (C) 2006, Red Hat, Inc.
  4. *
  5. * This library is free software; you can redistribute it and/or
  6. * modify it under the terms of the GNU Lesser General Public
  7. * License as published by the Free Software Foundation; either
  8. * version 2 of the License, or (at your option) any later version.
  9. *
  10. * This library is distributed in the hope that it will be useful,
  11. * but WITHOUT ANY WARRANTY; without even the implied warranty of
  12. * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  13. * Lesser General Public License for more details.
  14. *
  15. * You should have received a copy of the GNU Lesser General Public
  16. * License along with this library; if not, write to the
  17. * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
  18. * Boston, MA 02111-1307, USA.
  19. */
  20. #if defined(GTK_DISABLE_SINGLE_INCLUDES) && !defined (__GTK_H_INSIDE__) && !defined (GTK_COMPILATION)
  21. #error "Only <gtk/gtk.h> can be included directly."
  22. #endif
  23. #ifndef __GTK_PRINT_SETTINGS_H__
  24. #define __GTK_PRINT_SETTINGS_H__
  25. #include <gtk/gtkpapersize.h>
  26. G_BEGIN_DECLS
  27. typedef struct _GtkPrintSettings GtkPrintSettings;
  28. #define GTK_TYPE_PRINT_SETTINGS (gtk_print_settings_get_type ())
  29. #define GTK_PRINT_SETTINGS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_PRINT_SETTINGS, GtkPrintSettings))
  30. #define GTK_IS_PRINT_SETTINGS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_PRINT_SETTINGS))
  31. typedef void (*GtkPrintSettingsFunc) (const gchar *key,
  32. const gchar *value,
  33. gpointer user_data);
  34. typedef struct _GtkPageRange GtkPageRange;
  35. struct _GtkPageRange
  36. {
  37. gint start;
  38. gint end;
  39. };
  40. GType gtk_print_settings_get_type (void) G_GNUC_CONST;
  41. GtkPrintSettings *gtk_print_settings_new (void);
  42. GtkPrintSettings *gtk_print_settings_copy (GtkPrintSettings *other);
  43. GtkPrintSettings *gtk_print_settings_new_from_file (const gchar *file_name,
  44. GError **error);
  45. gboolean gtk_print_settings_load_file (GtkPrintSettings *settings,
  46. const gchar *file_name,
  47. GError **error);
  48. gboolean gtk_print_settings_to_file (GtkPrintSettings *settings,
  49. const gchar *file_name,
  50. GError **error);
  51. GtkPrintSettings *gtk_print_settings_new_from_key_file (GKeyFile *key_file,
  52. const gchar *group_name,
  53. GError **error);
  54. gboolean gtk_print_settings_load_key_file (GtkPrintSettings *settings,
  55. GKeyFile *key_file,
  56. const gchar *group_name,
  57. GError **error);
  58. void gtk_print_settings_to_key_file (GtkPrintSettings *settings,
  59. GKeyFile *key_file,
  60. const gchar *group_name);
  61. gboolean gtk_print_settings_has_key (GtkPrintSettings *settings,
  62. const gchar *key);
  63. G_CONST_RETURN gchar *gtk_print_settings_get (GtkPrintSettings *settings,
  64. const gchar *key);
  65. void gtk_print_settings_set (GtkPrintSettings *settings,
  66. const gchar *key,
  67. const gchar *value);
  68. void gtk_print_settings_unset (GtkPrintSettings *settings,
  69. const gchar *key);
  70. void gtk_print_settings_foreach (GtkPrintSettings *settings,
  71. GtkPrintSettingsFunc func,
  72. gpointer user_data);
  73. gboolean gtk_print_settings_get_bool (GtkPrintSettings *settings,
  74. const gchar *key);
  75. void gtk_print_settings_set_bool (GtkPrintSettings *settings,
  76. const gchar *key,
  77. gboolean value);
  78. gdouble gtk_print_settings_get_double (GtkPrintSettings *settings,
  79. const gchar *key);
  80. gdouble gtk_print_settings_get_double_with_default (GtkPrintSettings *settings,
  81. const gchar *key,
  82. gdouble def);
  83. void gtk_print_settings_set_double (GtkPrintSettings *settings,
  84. const gchar *key,
  85. gdouble value);
  86. gdouble gtk_print_settings_get_length (GtkPrintSettings *settings,
  87. const gchar *key,
  88. GtkUnit unit);
  89. void gtk_print_settings_set_length (GtkPrintSettings *settings,
  90. const gchar *key,
  91. gdouble value,
  92. GtkUnit unit);
  93. gint gtk_print_settings_get_int (GtkPrintSettings *settings,
  94. const gchar *key);
  95. gint gtk_print_settings_get_int_with_default (GtkPrintSettings *settings,
  96. const gchar *key,
  97. gint def);
  98. void gtk_print_settings_set_int (GtkPrintSettings *settings,
  99. const gchar *key,
  100. gint value);
  101. #define GTK_PRINT_SETTINGS_PRINTER "printer"
  102. #define GTK_PRINT_SETTINGS_ORIENTATION "orientation"
  103. #define GTK_PRINT_SETTINGS_PAPER_FORMAT "paper-format"
  104. #define GTK_PRINT_SETTINGS_PAPER_WIDTH "paper-width"
  105. #define GTK_PRINT_SETTINGS_PAPER_HEIGHT "paper-height"
  106. #define GTK_PRINT_SETTINGS_N_COPIES "n-copies"
  107. #define GTK_PRINT_SETTINGS_DEFAULT_SOURCE "default-source"
  108. #define GTK_PRINT_SETTINGS_QUALITY "quality"
  109. #define GTK_PRINT_SETTINGS_RESOLUTION "resolution"
  110. #define GTK_PRINT_SETTINGS_USE_COLOR "use-color"
  111. #define GTK_PRINT_SETTINGS_DUPLEX "duplex"
  112. #define GTK_PRINT_SETTINGS_COLLATE "collate"
  113. #define GTK_PRINT_SETTINGS_REVERSE "reverse"
  114. #define GTK_PRINT_SETTINGS_MEDIA_TYPE "media-type"
  115. #define GTK_PRINT_SETTINGS_DITHER "dither"
  116. #define GTK_PRINT_SETTINGS_SCALE "scale"
  117. #define GTK_PRINT_SETTINGS_PRINT_PAGES "print-pages"
  118. #define GTK_PRINT_SETTINGS_PAGE_RANGES "page-ranges"
  119. #define GTK_PRINT_SETTINGS_PAGE_SET "page-set"
  120. #define GTK_PRINT_SETTINGS_FINISHINGS "finishings"
  121. #define GTK_PRINT_SETTINGS_NUMBER_UP "number-up"
  122. #define GTK_PRINT_SETTINGS_NUMBER_UP_LAYOUT "number-up-layout"
  123. #define GTK_PRINT_SETTINGS_OUTPUT_BIN "output-bin"
  124. #define GTK_PRINT_SETTINGS_RESOLUTION_X "resolution-x"
  125. #define GTK_PRINT_SETTINGS_RESOLUTION_Y "resolution-y"
  126. #define GTK_PRINT_SETTINGS_PRINTER_LPI "printer-lpi"
  127. #define GTK_PRINT_SETTINGS_OUTPUT_FILE_FORMAT "output-file-format"
  128. #define GTK_PRINT_SETTINGS_OUTPUT_URI "output-uri"
  129. #define GTK_PRINT_SETTINGS_WIN32_DRIVER_VERSION "win32-driver-version"
  130. #define GTK_PRINT_SETTINGS_WIN32_DRIVER_EXTRA "win32-driver-extra"
  131. /* Helpers: */
  132. G_CONST_RETURN gchar *gtk_print_settings_get_printer (GtkPrintSettings *settings);
  133. void gtk_print_settings_set_printer (GtkPrintSettings *settings,
  134. const gchar *printer);
  135. GtkPageOrientation gtk_print_settings_get_orientation (GtkPrintSettings *settings);
  136. void gtk_print_settings_set_orientation (GtkPrintSettings *settings,
  137. GtkPageOrientation orientation);
  138. GtkPaperSize * gtk_print_settings_get_paper_size (GtkPrintSettings *settings);
  139. void gtk_print_settings_set_paper_size (GtkPrintSettings *settings,
  140. GtkPaperSize *paper_size);
  141. gdouble gtk_print_settings_get_paper_width (GtkPrintSettings *settings,
  142. GtkUnit unit);
  143. void gtk_print_settings_set_paper_width (GtkPrintSettings *settings,
  144. gdouble width,
  145. GtkUnit unit);
  146. gdouble gtk_print_settings_get_paper_height (GtkPrintSettings *settings,
  147. GtkUnit unit);
  148. void gtk_print_settings_set_paper_height (GtkPrintSettings *settings,
  149. gdouble height,
  150. GtkUnit unit);
  151. gboolean gtk_print_settings_get_use_color (GtkPrintSettings *settings);
  152. void gtk_print_settings_set_use_color (GtkPrintSettings *settings,
  153. gboolean use_color);
  154. gboolean gtk_print_settings_get_collate (GtkPrintSettings *settings);
  155. void gtk_print_settings_set_collate (GtkPrintSettings *settings,
  156. gboolean collate);
  157. gboolean gtk_print_settings_get_reverse (GtkPrintSettings *settings);
  158. void gtk_print_settings_set_reverse (GtkPrintSettings *settings,
  159. gboolean reverse);
  160. GtkPrintDuplex gtk_print_settings_get_duplex (GtkPrintSettings *settings);
  161. void gtk_print_settings_set_duplex (GtkPrintSettings *settings,
  162. GtkPrintDuplex duplex);
  163. GtkPrintQuality gtk_print_settings_get_quality (GtkPrintSettings *settings);
  164. void gtk_print_settings_set_quality (GtkPrintSettings *settings,
  165. GtkPrintQuality quality);
  166. gint gtk_print_settings_get_n_copies (GtkPrintSettings *settings);
  167. void gtk_print_settings_set_n_copies (GtkPrintSettings *settings,
  168. gint num_copies);
  169. gint gtk_print_settings_get_number_up (GtkPrintSettings *settings);
  170. void gtk_print_settings_set_number_up (GtkPrintSettings *settings,
  171. gint number_up);
  172. GtkNumberUpLayout gtk_print_settings_get_number_up_layout (GtkPrintSettings *settings);
  173. void gtk_print_settings_set_number_up_layout (GtkPrintSettings *settings,
  174. GtkNumberUpLayout number_up_layout);
  175. gint gtk_print_settings_get_resolution (GtkPrintSettings *settings);
  176. void gtk_print_settings_set_resolution (GtkPrintSettings *settings,
  177. gint resolution);
  178. gint gtk_print_settings_get_resolution_x (GtkPrintSettings *settings);
  179. gint gtk_print_settings_get_resolution_y (GtkPrintSettings *settings);
  180. void gtk_print_settings_set_resolution_xy (GtkPrintSettings *settings,
  181. gint resolution_x,
  182. gint resolution_y);
  183. gdouble gtk_print_settings_get_printer_lpi (GtkPrintSettings *settings);
  184. void gtk_print_settings_set_printer_lpi (GtkPrintSettings *settings,
  185. gdouble lpi);
  186. gdouble gtk_print_settings_get_scale (GtkPrintSettings *settings);
  187. void gtk_print_settings_set_scale (GtkPrintSettings *settings,
  188. gdouble scale);
  189. GtkPrintPages gtk_print_settings_get_print_pages (GtkPrintSettings *settings);
  190. void gtk_print_settings_set_print_pages (GtkPrintSettings *settings,
  191. GtkPrintPages pages);
  192. GtkPageRange * gtk_print_settings_get_page_ranges (GtkPrintSettings *settings,
  193. gint *num_ranges);
  194. void gtk_print_settings_set_page_ranges (GtkPrintSettings *settings,
  195. GtkPageRange *page_ranges,
  196. gint num_ranges);
  197. GtkPageSet gtk_print_settings_get_page_set (GtkPrintSettings *settings);
  198. void gtk_print_settings_set_page_set (GtkPrintSettings *settings,
  199. GtkPageSet page_set);
  200. G_CONST_RETURN gchar *gtk_print_settings_get_default_source (GtkPrintSettings *settings);
  201. void gtk_print_settings_set_default_source (GtkPrintSettings *settings,
  202. const gchar *default_source);
  203. G_CONST_RETURN gchar *gtk_print_settings_get_media_type (GtkPrintSettings *settings);
  204. void gtk_print_settings_set_media_type (GtkPrintSettings *settings,
  205. const gchar *media_type);
  206. G_CONST_RETURN gchar *gtk_print_settings_get_dither (GtkPrintSettings *settings);
  207. void gtk_print_settings_set_dither (GtkPrintSettings *settings,
  208. const gchar *dither);
  209. G_CONST_RETURN gchar *gtk_print_settings_get_finishings (GtkPrintSettings *settings);
  210. void gtk_print_settings_set_finishings (GtkPrintSettings *settings,
  211. const gchar *finishings);
  212. G_CONST_RETURN gchar *gtk_print_settings_get_output_bin (GtkPrintSettings *settings);
  213. void gtk_print_settings_set_output_bin (GtkPrintSettings *settings,
  214. const gchar *output_bin);
  215. G_END_DECLS
  216. #endif /* __GTK_PRINT_SETTINGS_H__ */