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

Last change on this file since 923 was 529, checked in by garnier, 18 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.