with Ada.Strings.Wide_Wide_Unbounded; use Ada.Strings.Wide_Wide_Unbounded; with Sf.Graphics.Text; with Spieltexte; with Views; with GrafikDatentypen; with TextaccessVariablen; with GrafikKonstanten; with ViewsEinstellenGrafik; with HintergrundGrafik; with TextberechnungenBreiteGrafik; with TextberechnungenHoeheGrafik; with TextaccessverwaltungssystemEinfachGrafik; package body SpielmeldungenGrafik is -- Kann ich solche Konstrukte zusammenfassen, wenn ich einfach alles was wichtig ist übergebe? äöü procedure Spielmeldung (MeldungExtern : in Positive) is begin Viewfläche := ViewsEinstellenGrafik.ViewflächeVariabelAnpassen (ViewflächeExtern => Viewfläche, VerhältnisExtern => (GrafikRecordKonstanten.Meldungsbereich.width, GrafikRecordKonstanten.Meldungsbereich.height)); ViewsEinstellenGrafik.ViewEinstellen (ViewExtern => Views.MeldungsviewAccess, GrößeExtern => Viewfläche, AnzeigebereichExtern => GrafikRecordKonstanten.Meldungsbereich); HintergrundGrafik.Hintergrund (HintergrundExtern => GrafikDatentypen.Meldung_Hintergrund_Enum, AbmessungenExtern => Viewfläche); Textposition.y := TextberechnungenHoeheGrafik.KleinerZeilenabstand; Sf.Graphics.Text.setUnicodeString (text => TextaccessVariablen.Spielmeldung, str => To_Wide_Wide_String (Source => Spieltexte.Meldungen (MeldungExtern))); Textbreite := TextberechnungenBreiteGrafik.NeueTextbreiteErmitteln (TextAccessExtern => TextaccessVariablen.Spielmeldung, TextbreiteExtern => GrafikKonstanten.Nullwert); Textposition.x := TextberechnungenBreiteGrafik.MittelpositionBerechnen (TextAccessExtern => TextaccessVariablen.Spielmeldung, ViewbreiteExtern => Viewfläche.x); TextaccessverwaltungssystemEinfachGrafik.PositionZeichnen (TextaccessExtern => TextaccessVariablen.Spielmeldung, PositionExtern => Textposition); Textposition.y := TextberechnungenHoeheGrafik.NeueTextposition (PositionExtern => Textposition.y, ZusatzwertExtern => TextberechnungenHoeheGrafik.KleinerZeilenabstand); Viewfläche := (Textbreite, Textposition.y); end Spielmeldung; end SpielmeldungenGrafik;