#include "gnomeprintperl.h"
MODULE = Gnome2::Print::Config PACKAGE = Gnome2::Print::Config PREFIX = gnome_print_config_
### some convenience keys to be used with set/get...
### the key's string returned is constant, so we don't need to think about it.
char *
constants (class)
ALIAS:
Gnome2::Print::Config::key_paper_size = 1
Gnome2::Print::Config::key_paper_width = 2
Gnome2::Print::Config::key_paper_height = 3
Gnome2::Print::Config::key_paper_orientation = 4
Gnome2::Print::Config::key_paper_orientation_matrix = 5
Gnome2::Print::Config::key_page_orientation = 6
Gnome2::Print::Config::key_page_orientation_matrix = 7
Gnome2::Print::Config::key_orientation = 8
Gnome2::Print::Config::key_layout = 9
Gnome2::Print::Config::key_layout_width = 10
Gnome2::Print::Config::key_layout_height = 11
Gnome2::Print::Config::key_resolution = 12
Gnome2::Print::Config::key_resolution_dpi = 13
Gnome2::Print::Config::key_resolution_dpi_x = 14
Gnome2::Print::Config::key_resolution_dpi_y = 15
Gnome2::Print::Config::key_num_copies = 16
Gnome2::Print::Config::key_collate = 17
Gnome2::Print::Config::key_page_margin_right = 18
Gnome2::Print::Config::key_page_margin_left = 19
Gnome2::Print::Config::key_page_margin_top = 20
Gnome2::Print::Config::key_page_margin_bottom = 21
Gnome2::Print::Config::key_paper_margin_right = 22
Gnome2::Print::Config::key_paper_margin_left = 23
Gnome2::Print::Config::key_paper_margin_top = 24
Gnome2::Print::Config::key_paper_margin_bottom = 25
Gnome2::Print::Config::key_output_filename = 26
Gnome2::Print::Config::key_document_name = 27
Gnome2::Print::Config::key_prefered_unit = 28
CODE:
switch (ix) {
case 1: RETVAL = GNOME_PRINT_KEY_PAPER_SIZE; break;
case 2: RETVAL = GNOME_PRINT_KEY_PAPER_WIDTH; break;
case 3: RETVAL = GNOME_PRINT_KEY_PAPER_HEIGHT; break;
case 4: RETVAL = GNOME_PRINT_KEY_PAPER_ORIENTATION; break;
case 5: RETVAL = GNOME_PRINT_KEY_PAPER_ORIENTATION_MATRIX; break;
case 6: RETVAL = GNOME_PRINT_KEY_PAGE_ORIENTATION; break;
case 7: RETVAL = GNOME_PRINT_KEY_PAGE_ORIENTATION_MATRIX; break;
case 8: RETVAL = GNOME_PRINT_KEY_ORIENTATION; break;
case 9: RETVAL = GNOME_PRINT_KEY_LAYOUT; break;
case 10: RETVAL = GNOME_PRINT_KEY_LAYOUT_WIDTH; break;
case 11: RETVAL = GNOME_PRINT_KEY_LAYOUT_HEIGHT; break;
case 12: RETVAL = GNOME_PRINT_KEY_RESOLUTION; break;
case 13: RETVAL = GNOME_PRINT_KEY_RESOLUTION_DPI; break;
case 14: RETVAL = GNOME_PRINT_KEY_RESOLUTION_DPI_X; break;
case 15: RETVAL = GNOME_PRINT_KEY_RESOLUTION_DPI_Y; break;
case 16: RETVAL = GNOME_PRINT_KEY_NUM_COPIES; break;
case 17: RETVAL = GNOME_PRINT_KEY_COLLATE; break;
case 18: RETVAL = GNOME_PRINT_KEY_PAGE_MARGIN_LEFT; break;
case 19: RETVAL = GNOME_PRINT_KEY_PAGE_MARGIN_RIGHT; break;
case 20: RETVAL = GNOME_PRINT_KEY_PAGE_MARGIN_TOP; break;
case 21: RETVAL = GNOME_PRINT_KEY_PAGE_MARGIN_BOTTOM; break;
case 22: RETVAL = GNOME_PRINT_KEY_PAPER_MARGIN_LEFT; break;
case 23: RETVAL = GNOME_PRINT_KEY_PAPER_MARGIN_RIGHT; break;
case 24: RETVAL = GNOME_PRINT_KEY_PAPER_MARGIN_TOP; break;
case 25: RETVAL = GNOME_PRINT_KEY_PAPER_MARGIN_BOTTOM; break;
case 26: RETVAL = GNOME_PRINT_KEY_OUTPUT_FILENAME; break;
case 27: RETVAL = GNOME_PRINT_KEY_DOCUMENT_NAME; break;
case 28: RETVAL = GNOME_PRINT_KEY_PREFERED_UNIT; break;
default: RETVAL = NULL;
}
OUTPUT:
RETVAL
GnomePrintConfig_noinc *
gnome_print_config_default (class);
C_ARGS:
/* void */
gchar_own *
gnome_print_config_to_string (gpc, flags)
GnomePrintConfig * gpc
guint flags
GnomePrintConfig_noinc *
gnome_print_config_from_string (str, flags)
const gchar * str
guint flags
void
gnome_print_config_dump (gpc)
GnomePrintConfig * gpc
=for apidoc
=signature ($width, $height) = $gpc->get_page_size
=cut
void
gnome_print_config_get_page_size (gpc)
GnomePrintConfig * gpc
PREINIT:
gdouble width;
gdouble height;
PPCODE:
if (!gnome_print_config_get_page_size (gpc, &width, &height))
XSRETURN_EMPTY;
EXTEND (SP, 2);
PUSHs (sv_2mortal (newSVnv (width)));
PUSHs (sv_2mortal (newSVnv (height)));
### The get* methods should all FALSE if the key is not found (except
### gnome_print_config_get, which returns NULL), and use the "value"
### argument for storing the key's value. Here, we change it a little
### bit, and make the method return undef in case of failure, or the
### wanted scalar in case of success.
void
gnome_print_config_gets (config, key)
GnomePrintConfig * config
const guchar * key
ALIAS:
Gnome2::Print::Config::get = 0
Gnome2::Print::Config::get_int = 1
Gnome2::Print::Config::get_boolean = 2
Gnome2::Print::Config::get_double = 3
PPCODE:
switch (ix) {
case 0: {
gchar_own *value;
value = (gchar_own *) gnome_print_config_get (config, key);
if (! value)
XSRETURN_UNDEF;
EXTEND (SP, 1);
PUSHs (sv_2mortal (newSVGChar (value)));
break;
}
case 1: {
gint value;
if (! gnome_print_config_get_int (config, key, &value))
XSRETURN_UNDEF;
EXTEND (SP, 1);
PUSHs (sv_2mortal (newSViv (value)));
break;
}
case 2: {
gboolean value;
if (! gnome_print_config_get_boolean (config, key, &value))
XSRETURN_UNDEF;
EXTEND (SP, 1);
PUSHs (sv_2mortal (newSViv (value)));
break;
}
case 3: {
gdouble value;
if (! gnome_print_config_get_double (config, key, &value))
XSRETURN_UNDEF;
EXTEND (SP, 1),
PUSHs (sv_2mortal (newSVnv (value)));
break;
}
}
##guchar * gnome_print_config_get (GnomePrintConfig *config, const guchar *key);
##gboolean gnome_print_config_set (GnomePrintConfig *config, const guchar *key, const guchar *value);
gboolean
gnome_print_config_set (config, key, value)
GnomePrintConfig * config
const guchar * key
const guchar * value
##gboolean gnome_print_config_get_boolean (GnomePrintConfig *config, const guchar *key, gboolean *val)
##gboolean gnome_print_config_get_int (GnomePrintConfig *config, const guchar *key, gint *val);
##gboolean gnome_print_config_get_double (GnomePrintConfig *config, const guchar *key, gdouble *val);
##gboolean gnome_print_config_get_length (GnomePrintConfig *config, const guchar *key, gdouble *val, const GnomePrintUnit **unit);
### The set* methods are just fine returning a boolean, so we bind them as they
### are.
gboolean
gnome_print_config_set_boolean (config, key, val)
GnomePrintConfig * config
const guchar * key
gboolean val
gboolean
gnome_print_config_set_int (config, key, val)
GnomePrintConfig * config
const guchar * key
gint val
gboolean
gnome_print_config_set_double (config, key, val)
GnomePrintConfig * config
const guchar * key
gdouble val
##gboolean gnome_print_config_set_length (GnomePrintConfig *config, const guchar *key, gdouble val, const GnomePrintUnit *unit);
gboolean
gnome_print_config_set_length (config, key, val, unit)
GnomePrintConfig * config
const guchar * key
gdouble val
const GnomePrintUnit * unit