3.1.2 文本顯示API 主要的文本顯示API如下:
l void GUI_DispChar(U16 c):在當前視窗的當前的文本位置使用當前字型顯示一個字元;如果字型不支援,則不會顯示;
l void GUI_DispCharAt(U16 c, I16P x, I16P y):在當前視窗的指定文本位置使用當前字型顯示一個字元;如果字型不支援,則不會顯示。指定的座標為顯示的字元的左上方座標;
l void GUI_DispChars(U16 c, int Cnt):在當前視窗的當前的文本位置使用當前字型顯示Cnt個同一字元;如果字型不支援,則不會顯示;
l void GUI_DispNextLine(void):移動游標至下一行行首,相當於換行;
l void GUI_DispString(const char GUI_FAR *s):在當前視窗的當前的文本位置使用當前字型顯示一個字串,可支援’\n’控制字元;如果字型不支援,則不會顯示;
l void GUI_DispStringLen(const char GUI_FAR *s, int Len); 在當前視窗的當前的文本位置使用當前字型顯示一個字元;如果字型不支援,則不會顯示.如果字串長度較短,以空格填充,否則將只顯示一部分;
l void GUI_DispStringAt(const char GUI_FAR *s, int x, int y):在當前視窗的指定的文本位置使用當前字型顯示一個字串,可支援’\n’控制字元;如果字型不支援,則不會顯示;
l GUI_DispStringAtCEOL():顯示字串,並清除至顯示串尾至對應行行末的顯示內容;
l void GUI_DispStringHCenterAt(const char GUI_FAR *s, int x, int y): 在當前視窗的以(x,y)為橫向置中的位置用當前字型顯示一個字串(文本置中顯示);如果字型不支援,則不會顯示;
l void GUI_DispStringInRect(const char GUI_FAR *s, const GUI_RECT *pRect, int Align):在在當前視窗中指定的矩形框內以當前字型顯示一個字串.。座標的基準為字串中部位置。對齊Align可選值為:
u GUI_TA_TOP, GUI_TA_BOTTOM, GUI_TA_VCENTER for vertical alignment.;
u GUI_TA_LEFT, GUI_TA_RIGHT, GUI_TA_HCENTER for horizontal alignment。
選擇在矩形框內的對齊。如果矩形框太小,則有可能無法顯示所有內容。
l void GUI_DispStringInRectEx(const char GUI_UNI_PTR *s,GUI_RECT* pRect,int TextAlign,int MaxLen,const GUI_ROTATION * pLCD_Api); 在在當前視窗中指定的矩形框內以當前字型顯示一個字串.MaxLen-最大字串長度。pLCD_Api取值GUI_ROTATE_0,GUI_ROTATE_CCW順時針旋轉90度。
註:上面的API函數主要可分為幾類:單個字元的顯示、換行、字串的普通顯示、矩形框內的字串顯示。附加的功能是設計顯示對齊、文本樣式。 3.1.3 文字模式的選擇 1. 支援四種文字模式
l GUI_TEXTMODE_NORMAL:普通文字模式,寫入文本將覆蓋原有LCD上的點;
l GUI_TEXTMODE_REVERSE:反轉模式,顯示的文本顏色將反轉;前景色彩與背景色反轉;
註:這個暫不清楚功能如何。
l GUI_TEXTMODE_TRANS:透明模式,寫入文本將在原有的圖形頂層顯示;
l GUI_TEXTMODE_XOR:異或模式。
註:這個暫不清楚功能如何。 2. 文字模式相關API
l int GUI_GetTextMode(void):擷取顯示的文字模式;
l int GUI_SetTextMode(int TextMode):設定顯示的文字模式;
l char GUI_SetTextStyle(char Style):設定顯示的文本樣式,主要樣式有:
n GUI_TS_NORMAL;
n GUI_TS_UNDERLINE;
n GUI_TS_STRIKETHRU;
n GUI_TS_OVERLINE。
註:文本樣式,有意思。 3.1.4 文本對齊:
l int GUI_GetTextAlign(void):擷取文本對齊;
l int GUI_SetTextAlign(int TextAlign):設定文本的對齊;主要對齊:
n GUI_TA_LEFT-GUI_TA_HCENTER-GUI_TA_RIGHT;
n GUI_TA_TOP-GUI_TA_VCENTER-GUI_TA_BOTTOM。
l void GUI_SetLBorder(int x):設定顯示的左邊距。
註:這個應該是設定了變數,然後在調用顯示函數時使用。對齊應該是用於顯示函數參數包含指定座標的函數,如GUI_DispStringAt()。相應的座標指定顯示對齊用的基準座標。見程式清單3.1中的靠左對齊與置中對齊效果。 3.1.5 當前文本位置:
每個任務都對應著一個文本位置,位置相對於視窗的(0,0)座標而言。用於決定輸出文本的當前位置。
l char GUI_GotoXY(int x, int y);
l char GUI_GotoX(int x);
l char GUI_GotoY(int y);
l int GUI_GetDispPosX(void);
l int GUI_GetDispPosY(void)。
註:我覺得這裡的文本顯示位置應該是相對於的使用中視窗而言,不是相對於整個液晶屏。當輸入一個字元時,顯示的起始位置對應於字模映像的左上方的座標。 3.1.6 視窗的完全與部分清除
l void GUI_Clear(void):清除當前視窗。如果沒有指定當前視窗,則清除整個螢幕;
l void GUI_DispCEOL(void):從當前視窗的當前位置以當前字型的高度清除文本至當前行行尾。