gpm: Concepts
4.3.1 Concepts
--------------
The high-level library is completely independent of the low-level one,
so it uses 'gpm_handler' and 'gpm_data' as connection point with
'Gpm_Getc()'.
All the functionality is based on the concept of RoI's. each RoI is
described by a 'Gpm_Roi' structure, which is made up by the following
fields:
'short xMin, xMax'
These numbers identify the upper-left corner of the region. When
events are reported to the region, the event coordinate will be
relative to this position (zero-based).
'short yMin, yMax'
These numbers identify the lower-right corner of the region.
'unsigned short minMod, maxMod'
These modifier masks have the same role within the application as
the same fields have in inter-application multiplexing.
'unsigned short eventMask'
It is the mask of events which are to be reported to the current
region.
'unsigned short owned'
This is a bit, used to know if the region is owned by the library
or the application, in order to issue 'free(0' when needed.
'Gpm_Handler *handler'
The function to be called when events are to be reported to the
current region.
'void *clientdata'
The clientdata to be passed to the handler
'Gpm_Roi *next, *prev'
Links to the RoI chain.