📄 mwtypes.h
字号:
int vs_width; /* virtual screen width/height*/ int vs_height; int ws_width; /* workspace width/height*/ int ws_height;} MWSCREENINFO, *PMWSCREENINFO;/* client side window framebuffer info*/typedef struct { unsigned char * physpixels; /* address of real framebuffer*/ /* note winpixels is only correct in non-portrait modes*/ unsigned char * winpixels; /* address of 0,0 this window in fb*/ int pixtype; /* MWPF_ pixel type*/ int bpp; /* bits per pixel*/ int bytespp; /* bytes per pixel*/ int pitch; /* bytes per scan line for window (=fb pitch)*/ MWCOORD x, y; /* absolute window coordinates*/ int portrait_mode; /* current portrait mode*/ MWCOORD xres; /* real framebuffer resolution*/ MWCOORD yres; MWCOORD xvirtres; /* virtual framebuffer resolution*/ MWCOORD yvirtres;} MWWINDOWFBINFO;/** * Structure returned by GetFontInfo. * * All sizes are in pixels. * * Some of the sizes are limits for "most characters". With built-in bitmap * fonts, "most characters" means "all characters". Otherwise, the * definition of "most characters" depends on the person who designed the * font. Typically it is the alphanumeric characters, and it may or may not * include accented characters. */typedef struct { /** * Maximum advance width of any character. */ int maxwidth; /** * Height of "most characters" in the font. This does not include any * leading (blank space between lines of text). * Always equal to (baseline+descent). */ int height; /** * The ascent (height above the baseline) of "most characters" in * the font. * * Note: This member variable should be called "ascent", to be * consistent with FreeType 2, and also to be internally consistent * with the "descent" member. It has not been renamed because that * would break backwards compatibility. FIXME */ int baseline; /** * The descent (height below the baseline) of "most characters" in * the font. * * Should be a POSITIVE number. */ int descent; /** * Maximum height of any character above the baseline. */ int maxascent; /** * Maximum height of any character below the baseline. * * Should be a POSITIVE number. */ int maxdescent; /** * The distance between the baselines of two consecutive lines of text. * This is usually height plus some font-specific "leading" value. */ int linespacing; /** * First character in the font. */ int firstchar; /** * Last character in the font. */ int lastchar; /** * True (nonzero) if font is fixed width. In that case, maxwidth * gives the width for every character in the font. */ MWBOOL fixed; /** * Table of character advance widths for characters 0-255. * Note that fonts can contain characters with codes >255 - in that * case this table contains the advance widths for some but not all * characters. Also note that if the font contains kerning * information, the advance width of the string "AV" may differ from * the sum of the advance widths for the characters 'A' and 'V'. */ MWUCHAR widths[256];} MWFONTINFO, *PMWFONTINFO;/* GetFontList structure */typedef struct { char *ttname; /* TrueType name, eg "Times New Roman Bold" */ char *mwname; /* microwin name, eg "timesb" */} MWFONTLIST, *PMWFONTLIST;/* logical font descriptor*//* font classes - used to specify a particular renderer*/#define MWLF_CLASS_ANY 0 /* any font*/#define MWLF_CLASS_BUILTIN 1 /* builtin fonts*/#define MWLF_CLASS_FNT 2 /* FNT native fonts*/#define MWLF_CLASS_PCF 3 /* X11 PCF/PCF.GZ fonts*/#define MWLF_CLASS_FREETYPE 4 /* FreeType 1 or 2 fonts in TT format*/#define MWLF_CLASS_T1LIB 5 /* T1LIB outlined Adobe Type 1 fonts*/#define MWLF_CLASS_MGL 6 /* MGL (EUCJP) fonts*/#define MWLF_CLASS_HZK 7 /* chinese HZK fonts*/#define MWLF_FACESIZE 64 /* max facename size*//* font type selection - lfOutPrecision*/#define MWLF_TYPE_DEFAULT 0 /* any font*/#define MWLF_TYPE_SCALED 4 /* outlined font (tt or adobe)*/#define MWLF_TYPE_RASTER 5 /* raster only*/#define MWLF_TYPE_TRUETYPE 7 /* truetype only*/#define MWLF_TYPE_ADOBE 10 /* adobe type 1 only*//* font weights - lfWeight*/#define MWLF_WEIGHT_DEFAULT 0 /* any weight*/#define MWLF_WEIGHT_THIN 100 /* thin*/#define MWLF_WEIGHT_EXTRALIGHT 200#define MWLF_WEIGHT_LIGHT 300 /* light */#define MWLF_WEIGHT_NORMAL 400 /* regular*/#define MWLF_WEIGHT_REGULAR 400#define MWLF_WEIGHT_MEDIUM 500 /* medium */#define MWLF_WEIGHT_DEMIBOLD 600#define MWLF_WEIGHT_BOLD 700 /* bold*/#define MWLF_WEIGTH_EXTRABOLD 800#define MWLF_WEIGHT_BLACK 900 /* black *//* font charset - lfCharSet*/#define MWLF_CHARSET_ANSI 0 /* win32 ansi*/#define MWLF_CHARSET_DEFAULT 1 /* any charset*/#define MWLF_CHARSET_UNICODE 254 /* unicode*/#define MWLF_CHARSET_OEM 255 /* local hw*//* font pitch - lfPitch */#define MWLF_PITCH_DEFAULT 0 /* any pitch */#define MWLF_PITCH_ULTRACONDENSED 10#define MWLF_PITCH_EXTRACONDENSED 20#define MWLF_PITCH_CONDENSED 30#define MWLF_PITCH_SEMICONDENSED 40#define MWLF_PITCH_NORMAL 50#define MWLF_PITCH_SEMIEXPANDED 60#define MWLF_PITCH_EXPANDED 70#define MWLF_PITCH_EXTRAEXPANDED 80#define MWLF_PITCH_ULTRAEXPANDED 90/* flags for the GdAddFont function */#define MWLF_FLAGS_ALIAS 1/* windows-compatible MWLOGFONT structure*/typedef struct { long lfHeight; /* desired height in pixels*/ long lfWidth; /* desired width in pixels or 0*/ long lfEscapement; /* rotation in tenths of degree*/ long lfOrientation; /* not used*/ long lfWeight; /* font weight*/ MWUCHAR lfItalic; /* =1 for italic */ MWUCHAR lfUnderline; /* =1 for underline */ MWUCHAR lfStrikeOut; /* not used*/ MWUCHAR lfCharSet; /* font character set*/ MWUCHAR lfOutPrecision; /* font type selection*/ MWUCHAR lfClipPrecision; /* not used*/ MWUCHAR lfQuality; /* not used*/ MWUCHAR lfPitchAndFamily; /* not used*/ /* end of windows-compatibility*/ MWUCHAR lfClass; /* font class (renderer) */ /* following only used by FONTMAPPER when enabled*/ MWUCHAR lfPitch; /* font pitch */ MWUCHAR lfRoman; /* =1 for Roman letters (upright) */ MWUCHAR lfSerif; /* =1 for Serifed font */ MWUCHAR lfSansSerif; /* =1 for Sans-serif font */ MWUCHAR lfModern; /* =1 for Modern font */ MWUCHAR lfMonospace; /* =1 for Monospaced font */ MWUCHAR lfProportional; /* =1 for Proportional font */ MWUCHAR lfOblique; /* =1 for Oblique (kind of Italic) */ MWUCHAR lfSmallCaps; /* =1 for small caps */ /* render-dependent full path or facename here*/ char lfFaceName[MWLF_FACESIZE];/* font name, may be aliased*/} MWLOGFONT, *PMWLOGFONT;/* * Macros to initialize the MWLOGFONT structure to the most common defaults * needed by application programs and the nano-X server program. */#define MWLF_Clear(lf) \ do { \ (lf)->lfHeight = 0; \ (lf)->lfWidth = 0; \ (lf)->lfEscapement = 0; \ (lf)->lfOrientation = 0; \ (lf)->lfWeight = MWLF_WEIGHT_REGULAR; \ (lf)->lfPitch = 0; \ (lf)->lfClass = MWLF_CLASS_ANY; \ (lf)->lfItalic = 0; \ (lf)->lfOblique = 0; \ (lf)->lfRoman = 0; \ (lf)->lfSerif = 0; \ (lf)->lfSansSerif = 0; \ (lf)->lfModern = 0; \ (lf)->lfMonospace = 0; \ (lf)->lfProportional = 0; \ (lf)->lfSmallCaps = 0; \ (lf)->lfUnderline = 0; \ (lf)->lfStrikeOut = 0; \ (lf)->lfCharSet = 0; \ (lf)->lfOutPrecision = 0; \ (lf)->lfClipPrecision = 0; \ (lf)->lfQuality = 0; \ (lf)->lfPitchAndFamily = 0; \ (lf)->lfFaceName[0] = '\0'; \ } while (0)#define MWLF_SetBold(lf) \ do { \ (lf)->lfWeight = MWLF_WEIGHT_BOLD; \ } while (0)#define MWLF_SetRegular(lf) \ do { \ (lf)->lfWeight = MWLF_WEIGHT_REGULAR; \ } while (0)#define MWLF_SetItalics(lf) \ do { \ (lf)->lfItalic = 1; \ (lf)->lfOblique = 0; \ (lf)->lfRoman = 0; \ } while (0)#define MWLF_SetRoman(lf) \ do { \ (lf)->lfItalic = 0; \ (lf)->lfOblique = 0; \ (lf)->lfRoman = 1; \ } while (0)/* * Rectangle and point structures. * These structures are "inherited" in wingdi.h for * the Win32 RECT and POINT structures, so they must match * Microsoft's definition. *//* MWPOINT used in GdPoly, GdFillPoly*/typedef struct { MWCOORD x; MWCOORD y;} MWPOINT;/* MWRECT used in region routines*/typedef struct { MWCOORD left; MWCOORD top; MWCOORD right; MWCOORD bottom;} MWRECT;/* dynamically allocated multi-rectangle clipping region*/typedef struct { int size; /* malloc'd # of rectangles*/ int numRects; /* # rectangles in use*/ int type; /* region type*/ MWRECT *rects; /* rectangle array*/ MWRECT extents; /* bounding box of region*/} MWCLIPREGION;/* region types */#define MWREGION_ERROR 0#define MWREGION_NULL 1#define MWREGION_SIMPLE 2#define MWREGION_COMPLEX 3/* GdRectInRegion return codes*/#define MWRECT_OUT 0 /* rectangle not in region*/#define MWRECT_ALLIN 1 /* rectangle all in region*/#define MWRECT_PARTIN 2 /* rectangle partly in region*//* GdAllocPolyRegion types*/#define MWPOLY_EVENODD 1#define MWPOLY_WINDING 2typedef struct { MWCOORD width; MWCOORD height; MWIMAGEBITS * bitmap;} MWSTIPPLE;/* In-core color palette structure*/typedef struct { MWUCHAR r; MWUCHAR g; MWUCHAR b; MWUCHAR _padding;} MWPALENTRY;/* In-core mono and color image structure*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -