Actual source code: drawimpl.h

  1: /* $Id: drawimpl.h,v 1.32 2001/08/06 21:13:34 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,PetscReal,PetscReal,PetscReal,PetscReal,int);
 15:   int (*linesetwidth)(PetscDraw,PetscReal);
 16:   int (*linegetwidth)(PetscDraw,PetscReal*);
 17:   int (*point)(PetscDraw,PetscReal,PetscReal,int);
 18:   int (*pointsetsize)(PetscDraw,PetscReal);
 19:   int (*string)(PetscDraw,PetscReal,PetscReal,int,const char[]);
 20:   int (*stringvertical)(PetscDraw,PetscReal,PetscReal,int,const char[]);
 21:   int (*stringsetsize)(PetscDraw,PetscReal,PetscReal);
 22:   int (*stringgetsize)(PetscDraw,PetscReal*,PetscReal*);
 23:   int (*setviewport)(PetscDraw,PetscReal,PetscReal,PetscReal,PetscReal);
 24:   int (*clear)(PetscDraw);
 25:   int (*synchronizedflush)(PetscDraw);
 26:   int (*rectangle)(PetscDraw,PetscReal,PetscReal,PetscReal,PetscReal,int,int,int,int);
 27:   int (*triangle)(PetscDraw,PetscReal,PetscReal,PetscReal,PetscReal,PetscReal,PetscReal,int,int,int);
 28:   int (*ellipse)(PetscDraw,PetscReal,PetscReal,PetscReal,PetscReal,int);
 29:   int (*getmousebutton)(PetscDraw,PetscDrawButton*,PetscReal *,PetscReal *,PetscReal*,PetscReal*);
 30:   int (*pause)(PetscDraw);
 31:   int (*synchronizedclear)(PetscDraw);
 32:   int (*beginpage)(PetscDraw);
 33:   int (*endpage)(PetscDraw);
 34:   int (*getpopup)(PetscDraw,PetscDraw*);
 35:   int (*settitle)(PetscDraw,const char[]);
 36:   int (*checkresizedwindow)(PetscDraw);
 37:   int (*resizewindow)(PetscDraw,int,int);
 38:   int (*destroy)(PetscDraw);
 39:   int (*view)(PetscDraw,PetscViewer);
 40:   int (*getsingleton)(PetscDraw,PetscDraw*);
 41:   int (*restoresingleton)(PetscDraw,PetscDraw*);
 42:   int (*setcoordinates)(PetscDraw,PetscReal,PetscReal,PetscReal,PetscReal);
 43: };

 45: struct _p_PetscDraw {
 46:   PETSCHEADER(struct _PetscDrawOps)
 47:   int             pause;       /* sleep time after a synchronized flush */
 48:   PetscReal       port_xl,port_yl,port_xr,port_yr;
 49:   PetscReal       coor_xl,coor_yl,coor_xr,coor_yr;
 50:   char            *title;
 51:   char            *display;
 52:   PetscDraw       popup;
 53:   int             x,y,h,w;
 54:   void            *data;
 55: };

 57: #endif