procedure Destroy (Data : in out User_Data_Type)
type Gdk_Window_Child_Func is access function
(Window : Gdk.Gdk_Window;
User_Data : User_Data_Type) return Boolean;
A function of this type is passed to Gdk.Window.Invalidate_Maybe_Recurse. It gets called for each child of the window to determine whether to recursively invalidate it or now.
a Gdk.Gdk_Window
user data
True to invalidate Window recursively
procedure Invalidate_Maybe_Recurse
(Self : Gdk.Gdk_Window;
Region : Cairo.Region.Cairo_Region;
Child_Func : Gdk_Window_Child_Func;
User_Data : User_Data_Type)
Adds Region to the update area for Window. The update area is the region that needs to be redrawn, or "dirty region." The call Gdk.Window.Process_Updates sends one or more expose events to the window, which together cover the entire update area. An application would normally redraw the contents of Window in response to those expose events. GDK will call Gdk.Window.Process_All_Updates on your behalf whenever your program returns to the main loop and becomes idle, so normally there's no need to do that manually, you just need to invalidate regions that you know should be redrawn. The Child_Func parameter controls whether the region of each child window that intersects Region will also be invalidated. Only children for which Child_Func returns TRUE will have the area invalidated.
a cairo_region_t
function to use to decide if to recurse to a child, null means never recurse.
data passed to Child_Func
type User_Data_Type (<>) is private;