====== Vega.Types — Punkt, Größe, Rechteck, Farbe ====== Die Werttypen, auf denen alles andere aufsetzt. Diese Unit importiert **nichts** — sie ist die Wurzel des Abhängigkeitsbaums, und jede andere Vega-Unit hängt direkt oder mittelbar an ihr. Quelldatei: ''Vega/Types.lyx'' → [[lyx_-_programmiersprache:vega:units|Alle Units]] · [[lyx_-_programmiersprache:vega:controls|Alle Steuerelemente]] · [[lyx_-_programmiersprache:vega|Vega VCL]] ---- ===== Typaliase ===== ^ Name ^ Ist ^ Zweck ^ | ''TPoint'' | ''struct { X: int64; Y: int64 }'' | Ein Punkt in Pixeln | | ''TSize'' | ''struct { CX: int64; CY: int64 }'' | Eine Größe in Pixeln | | ''TRect'' | ''struct { Left: int64; Top: int64; Right: int64; Bottom: int64 }'' | Ein Rechteck; ''Right'' und ''Bottom'' liegen **außerhalb** der Fläche | | ''TColor'' | ''int64'' | Farbe als Zahl, 8 Bit je Kanal plus Alpha | ===== Aufzählungen ===== ^ Enum ^ Werte ^ Zweck ^ | ''TAlign'' | ''AL_NONE'' (0), ''AL_TOP'' (1), ''AL_BOTTOM'' (2), ''AL_LEFT'' (3), ''AL_RIGHT'' (4), ''AL_CLIENT'' (5) | Ausrichtung eines Kindes im Elternteil | ===== Konstanten ===== ^ Name ^ Typ ^ Wert ^ Bedeutung ^ | ''DOCK_NONE'' | [[lyx_-_programmiersprache:sprache:datentypen#1_ganzzahl-typen_signiert|int64]] | ''0'' | Andockstelle: nirgends | | ''DOCK_TOP'' | [[lyx_-_programmiersprache:sprache:datentypen#1_ganzzahl-typen_signiert|int64]] | ''1'' | Andockstelle: oben | | ''DOCK_BOTTOM'' | [[lyx_-_programmiersprache:sprache:datentypen#1_ganzzahl-typen_signiert|int64]] | ''2'' | Andockstelle: unten | | ''DOCK_LEFT'' | [[lyx_-_programmiersprache:sprache:datentypen#1_ganzzahl-typen_signiert|int64]] | ''3'' | Andockstelle: links | | ''DOCK_RIGHT'' | [[lyx_-_programmiersprache:sprache:datentypen#1_ganzzahl-typen_signiert|int64]] | ''4'' | Andockstelle: rechts | | ''DOCK_FILL'' | [[lyx_-_programmiersprache:sprache:datentypen#1_ganzzahl-typen_signiert|int64]] | ''5'' | Andockstelle: ganze Fläche | | ''VEGA_RESIZE_TOPLEFT'' | [[lyx_-_programmiersprache:sprache:datentypen#1_ganzzahl-typen_signiert|int64]] | ''0'' | Ziehgriff oben links | | ''VEGA_RESIZE_TOP'' | [[lyx_-_programmiersprache:sprache:datentypen#1_ganzzahl-typen_signiert|int64]] | ''1'' | Ziehgriff oben | | ''VEGA_RESIZE_TOPRIGHT'' | [[lyx_-_programmiersprache:sprache:datentypen#1_ganzzahl-typen_signiert|int64]] | ''2'' | Ziehgriff oben rechts | | ''VEGA_RESIZE_RIGHT'' | [[lyx_-_programmiersprache:sprache:datentypen#1_ganzzahl-typen_signiert|int64]] | ''3'' | Ziehgriff rechts | | ''VEGA_RESIZE_BOTTOMRIGHT'' | [[lyx_-_programmiersprache:sprache:datentypen#1_ganzzahl-typen_signiert|int64]] | ''4'' | Ziehgriff unten rechts | | ''VEGA_RESIZE_BOTTOM'' | [[lyx_-_programmiersprache:sprache:datentypen#1_ganzzahl-typen_signiert|int64]] | ''5'' | Ziehgriff unten | | ''VEGA_RESIZE_BOTTOMLEFT'' | [[lyx_-_programmiersprache:sprache:datentypen#1_ganzzahl-typen_signiert|int64]] | ''6'' | Ziehgriff unten links | | ''VEGA_RESIZE_LEFT'' | [[lyx_-_programmiersprache:sprache:datentypen#1_ganzzahl-typen_signiert|int64]] | ''7'' | Ziehgriff links | | ''VEGA_DRAG_MOVE'' | [[lyx_-_programmiersprache:sprache:datentypen#1_ganzzahl-typen_signiert|int64]] | ''8'' | Kein Griff — das Fenster wird verschoben | | ''VEGA_DBLCLICK_MS'' | [[lyx_-_programmiersprache:sprache:datentypen#1_ganzzahl-typen_signiert|int64]] | ''400'' | Längster Abstand zweier Klicks, die als Doppelklick gelten | | ''VEGA_DRAG_THRESHOLD'' | [[lyx_-_programmiersprache:sprache:datentypen#1_ganzzahl-typen_signiert|int64]] | ''4'' | Pixel, die der Zeiger wandern muss, bevor aus dem Drücken ein Ziehen wird | | ''DM_MANUAL'' | [[lyx_-_programmiersprache:sprache:datentypen#1_ganzzahl-typen_signiert|int64]] | ''0'' | Ziehen beginnt erst auf ''BeginDrag()'' | | ''DM_AUTOMATIC'' | [[lyx_-_programmiersprache:sprache:datentypen#1_ganzzahl-typen_signiert|int64]] | ''1'' | Ziehen beginnt von selbst, sobald die Schwelle überschritten ist | | ''ANCHOR_LEFT'' | [[lyx_-_programmiersprache:sprache:datentypen#1_ganzzahl-typen_signiert|int64]] | ''1'' | Anker links (Bitmaske) | | ''ANCHOR_TOP'' | [[lyx_-_programmiersprache:sprache:datentypen#1_ganzzahl-typen_signiert|int64]] | ''2'' | Anker oben (Bitmaske) | | ''ANCHOR_RIGHT'' | [[lyx_-_programmiersprache:sprache:datentypen#1_ganzzahl-typen_signiert|int64]] | ''4'' | Anker rechts (Bitmaske) | | ''ANCHOR_BOTTOM'' | [[lyx_-_programmiersprache:sprache:datentypen#1_ganzzahl-typen_signiert|int64]] | ''8'' | Anker unten (Bitmaske) | ===== Freie Funktionen ===== ^ Signatur ^ Zweck ^ | ''Point(x: int64, y: int64): TPoint'' | Punkt bauen | | ''Size(cx: int64, cy: int64): TSize'' | Größe bauen | | ''Rect(left: int64, top: int64, right: int64, bottom: int64): TRect'' | Rechteck aus vier Kanten bauen | | ''Bounds(x: int64, y: int64, w: int64, h: int64): TRect'' | Rechteck aus Lage und Größe bauen — der übliche Weg | | ''RectWidth(r: TRect): int64'' | Breite ''Right - Left'' | | ''RectHeight(r: TRect): int64'' | Höhe ''Bottom - Top'' | | ''RectIsEmpty(r: TRect): bool'' | Keine Fläche (Breite oder Höhe ist 0 oder negativ) | | ''RectContains(r: TRect, x: int64, y: int64): bool'' | Liegt der Punkt im Rechteck | | ''RectIntersect(a: TRect, b: TRect): TRect'' | Schnittmenge zweier Rechtecke; leer, wenn sie sich nicht berühren | | ''RectUnion(a: TRect, b: TRect): TRect'' | Kleinstes Rechteck, das beide umschließt | | ''RectOffset(r: TRect, dx: int64, dy: int64): TRect'' | Rechteck verschieben | | ''RectInflate(r: TRect, dx: int64, dy: int64): TRect'' | Rechteck an allen Seiten aufweiten (negativ: schrumpfen) | | ''RGBA(r: int64, g: int64, b: int64, a: int64): TColor'' | Farbe aus Rot, Grün, Blau und Deckkraft | | ''RGB(r: int64, g: int64, b: int64): TColor'' | Farbe aus Rot, Grün, Blau, voll deckend | | ''Gray(v: int64): TColor'' | Grauwert, dreimal derselbe Kanal | | ''ColorR(c: TColor): int64'' | Rotanteil | | ''ColorG(c: TColor): int64'' | Grünanteil | | ''ColorB(c: TColor): int64'' | Blauanteil | | ''ColorA(c: TColor): int64'' | Deckkraft | | ''ColorWithAlpha(c: TColor, a: int64): TColor'' | Dieselbe Farbe mit anderer Deckkraft | | ''ClBlack(): TColor'' | Schwarz | | ''ClWhite(): TColor'' | Weiß | | ''ClRed(): TColor'' | Rot | | ''ClGreen(): TColor'' | Grün | | ''ClBlue(): TColor'' | Blau | | ''ClYellow(): TColor'' | Gelb | | ''ClGray(): TColor'' | Grau | | ''ClSilver(): TColor'' | Hellgrau | | ''ClTransparent(): TColor'' | Vollständig durchsichtig | ---- ===== Zu beachten ===== * ''Right'' und ''Bottom'' zählen **nicht** mehr zur Fläche: ''Bounds(0, 0, 10, 10)'' ergibt ''Right = 10'', und Pixel 10 gehört schon nicht mehr dazu. ''RectWidth'' rechnet deshalb ohne ''+1''. * ''Bounds'' ist beim Schreiben von Layoutcode fast immer die richtige Wahl — ''Rect'' verleitet dazu, Breite statt Kante einzusetzen. * ''TColor'' ist eine gewöhnliche ''int64''; Farben lassen sich vergleichen und in Feldern ablegen, ohne Umweg über ein Objekt. * Die ''ANCHOR_*''-Werte sind eine **Bitmaske** und werden mit ''|'' verbunden, die ''AL_*''-Werte dagegen sind eine Aufzählung — genau einer davon gilt. ---- ===== Abhängigkeiten ===== **Importiert:** keine Vega-Unit **Wird importiert von:** [[lyx_-_programmiersprache:vega:units:actions|Vega.Actions]], [[lyx_-_programmiersprache:vega:units:backend|Vega.Backend]], [[lyx_-_programmiersprache:vega:units:backend_lyxcall|Vega.Backend.LyxCall]], [[lyx_-_programmiersprache:vega:units:backend_lyxos|Vega.Backend.LyxOS]], [[lyx_-_programmiersprache:vega:units:backend_null|Vega.Backend.Null]], [[lyx_-_programmiersprache:vega:units:backend_win32|Vega.Backend.Win32]], [[lyx_-_programmiersprache:vega:units:backend_wincall|Vega.Backend.WinCall]], [[lyx_-_programmiersprache:vega:units:backend_x11|Vega.Backend.X11]], [[lyx_-_programmiersprache:vega:units:calendar|Vega.Calendar]], [[lyx_-_programmiersprache:vega:units:canvas|Vega.Canvas]], [[lyx_-_programmiersprache:vega:units:chrome|Vega.Chrome]], [[lyx_-_programmiersprache:vega:units:colorctrls|Vega.ColorCtrls]], [[lyx_-_programmiersprache:vega:units:colordlg|Vega.ColorDlg]], [[lyx_-_programmiersprache:vega:units:control|Vega.Control]], [[lyx_-_programmiersprache:vega:units:datetimepicker|Vega.DateTimePicker]], [[lyx_-_programmiersprache:vega:units:dialogs|Vega.Dialogs]], [[lyx_-_programmiersprache:vega:units:dispatch|Vega.Dispatch]], [[lyx_-_programmiersprache:vega:units:editbtn|Vega.EditBtn]], [[lyx_-_programmiersprache:vega:units:edits|Vega.Edits]], [[lyx_-_programmiersprache:vega:units:events|Vega.Events]], [[lyx_-_programmiersprache:vega:units:extctrls|Vega.ExtCtrls]], [[lyx_-_programmiersprache:vega:units:extras|Vega.Extras]], [[lyx_-_programmiersprache:vega:units:filedlg|Vega.FileDlg]], [[lyx_-_programmiersprache:vega:units:files|Vega.Files]], [[lyx_-_programmiersprache:vega:units:font|Vega.Font]], [[lyx_-_programmiersprache:vega:units:fontdlg|Vega.FontDlg]], [[lyx_-_programmiersprache:vega:units:forms|Vega.Forms]], [[lyx_-_programmiersprache:vega:units:grids|Vega.Grids]], [[lyx_-_programmiersprache:vega:units:hints|Vega.Hints]], [[lyx_-_programmiersprache:vega:units:images|Vega.Images]], [[lyx_-_programmiersprache:vega:units:layout|Vega.Layout]], [[lyx_-_programmiersprache:vega:units:lfmclasses|Vega.LfmClasses]], [[lyx_-_programmiersprache:vega:units:lfmload|Vega.LfmLoad]], [[lyx_-_programmiersprache:vega:units:lfmparse|Vega.LfmParse]], [[lyx_-_programmiersprache:vega:units:lfmsave|Vega.LfmSave]], [[lyx_-_programmiersprache:vega:units:lfmvalue|Vega.LfmValue]], [[lyx_-_programmiersprache:vega:units:listctrls|Vega.ListCtrls]], [[lyx_-_programmiersprache:vega:units:listview|Vega.ListView]], [[lyx_-_programmiersprache:vega:units:maskedit|Vega.MaskEdit]], [[lyx_-_programmiersprache:vega:units:menus|Vega.Menus]], [[lyx_-_programmiersprache:vega:units:picture|Vega.Picture]], [[lyx_-_programmiersprache:vega:units:stdctrls|Vega.StdCtrls]], [[lyx_-_programmiersprache:vega:units:style|Vega.Style]], [[lyx_-_programmiersprache:vega:units:theme|Vega.Theme]], [[lyx_-_programmiersprache:vega:units:themefile|Vega.ThemeFile]], [[lyx_-_programmiersprache:vega:units:themes|Vega.Themes]], [[lyx_-_programmiersprache:vega:units:trees|Vega.Trees]], [[lyx_-_programmiersprache:vega:units:truetype|Vega.TrueType]], [[lyx_-_programmiersprache:vega:units:valuelist|Vega.ValueList]] Letzte Aktualisierung: 2026-08-20 — Klassen, Aufzählungen, Konstanten und freie Funktionen maschinell aus ''Vega/Types.lyx'' erhoben.