home *** CD-ROM | disk | FTP | other *** search
- /****************************************************************
- *
- * Name: POINT
- *
- * Function: track the pointer as it passes through the window.
- *
- * Shows how to: 1. create and read a pointer object.
- * 2. force the keyboard mouse ON, if applicable.
- * 3. display single characters in a window.
- * 4. jump the pointer.
- * 5. change cursor position for a window.
- *
- ****************************************************************/
-
- #include <stdio.h>
- #include "dvapi.h"
-
- /* minimum API version required */
- #define required 0x201
-
- /* actual API version number */
- int version;
-
- /* object handles */
- ulong win,ptr;
-
- /* variables used to read pointer messages */
-
- int mlng;
- struct {int row;
- int col;
- char button;
- char field;
- } *mptr;
-
- /* startup message */
- char msg1[] = "\
- This program will display a \"0\" wherever you\n\
- move the mouse and a \"1\" wherever you click\n\
- button 1. Button 2 exits the program.\n";
-
-
- /**********************************************************************
- * main - check for DESQview present and enable required extensions.
- ***********************************************************************/
-
- main () {
- /* initialize C interfaces and get API version number */
- version = api_init();
-
- /* if DESQview is not running or version is too low, display a message */
- if (version < required) {
- printf ("This program requires DESQview version %d.02%d or later.\n",
- required/256,required%256);
- }
-
- /* tell DESQview what extensions to enable and start application */
- else {
- api_level (required);
- program_body();
- }
-
- /* disable C interfaces and return from program */
- api_exit();
- }
-
-
- /**********************************************************************
- * program_body - display a "0" wherever the pointer moves and a
- * "1" wherever button 1 is clicked.
- ***********************************************************************/
-
- program_body () {
- /* find window handle and create a pointer object */
- win = win_me();
- ptr = ptr_new();
-
- /* erase the window and display startup message */
- win_erase (win);
- win_swrite (win,msg1);
-
- /* open the pointer object, force keyboard mouse ON, and position pointer */
- ptr_open (ptr,win);
- api_kmouse (1);
- ptr_write (ptr,4,20);
-
- /* loop until button 2 is clicked */
- do {
-
- /* read a pointer message and extract button number */
- ptr_read (ptr,&mptr,&mlng);
-
- /* move cursor to pointer position and display button # or 0 */
- win_cursor (win,mptr->row,mptr->col);
- win_putc (win,'0'+(mptr->button),7);
- }
- while ((mptr->button) != 2);
-
- /* free pointer object and return */
- ptr_free (ptr);
- }
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-