source: trunk/source/visualization/OpenInventor/include/HEPVis/SbPainterPS.h @ 1337

Last change on this file since 1337 was 529, checked in by garnier, 17 years ago

r658@mac-90108: laurentgarnier | 2007-06-25 12:02:16 +0200
import de visualisation

  • Property svn:mime-type set to text/cpp
File size: 4.4 KB
Line 
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
41class SbPainterPS : public SbPainter {
42public:
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();
51public:
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();
64  void putRestoreStateInStream();
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);
88private:
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  long fPagePos;
109  float fMarkerSize;
110  FILE* fFile;
111  char* fFileName;
112  int fGSave;
113  int fBufferCount;
114  char* fBufferString;
115#define METAFILE_RECORD_LENGTH  80
116  unsigned char fBufferPointer[METAFILE_RECORD_LENGTH+1];
117private:
118  void putInStreamF(const char*,...);
119  void printFLN(const char*,...);
120  void printV(const char*,va_list);
121  float convertRGB_ToGrey(float,float,float);
122  void writeByte(unsigned char);
123};
124
125#endif
126
127
128
129
130
Note: See TracBrowser for help on using the repository browser.