⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mwtypes.h~

📁 针对嵌入式micro window系统
💻 H~
📖 第 1 页 / 共 2 页
字号:
#ifndef _MWTYPES_H#define _MWTYPES_H/* * Copyright (c) 1999, 2000 Greg Haerr <greg@censoft.com> * * Exported Microwindows engine typedefs and defines *//* builtin font std names*/#define MWFONT_SYSTEM_VAR	"System"	/* winSystem 14x16 (ansi)*/#define MWFONT_GUI_VAR		"Helvetica"	/* winMSSansSerif 11x13 (ansi)*/#define MWFONT_OEM_FIXED	"Terminal"	/* rom8x16 (oem)*/#define MWFONT_SYSTEM_FIXED	"SystemFixed"	/* X6x13 (should be ansi)*//* Text/GetTextSize encoding flags*/#define MWTF_ASCII	0x0000	/* 8 bit packing, ascii*/#define MWTF_UTF8	0x0001	/* 8 bit packing, utf8*/#define MWTF_UC16	0x0002	/* 16 bit packing, unicode 16*/#define MWTF_UC32	0x0004	/* 32 bit packing, unicode 32*/#define MWTF_PACKMASK	0x0007	/* packing mask*//* Text alignment flags*/#define MWTF_TOP	0x0010	/* align on top*/#define MWTF_BASELINE	0x0020	/* align on baseline*/#define MWTF_BOTTOM	0x0040	/* align on bottom*//* SetFontAttr flags*/#define MWTF_KERNING	0x1000	/* font kerning*/#define MWTF_ANTIALIAS	0x2000	/* antialiased output*/#define MWTF_UNDERLINE	0x4000	/* draw underline*//* Drawing modes*/#define	MWMODE_SET	0	/* draw pixels as given (default) */#define	MWMODE_XOR	1	/* draw pixels using XOR */#define	MWMODE_OR	2	/* draw pixels using OR (notimp)*/#define	MWMODE_AND	3	/* draw pixels using AND (notimp)*/#define MWMODE_MAX	3/* Mouse button bits*/#define MWBUTTON_L	04#define MWBUTTON_M	02#define MWBUTTON_R	01/* Color defines*/#define MWRGB(r,g,b)	((MWCOLORVAL)(((unsigned char)(r)|\				((unsigned short)((unsigned char)(g))<<8))|\				(((unsigned long)(unsigned char)(b))<<16)))#define MWF_PALINDEX	0x01000000#define MWPALINDEX(x)	((MWCOLORVAL)MWF_PALINDEX | (x))/*  * ROP blitter opcodes */#define MWROP_EXTENSION		0xff000000L	/* rop extension bits*//* copy src -> dst*/#define MWROP_SRCCOPY		0x00000000L/* copy src -> dst except for transparent color in src*/#define MWROP_SRCTRANSCOPY	0x01000000L/* alpha blend src -> dst with constant alpha, alpha value in low 8 bits*/#define MWROP_BLENDCONSTANT	0x02000000L/* alpha blend fg/bg color -> dst with src as alpha channel*/#define MWROP_BLENDFGBG		0x03000000L/* alpha blend src -> dst with separate per pixel alpha channel*/#define MWROP_BLENDCHANNEL	0x04000000L/* stretch src -> dst*/#define MWROP_STRETCH		0x05000000L#define MWROP_SRCAND		0x06000000L#define MWROP_SRCINVERT		0x07000000L#define MWROP_BLACKNESS     	0x08000000L/*  * Pixel formats * Note the two pseudo pixel formats are never returned by display drivers, * but rather used as a data structure type in GrArea.  The other * types are both returned by display drivers and used as pixel packing * specifiers. */#define MWPF_RGB	   0	/* pseudo, convert from packed 32 bit RGB*/#define MWPF_PIXELVAL	   1	/* pseudo, no convert from packed PIXELVAL*/#define MWPF_PALETTE	   2	/* pixel is packed 8 bits 1, 4 or 8 pal index*/#define MWPF_TRUECOLOR0888 3	/* pixel is packed 32 bits 8/8/8 truecolor*/#define MWPF_TRUECOLOR888  4	/* pixel is packed 24 bits 8/8/8 truecolor*/#define MWPF_TRUECOLOR565  5	/* pixel is packed 16 bits 5/6/5 truecolor*/#define MWPF_TRUECOLOR555  6	/* pixel is packed 16 bits 5/5/5 truecolor*/#define MWPF_TRUECOLOR332  7	/* pixel is packed 8 bits 3/3/2 truecolor*//* * MWPIXELVAL definition: changes based on target system * Set using -DMWPIXEL_FORMAT=MWPF_XXX * * For the Nano-X server, it is important to use the correct MWPF_* value * for the MWPIXEL_FORMAT macro in order to match the hardware, * while the Nano-X clients that includes this file can get away with * a default pixel format of 24-bit color as the client will either: *    1) Use the MWPF_PIXELVAL native format when calling GrReadArea, in *       which case we have to have enough spare room to hold 32-bit *       pixlevalues (hence the default MWPF_TRUECOLOR0888 format), or *    2) Will use some other PF_* format, in which case the application *       is well aware of which pixel-format it uses and can avoid the *       device specific RGB2PIXEL and use RGB2PIXEL565 etc. instead, *       and specifiy the pixel fomar as MWPF_TRUECOLOR565 etc. when *       calling the GrArea function(s). */#ifndef MWPIXEL_FORMAT#define MWPIXEL_FORMAT	MWPF_TRUECOLOR0888#endif#if defined(__AS386_16__)/* Force 8 bit palettized display for ELKS*/#undef MWPIXEL_FORMAT#define MWPIXEL_FORMAT	MWPF_PALETTE#endif#if MWPIXEL_FORMAT = MWPF_TRUECOLOR565typedef unsigned short MWPIXELVAL;#else  #if MWPIXEL_FORMAT = MWPF_TRUECOLOR332  typedef unsigned char MWPIXELVAL;  #else    #if MWPIXEL_FORMAT = MWPF_PALETTE    typedef unsigned char MWPIXELVAL;    #else      typedef unsigned long MWPIXELVAL;    #endif  #endif#endif/* * Type definitions */typedef int		MWCOORD;	/* device coordinates*/typedef int		MWBOOL;		/* boolean value*/typedef unsigned char	MWUCHAR;	/* unsigned char*/typedef unsigned long	MWCOLORVAL;	/* device-independent color value*/typedef unsigned short	MWIMAGEBITS;	/* bitmap image unit size*/typedef unsigned long	MWTIMEOUT;	/* timeout value *//* dbl linked list data structure*/typedef struct _mwlist {		/* LIST must be first decl in struct*/	struct _mwlist *next;		/* next item*/	struct _mwlist *prev;		/* previous item*/} MWLIST, *PMWLIST;/* dbl linked list head data structure*/typedef struct _mwlisthead {	struct _mwlist *head;		/* first item*/	struct _mwlist *tail;		/* last item*/} MWLISTHEAD, *PMWLISTHEAD;/* GetScreenInfo structure*/typedef struct {	MWCOORD  rows;		/* number of rows on screen */	MWCOORD  cols;		/* number of columns on screen */	int 	 xdpcm;		/* dots/centimeter in x direction */	int 	 ydpcm;		/* dots/centimeter in y direction */	int	 planes;	/* hw # planes*/	int	 bpp;		/* hw bpp*/	long	 ncolors;	/* hw number of colors supported*/	int 	 fonts;		/* number of built-in fonts */	int 	 buttons;	/* buttons which are implemented */	int	 modifiers;	/* modifiers which are implemented */	int	 pixtype;	/* format of pixel value*/	MWCOORD	 xpos;		/* current x mouse position*/	MWCOORD	 ypos;		/* current y mouse position*//* items below are get/set by the window manager and not used internally*/	int	vs_width;	/* virtual screen width/height*/	int	vs_height;	int	ws_width;	/* workspace width/height*/	int	ws_height;} MWSCREENINFO, *PMWSCREENINFO;/* GetFontInfo structure*/typedef struct {	int 	maxwidth;	/* maximum width of any char */	int 	height;		/* height of font in pixels*/	int 	baseline;	/* baseline (ascent) of font */	int	firstchar;	/* first character in font*/	int	lastchar;	/* last character in font*/	MWBOOL	fixed;		/* TRUE if font is fixed width */	MWUCHAR	widths[256];	/* table of character widths */} MWFONTINFO, *PMWFONTINFO;/* logical font descriptor*//* font classes - used internally*/#define MWLF_CLASS_BUILTIN	1	/* Builtin fonts (bitmaps) */#define MWLF_CLASS_FREETYPE	2	/* FreeType fonts in TT format */#define MWLF_CLASS_T1LIB	3	/* T1LIB outlined Adobe Type 1 fonts */#define MWLF_CLASS_ANY		4	/* Any font*/#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	1typedef 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*/	/* the following differs from windows font model*/	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 */	MWUCHAR	lfPitch;		/* font pitch (width) */	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)->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;			\

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -