GdkFrameClock *frame_clock; /* NULL to use from parent or default */
GdkDrawContext *paint_context;
GdkSeat *current_shortcuts_inhibited_seat;
GPtrArray *subsurfaces;
/* We keep the subsurfaces above and below the surface in two linked *lists,whichstarthere.
*/
GdkSubsurface *subsurfaces_above;
GdkSubsurface *subsurfaces_below;
};
void (* hide) (GdkSurface *surface); void (* get_geometry) (GdkSurface *surface, int *x, int *y, int *width, int *height); void (* get_root_coords) (GdkSurface *surface, int x, int y, int *root_x, int *root_y);
gboolean (* get_device_state) (GdkSurface *surface,
GdkDevice *device, double *x, double *y,
GdkModifierType *mask); void (* set_input_region) (GdkSurface *surface,
cairo_region_t *shape_region);
/* Called to do the windowing system specific part of gdk_surface_destroy(), * *surface:Thewindowbeingdestroyed *foreign_destroy:IfTRUE,thesurfaceoraparentwasdestroyedbysome *externalagency.Thesurfacehasalreadybeendestroyedandno *windowingsystemcallsshouldbemade.(Thismayneverhappen *forsomewindowingsystems.)
*/ void (* destroy) (GdkSurface *surface,
gboolean foreign_destroy);
void gdk_surface_layout_popup_helper (GdkSurface *surface, int width, int height, int shadow_left, int shadow_right, int shadow_top, int shadow_bottom,
GdkMonitor *monitor,
GdkRectangle *bounds,
GdkPopupLayout *layout,
GdkSurfaceLayoutPopupHelperFlags flags,
GdkRectangle *out_final_rect);
staticinline GdkGravity
gdk_gravity_flip_horizontally (GdkGravity anchor)
{ switch (anchor)
{ default: case GDK_GRAVITY_STATIC: case GDK_GRAVITY_NORTH_WEST: return GDK_GRAVITY_NORTH_EAST; case GDK_GRAVITY_NORTH: return GDK_GRAVITY_NORTH; case GDK_GRAVITY_NORTH_EAST: return GDK_GRAVITY_NORTH_WEST; case GDK_GRAVITY_WEST: return GDK_GRAVITY_EAST; case GDK_GRAVITY_CENTER: return GDK_GRAVITY_CENTER; case GDK_GRAVITY_EAST: return GDK_GRAVITY_WEST; case GDK_GRAVITY_SOUTH_WEST: return GDK_GRAVITY_SOUTH_EAST; case GDK_GRAVITY_SOUTH: return GDK_GRAVITY_SOUTH; case GDK_GRAVITY_SOUTH_EAST: return GDK_GRAVITY_SOUTH_WEST;
}
g_assert_not_reached ();
}
staticinline GdkGravity
gdk_gravity_flip_vertically (GdkGravity anchor)
{ switch (anchor)
{ default: case GDK_GRAVITY_STATIC: case GDK_GRAVITY_NORTH_WEST: return GDK_GRAVITY_SOUTH_WEST; case GDK_GRAVITY_NORTH: return GDK_GRAVITY_SOUTH; case GDK_GRAVITY_NORTH_EAST: return GDK_GRAVITY_SOUTH_EAST; case GDK_GRAVITY_WEST: return GDK_GRAVITY_WEST; case GDK_GRAVITY_CENTER: return GDK_GRAVITY_CENTER; case GDK_GRAVITY_EAST: return GDK_GRAVITY_EAST; case GDK_GRAVITY_SOUTH_WEST: return GDK_GRAVITY_NORTH_WEST; case GDK_GRAVITY_SOUTH: return GDK_GRAVITY_NORTH; case GDK_GRAVITY_SOUTH_EAST: return GDK_GRAVITY_NORTH_EAST;
}
void gdk_surface_get_root_coords (GdkSurface *surface, int x, int y, int *root_x, int *root_y); void gdk_surface_get_origin (GdkSurface *surface, int *x, int *y);
void gdk_surface_get_geometry (GdkSurface *surface, int *x, int *y, int *width, int *height);
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.