1 /* 2 * Copyright (c) 2004 by the gtk2-perl team (see the file AUTHORS) 3 * 4 * Licensed under the LGPL, see LICENSE file for more information. 5 * 6 * $Id$ 7 */ 8 9 #include "gtk2perl.h" 10 11 MODULE = Gtk2::Gdk::Visual PACKAGE = Gtk2::Gdk PREFIX = gdk_ 12 13 =for apidoc 14 Returns a list of depths. 15 =cut 16 ## void gdk_query_depths (gint **depths, gint *count) 17 void 18 gdk_query_depths (class) 19 PREINIT: 20 gint *depths = NULL; 21 gint i, count = 0; 22 PPCODE: 23 gdk_query_depths (&depths, &count); 24 25 if (count <= 0 || depths == NULL) 26 XSRETURN_EMPTY; 27 28 EXTEND (sp, count); 29 30 for (i = 0; i < count; i++) 31 PUSHs (sv_2mortal (newSViv (depths[i]))); 32 33 ## void gdk_query_visual_types (GdkVisualType **visual_types, gint *count) 34 void 35 gdk_query_visual_types (class) 36 PREINIT: 37 GdkVisualType *visual_types = NULL; 38 gint i, count = 0; 39 PPCODE: 40 gdk_query_visual_types (&visual_types, &count); 41 42 if (count <= 0 || visual_types == NULL) 43 XSRETURN_EMPTY; 44 45 EXTEND (sp, count); 46 47 for (i = 0; i < count; i++) 48 PUSHs (sv_2mortal (newSVGdkVisualType (visual_types[i]))); 49 50 ## GList* gdk_list_visuals (void) 51 void 52 gdk_list_visuals (class) 53 PREINIT: 54 GList *i, *visuals = NULL; 55 PPCODE: 56 PERL_UNUSED_VAR (ax); 57 visuals = gdk_list_visuals (); 58 for (i = visuals; i != NULL; i = i->next) 59 XPUSHs (sv_2mortal (newSVGdkVisual (i->data))); 60 g_list_free (visuals); 61 62 MODULE = Gtk2::Gdk::Visual PACKAGE = Gtk2::Gdk::Visual PREFIX = gdk_visual_ 63 64 ## gint gdk_visual_get_best_depth (void) 65 gint 66 gdk_visual_get_best_depth (class) 67 C_ARGS: 68 /* void */ 69 70 ## GdkVisualType gdk_visual_get_best_type (void) 71 GdkVisualType 72 gdk_visual_get_best_type (class) 73 C_ARGS: 74 /* void */ 75 76 ## GdkVisual* gdk_visual_get_system (void) 77 GdkVisual* 78 gdk_visual_get_system (class) 79 C_ARGS: 80 /* void */ 81 82 ## GdkVisual* gdk_visual_get_best (void) 83 GdkVisual* 84 gdk_visual_get_best (class) 85 C_ARGS: 86 /* void */ 87 88 ## GdkVisual* gdk_visual_get_best_with_depth (gint depth) 89 GdkVisual_ornull* 90 gdk_visual_get_best_with_depth (class, depth) 91 gint depth 92 C_ARGS: 93 depth 94 95 ## GdkVisual* gdk_visual_get_best_with_type (GdkVisualType visual_type) 96 GdkVisual_ornull* 97 gdk_visual_get_best_with_type (class, visual_type) 98 GdkVisualType visual_type 99 C_ARGS: 100 visual_type 101 102 ## GdkVisual* gdk_visual_get_best_with_both (gint depth, GdkVisualType visual_type) 103 GdkVisual_ornull* 104 gdk_visual_get_best_with_both (class, depth, visual_type) 105 gint depth 106 GdkVisualType visual_type 107 C_ARGS: 108 depth, visual_type 109 110 #if GTK_CHECK_VERSION(2, 2, 0) 111 112 ## GdkScreen* gdk_visual_get_screen (GdkVisual *visual) 113 GdkScreen* 114 gdk_visual_get_screen (visual) 115 GdkVisual *visual 116 117 #endif 118 119 # --------------------------------------------------------------------------- # 120 121 GdkVisualType 122 type (visual) 123 GdkVisual *visual 124 CODE: 125 RETVAL = visual->type; 126 OUTPUT: 127 RETVAL 128 129 GdkByteOrder 130 byte_order (visual) 131 GdkVisual *visual 132 CODE: 133 RETVAL = visual->byte_order; 134 OUTPUT: 135 RETVAL 136 137 gint 138 depth (visual) 139 GdkVisual *visual 140 ALIAS: 141 colormap_size = 1 142 bits_per_rgb = 2 143 red_shift = 3 144 red_prec = 4 145 green_shift = 5 146 green_prec = 6 147 blue_shift = 7 148 blue_prec = 8 149 CODE: 150 RETVAL = 0; /* -W */ 151 switch (ix) { 152 case 0: RETVAL = visual->depth; break; 153 case 1: RETVAL = visual->colormap_size; break; 154 case 2: RETVAL = visual->bits_per_rgb; break; 155 case 3: RETVAL = visual->red_shift; break; 156 case 4: RETVAL = visual->red_prec; break; 157 case 5: RETVAL = visual->green_shift; break; 158 case 6: RETVAL = visual->green_prec; break; 159 case 7: RETVAL = visual->blue_shift; break; 160 case 8: RETVAL = visual->blue_prec; break; 161 default: g_assert_not_reached (); 162 } 163 OUTPUT: 164 RETVAL 165 166 guint32 167 red_mask (visual) 168 GdkVisual *visual 169 ALIAS: 170 green_mask = 1 171 blue_mask = 2 172 CODE: 173 RETVAL = 0; /* -W */ 174 switch (ix) { 175 case 0: RETVAL = visual->red_mask; break; 176 case 1: RETVAL = visual->green_mask; break; 177 case 2: RETVAL = visual->blue_mask; break; 178 default: g_assert_not_reached(); 179 } 180 OUTPUT: 181 RETVAL 182 183 #if GTK_CHECK_VERSION (2, 22, 0) 184 185 void gdk_visual_get_blue_pixel_details (GdkVisual *visual, OUTLIST guint32 mask, OUTLIST gint shift, OUTLIST gint precision); 186 187 void gdk_visual_get_green_pixel_details (GdkVisual *visual, OUTLIST guint32 mask, OUTLIST gint shift, OUTLIST gint precision); 188 189 void gdk_visual_get_red_pixel_details (GdkVisual *visual, OUTLIST guint32 mask, OUTLIST gint shift, OUTLIST gint precision); 190 191 gint gdk_visual_get_bits_per_rgb (GdkVisual *visual); 192 193 GdkByteOrder gdk_visual_get_byte_order (GdkVisual *visual); 194 195 gint gdk_visual_get_colormap_size (GdkVisual *visual); 196 197 gint gdk_visual_get_depth (GdkVisual *visual); 198 199 GdkVisualType gdk_visual_get_visual_type (GdkVisual *visual); 200 201 #endif /* 2.22 */ 202