csgo-2018-source/public/wintab
2021-07-24 21:11:47 -07:00
..
examples uid issue 2021-07-24 21:11:47 -07:00
include uid issue 2021-07-24 21:11:47 -07:00
lib uid issue 2021-07-24 21:11:47 -07:00
wintabx uid issue 2021-07-24 21:11:47 -07:00
wntab32x uid issue 2021-07-24 21:11:47 -07:00
readme.txt uid issue 2021-07-24 21:11:47 -07:00

   ------------------------------- readme.txt -------------------------------   

     Wintab(tm) Programmer's Kit V. 1.26 for 16- and 32-bit Windows APIs.

     This file contains programmer's kit installation instructions and
     programming notes.

     Please direct your programming questions and comments to:

	LCS/Telegraphics
	150 Rogers St.
	Cambridge, MA 02142
	voice: (617) 225-7970
	fax: (617) 225-7969
	email: wintab@pointing.com
	web site: http://www.pointing.com
	ftp site: ftp://ftp.pointing.com/pointing/Wintab/

     Questions or problems regarding specific devices or device drivers
     should be directed to the device manufacturer.

   --------------------------------------------------------------------------   
				Legal/Disclaimer
   --------------------------------------------------------------------------   

     The Wintab specification is intended to be an open standard. The
     Wintab Programmer's Kit is an aid to understanding the Wintab
     standard and implementing Wintab-compliant applications.  As such,
     the text and information contained herein may be freely used, copied,
     or distributed without compensation or licensing restrictions.

     The Wintab Programmer's Kit is copyright 1991-1998 by
     LCS/Telegraphics.

     LCS/Telegraphics does not assume any liability for damages resulting
     from the use of the information contained herein.

   --------------------------------------------------------------------------   
				  Installation
   --------------------------------------------------------------------------   

     * Getting the latest Wintab driver files

     To get the latest Wintab driver files, including WINTAB.DLL and
     WINTAB32.DLL, contact your device manufacturer. Follow the
     manufacturer's installation directions.

     * Installing the development files

     The files are in several subdirectories on this disk. To copy the
     whole tree to your hard disk, use XCOPY with the /S flag. 

     Example:
     	xcopy a:\*.* c:\wintab\ /s

     * Installing the sample programs and testing your configuration

     To test your Wintab driver configuration, build and run the
     sample programs. (Previous versions of this kit included executable
     of all the samples, but as Windows platforms proliferate, these have	
     been dropped to control the size of the kit.)  The source code for
     the programs is in stored in subdirectories by program name. 

     * Project settings for WTKIT
     All projects require that the LIB and INCLUDE variables point to
     the appropriate Windows SDK directories.  Also, the WINTAB variable
     must point to a tree containing the LIB and INCLUDE subtrees from the
     Wintab Programmer's Kit.  

     For example, in MSVC 5.0, under the Tools menu, Options setting,
     the WINTAB\INCLUDE directory must be listed as a directory for
     Include files, and the WINTAB\LIB\I386 must be listed as a directory
     for library files.  Also, please see the note about linker warnings
     during the debug build under the WNTAB32X.LIB section of this document.

     * Compiler notes
     Makefiles compatible with Microsoft NMAKE are in the win16
     subdirectories.  Project files for Microsoft Visual C versions 4.2
     and 5.0 are in the win32 subdirectories. 
	
     MSVC 5.0 will be able to compile all the projects. 

     MSVC 4.2 will not be able to compile MFC_DEMO and WTHOOK
     projects.  

     * Cleaning intermediate files before switching targets 
     Please cleanup intermediate files between builds to different targets.
     If you have built the programs from source for one target environment,
     and wish to switch to another target, first run the command NMAKE
     CLEANALL in the source subdirectories.

   --------------------------------------------------------------------------   
		       Using WINTABX.LIB and WNTAB32X.LIB
   --------------------------------------------------------------------------   

     Two types of import libraries are provided. WINTAB.LIB and
     WINTAB32.LIB are regular import libraries created with the SDK
     utilities. Any module linked with WINTAB.LIB or WINTAB32.LIB will not
     load unless Wintab API support is present. WINTABX.LIB and
     WNTAB32X.LIB are more flexible.  They link each function as it is
     invoked, using the Windows functions LoadLibrary and GetProcAddress. 
     If the link fails, the user will see a message box saying "cannot
     find WINTAB.DLL", and the function will return 0 (the failure code
     for all WINTAB functions) to its caller.  Thus, WINTABX and WNTAB32X
     provide the flexibility of run-time linking, while reducing the code
     burden.

     WINTABX and WNTAB32X do add one new requirement, though.  Since Wintab
     was explicitly linked using LoadLibrary, it must be explicitly freed
     using FreeLibrary when shutting down.  WINTABX and WNTAB32X provide a
     new function, _UnlinkWintab, that calls FreeLibrary and resets the
     automatic function-linking mechanism.  The C declaration is included 
     in the header file WINTABX.H.

     If you want to avoid the "cannot find WINTAB.DLL" message when Wintab
     is not present, you can use the Windows function SetErrorMode() to
     suppress the error box while issuing a Wintab function call. For
     example:

	BOOL WintabHere(void)
	{
		/*-----
		Call this function before any Wintab API
		function when using WINTABX.LIB.
	
		This function returns TRUE if Wintab is
		present and functioning; FALSE otherwise.
		No warning message will be displayed if
		the WINTAB.DLL file is not found.
		-----*/
	
		WORD errmode;
		BOOL fResult;
	
		/* suppress error box */
		errmode = SetErrorMode(SEM_NOOPENFILEERRORBOX
	#ifdef WIN32
								| SEM_FAILCRITICALERRORS
	#endif
								);
	
		/* try wintab */
		fResult = WTInfo(0,0,NULL);
	
		/* restore previous error mode */
		SetErrorMode(errmode);
	
		/* return wintab result */
		return fResult;
	}

     *Note on MSVC 5.0 projects using WNTAB32X.LIB
     Note that the linker warning LNK4098 (to recompile with the
     /Nodefaultlib:LIBC option) during the compilation of Debug projects
     will not affect the operation of the resulting executable.  This bug
     will be fixed in the next version of the Wintab Programmer's Kit.
     For example, the WTHOOK project will give this linker warning during
     debug compilation, but the resulting executable is functional.

   --------------------------------------------------------------------------   
		Determining whether 1.1 features are supported
   --------------------------------------------------------------------------   

     To determine which version of the Wintab specification your device
     supports, use the result of the following function call:
     	WTINFO(WTI_INTERFACE,IFC_SPECVERSION)
     Please see MGRTEST for an example.
     The specification version number (either 1.0 or 1.1) will be
     returned.  If you need 1.1 features for your application, and you want to
     make sure they are supported in a tablet, please email us at
     wintab@pointing.com

   --------------------------------------------------------------------------   
			Using Non-Microsoft C Compilers
   --------------------------------------------------------------------------   

     WINTAB.LIB and WINTAB32.LIB are implicit import libraries created and
     tested with Microsoft C tools.  Some linkers from other vendors may
     not work with these versions of the libraries. This Programmer's Kit
     now includes the corresponding WINTAB.DEF and WINTAB32.DEF files used
     to create WINTAB.LIB and WINTAB32.LIB.  Use the .DEF files with your
     vendor's IMPLIB or librarian tools to create compatible import
     libraries.

     WINTABX.LIB and WNTAB32X.LIB have been tested with Microsoft C, but
     not with other C or C++ compilers, or compilers for other languages.
     Source code for these libraries are in the directories WINTABX and
     WNTAB32X.

   --------------------------------------------------------------------------  
				 RULE and RULE2
   --------------------------------------------------------------------------    

     Rule and Rule2 are versions of the same program. Rule demonstrates
     the limitations of a polled input approach in Windows; Rule2
     demonstrates a more robust, message-based approach, and adds a few
     other enhancements.

     To see what's bad about Rule, run it, click on it but don't start
     measuring.  Now turn off your Wintab device. Windows is now hung.

     If you try the same experiment with Rule2, you can still use the
     keyboard.

   --------------------------------------------------------------------------   
			   MGRTEST as a Debugging Aid
   --------------------------------------------------------------------------   

     Besides demonstrating the WTMgr* APIs, MGRTEST is useful in itself.
     You can use MGRTEST to see what contexts are active, their modes,
     status, and active areas, as well as the current overlap order. It
     can be very useful in understanding how various Wintab-aware programs
     use contexts.

   --------------------------------------------------------------------------   
				Keeping in Touch
   --------------------------------------------------------------------------   

     Here are three ways to show your support for the Wintab standard, and
     allow us to let people know that your product has Wintab support.

     1. When you complete Wintab support in your product, let us know. Be
     sure to include the product name, a description, and contact
     information for your company.

     2. If possible, send us an evaluation copy of your product, or the
     portions of it that contain Wintab support.  LCS/Telegraphics is
     building a library of Wintab-compliant applications for ongoing
     compatibility testing.

     3. Join the Committee for Advanced Pointing Standards (CAPS). CAPS
     formed in August of 1993 to promote and support future development of
     the specification.  The more than 40 corporate members of CAPS
     include most major pointing device manufacturers, and many leading
     CAD and graphics arts software developers.  To join CAPS, contact:

	LCS/Telegraphics
	150 Rogers St.
	Cambridge, MA 02142
	voice: (617) 225-7970
	fax: (617) 225-7969
	email: caps@pointing.com
	web site: http://www.pointing.com