亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? pktdef.h

?? 清華紫光紫光筆開發范例
?? H
字號:
/* -------------------------------- pktdef.h -------------------------------- */
/* Combined 16 & 32-bit version. */

/*------------------------------------------------------------------------------
The text and information contained in this file may be freely used,
copied, or distributed without compensation or licensing restrictions.

This file is copyright 1991-1998 by LCS/Telegraphics.
------------------------------------------------------------------------------*/
/*------------------------------------------------------------------------------

How to use pktdef.h:

1. Include wintab.h
2. if using just one packet format:
	a. Define PACKETDATA and PACKETMODE as or'ed combinations of WTPKT bits
	   (use the PK_* identifiers).
	b. Include pktdef.h.
	c. The generated structure typedef will be called PACKET.  Use PACKETDATA
	   and PACKETMODE to fill in the LOGCONTEXT structure.
3. If using multiple packet formats, for each one:
	a. Define PACKETNAME. Its text value will be a prefix for this packet's
	   parameters and names.
	b. Define <PACKETNAME>PACKETDATA and <PACKETNAME>PACKETMODE similar to
	   2.a. above.
	c. Include pktdef.h.
	d. The generated structure typedef will be called
	   <PACKETNAME>PACKET. Compare with 2.c. above and example #2 below.
4. If using extension packet data, do the following additional steps
   for each extension:
	a. Before including pktdef.h, define <PACKETNAME>PACKET<EXTENSION>
	   as either PKEXT_ABSOLUTE or PKEXT_RELATIVE.
	b. The generated structure typedef will contain a field for the
	   extension data.
	c. Scan the WTI_EXTENSION categories to find the extension's
	   packet mask bit.
	d. OR the packet mask bit with <PACKETNAME>PACKETDATA and use the
	   result in the lcPktData field of the LOGCONTEXT structure.
	e. If <PACKETNAME>PACKET<EXTENSION> was PKEXT_RELATIVE, OR the
	   packet mask bit with <PACKETNAME>PACKETMODE and use the result
	   in the lcPktMode field of the LOGCONTEXT structure.


Example #1.	-- single packet format

#include <wintab.h>
#define PACKETDATA	PK_X | PK_Y | PK_BUTTONS	/@ x, y, buttons @/
#define PACKETMODE	PK_BUTTONS					/@ buttons relative mode @/
#include <pktdef.h>
...
	lc.lcPktData = PACKETDATA;
	lc.lcPktMode = PACKETMODE;

Example #2. -- multiple formats

#include <wintab.h>
#define PACKETNAME		MOE
#define MOEPACKETDATA	PK_X | PK_Y | PK_BUTTONS	/@ x, y, buttons @/
#define MOEPACKETMODE	PK_BUTTONS					/@ buttons relative mode @/
#include <pktdef.h>
#define PACKETNAME		LARRY
#define LARRYPACKETDATA	PK_Y | PK_Z | PK_BUTTONS	/@ y, z, buttons @/
#define LARRYPACKETMODE	PK_BUTTONS					/@ buttons relative mode @/
#include <pktdef.h>
#define PACKETNAME		CURLY
#define CURLYPACKETDATA	PK_X | PK_Z | PK_BUTTONS	/@ x, z, buttons @/
#define CURLYPACKETMODE	PK_BUTTONS					/@ buttons relative mode @/
#include <pktdef.h>
...
	lcMOE.lcPktData = MOEPACKETDATA;
	lcMOE.lcPktMode = MOEPACKETMODE;
...
	lcLARRY.lcPktData = LARRYPACKETDATA;
	lcLARRY.lcPktMode = LARRYPACKETMODE;
...
	lcCURLY.lcPktData = CURLYPACKETDATA;
	lcCURLY.lcPktMode = CURLYPACKETMODE;

Example #3. -- extension packet data "XFOO".
	
#include <wintab.h>
#define PACKETDATA	PK_X | PK_Y | PK_BUTTONS	/@ x, y, buttons @/
#define PACKETMODE	PK_BUTTONS					/@ buttons relative mode @/
#define PACKETXFOO	PKEXT_ABSOLUTE				/@ XFOO absolute mode @/
#include <pktdef.h>
...
UINT ScanExts(UINT wTag)
{
	UINT i;
	UINT wScanTag;

	/@ scan for wTag's info category. @/
	for (i = 0; WTInfo(WTI_EXTENSIONS + i, EXT_TAG, &wScanTag); i++) {
		 if (wTag == wScanTag) {
			/@ return category offset from WTI_EXTENSIONS. @/
			return i;
		}
	}
	/@ return error code. @/
	return 0xFFFF;
}
...
	lc.lcPktData = PACKETDATA;
	lc.lcPktMode = PACKETMODE;
#ifdef PACKETXFOO
	categoryXFOO = ScanExts(WTX_XFOO);
	WTInfo(WTI_EXTENSIONS + categoryXFOO, EXT_MASK, &maskXFOO);
	lc.lcPktData |= maskXFOO;
#if PACKETXFOO == PKEXT_RELATIVE
	lc.lcPktMode |= maskXFOO;
#endif
#endif
	WTOpen(hWnd, &lc, TRUE);


------------------------------------------------------------------------------*/
#ifdef __cplusplus
extern "C" {
#endif	/* __cplusplus */

#ifndef PACKETNAME
	/* if no packet name prefix */
	#define __PFX(x)	x
	#define __IFX(x,y)	x ## y
#else
	/* add prefixes and infixes to packet format names */
	#define __PFX(x)		__PFX2(PACKETNAME,x)
	#define __PFX2(p,x)		__PFX3(p,x)
	#define __PFX3(p,x)		p ## x
	#define __IFX(x,y)		__IFX2(x,PACKETNAME,y)
	#define __IFX2(x,i,y)	__IFX3(x,i,y)
	#define __IFX3(x,i,y)	x ## i ## y
#endif

#define __SFX2(x,s)		__SFX3(x,s)
#define __SFX3(x,s)		x ## s

#define __TAG  	__IFX(tag,PACKET)
#define __TYPES	__PFX(PACKET), * __IFX(P,PACKET), NEAR * __IFX(NP,PACKET), \
					FAR * __IFX(LP,PACKET)

#define __DATA		(__PFX(PACKETDATA))
#define __MODE		(__PFX(PACKETMODE))
#define __EXT(x)	__SFX2(__PFX(PACKET),x)

	
typedef struct __TAG {
	#if (__DATA & PK_CONTEXT)
		HCTX			pkContext;
	#endif
	#if (__DATA & PK_STATUS)
		UINT			pkStatus;
	#endif
	#if (__DATA & PK_TIME)
		DWORD			pkTime;
	#endif
	#if (__DATA & PK_CHANGED)
		WTPKT			pkChanged;
	#endif
	#if (__DATA & PK_SERIAL_NUMBER)
		UINT			pkSerialNumber;
	#endif
	#if (__DATA & PK_CURSOR)
		UINT			pkCursor;
	#endif
	#if (__DATA & PK_BUTTONS)
		DWORD			pkButtons;
	#endif
	#if (__DATA & PK_X)
		LONG			pkX;
	#endif
	#if (__DATA & PK_Y)
		LONG			pkY;
	#endif
	#if (__DATA & PK_Z)
		LONG			pkZ;
	#endif
	#if (__DATA & PK_NORMAL_PRESSURE)
		#if (__MODE & PK_NORMAL_PRESSURE)
			/* relative */
			int			pkNormalPressure;
		#else
			/* absolute */
			UINT		pkNormalPressure;
		#endif
	#endif
	#if (__DATA & PK_TANGENT_PRESSURE)
		#if (__MODE & PK_TANGENT_PRESSURE)
			/* relative */
			int			pkTangentPressure;
		#else
			/* absolute */
			UINT		pkTangentPressure;
		#endif
	#endif
	#if (__DATA & PK_ORIENTATION)
		ORIENTATION		pkOrientation;
	#endif
	#if (__DATA & PK_ROTATION)
		ROTATION		pkRotation; /* 1.1 */
	#endif

#ifndef NOWTEXTENSIONS
	/* extensions begin here. */
	#if (__EXT(FKEYS) == PKEXT_RELATIVE) || (__EXT(FKEYS) == PKEXT_ABSOLUTE)
		UINT			pkFKeys;
	#endif
	#if (__EXT(TILT) == PKEXT_RELATIVE) || (__EXT(TILT) == PKEXT_ABSOLUTE)
		TILT			pkTilt;
	#endif
#endif

} __TYPES ;

#undef PACKETNAME
#undef __TAG
#undef __TAG2
#undef __TYPES
#undef __TYPES2
#undef __DATA
#undef __MODE
#undef __PFX
#undef __PFX2
#undef __PFX3
#undef __IFX
#undef __IFX2
#undef __IFX3
#undef __SFX2
#undef __SFX3

#ifdef __cplusplus
}
#endif	/* __cplusplus */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91亚洲精品一区二区乱码| 日韩欧美激情四射| 91精品久久久久久久91蜜桃| 久久综合九色综合欧美就去吻| 中文字幕一区三区| 蜜臀av性久久久久蜜臀aⅴ流畅| 高清av一区二区| 日韩一区二区中文字幕| 亚洲欧美日韩久久| 国产成人av一区| 欧美一区在线视频| 亚洲一区二区三区不卡国产欧美| 国产精品伊人色| 日韩一区二区免费电影| 亚洲小说欧美激情另类| 99久久精品国产一区| 国产无人区一区二区三区| 欧美a一区二区| 欧美手机在线视频| 一区二区激情小说| 色噜噜久久综合| 中文字幕一区日韩精品欧美| 国产精品1区2区3区在线观看| 日韩一区二区三区电影在线观看 | 一区二区三区四区亚洲| 国产精品一区二区在线观看不卡| 欧美一区二区三区啪啪| 亚洲成人你懂的| 在线视频国内一区二区| 亚洲人123区| 91小视频免费观看| 一区二区三区在线看| 97se亚洲国产综合自在线| 国产精品毛片a∨一区二区三区| 国产精品18久久久久久久久| 久久蜜桃av一区二区天堂| 激情国产一区二区| 久久夜色精品一区| 国产成人精品免费| 国产精品理论在线观看| 91毛片在线观看| 亚洲制服丝袜在线| 欧美情侣在线播放| 蜜桃在线一区二区三区| 久久五月婷婷丁香社区| 国产在线观看一区二区| 国产喷白浆一区二区三区| 福利一区福利二区| ...av二区三区久久精品| 欧美在线免费视屏| 蜜臀av一区二区在线观看| 久久嫩草精品久久久久| 成人app网站| 亚洲综合色在线| 9191久久久久久久久久久| 麻豆91小视频| 1024国产精品| 欧美精品少妇一区二区三区| 看片的网站亚洲| 国产欧美一区二区精品性| 色综合色狠狠综合色| 日本亚洲视频在线| 欧美精品一区二区三区一线天视频| 国产一区二区女| 亚洲柠檬福利资源导航| 91精品国产免费久久综合| 精品在线观看免费| 亚洲女人的天堂| 欧美r级在线观看| 成a人片国产精品| 日韩制服丝袜av| 日本一区二区成人在线| 欧美日韩中文字幕一区二区| 久久99久久精品| 国产精品的网站| 日韩欧美中文字幕一区| 91在线精品秘密一区二区| 日本不卡高清视频| 综合久久久久综合| 精品国产sm最大网站免费看| 91女厕偷拍女厕偷拍高清| 久久99精品国产| 一区二区三区四区视频精品免费| 欧美大片国产精品| 91麻豆视频网站| 久久99国产精品免费| 自拍偷自拍亚洲精品播放| 日韩欧美亚洲国产精品字幕久久久 | 国内成人精品2018免费看| 亚洲综合一区二区精品导航| 精品毛片乱码1区2区3区| 在线视频观看一区| 懂色av一区二区夜夜嗨| 久久精品国产一区二区三 | 久久久99免费| 欧美一级午夜免费电影| 在线精品亚洲一区二区不卡| 国产91综合网| 美女脱光内衣内裤视频久久影院| 一区二区不卡在线播放 | 午夜精品久久久久久久99樱桃| 欧美国产一区在线| 亚洲精品在线三区| 日韩一区二区在线看| 欧美日韩1234| 在线观看欧美精品| 一本高清dvd不卡在线观看| 99天天综合性| 99在线视频精品| 国产成人免费在线视频| 国产麻豆精品theporn| 久久精品国产免费看久久精品| 亚洲男女一区二区三区| 亚洲视频免费观看| 国产调教视频一区| 中文字幕精品三区| 国产精品色哟哟网站| 精品国产乱码久久久久久免费 | 石原莉奈在线亚洲二区| 五月激情丁香一区二区三区| 亚洲国产精品久久人人爱蜜臀| 一区二区三区国产精华| 亚洲一区二区中文在线| 亚洲综合色成人| 亚洲成人自拍一区| 日日夜夜免费精品视频| 视频一区二区三区中文字幕| 天天综合网 天天综合色| 日韩av一区二区在线影视| 日本不卡一二三区黄网| 国产一区亚洲一区| 国产成人综合网| 成人av电影免费在线播放| 色乱码一区二区三区88| 精品视频999| 日韩午夜在线观看视频| 久久久久国产精品人| 国产精品视频在线看| 亚洲乱码国产乱码精品精小说| 一区二区三区在线播放| 蜜芽一区二区三区| 国产精品一区二区久激情瑜伽| 成人精品视频一区二区三区尤物| 99精品一区二区| 欧美日韩高清影院| 久久久久久久久伊人| 亚洲人成精品久久久久| 日本色综合中文字幕| 丁香激情综合五月| 欧美日韩国产综合一区二区| 337p日本欧洲亚洲大胆色噜噜| 国产精品网曝门| 日本亚洲三级在线| 丁香啪啪综合成人亚洲小说 | 91猫先生在线| 91精品国产91久久久久久一区二区 | 亚洲色图一区二区三区| 美女视频免费一区| av不卡免费在线观看| 日韩欧美www| 亚洲免费视频成人| 激情久久五月天| 欧美体内she精高潮| 国产欧美一区二区在线| 性久久久久久久久久久久| 国产传媒一区在线| 欧美一区二区久久久| 亚洲人成小说网站色在线| 久久国内精品视频| 欧美亚洲自拍偷拍| 中文字幕第一页久久| 美日韩黄色大片| 色天使久久综合网天天| 亚洲国产精品精华液ab| 美女视频免费一区| 在线免费观看日本欧美| 国产日韩欧美在线一区| 免费人成黄页网站在线一区二区| 色哟哟一区二区三区| 欧美国产一区二区在线观看| 久久草av在线| 久久一日本道色综合| 婷婷丁香久久五月婷婷| 欧美性xxxxx极品少妇| 中文字幕在线一区免费| 国产精品亚洲成人| 欧美mv和日韩mv国产网站| 日本在线不卡一区| 欧美日韩精品一区二区三区蜜桃| 亚洲另类一区二区| 成人免费毛片嘿嘿连载视频| 久久久亚洲高清| 精品一区二区久久久| 日韩一级精品视频在线观看| 亚洲电影激情视频网站| 欧美色图第一页| 一区2区3区在线看| 欧美日韩一二三| 日韩精品成人一区二区在线| 欧美日韩高清在线|