diff options
Diffstat (limited to 'src/fltk-images-shared.ads')
-rw-r--r-- | src/fltk-images-shared.ads | 107 |
1 files changed, 107 insertions, 0 deletions
diff --git a/src/fltk-images-shared.ads b/src/fltk-images-shared.ads new file mode 100644 index 0000000..9214c8d --- /dev/null +++ b/src/fltk-images-shared.ads @@ -0,0 +1,107 @@ + + +with + + FLTK.Images.RGB; + + +package FLTK.Images.Shared is + + + type Shared_Image is new Image with private; + + type Scaling_Kind is (Nearest, Bilinear); + + + + + package Forge is + + function Create + (Filename : in String; + W, H : in Integer) + return Shared_Image; + + function Create + (From : in FLTK.Images.RGB.RGB_Image'Class) + return Shared_Image; + + function Find + (Name : in String; + W, H : in Integer := 0) + return Shared_Image; + + end Forge; + + + + + function Copy + (This : in Shared_Image; + Width, Height : in Natural) + return Shared_Image'Class; + + function Copy + (This : in Shared_Image) + return Shared_Image'Class; + + + + + procedure Color_Average + (This : in out Shared_Image; + Col : in Color; + Amount : in Blend); + + procedure Desaturate + (This : in out Shared_Image); + + + + + function Name + (This : in Shared_Image) + return String; + + procedure Reload + (This : in out Shared_Image); + + procedure Uncache + (This : in out Shared_Image); + + + + + procedure Set_Scaling_Algorithm + (To : in Scaling_Kind); + + procedure Scale + (This : in out Shared_Image; + W, H : in Integer; + Proportional : in Boolean := True; + Can_Expand : in Boolean := False); + + + + + procedure Draw + (This : in Shared_Image; + X, Y, W, H : in Integer; + CX, CY : in Integer := 0); + + procedure Draw + (This : in Shared_Image; + X, Y : in Integer); + + +private + + + type Shared_Image is new Image with null record; + + overriding procedure Finalize + (This : in out Shared_Image); + + +end FLTK.Images.Shared; + |