diff options
Diffstat (limited to 'src/fltk-devices-surfaces.ads')
-rw-r--r-- | src/fltk-devices-surfaces.ads | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/src/fltk-devices-surfaces.ads b/src/fltk-devices-surfaces.ads new file mode 100644 index 0000000..da3d0a6 --- /dev/null +++ b/src/fltk-devices-surfaces.ads @@ -0,0 +1,48 @@ + + +with + + FLTK.Devices.Graphics; + + +package FLTK.Devices.Surfaces is + + + type Surface_Device is new Device with private; + + + + + package Forge is + + function Create + (Graphics : in out FLTK.Devices.Graphics.Graphics_Driver) + return Surface_Device; + + end Forge; + + + + + function Get_Current + return access Surface_Device; + + procedure Set_Current + (This : in out Surface_Device); + + +private + + + type Surface_Device is new Device with null record; + + overriding procedure Finalize + (This : in out Surface_Device); + + + Original_Surface : aliased Surface_Device; + Current_Ptr : access Surface_Device := Original_Surface'Access; + + +end FLTK.Devices.Surfaces; + |