IMoveable und IPanable

IMoveable und IPanable (Bewegungsobjekte)

1. Definition

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;
  function GetMoveAlongPath: Boolean;
  procedure SetMoveAlongPath (const Value: Boolean);
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;

2. Methoden

  • Objekt-Erzeugung

    function CreateMoveableObject: IMoveable;
    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;
  • Das Bewegungsobjekt richtet sich an der Pfadrichtung aus

    function GetMoveAlongPath: Boolean;
    procedure SetMoveAlongPath (const Value: Boolean);

3. 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;