00001 // $Id: pltkd.h 11295 2010-11-01 22:19:45Z airwin $ 00002 // 00003 // Holds system header includes, prototypes of TK driver 00004 // utility functions, and definition of the state structure. 00005 // 00006 // This file is set up so that the determined user can get access 00007 // to the tk driver data without too much hassle. The only drawback 00008 // is that plplotP.h must be included to get all of the necessary 00009 // system header files and configuration settings. 00010 // 00011 00012 #ifndef __PLTKD_H__ 00013 #define __PLTKD_H__ 00014 00015 #include "plplotP.h" 00016 #include "pltk.h" 00017 #include "pdf.h" 00018 00019 #include <tk.h> 00020 #ifdef PLD_dp 00021 #include <dp.h> 00022 #endif 00023 00024 // One of these holds the TK driver state information 00025 00026 typedef struct 00027 { 00028 Tk_Window w; // Main window 00029 Tcl_Interp *interp; // Interpreter 00030 PLINT xold, yold; // Coordinates of last point plotted 00031 unsigned width, height; // Current window dimensions 00032 int exit_eventloop; // Break out of event loop 00033 int pass_thru; // Skip normal error termination 00034 char *cmdbuf; // Command buffer 00035 int cmdbuf_len; // and its length 00036 PLiodev *iodev; // I/O device info 00037 char *updatecmd; // Name of update command 00038 pid_t child_pid; // PID for child process 00039 int instr; // Instruction timer 00040 int max_instr; // Limit before issuing an update 00041 int locate_mode; // Set while in locate mode 00042 PLGraphicsIn gin; // Graphics input structure 00043 } TkDev; 00044 00045 #endif // __PLTKD_H__