with Ada.Strings.Wide_Wide_Unbounded; use Ada.Strings.Wide_Wide_Unbounded; with Views; with TextaccessVariablen; with GrafikDatentypen; with Sequenzentexte; with GrafikKonstanten; with ViewsEinstellenGrafik; with HintergrundGrafik; with TextaccessverwaltungssystemEinfachGrafik; with TextberechnungenBreiteGrafik; with TextberechnungenHoeheGrafik; with ZeilenumbruchberechnungGrafik; package body IntroGrafik is procedure Intro is begin Viewfläche := ViewsEinstellenGrafik.ViewflächeAuflösungAnpassen (ViewflächeExtern => Viewfläche); ViewsEinstellenGrafik.ViewEinstellen (ViewExtern => Views.AbspannviewAccess, GrößeExtern => Viewfläche, -- Warum benutze ich denn für das Intro auch den Abspannbereich und habe keinen eigenen Introbereich oder generell einen Sequenzenbereich? äöü AnzeigebereichExtern => GrafikRecordKonstanten.Abspannbereich); HintergrundGrafik.Hintergrund (HintergrundExtern => GrafikDatentypen.Intro_Hintergrund_Enum, AbmessungenExtern => Viewfläche); Textposition.y := TextberechnungenHoeheGrafik.KleinerZeilenabstand; Textposition.x := TextberechnungenBreiteGrafik.KleinerSpaltenabstand; Textbreite := GrafikKonstanten.Nullwert; IntroSchleife: for IntroSchleifenwert in TextaccessVariablen.IntroAccess'Range loop -- Ergibt die Kombination aus ZeilenumbruchberechnungGrafik.Zeilenumbruchberechnung und TextberechnungenBreiteGrafik.NeueTextbreiteErmitteln überhaupt Sinn? äöü TextaccessverwaltungssystemEinfachGrafik.TextPositionZeichnen (TextaccessExtern => TextaccessVariablen.IntroAccess (IntroSchleifenwert), TextExtern => ZeilenumbruchberechnungGrafik.Zeilenumbruchberechnung (TextExtern => To_Wide_Wide_String (Source => Sequenzentexte.Intro (IntroSchleifenwert)), TextfeldbreiteExtern => Viewfläche.x, BreitenabzugExtern => Textposition.x), PositionExtern => Textposition); Textposition.y := TextberechnungenHoeheGrafik.NeueTextposition (PositionExtern => Textposition.y, ZusatzwertExtern => TextberechnungenHoeheGrafik.KleinerZeilenabstand); Textbreite := TextberechnungenBreiteGrafik.NeueTextbreiteErmitteln (TextAccessExtern => TextaccessVariablen.IntroAccess (IntroSchleifenwert), TextbreiteExtern => Textbreite); end loop IntroSchleife; Viewfläche := (Textbreite, Textposition.y); end Intro; end IntroGrafik;