aboutsummaryrefslogtreecommitdiff
path: root/src/fltk-draw.ads
diff options
context:
space:
mode:
Diffstat (limited to 'src/fltk-draw.ads')
-rw-r--r--src/fltk-draw.ads617
1 files changed, 0 insertions, 617 deletions
diff --git a/src/fltk-draw.ads b/src/fltk-draw.ads
deleted file mode 100644
index b4e14ee..0000000
--- a/src/fltk-draw.ads
+++ /dev/null
@@ -1,617 +0,0 @@
-
-
-with
-
- FLTK.Images,
- FLTK.Widgets.Groups.Windows;
-
-
-package FLTK.Draw is
-
-
- --------------------------
- -- Types and Constants --
- --------------------------
-
- type Line_Kind is
- (Solid_Line,
- Dash_Line,
- Dot_Line,
- Dashdot_Line,
- Dashdotdot_Line);
-
- type Cap_Kind is
- (Default_Cap,
- Flat_Cap,
- Round_Cap,
- Square_Cap);
-
- type Join_Kind is
- (Default_Join,
- Miter_Join,
- Round_Join,
- Bevel_Join);
-
- type Dash_Length is new Integer range 1 .. 255;
-
- type Dash_Gap is record
- Solid : Dash_Length;
- Blank : Dash_Length;
- end record;
-
- type Dash_Gap_Array is array (Positive range <>) of Dash_Gap;
-
- Empty_Dashes : constant Dash_Gap_Array (1 .. 0) := (others => (1, 1));
-
- type Image_Draw_Function is access procedure
- (X, Y : in Natural;
- Data : out Color_Component_Array);
-
- type Symbol_Draw_Function is access procedure
- (Hue : in Color);
-
- type Text_Draw_Function is access procedure
- (X, Y : in Integer;
- Text : in String);
-
- type Area_Draw_Function is access procedure
- (X, Y, W, H : in Integer);
-
- Draw_Error : exception;
-
-
-
-
- ------------------------
- -- No Documentation --
- ------------------------
-
- procedure Reset_Spot;
-
- procedure Set_Spot
- (X, Y, W, H : in Integer;
- Font : in Font_Kind;
- Size : in Font_Size);
-
- procedure Set_Spot
- (X, Y, W, H : in Integer;
- Font : in Font_Kind;
- Size : in Font_Size;
- Pane : in FLTK.Widgets.Groups.Windows.Window'Class);
-
- procedure Set_Status
- (X, Y, W, H : in Integer);
-
-
-
-
- ---------------
- -- Utility --
- ---------------
-
- function Can_Do_Alpha_Blending
- return Boolean;
-
- function Shortcut_Label
- (Keys : in Key_Combo)
- return String;
-
-
-
-
- --------------------------
- -- Charset Conversion --
- --------------------------
-
- function Latin1_To_Local
- (From : in String)
- return String;
-
- function Local_To_Latin1
- (From : in String)
- return String;
-
- function Mac_Roman_To_Local
- (From : in String)
- return String;
-
- function Local_To_Mac_Roman
- (From : in String)
- return String;
-
-
-
-
- ----------------
- -- Clipping --
- ----------------
-
- function Clip_Box
- (X, Y, W, H : in Integer;
- BX, BY, BW, BH : out Integer)
- return Boolean;
-
- function Clip_Intersects
- (X, Y, W, H : in Integer)
- return Boolean;
-
- procedure Pop_Clip;
-
- procedure Push_Clip
- (X, Y, W, H : in Integer);
-
- procedure Push_No_Clip;
-
- procedure Restore_Clip;
-
-
-
-
- ---------------
- -- Overlay --
- ---------------
-
- procedure Overlay_Clear;
-
- procedure Overlay_Rect
- (X, Y, W, H : in Integer);
-
-
-
-
- ----------------
- -- Settings --
- ----------------
-
- function Get_Color
- return Color;
-
- procedure Set_Color
- (To : in Color);
-
- procedure Set_Color
- (R, G, B : in Color_Component);
-
- procedure Set_Cursor
- (To : in Mouse_Cursor_Kind);
-
- procedure Set_Cursor
- (To : in Mouse_Cursor_Kind;
- Fore : in Color;
- Back : in Color := White_Color);
-
- function Get_Font
- return Font_Kind;
-
- function Get_Font_Size
- return Font_Size;
-
- procedure Set_Font
- (Kind : in Font_Kind;
- Size : in Font_Size);
-
- function Font_Line_Spacing
- return Integer;
-
- function Font_Descent
- return Integer;
-
- function Font_Height
- (Kind : in Font_Kind;
- Size : in Font_Size)
- return Natural;
-
- procedure Set_Line_Style
- (Line : in Line_Kind := Solid_Line;
- Cap : in Cap_Kind := Default_Cap;
- Join : in Join_Kind := Default_Join;
- Width : in Natural := 0;
- Dashes : in Dash_Gap_Array := Empty_Dashes);
-
-
-
-
- -------------------------
- -- Matrix Operations --
- -------------------------
-
- procedure Mult_Matrix
- (A, B, C, D, X, Y : in Long_Float);
-
- procedure Pop_Matrix;
-
- procedure Push_Matrix;
-
- procedure Rotate
- (Angle : in Long_Float);
-
- procedure Scale
- (Factor : in Long_Float);
-
- procedure Scale
- (Factor_X, Factor_Y : in Long_Float);
-
- function Transform_DX
- (X, Y : in Long_Float)
- return Long_Float;
-
- function Transform_DY
- (X, Y : in Long_Float)
- return Long_Float;
-
- function Transform_X
- (X, Y : in Long_Float)
- return Long_Float;
-
- function Transform_Y
- (X, Y : in Long_Float)
- return Long_Float;
-
- procedure Transformed_Vertex
- (XF, YF : in Long_Float);
-
- procedure Translate
- (X, Y : in Long_Float);
-
- procedure Vertex
- (X, Y : in Long_Float);
-
-
-
-
- ---------------------
- -- Image Drawing --
- ---------------------
-
- procedure Draw_Image
- (X, Y, W, H : in Integer;
- Data : in Color_Component_Array;
- Depth : in Positive := 3;
- Line_Data : in Natural := 0;
- Flip_Horizontal : in Boolean := False;
- Flip_Vertical : in Boolean := False);
-
- procedure Draw_Image
- (X, Y, W, H : in Integer;
- Callback : in Image_Draw_Function;
- Depth : in Positive := 3);
-
- procedure Draw_Image_Mono
- (X, Y, W, H : in Integer;
- Data : in Color_Component_Array;
- Depth : in Positive := 1;
- Line_Data : in Natural := 0;
- Flip_Horizontal : Boolean := False;
- Flip_Vertical : Boolean := False);
-
- procedure Draw_Image_Mono
- (X, Y, W, H : in Integer;
- Callback : in Image_Draw_Function;
- Depth : in Positive := 1);
-
- function Read_Image
- (X, Y, W, H : in Integer;
- Alpha : in Integer := 0)
- return Color_Component_Array
- with Post =>
- (if Alpha = 0
- then Read_Image'Result'Length = W * H * 3
- else Read_Image'Result'Length = W * H * 4);
-
-
-
-
- -----------------------
- -- Special Drawing --
- -----------------------
-
- procedure Add_Symbol
- (Text : in String;
- Callback : in Symbol_Draw_Function;
- Scalable : in Boolean);
-
- procedure Draw_Text
- (X, Y : in Integer;
- Text : in String)
- with Pre => Text'Length > 0;
-
- procedure Draw_Text
- (X, Y, W, H : in Integer;
- Text : in String;
- Align : in Alignment;
- Symbols : in Boolean := True);
-
- procedure Draw_Text
- (X, Y, W, H : in Integer;
- Text : in String;
- Align : in Alignment;
- Picture : in FLTK.Images.Image'Class;
- Symbols : in Boolean := True);
-
- procedure Draw_Text
- (X, Y, W, H : in Integer;
- Text : in String;
- Align : in Alignment;
- Callback : in Text_Draw_Function;
- Symbols : in Boolean := True);
-
- procedure Draw_Text
- (X, Y, W, H : in Integer;
- Text : in String;
- Align : in Alignment;
- Callback : in Text_Draw_Function;
- Picture : in FLTK.Images.Image'Class;
- Symbols : in Boolean := True);
-
- procedure Draw_Text
- (X, Y : in Integer;
- Text : in String;
- Angle : in Integer);
-
- procedure Draw_Text_Right_Left
- (X, Y : in Integer;
- Text : in String);
-
- procedure Draw_Box
- (X, Y, W, H : in Integer;
- Kind : in Box_Kind;
- Hue : in Color);
-
- procedure Draw_Symbol
- (X, Y, W, H : in Integer;
- Name : in String;
- Hue : in Color);
-
- procedure Measure
- (Text : in String;
- W, H : out Natural;
- Symbols : in Boolean := True;
- Wrap : in Natural := 0);
-
- procedure Scroll
- (X, Y, W, H : in Integer;
- DX, DY : in Integer;
- Callback : in Area_Draw_Function);
-
- procedure Text_Extents
- (Text : in String;
- DX, DY, W, H : out Integer);
-
- function Width
- (Text : in String)
- return Long_Float;
-
- function Width
- (Glyph : in Character)
- return Long_Float;
-
- function Width
- (Glyph : in Wide_Character)
- return Long_Float;
-
- function Width
- (Glyph : in Wide_Wide_Character)
- return Long_Float;
-
-
-
-
- ----------------------
- -- Manual Drawing --
- ----------------------
-
- procedure Begin_Complex_Polygon;
- procedure Begin_Line;
- procedure Begin_Loop;
- procedure Begin_Points;
- procedure Begin_Polygon;
-
- procedure Arc
- (X, Y, R, Start, Finish : in Long_Float);
-
- procedure Arc
- (X, Y, W, H : in Integer;
- Start, Finish : in Long_Float);
-
- -- As per 1.3.9 docs, currently a placeholder
- procedure Chord
- (X, Y, W, H : in Integer;
- Angle1, Angle2 : in Long_Float);
-
- procedure Circle
- (X, Y, R : in Long_Float);
-
- procedure Curve
- (X0, Y0 : in Long_Float;
- X1, Y1 : in Long_Float;
- X2, Y2 : in Long_Float;
- X3, Y3 : in Long_Float);
-
- procedure Frame
- (X, Y, W, H : in Integer;
- Top, Left, Bottom, Right : in Greyscale);
-
- procedure Gap;
-
- procedure Line
- (X0, Y0 : in Integer;
- X1, Y1 : in Integer);
-
- procedure Line
- (X0, Y0 : in Integer;
- X1, Y1 : in Integer;
- X2, Y2 : in Integer);
-
- procedure Outline
- (X0, Y0 : in Integer;
- X1, Y1 : in Integer;
- X2, Y2 : in Integer);
-
- procedure Outline
- (X0, Y0 : in Integer;
- X1, Y1 : in Integer;
- X2, Y2 : in Integer;
- X3, Y3 : in Integer);
-
- procedure Pie
- (X, Y, W, H : in Integer;
- Angle1, Angle2 : in Long_Float);
-
- procedure Point
- (X, Y : in Integer);
-
- procedure Polygon
- (X0, Y0 : in Integer;
- X1, Y1 : in Integer;
- X2, Y2 : in Integer);
-
- procedure Polygon
- (X0, Y0 : in Integer;
- X1, Y1 : in Integer;
- X2, Y2 : in Integer;
- X3, Y3 : in Integer);
-
- procedure Rect
- (X, Y, W, H : in Integer);
-
- procedure Rect
- (X, Y, W, H : in Integer;
- Hue : in Color);
-
- procedure Rect_Fill
- (X, Y, W, H : in Integer);
-
- procedure Rect_Fill
- (X, Y, W, H : in Integer;
- Hue : in Color);
-
- procedure Rect_Fill
- (X, Y, W, H : in Integer;
- R, G, B : in Color_Component);
-
- procedure Ecks_Why_Line
- (X0, Y0, X1 : in Integer);
-
- procedure Ecks_Why_Line
- (X0, Y0, X1, Y2 : in Integer);
-
- procedure Ecks_Why_Line
- (X0, Y0, X1, Y2, X3 : in Integer);
-
- procedure Why_Ecks_Line
- (X0, Y0, Y1 : in Integer);
-
- procedure Why_Ecks_Line
- (X0, Y0, Y1, X2 : in Integer);
-
- procedure Why_Ecks_Line
- (X0, Y0, Y1, X2, Y3 : in Integer);
-
- procedure End_Complex_Polygon;
- procedure End_Line;
- procedure End_Loop;
- procedure End_Points;
- procedure End_Polygon;
-
-
-private
-
-
- pragma Convention (C, Symbol_Draw_Function);
-
-
- pragma Inline (Reset_Spot);
- pragma Inline (Set_Spot);
- pragma Inline (Set_Status);
-
-
- pragma Inline (Can_Do_Alpha_Blending);
- pragma Inline (Shortcut_Label);
-
-
- pragma Inline (Latin1_To_Local);
- pragma Inline (Local_To_Latin1);
- pragma Inline (Mac_Roman_To_Local);
- pragma Inline (Local_To_Mac_Roman);
-
-
- pragma Inline (Clip_Intersects);
- pragma Inline (Pop_Clip);
- pragma Inline (Push_Clip);
- pragma Inline (Push_No_Clip);
- pragma Inline (Restore_Clip);
-
-
- pragma Inline (Overlay_Clear);
- pragma Inline (Overlay_Rect);
-
-
- pragma Inline (Get_Color);
- pragma Inline (Set_Color);
- pragma Inline (Get_Font);
- pragma Inline (Get_Font_Size);
- pragma Inline (Set_Font);
- pragma Inline (Font_Line_Spacing);
- pragma Inline (Font_Descent);
- pragma Inline (Font_Height);
-
-
- pragma Inline (Mult_Matrix);
- pragma Inline (Pop_Matrix);
- pragma Inline (Push_Matrix);
- pragma Inline (Rotate);
- pragma Inline (Scale);
- pragma Inline (Transform_DX);
- pragma Inline (Transform_DY);
- pragma Inline (Transform_X);
- pragma Inline (Transform_Y);
- pragma Inline (Transformed_Vertex);
- pragma Inline (Translate);
- pragma Inline (Vertex);
-
-
- pragma Inline (Add_Symbol);
- pragma Inline (Draw_Text);
- pragma Inline (Draw_Text_Right_Left);
- pragma Inline (Draw_Box);
- pragma Inline (Draw_Symbol);
- pragma Inline (Measure);
- pragma Inline (Scroll);
- pragma Inline (Text_Extents);
- pragma Inline (Width);
-
-
- pragma Inline (Begin_Complex_Polygon);
- pragma Inline (Begin_Line);
- pragma Inline (Begin_Loop);
- pragma Inline (Begin_Points);
- pragma Inline (Begin_Polygon);
-
-
- pragma Inline (Arc);
- pragma Inline (Chord);
- pragma Inline (Circle);
- pragma Inline (Curve);
- pragma Inline (Frame);
- pragma Inline (Gap);
- pragma Inline (Line);
- pragma Inline (Outline);
- pragma Inline (Pie);
- pragma Inline (Point);
- pragma Inline (Polygon);
- pragma Inline (Rect);
- pragma Inline (Rect_Fill);
- pragma Inline (Ecks_Why_Line);
- pragma Inline (Why_Ecks_Line);
-
-
- pragma Inline (End_Complex_Polygon);
- pragma Inline (End_Line);
- pragma Inline (End_Loop);
- pragma Inline (End_Points);
- pragma Inline (End_Polygon);
-
-
-end FLTK.Draw;
-
-