----------------------------------------------------------------------- -- GtkAda - Ada95 binding for Gtk+/Gnome -- -- -- -- Copyright (C) 1998-2000 E. Briot, J. Brobecker and A. Charlet -- -- Copyright (C) 2000-2002 ACT-Europe -- -- -- -- This library is free software; you can redistribute it and/or -- -- modify it under the terms of the GNU General Public -- -- License as published by the Free Software Foundation; either -- -- version 2 of the License, or (at your option) any later version. -- -- -- -- This library is distributed in the hope that it will be useful, -- -- but WITHOUT ANY WARRANTY; without even the implied warranty of -- -- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -- -- General Public License for more details. -- -- -- -- You should have received a copy of the GNU General Public -- -- License along with this library; if not, write to the -- -- Free Software Foundation, Inc., 59 Temple Place - Suite 330, -- -- Boston, MA 02111-1307, USA. -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- ----------------------------------------------------------------------- -- 1.3.6 -- Gdk, the low-level API with Glib; use Glib; with Gdk.Rectangle; with Gdk.Types; package Gdk.Region is subtype Gdk_Region is Gdk.Gdk_Region; Null_Region : constant Gdk_Region; type Gdk_Fill_Rule is (Even_Odd_Rule, Winding_Rule); -- GC fill rule for polygons. pragma Convention (C, Gdk_Fill_Rule); type Gdk_Overlap_Type is (Overlap_Rectangle_In, -- Rectangle is in region. Overlap_Rectangle_Out, -- Rectangle is not in region. Overlap_Rectangle_Part -- Rectangle is partially in region. ); -- Types of overlapping between a rectangle and a region. pragma Convention (C, Gdk_Overlap_Type); procedure Gdk_New (Region : out Gdk_Region); -- Create a new region. procedure Polygon (Region : out Gdk_Region; Points : Gdk.Types.Gdk_Points_Array; Fill_Rule : Gdk_Fill_Rule); function Copy (Region : Gdk_Region) return Gdk_Region; function Rectangle (Rectangle : Gdk.Rectangle.Gdk_Rectangle) return Gdk_Region; procedure Destroy (Region : in out Gdk_Region); procedure Get_Clipbox (Region : Gdk_Region; Rectangle : out Gdk.Rectangle.Gdk_Rectangle); procedure Get_Rectangles (Region : Gdk_Region; Rectangle : out Gdk.Rectangle.Gdk_Rectangle_Array; N_Rectangles : out Natural); function Empty (Region : Gdk_Region) return Boolean; function "=" (Left, Right : Gdk_Region) return Boolean; function Point_In (Region : Gdk_Region; X, Y : Integer) return Boolean; function Rect_In (Region : Gdk_Region; Rect : Gdk.Rectangle.Gdk_Rectangle) return Gdk_Overlap_Type; procedure Offset (Region : Gdk_Region; Dx : Gint; Dy : Gint); procedure Shrink (Region : Gdk_Region; Dx : Gint; Dy : Gint); procedure Union_With_Rect (Region : in out Gdk_Region; Rect : Gdk.Rectangle.Gdk_Rectangle); procedure Union_With_Rect (Result : in out Gdk_Region; Region : Gdk_Region; Rect : Gdk.Rectangle.Gdk_Rectangle); -- Provided for backward compatibility. -- Region must be equal to Result. procedure Intersect (Source1 : in out Gdk_Region; Source2 : Gdk_Region); procedure Union (Source1 : in out Gdk_Region; Source2 : Gdk_Region); procedure Substract (Source1 : in out Gdk_Region; Source2 : Gdk_Region); procedure Gdk_Xor (Source1 : in out Gdk_Region; Source2 : Gdk_Region); private Null_Region : constant Gdk_Region := null; pragma Import (C, Copy, "gdk_region_copy"); pragma Import (C, Rectangle, "gdk_region_rectangle"); pragma Import (C, Get_Clipbox, "gdk_region_get_clipbox"); pragma Import (C, Rect_In, "gdk_region_rect_in"); pragma Import (C, Offset, "gdk_region_offset"); pragma Import (C, Shrink, "gdk_region_shrink"); pragma Import (C, Intersect, "gdk_region_intersect"); pragma Import (C, Union, "gdk_region_union"); pragma Import (C, Substract, "gdk_region_subtract"); pragma Import (C, Gdk_Xor, "gdk_region_xor"); end Gdk.Region; -- missing: -- gdk_region_spans_intersect_foreach