 058c2d9320
			
		
	
	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 */
 |