Geant4  10.03.p02
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
SbPainterPS.h
Go to the documentation of this file.
1 //
2 // ********************************************************************
3 // * License and Disclaimer *
4 // * *
5 // * The Geant4 software is copyright of the Copyright Holders of *
6 // * the Geant4 Collaboration. It is provided under the terms and *
7 // * conditions of the Geant4 Software License, included in the file *
8 // * LICENSE and available at http://cern.ch/geant4/license . These *
9 // * include a list of copyright holders. *
10 // * *
11 // * Neither the authors of this software system, nor their employing *
12 // * institutes,nor the agencies providing financial support for this *
13 // * work make any representation or warranty, express or implied, *
14 // * regarding this software system or assume any liability for its *
15 // * use. Please see the license in the file LICENSE and URL above *
16 // * for the full disclaimer and the limitation of liability. *
17 // * *
18 // * This code implementation is the result of the scientific and *
19 // * technical work of the GEANT4 collaboration. *
20 // * By using, copying, modifying or distributing the software (or *
21 // * any work based on the software) you agree to acknowledge its *
22 // * use in resulting scientific publications, and indicate your *
23 // * acceptance of all terms of the Geant4 Software license. *
24 // ********************************************************************
25 //
26 // History :
27 // - 25/09/98, G.Barrand : creation.
28 
29 #ifndef HEPVis_SbPainterPS_h
30 #define HEPVis_SbPainterPS_h
31 
32 // Inheritance :
33 #include <HEPVis/SbPainter.h>
34 
35 #include <stdarg.h>
36 
37 #include <Inventor/SbViewportRegion.h>
38 
39 #define SbPainterPS Geant4_SbPainterPS
40 
41 class SbPainterPS : public SbPainter {
42 public:
43  SbPainterPS();
44  ~SbPainterPS();
45  void beginTraversal();
46  void clearColorBuffer(float,float,float);
47  //void drawPrimitive(SbPrimitiveType,
48  // int,float*,float*,float*,
49  // const SbPainterContext&);
50  void endTraversal();
51 public:
52  void setColorScheme(int);
53  void setOrientation(int);
54  void setBackgroundDrawn(int);
55  void setBitsPerPixel(int);
56  void setLineWidth(int);
57  void* getStream();
58  void setFileName(const char*);
59  const char* getFileName() const;
60  void openFileForWriting(const char*);
61  void closeStream();
62  void putPageScaleInStream(float,float);
63  void putSaveStateInStream();
65  void putTranslationInStream(float,float);
66  void putScaleInStream(float,float);
67  void putBeginPageInStream();
68  void putEndPageInStream();
69  void putRGB_InStream(float,float,float);
70  void putMarkerSizeInStream(float);
71  //void putMarkerStyleInStream(SbMarkerStyle);
72  void putBackgroundInStream(float,float,float,float,float);
73  void putFrameInStream(float,float,float,float,float);
74  void putRotateInStream(float);
75  void putNewPathInStream();
76  void putStrokeInStream();
77  void putFillInStream();
78  void putClosePathInStream();
79  void putCapInStream(int);
80  void putLineToInStream(float,float);
81  void putMoveInStream(float,float);
82  void putCircleInStream(float,float,float);
83  void putLineWidthInStream(int);
84  //void putLineStyleInStream(SbLineStyle);
85  typedef int(*GetRGB_Function)(unsigned int,unsigned int,
86  double&,double&,double&);
87  void putImageInStream(unsigned int,unsigned int,GetRGB_Function);
88 private:
89  //void drawPolygon(int,float*,float*,float,float,float,const SbAreaStyle&);
90  //void drawLines(int,float*,float*,float,float,float,const SbLineStyle&,int);
91  //void drawMarkers(int,float*,float*,
92  // float,float,float,const SbMarkerStyle&,int);
93  enum ColorScheme {
94  Color = 0,
95  Grey = 1,
96  BlackWhite = 2
97  };
98  struct {
99  int shade;
100  int portrait;
101  int nbit;
102  int doBack;
103  float lineWidth;
104  } fParams;
105  float fDeviceWidth;
106  float fDeviceHeight;
107  int fPageNumber;
108  float fMarkerSize;
109  FILE* fFile;
110  char* fFileName;
111  int fGSave;
112  int fBufferCount;
113  char* fBufferString;
114 #define METAFILE_RECORD_LENGTH 80
115  unsigned char fBufferPointer[METAFILE_RECORD_LENGTH+1];
116 private:
117  void putInStreamF(const char*,...);
118  void printFLN(const char*,...);
119  void printV(const char*,va_list);
120  float convertRGB_ToGrey(float,float,float);
121  void writeByte(unsigned char);
122 };
123 
124 #endif
125 
126 
127 
128 
129 
void putBeginPageInStream()
void putRestoreStateInStream()
void putNewPathInStream()
void putScaleInStream(float, float)
void putStrokeInStream()
void * getStream()
void clearColorBuffer(float, float, float)
void putMarkerSizeInStream(float)
float lineWidth
Definition: SbPainterPS.h:103
void putImageInStream(unsigned int, unsigned int, GetRGB_Function)
#define METAFILE_RECORD_LENGTH
Definition: SbPainterPS.h:114
void setLineWidth(int)
void openFileForWriting(const char *)
void putPageScaleInStream(float, float)
void setFileName(const char *)
const char * getFileName() const
void putRGB_InStream(float, float, float)
void setOrientation(int)
void putTranslationInStream(float, float)
void setBackgroundDrawn(int)
void putCircleInStream(float, float, float)
typedef int(XMLCALL *XML_NotStandaloneHandler)(void *userData)
void putFrameInStream(float, float, float, float, float)
void setColorScheme(int)
void putClosePathInStream()
void putCapInStream(int)
void putRotateInStream(float)
void putLineWidthInStream(int)
Color
Definition: test07.cc:36
void putBackgroundInStream(float, float, float, float, float)
void putSaveStateInStream()
void putEndPageInStream()
void closeStream()
int(* GetRGB_Function)(unsigned int, unsigned int, double &, double &, double &)
Definition: SbPainterPS.h:85
void beginTraversal()
void endTraversal()
void putMoveInStream(float, float)
void putLineToInStream(float, float)
void putFillInStream()
void setBitsPerPixel(int)