46            Warning(
"TGGC", 
"dash list can have only up to %ld elements",
 
   77      Error(
"TGGC", 
"TGClient not yet initialized, should never happen");
 
   97      gClient->GetGCPool()->fList->Add(
this);
 
  106      gClient->GetGCPool()->ForceFreeGC(
this);
 
  121            gClient->GetGCPool()->fList->Add(
this);
 
  151      switch (bit & values->
fMask) {
 
  220               Warning(
"UpdateValues", 
"dash list can have only up to %ld elements",
 
  240         gClient->GetGCPool()->fList->Add(
this);
 
  492      Warning(
"SetDashList", 
"dash list can have only up to %ld elements",
 
  530      if (
mask.Length() == 0) 
mask  = 
"kGCFunction";
 
  531      else                    mask += 
" | kGCFunction";
 
  534      if (
mask.Length() == 0) 
mask  = 
"kGCPlaneMask";
 
  535      else                    mask += 
" | kGCPlaneMask";
 
  538      if (
mask.Length() == 0) 
mask  = 
"kGCForeground";
 
  539      else                    mask += 
" | kGCForeground";
 
  542      if (
mask.Length() == 0) 
mask  = 
"kGCBackground";
 
  543      else                    mask += 
" | kGCBackground";
 
  546      if (
mask.Length() == 0) 
mask  = 
"kGCLineWidth";
 
  547      else                    mask += 
" | kGCLineWidth";
 
  550      if (
mask.Length() == 0) 
mask  = 
"kGCLineStyle";
 
  551      else                    mask += 
" | kGCLineStyle";
 
  554      if (
mask.Length() == 0) 
mask  = 
"kGCCapStyle";
 
  555      else                    mask += 
" | kGCCapStyle";
 
  558      if (
mask.Length() == 0) 
mask  = 
"kGCJoinStyle";
 
  559      else                    mask += 
" | kGCJoinStyle";
 
  562      if (
mask.Length() == 0) 
mask  = 
"kGCFillStyle";
 
  563      else                    mask += 
" | kGCFillStyle";
 
  566      if (
mask.Length() == 0) 
mask  = 
"kGCFillRule";
 
  567      else                    mask += 
" | kGCFillRule";
 
  570      if (
mask.Length() == 0) 
mask  = 
"kGCTile";
 
  571      else                    mask += 
" | kGCTile";
 
  574      if (
mask.Length() == 0) 
mask  = 
"kGCStipple";
 
  575      else                    mask += 
" | kGCStipple";
 
  578      if (
mask.Length() == 0) 
mask  = 
"kGCTileStipXOrigin";
 
  579      else                    mask += 
" | kGCTileStipXOrigin";
 
  582      if (
mask.Length() == 0) 
mask  = 
"kGCTileStipYOrigin";
 
  583      else                    mask += 
" | kGCTileStipYOrigin";
 
  586      if (
mask.Length() == 0) 
mask  = 
"kGCFont";
 
  587      else                    mask += 
" | kGCFont";
 
  590      if (
mask.Length() == 0) 
mask  = 
"kGCSubwindowMode";
 
  591      else                    mask += 
" | kGCSubwindowMode";
 
  594      if (
mask.Length() == 0) 
mask  = 
"kGCGraphicsExposures";
 
  595      else                    mask += 
" | kGCGraphicsExposures";
 
  598      if (
mask.Length() == 0) 
mask  = 
"kGCClipXOrigin";
 
  599      else                    mask += 
" | kGCClipXOrigin";
 
  602      if (
mask.Length() == 0) 
mask  = 
"kGCClipYOrigin";
 
  603      else                    mask += 
" | kGCClipYOrigin";
 
  606      if (
mask.Length() == 0) 
mask  = 
"kGCClipMask";
 
  607      else                    mask += 
" | kGCClipMask";
 
  610      if (
mask.Length() == 0) 
mask  = 
"kGCDashOffset";
 
  611      else                    mask += 
" | kGCDashOffset";
 
  614      if (
mask.Length() == 0) 
mask  = 
"kGCDashList";
 
  615      else                    mask += 
" | kGCDashList";
 
  618      if (
mask.Length() == 0) 
mask  = 
"kGCArcMode";
 
  619      else                    mask += 
" | kGCArcMode";
 
  634      out << 
"   TGGC   *uGC;           // will reflect user GC changes" << std::endl;
 
  639   const char *colorname;
 
  646   out << 
"   // graphics context changes" << std::endl;
 
  648   out << 
"   GCValues_t " << valname.
Data() << 
";" << std::endl;
 
  649   out << 
"   " << valname.
Data() << 
".fMask = " << 
GetMaskString() << 
";" << std::endl;
 
  651   for (
Mask_t bit = 1; bit <= fmask; bit <<= 1) {
 
  652      switch (bit & fmask) {
 
  657            out << 
"   " << valname.
Data() << 
".fFunction = ";
 
  666                  out << 
"kGXandReverse";
 
  672                  out << 
"kGXandInverted";
 
  693                  out << 
"kGXorReverse";
 
  696                  out << 
"kGXcopyInverted";
 
  699                  out << 
"kGXorInverted";
 
  708            out << 
";" << std::endl;
 
  711            out << 
"   " << valname.
Data() << 
".fPlaneMask = " << 
GetPlaneMask() << 
";" << std::endl;
 
  716            out << 
"   gClient->GetColorByName(" << quote << colorname << quote
 
  717                << 
"," << valname.
Data() << 
".fForeground);" << std::endl;
 
  722            out << 
"   gClient->GetColorByName(" << quote << colorname << quote
 
  723                << 
"," << valname.
Data() << 
".fBackground);" << std::endl;
 
  726            out << 
"   " << valname.
Data() << 
".fLineWidth = " << 
GetLineWidth() << 
";" << std::endl;
 
  729            out << 
"   " << valname.
Data() << 
".fLineStyle = ";
 
  735                  out << 
"kLineOnOffDash";
 
  738                  out << 
"kLineDoubleDash";
 
  741            out << 
";" << std::endl;
 
  744            out << 
"   " << valname.
Data() << 
".fCapStyle = ";
 
  747                  out << 
"kCapNotLast";
 
  756                  out << 
"kCapProjecting";
 
  759            out << 
";" << std::endl;
 
  762            out << 
"   " << valname.
Data() << 
".fJoinStyle = ";
 
  774            out << 
";" << std::endl;
 
  777            out << 
"   " << valname.
Data() << 
".fFillStyle = ";
 
  786                  out << 
"kFillStippled";
 
  789                  out << 
"kFillOpaqueStippled";
 
  792            out << 
";" << std::endl;
 
  795            out << 
"   " << valname.
Data() << 
".fFillRule = ";
 
  798                  out << 
"kEvenOddRule";
 
  801                  out << 
"kWindingRule";
 
  804            out << 
";" << std::endl;
 
  807            out << 
"   " << valname.
Data() << 
".fTile = " << 
GetTile() << 
";" << std::endl;
 
  810            out << 
"   " << valname.
Data() << 
".fStipple = " << 
GetStipple() << 
";" << std::endl;
 
  819            out << 
"   " << valname.
Data() << 
".fFont = ufont->GetFontHandle();" << std::endl;
 
  822            out << 
"   " << valname.
Data() << 
".fSubwindowMode = ";
 
  825                  out << 
"kClipByChildren";
 
  828                  out << 
"kIncludeInferiors";
 
  831            out << 
";" << std::endl;
 
  834            out << 
"   " << valname.
Data() << 
".fGraphicsExposures = ";
 
  839            out << 
";" << std::endl;
 
  842            out << 
"   " << valname.
Data() << 
".fClipXOrigin = " << 
GetClipXOrigin() << 
";" << std::endl;
 
  845            out << 
"   " << valname.
Data() << 
".fClipYOrigin = " << 
GetClipYOrigin() << 
";" << std::endl;
 
  848            out << 
"   " << valname.
Data() << 
".fClipMask = " << 
GetClipMask() << 
";" << std::endl;
 
  851            out << 
"   " << valname.
Data() << 
".fDashOffset = " << 
GetDashOffset() << 
";" << std::endl;
 
  855               Warning(
"TGGC::SavePrimitive", 
"dash list can have only up to %ld elements",
 
  857            out << 
"   " << valname.
Data() << 
".fDashLen = " 
  859            out << 
"   memcpy(GetDashes()," << valname.
Data() << 
".fDashes," 
  860                                            << valname.
Data() << 
".fDashLen);" << std::endl;
 
  863            out << 
"   " << valname.
Data() << 
".fArcMode = ";
 
  869                  out << 
"kArcPieSlice";
 
  872            out << 
";" << std::endl;
 
  876   out << 
"   uGC = gClient->GetGC(&" << valname.
Data() << 
", kTRUE);" << std::endl;
 
  908      if (
gc->References() > 1)
 
  909         Error(
"ForceFreeGC", 
"removed a shared graphics context\n" 
  910               "best to use graphics contexts via the TGGCPool()");
 
  923      if (
gc->RemoveReference() == 0) {
 
  938      if (
gc->fContext == gct) {
 
  939         if (
gc->RemoveReference() == 0) {
 
  965      if (
gc->fContext == gct)
 
  989   TGGC *
gc, *best_match = 0;
 
  990   Int_t matching_bits, best_matching_bits = -1;
 
 1003      while ((
gc = (
TGGC *) next())) {
 
 1005         if (matching_bits > best_matching_bits) {
 
 1006            best_matching_bits = matching_bits;
 
 1008            if ((
gc->fValues.fMask & values->
fMask) == values->
fMask) {
 
 1017            Printf(
"<TGGCPool::GetGC>: %smatching GC found\n", exact ? 
"exact " : 
"");
 
 1042   Int_t  matching_bits = -1;
 
 1048   if (common_bits == 0) 
return 0;  
 
 1065   for (bit = 1; bit <= common_bits; bit <<= 1) {
 
 1066      switch (bit & common_bits) {
 
 1147   return matching_bits;
 
 1155   gc->SetAttributes(values);
 
const Mask_t kGCDashOffset
 
const Mask_t kGCBackground
 
const Mask_t kGCForeground
 
const Mask_t kGCLineStyle
 
const Mask_t kGCSubwindowMode
 
const Mask_t kGCLineWidth
 
Handle_t Pixmap_t
Pixmap handle.
 
const Mask_t kGCClipXOrigin
 
Handle_t FontH_t
Font handle (as opposed to Font_t which is an index)
 
const Mask_t kGCFillStyle
 
const Mask_t kGCJoinStyle
 
@ kGXorReverse
src OR NOT dst
 
@ kGXnand
NOT src OR NOT dst.
 
@ kGXandReverse
src AND NOT dst
 
@ kGXorInverted
NOT src OR dst.
 
@ kGXandInverted
NOT src AND dst.
 
@ kGXequiv
NOT src XOR dst.
 
@ kGXnor
NOT src AND NOT dst.
 
@ kGXcopyInverted
NOT src.
 
Handle_t GContext_t
Graphics context handle.
 
const Mask_t kGCTileStipXOrigin
 
const Mask_t kGCPlaneMask
 
const Mask_t kGCGraphicsExposures
 
const Mask_t kGCClipYOrigin
 
const Mask_t kGCTileStipYOrigin
 
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t mask
 
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t Int_t Int_t Window_t TString Int_t GCValues_t GetPrimarySelectionOwner GetDisplay GetScreen GetColormap GetNativeEvent const char const char dpyName wid window const char font_name cursor keysym reg const char only_if_exist regb h Point_t winding char text const char depth char const char Int_t count const char ColorStruct_t color const char Pixmap_t Pixmap_t PictureAttributes_t attr const char char ret_data h unsigned char height h Atom_t Int_t ULong_t ULong_t unsigned char prop_list Atom_t Atom_t Atom_t Time_t UChar_t len
 
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t Int_t Int_t Window_t TString Int_t GCValues_t gval
 
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void gc
 
void Printf(const char *fmt,...)
Formats a string in a circular formatting buffer and prints the string.
 
virtual void SetOwner(Bool_t enable=kTRUE)
Set whether this collection is the owner (enable==true) of its content.
 
static const char * PixelAsHexString(ULong_t pixel)
Convert machine dependent pixel value (obtained via RGB2Pixel or via Number2Pixel() or via TColor::Ge...
 
void Print(Option_t *option="") const override
List all graphics contexts in the pool.
 
virtual ~TGGCPool()
Delete graphics context pool.
 
Int_t MatchGC(const TGGC *gc, GCValues_t *values)
Try to find matching graphics context.
 
TGGC * GetGC(GCValues_t *values, Bool_t rw=kFALSE)
Get the best matching graphics context depending on values.
 
void FreeGC(const TGGC *gc)
Delete graphics context if it is not used anymore.
 
TGGC * FindGC(const TGGC *gc)
Find graphics context. Returns 0 in case gc is not found.
 
void ForceFreeGC(const TGGC *gc)
Force remove graphics context from list. Is only called via ~TGGC().
 
TGGCPool(const TGGCPool &gp)
 
void UpdateGC(TGGC *gc, GCValues_t *values)
Update graphics context with the values spcified in values->fMask.
 
Encapsulate a graphics context used in the low level graphics.
 
void SetArcMode(Int_t v)
Set arc mode (kArcChord, kArcPieSlice).
 
Int_t GetTileStipYOrigin() const
 
TGGC(GCValues_t *values, Bool_t calledByGCPool)
Create a graphics context (only called via TGGCPool::GetGC()).
 
Int_t GetJoinStyle() const
 
Bool_t GetGraphicsExposures() const
 
Int_t GetSubwindowMode() const
 
Int_t GetFillStyle() const
 
void SetLineWidth(Int_t v)
Set line width.
 
ULong_t GetPlaneMask() const
 
void SetFont(FontH_t v)
Set font.
 
void SetPlaneMask(ULong_t v)
Set plane mask.
 
TGGC & operator=(const TGGC &rhs)
Graphics context assignment operator.
 
GContext_t fContext
graphics context handle
 
void SetTileStipYOrigin(Int_t v)
Y offset for tile or stipple operations.
 
Pixmap_t GetClipMask() const
 
Int_t GetClipXOrigin() const
 
void SavePrimitive(std::ostream &out, Option_t *option="") override
Save graphics context info as a C++ statement(s) on output stream out.
 
void SetFillStyle(Int_t v)
Set fill style (kFillSolid, kFillTiled, kFillStippled, kFillOpaeueStippled).
 
Pixel_t GetForeground() const
 
Int_t GetFillRule() const
 
GCValues_t fValues
graphics context values + mask
 
void SetCapStyle(Int_t v)
Set cap style (kCapNotLast, kCapButt, kCapRound, kCapProjecting).
 
const char * GetDashes() const
 
Int_t GetTileStipXOrigin() const
 
void SetForeground(Pixel_t v)
Set foreground color.
 
Int_t GetLineStyle() const
 
void SetClipMask(Pixmap_t v)
Bitmap for clipping.
 
void SetFillRule(Int_t v)
Set fill rule (kEvenOddRule, kWindingRule).
 
GContext_t operator()() const
Not inline due to a bug in g++ 2.96 20000731 (Red Hat Linux 7.0).
 
void SetDashOffset(Int_t v)
Patterned/dashed line offset.
 
void SetTileStipXOrigin(Int_t v)
X offset for tile or stipple operations.
 
void SetAttributes(GCValues_t *values)
Set attributes as specified in the values structure.
 
void SetDashList(const char v[], Int_t len)
Set dash pattern. First use SetDashOffset() if not 0.
 
EGraphicsFunction GetFunction() const
 
void SetJoinStyle(Int_t v)
Set line join style (kJoinMiter, kJoinRound, kJoinBevel).
 
void SetClipXOrigin(Int_t v)
X origin for clipping.
 
Int_t GetClipYOrigin() const
 
Pixel_t GetBackground() const
 
void SetTile(Pixmap_t v)
Set tile pixmap for tiling operations.
 
void SetClipYOrigin(Int_t v)
Y origin for clipping.
 
void Print(Option_t *option="") const override
Print graphics contexts info.
 
void UpdateValues(GCValues_t *v)
Update values + mask.
 
void SetBackground(Pixel_t v)
Set background color.
 
void SetFunction(EGraphicsFunction v)
Set graphics context drawing function.
 
void SetStipple(Pixmap_t v)
Set 1 plane pixmap for stippling.
 
Pixmap_t GetStipple() const
 
Int_t GetLineWidth() const
 
void SetGraphicsExposures(Bool_t v)
True if graphics exposure should be generated.
 
void SetLineStyle(Int_t v)
Set line style (kLineSolid, kLineOnOffDash, kLineDoubleDash).
 
Int_t GetDashOffset() const
 
Int_t GetCapStyle() const
 
virtual ~TGGC()
Delete graphics context.
 
TString GetMaskString() const
Returns GC mask as a string - used in SavePrimitive().
 
void SetSubwindowMode(Int_t v)
Set sub window mode (kClipByChildren, kIncludeInferiors).
 
TGClient * fClient
Connection to display server.
 
THashTable implements a hash table to store TObject's.
 
void Add(TObject *obj) override
Add object to the hash table.
 
TObject * Remove(TObject *obj) override
Remove object from the hashtable.
 
TObject * FindObject(const char *name) const override
Find object using its name.
 
void Print(Option_t *option, Int_t recurse) const override
Print the collection header and its elements.
 
Mother of all ROOT objects.
 
TObject & operator=(const TObject &rhs)
TObject assignment operator.
 
virtual void Warning(const char *method, const char *msgfmt,...) const
Issue warning message.
 
virtual void Error(const char *method, const char *msgfmt,...) const
Issue error message.
 
Definitions for TRefCnt, base class for reference counted objects.
 
void SetRefCount(UInt_t r)
 
UInt_t References() const
 
const char * Data() const
 
static TString Format(const char *fmt,...)
Static method which formats a string using a printf style format descriptor and return a TString.
 
Short_t Min(Short_t a, Short_t b)
Returns the smallest of a and b.
 
Graphics context structure.
 
ULong_t fBackground
background pixel
 
Int_t fFillRule
kEvenOddRule, kWindingRule
 
Pixmap_t fClipMask
bitmap clipping; other calls for rects
 
Int_t fDashOffset
patterned/dashed line information
 
Int_t fClipXOrigin
origin for clipping
 
Int_t fLineWidth
line width
 
Pixmap_t fStipple
stipple 1 plane pixmap for stippling
 
Mask_t fMask
bit mask specifying which fields are valid
 
Int_t fLineStyle
kLineSolid, kLineOnOffDash, kLineDoubleDash
 
Pixmap_t fTile
tile pixmap for tiling operations
 
Bool_t fGraphicsExposures
boolean, should exposures be generated
 
Int_t fJoinStyle
kJoinMiter, kJoinRound, kJoinBevel
 
Char_t fDashes[8]
dash pattern list (dash length per byte)
 
ULong_t fForeground
foreground pixel
 
ULong_t fPlaneMask
plane mask
 
Int_t fFillStyle
kFillSolid, kFillTiled, kFillStippled, kFillOpaeueStippled
 
FontH_t fFont
default text font for text operations
 
Int_t fTsXOrigin
offset for tile or stipple operations
 
EGraphicsFunction fFunction
logical operation
 
Int_t fDashLen
number of dashes in fDashes
 
Int_t fCapStyle
kCapNotLast, kCapButt, kCapRound, kCapProjecting
 
Int_t fArcMode
kArcChord, kArcPieSlice
 
Int_t fSubwindowMode
kClipByChildren, kIncludeInferiors