# triangle

### Funkce

Jednoduchý grafický symbol - trojúhelník, kterému lze pomocí nativních procedur nastavovat barvu, velikost, pozici a otočení.

### Syntax

      triangle triangle_name;
        rem = string;
        bubble = string;
        owner = owner_name;
        position = integer, integer, integer, integer;
        win_disable = [identifier, . . . ];
        win_title = string;
        blink = boolean_expression;
        blink_rate = identifier;
        mode = identifier;
        side_mode = identifier;
        colors
          interior = color;
          border = color;
        end_colors;
        blink_colors
          interior = color;
          border = color;
        end_blink_colors;
      end_triangle;

### Specifické parametry přístroje

- blink
  Parametr uvádí logický výraz, jehož výsledek rozhoduje o tom, bude-li přístroj blikat -- tedy periodicky se překreslovat se střídavým použitím barevných sad colors a blink_colors. Po zastavení blikání se přístroj vždy vrátí do základní barevné sady colors.
- blink_rate
  Určuje frekvenci blikání přístroje uvedením jednoho z identifikátorů:
  slow - blikání s periodou 2 sekundy
  normal - blikání s periodou 1 sekunda
  quick - blikání s periodou 0.5 sekundy
- mode
  Určuje grafickou podobu přístroje uvedením jednoho z názvů módu:
  interior_and_border - vyplněný trojúhelník s okrajem
  interior_only - vyplněný trojúhelník bez okraje
  border_only - průhledný trojúhelník s okrajem
- side_mode
  Určuje pozici trojúhelníka v ploše přístroje uvedením jednoho z názvů módu:
  left - trojúhelník se základnou vlevo
  right - trojúhelník se základnou vpravo
  up - trojúhelník se základnou nahoře
  down - trojúhelník se základnou dole
- colors
  Seznam prvků přístroje, kterým lze nastavit barvu:
  interior - barva výplně
  border - barva okraje
- blink_colors
  Seznam prvků přístroje, kterým lze nastavit alternativní barvu:
  interior - barva výplně
  border - barva okraje

Implicitně jsou nastaveny parametry:

       position = 0, 0, 40, 40;
       mode = interior_and_border;
       side_mode = down;

### Příklad

Příklad nastavení parametrů přístroje triangle:

      triangle znak_1;
        owner = panel_1;
        position = 25, 15, 180, 120;
      end_triangle;

### Nativní procedury přístroje triangle

    MoveTo( XPosition, YPosition : real )

Posunutí přístroje na pozici x, y. Velikosti hodnot x a y jsou v bodech obrazovky.

    NewRect( XPosition, YPosition, WPosition, DPosition : real )

Zavoláním metody je možné přístroji změnit současně jeho pozici a velikost. Hodnoty x, y, width, a depth jsou v bodech obrazovky.

    Hide()

Skrytí viditelného přístroje.

    Show()

Zobrazení skrytého přístroje.

    SetInteriorColor( Red, Green, Blue : real )

Nastavení barvy pro výplň symbolu. Čtyřiadvacetibitová barva je zadána v podobě red, green a blue složky, kdy každá může nabývat hodnot od 0 do 255.

    SetBorderColor( Red, Green, Blue : real )

Nastavení barvy pro okraj symbolu. Čtyřiadvacetibitová barva je zadána v podobě red, green a blue složky, kdy každá může nabývat hodnot od 0 do 255.

    Blink( BlinkingActive : boolean )

Zapnutí a vypnutí blikání. Voláním procedury Blink s parametrem BlinkingActive nastaveným na true začne přístroj blikat (tj. střídavě se překreslovat s použitím barevných sad colors a blink_colors). Blikání je možno zastavit voláním procedury Blink s parametrem BlinkingActive nastaveném na hodnotu false. Frekvence blikání je dána parametrem přístroje blink_rate.

    ToggleBlink()

Přepnutí vzhledu přístroje do alternativní sady barev, tedy z colors do blink_colors nebo naopak podle okamžitého stavu. Po zastavení blikání se přístroj vždy vrátí do standardní barevné sady bez ohledu na předchozí volání procedury ToggleBlink.

### Událostní procedury přístroje triangle

Přístroj může volat standardní událostní procedury:

    OnActivate()
    OnMouseDown( MouseX, MouseY : integer; LeftButton, MiddleButton, RightButton : boolean )
    OnMouseDoubleClick( MouseX, MouseY : integer; LeftButton, MiddleButton, RightButton : boolean )
    OnMouseUp( MouseX, MouseY : integer; LeftButton, MiddleButton, RightButton : boolean )
    OnMouseMove( MouseX, MouseY : integer; LeftButton, MiddleButton, RightButton : boolean )
    OnKeyDown( Character : cardinal )
    OnKeyRepeat( Character : cardinal )
    OnKeyUp( Character : cardinal )
    OnSelect()
    OnDeselect()
    OnShow()
    OnHide()
    OnNewPosition( RectX, RectY, RectW, RectD : integer )
    OnWindowMinimize()
    OnWindowMaximize()
    OnWindowRestore( WasMinimized, WasMaximized : boolean )
    OnWindowClose()

### Specifické událostní procedury přístroje triangle

Přístroj nemá specifické událostní procedury.