/usr/include/root/TPostScript.h is in libroot-graf2d-postscript-dev 5.34.14-1build1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 | // @(#)root/postscript:$Id$
// Author: O.Couet 16/07/99
/*************************************************************************
* Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *
* All rights reserved. *
* *
* For the licensing terms see $ROOTSYS/LICENSE. *
* For the list of contributors see $ROOTSYS/README/CREDITS. *
*************************************************************************/
#ifndef ROOT_TPostScript
#define ROOT_TPostScript
//////////////////////////////////////////////////////////////////////////
// //
// TPostScript //
// //
// PostScript driver. //
// //
//////////////////////////////////////////////////////////////////////////
#ifndef ROOT_TVirtualPS
#include "TVirtualPS.h"
#endif
class TPoints;
class TPostScript : public TVirtualPS {
protected:
Float_t fX1v; //X bottom left corner of paper
Float_t fY1v; //Y bottom left corner of paper
Float_t fX2v; //X top right corner of paper
Float_t fY2v; //Y top right corner of paper
Float_t fX1w; //
Float_t fY1w; //
Float_t fX2w; //
Float_t fY2w; //
Float_t fDXC; //
Float_t fDYC; //
Float_t fXC; //
Float_t fYC; //
Float_t fFX; //
Float_t fFY; //
Float_t fXVP1; //
Float_t fXVP2; //
Float_t fYVP1; //
Float_t fYVP2; //
Float_t fXVS1; //
Float_t fXVS2; //
Float_t fYVS1; //
Float_t fYVS2; //
Float_t fXsize; //Page size along X
Float_t fYsize; //Page size along Y
Float_t fMaxsize; //Largest dimension of X and Y
Float_t fRed; //Per cent of red
Float_t fGreen; //Per cent of green
Float_t fBlue; //Per cent of blue
Float_t fLineScale; //Line width scale factor
Int_t fLineJoin; //Appearance of joining lines
Int_t fSave; //Number of gsave for restore
Int_t fNXzone; //Number of zones along X
Int_t fNYzone; //Number of zones along Y
Int_t fIXzone; //Current zone along X
Int_t fIYzone; //Current zone along Y
Float_t fMarkerSizeCur; //current transformed value of marker size
Int_t fCurrentColor; //current Postscript color index
Int_t fNpages; //number of pages
Int_t fType; //PostScript workstation type
Int_t fMode; //PostScript mode
Int_t fClip; //Clipping mode
Bool_t fBoundingBox; //True for Encapsulated PostScript
Bool_t fClear; //True when page must be cleared
Bool_t fClipStatus; //Clipping Indicator
Bool_t fRange; //True when a range has been defined
Bool_t fZone; //Zone indicator
char fPatterns[32]; //Indicate if pattern n is defined
Int_t fNbinCT; //Number of entries in the current Cell Array
Int_t fNbCellW; //Number of boxes per line
Int_t fNbCellLine; //Number of boxes in the current line
Int_t fMaxLines; //Maximum number of lines in a PS array
Int_t fLastCellRed; //Last red value
Int_t fLastCellGreen; //Last green value
Int_t fLastCellBlue; //Last blue value
Int_t fNBSameColorCell; //Number of boxes with the same color
TString fFileName; //PS file name
Bool_t fFontEmbed; //True is FontEmbed has been called
static Int_t fgLineJoin; //Appearance of joining lines
public:
TPostScript();
TPostScript(const char *filename, Int_t type=-111);
virtual ~TPostScript();
void CellArrayBegin(Int_t W, Int_t H, Double_t x1, Double_t x2,
Double_t y1, Double_t y2);
void CellArrayFill(Int_t r, Int_t g, Int_t b);
void CellArrayEnd();
void Close(Option_t *opt="");
Int_t CMtoPS(Double_t u) {return Int_t(0.5 + 72*u/2.54);}
void DefineMarkers();
void DrawBox(Double_t x1, Double_t y1,Double_t x2, Double_t y2);
void DrawFrame(Double_t xl, Double_t yl, Double_t xt, Double_t yt,
Int_t mode, Int_t border, Int_t dark, Int_t light);
void DrawHatch(Float_t dy, Float_t angle, Int_t n, Float_t *x,
Float_t *y);
void DrawHatch(Float_t dy, Float_t angle, Int_t n, Double_t *x,
Double_t *y);
void DrawPolyLine(Int_t n, TPoints *xy);
void DrawPolyLineNDC(Int_t n, TPoints *uv);
void DrawPolyMarker(Int_t n, Float_t *x, Float_t *y);
void DrawPolyMarker(Int_t n, Double_t *x, Double_t *y);
void DrawPS(Int_t n, Float_t *xw, Float_t *yw);
void DrawPS(Int_t n, Double_t *xw, Double_t *yw);
bool FontEmbedType1(const char *filename);
bool FontEmbedType2(const char *filename);
bool FontEmbedType42(const char *filename);
void FontEmbed();
void FontEncode();
void Initialize();
void NewPage();
void Off();
void On();
void Open(const char *filename, Int_t type=-111);
void SaveRestore(Int_t flag);
void SetFillColor( Color_t cindex=1);
void SetFillPatterns(Int_t ipat, Int_t color);
void SetLineColor( Color_t cindex=1);
void SetLineJoin(Int_t linejoin=0);
void SetLineStyle(Style_t linestyle = 1);
void SetLineWidth(Width_t linewidth = 1);
void SetLineScale(Float_t scale=3) {fLineScale = scale;}
void SetMarkerColor( Color_t cindex=1);
void SetTextColor( Color_t cindex=1);
void MovePS(Int_t x, Int_t y);
void Range(Float_t xrange, Float_t yrange);
void SetColor(Int_t color = 1);
void SetColor(Float_t r, Float_t g, Float_t b);
void Text(Double_t x, Double_t y, const char *string);
void Text(Double_t x, Double_t y, const wchar_t *string);
void TextNDC(Double_t u, Double_t v, const char *string);
void TextNDC(Double_t u, Double_t v, const wchar_t *string);
Int_t UtoPS(Double_t u);
Int_t VtoPS(Double_t v);
Int_t XtoPS(Double_t x);
Int_t YtoPS(Double_t y);
void Zone();
ClassDef(TPostScript,0) //PostScript driver
};
#endif
|