https://wiki.aquasoft.de/wiki/api.php?action=feedcontributions&user=Carsten&feedformat=atom
AquaSoft Wiki - Benutzerbeiträge [de]
2024-03-28T22:01:43Z
Benutzerbeiträge
MediaWiki 1.35.2
https://wiki.aquasoft.de/wiki/index.php?title=ITimeRect&diff=889
ITimeRect
2012-12-07T09:55:06Z
<p>Carsten: </p>
<hr />
<div>'''ITimeRect''' leitet von '''[[ISlideShowObject]]''' ab. Es ist eine Datenstruktur, um Eigenschaften eines Objektes in Abhängigkeit von der Abspielzeit speichert. So kann beispielsweise zum Zeitpunkt t<sub>0</sub> ein Objekt an anderer Stelle und anders rotiert sein, als zum Zeitpunkt t<sub>1</sub>. Änderungen zwischen diesen beiden Zeitpunkten werden interpoliert, so dass die [[IMoveable|Bewegungspfade]] und [[IPanable|Kameraschwenks]] zustande kommen. Siehe [[Bewegungsobjekte#Beispiel|Beispiel]]<br />
<br />
<code><br />
ITimeRect '''inherits from''' [[ISlideShowObject]]<br />
function GetAngleX: Float;<br />
function GetAngleY: Float;<br />
function GetAngleZ: Float;<br />
function GetBottom: Float;<br />
function GetBounds: TDoubleRect;<br />
function GetDDX: Float;<br />
function GetDDY: Float;<br />
function GetDDZ: Float;<br />
function GetDX: Float;<br />
function GetDY: Float;<br />
function GetDZ: Float;<br />
function GetHeight: Float;<br />
function GetLeft: Float;<br />
function GetRight: Float;<br />
function GetStretchMode: TStretchmode;<br />
function GetTime: Float;<br />
function GetTop: Float;<br />
function GetValueType: TTimeValueType;<br />
function GetWidth: Float;<br />
function GetX: Float;<br />
function GetY: Float;<br />
function GetZ: Float;<br />
procedure SetAngleX(const Value: Float);<br />
procedure SetAngleY(const Value: Float);<br />
procedure SetAngleZ(const Value: Float);<br />
procedure SetBottom(const Value: Float);<br />
procedure SetBounds(const Value: TDoubleRect);<br />
procedure SetHeight(const Value: Float);<br />
procedure SetLeft(const Value: Float);<br />
procedure SetRight(const Value: Float);<br />
procedure SetStretchMode(const Value: TStretchmode);<br />
procedure SetTime(const Value: Float);<br />
procedure SetTop(const Value: Float);<br />
procedure SetValueType(const Value: TTimeValueType);<br />
procedure SetWidth(const Value: Float);<br />
procedure SetX(const Value: Float);<br />
procedure SetY(const Value: Float);<br />
procedure SetZ(const Value: Float);<br />
end;<br />
</code><br />
<br />
= Methoden =<br />
* Zeitstempel in Millisekunden<br />
<code><br />
function GetTime: Float;<br />
procedure SetTime(const Value: Float);<br />
</code><br />
<br />
<br />
* Position im dreidimensionalen Raum<br />
<code><br />
function GetX: Float;<br />
function GetY: Float;<br />
function GetZ: Float;<br />
procedure SetX(const Value: Float);<br />
procedure SetY(const Value: Float);<br />
procedure SetZ(const Value: Float);<br />
</code><br />
<br />
<br />
* Rotationswinkel um 3 Achsen<br />
<code><br />
function GetAngleX: Float;<br />
function GetAngleY: Float;<br />
function GetAngleZ: Float;<br />
procedure SetAngleX(const Value: Float);<br />
procedure SetAngleY(const Value: Float);<br />
procedure SetAngleZ(const Value: Float);<br />
</code><br />
<br />
<br />
* Bounds, als äußere Begrenzungen als ''TDoubleRect'', bzw. alle Werte einzeln<br />
<code> <br />
function GetBounds: TDoubleRect;<br />
function GetBottom: Float;<br />
function GetLeft: Float;<br />
function GetRight: Float;<br />
function GetTop: Float;<br />
procedure SetBottom(const Value: Float);<br />
procedure SetBounds(const Value: TDoubleRect);<br />
procedure SetLeft(const Value: Float);<br />
procedure SetRight(const Value: Float);<br />
procedure SetTop(const Value: Float);<br />
</code><br />
<br />
<br />
* Höhe und Breite<br />
<code><br />
function GetWidth: Float;<br />
function GetHeight: Float;<br />
procedure SetWidth(const Value: Float);<br />
procedure SetHeight(const Value: Float);<br />
</code><br />
<br />
<br />
* Art der Interpolation an dem Punkt<br />
** Wert '''tvtSmooth''': grob interpoliert<br />
** Wert '''tvtEdge''': keine Interpolation, Ecke<br />
** Wert '''tvtHermite''': bessere Interpolation<br />
** Wert '''tvtSpline''': beste Interpolation, Achtung: rechenlastig<br />
<code><br />
function GetValueType: TTimeValueType;<br />
procedure SetValueType(const Value: TTimeValueType);<br />
</code><br />
<br />
<br />
* Anpassung der Bilder an unterschiedliche Seitenverhältnisse<br />
** Wert '''smStretch''': Objekt verzerren<br />
** Wert '''smStretchRatio''': Objekt einpassen<br />
** Wert '''smStretchRatioCut''': Leinwand ausfüllen, Objekt entsprechend beschneiden<br />
<code><br />
function GetStretchMode: TStretchmode;<br />
procedure SetStretchMode(const Value: TStretchmode);<br />
</code><br />
<br />
<br />
* 1. und 2. Ableitung der Kurve an dem Punkt<br />
<code><br />
function GetDX: Float;<br />
function GetDY: Float;<br />
function GetDZ: Float;<br />
function GetDDX: Float;<br />
function GetDDY: Float;<br />
function GetDDZ: Float;<br />
</code><br />
<br />
<br />
<br />
<br />
[[Kategorie:Scripting-API]]<br />
[[Kategorie:Language]]</div>
Carsten
https://wiki.aquasoft.de/wiki/index.php?title=ITimeRect&diff=888
ITimeRect
2012-12-07T09:43:26Z
<p>Carsten: /* Methoden */</p>
<hr />
<div>'''ITimeRect''' leitet von '''[[ISlideShowObject]]''' ab. Es ist eine Datenstruktur, um Eigenschaften eines Objektes in Abhängigkeit von der Abspielzeit speichert. So kann beispielsweise zum Zeitpunkt t<sub>0</sub> ein Objekt an anderer Stelle und anders rotiert sein, als zum Zeitpunkt t<sub>1</sub>. Änderungen zwischen diesen beiden Zeitpunkten werden interpoliert, so dass die [[IMoveable|Bewegungspfade]] und [[IPanable|Kameraschwenks]] zustande kommen. Siehe [[Bewegungsobjekte#Beispiel|Beispiel]]<br />
<br />
<code><br />
ITimeRect '''inherits from''' [[ISlideShowObject]]<br />
function GetAngleX: Double;<br />
function GetAngleY: Double;<br />
function GetAngleZ: Double;<br />
function GetBottom: Double;<br />
function GetBounds: TDoubleRect;<br />
function GetDDX: Double;<br />
function GetDDY: Double;<br />
function GetDDZ: Double;<br />
function GetDX: Double;<br />
function GetDY: Double;<br />
function GetDZ: Double;<br />
function GetHeight: Double;<br />
function GetLeft: Double;<br />
function GetRight: Double;<br />
function GetStretchMode: TStretchmode;<br />
function GetTime: Double;<br />
function GetTop: Double;<br />
function GetValueType: TTimeValueType;<br />
function GetWidth: Double;<br />
function GetX: Double;<br />
function GetY: Double;<br />
function GetZ: Double;<br />
procedure SetAngleX(const Value: Double);<br />
procedure SetAngleY(const Value: Double);<br />
procedure SetAngleZ(const Value: Double);<br />
procedure SetBottom(const Value: Double);<br />
procedure SetBounds(const Value: TDoubleRect);<br />
procedure SetHeight(const Value: Double);<br />
procedure SetLeft(const Value: Double);<br />
procedure SetRight(const Value: Double);<br />
procedure SetStretchMode(const Value: TStretchmode);<br />
procedure SetTime(const Value: Double);<br />
procedure SetTop(const Value: Double);<br />
procedure SetValueType(const Value: TTimeValueType);<br />
procedure SetWidth(const Value: Double);<br />
procedure SetX(const Value: Double);<br />
procedure SetY(const Value: Double);<br />
procedure SetZ(const Value: Double);<br />
end;<br />
</code><br />
<br />
= Methoden =<br />
* Zeitstempel in Millisekunden<br />
<code><br />
function GetTime: Float;<br />
procedure SetTime(const Value: Float);<br />
</code><br />
<br />
<br />
* Position im dreidimensionalen Raum<br />
<code><br />
function GetX: Float;<br />
function GetY: Float;<br />
function GetZ: Float;<br />
procedure SetX(const Value: Float);<br />
procedure SetY(const Value: Float);<br />
procedure SetZ(const Value: Float);<br />
</code><br />
<br />
<br />
* Rotationswinkel um 3 Achsen<br />
<code><br />
function GetAngleX: Float;<br />
function GetAngleY: Float;<br />
function GetAngleZ: Float;<br />
procedure SetAngleX(const Value: Float);<br />
procedure SetAngleY(const Value: Float);<br />
procedure SetAngleZ(const Value: Float);<br />
</code><br />
<br />
<br />
* Bounds, als äußere Begrenzungen als ''TDoubleRect'', bzw. alle Werte einzeln<br />
<code> <br />
function GetBounds: TDoubleRect;<br />
function GetBottom: Float;<br />
function GetLeft: Float;<br />
function GetRight: Float;<br />
function GetTop: Float;<br />
procedure SetBottom(const Value: Float);<br />
procedure SetBounds(const Value: TDoubleRect);<br />
procedure SetLeft(const Value: Float);<br />
procedure SetRight(const Value: Float);<br />
procedure SetTop(const Value: Float);<br />
</code><br />
<br />
<br />
* Höhe und Breite<br />
<code><br />
function GetWidth: Float;<br />
function GetHeight: Float;<br />
procedure SetWidth(const Value: Float);<br />
procedure SetHeight(const Value: Float);<br />
</code><br />
<br />
<br />
* Art der Interpolation an dem Punkt<br />
** Wert '''tvtSmooth''': grob interpoliert<br />
** Wert '''tvtEdge''': keine Interpolation, Ecke<br />
** Wert '''tvtHermite''': bessere Interpolation<br />
** Wert '''tvtSpline''': beste Interpolation, Achtung: rechenlastig<br />
<code><br />
function GetValueType: TTimeValueType;<br />
procedure SetValueType(const Value: TTimeValueType);<br />
</code><br />
<br />
<br />
* Anpassung der Bilder an unterschiedliche Seitenverhältnisse<br />
** Wert '''smStretch''': Objekt verzerren<br />
** Wert '''smStretchRatio''': Objekt einpassen<br />
** Wert '''smStretchRatioCut''': Leinwand ausfüllen, Objekt entsprechend beschneiden<br />
<code><br />
function GetStretchMode: TStretchmode;<br />
procedure SetStretchMode(const Value: TStretchmode);<br />
</code><br />
<br />
<br />
* 1. und 2. Ableitung der Kurve an dem Punkt<br />
<code><br />
function GetDX: Float;<br />
function GetDY: Float;<br />
function GetDZ: Float;<br />
function GetDDX: Float;<br />
function GetDDY: Float;<br />
function GetDDZ: Float;<br />
</code><br />
<br />
<br />
<br />
<br />
[[Kategorie:Scripting-API]]<br />
[[Kategorie:Language]]</div>
Carsten
https://wiki.aquasoft.de/wiki/index.php?title=Leinwandobjekt&diff=887
Leinwandobjekt
2012-12-07T08:54:25Z
<p>Carsten: /* Methoden */</p>
<hr />
<div>Das Leinwandbjekt ist vom Typ '''ICanvas''' und leitet von '''[[ISlideShowObject]]''' ab. Es bietet die Möglichkeit, einfache geometrische Formen zeichnen zu lassen.<br />
<br />
<code><br />
ICanvas '''inherits from''' [[ISlideShowObject]]<br />
function GetWidth: Integer;<br />
procedure SetWidth(const Value: Integer); <br />
function GetHeight: Integer;<br />
procedure SetHeight(const Value: Integer); <br />
procedure SetBrush(Color: Integer); <br />
procedure SetPen(Color: Integer);<br />
procedure DrawRect(top, left, bottom, right: Integer);<br />
procedure DrawRectF(top, left, bottom, right: Single);<br />
procedure DrawEllipse(top, left, bottom, right: Integer);<br />
procedure DrawBitmap(Bitmap: ICanvas; DTop, DLeft, STop, SLeft, SBottom, SRight: Integer);<br />
procedure DrawPolygon(points: TPointFArray; fillStyle: TFillStyle);<br />
end;<br />
</code><br />
<br />
= Methoden =<br />
<br />
*Objekt-Erzeugung<br />
<code> <br />
function CreateBitmap: ICanvas;<br />
</code><br />
*Erzeugt ein Leinwandobjekt durch laden einer Bilddatei. Die Bilddateien werden im Diashow Presets Ordner gesucht.<br />
<code><br />
function CreateBitmapFromFile(FileName: string): ICanvas; <br />
</code><br />
<br />
<code></code> <br />
<br />
<code></code> <br />
<br />
<code></code> <br />
<br />
<code></code> <br />
<br />
<code></code> <br />
<br />
*Breite der Leinwand in Pixeln<br />
<br />
<code></code> <br />
<br />
<code></code> <br />
<br />
<code></code> <br />
<br />
<code></code> <br />
<br />
<code></code> <br />
<br />
<code></code><br />
<br />
<code><br />
function GetWidth: Integer;<br />
procedure SetWidth(const Value: Integer);<br />
</code><br />
<br />
<code></code> <br />
<br />
<code></code> <br />
<br />
<code></code> <br />
<br />
<code></code> <br />
<br />
<code></code> <br />
<br />
<code></code> <br />
<br />
<br> <br />
<br />
*Höhe der Leinwand in Pixeln<br />
<br />
<code></code> <br />
<br />
<code></code> <br />
<br />
<code></code> <br />
<br />
<code></code> <br />
<br />
<code></code> <br />
<br />
<code></code><br />
<br />
<code><br />
function GetHeight: Integer;<br />
procedure SetHeight(const Value: Integer);<br />
</code><br />
<br />
<code></code> <br />
<br />
<code></code> <br />
<br />
<code></code> <br />
<br />
<code></code> <br />
<br />
<code></code> <br />
<br />
<code></code> <br />
<br />
<br> <br />
<br />
*Füllfarbe setzen, 32Bit [https://de.wikipedia.org/wiki/Farbtiefe_%28Computergrafik%29 Farbtiefe]<br />
<br />
<code></code> <br />
<br />
<code></code> <br />
<br />
<code></code> <br />
<br />
<code></code> <br />
<br />
<code></code> <br />
<br />
<code></code><br />
<br />
<code><br />
procedure SetBrush(Color: Integer);<br />
</code><br />
<br />
<code></code> <br />
<br />
<code></code> <br />
<br />
<code></code> <br />
<br />
<code></code> <br />
<br />
<code></code> <br />
<br />
<code></code> <br />
<br />
<br> <br />
<br />
*Linienfarbe setzen, 32Bit Farbtiefe<br />
<br />
<code></code> <br />
<br />
<code></code> <br />
<br />
<code></code> <br />
<br />
<code></code> <br />
<br />
<code></code> <br />
<br />
<code></code><br />
<br />
<code><br />
procedure SetPen(Color: Integer);<br />
</code><br />
<br />
<code></code> <br />
<br />
<code></code> <br />
<br />
<code></code> <br />
<br />
<code></code> <br />
<br />
<code></code> <br />
<br />
<code></code> <br />
<br />
<br> <br />
<br />
*Rechtecke zeichnen, Angabe der oberen, linken, unteren und rechten Begrenzung in Pixeln, Sowohl Single als auch Integer-Werte möglich<br />
<br />
<code></code> <br />
<br />
<code></code> <br />
<br />
<code></code> <br />
<br />
<code></code> <br />
<br />
<code></code> <br />
<br />
<code></code><br />
<br />
<code><br />
procedure DrawRect(top, left, bottom, right: Integer);<br />
procedure DrawRectF(top, left, bottom, right: Single);<br />
</code><br />
<br />
<code></code> <br />
<br />
<code></code> <br />
<br />
<code></code> <br />
<br />
<code></code> <br />
<br />
<code></code> <br />
<br />
<code></code> <br />
<br />
<br> <br />
<br />
*Ellipse zeichnen, Angabe der oberen, linken, unteren und rechten Begrenzung (''BoundingBox'') in Pixeln<br />
<br />
<code></code> <br />
<br />
<code></code> <br />
<br />
<code></code> <br />
<br />
<code></code> <br />
<br />
<code></code> <br />
<br />
<code></code><br />
<br />
<code><br />
procedure DrawEllipse(top, left, bottom, right: Integer);<br />
</code><br />
<br />
<code></code> <br />
<br />
<code></code> <br />
<br />
<code></code> <br />
<br />
<code></code> <br />
<br />
<code></code> <br />
<br />
<code></code> <br />
<br />
<br> <br />
<br />
*Ziehe Kreis vom Mittelpunkt unter Angabe des Raduis auf<br />
<br />
<code></code> <br />
<br />
<code></code> <br />
<br />
<code></code> <br />
<br />
<code></code> <br />
<br />
<code></code> <br />
<br />
<code></code><br />
<br />
<code><br />
procedure DrawCircleCenter(centerX, centerY, radius: Integer);<br />
</code><br />
<br />
<code></code> <br />
<br />
<code></code> <br />
<br />
<code></code> <br />
<br />
<code></code> <br />
<br />
<code></code> <br />
<br />
<code></code> <br />
<br />
<br> <br />
<br />
*Passe maximalen Kreis in angegebene BoundingBox ein<br />
<br />
<code></code> <br />
<br />
<code></code> <br />
<br />
<code></code> <br />
<br />
<code></code> <br />
<br />
<code></code> <br />
<br />
<code></code><br />
<br />
<code><br />
procedure DrawCircle(top, left, bottom, right: Integer);<br />
</code><br />
<br />
<code></code> <br />
<br />
<code></code> <br />
<br />
<code></code> <br />
<br />
<code></code> <br />
<br />
<code></code> <br />
<br />
<code></code> <br />
<br />
<br> <br />
<br />
*Zeichne anderes Bild oder einen Ausschnitt dessen auf Leinwand <br />
**'''Bitmap''': Anderes Leinwandobjekt <br />
**'''DTop''', '''DLeft''': Linke, obere Koordinate der aktuellen Leinwand. Linke obere Ecke des zu zeichnenden Objektes wird dort liegen <br />
**'''STop''', '''SLeft''', '''SBottom''', '''SRight''': Ausschnitt des zu zeichnenden Bildes<br />
<br />
<code></code> <br />
<br />
<code></code> <br />
<br />
<code></code> <br />
<br />
<code></code> <br />
<br />
<code></code> <br />
<br />
<code></code><br />
<br />
<code><br />
procedure DrawBitmap(Bitmap: ICanvas; DTop, DLeft, STop, SLeft, SBottom, SRight: Integer);<br />
</code><br />
<br />
<code></code> <br />
<br />
<code></code> <br />
<br />
<code></code> <br />
<br />
<code></code> <br />
<br />
<code></code> <br />
<br />
<code></code> <br />
<br />
<br> <br />
<br />
*Zeichne Polygone <br />
**'''Points''': array of TPointF, Liste von Punkten <br />
***TPointF kann mittels TPointF.Create(X, Y) für X, Y als Single angelegt werden <br />
**'''FillStyle''': ''OddEven'' oder ''Outer'', Füllmethode<br />
<br />
<code></code> <br />
<br />
<code></code> <br />
<br />
<code></code> <br />
<br />
<code></code> <br />
<br />
<code></code> <br />
<br />
<code></code><br />
<br />
<code><br />
procedure DrawPolygon(points: TPointFArray; fillStyle: TFillStyle);<br />
</code><br />
<br />
<code></code> <br />
<br />
<code></code> <br />
<br />
<code></code> <br />
<br />
<code></code> <br />
<br />
<code></code> <br />
<br />
<code></code> <br />
<br />
[[Category:Scripting-API]]</div>
Carsten
https://wiki.aquasoft.de/wiki/index.php?title=Leinwandobjekt&diff=886
Leinwandobjekt
2012-12-07T08:44:30Z
<p>Carsten: /* Methoden */</p>
<hr />
<div>Das Leinwandbjekt ist vom Typ '''ICanvas''' und leitet von '''[[ISlideShowObject]]''' ab. Es bietet die Möglichkeit, einfache geometrische Formen zeichnen zu lassen.<br />
<br />
<code><br />
ICanvas '''inherits from''' [[ISlideShowObject]]<br />
function GetWidth: Integer;<br />
procedure SetWidth(const Value: Integer); <br />
function GetHeight: Integer;<br />
procedure SetHeight(const Value: Integer); <br />
procedure SetBrush(Color: Integer); <br />
procedure SetPen(Color: Integer);<br />
procedure DrawRect(top, left, bottom, right: Integer);<br />
procedure DrawRectF(top, left, bottom, right: Single);<br />
procedure DrawEllipse(top, left, bottom, right: Integer);<br />
procedure DrawBitmap(Bitmap: ICanvas; DTop, DLeft, STop, SLeft, SBottom, SRight: Integer);<br />
procedure DrawPolygon(points: TPointFArray; fillStyle: TFillStyle);<br />
end;<br />
</code><br />
<br />
= Methoden =<br />
<br />
*Objekt-Erzeugung<br />
<br />
<code></code> <br />
<br />
<code></code><br />
<br />
<code><br />
function CreateBitmap: ICanvas;<br />
</code><br />
<br />
<code></code> <br />
<br />
<code></code><br />
<br />
<code> function CreateBitmapFromFile(FileName: string): ICanvas;</code><br />
Erzeugt ein Leinwandobjekt durch laden einer Bilddatei. Die Bilddateien werden <br />
im Diashow Presets Ordner gesucht.<br />
<code></code> <br />
<br />
<code></code> <br />
<br />
*Breite der Leinwand in Pixeln<br />
<br />
<code></code> <br />
<br />
<code></code><br />
<br />
<code><br />
function GetWidth: Integer;<br />
procedure SetWidth(const Value: Integer);<br />
</code><br />
<br />
<code></code> <br />
<br />
<code></code> <br />
<br />
<br> <br />
<br />
*Höhe der Leinwand in Pixeln<br />
<br />
<code></code> <br />
<br />
<code></code><br />
<br />
<code><br />
function GetHeight: Integer;<br />
procedure SetHeight(const Value: Integer);<br />
</code><br />
<br />
<code></code> <br />
<br />
<code></code> <br />
<br />
<br> <br />
<br />
*Füllfarbe setzen, 32Bit [https://de.wikipedia.org/wiki/Farbtiefe_%28Computergrafik%29 Farbtiefe]<br />
<br />
<code></code> <br />
<br />
<code></code><br />
<br />
<code><br />
procedure SetBrush(Color: Integer);<br />
</code><br />
<br />
<code></code> <br />
<br />
<code></code> <br />
<br />
<br> <br />
<br />
*Linienfarbe setzen, 32Bit Farbtiefe<br />
<br />
<code></code> <br />
<br />
<code></code><br />
<br />
<code><br />
procedure SetPen(Color: Integer);<br />
</code><br />
<br />
<code></code> <br />
<br />
<code></code> <br />
<br />
<br> <br />
<br />
*Rechtecke zeichnen, Angabe der oberen, linken, unteren und rechten Begrenzung in Pixeln, Sowohl Single als auch Integer-Werte möglich<br />
<br />
<code></code> <br />
<br />
<code></code><br />
<br />
<code><br />
procedure DrawRect(top, left, bottom, right: Integer);<br />
procedure DrawRectF(top, left, bottom, right: Single);<br />
</code><br />
<br />
<code></code> <br />
<br />
<code></code> <br />
<br />
<br> <br />
<br />
*Ellipse zeichnen, Angabe der oberen, linken, unteren und rechten Begrenzung (''BoundingBox'') in Pixeln<br />
<br />
<code></code> <br />
<br />
<code></code><br />
<br />
<code><br />
procedure DrawEllipse(top, left, bottom, right: Integer);<br />
</code><br />
<br />
<code></code> <br />
<br />
<code></code> <br />
<br />
<br> <br />
<br />
*Ziehe Kreis vom Mittelpunkt unter Angabe des Raduis auf<br />
<br />
<code></code> <br />
<br />
<code></code><br />
<br />
<code><br />
procedure DrawCircleCenter(centerX, centerY, radius: Integer);<br />
</code><br />
<br />
<code></code> <br />
<br />
<code></code> <br />
<br />
<br> <br />
<br />
*Passe maximalen Kreis in angegebene BoundingBox ein<br />
<br />
<code></code> <br />
<br />
<code></code><br />
<br />
<code><br />
procedure DrawCircle(top, left, bottom, right: Integer);<br />
</code><br />
<br />
<code></code> <br />
<br />
<code></code> <br />
<br />
<br> <br />
<br />
*Zeichne anderes Bild oder einen Ausschnitt dessen auf Leinwand <br />
**'''Bitmap''': Anderes Leinwandobjekt <br />
**'''DTop''', '''DLeft''': Linke, obere Koordinate der aktuellen Leinwand. Linke obere Ecke des zu zeichnenden Objektes wird dort liegen <br />
**'''STop''', '''SLeft''', '''SBottom''', '''SRight''': Ausschnitt des zu zeichnenden Bildes<br />
<br />
<code></code> <br />
<br />
<code></code><br />
<br />
<code><br />
procedure DrawBitmap(Bitmap: ICanvas; DTop, DLeft, STop, SLeft, SBottom, SRight: Integer);<br />
</code><br />
<br />
<code></code> <br />
<br />
<code></code> <br />
<br />
<br> <br />
<br />
*Zeichne Polygone <br />
**'''Points''': array of TPointF, Liste von Punkten <br />
***TPointF kann mittels TPointF.Create(X, Y) für X, Y als Single angelegt werden <br />
**'''FillStyle''': ''OddEven'' oder ''Outer'', Füllmethode<br />
<br />
<code></code> <br />
<br />
<code></code><br />
<br />
<code><br />
procedure DrawPolygon(points: TPointFArray; fillStyle: TFillStyle);<br />
</code><br />
<br />
<code></code> <br />
<br />
<code></code> <br />
<br />
[[Category:Scripting-API]]</div>
Carsten
https://wiki.aquasoft.de/wiki/index.php?title=IUserData&diff=885
IUserData
2012-12-07T08:10:49Z
<p>Carsten: </p>
<hr />
<div>Dieses Interface ermöglicht es Schlüssel, Wert Paare abzuspeichern und zurückzulesen. <br />
<br />
== Methoden ==<br />
<br />
<code>procedure SetValue(Key: string; Value: Variant)</code> <br />
<br />
Ordnet ''Key ''den Wert ''Value ''zu. Falls ein Wert zum ''Key'' vorher schon gesetzt war wird dieser überschrieben. <br />
<br />
<code>function GetValue(Key: string): Variant</code><br />
<br />
Liefert den zu ''Key'' zugeordneten Wert. Falls dieser nicht vorhanden ist wird empty zurückgeliefert.<br />
<br />
[[Category:Scripting-API]]</div>
Carsten
https://wiki.aquasoft.de/wiki/index.php?title=IUserData&diff=884
IUserData
2012-12-07T08:01:08Z
<p>Carsten: User Data</p>
<hr />
<div>[[Kategorie:Scripting-API]]</div>
Carsten
https://wiki.aquasoft.de/wiki/index.php?title=IDesignerContext&diff=883
IDesignerContext
2012-12-07T08:00:31Z
<p>Carsten: /* Methoden */</p>
<hr />
<div>Das IDesignerContext-Objekt dient zum Austausch von Daten zwischen einem Script und dem Layoutdesigner.<br />
<br />
== Methoden ==<br />
<br />
<code>procedure SetDisplayObject(SlideShowObject: [[ISlideShowObject]])</code><br />
<br />
Diese Methode sollte im [[OnInitDesigner]]-Hook aufgerufen werden, wenn das Diashowobjekt ein oder mehrere andere Objekte an seiner Statt im Layoutdesigner anzeigen möchte.<br />
Das übergebene Objekt dient bei der Darstellung im Layoutdesigner als "Ersatz" für das Objekt, dessen Script diese Methode aufruft.<br />
<br />
<code>function GetDisplayObject: [[ISlideShowObject]]</code><br />
<br />
Liefert das Objekt, welches mit SetDisplayObject gesetzt wurde.<br />
<br />
<code>procedure SetInternalObject(SlideShowObject: [[ISlideShowObject]])</code><br />
<br />
Setzt ein Objekt als internes Objekt. Hooks, denen ein IDesignerContext übergeben wird können diese Objekte zur internen Verwaltung von Daten verwenden.<br />
<br />
<code>function GetInternalObject: [[ISlideShowObject]]</code><br />
<br />
Liefert das Objekt, welches mit SetInternalObject gesetzt wurde<br />
<br />
<code>function GetUserData: [[IUserData]]</code><br />
<br />
Ermöglicht es zusätzliche Daten zu speichern. Diese werden vom Layoutdesigner nicht benutzt und sind nur für Script interne Zwecke relevant.<br />
Die UserData bieten die Möglichkeit Daten zwischen Hook Aufrufen zu sichern.<br />
[[Kategorie:Scripting-API]]</div>
Carsten
https://wiki.aquasoft.de/wiki/index.php?title=IDesignerContext&diff=882
IDesignerContext
2012-12-07T07:56:21Z
<p>Carsten: /* Methoden */</p>
<hr />
<div>Das IDesignerContext-Objekt dient zum Austausch von Daten zwischen einem Script und dem Layoutdesigner.<br />
<br />
== Methoden ==<br />
<br />
<code>procedure SetDisplayObject(SlideShowObject: ISlideShowObject)</code><br />
<br />
Diese Methode sollte im [[OnInitDesigner]]-Hook aufgerufen werden, wenn das Diashowobjekt ein oder mehrere andere Objekte an seiner Statt im Layoutdesigner anzeigen möchte.<br />
Das übergebene Objekt dient bei der Darstellung im Layoutdesigner als "Ersatz" für das Objekt, dessen Script diese Methode aufruft.<br />
<br />
<code>function GetDisplayObject: ISlideShowObject</code><br />
<br />
Liefert das Objekt, welches mit SetDisplayObject gesetzt wurde.<br />
<br />
<code>procedure SetInternalObject(SlideShowObject: ISlideShowObject)</code><br />
<br />
Setzt ein Objekt als internes Objekt. Hooks, denen ein IDesignerContext übergeben wird können diese Objekte zur internen Verwaltung von Daten verwenden.<br />
<br />
<code>function GetInternalObject: ISlideShowObject</code><br />
<br />
Liefert das Objekt, welches mit SetInternalObject gesetzt wurde<br />
<br />
<code>function GetUserData: IUserData</code><br />
<br />
Ermöglicht es zusätzliche Daten zu speichern. Diese werden vom Layoutdesigner nicht benutzt und sind nur für Script interne Zwecke relevant.<br />
Die UserData bieten die Möglichkeit Daten zwischen Hook Aufrufen zu sichern.<br />
[[Kategorie:Scripting-API]]</div>
Carsten
https://wiki.aquasoft.de/wiki/index.php?title=Hooks&diff=869
Hooks
2012-09-17T08:33:45Z
<p>Carsten: /* Benutzeroberfläche */</p>
<hr />
<div>= Hooks =<br />
Hooks, also Haken, sind vordefinierte Stellen, die genutzt werden, um ein Skript an die DiaShow zu koppeln. Sie bestimmen, wann welcher Code ausgeführt wird. Code, der in die Prozedur ''OnExpandSlideShow'' geschrieben wird, wird beispielsweise direkt vor dem Abspielen der Show ausgeführt. Hooks brauchen nicht definiert zu werden, die Skript-Engine kennt diese speziellen Methoden und reagiert entsprechend darauf.<br />
<br />
Alle Hooks haben als Parameter das aktuelle [[DiaShow-Objekt]] vom Typ '''ISlideShowObject'''. So kann direkt auf das Objekt zugegriffen werden, dem die Skript-Datei angehängt ist.<br />
<br />
== Abspielen / Player ==<br />
<br />
<code><br />
procedure [[OnExpandSlideShow]](SlideShowObject: ISlideShowObject);<br />
procedure [[Render]](SlideShowObject: ISlideShowObject; Bitmap: ICanvas);<br />
procedure [[OnConfigureShader]](SlideShowObject: ISlideShowObject; const Progress: Float);<br />
</code><br />
<br />
== Benutzeroberfläche ==<br />
<br />
<code><br />
function [[OnInsertPreset]](SlideShowObject: ISlideShowObject): Boolean;<br />
function [[OnCreateContextMenu]](SlideShowObject: ISlideShowObject): string;<br />
function [[OnGetGUI]](SlideShowObject: ISlideShowObject): string;<br />
procedure [[OnInitDesigner]](SlideShowObject: ISlideShowObject; Context: IDesignerContext);<br />
function [[OnDesignerChanged]](SlideShowObject: ISlideShowObject; Context: IDesignerContext; UpdateInfo: IDesignerUpdate): Integer;<br />
<br />
</code><br />
<br />
<br />
[[Kategorie:Scripting-API]]</div>
Carsten
https://wiki.aquasoft.de/wiki/index.php?title=OnDesignerChanged&diff=868
OnDesignerChanged
2012-09-17T08:33:15Z
<p>Carsten: </p>
<hr />
<div>Dieser Hook wird aufgerufen, wenn Änderungen an einem Diashowobjekt vorgenommen werden, die sich im Layoutdesigner auswirken.<br />
Anhand der Art der Änderung kann das Script die internen Daten aktualisieren.<br />
<br />
<code><br />
function OnDesignerChanged(SlideShowObject: [[ISlideShowObject]]; Context: [[IDesignerContext]]; UpdateInfo: [[IDesignerUpdate]]): Integer;<br />
</code><br />
<br />
== Parameter ==<br />
<br />
SlideShowObject: [[ISlideShowObject]]<br />
<br />
Context: [[IDesignerContext]] <br />
<br />
UpdateInfo: [[IDesignerUpdate]]<br />
<br />
== Rückgabewert ==<br />
<br />
Der Rückgabewert bestimmt, wie der Layoutdesigner auf die Aktualisierung reagiert.<br />
<br />
* hrDefault: Der Layoutdesigner verhält sich so, wie es der Objekttyp vorgibt. Beispielsweise führt eine Größenänderung eines Bildobjektes nur zum Neuzeichnen, während eine Änderung des Dateinamens eine Neuinitialisierung erforderlich macht.<br />
* hrInvalidate: Das Objekt wird lediglich neu gezeichnet<br />
* hrReinit: Das Objekt wird vollständig neu intialisiert<br />
* hrPreview: Der gesamte Inhalt des Layoutdesigners wird neu erzeugt<br />
[[Kategorie:Scripting-API]]</div>
Carsten
https://wiki.aquasoft.de/wiki/index.php?title=Hooks&diff=867
Hooks
2012-09-17T08:32:23Z
<p>Carsten: /* Benutzeroberfläche */</p>
<hr />
<div>= Hooks =<br />
Hooks, also Haken, sind vordefinierte Stellen, die genutzt werden, um ein Skript an die DiaShow zu koppeln. Sie bestimmen, wann welcher Code ausgeführt wird. Code, der in die Prozedur ''OnExpandSlideShow'' geschrieben wird, wird beispielsweise direkt vor dem Abspielen der Show ausgeführt. Hooks brauchen nicht definiert zu werden, die Skript-Engine kennt diese speziellen Methoden und reagiert entsprechend darauf.<br />
<br />
Alle Hooks haben als Parameter das aktuelle [[DiaShow-Objekt]] vom Typ '''ISlideShowObject'''. So kann direkt auf das Objekt zugegriffen werden, dem die Skript-Datei angehängt ist.<br />
<br />
== Abspielen / Player ==<br />
<br />
<code><br />
procedure [[OnExpandSlideShow]](SlideShowObject: ISlideShowObject);<br />
procedure [[Render]](SlideShowObject: ISlideShowObject; Bitmap: ICanvas);<br />
procedure [[OnConfigureShader]](SlideShowObject: ISlideShowObject; const Progress: Float);<br />
</code><br />
<br />
== Benutzeroberfläche ==<br />
<br />
<code><br />
function [[OnInsertPreset]](SlideShowObject: ISlideShowObject): Boolean;<br />
function [[OnCreateContextMenu]](SlideShowObject: ISlideShowObject): string;<br />
function [[OnGetGUI]](SlideShowObject: ISlideShowObject): string;<br />
procedure [[OnInitDesigner]](SlideShowObject: ISlideShowObject; Context: IDesignerContext);<br />
function [[OnDesignerChanged]](SlideShowObject: ISlideShowObject; Context: IDesignerContext; UpdateInfo: IDesignerUpdate);<br />
<br />
</code><br />
<br />
<br />
[[Kategorie:Scripting-API]]</div>
Carsten
https://wiki.aquasoft.de/wiki/index.php?title=Pfadobjekt&diff=803
Pfadobjekt
2012-08-21T13:48:05Z
<p>Carsten: </p>
<hr />
<div>Diese Objekt stellt einen sichtbaren Pfad dar. <br />
<br />
<code><br />
IPath '''inherits from''' [[IMovable]]<br />
procedure Reset;<br />
procedure SetWidth(w: Integer);<br />
function GetWidth: Integer;<br />
procedure SetHead(s: string);<br />
procedure SetTail(s: string);<br />
procedure SetBody(s: string);<br />
procedure SetShape(s: string);<br />
procedure SetLengthInTime(t: Integer);<br />
end;<br />
</code><br />
<br />
= Methoden =<br />
* Objekt Erzeugung<br />
<code><br />
function CreatePathVisualizer: IPath;<br />
</code><br />
<br />
* Auf Standardeinstellungen zurücksetzten.<br />
<code><br />
procedure Reset;<br />
</code><br />
* Setzt Die Breite des Pfades.<br />
<code><br />
procedure SetWidth(w: Integer);<br />
</code><br />
* Liefert die Breite des Pfades.<br />
<code><br />
function GetWidth: Integer;<br />
</code><br />
* Setzt den Kopfteil des Pfades.<br />
<code><br />
procedure SetHead(s: string);<br />
</code><br />
* Setzt den Schwanzteil des Pfades.<br />
<code><br />
procedure SetTail(s: string);<br />
</code><br />
* Setzt den Mittelteil des Pfades.<br />
<code><br />
procedure SetBody(s: string);<br />
</code><br />
* Setzt alle Teile des Pfades mit einem kombinierten Bild. Es ist zu beachten, das entweder nur die einzelnen Teile oder nur der gesammte Pfad mit einmal gesetzt werden kann. <br />
<code><br />
procedure SetShape(s: string);<br />
</code><br />
* Wieviel Millisekunden der Pfad lang ist. <br />
<code><br />
procedure SetLengthInTime(t: Integer);<br />
</code><br />
<br />
[[Kategorie:Scripting-API]]</div>
Carsten
https://wiki.aquasoft.de/wiki/index.php?title=Pfadobjekt&diff=802
Pfadobjekt
2012-08-21T13:27:47Z
<p>Carsten: Die Seite wurde neu angelegt: „Kategorie:Scripting-API“</p>
<hr />
<div>[[Kategorie:Scripting-API]]</div>
Carsten
https://wiki.aquasoft.de/wiki/index.php?title=IPath&diff=801
IPath
2012-08-21T13:26:55Z
<p>Carsten: Weiterleitung nach Pfadobjekt erstellt</p>
<hr />
<div>#REDIRECT [[Pfadobjekt]]<br />
[[Kategorie: Scripting-API]]</div>
Carsten
https://wiki.aquasoft.de/wiki/index.php?title=IPath&diff=800
IPath
2012-08-21T13:25:02Z
<p>Carsten: Die Seite wurde neu angelegt: „Kategorie: Scripting-API“</p>
<hr />
<div>[[Kategorie: Scripting-API]]</div>
Carsten
https://wiki.aquasoft.de/wiki/index.php?title=Textobjekt&diff=799
Textobjekt
2012-08-21T13:19:56Z
<p>Carsten: </p>
<hr />
<div>Das Textobjekt ist vom Typ '''IText''' und leitet von '''[[ISlideShowObject]]''' ab.<br />
<br />
<code><br />
IText '''inherits from''' [[ISlideShowObject]]<br />
function GetText: string;<br />
procedure SetText(const Value: string);<br />
end;<br />
</code><br />
<br />
= Methoden =<br />
* Objekt Erzeugung<br />
<code><br />
function CreateTextObject: IText;<br />
</code><br />
<br />
* Getter und Setter für den Text<br />
<code><br />
function GetText: string;<br />
procedure SetText(const Value: string);<br />
</code><br />
<br />
[[Kategorie:Scripting-API]]</div>
Carsten
https://wiki.aquasoft.de/wiki/index.php?title=Soundobjekt&diff=798
Soundobjekt
2012-08-21T13:19:12Z
<p>Carsten: </p>
<hr />
<div>Das Soundobjekt ist vom Typ '''ISound''' und leitet von '''[[ISlideShowObject]]''' ab.<br />
<br />
<code><br />
ISound '''inherits from''' [[ISlideShowObject]]<br />
function Filename: [[IFilename]];<br />
function GetSoundDuration: Integer;<br />
procedure SetSoundDuration(const Value: Integer);<br />
function GetUseSoundLength: Boolean;<br />
procedure SetUseSoundLength(const Value: Boolean);<br />
function GetFadeOutBackgroundMusic: Boolean;<br />
procedure SetFadeOutBackgroundMusic(const Value: Boolean);<br />
function GetFadeOutDuration: Integer;<br />
procedure SetFadeOutDuration(const Value: Integer);<br />
function GetMasterVolume: Integer;<br />
procedure SetMasterVolume(const Value: Integer);<br />
function GetStartPos: Integer;<br />
procedure SetStartPos(const Value: Integer);<br />
function GetSoundEnd: Integer; <br />
procedure SetSoundEnd(const Value: Integer);<br />
end;<br />
</code><br />
<br />
= Methoden =<br />
* Objekt Erzeugung<br />
<code><br />
function CreateSoundObject: ISound;<br />
</code><br />
<br />
* Ein Soundobjekt benötigt einen Dateinamen zu der gespeicherten Sounddatei. Dieser ist als '''[[IFilename]]''' im Objekt gespeichert:<br />
<code><br />
function Filename: IFilename;<br />
</code><br />
<br />
<br />
* Gesamtlänge des Sounds in Millisekunden<br />
<code><br />
function GetSoundDuration: Integer;<br />
procedure SetSoundDuration(const Value: Integer);<br />
</code><br />
<br />
<br />
* Abspieldauer Sound-beinhaltenden Objektes an die Soundlänge anpassen <br />
<code> <br />
function GetUseSoundLength: Boolean;<br />
procedure SetUseSoundLength(const Value: Boolean);<br />
</code><br />
<br />
<br />
* Hintergrundsound beim Abspielen ausblenden<br />
<code><br />
function GetFadeOutBackgroundMusic: Boolean;<br />
procedure SetFadeOutBackgroundMusic(const Value: Boolean);<br />
</code><br />
<br />
<br />
* Einblenddauer des Sounds in Millisekunden<br />
<code><br />
function GetFadeOutDuration: Integer;<br />
procedure SetFadeOutDuration(const Value: Integer);<br />
</code><br />
<br />
<br />
* Lautstärke in Prozent<br />
<code><br />
function GetMasterVolume: Integer;<br />
procedure SetMasterVolume(const Value: Integer);<br />
</code><br />
<br />
<br />
* Startzeit des Soundobjektes in Millisekunden<br />
<code><br />
function GetStartPos: Integer;<br />
procedure SetStartPos(const Value: Integer);<br />
</code><br />
<br />
<br />
* Ende des Soundobjektes in Millisekunden<br />
<code> <br />
function GetSoundEnd: Integer; <br />
procedure SetSoundEnd(const Value: Integer);<br />
</code><br />
<br />
[[Kategorie:Scripting-API]]</div>
Carsten
https://wiki.aquasoft.de/wiki/index.php?title=DiaShow-Objekt&diff=797
DiaShow-Objekt
2012-08-21T13:18:20Z
<p>Carsten: </p>
<hr />
<div>Das DiaShow-Objekt, eigentlich ''SlideShowObject'' vom Typ '''ISlideShowObject''' (Abk. SSO), bildet die Basis-Klasse für alle Objekte, die in der DiaShow Verwendung finden. Dementsprechenden leiten alle anderen von ihm ab und enthalten deshalb alle Methoden dessen.<br />
<br />
<code><br />
ISlideShowObject<br />
procedure SetItem(Index: Integer; Item: ISlideShowObject);<br />
function GetItem(Index: Integer): ISlideShowObject;<br />
function GetCount: Integer;<br />
function GetParent: ISlideShowObject;<br />
function Text: [[IText]];<br />
function GetDuration: Integer;<br />
procedure SetDuration(const Value: Integer);<br />
function GetOffset: Integer;<br />
procedure SetOffset(const Value: Integer);<br />
function Clone: ISlideShowObject;<br />
function CloneWithChildren: ISlideShowObject;<br />
procedure SetValueAsString(const Key: String; const Value: String);<br />
function GetValueAsString(const Key: String): String;<br />
procedure SetValueAsSingle(const Key: String; const Value: Single);<br />
function GetValueAsSingle(const Key: String): Single;<br />
procedure SetValueAsInteger(const Key: String; const Value: Integer);<br />
function GetValueAsInteger(const Key: String): Integer;<br />
procedure SetValueAsBoolean(const Key: String; const Value: Boolean);<br />
function GetValueAsBoolean(const Key: String): Boolean;<br />
end;<br />
</code><br />
<br />
= Methoden =<br />
* Objekt Erzeugung<br />
<code><br />
function CreateSlideShowObject: ISlideShowObject;<br />
</code><br />
<br />
* Getter und Setter für Kindelemente. Alle Objekte können andere SlideShowObjekte als Kinder halten. Als herausragendes Beispiel kann man das Kapitel nennen, welches Bilder in sich vereint. Generell geht das aber mit allen anderen Objekten genauso.<br />
<code><br />
procedure SetItem(Index: Integer; Item: ISlideShowObject);<br />
function GetItem(Index: Integer): ISlideShowObject;<br />
</code><br />
<br />
<br />
* Gibt die Anzahl der Kindelemente zurück<br />
<code><br />
function GetCount: Integer;<br />
</code><br />
<br />
<br />
* Gibt das Elternelement zurück<br />
<code><br />
function GetParent: ISlideShowObject;<br />
</code><br />
<br />
<br />
* Ein SSO kann Text enthalten und ist vom Typ '''[[IText]]'''<br />
<code><br />
function Text: IText;<br />
</code><br />
<br />
<br />
* Abspiel-/Anzeigedauer eines Objektes in Millisekunden. Achtung, sollte nur in Ausnahmefällen geändert werden!<br />
<code><br />
function GetDuration: Integer;<br />
procedure SetDuration(const Value: Integer);<br />
</code><br />
<br />
<br />
* Der Offset des Objektes ist der Abstand zum Vorgänger-Objekt in Millisekunden<br />
<code><br />
function GetOffset: Integer;<br />
procedure SetOffset(const Value: Integer);<br />
</code><br />
<br />
<br />
* Kopiert das SSO ohne bzw. mit dessen Kindelemente(n)<br />
<code><br />
function Clone: ISlideShowObject;<br />
function CloneWithChildren: ISlideShowObject;<br />
</code><br />
<br />
<br />
* Getter und Setter für [[GUI-API|GUI]]-Werte. Der '''Key''' gibt an, welches GUI-Element gemeint ist, '''Value''' setzt den entsprechenden Wert. Der Datentyp von Value ist dabei von Komponente zu Komponente unterschiedlich.<br />
<code><br />
procedure SetValueAsString(const Key: String; const Value: String);<br />
function GetValueAsString(const Key: String): String;<br />
<br />
procedure SetValueAsSingle(const Key: String; const Value: Single);<br />
function GetValueAsSingle(const Key: String): Single;<br />
<br />
procedure SetValueAsInteger(const Key: String; const Value: Integer);<br />
function GetValueAsInteger(const Key: String): Integer;<br />
<br />
procedure SetValueAsBoolean(const Key: String; const Value: Boolean);<br />
function GetValueAsBoolean(const Key: String): Boolean;<br />
</code><br />
<br />
[[Kategorie:Scripting-API]]</div>
Carsten
https://wiki.aquasoft.de/wiki/index.php?title=Bildinhalt-Objekt&diff=796
Bildinhalt-Objekt
2012-08-21T13:16:30Z
<p>Carsten: /* Methoden */</p>
<hr />
<div>Das Bildinhalt-Objejt ist vom Typ '''IPictureContent'''. Es leitet vom '''[[ISlideShowObject]]''' ab. Das Bildinhalt ist das konkrete Bild. Während das [[Bildobjekt]] beispielsweise zusätzlich zu seinem Inhalt auch diverse Metadaten, wie den Dateinamen hält, sind mit dem Inhalt die konkreten Bilddaten gemeint. Das [[Collagenobjekt]] wird ebenfalls als ein zusammengefasstes Bild behandelt und hat als solches auch ein Bildinhalt-Objekt.<br />
<br />
<code><br />
IPictureContent '''inherits from''' [[ISlideShowObject]]<br />
procedure AppendEffect (const Item: [[IEffect]]);<br />
procedure SetStretchMode(sm: Integer);<br />
function GetFace (const Index: Integer): [[IFace]];<br />
function GetFaceCount: Integer;<br />
end;<br />
</code><br />
<br />
= Methoden =<br />
<br />
* Auf Bildobjekte können Effekte angewendet werden. Diese sind vom Typ '''[[IEffect]]'''<br />
<code><br />
procedure AppendEffect (const Item: IEffect);<br />
</code><br />
<br />
<br />
* Die Anpassung des Bildes an das DiaShow-Bildverhältnis festlegen<br />
** Wert ''0'': Seitenverhältnis des Bildes erhalten<br />
** Wert ''1'': zuschneiden<br />
** Wert ''2'': verzerren<br />
** Wert ''3'': intelligent zuschneiden<br />
<code><br />
procedure SetStretchMode(sm: Integer);<br />
</code><br />
<br />
<br />
* Auf Bildobjekten können Gesichter erkannt werden. ''GetFace'' gibt das x-te Gesicht als '''[[IFace]]''' zurück<br />
<code><br />
function GetFace (const Index: Integer): IFace;<br />
</code><br />
<br />
<br />
* Die Anzahl der erkannten Gesichter<br />
<code><br />
function GetFaceCount: Integer;<br />
</code><br />
<br />
[[Kategorie:Scripting-API]]</div>
Carsten
https://wiki.aquasoft.de/wiki/index.php?title=Bildobjekt&diff=795
Bildobjekt
2012-08-21T13:14:13Z
<p>Carsten: /* Methoden */</p>
<hr />
<div>Das Bildobjekt ist vom Typ '''IPicture''' und leitet von '''[[ISlideShowObject]]''' ab.<br />
<br />
<code><br />
IPicture '''inherits from''' [[ISlideShowObject]]<br />
function Filename: [[IFilename]];<br />
function Sound: [[ISound]];<br />
function Content: [[IPictureContent]];<br />
end; <br />
</code><br />
<br />
= Methoden =<br />
<br />
* Objekt Erzeugung<br />
<code><br />
function CreatePictureObject: IPicture;<br />
</code><br />
<br />
* Ein Bildobjekt benötigt einen Dateinamen zu dem gespeicherten Bild. Dieser ist als '''[[IFilename]]''' im Bild gespeichert:<br />
<code><br />
function Filename: IFilename;<br />
</code><br />
<br />
<br />
* Ein Bildobjekt kann eine Soundspur enthalten. Der Datentyp dieser ist ein '''[[ISound]]'''<br />
<code><br />
function Sound: ISound;<br />
</code><br />
<br />
<br />
* Zugriff auf Inhalt Bildobjekt (also das Bild selbst, ohne Metadaten) vom Typ '''[[IPictureContent]]'''<br />
<code><br />
function Content: IPictureContent;<br />
</code><br />
<br />
[[Kategorie:Scripting-API]]</div>
Carsten
https://wiki.aquasoft.de/wiki/index.php?title=Bildobjekt&diff=794
Bildobjekt
2012-08-21T13:14:01Z
<p>Carsten: </p>
<hr />
<div>Das Bildobjekt ist vom Typ '''IPicture''' und leitet von '''[[ISlideShowObject]]''' ab.<br />
<br />
<code><br />
IPicture '''inherits from''' [[ISlideShowObject]]<br />
function Filename: [[IFilename]];<br />
function Sound: [[ISound]];<br />
function Content: [[IPictureContent]];<br />
end; <br />
</code><br />
<br />
= Methoden =<br />
<br />
* Objekt Erzeugung<br />
<code><br />
function CreatePictureObject: IPicture<br />
</code><br />
<br />
* Ein Bildobjekt benötigt einen Dateinamen zu dem gespeicherten Bild. Dieser ist als '''[[IFilename]]''' im Bild gespeichert:<br />
<code><br />
function Filename: IFilename;<br />
</code><br />
<br />
<br />
* Ein Bildobjekt kann eine Soundspur enthalten. Der Datentyp dieser ist ein '''[[ISound]]'''<br />
<code><br />
function Sound: ISound;<br />
</code><br />
<br />
<br />
* Zugriff auf Inhalt Bildobjekt (also das Bild selbst, ohne Metadaten) vom Typ '''[[IPictureContent]]'''<br />
<code><br />
function Content: IPictureContent;<br />
</code><br />
<br />
[[Kategorie:Scripting-API]]</div>
Carsten
https://wiki.aquasoft.de/wiki/index.php?title=Partikelobjekt&diff=793
Partikelobjekt
2012-08-21T13:13:07Z
<p>Carsten: </p>
<hr />
<div>Das Partikelobjekt ist vom Typ '''IParticle''' und leitet von '''[[ISlideShowObject]]''' ab. Mit diesem Objekt kann man Partikeleffekte erstellen.<br />
<br />
<code><br />
IParticle '''inherits from''' [[ISlideShowObject]]<br />
function Filename: [[IFilename]]; <br />
function GetSpeed: Single;<br />
procedure SetSpeed(const P: Single);<br />
function GetDirection: Single;<br />
procedure SetDirection(const P: Single);<br />
function GetCount: Integer;<br />
procedure SetCount(const P: Integer);<br />
function GetSize: Single;<br />
procedure SetSize(const P: Single);<br />
function GetMove: Integer;<br />
procedure SetMove(const P: Integer);<br />
function GetMoveStrength: Single;<br />
procedure SetMoveStrength(const P: Single);<br />
function GetMoveSineFrequency: Single;<br />
procedure SetMoveSineFrequency(const P: Single);<br />
function GetClipping: Boolean; <br />
procedure SetClipping(const P: Boolean);<br />
end;<br />
</code><br />
= Methoden =<br />
* Objekt Erzeugung<br />
<code><br />
function CreateParticleObject: IParticle<br />
</code><br />
<br />
* Dateiname für ein bestimmtes Partikelbild, beispielsweise<br />
<code><br />
function Filename: IFilename;<br />
</code><br />
<br />
<br />
* Dauer, wie lange ein Partikel maximal existieren soll<br />
<code><br />
function GetMaxAge: Single;<br />
procedure SetMaxAge(const P: Single);<br />
</code><br />
<br />
<br />
* Partikelgeschwindigkeit<br />
<code> <br />
function GetSpeed: Single;<br />
procedure SetSpeed(const P: Single);<br />
</code><br />
<br />
<br />
* Richtung, in die Partikel sich bewegen<br />
<code> <br />
function GetDirection: Single;<br />
procedure SetDirection(const P: Single);<br />
</code> <br />
<br />
<br />
* Anzahl der Partikel<br />
<code><br />
function GetCount: Integer;<br />
procedure SetCount(const P: Integer);<br />
</code> <br />
<br />
<br />
* Größe der Partikel<br />
<code> <br />
function GetSize: Single;<br />
procedure SetSize(const P: Single);<br />
</code><br />
<br />
<br />
* Bewegungsart der Partikel<br />
** Wert '''0''': keine<br />
** Wert '''1''': Sinusschwingung<br />
** Wert '''2''': Kreisende Bewegung<br />
** Wert '''3''': zufällige Bewegung in eine Richtung<br />
** Wert '''4''': zufällige Bewegung in beide Richtungen<br />
** Wert '''5''': zufällige Bewegung mit Anziehungskraft<br />
<code> <br />
function GetMove: Integer;<br />
procedure SetMove(const P: Integer);<br />
</code><br />
<br />
<br />
* Stärke der Partikelbewegung<br />
<code> <br />
function GetMoveStrength: Single;<br />
procedure SetMoveStrength(const P: Single);<br />
</code><br />
<br />
<br />
* Bei eingestellter Sinusbewegung, die Sinusfrequenz<br />
<code> <br />
function GetMoveSineFrequency: Single;<br />
procedure SetMoveSineFrequency(const P: Single);<br />
</code><br />
<br />
* Partikeleffekt zuschneiden?<br />
<code><br />
function GetClipping: Boolean; <br />
procedure SetClipping(const P: Boolean);<br />
</code><br />
<br />
<br />
[[Kategorie:Scripting-API]]</div>
Carsten
https://wiki.aquasoft.de/wiki/index.php?title=Bewegungsobjekte&diff=792
Bewegungsobjekte
2012-08-21T13:11:58Z
<p>Carsten: /* Methoden */</p>
<hr />
<div>Bewegungsobjekte sind entweder vom Typ '''IMoveable''' oder '''IPanable'''. Sie leiten vom '''[[ISlideShowObject]]''' ab.<br />
<br />
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.<br />
* Moveable: Der Bewegungspfad des Objektes<br />
* Panable: Der Bewegungspfad der Kamera<br />
<br />
<code><br />
(IMoveable ''UND'' IPanable) '''inherits from''' [[ISlideShowObject]]<br />
function GetItem(Index: Integer): [[ITimeRect]];<br />
procedure SetItem(Index: Integer; Item: [[ITimeRect]]);<br />
function GetCount: Integer;<br />
function AddItem: [[ITimeRect]];<br />
procedure DeleteItem (const Index: Integer);<br />
function IndexOf(const Item: [[ITimeRect]]): Integer;<br />
procedure SetDefault;<br />
end;<br />
</code><br />
<br />
Um auf diese Bewegungen zugreifen zu können, muss das Objekt in ein IMoveable oder ein IPanable gecastet werden.<br />
<code><br />
var Moveable = Item as IMoveable;<br />
</code><br />
<br />
= Methoden =<br />
* Objekt Erzeugung<br />
<code><br />
function CreateMoveableObject: IMovable;<br />
function CreatePanableObject: IPanable;<br />
</code><br />
<br />
* Getter und Setter für die TimeRects<br />
<code><br />
function GetItem(Index: Integer): ITimeRect;<br />
procedure SetItem(Index: Integer; Item: ITimeRect);<br />
</code><br />
<br />
<br />
* Anzahl der TimeRects<br />
<code><br />
function GetCount: Integer;<br />
</code> <br />
<br />
<br />
* Neues TimeRect anfügen, gibt Referenz auf dieses zurück<br />
<code><br />
function AddItem: ITimeRect;<br />
</code> <br />
<br />
<br />
* Lösche TimeRect an Stelle ''Index''<br />
<code><br />
procedure DeleteItem (const Index: Integer);<br />
</code><br />
<br />
<br />
* Position eines bestimmten TimeRects<br />
<code> <br />
function IndexOf(const Item: ITimeRect): Integer;<br />
</code><br />
<br />
<br />
* Alles löschen<br />
<code><br />
procedure SetDefault;<br />
</code><br />
<br />
= Beispiel =<br />
<code><br />
var Moveable = SlideShowObject as IMoveable;<br />
if Moveable = nil then<br />
Continue;<br />
<br />
Moveable.SetDefault;<br />
Moveable[0].SetLeft(Rect.Left);<br />
Moveable[0].SetTop(Rect.Top);<br />
Moveable[0].SetRight(Rect.Right);<br />
Moveable[0].SetBottom(Rect.Bottom);<br />
TimeRect = Moveable.AddItem;<br />
</code><br />
<br />
[[Kategorie:Scripting-API]]</div>
Carsten
https://wiki.aquasoft.de/wiki/index.php?title=Bewegungsobjekte&diff=791
Bewegungsobjekte
2012-08-21T13:10:15Z
<p>Carsten: </p>
<hr />
<div>Bewegungsobjekte sind entweder vom Typ '''IMoveable''' oder '''IPanable'''. Sie leiten vom '''[[ISlideShowObject]]''' ab.<br />
<br />
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.<br />
* Moveable: Der Bewegungspfad des Objektes<br />
* Panable: Der Bewegungspfad der Kamera<br />
<br />
<code><br />
(IMoveable ''UND'' IPanable) '''inherits from''' [[ISlideShowObject]]<br />
function GetItem(Index: Integer): [[ITimeRect]];<br />
procedure SetItem(Index: Integer; Item: [[ITimeRect]]);<br />
function GetCount: Integer;<br />
function AddItem: [[ITimeRect]];<br />
procedure DeleteItem (const Index: Integer);<br />
function IndexOf(const Item: [[ITimeRect]]): Integer;<br />
procedure SetDefault;<br />
end;<br />
</code><br />
<br />
Um auf diese Bewegungen zugreifen zu können, muss das Objekt in ein IMoveable oder ein IPanable gecastet werden.<br />
<code><br />
var Moveable = Item as IMoveable;<br />
</code><br />
<br />
= Methoden =<br />
* Objekt Erzeugung<br />
<code><br />
function CreateMoveableObject: IMovable;<br />
</code><br />
<br />
* Getter und Setter für die TimeRects<br />
<code><br />
function GetItem(Index: Integer): ITimeRect;<br />
procedure SetItem(Index: Integer; Item: ITimeRect);<br />
</code><br />
<br />
<br />
* Anzahl der TimeRects<br />
<code><br />
function GetCount: Integer;<br />
</code> <br />
<br />
<br />
* Neues TimeRect anfügen, gibt Referenz auf dieses zurück<br />
<code><br />
function AddItem: ITimeRect;<br />
</code> <br />
<br />
<br />
* Lösche TimeRect an Stelle ''Index''<br />
<code><br />
procedure DeleteItem (const Index: Integer);<br />
</code><br />
<br />
<br />
* Position eines bestimmten TimeRects<br />
<code> <br />
function IndexOf(const Item: ITimeRect): Integer;<br />
</code><br />
<br />
<br />
* Alles löschen<br />
<code><br />
procedure SetDefault;<br />
</code><br />
<br />
= Beispiel =<br />
<code><br />
var Moveable = SlideShowObject as IMoveable;<br />
if Moveable = nil then<br />
Continue;<br />
<br />
Moveable.SetDefault;<br />
Moveable[0].SetLeft(Rect.Left);<br />
Moveable[0].SetTop(Rect.Top);<br />
Moveable[0].SetRight(Rect.Right);<br />
Moveable[0].SetBottom(Rect.Bottom);<br />
TimeRect = Moveable.AddItem;<br />
</code><br />
<br />
[[Kategorie:Scripting-API]]</div>
Carsten
https://wiki.aquasoft.de/wiki/index.php?title=Collagenobjekt&diff=790
Collagenobjekt
2012-08-21T13:06:46Z
<p>Carsten: </p>
<hr />
<div>Das Collagenobjekt ist vom Typ '''ICollage''' und leitet von '''[[ISlideShowObject]]''' ab. Es fungiert als visueller Container für andere [[ISlideShowObject|SlideShowObjects]]. Diese können nur untereinander angeordnet werden und sind automatisch alle gleich lang.<br />
<br />
<code><br />
ICollage '''inherits from''' [[ISlideShowObject]]<br />
function GetCaption: string;<br />
procedure SetCaption (const Value: string);<br />
function Content: [[IPictureContent]];<br />
end;<br />
</code><br />
<br />
= Methoden =<br />
* Objekt Erzeugung<br />
<code><br />
function CreateCollageObject: ICollage<br />
</code><br />
<br />
* Getter und Setter für Namen des Collagenobjektes<br />
<code><br />
function GetCaption: string;<br />
procedure SetCaption (const Value: string);<br />
</code><br />
<br />
<br />
* Da eine Collage als eigenes Bild gilt, hat es auch einen Bildinhalt vom Typ '''[[IPictureContent]]'''<br />
<code><br />
function Content: IPictureContent;<br />
</code><br />
<br />
[[Kategorie:Scripting-API]]</div>
Carsten
https://wiki.aquasoft.de/wiki/index.php?title=Kapitelobjekt&diff=789
Kapitelobjekt
2012-08-21T13:05:37Z
<p>Carsten: /* Methoden */</p>
<hr />
<div>Das Kapitelobjekt ist vom Typ '''IChapter''' und leitet von '''[[ISlideShowObject]]''' ab. Es fungiert als visueller Container für andere [[ISlideShowObject|SlideShowObjects]]. Diese können ohne Einschränkungen angeordnet werden.<br />
<br />
<code><br />
IChapter '''inherits from''' [[ISlideShowObject]]<br />
function GetCaption: string;<br />
procedure SetCaption (const Value: string);<br />
end;<br />
</code><br />
<br />
= Methoden =<br />
* Objekt Erzeugung<br />
<code><br />
function CreateChapterObject: IChapter<br />
</code><br />
* Getter und Setter für Namen des Kapitelobjektes<br />
<code><br />
function GetCaption: string;<br />
procedure SetCaption (const Value: string);<br />
</code><br />
<br />
[[Kategorie:Scripting-API]]</div>
Carsten
https://wiki.aquasoft.de/wiki/index.php?title=Leinwandobjekt&diff=788
Leinwandobjekt
2012-08-21T13:03:47Z
<p>Carsten: </p>
<hr />
<div>Das Leinwandbjekt ist vom Typ '''ICanvas''' und leitet von '''[[ISlideShowObject]]''' ab. Es bietet die Möglichkeit, einfache geometrische Formen zeichnen zu lassen.<br />
<br />
<code><br />
ICanvas '''inherits from''' [[ISlideShowObject]]<br />
function GetWidth: Integer;<br />
procedure SetWidth(const Value: Integer); <br />
function GetHeight: Integer;<br />
procedure SetHeight(const Value: Integer); <br />
procedure SetBrush(Color: Integer); <br />
procedure SetPen(Color: Integer);<br />
procedure DrawRect(top, left, bottom, right: Integer);<br />
procedure DrawRectF(top, left, bottom, right: Single);<br />
procedure DrawEllipse(top, left, bottom, right: Integer);<br />
procedure DrawBitmap(Bitmap: ICanvas; DTop, DLeft, STop, SLeft, SBottom, SRight: Integer);<br />
procedure DrawPolygon(points: TPointFArray; fillStyle: TFillStyle);<br />
end;<br />
</code><br />
<br />
= Methoden =<br />
<br />
* Objekt-Erzeugung<br />
<code><br />
function CreateBitmapObject: ICanvas;<br />
</code><br />
<br />
* Breite der Leinwand in Pixeln<br />
<code><br />
function GetWidth: Integer;<br />
procedure SetWidth(const Value: Integer);<br />
</code><br />
<br />
<br />
* Höhe der Leinwand in Pixeln<br />
<code> <br />
function GetHeight: Integer;<br />
procedure SetHeight(const Value: Integer);<br />
</code><br />
<br />
<br />
* Füllfarbe setzen, 32Bit [https://de.wikipedia.org/wiki/Farbtiefe_%28Computergrafik%29 Farbtiefe] <br />
<code><br />
procedure SetBrush(Color: Integer);<br />
</code><br />
<br />
<br />
* Linienfarbe setzen, 32Bit Farbtiefe<br />
<code><br />
procedure SetPen(Color: Integer);<br />
</code> <br />
<br />
<br />
* Rechtecke zeichnen, Angabe der oberen, linken, unteren und rechten Begrenzung in Pixeln, Sowohl Single als auch Integer-Werte möglich<br />
<code> <br />
procedure DrawRect(top, left, bottom, right: Integer);<br />
procedure DrawRectF(top, left, bottom, right: Single);<br />
</code><br />
<br />
<br />
* Ellipse zeichnen, Angabe der oberen, linken, unteren und rechten Begrenzung (''BoundingBox'') in Pixeln<br />
<code><br />
procedure DrawEllipse(top, left, bottom, right: Integer);<br />
</code><br />
<br />
<br />
* Ziehe Kreis vom Mittelpunkt unter Angabe des Raduis auf<br />
<code> <br />
procedure DrawCircleCenter(centerX, centerY, radius: Integer);<br />
</code><br />
<br />
<br />
* Passe maximalen Kreis in angegebene BoundingBox ein<br />
<code><br />
procedure DrawCircle(top, left, bottom, right: Integer);<br />
</code><br />
<br />
<br />
* Zeichne anderes Bild oder einen Ausschnitt dessen auf Leinwand<br />
** '''Bitmap''': Anderes Leinwandobjekt<br />
** '''DTop''', '''DLeft''': Linke, obere Koordinate der aktuellen Leinwand. Linke obere Ecke des zu zeichnenden Objektes wird dort liegen<br />
** '''STop''', '''SLeft''', '''SBottom''', '''SRight''': Ausschnitt des zu zeichnenden Bildes<br />
<code> <br />
procedure DrawBitmap(Bitmap: ICanvas; DTop, DLeft, STop, SLeft, SBottom, SRight: Integer);<br />
</code> <br />
<br />
<br />
* Zeichne Polygone<br />
** '''Points''': array of TPointF, Liste von Punkten<br />
*** TPointF kann mittels TPointF.Create(X, Y) für X, Y als Single angelegt werden<br />
** '''FillStyle''': ''OddEven'' oder ''Outer'', Füllmethode <br />
<code><br />
procedure DrawPolygon(points: TPointFArray; fillStyle: TFillStyle);<br />
</code><br />
<br />
[[Kategorie:Scripting-API]]</div>
Carsten
https://wiki.aquasoft.de/wiki/index.php?title=Gallery&diff=663
Gallery
2012-08-13T11:59:49Z
<p>Carsten: /* Optionen */</p>
<hr />
<div>''ImageComboBox'' ist eine möglicher Wert, den das '''Type'''-Element des [[Dokumentation der GUI-API|GUI-Strings]] erhalten kann. Es wird eine aufklappbare Liste erzeugt, die Bilder enthalten.<br />
= Optionen =<br />
* "Styles": Pfad zu den einzufügenden Bildern, Dieser kann auch relativ zum Diashow Presets Ordner sein. Datentyp: String<br />
<br />
= Beispiel =<br />
<code><br />
{<br />
"Key" : "ImgComboBox1",<br />
"Type" : "ImageComboBox",<br />
"Caption" : "MyImgComboBox",<br />
"Options" :<br />
{<br />
"Styles" : "C:\Temp\MyImgCmbStyles\",<br />
}<br />
}<br />
</code><br />
<br />
[[Kategorie:Scripting-API]]</div>
Carsten
https://wiki.aquasoft.de/wiki/index.php?title=Gallery&diff=658
Gallery
2012-08-13T11:57:11Z
<p>Carsten: /* Beispiel */</p>
<hr />
<div>''ImageComboBox'' ist eine möglicher Wert, den das '''Type'''-Element des [[Dokumentation der GUI-API|GUI-Strings]] erhalten kann. Es wird eine aufklappbare Liste erzeugt, die Bilder enthalten.<br />
= Optionen =<br />
* "Styles": Pfad zu den einzufügenden Bildern, Datentyp: String<br />
<br />
= Beispiel =<br />
<code><br />
{<br />
"Key" : "ImgComboBox1",<br />
"Type" : "ImageComboBox",<br />
"Caption" : "MyImgComboBox",<br />
"Options" :<br />
{<br />
"Styles" : "C:\Temp\MyImgCmbStyles\",<br />
}<br />
}<br />
</code><br />
<br />
[[Kategorie:Scripting-API]]</div>
Carsten