ROOT
master
Reference Guide
Loading...
Searching...
No Matches
transp_text.C
Go to the documentation of this file.
1
/// \file
2
/// \ingroup tutorial_gl
3
/// This macro is based on labels1.C by Rene Brun.
4
/// Updated by Timur Pocheptsov to use transparent text.
5
/// The macro requires OpenGL or Web-based canvas
6
///
7
/// \macro_image(nobatch)
8
/// \macro_code
9
///
10
/// \authors Timur Pocheptsov, Sergey Linev
11
12
// Includes for ACLiC (cling does not need them).
13
#include "
TPaveText.h
"
14
#include "
TCanvas.h
"
15
#include "
TRandom.h
"
16
#include "
TError.h
"
17
#include "
TColor.h
"
18
#include "
TStyle.h
"
19
#include "
TH1F.h
"
20
21
void
transp_text(
bool
gl =
true
)
22
{
23
// 1. Create special transparent colors for both pavetext fill color and text color.
24
auto
grayColorIndex =
TColor::GetColor
((
Float_t
)0.8, 0.8, 0.8, 0.85);
25
auto
blackColorIndex =
TColor::GetColor
((
Float_t
)0., 0., 0., 0.5);
26
27
// 2. Create a TCanvas.
28
gStyle
->SetCanvasPreferGL(gl);
29
30
auto
c1
=
new
TCanvas
(
"transp_text"
,
"transparent text demo"
, 10, 10, 900, 500);
31
if
(!
c1
->UseGL() && !
c1
->IsWeb())
32
::Warning
(
"transp_text"
,
"to use this macro you need either OpenGL or Web"
);
33
34
c1
->SetGrid();
35
c1
->SetBottomMargin(0.15);
36
37
const
Int_t
nx = 20;
38
const
char
*people[nx] = {
"Jean"
,
"Pierre"
,
"Marie"
,
"Odile"
,
"Sebastien"
,
"Fons"
,
"Rene"
,
39
"Nicolas"
,
"Xavier"
,
"Greg"
,
"Bjarne"
,
"Anton"
,
"Otto"
,
"Eddy"
,
40
"Peter"
,
"Pasha"
,
"Philippe"
,
"Suzanne"
,
"Jeff"
,
"Valery"
};
41
42
auto
h
=
new
TH1F
(
"h4"
,
"test"
, nx, 0, nx);
43
44
h
->SetFillColor(38);
45
for
(
Int_t
i = 0; i < 5000; ++i)
46
h
->Fill(
gRandom
->Gaus(0.5 * nx, 0.2 * nx));
47
48
h
->SetStats(
false
);
49
for
(
Int_t
i = 1; i <= nx; ++i)
50
h
->GetXaxis()->SetBinLabel(i, people[i - 1]);
51
52
h
->Draw();
53
54
auto
pt
=
new
TPaveText
(0.3, 0.3, 0.98, 0.98,
"brNDC"
);
55
// Transparent 'rectangle' with transparent text.
56
pt
->SetFillColor(grayColorIndex);
57
pt
->SetTextColor(blackColorIndex);
58
59
pt
->SetTextSize(0.5);
60
pt
->SetTextAlign(12);
61
62
pt
->AddText(
"Hello"
);
63
pt
->Draw();
64
}
h
#define h(i)
Definition
RSha256.hxx:106
Int_t
int Int_t
Signed integer 4 bytes (int)
Definition
RtypesCore.h:59
Float_t
float Float_t
Float 4 bytes (float)
Definition
RtypesCore.h:71
TCanvas.h
TColor.h
TError.h
Warning
void Warning(const char *location, const char *msgfmt,...)
Use this function in warning situations.
Definition
TError.cxx:252
TH1F.h
TPaveText.h
TRandom.h
gRandom
R__EXTERN TRandom * gRandom
Definition
TRandom.h:62
TStyle.h
gStyle
R__EXTERN TStyle * gStyle
Definition
TStyle.h:442
TCanvas
The Canvas class.
Definition
TCanvas.h:23
TColor::GetColor
static Int_t GetColor(const char *hexcolor)
Static method returning color number for color specified by hex color string of form: "#rrggbb",...
Definition
TColor.cxx:1926
TH1F
1-D histogram with a float per channel (see TH1 documentation)
Definition
TH1.h:878
TPaveText
A Pave (see TPave) with text, lines or/and boxes inside.
Definition
TPaveText.h:21
pt
TPaveText * pt
Definition
entrylist_figure1.C:7
c1
return c1
Definition
legend1.C:41
tutorials
visualisation
gl
transp_text.C
ROOTmaster - Reference Guide Generated on Tue May 19 2026 19:40:22 (GVA Time) using Doxygen 1.13.2