]> Pileus Git - ~andy/gtk/blobdiff - gdk/gdkvisual.h
stylecontext: Do invalidation on first resize container
[~andy/gtk] / gdk / gdkvisual.h
index d9479a5dccc8520d7888bf16048454c22a1ad466..c15808e8e987cb96d52b1ede4aeb5aa33fd2a3cb 100644 (file)
@@ -12,9 +12,7 @@
  * 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/>.
  */
 
 /*
  * GTK+ at ftp://ftp.gtk.org/pub/gtk/.
  */
 
-#if defined(GTK_DISABLE_SINGLE_INCLUDES) && !defined (__GDK_H_INSIDE__) && !defined (GDK_COMPILATION)
-#error "Only <gdk/gdk.h> can be included directly."
-#endif
-
 #ifndef __GDK_VISUAL_H__
 #define __GDK_VISUAL_H__
 
+#if !defined (__GDK_H_INSIDE__) && !defined (GDK_COMPILATION)
+#error "Only <gdk/gdk.h> can be included directly."
+#endif
+
 #include <gdk/gdktypes.h>
 
 G_BEGIN_DECLS
 
 #define GDK_TYPE_VISUAL              (gdk_visual_get_type ())
 #define GDK_VISUAL(object)           (G_TYPE_CHECK_INSTANCE_CAST ((object), GDK_TYPE_VISUAL, GdkVisual))
-#define GDK_VISUAL_CLASS(klass)      (G_TYPE_CHECK_CLASS_CAST ((klass), GDK_TYPE_VISUAL, GdkVisualClass))
 #define GDK_IS_VISUAL(object)        (G_TYPE_CHECK_INSTANCE_TYPE ((object), GDK_TYPE_VISUAL))
-#define GDK_IS_VISUAL_CLASS(klass)   (G_TYPE_CHECK_CLASS_TYPE ((klass), GDK_TYPE_VISUAL))
-#define GDK_VISUAL_GET_CLASS(obj)    (G_TYPE_INSTANCE_GET_CLASS ((obj), GDK_TYPE_VISUAL, GdkVisualClass))
-
-typedef struct _GdkVisualClass    GdkVisualClass;
-
-/* Types of visuals.
- *   StaticGray:
- *   Grayscale:
- *   StaticColor:
- *   PseudoColor:
- *   TrueColor:
- *   DirectColor:
+
+/**
+ * GdkVisualType:
+ * @GDK_VISUAL_STATIC_GRAY: Each pixel value indexes a grayscale value
+ *     directly.
+ * @GDK_VISUAL_GRAYSCALE: Each pixel is an index into a color map that
+ *     maps pixel values into grayscale values. The color map can be
+ *     changed by an application.
+ * @GDK_VISUAL_STATIC_COLOR: Each pixel value is an index into a predefined,
+ *     unmodifiable color map that maps pixel values into RGB values.
+ * @GDK_VISUAL_PSEUDO_COLOR: Each pixel is an index into a color map that
+ *     maps pixel values into rgb values. The color map can be changed by
+ *     an application.
+ * @GDK_VISUAL_TRUE_COLOR: Each pixel value directly contains red, green,
+ *     and blue components. Use gdk_visual_get_red_pixel_details(), etc,
+ *     to obtain information about how the components are assembled into
+ *     a pixel value.
+ * @GDK_VISUAL_DIRECT_COLOR: Each pixel value contains red, green, and blue
+ *     components as for %GDK_VISUAL_TRUE_COLOR, but the components are
+ *     mapped via a color table into the final output table instead of
+ *     being converted directly.
+ *
+ * A set of values that describe the manner in which the pixel values
+ * for a visual are converted into RGB values for display.
  */
 typedef enum
 {
@@ -62,67 +71,52 @@ typedef enum
   GDK_VISUAL_DIRECT_COLOR
 } GdkVisualType;
 
