View Single Post
Old 15 March 2014, 21:15   #1
Registered User
Join Date: Aug 2004
Posts: 2,481
tablet.library information

Information about tablet.library is listed as one of the wanted things on so I've taken a look at the Deluxe Paint V and OpalPaint code. Apparently ArtEffect 2.6 (or later?) supports tablet.library, but I haven't looked at that.

Tablet.library was provided by the AccuPoint software published by TriMedia. Apparently they worked with Commodore to define the tablet interface used in Intuition V39+, so there are many similarities. Read the intuition/intuition.h include file for info about tablet-related data structures.

DPaint and OpalPaint seem to only use three functions in tablet.library. There may be more functions of course.

The DextraPoint tablet driver comes with source code which might be some use if implementing an Amiga tablet driver.

Offset -$1E function
Open/own/allocate tablet. Since a tablet is read-only, this might not exclusively "own" the tablet, but it would need to allocate a separate TabletData structure for each opener. The taglist argument is probably used to specify which tags the calling program wants to receive. The driver presumably doesn't, for example, put a TABLETA_InProximity tag in td_TagList after a call to function -$2A, unless the caller passed that tag in the taglist pointed to by A0.
For example, DPaint passes a taglist with TABLETA_Pressure. OpalPaint passes a taglist with TABLETA_Pressure and TABLETA_InProximity.

The TabletData structure is probably filled out with the current tablet state: After calling this function DPaint checks for a TABLETA_Pressure tag in td_TagList. If not present it shows an error message.

Call with:
A0: Pointer to taglist with TABLETA_xxx tag values. (Maybe it's acceptable for this argument to be 0?)
D0: Pointer to a TabletData structure (see intuition/intuition.h), or 0 for failure.

Offset -$24 function
Close/free/disown tablet.
Call with:
A0: pointer to the TabletData structure which was returned by the -$1E function.

Offset -$2A function
Read tablet data, filling out fields of the TabletData structure. Perhaps the IntuiMessage pointer argument is to allow the tablet driver to e.g. set mouse buttons qualifier and/or MouseX/MouseY, if the user has enabled that option???
Call with:
A0: Pointer to an IntuiMessage
A1: Pointer to TabletData structure
D0: Some value, non-zero for success.
mark_k is offline  
AdSense AdSense  
Page generated in 0.06666 seconds with 9 queries