This ROOT 7 example demonstrates how to customize RLine object using RStyle "normal" coordinates' system.
#include "ROOT/RText.hxx"
#include "ROOT/RLine.hxx"
#include <string>
void lineRStyle()
{
auto canvas = RCanvas::Create("Canvas Title");
double num = 0.3;
for (int i=10; i>0; i--){
num = num + 0.05;
canvas->Draw<RText>(std::to_string(i))->SetPos({.3_normal, 1_normal*num}).AttrText().SetSize(13).SetAlign(32).SetFont(52);
auto line = canvas->
Draw<RLine>(RPadPos(.32_normal,1_normal*num), RPadPos(.8_normal, 1_normal*num));
line->SetId(std::string(
"obj") + std::to_string(i));
line->SetCssClass(std::string(
"user_class_") + std::to_string(i % 3));
}
auto style = std::make_shared<RStyle>();
style->AddBlock(
".user_class_1").AddInt(
"line_style", 4);
style->AddBlock(
".user_class_2").AddDouble(
"line_width", 5.);
style->AddBlock(
"#obj7").AddString(
"line_color_rgb",
"0000FF");
style->AddBlock(
"line").AddString(
"line_color_rgb",
"FF0000");
RDirectory::Heap().Add(
"custom_style",
style);
}
virtual void Draw(Option_t *option="")
Default Draw method for all objects.
- Date
- 2019-10-04
- Warning
- This is part of the ROOT 7 prototype! It will change without notice. It might trigger earthquakes. Feedback is welcome!
- Author
- Iliana Betsou
Definition in file lineRStyle.cxx.