/* Copyright 2010 Fictive (Fictive's public key's fingerprint is "44:1a:41:70:b1:22:d4:93:3a:bb:84:62:60:0b:e4:a3") This file is part of Sane Java Tablet. Sane Java Tablet is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. Sane Java Tablet is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with Sane Java Tablet. If not, see <http://www.gnu.org/licenses/>. */ package domain.libs.sjt.winimpl.wintab.defs; import com.sun.jna.Native; import com.sun.jna.Pointer; import com.sun.jna.win32.StdCallLibrary; public interface Wintab32 extends StdCallLibrary { Wintab32 INSTANCE = (Wintab32)Native.loadLibrary("Wintab32", Wintab32.class); /* UINT API WTInfoW(UINT, UINT, LPVOID); */ int WTInfoW(int wCategory, int nIndex, Pointer lpOutput); int WTInfoW(int wCategory, int nIndex, LOGCONTEXTW lpOutput); int WTInfoW(int wCategory, int nIndex, AXIS lpOutput); // int WTInfoW(int wCategory, int nIndex, IntByReference lpOutput); // int WTInfoW(int wCategory, int nIndex, char[] lpOutput); // int WTInfoW(int wCategory, int nIndex, int lpOutput); int WTInfoW(int wCategory, int nIndex, short[] lpOutput); int WTInfoW(int wCategory, int nIndex, int[] lpOutput); int WTInfoW(int wCategory, int nIndex, String lpOutput); /* HCTX API WTOpenW(HWND, LPLOGCONTEXTW, BOOL); */ Pointer WTOpenW(Pointer hWnd, LOGCONTEXTW lpLogCtx, int fEnable); /* BOOL API WTEnable(HCTX, BOOL); */ int WTEnable(Pointer hCtx, int fEnable); /* BOOL API WTOverlap(HCTX, BOOL); */ int WTOverlap(Pointer hCtx, int fEnable); /* BOOL API WTClose(HCTX); */ int WTClose(Pointer hCtx); // /* int API WTPacketsGet(HCTX, int, LPVOID); */ // int WTPacketsGet(Pointer hCtx, int MaxPackets, Pointer lpPkts); // /* BOOL API WTPacket(HCTX, UINT, LPVOID); */ // int WTPacket(Pointer hCtx, int wSerial, Pointer lpPkt); // /* BOOL API WTGetW(HCTX, LPLOGCONTEXTW); */ // int WTGetW(Pointer hCtx, LOGCONTEXTW lpLogCtx); // /* BOOL API WTConfig(HCTX, HWND); */ // int WTConfig(Pointer hCtx, Pointer hWnd); // /* BOOL API WTExtGet(HCTX, UINT, LPVOID); */ // int WTExtGet(Pointer hCtx, int wExt, Pointer lpData); // int WTExtGet(Pointer hCtx, int wExt, byte[] lpData); // /* BOOL API WTExtSet(HCTX, UINT, LPVOID); */ // int WTExtSet(Pointer hCtx, int wExt, Pointer lpData); // int WTExtSet(Pointer hCtx, int wExt, byte[] lpData); /* BOOL API WTQueueSizeSet(HCTX, int); */ int WTQueueSizeSet(Pointer hCtx, int nPkts); /* DEFINITIONS BELOW */ public static long LCNAMELEN = 40L; public static long WT_DEFBASE = 0x7FF0L; public static long WT_PACKET = WT_DEFBASE + 0L; public static long CXO_SYSTEM = 1L; public static long CXO_MESSAGES = 4L; public static long CXO_CSRMESSAGES = 8L; public static long CXS_ONTOP = 4L; public static long CXL_INSIZE = 1L; public static long CXL_INASPECT = 2L; public static long PK_CONTEXT = 0x0001L; /* reporting context */ public static long PK_STATUS = 0x0002L; /* status bits */ public static long PK_TIME = 0x0004L; /* time stamp */ public static long PK_CHANGED = 0x0008L; /* change bit vector */ public static long PK_SERIAL_NUMBER = 0x0010L; /* packet serial number */ public static long PK_CURSOR = 0x0020L; /* reporting cursor */ public static long PK_BUTTONS = 0x0040L; /* button information */ public static long PK_X = 0x0080L; /* x axis */ public static long PK_Y = 0x0100L; /* y axis */ public static long PK_Z = 0x0200L; /* z axis */ public static long PK_NORMAL_PRESSURE = 0x0400L; /* normal or tip pressure */ public static long PK_TANGENT_PRESSURE = 0x0800L; /* tangential or barrel pressure */ public static long PK_ORIENTATION = 0x1000L; /* orientation info: tilts */ public static long PK_ROTATION = 0x2000L; /* rotation info; 1.1 */ public static long WTI_DEVICES = 100L; public static long WTI_INTERFACE = 1L; public static long IFC_SPECVERSION = 2L; public static long IFC_NDEVICES = 4L; public static long IFC_NCURSORS = 5L; public static long DVC_NAME = 1L; public static long DVC_PKTRATE = 5L; public static long DVC_XMARGIN = 9L; public static long DVC_YMARGIN = 10L; public static long DVC_X = 12L; public static long DVC_Y = 13L; public static long DVC_Z = 14L; public static long DVC_PNPID = 19L; public static long WTI_DEFCONTEXT = 3L; public static long WTI_DEFSYSCTX = 4L; public static long WTI_DDCTXS = 400L; /* 1.1 */ public static long WTI_DSCTXS = 500L; /* 1.1 */ public static long WTI_CURSORS = 200L; public static long CSR_NAME = 1L; public static long WTX_CSRMASK = 3L; public static long WTI_EXTENSIONS = 300L; public static long EXT_TAG = 2L; public static long EXT_NAME = 1L; public static long CTX_INORGX = 13L; public static long CTX_INORGY = 14L; public static long CTX_INORGZ = 15L; public static long CTX_INEXTX = 16L; public static long CTX_INEXTY = 17L; public static long CTX_INEXTZ = 18L; public static long CTX_OUTORGX = 19L; public static long CTX_OUTORGY = 20L; public static long CTX_OUTORGZ = 21L; public static long CTX_OUTEXTX = 22L; public static long CTX_OUTEXTY = 23L; public static long CTX_OUTEXTZ = 24L; public static long CTX_SYSORGX = 29L; public static long CTX_SYSORGY = 30L; public static long CTX_SYSEXTX = 31L; public static long CTX_SYSEXTY = 32L; }