mirror of
https://gitlab.gnome.org/GNOME/gtk.git
synced 2024-11-19 18:00:09 +00:00
058c2d9320
2001-01-12 Alexander Larsson <alexl@redhat.com> * gdk/linux-fb/gdkdrawable-fb2.c (gdk_fb_clip_region): Take shaped windows in consideration when generating clip region. * gdk/linux-fb/gdkfb.h: Huge HACK. Added GDK_FB_USE_CHILD_SHAPE. * gdk/linux-fb/gdkprivate-fb.h: Add shape to GdkWindowFBDatat. exported gdk_fb_window_get_abs_shape(). removed gdk_fb_draw_lines declaration. * gdk/linux-fb/gdkwindow-fb.c (gdk_window_impl_fb_init): Init shape to NULL. (gdk_fb_window_send_crossing_events): Don't send focus changes when there is a grabbed window. (gdk_window_get_pointer): Handle shaped windows. (gdk_fb_region_create_from_bitmap): Convert bitmap to region. (gdk_fb_window_peek_shape): Returns the shape for a window, handles GDK_FB_USE_CHILD_SHAPE. (gdk_fb_window_get_abs_shape): Returns the shape of the window, offseted to absolute positions. Handles GDK_FB_USE_CHILD_SHAPE. (gdk_window_shape_combine_mask): Implement. * gtk/gtkwindow-decorate.c: HACK! Set GDK_FB_USE_CHILD_SHAPE on window->frame to make sure setting the shape of a window makes the window transparent.
52 lines
1.4 KiB
C
52 lines
1.4 KiB
C
#ifndef GDKFB_H
|
|
#define GDKFB_H 1
|
|
|
|
#include "gdk/gdkprivate.h"
|
|
|
|
typedef struct _GdkFBDisplay GdkFBDisplay;
|
|
typedef struct _GdkFBWindow GdkFBWindow;
|
|
|
|
extern GdkFBWindow *gdk_root_window;
|
|
extern GdkFBDisplay *gdk_display;
|
|
|
|
#define GDK_ROOT_WINDOW() gdk_root_window
|
|
#define GDK_ROOT_PARENT() ((GdkWindow *)gdk_parent_root)
|
|
#define GDK_DISPLAY() gdk_display
|
|
|
|
extern const char *gdk_progclass;
|
|
|
|
#define gdk_window_foreign_new(xid) gdk_window_ref(xid)
|
|
#define gdk_window_lookup(xid) ((GdkWindow*) (xid))
|
|
#define gdk_pixmap_lookup(xid) ((GdkPixmap*) (xid))
|
|
#define gdk_font_lookup(xid) ((GdkFont*) (xid))
|
|
|
|
extern GdkAtom gdk_selection_property;
|
|
|
|
typedef enum {
|
|
GDK_FB_0_DEGREES,
|
|
GDK_FB_90_DEGREES,
|
|
GDK_FB_180_DEGREES,
|
|
GDK_FB_270_DEGREES
|
|
} GdkFBAngle;
|
|
|
|
#define GDK_FB_USE_CHILD_SHAPE ((void *)1)
|
|
|
|
/* FB specific functions: */
|
|
|
|
typedef gboolean (*GdkWindowChildChanged) (GdkWindow *window,
|
|
gint x, gint y,
|
|
gint width, gint height,
|
|
gpointer user_data);
|
|
typedef void (*GdkWindowChildGetPos) (GdkWindow *window,
|
|
gint *x, gint *y,
|
|
gpointer user_data);
|
|
|
|
void gdk_fb_window_set_child_handler (GdkWindow *window,
|
|
GdkWindowChildChanged changed,
|
|
GdkWindowChildGetPos get_pos,
|
|
gpointer user_data);
|
|
|
|
void gdk_fb_set_rotation (GdkFBAngle angle);
|
|
|
|
#endif /* GDKFB_H */
|