Hilfsfunktionen, Beschreibung im Datenblatt des FT800 Function Tag(Track : Byte) : LongWord; Function VERTEX2F(x, y : Word) : LongWord; Function VERTEX2II(x, y : Word; Handle, Cell : Byte) : LongWord; Function PrimitiveBegin(Value : Byte) : LongWord; Function POINT_SIZE(r : Word) : LongWord; Function CLEAR_COLOR_RGB(r, g, b : Byte) : LongWord; Function COLOR_RGB(r, g, b : Byte) : LongWord; Function BITMAP_HANDLE(Handle : Byte) : LongWord; Function BITMAP_SOURCE(Source : LongWord) : LongWord; Function BITMAP_LAYOUT(Format : Byte; LineStride : Word; Height : Word) : LongWord; Function BITMAP_SIZE(Filter, WrapX, WrapY : Boolean; Width, Height : Word) : LongWord; Function BITMAP_TRANSFORM_A(Value:word):LongWord; Function BITMAP_TRANSFORM_B(Value:word):LongWord; Function BITMAP_TRANSFORM_C(Value:Longword):LongWord; Function BITMAP_TRANSFORM_D(Value:word):LongWord; Function BITMAP_TRANSFORM_E(Value:word):LongWord; Function BITMAP_TRANSFORM_F(Value:Longword):LongWord; Function LINE_WIDTH(Width : Word) : LongWord; Function RGBTOLong(r, g, b : Byte) : LongWord; Function CLEAR(C, S, T : Boolean) : LongWord; Procedure FT800_WriteCMDEnd; Procedure FT800_CMDUpdate; Procedure FT800_CheckWritePointer; Procedure FT800_IncWritePointer(Size : LongWord); Function FT800_CheckCMDBufferSizeAndWait(Size : Word) : Integer; Function FT800_CheckCMDBufferSize(Size : Word) : Boolean; Function CheckFreeSpace : Word; Procedure FT800_WriteCMD32(Data : LongWord); Procedure FT800_WriteCMD16(Data : Word); Procedure FT800_WriteCMD8(Data : Byte); Procedure FT800_Write32(Adr, Data : LongWord); Procedure FT800_Write16(Adr : LongWord; Data : Word); Procedure FT800_Write8(Adr : LongWord; Data : Byte); Function FT800_SwapDisplaylist : Boolean; Procedure FT800_FillMemory(Adresse,Count:LongWord); Füllte den GrafikRAM des FT800 ab Adresse mit der Laenge Count mit dem Wert 0 Wenn ein 3,5 oder 4,3 (5) Zoll-Display benutzt wird initializiert diese Funktion den FT800 Function FT800_BootupConfig:Boolean; {$ELSIFDEF EVE_userDef} Wird ein Userdefiniertes Display verwendet, wird diese Funktion benutzt. Dazu muß der Record TFT800Config vom User ausgefüllt werden. Function FT800_BootupConfig(LCDConfig:TFT800Config):Boolean; {$ENDIF} Function FT800_WaitCmdFIFOIsempty:Boolean; Wartet bis die Kommandliste abgearbeitet ist. Procedure FT800_Updatecmdfifo(count:Word); Führt ein Update der Kommandliste abgearbeitet ist. Function FT800_CmdFIFOIsReady:Boolean; Überprüft od die Kommandlist bereit ist. Procedure FT800_WriteCMDStart; Starte das schreiben in die Kommandliste Function FT800_InitScreen(ScreenColor:LongWord): Boolean; mit dieser Funktion wird ein Fenster bekonnen und muß unbedingt mit der Funktion FT800_SwapScreen beendet werden, alle Befehle dazwischen werden sofort nach der Abarbeitung der Kommandliste angezeigt. Procedure FT800_SwapScreen; Function FT800_SetBackGroundColor(r, g, b : Byte) : Boolean; Setzt die Hintergrundfarbe des Fenster Function FT800_SetColor(r, g, b : Byte) : Boolean; Setzt die Farbe des nächsten Controls Function FT800_SetVGColor(r, g, b : Byte) : Boolean; Setzt die Vordergrundfarbe des nächsten Controls Function FT800_SetBGColor(r, g, b : Byte) : Boolean; Setzt die Hintergrundfarbe des nächsten Controls Function FT800_DrawButton (x, y, w, h, Font, options : Word; Caption : String[16]; Track : Byte) : Boolean; Zeichnet ein Button an x,y mit der Breite w und der Höhe h, der Beschriftung Caption, Track ist die ID des Controls für den Touch Function FT800_DrawToggle (x, y, w, Font, option, State : Word; onCaption, offCaption : String[16]; Track : Byte) : Boolean; Zeichnet ein Toggle-Button an x,y mit der Breite w, der Beschriftung ON/OFF Caption, Track ist die ID des Controls für den Touch, die Höhe wird durch den Font bestimmt. Function FT800_DrawKey (x, y, w, h, Font, options : Word; Caption : String[16]; Track : Byte) : Boolean; Zeichnet ein Anzahl von Buttons an x,y mit der Breite w, die Anzahl der Buttons wird durch die Anzahl der Buchstaben der Caption bestimmt. Track ist die ID des Controls für den Touch, Function FT800_DrawSpinner (x, y, Style, Scale : Word) : Boolean; Zeichnet ein Waitspinner Function FT800_DrawClock (x, y, r, options : Word; h, m, S, ms : Byte; Track : Byte) : Boolean; Zeichnet eine Uhr Function FT800_DrawDial (x, y, r, options, Value : Word; Track : Byte) : Boolean; Zeichnet ein Dial-Knopf Function FT800_DrawGauge (x, y, r, options, major, minor, Value, Range : Word; Track : Byte) : Boolean; Zeichnet eine Gauge Function FT800_DrawLine (x1, y1, x2, y2 : Word; Width : Word) : Boolean; Zeichnet eine Linie Function FT800_DrawPoint (x, y, d : Word; r, g, b : Byte) : Boolean; Zeichnet einen Kreis Function FT800_DrawRect (x1, y1, x2, y2 : Word; Width : Word) : Boolean; Zeichnet ein Rechteck Function FT800_DrawSlider (x, y, w, h, opt, Value, Range : Word; Track : Byte) : Boolean; Zeichnet einen Slider Function FT800_DrawProgress (x, y, w, h, opt, Value, Range : Word; Track : Byte) : Boolean; Zeichnet eine Progressbar Function FT800_DrawScrollbar(x, y, w, h, opt, Value, Size, Range : Word; Track : Byte) : Boolean; Zeichent eine Scrollbar Function FT800_DrawText (x, y, Font, option : Word; Text : String[32]) : Boolean; Zeichnet einen Text Function FT800_DrawNumber (x, y, Font, option : Word; Value : LongInt) : Boolean; Zeichnet eine Nummer Procedure FT800_SetRotateDisplay(Value:Boolean); Dreht die Anzeige um 180 Grad Function FT800_GetRotateDisplay:Boolean; Fragt die Drehung des Display ab Procedure FT800_TouchCalibrate(Value : String[32]); Ruft die Kalibrierung des Touches auf. Function FT800_IsTouchCalibrated : Boolean; Fragt ab ob der Touch kalibriert ist. Procedure FT800_GetTouchCalibrated(var Temp : TCalibArray); Holt die Werte der Kalibrierung aus dem FT800 Procedure FT800_SetTouchCalibrated(Temp : TCalibArray); Setzt die Werte der Kalibrierung aus dem FT800 Function FT800_GetTouchTrack : Byte; Abfrage des angewählten Controls per Touch Procedure FT800_LoadFontToMem(Source : Pointer; Size : Word; Dest : LongWord); Lädt eine User-Font in den Speicher des FT800 Function FT800_LoadStreamToMem(Source : Pointer; Size : Word; Dest : LongWord) : LongWord; Lädt eine ZLib Stream in den Speicher des FT800 Function FT800_LoadJPGToMem(Source : Pointer; Size : Word; PicType : Byte; Dest : LongWord) : Boolean; Läd eine JPG-Datei in den Speicher Procedure FT800_LoadJPGtoDisplay(Handle:Byte;Source : LongWord; Format : Byte; x, y, w, h : Word); Bringt eine im Speicher geladenen JPG-Datei zur Anzeige Procedure FT800_ResetError; Setzt im Fehlerfall die Kommandliste zurück //****************************************************************************** //Hintergrundbeleuchtung Procedure FT800_FadeDisplay(Value, TimeSleep : Byte); Blendet die Hintergrund beleuchtung auf und ab, in Schritten Value in der Zeit TimeSleep per Schritt Procedure FT800_BackLight(Value : Byte); Setzt die Hintergrundbeleuchtung des Displays //****************************************************************************** //Sound Procedure FT800_PlaySound(Note, Effect, Volume : Byte); Spielt eine Note oder Ton ab Procedure FT800_StopSound; Stop das abspielen einer Note. //****************************************************************************** //GPIO Function FT800_GetGPIODir(BitNr:Byte):Boolean; Procedure FT800_SetGPIODir(BitNr:Byte;Value:Boolean); Function FT800_GetGPIOValue(BitNr:Byte):Boolean; Procedure FT800_SetGPIOValue(BitNr:Byte;Value:Boolean); //****************************************************************************** //Alpha Function FT800_SetAlpha(Alpha:Byte):Boolean; //****************************************************************************** //CustomFont Function FT800_SetCustomFont(BitmapHandle:Byte;FontData:TFT_Gpu_Fonts) : Boolean; Diese Funkionen entspechen den oben beschriebenen. Hier braucht sich der User nicht mehr um Farben ets kümmern, das erledigen die Aufrufe intern. Die nötigen Farbanpassungen kann der User in der Unit uFT800Palette, welche im Source vorliegt, anpassen. Function FT800_DrawIconButton_Pal (x, y, w, h:Word; Handle:Byte; Source:LongWord;Format:Byte; Alpha:Byte; Pressed:Boolean; Enable:Boolean; Track : Byte) : Boolean; Function FT800_DrawButton_Pal (x, y, w, h, Font: Word; Caption : String[16]; Alpha:Byte; Pressed:Boolean; Enable:Boolean; Track : Byte) : Boolean; Function FT800_DrawHLButton_Pal (x, y, w, h, Font: Word; Caption : String[16]; Alpha:Byte; Pressed:Boolean; Enable:Boolean; HighLight:Boolean; Track : Byte) : Boolean; Function FT800_DrawToggle_Pal (x, y, w, Font : Word; State:Boolean; onCaption, offCaption : String[16]; Alpha:Byte; Pressed:Boolean; Enable:Boolean; Track : Byte) : Boolean; Function FT800_DrawKey_Pal (x, y, w, h, Font, options : Word; Caption : String[16]; Alpha:Byte; Track : Byte) : Boolean; Function FT800_DrawSpinner_Pal (x, y, Style, Scale : Word; Alpha:Byte) : Boolean; Function FT800_DrawClock_Pal (x, y, r, options : Word; h, m, S, ms : Byte; Alpha:Byte; Pressed:Boolean; Enable:Boolean; Track : Byte) : Boolean; Function FT800_DrawDial_Pal (x, y, r, options, Value : Word; Alpha:Byte; Pressed:Boolean; Enable:Boolean; Track : Byte) : Boolean; Function FT800_DrawGauge_Pal (x, y, r, options, major, minor, Value, Range : Word; Alpha:Byte; Pressed:Boolean; Enable:Boolean; Track : Byte) : Boolean; Function FT800_DrawLine_Pal (x1,y1,x2, y2 : Word; Width : Word; Color:Byte;Alpha:Byte) : Boolean; Function FT800_DrawPoint_Pal (x, y, d : Word; Color : Byte;Alpha:Byte) : Boolean; Function FT800_DrawRect_Pal (x1,y1,x2, y2 : Word; Width : Word; Color:Byte; Alpha:Byte) : Boolean; Function FT800_DrawRectTrack_Pal (x1,y1,x2, y2 : Word; Width : Word; Color:Byte; Alpha:Byte; Track : Byte) : Boolean; Function FT800_DrawSlider_Pal (x, y, w, h, Value, Range : Word; Alpha:Byte; Pressed:Boolean; Enable:Boolean; Track : Byte) : Boolean; Function FT800_DrawProgress_Pal (x, y, w, h, Value, Range : Word; Alpha:Byte; Pressed:Boolean; Enable:Boolean; Track : Byte) : Boolean; Function FT800_DrawScrollbar_Pal (x, y, w, h, opt, Value, Size, Range : Word; Alpha:Byte; Pressed:Boolean; Enable:Boolean; Track : Byte) : Boolean; Function FT800_DrawNumber_Pal (x, y, Font:Word; Signed:Boolean; Alpha:Byte;Value : LongInt) : Boolean; Function FT800_DrawText_Pal (x, y, Font, option : Word; Alpha:Byte; Text : String[32]) : Boolean;