📄 guigdi.h
字号:
T_VOID fnGUI_DrawHVDotLine (T_GUI_HDC hdc, T_WORD x, T_WORD y, T_WORD w_h, T_BOOL H_V);
#define fnGUI_DrawHDotLine(hdc, x, y, w) fnGUI_DrawHVDotLine (hdc, x, y, w, TRUE);
#define fnGUI_DrawVDotLine(hdc, x, y, h) fnGUI_DrawHVDotLine (hdc, x, y, h, FALSE);
T_VOID fnGUI_FillBox (T_GUI_HDC hdc, T_WORD x, T_WORD y, T_WORD w, T_WORD h);
T_VOID fnGUI_FillBoxWithBitmap (T_GUI_HDC hdc, T_WORD x, T_WORD y, T_WORD w, T_WORD h,
T_GUI_pBitmap pBitmap);
T_VOID fnGUI_FillBoxWithBitmapPart (T_GUI_HDC hdc, T_WORD x, T_WORD y, T_WORD w, T_WORD h,
T_WORD bw, T_WORD bh, T_GUI_pBitmap pBitmap, T_WORD xo, T_WORD yo);
T_VOID fnGUI_BitBlt (T_GUI_HDC hsdc, T_WORD sx, T_WORD sy, T_WORD sw, T_WORD sh,
T_GUI_HDC hddc, T_WORD dx, T_WORD dy, T_UWORD dwRop);
T_VOID fnGUI_StretchBlt (T_GUI_HDC hsdc, T_WORD sx, T_WORD sy, T_WORD sw, T_WORD sh,
T_GUI_HDC hddc, T_WORD dx, T_WORD dy, T_WORD dw, T_WORD dh, T_UWORD dwRop);
/****** icon support *******************************************************/
#define HICON_INVALID 0
#ifdef GUI_FILESUPPORT
T_GUI_HICON fnGUI_LoadIconFromFile (T_GUI_HDC hDc, T_UBYTE* filename, T_WORD which);
#endif
#ifdef GUI_MEMORYSUPPORT
T_GUI_HICON fnGUI_LoadIconFromMemory (T_GUI_HDC hDc, T_CONST T_BYTE* pArray, T_WORD which);
#endif
T_GUI_HICON fnGUI_CreateIcon (T_GUI_HDC hDc, T_WORD w, T_WORD h,
T_CONST T_BYTE* AndBits, T_CONST T_BYTE* XorBits, T_WORD ColorNum);
T_BOOL fnGUI_DestroyIcon (T_GUI_HICON hIcon);
T_VOID fnGUI_DrawIcon (T_GUI_HDC hDc, T_WORD x, T_WORD y, T_WORD w, T_WORD h, T_GUI_HICON hIcon);
typedef struct T_GUI_Icon {
T_WORD wWidth;
T_WORD wHeight;
T_VOID* vAndBits;
T_VOID* vXorBits;
}T_GUI_Icon;
typedef T_GUI_Icon* T_GUI_pIcon;
/****** Rectangle support *******************************************************/
T_VOID fnGUI_SetRect (T_GUI_Rect* pRect, T_WORD left, T_WORD top, T_WORD right, T_WORD bottom);
T_VOID fnGUI_SetRectEmpty (T_GUI_Rect* pRect);
T_VOID fnGUI_CopyRect (T_GUI_Rect* pDstRect, T_CONST T_GUI_Rect* pSrcRect);
T_BOOL fnGUI_IsRectEmpty (T_CONST T_GUI_Rect* pRect);
T_BOOL fnGUI_EqualRect (T_CONST T_GUI_Rect* pRect1, T_CONST T_GUI_Rect* pRect2);
T_VOID fnGUI_NormalizeRect (T_GUI_Rect* pRect);
T_BOOL fnGUI_IntersectRect (T_GUI_Rect* pDstRect, T_CONST T_GUI_Rect* pSrcRect1, T_CONST T_GUI_Rect* pSrcRect2);
T_BOOL fnGUI_IsCovered (T_CONST T_GUI_Rect* pRect1, T_CONST T_GUI_Rect* pRect2);
T_BOOL fnGUI_DoesIntersect (T_CONST T_GUI_Rect* pRect1, T_CONST T_GUI_Rect* pRect2);
T_BOOL fnGUI_UnionRect (T_GUI_Rect* pDstRect, T_CONST T_GUI_Rect* pSrcRect1, T_CONST T_GUI_Rect* pSrcRect2);
T_VOID fnGUI_GetBoundRect (T_GUI_pRect pDstRect, T_CONST T_GUI_Rect* pSrcRect1, T_CONST T_GUI_Rect* pSrcRect2);
T_WORD fnGUI_SubtractRect (T_GUI_Rect* pDstRects, T_CONST T_GUI_Rect* pSrcRect1, T_CONST T_GUI_Rect* pSrcRect2);
T_VOID fnGUI_OffsetRect (T_GUI_Rect* pRect, T_WORD x, T_WORD y);
T_VOID fnGUI_InflateRect (T_GUI_Rect* pRect, T_WORD cx, T_WORD cy);
T_VOID fnGUI_InflateRectToPt (T_GUI_Rect* pRect, T_WORD x, T_WORD y);
T_BOOL fnGUI_PtInRect (T_CONST T_GUI_Rect* pRect, T_WORD x, T_WORD y);
#define T_RECTWP(prc) (prc->right - prc->left)
#define T_RECTHP(prc) (prc->bottom - prc->top)
#define T_RECTW(rc) (rc.right - rc.left)
#define T_RECTH(rc) (rc.bottom - rc.top)
/****** System font support *******************************************************/
T_BOOL fnGUI_SetSysType (T_CONST T_UBYTE* type);
T_CONST T_BYTE* fnGUI_GetSysCharset (T_VOID);
T_BOOL fnGUI_DoesSupportCharset (T_CONST T_BYTE* T_BYTEset);
T_BOOL fnGUI_SetSysCharset (T_CONST T_BYTE* T_BYTEset);
T_WORD fnGUI_GetSysCharWidth (T_VOID);
T_WORD fnGUI_GetSysCCharWidth (T_VOID);
T_WORD fnGUI_GetSysCharHeight (T_VOID);
T_VOID fnGUI_GetSysTabbedTextExtent (T_CONST T_BYTE* spText, T_GUI_Extent* pSize);
/* Compatiblity definitions */
#define fnGUI_GetCharWidth fnGUI_GetSysCharWidth
#define fnGUI_GetCCharWidth fnGUI_GetSysCCharWidth
#define fnGUI_GetCharHeight fnGUI_GetSysCharHeight
/* Font support */
#define INV_LOGFONT 0
T_GUI_pLogFont fnGUI_CreateLogFont (T_CONST T_BYTE* type, T_CONST T_BYTE* family,
T_CONST T_BYTE* charset, T_BYTE weight, T_BYTE slant, T_BYTE set_width,
T_BYTE spacing, T_BYTE underline, T_BYTE struckout,
T_WORD size, T_WORD rotation);
T_GUI_pLogFont fnGUI_CreateLogFontIndirect (T_GUI_LogFont* logfont);
T_VOID fnGUI_DestroyLogFont (T_GUI_pLogFont log_font);
T_VOID fnGUI_GetLogFontInfo (T_GUI_HDC hdc, T_GUI_LogFont* log_font);
#define SYSLOGFONT_DEFAULT 0
T_GUI_pLogFont fnGUI_GetSystemFont (T_VOID);
T_GUI_pLogFont fnGUI_GetCurFont (T_GUI_HDC hdc);
T_GUI_pLogFont fnGUI_SelectFont (T_GUI_HDC hdc, T_GUI_pLogFont log_font);
#ifdef _BIG5_SUPPORT
T_VOID fnGUI_Gb2Big(T_UBYTE* dest,T_CONST T_UBYTE* mchar);
T_VOID fnGUI_Unic2Big(T_UBYTE* dest,T_CONST T_UBYTE* mchar,T_UWORD len);
#endif
#ifdef _GB_SUPPORT
T_VOID fnGUI_Big2Gb(T_UBYTE* dest,T_CONST T_UBYTE *mchar);
T_VOID fnGUI_Unic2Gb(T_UBYTE* dest,T_CONST T_UBYTE* mchar,T_UWORD len);
#endif
#ifdef _ToUnic_SUPPORT
T_VOID fnGUI_Gb2Unic(T_UBYTE* dest,T_CONST T_UBYTE* mchar);
T_VOID fnGUI_Big2Unic(T_UBYTE* dest,T_CONST T_UBYTE* mchar);
#endif
/****** text support *******************************************************/
T_WORD fnGUI_GetTextMCharInfo (T_GUI_pLogFont log_font, T_CONST T_BYTE* mstr, T_WORD len,
T_WORD* pos_chars);
T_WORD fnGUI_GetTextWordInfo (T_GUI_pLogFont log_font, T_CONST T_BYTE* mstr, T_WORD len,
T_WORD* pos_words, T_GUI_WordInfo* info_words);
T_WORD fnGUI_GetFirstMCharLen (T_GUI_pLogFont log_font, T_CONST T_BYTE* mstr, T_WORD len);
T_WORD fnGUI_GetFirstWord (T_GUI_pLogFont log_font, T_CONST T_BYTE* mstr, T_WORD len,
T_GUI_WordInfo* word_info);
T_WORD fnGUI_GetTextExtentPoint (T_GUI_HDC hdc, T_CONST T_BYTE* text, T_WORD len, T_WORD max_extent,
T_WORD* fit_chars, T_WORD* pos_chars, T_WORD* dx_chars, T_GUI_Extent* size);
T_WORD fnGUI_GetFontHeight (T_GUI_HDC hdc);
T_WORD fnGUI_GetMaxFontWidth (T_GUI_HDC hdc);
T_VOID fnGUI_GetTextExtent (T_GUI_HDC hdc, T_CONST T_BYTE* spText, T_WORD len, T_GUI_Extent* pSize);
T_WORD fnGUI_GetTextCharacterExtra (T_GUI_HDC hdc);
T_WORD fnGUI_SetTextCharacterExtra (T_GUI_HDC hdc, T_WORD extra);
T_WORD fnGUI_GetTextAboveLineExtra (T_GUI_HDC hdc);
T_WORD fnGUI_SetTextAboveLineExtra (T_GUI_HDC hdc, T_WORD extra);
T_WORD fnGUI_GetTextBellowLineExtra (T_GUI_HDC hdc);
T_WORD fnGUI_SetTextBellowLineExtra (T_GUI_HDC hdc, T_WORD extra);
T_WORD fnGUI_TextOutLen (T_GUI_HDC hdc, T_WORD x, T_WORD y, T_CONST T_BYTE* spText, T_WORD len);
T_VOID fnGUI_GetLastTextOutPos (T_GUI_HDC hdc, T_GUI_Point* pt);
#define fnGUI_TextOut(hdc, x, y, text) fnGUI_TextOutLen (hdc, x, y, text, -1)
#define DT_TOP 0x00000000
#define DT_LEFT 0x00000000
#define DT_CENTER 0x00000001
#define DT_RIGHT 0x00000002
#define DT_VCENTER 0x00000004
#define DT_BOTTOM 0x00000008
#define DT_WORDBREAK 0x00000010
#define DT_SINGLELINE 0x00000020
#define DT_EXPANDTABS 0x00000040
#define DT_TABSTOP 0x00000080
#define DT_NOCLIP 0x00000100
#define DT_EXTERNALLPADING 0x00000200
#define DT_CALCRECT 0x00000400
#define DT_NOPREFIX 0x00000800
#define DT_INTERNAL 0x00001000
T_WORD fnGUI_DrawTextEx (T_GUI_HDC hdc, T_CONST T_BYTE* pText, T_WORD nCount,
T_GUI_Rect* pRect, T_WORD nIndent, T_UWORD nFormat);
#define fnGUI_DrawText(hdc, text, n, rc, format) fnGUI_DrawTextEx (hdc, text, n, rc, 0, format)
/************************** Bitmap file load/save support ******************/
#define GUI_BMP_FLOW_DOWN 1
#define GUI_BMP_FLOW_UP 2
#define GUI_LOADBMP_FLAG_GRAYSCALE 0x00000001
#define GUI_LOADBMP_FLAG_NONE 0x00000000
#define GUI_RGB_ORDER_RGB 0
#define GUI_RGB_ORDER_BGR 1
typedef struct T_GUI_MyBitmap
{
T_WORD depth;
T_WORD w, h;
T_WORD size;
T_WORD pitch;
T_WORD frames;
T_WORD flow;
T_WORD rgb_order;
T_WORD transparent; /* palette index of transparent pixel. */
T_BYTE* bits;
T_DWORD flags;
} T_GUI_MyBitmap;
typedef T_GUI_MyBitmap* T_GUI_pMyBitmap;
#define GUI_ERR_BMP_ATHEAD 1 /* added by qq for gif shown 2002.9.29 */
#define GUI_ERR_BMP_OK 0
#define GUI_ERR_BMP_IMAGE_TYPE -1
#define GUI_ERR_BMP_UNKNOWN_TYPE -2
#define GUI_ERR_BMP_CANT_READ -3
#define GUI_ERR_BMP_CANT_SAVE -4
#define GUI_ERR_BMP_NOT_SUPPORTED -5
#define GUI_ERR_BMP_MEM -6
#define GUI_ERR_BMP_LOAD -7
#define GUI_ERR_BMP_FILEIO -8
#define GUI_ERR_BMP_OTHER -9
#ifdef GUI_FILESUPPORT
T_WORD fnGUI_LoadMyBitmapFromBmpFile(T_WORD fp, T_GUI_MyBitmap* bmp, T_GUI_Rgb* pal);
T_WORD fnGUI_LoadBitmapFromBmpFile(T_GUI_HDC hDc,T_GUI_pBitmap pBitmap,T_UBYTE *spFileName);
T_WORD fnGUI_SaveBmpFileFromMyBitmap(T_WORD fp, T_GUI_MyBitmap* bmp, T_GUI_Rgb* pal);
T_WORD fnGUI_SaveBmpFileFromBitmap(T_GUI_HDC hDc,T_GUI_pBitmap pBitmap,T_UBYTE *spFileName);
#endif /* GUI_FILESUPPORT */
#ifdef GUI_MEMORYSUPPORT
T_WORD fnGUI_LoadMyBitmapFromBmpMemory(T_CONST T_UBYTE* pData, T_GUI_MyBitmap* bmp, T_GUI_Rgb* pal);
T_WORD fnGUI_LoadBitmapFromBmpMemory(T_GUI_HDC hDc,T_GUI_pBitmap pBitmap,T_CONST T_UBYTE *pData);
T_WORD fnGUI_SaveBmpMemoryFromMyBitmap(T_GUI_pBmpBuffer pBuffer,T_GUI_MyBitmap* bmp,T_GUI_Rgb* pal);
T_WORD fnGUI_SaveBmpMemoryFromBitmap(T_GUI_HDC hDc,T_GUI_pBitmap pBitmap,T_GUI_pBmpBuffer pBuffer);
#endif /* GUI_MEMORYSUPPORT */
T_VOID fnGUI_UnLoadBitmap (T_GUI_pBitmap pBitmap);
T_WORD fnGUI_ExpandMyBitmap( T_GUI_HDC hDc, T_CONST T_GUI_MyBitmap *pMyBitmap, T_CONST T_GUI_Rgb *pal, T_GUI_pBitmap pBitmap);
T_VOID fnGUI_ExpandMonoBitmap (T_GUI_HDC hdc, T_WORD w, T_WORD h, T_CONST T_BYTE* bits, T_WORD bits_flow, T_WORD pitch,
T_BYTE* bitmap, T_WORD bg, T_WORD fg);
T_VOID fnGUI_Expand4CBitmap (T_GUI_HDC hdc, T_WORD w, T_WORD h, T_CONST T_BYTE* bits, T_WORD bits_flow, T_WORD pitch,
T_BYTE* bitmap, T_CONST T_GUI_Rgb* pal);
T_VOID fnGUI_Expand16CBitmap (T_GUI_HDC hdc, T_WORD w, T_WORD h, T_CONST T_BYTE* bits, T_WORD bits_flow, T_WORD pitch,
T_BYTE* bitmap, T_CONST T_GUI_Rgb* pal);
T_VOID fnGUI_Expand256CBitmap (T_GUI_HDC hdc, T_WORD w, T_WORD h, T_CONST T_BYTE* bits, T_WORD bits_flow, T_WORD pitch,
T_BYTE* bitmap, T_CONST T_GUI_Rgb* pal);
T_VOID fnGUI_CompileRGBBitmap (T_GUI_HDC hdc, T_WORD w, T_WORD h, T_CONST T_BYTE* bits, T_WORD bits_flow, T_WORD pitch,
T_BYTE* bitmap, T_WORD rgb_order);
T_VOID fnGUI_ReplaceBitmapColor (T_GUI_HDC hdc, T_GUI_pBitmap pBitmap, T_WORD iOColor, T_WORD iNColor);
/*************************************** GIF adn JPG support*****************************************/
#define ERR_IMG_OK 0
#define ERR_IMG_FAILED -1
T_WORD fnGUI_LoadMyBitmapFromJpgMemory(T_GUI_pBmpBuffer pBuffer, T_GUI_MyBitmap* Bmp, T_GUI_Rgb* Pal);
#ifdef GUI_FILESUPPORT
T_WORD fnGUI_LoadMyBitmapFromGifFile(T_WORD fp, T_GUI_MyBitmap* bmp, T_GUI_Rgb* pal);
T_WORD fnGUI_LoadBitmapFromGifFile(T_GUI_HDC hDc,T_GUI_pBitmap pBitmap,T_UBYTE *spFileName);
T_WORD fnGUI_ShowDynamicGifFile(T_GUI_HDC hDc,T_WORD x,T_WORD y,T_WORD w,T_WORD h,T_UBYTE *spNameFile,T_WORD WaitTime);
T_WORD fnGUI_LoadBitmapFromJpgFile(T_GUI_HDC hDc,T_GUI_pBitmap pBitmap,T_UBYTE *spFileName);
#endif /* GUI_FILESUPPORT */
#ifdef GUI_MEMORYSUPPORT
T_WORD fnGUI_LoadMyBitmapFromGifMemory(T_CONST T_UBYTE* pArray, T_GUI_MyBitmap* Bmp, T_GUI_Rgb* Pal);
T_WORD fnGUI_LoadBitmapFromGifMemory(T_GUI_HDC hDc,T_GUI_pBitmap pBitmap,T_CONST T_UBYTE *pData);
T_WORD fnGUI_ShowDynamicGifMemory(T_GUI_HDC hDc,T_WORD x,T_WORD y,T_WORD w,T_WORD h,T_CONST T_UBYTE *pData,T_WORD WaitTime);
T_WORD fnGUI_LoadBitmapFromJpgMemory(T_GUI_HDC hDc,T_GUI_pBitmap pBitmap,T_GUI_pBmpBuffer pBuffer);
#endif /* GUI_MEMORYSUPPORT */
#ifdef __cplusplus
}
#endif /* __cplusplus */
#endif /* _GUIGDI_H */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -