summaryrefslogtreecommitdiff
path: root/spec/fltk-devices-graphics.ads
diff options
context:
space:
mode:
Diffstat (limited to 'spec/fltk-devices-graphics.ads')
-rw-r--r--spec/fltk-devices-graphics.ads93
1 files changed, 93 insertions, 0 deletions
diff --git a/spec/fltk-devices-graphics.ads b/spec/fltk-devices-graphics.ads
new file mode 100644
index 0000000..f9d1a7c
--- /dev/null
+++ b/spec/fltk-devices-graphics.ads
@@ -0,0 +1,93 @@
+
+
+-- Programmed by Jedidiah Barber
+-- Released into the public domain
+
+
+with
+
+ FLTK.Images;
+
+
+package FLTK.Devices.Graphics is
+
+
+ type Graphics_Driver is new Device with private;
+
+ type Graphics_Driver_Reference (Data : not null access Graphics_Driver'Class) is
+ limited null record with Implicit_Dereference => Data;
+
+
+
+
+ function Get_Color
+ (This : in Graphics_Driver)
+ return Color;
+
+
+
+
+ function Get_Text_Descent
+ (This : in Graphics_Driver)
+ return Integer;
+
+ function Get_Line_Height
+ (This : in Graphics_Driver)
+ return Integer;
+
+ function Get_Width
+ (This : in Graphics_Driver;
+ Char : in Character)
+ return Long_Float;
+
+ function Get_Width
+ (This : in Graphics_Driver;
+ Str : in String)
+ return Long_Float;
+
+ function Get_Font_Kind
+ (This : in Graphics_Driver)
+ return Font_Kind;
+
+ function Get_Font_Size
+ (This : in Graphics_Driver)
+ return Font_Size;
+
+ procedure Set_Font
+ (This : in Graphics_Driver;
+ Face : in Font_Kind;
+ Size : in Font_Size);
+
+
+
+
+ procedure Draw_Scaled_Image
+ (This : in Graphics_Driver;
+ Img : in FLTK.Images.Image'Class;
+ X, Y, W, H : in Integer);
+
+
+private
+
+
+ type Graphics_Driver is new Device with null record;
+
+
+
+
+ pragma Inline (Get_Color);
+
+
+ pragma Inline (Get_Text_Descent);
+ pragma Inline (Get_Line_Height);
+ pragma Inline (Get_Width);
+ pragma Inline (Get_Font_Kind);
+ pragma Inline (Get_Font_Size);
+ pragma Inline (Set_Font);
+
+
+ pragma Inline (Draw_Scaled_Image);
+
+
+end FLTK.Devices.Graphics;
+