summaryrefslogtreecommitdiff
path: root/src/fltk-widgets-positioners.ads
diff options
context:
space:
mode:
authorJedidiah Barber <contact@jedbarber.id.au>2025-01-13 20:48:27 +1300
committerJedidiah Barber <contact@jedbarber.id.au>2025-01-13 20:48:27 +1300
commit41fca67267180571b5107bf7b9516eb669588b25 (patch)
treeff6800e3ed60a04d786af87e88a3142ebd65b9e0 /src/fltk-widgets-positioners.ads
parentc300ec0f456da533291b10db57d27a9c3bb8de9f (diff)
Fl_Positioner added
Diffstat (limited to 'src/fltk-widgets-positioners.ads')
-rw-r--r--src/fltk-widgets-positioners.ads194
1 files changed, 194 insertions, 0 deletions
diff --git a/src/fltk-widgets-positioners.ads b/src/fltk-widgets-positioners.ads
new file mode 100644
index 0000000..1da99b9
--- /dev/null
+++ b/src/fltk-widgets-positioners.ads
@@ -0,0 +1,194 @@
+
+
+-- Programmed by Jedidiah Barber
+-- Released into the public domain
+
+
+package FLTK.Widgets.Positioners is
+
+
+ type Positioner is new Widget with private;
+
+ type Positioner_Reference (Data : not null access Positioner'Class) is limited null record
+ with Implicit_Dereference => Data;
+
+
+
+
+ package Forge is
+
+ function Create
+ (X, Y, W, H : in Integer;
+ Text : in String := "")
+ return Positioner;
+
+ end Forge;
+
+
+
+
+ procedure Get_Coords
+ (This : in Positioner;
+ X, Y : out Long_Float);
+
+ procedure Set_Coords
+ (This : in out Positioner;
+ X, Y : in Long_Float);
+
+ function Set_Coords
+ (This : in out Positioner;
+ X, Y : in Long_Float)
+ return Boolean;
+
+
+
+
+ procedure Set_Ecks_Bounds
+ (This : in out Positioner;
+ Low, High : in Long_Float);
+
+ procedure Set_Ecks_Step
+ (This : in out Positioner;
+ Value : in Long_Float);
+
+ function Get_Ecks_Minimum
+ (This : in Positioner)
+ return Long_Float;
+
+ procedure Set_Ecks_Minimum
+ (This : in out Positioner;
+ Value : in Long_Float);
+
+ function Get_Ecks_Maximum
+ (This : in Positioner)
+ return Long_Float;
+
+ procedure Set_Ecks_Maximum
+ (This : in out Positioner;
+ Value : in Long_Float);
+
+ function Get_Ecks
+ (This : in Positioner)
+ return Long_Float;
+
+ procedure Set_Ecks
+ (This : in out Positioner;
+ Value : in Long_Float);
+
+ function Set_Ecks
+ (This : in out Positioner;
+ Value : in Long_Float)
+ return Boolean;
+
+
+
+
+ procedure Set_Why_Bounds
+ (This : in out Positioner;
+ Low, High : in Long_Float);
+
+ procedure Set_Why_Step
+ (This : in out Positioner;
+ Value : in Long_Float);
+
+ function Get_Why_Minimum
+ (This : in Positioner)
+ return Long_Float;
+
+ procedure Set_Why_Minimum
+ (This : in out Positioner;
+ Value : in Long_Float);
+
+ function Get_Why_Maximum
+ (This : in Positioner)
+ return Long_Float;
+
+ procedure Set_Why_Maximum
+ (This : in out Positioner;
+ Value : in Long_Float);
+
+ function Get_Why
+ (This : in Positioner)
+ return Long_Float;
+
+ procedure Set_Why
+ (This : in out Positioner;
+ Value : in Long_Float);
+
+ function Set_Why
+ (This : in out Positioner;
+ Value : in Long_Float)
+ return Boolean;
+
+
+
+
+ procedure Draw
+ (This : in out Positioner);
+
+ procedure Draw
+ (This : in out Positioner;
+ X, Y, W, H : in Integer);
+
+ function Handle
+ (This : in out Positioner;
+ Event : in Event_Kind)
+ return Event_Outcome;
+
+ function Handle
+ (This : in out Positioner;
+ Event : in Event_Kind;
+ X, Y, W, H : in Integer)
+ return Event_Outcome;
+
+
+private
+
+
+ type Positioner is new Widget with null record;
+
+ overriding procedure Initialize
+ (This : in out Positioner);
+
+ overriding procedure Finalize
+ (This : in out Positioner);
+
+ procedure Extra_Init
+ (This : in out Positioner;
+ X, Y, W, H : in Integer;
+ Text : in String)
+ with Inline;
+
+ procedure Extra_Final
+ (This : in out Positioner)
+ with Inline;
+
+
+ pragma Inline (Get_Coords);
+ pragma Inline (Set_Coords);
+
+ pragma Inline (Set_Ecks_Bounds);
+ pragma Inline (Set_Ecks_Step);
+ pragma Inline (Get_Ecks_Minimum);
+ pragma Inline (Set_Ecks_Minimum);
+ pragma Inline (Get_Ecks_Maximum);
+ pragma Inline (Set_Ecks_Maximum);
+ pragma Inline (Get_Ecks);
+ pragma Inline (Set_Ecks);
+
+ pragma Inline (Set_Why_Bounds);
+ pragma Inline (Set_Why_Step);
+ pragma Inline (Get_Why_Minimum);
+ pragma Inline (Set_Why_Minimum);
+ pragma Inline (Get_Why_Maximum);
+ pragma Inline (Set_Why_Maximum);
+ pragma Inline (Get_Why);
+ pragma Inline (Set_Why);
+
+ pragma Inline (Draw);
+ pragma Inline (Handle);
+
+
+end FLTK.Widgets.Positioners;
+
+