]> Pileus Git - ~andy/gtk/blobdiff - gdk/gdkvisual.h
quartz: Null check title before setting it
[~andy/gtk] / gdk / gdkvisual.h
index 80d742ff9a82c146bfdb8bcdf257189a423a814f..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/.
  */
 
+#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
 
-#ifndef __GDK_VISUAL_H__
-#define __GDK_VISUAL_H__
-
 #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 _GdkVisualPrivate  GdkVisualPrivate;
-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
 {
@@ -63,65 +71,34 @@ 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;
-
-  /*< private >*/
-  GdkVisualType GSEAL (type);
-  gint GSEAL (depth);
-  GdkByteOrder GSEAL (byte_order);
-  gint GSEAL (colormap_size);
-  gint GSEAL (bits_per_rgb);
-
-  guint32 GSEAL (red_mask);
-  gint GSEAL (red_shift);
-  gint GSEAL (red_prec);
-
-  guint32 GSEAL (green_mask);
-  gint GSEAL (green_shift);
-  gint GSEAL (green_prec);
-
-  guint32 GSEAL (blue_mask);
-  gint GSEAL (blue_shift);
-  gint GSEAL (blue_prec);
-
-  GdkVisualPrivate *priv;
-};
 
 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);
+GdkScreen    *gdk_visual_get_screen (GdkVisual *visual);
 
 GdkVisualType gdk_visual_get_visual_type         (GdkVisual *visual);
 gint          gdk_visual_get_depth               (GdkVisual *visual);