15namespace Experimental {
37 std::unique_ptr<RDisplayItem>
Display() const final;
79 std::array<RPadLength::Normal, 2>
PixelsToNormal(
const std::array<RPadLength::Pixel, 2> &pos)
const override
82 std::array<RPadLength::Normal, 2> myPixelInNormal =
84 std::array<RPadLength::Normal, 2> myUserInNormal =
88 return {{posInParentNormal[0] / (
fSize.
Horiz().
GetNormal() + myPixelInNormal[0] + myUserInNormal[0]),
89 posInParentNormal[1] / (
fSize.
Vert().
GetNormal() + myPixelInNormal[1] + myUserInNormal[1])}};
97 return {{pos.
Horiz().
GetNormal() + pixelsInNormal[0] + userInNormal[0],
98 pos.
Vert().
GetNormal() + pixelsInNormal[1] + userInNormal[1]}};
static void GetPixel(int y, int width, Byte_t *scline)
Get pixels in line y and put in array scline.
Drawing line attributes for different objects.
Base class for graphic containers for RDrawable-s.
virtual std::array< RPadLength::Normal, 2 > PixelsToNormal(const std::array< RPadLength::Pixel, 2 > &pos) const =0
Convert a Pixel position to Canvas-normalized positions.
std::array< RPadLength::Normal, 2 > UserToNormal(const std::array< RPadLength::User, 2 > &pos) const
Convert user coordinates to normal coordinates.
virtual const RCanvas * GetCanvas() const =0
Access to the top-most canvas, if any (const version).
An extent / size (horizontal and vertical) in a RPad.
A position (horizontal and vertical) in a RPad.
Graphic container for RDrawable-s.
const RPadExtent & GetSize() const
Get the size of the pad in parent (!) coordinates.
void SetSize(const RPadExtent &sz)
Set the size of the pad in parent (!) coordinates.
const RCanvas * GetCanvas() const override
Access to the top-most canvas (const version).
const RPadBase * GetParent() const
Access to the parent pad (const version).
RCanvas * GetCanvas() override
Access to the top-most canvas (non-const version).
virtual ~RPad()
Destructor to have a vtable.
RPad & SetAttrLine(const RAttrLine &attr)
RPadBase * GetParent()
Access to the parent pad (non-const version).
std::array< RPadLength::Normal, 2 > ToNormal(const RPadPos &pos) const
Convert a RPadPos to [x, y] of normalized coordinates.
RAttrLine fAttrLine
! border attributes
std::array< RPadLength::Normal, 2 > PixelsToNormal(const std::array< RPadLength::Pixel, 2 > &pos) const override
Convert a Pixel position to Canvas-normalized positions.
const RAttrLine & GetAttrLine() const
RPadBase * fParent
Pad containing this pad as a sub-pad.
void SetPos(const RPadPos &p)
Set position.
const RPadPos & GetPos() const
Get the position of the pad in parent (!) coordinates.
std::unique_ptr< RDisplayItem > Display() const final
Create pad display item.