Bewegungsobjekte

Aus AquaSoft Wiki
Zur Navigation springenZur Suche springen

Bewegungsobjekte sind entweder vom Typ IMoveable oder IPanable. Sie leiten vom ISlideShowObject ab.

Bewegungsobjekte sind Modifizierer anderer Objekte. Mithilfe dieser können Objekte verschoben oder gezoomt werden. Sie repräsentieren die Bewegungspfade und Kameraschwenks, wie sie aus der DiaShow bekannt sind. Bewegungsobjekte sind Listen von Objekten des Typs ITimeRect, einer Datenstruktur, die neben einer Zeitmarke auch eine Reihe von Eigenschaften, wie Position und Winkel speichert.

  • Moveable: Der Bewegungspfad des Objektes
  • Panable: Der Bewegungspfad der Kamera

 (IMoveable UND IPanable) inherits from ISlideShowObject
   function GetItem(Index: Integer): ITimeRect;
   procedure SetItem(Index: Integer; Item: ITimeRect);
   function GetCount: Integer;
   function AddItem: ITimeRect;
   procedure DeleteItem (const Index: Integer);
   function IndexOf(const Item: ITimeRect): Integer;
   procedure SetDefault;
 end;

Um auf diese Bewegungen zugreifen zu können, muss das Objekt in ein IMoveable oder ein IPanable gecastet werden.

 var Moveable = Item as IMoveable;

Methoden

  • Objekt Erzeugung

 function CreateMoveableObject: IMovable;
 function CreatePanableObject: IPanable;

  • Getter und Setter für die TimeRects

 function GetItem(Index: Integer): ITimeRect;
 procedure SetItem(Index: Integer; Item: ITimeRect);


  • Anzahl der TimeRects

 function GetCount: Integer;


  • Neues TimeRect anfügen, gibt Referenz auf dieses zurück

 function AddItem: ITimeRect;


  • Lösche TimeRect an Stelle Index

 procedure DeleteItem (const Index: Integer);


  • Position eines bestimmten TimeRects

 function IndexOf(const Item: ITimeRect): Integer;


  • Alles löschen

 procedure SetDefault;

Beispiel

 var Moveable = SlideShowObject as IMoveable;
 if Moveable = nil then
   Continue;
     
 Moveable.SetDefault;
 Moveable[0].SetLeft(Rect.Left);
 Moveable[0].SetTop(Rect.Top);
 Moveable[0].SetRight(Rect.Right);
 Moveable[0].SetBottom(Rect.Bottom);
 TimeRect = Moveable.AddItem;