ROOT
git-r3/HEAD
Reference Guide
Loading...
Searching...
No Matches
rtext_font.cxx
Go to the documentation of this file.
1
/// \file
2
/// \ingroup tutorial_rcanvas
3
///
4
/// This macro demonstrate usage of existing ROOT fonts for RText.
5
/// Also load of custom font is shown
6
///
7
/// \macro_image (rcanvas_js)
8
/// \macro_code
9
///
10
/// \date 2021-07-07
11
/// \warning This is part of the ROOT 7 prototype! It will change without notice. It might trigger earthquakes. Feedback
12
/// is welcome!
13
/// \author Sergey Linev <s.linev@gsi.de>
14
15
/*************************************************************************
16
* Copyright (C) 1995-2021, Rene Brun and Fons Rademakers. *
17
* All rights reserved. *
18
* *
19
* For the licensing terms see $ROOTSYS/LICENSE. *
20
* For the list of contributors see $ROOTSYS/README/CREDITS. *
21
*************************************************************************/
22
23
#include "
ROOT/RCanvas.hxx
"
24
#include "ROOT/RText.hxx"
25
#include "
ROOT/RPadPos.hxx
"
26
27
using namespace
ROOT::Experimental
;
28
29
void
rtext_font()
30
{
31
auto
canvas =
RCanvas::Create
(
"RText fonts example"
);
32
33
double
posy = 0.93;
34
35
auto
drawText = [&canvas, &posy](
RAttrFont::EFont
font,
bool
is_comic =
false
) {
36
auto
text
= canvas->Add<RText>(
RPadPos
(0.35, posy),
"ABCDEFGH abcdefgh 0123456789 @#$"
);
37
text
->text.size = 0.04;
38
text
->text.align =
RAttrText::kLeftCenter
;
39
if
(is_comic)
40
text
->text.font.family =
"Comic"
;
41
else
42
text
->text.font = font;
43
44
auto
name
= canvas->Add<RText>(
RPadPos
(0.33, posy),
text
->text.font.GetFullName());
45
name
->text.size = 0.03;
46
name
->text.align =
RAttrText::kRightCenter
;
47
48
posy -= 0.05;
49
};
50
51
drawText(
RAttrFont::kTimes
);
52
drawText(
RAttrFont::kTimesItalic
);
53
drawText(
RAttrFont::kTimesBold
);
54
drawText(
RAttrFont::kTimesBoldItalic
);
55
56
drawText(
RAttrFont::kArial
);
57
drawText(
RAttrFont::kArialOblique
);
58
drawText(
RAttrFont::kArialBold
);
59
drawText(
RAttrFont::kArialBoldOblique
);
60
61
drawText(
RAttrFont::kCourier
);
62
drawText(
RAttrFont::kCourierOblique
);
63
drawText(
RAttrFont::kCourierBold
);
64
drawText(
RAttrFont::kCourierBoldOblique
);
65
66
drawText(
RAttrFont::kVerdana
);
67
drawText(
RAttrFont::kVerdanaItalic
);
68
drawText(
RAttrFont::kVerdanaBold
);
69
drawText(
RAttrFont::kVerdanaBoldItalic
);
70
71
// now draw text with custom font
72
73
posy -= 0.03;
74
std::string fname = __FILE__;
75
auto
pos
= fname.find(
"rtext_font.cxx"
);
76
if
(
pos
> 0) {
77
fname.resize(
pos
);
78
fname.append(
"comic.woff2"
);
79
}
else
80
fname =
"comic.woff2"
;
81
canvas->Draw<RFont>(
"Comic"
, fname);
82
drawText(
RAttrFont::kTimes
,
true
);
83
84
canvas->Show();
85
}
RCanvas.hxx
RPadPos.hxx
name
char name[80]
Definition
TGX11.cxx:148
ROOT::Experimental::RAttrFont::EFont
EFont
Definition
RAttrFont.hxx:36
ROOT::Experimental::RAttrFont::kTimesBold
@ kTimesBold
Definition
RAttrFont.hxx:38
ROOT::Experimental::RAttrFont::kVerdana
@ kVerdana
Definition
RAttrFont.hxx:52
ROOT::Experimental::RAttrFont::kCourier
@ kCourier
Definition
RAttrFont.hxx:44
ROOT::Experimental::RAttrFont::kCourierBoldOblique
@ kCourierBoldOblique
Definition
RAttrFont.hxx:47
ROOT::Experimental::RAttrFont::kArialBoldOblique
@ kArialBoldOblique
Definition
RAttrFont.hxx:43
ROOT::Experimental::RAttrFont::kVerdanaBoldItalic
@ kVerdanaBoldItalic
Definition
RAttrFont.hxx:55
ROOT::Experimental::RAttrFont::kCourierBold
@ kCourierBold
Definition
RAttrFont.hxx:46
ROOT::Experimental::RAttrFont::kTimesBoldItalic
@ kTimesBoldItalic
Definition
RAttrFont.hxx:39
ROOT::Experimental::RAttrFont::kArialOblique
@ kArialOblique
Definition
RAttrFont.hxx:41
ROOT::Experimental::RAttrFont::kVerdanaBold
@ kVerdanaBold
Definition
RAttrFont.hxx:54
ROOT::Experimental::RAttrFont::kTimesItalic
@ kTimesItalic
Definition
RAttrFont.hxx:37
ROOT::Experimental::RAttrFont::kCourierOblique
@ kCourierOblique
Definition
RAttrFont.hxx:45
ROOT::Experimental::RAttrFont::kArial
@ kArial
Definition
RAttrFont.hxx:40
ROOT::Experimental::RAttrFont::kArialBold
@ kArialBold
Definition
RAttrFont.hxx:42
ROOT::Experimental::RAttrFont::kVerdanaItalic
@ kVerdanaItalic
Definition
RAttrFont.hxx:53
ROOT::Experimental::RAttrFont::kTimes
@ kTimes
Definition
RAttrFont.hxx:49
ROOT::Experimental::RAttrText::kLeftCenter
@ kLeftCenter
Definition
RAttrText.hxx:35
ROOT::Experimental::RAttrText::kRightCenter
@ kRightCenter
Definition
RAttrText.hxx:41
ROOT::Experimental::RCanvas::Create
static std::shared_ptr< RCanvas > Create(const std::string &title)
Create new canvas instance.
Definition
RCanvas.cxx:89
ROOT::Experimental::RPadPos
A position (horizontal and vertical) in a RPad.
Definition
RPadPos.hxx:28
text
TText * text
Definition
entrylist_figure1.C:10
ROOT::Experimental
Namespace for ROOT features in testing.
Definition
TROOT.h:100
ROOT::Internal::pos
Int_t pos
Definition
TTreeProxyGenerator.cxx:935
tutorials
visualisation
rcanvas
rtext_font.cxx
ROOTgit-r3/HEAD - Reference Guide Generated on
(GVA Time) using Doxygen 1.16.1