-/* The visual type.
- *   "type" is the type of visual this is (PseudoColor, TrueColor, etc).
- *   "depth" is the bit depth of this visual.
- *   "colormap_size" is the size of a colormap for this visual.
- *   "bits_per_rgb" is the number of significant bits per red, green and blue.
- *  The red, green and blue masks, shifts and precisions refer
- *   to value needed to calculate pixel values in TrueColor and DirectColor
- *   visuals. The "mask" is the significant bits within the pixel. The
- *   "shift" is the number of bits left we must shift a primary for it
- *   to be in position (according to the "mask"). "prec" refers to how
- *   much precision the pixel value contains for a particular primary.
+/**
+ * GdkVisual:
+ *
+ * The #GdkVisual structure contains information about
+ * a particular visual.
  */
-struct _GdkVisual
-{
-  GObject parent_instance;
-  
-  GdkVisualType type;
-  gint depth;
-  GdkByteOrder byte_order;
-  gint colormap_size;
-  gint bits_per_rgb;
-
-  guint32 red_mask;
-  gint red_shift;
-  gint red_prec;
-
-  guint32 green_mask;
-  gint green_shift;
-  gint green_prec;
-
-  guint32 blue_mask;
-  gint blue_shift;
-  gint blue_prec;
-};
 
 GType         gdk_visual_get_type            (void) G_GNUC_CONST;
 
 #ifndef GDK_MULTIHEAD_SAFE
-gint         gdk_visual_get_best_depth      (void);
-GdkVisualType gdk_visual_get_best_type      (void);
-GdkVisual*    gdk_visual_get_system         (void);
-GdkVisual*    gdk_visual_get_best           (void);
-GdkVisual*    gdk_visual_get_best_with_depth (gint          depth);
+gint          gdk_visual_get_best_depth      (void);
+GdkVisualType gdk_visual_get_best_type       (void);
+GdkVisual*    gdk_visual_get_system          (void);
+GdkVisual*    gdk_visual_get_best            (void);
+GdkVisual*    gdk_visual_get_best_with_depth (gint           depth);
 GdkVisual*    gdk_visual_get_best_with_type  (GdkVisualType  visual_type);
-GdkVisual*    gdk_visual_get_best_with_both  (gint          depth,
-                                             GdkVisualType  visual_type);
+GdkVisual*    gdk_visual_get_best_with_both  (gint           depth,
+                                              GdkVisualType  visual_type);
 
-void gdk_query_depths      (gint           **depths,
-                            gint            *count);
+void gdk_query_depths       (gint           **depths,
+                             gint            *count);
 void gdk_query_visual_types (GdkVisualType  **visual_types,
-                            gint            *count);
+                             gint            *count);
 
 GList* gdk_list_visuals (void);
 #endif
 
-GdkScreen *gdk_visual_get_screen (GdkVisual *visual);
-
-#ifndef GDK_DISABLE_DEPRECATED
-#define gdk_visual_ref(v) g_object_ref(v)
-#define gdk_visual_unref(v) g_object_unref(v)
-#endif
+GdkScreen    *gdk_visual_get_screen (GdkVisual *visual);
+
+GdkVisualType gdk_visual_get_visual_type         (GdkVisual *visual);
+gint          gdk_visual_get_depth               (GdkVisual *visual);
+GdkByteOrder  gdk_visual_get_byte_order          (GdkVisual *visual);
+gint          gdk_visual_get_colormap_size       (GdkVisual *visual);
+gint          gdk_visual_get_bits_per_rgb        (GdkVisual *visual);
+void          gdk_visual_get_red_pixel_details   (GdkVisual *visual,
+                                                  guint32   *mask,
+                                                  gint      *shift,
+                                                  gint      *precision);
+void          gdk_visual_get_green_pixel_details (GdkVisual *visual,
+                                                  guint32   *mask,
+                                                  gint      *shift,
+                                                  gint      *precision);
+void          gdk_visual_get_blue_pixel_details  (GdkVisual *visual,
+                                                  guint32   *mask,
+                                                  gint      *shift,
+                                                  gint      *precision);
 
 G_END_DECLS