PLplot  5.10.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros
pltkd.h
Go to the documentation of this file.
1 // $Id: pltkd.h 12933 2014-01-12 02:53:54Z airwin $
2 //
3 // Holds system header includes, prototypes of TK driver
4 // utility functions, and definition of the state structure.
5 //
6 // This file is set up so that the determined user can get access
7 // to the tk driver data without too much hassle. The only drawback
8 // is that plplotP.h must be included to get all of the necessary
9 // system header files and configuration settings.
10 //
11 
12 #ifndef __PLTKD_H__
13 #define __PLTKD_H__
14 
15 #include "plplotP.h"
16 #include "pltk.h"
17 #include "pdf.h"
18 
19 #include <tk.h>
20 #ifdef PLD_dp
21 #include <dp.h>
22 #endif
23 
24 // typedef the type pid_t - a dummy for the moment - for MS Windows
25 // platforms other than those (e.g., MinGW) that typedef it already.
26 #if defined ( __WIN32__ ) && !defined ( __MINGW32__ )
27 typedef unsigned int pid_t;
28 #endif
29 
30 // One of these holds the TK driver state information
31 
32 typedef struct
33 {
34  Tk_Window w; // Main window
35  Tcl_Interp *interp; // Interpreter
36  PLINT xold, yold; // Coordinates of last point plotted
37  unsigned width, height; // Current window dimensions
38  int exit_eventloop; // Break out of event loop
39  int pass_thru; // Skip normal error termination
40  char *cmdbuf; // Command buffer
41  size_t cmdbuf_len; // and its length
42  PLiodev *iodev; // I/O device info
43  const char *updatecmd; // Name of update command
44  pid_t child_pid; // PID for child process
45  int instr; // Instruction timer
46  int max_instr; // Limit before issuing an update
47  int locate_mode; // Set while in locate mode
48  PLGraphicsIn gin; // Graphics input structure
49 } TkDev;
50 
51 #endif // __PLTKD_H__