<FILE>drawing</FILE>
GdkDrawable
gdk_drawable_get_display
-gdk_drawable_get_screen
-gdk_drawable_get_visual
gdk_drawable_get_colormap
-gdk_drawable_get_depth
gdk_drawable_get_size
gdk_drawable_get_clip_region
gdk_drawable_get_visible_region
#if IN_FILE(__GDK_DRAW_C__)
gdk_drawable_get_clip_region
gdk_drawable_get_colormap
-gdk_drawable_get_depth
gdk_drawable_get_display
-gdk_drawable_get_screen
gdk_drawable_get_size
gdk_drawable_get_type G_GNUC_CONST
gdk_drawable_get_visible_region
-gdk_drawable_get_visual
#endif
#endif
GDK_DRAWABLE_GET_CLASS (drawable)->get_size (drawable, width, height);
}
-/**
- * gdk_drawable_get_visual:
- * @drawable: a #GdkDrawable
- *
- * Gets the #GdkVisual describing the pixel format of @drawable.
- *
- * Return value: a #GdkVisual
- **/
-GdkVisual*
-gdk_drawable_get_visual (GdkDrawable *drawable)
-{
- g_return_val_if_fail (GDK_IS_DRAWABLE (drawable), NULL);
-
- return GDK_DRAWABLE_GET_CLASS (drawable)->get_visual (drawable);
-}
-
-/**
- * gdk_drawable_get_depth:
- * @drawable: a #GdkDrawable
- *
- * Obtains the bit depth of the drawable, that is, the number of bits
- * that make up a pixel in the drawable's visual. Examples are 8 bits
- * per pixel, 24 bits per pixel, etc.
- *
- * Return value: number of bits per pixel
- **/
-gint
-gdk_drawable_get_depth (GdkDrawable *drawable)
-{
- g_return_val_if_fail (GDK_IS_DRAWABLE (drawable), 0);
-
- return GDK_DRAWABLE_GET_CLASS (drawable)->get_depth (drawable);
-}
-/**
- * gdk_drawable_get_screen:
- * @drawable: a #GdkDrawable
- *
- * Gets the #GdkScreen associated with a #GdkDrawable.
- *
- * Return value: the #GdkScreen associated with @drawable
- *
- * Since: 2.2
- **/
-GdkScreen*
-gdk_drawable_get_screen(GdkDrawable *drawable)
-{
- g_return_val_if_fail (GDK_IS_DRAWABLE (drawable), NULL);
-
- return GDK_DRAWABLE_GET_CLASS (drawable)->get_screen (drawable);
-}
-
/**
* gdk_drawable_get_display:
* @drawable: a #GdkDrawable
{
g_return_val_if_fail (GDK_IS_DRAWABLE (drawable), NULL);
- return gdk_screen_get_display (gdk_drawable_get_screen (drawable));
+ return gdk_screen_get_display (gdk_colormap_get_screen (gdk_drawable_get_colormap (drawable)));
}
/**
{
GObjectClass parent_class;
- gint (*get_depth) (GdkDrawable *drawable);
void (*get_size) (GdkDrawable *drawable,
gint *width,
gint *height);
GdkColormap* (*get_colormap) (GdkDrawable *drawable);
- GdkVisual* (*get_visual) (GdkDrawable *drawable);
- GdkScreen* (*get_screen) (GdkDrawable *drawable);
cairo_region_t* (*get_clip_region) (GdkDrawable *drawable);
cairo_region_t* (*get_visible_region) (GdkDrawable *drawable);
gint *width,
gint *height);
GdkColormap* gdk_drawable_get_colormap (GdkDrawable *drawable);
-GdkVisual* gdk_drawable_get_visual (GdkDrawable *drawable);
-gint gdk_drawable_get_depth (GdkDrawable *drawable);
-GdkScreen* gdk_drawable_get_screen (GdkDrawable *drawable);
GdkDisplay* gdk_drawable_get_display (GdkDrawable *drawable);
cairo_region_t *gdk_drawable_get_clip_region (GdkDrawable *drawable);
return offscreen->colormap;
}
-static gint
-gdk_offscreen_window_get_depth (GdkDrawable *drawable)
-{
- GdkOffscreenWindow *offscreen = GDK_OFFSCREEN_WINDOW (drawable);
-
- return gdk_drawable_get_depth (offscreen->wrapper);
-}
-
-static GdkScreen*
-gdk_offscreen_window_get_screen (GdkDrawable *drawable)
-{
- GdkOffscreenWindow *offscreen = GDK_OFFSCREEN_WINDOW (drawable);
-
- return offscreen->screen;
-}
-
-static GdkVisual*
-gdk_offscreen_window_get_visual (GdkDrawable *drawable)
-{
- GdkOffscreenWindow *offscreen = GDK_OFFSCREEN_WINDOW (drawable);
-
- return gdk_drawable_get_visual (offscreen->wrapper);
-}
-
void
_gdk_offscreen_window_new (GdkWindow *window,
GdkScreen *screen,
drawable_class->ref_cairo_surface = gdk_offscreen_window_ref_cairo_surface;
drawable_class->get_colormap = gdk_offscreen_window_get_colormap;
- drawable_class->get_depth = gdk_offscreen_window_get_depth;
- drawable_class->get_screen = gdk_offscreen_window_get_screen;
- drawable_class->get_visual = gdk_offscreen_window_get_visual;
}
static void
gint *width,
gint *height);
-static GdkVisual* gdk_window_real_get_visual (GdkDrawable *drawable);
-static gint gdk_window_real_get_depth (GdkDrawable *drawable);
-static GdkScreen* gdk_window_real_get_screen (GdkDrawable *drawable);
static GdkColormap* gdk_window_real_get_colormap (GdkDrawable *drawable);
static cairo_region_t* gdk_window_get_clip_region (GdkDrawable *drawable);
object_class->set_property = gdk_window_set_property;
object_class->get_property = gdk_window_get_property;
- drawable_class->get_depth = gdk_window_real_get_depth;
- drawable_class->get_screen = gdk_window_real_get_screen;
drawable_class->get_size = gdk_window_real_get_size;
drawable_class->get_colormap = gdk_window_real_get_colormap;
- drawable_class->get_visual = gdk_window_real_get_visual;
drawable_class->ref_cairo_surface = gdk_window_ref_cairo_surface;
drawable_class->create_cairo_surface = gdk_window_create_cairo_surface;
drawable_class->set_cairo_clip = gdk_window_set_cairo_clip;
*height = private->height;
}
-static GdkVisual*
-gdk_window_real_get_visual (GdkDrawable *drawable)
-{
- GdkColormap *colormap;
-
- g_return_val_if_fail (GDK_IS_WINDOW (drawable), NULL);
-
- colormap = gdk_drawable_get_colormap (drawable);
- return colormap ? gdk_colormap_get_visual (colormap) : NULL;
-}
-
-static gint
-gdk_window_real_get_depth (GdkDrawable *drawable)
-{
- g_return_val_if_fail (GDK_IS_WINDOW (drawable), 0);
-
- return ((GdkWindowObject *)GDK_WINDOW (drawable))->depth;
-}
-
-static GdkScreen*
-gdk_window_real_get_screen (GdkDrawable *drawable)
-{
- return gdk_drawable_get_screen (GDK_WINDOW_OBJECT (drawable)->impl);
-}
-
static GdkColormap*
gdk_window_real_get_colormap (GdkDrawable *drawable)
{
return GDK_DRAWABLE_IMPL_QUARTZ (drawable)->colormap;
}
-static GdkScreen*
-gdk_quartz_get_screen (GdkDrawable *drawable)
-{
- return _gdk_screen;
-}
-
-static GdkVisual*
-gdk_quartz_get_visual (GdkDrawable *drawable)
-{
- return gdk_drawable_get_visual (GDK_DRAWABLE_IMPL_QUARTZ (drawable)->wrapper);
-}
-
-static int
-gdk_quartz_get_depth (GdkDrawable *drawable)
-{
- /* This is a bit bogus but I'm not sure the other way is better */
-
- return gdk_drawable_get_depth (GDK_DRAWABLE_IMPL_QUARTZ (drawable)->wrapper);
-}
-
static void
gdk_drawable_impl_quartz_finalize (GObject *object)
{
drawable_class->create_cairo_surface = gdk_quartz_create_cairo_surface;
drawable_class->get_colormap = gdk_quartz_get_colormap;
-
- drawable_class->get_depth = gdk_quartz_get_depth;
- drawable_class->get_screen = gdk_quartz_get_screen;
- drawable_class->get_visual = gdk_quartz_get_visual;
}
GType
static GdkColormap* gdk_win32_get_colormap (GdkDrawable *drawable);
-static gint gdk_win32_get_depth (GdkDrawable *drawable);
-
-static GdkScreen * gdk_win32_get_screen (GdkDrawable *drawable);
-
-static GdkVisual* gdk_win32_get_visual (GdkDrawable *drawable);
-
static void gdk_drawable_impl_win32_finalize (GObject *object);
static const cairo_user_data_key_t gdk_win32_cairo_key;
drawable_class->create_cairo_surface = gdk_win32_create_cairo_surface;
drawable_class->get_colormap = gdk_win32_get_colormap;
-
- drawable_class->get_depth = gdk_win32_get_depth;
- drawable_class->get_screen = gdk_win32_get_screen;
- drawable_class->get_visual = gdk_win32_get_visual;
}
static void
return FALSE;
}
-static gint
-gdk_win32_get_depth (GdkDrawable *drawable)
-{
- /* This is a bit bogus but I'm not sure the other way is better */
-
- return gdk_drawable_get_depth (GDK_DRAWABLE_IMPL_WIN32 (drawable)->wrapper);
-}
-
-static GdkScreen*
-gdk_win32_get_screen (GdkDrawable *drawable)
-{
- return gdk_screen_get_default ();
-}
-
-static GdkVisual*
-gdk_win32_get_visual (GdkDrawable *drawable)
-{
- return gdk_drawable_get_visual (GDK_DRAWABLE_IMPL_WIN32 (drawable)->wrapper);
-}
-
HGDIOBJ
gdk_win32_drawable_get_handle (GdkDrawable *drawable)
{
int height);
static GdkColormap* gdk_x11_get_colormap (GdkDrawable *drawable);
-static gint gdk_x11_get_depth (GdkDrawable *drawable);
-static GdkScreen * gdk_x11_get_screen (GdkDrawable *drawable);
-static GdkVisual* gdk_x11_get_visual (GdkDrawable *drawable);
static const cairo_user_data_key_t gdk_x11_cairo_key;
drawable_class->create_cairo_surface = gdk_x11_create_cairo_surface;
drawable_class->get_colormap = gdk_x11_get_colormap;
-
- drawable_class->get_depth = gdk_x11_get_depth;
- drawable_class->get_screen = gdk_x11_get_screen;
- drawable_class->get_visual = gdk_x11_get_visual;
}
static void
return impl->colormap;
}
-static gint
-gdk_x11_get_depth (GdkDrawable *drawable)
-{
- /* This is a bit bogus but I'm not sure the other way is better */
-
- return gdk_drawable_get_depth (GDK_DRAWABLE_IMPL_X11 (drawable)->wrapper);
-}
-
static GdkDrawable *
get_impl_drawable (GdkDrawable *drawable)
{
}
}
-static GdkScreen*
-gdk_x11_get_screen (GdkDrawable *drawable)
-{
- if (GDK_IS_DRAWABLE_IMPL_X11 (drawable))
- return GDK_DRAWABLE_IMPL_X11 (drawable)->screen;
- else
- return GDK_DRAWABLE_IMPL_X11 (get_impl_drawable (drawable))->screen;
-}
-
-static GdkVisual*
-gdk_x11_get_visual (GdkDrawable *drawable)
-{
- return gdk_drawable_get_visual (GDK_DRAWABLE_IMPL_X11 (drawable)->wrapper);
-}
-
/**
* gdk_x11_drawable_get_xdisplay:
* @drawable: a #GdkDrawable.
GdkVisual *visual;
visual = gdk_window_get_visual (impl->wrapper);
- if (visual)
- return cairo_xlib_surface_create (GDK_SCREEN_XDISPLAY (impl->screen),
- impl->xid,
- GDK_VISUAL_XVISUAL (visual),
- width, height);
- else if (gdk_drawable_get_depth (drawable) == 1)
- return cairo_xlib_surface_create_for_bitmap (GDK_SCREEN_XDISPLAY (impl->screen),
- impl->xid,
- GDK_SCREEN_XSCREEN (impl->screen),
- width, height);
- else
- {
- g_warning ("Using Cairo rendering requires the drawable argument to\n"
- "have a specified colormap. All windows have a colormap,\n"
- "so why is this code even reached?");
- return NULL;
- }
+ return cairo_xlib_surface_create (GDK_SCREEN_XDISPLAY (impl->screen),
+ impl->xid,
+ GDK_VISUAL_XVISUAL (visual),
+ width, height);
}
static cairo_surface_t *