Actual source code: drawimpl.h
1: /* $Id: drawimpl.h,v 1.31 2001/01/15 21:43:21 bsmith Exp $ */
2: /*
3: Abstract data structure and functions for graphics.
4: */
6: #if !defined(_DRAWIMPL_H)
7: #define _DRAWIMPL_H
9: #include "petsc.h"
11: struct _PetscDrawOps {
12: int (*setdoublebuffer)(PetscDraw);
13: int (*flush)(PetscDraw);
14: int (*line)(PetscDraw,double,double,double,double,int);
15: int (*linesetwidth)(PetscDraw,double);
16: int (*linegetwidth)(PetscDraw,double*);
17: int (*point)(PetscDraw,double,double,int);
18: int (*pointsetsize)(PetscDraw,double);
19: int (*string)(PetscDraw,double,double,int,char*);
20: int (*stringvertical)(PetscDraw,double,double,int,char*);
21: int (*stringsetsize)(PetscDraw,double,double);
22: int (*stringgetsize)(PetscDraw,double*,double*);
23: int (*setviewport)(PetscDraw,double,double,double,double);
24: int (*clear)(PetscDraw);
25: int (*synchronizedflush)(PetscDraw);
26: int (*rectangle)(PetscDraw,double,double,double,double,int,int,int,int);
27: int (*triangle)(PetscDraw,double,double,double,double,double,double,int,int,int);
28: int (*getmousebutton)(PetscDraw,PetscDrawButton*,double *,double *,double*,double*);
29: int (*pause)(PetscDraw);
30: int (*synchronizedclear)(PetscDraw);
31: int (*beginpage)(PetscDraw);
32: int (*endpage)(PetscDraw);
33: int (*getpopup)(PetscDraw,PetscDraw*);
34: int (*settitle)(PetscDraw,char *);
35: int (*checkresizedwindow)(PetscDraw);
36: int (*resizewindow)(PetscDraw,int,int);
37: int (*destroy)(PetscDraw);
38: int (*view)(PetscDraw,PetscViewer);
39: int (*getsingleton)(PetscDraw,PetscDraw*);
40: int (*restoresingleton)(PetscDraw,PetscDraw*);
41: int (*setcoordinates)(PetscDraw,double,double,double,double);
42: };
44: struct _p_PetscDraw {
45: PETSCHEADER(struct _PetscDrawOps)
46: int pause; /* sleep time after a synchronized flush */
47: double port_xl,port_yl,port_xr,port_yr;
48: double coor_xl,coor_yl,coor_xr,coor_yr;
49: char *title;
50: char *display;
51: PetscDraw popup;
52: int x,y,h,w;
53: void *data;
54: };
56: #endif