with Ada.Wide_Wide_Text_IO; use Ada.Wide_Wide_Text_IO;
with Ada.Directories; use Ada.Directories;
with Ada.Strings.Wide_Wide_Unbounded; use Ada.Strings.Wide_Wide_Unbounded;
with Sf.Graphics;
private with Sf;
private with Sf.Graphics.Texture;
private with Sf.System.Vector2;
with VerzeichnisKonstanten;
package EinlesenAllgemeinesLogik is
pragma Elaborate_Body;
function VorzeitigesDateienende
(AktuelleDateiExtern : in File_Type;
AktuelleZeileExtern : in Positive;
DateinameExtern : in Wide_Wide_String)
return Boolean
with
Pre => (
DateinameExtern'Length > 0
);
function TextEinlesen
(DateiExtern : in File_Type;
AktuelleZeileExtern : in Positive;
DateinameExtern : in Wide_Wide_String)
return Wide_Wide_String
with
Pre => (
DateinameExtern'Length > 0
);
function TextEinlesenUngebunden
(DateiExtern : in File_Type;
AktuelleZeileExtern : in Positive;
DateinameExtern : in Wide_Wide_String)
return Unbounded_Wide_Wide_String
with
Pre => (
DateinameExtern'Length > 0
);
function NamensprüfungWindows
(NameExtern : in Wide_Wide_String)
return Boolean
with
Pre => (
NameExtern'Length > 0
);
function LeeresVerzeichnis
(VerzeichnisExtern : in String)
return Boolean
with
Pre => (
VerzeichnisExtern'Length > VerzeichnisKonstanten.Sprachenordner'Length
);
function Texturenlimit
(TexturenpfadExtern : in String)
return Sf.Graphics.sfTexture_Ptr
with
Pre => (
TexturenpfadExtern'Length > 0
);
function VerboteneVerzeichnissnamen
(NameExtern : in String)
return Boolean
with
Pre => (
NameExtern'Length > 0
);
private
Prüfungssuche : Search_Type;
Verzeichnisprüfung : Directory_Entry_Type;
KleinsteOrdnergröße : constant File_Size := 0;
MaximaleTexturengröße : constant Sf.sfUint32 := Sf.Graphics.Texture.getMaximumSize;
Texturengröße : Sf.System.Vector2.sfVector2u;
end EinlesenAllgemeinesLogik;