# Plutonium framework API: pu::ui::elm::Element Class Reference

pu::ui::elm::Element Class Referenceabstract

`#include <elm_Element.hpp>`

Inheritance diagram for pu::ui::elm::Element:

## Public Member Functions

| Element ()
virtual | ~Element ()
virtual i32 | GetX ()=0
virtual i32 | GetY ()=0
virtual i32 | GetWidth ()=0
virtual i32 | GetHeight ()=0
virtual void | OnRender (render::Renderer::Ref &drawer, const i32 x, const i32 y)=0
virtual void | OnInput (const u64 keys_down, const u64 keys_up, const u64 keys_held, const TouchPoint touch_pos)=0
bool | IsVisible ()
void | SetVisible (const bool visible)
void | SetHorizontalAlign (const HorizontalAlign align)
HorizontalAlign | GetHorizontalAlign ()
void | SetVerticalAlign (const VerticalAlign align)
VerticalAlign | GetVerticalAlign ()
void | SetParentContainer (Container *parent_container)
i32 | GetProcessedX ()
i32 | GetProcessedY ()

## Protected Attributes

bool | visible
HorizontalAlign | h_align
VerticalAlign | v_align
Container * | parent_container

## Constructor & Destructor Documentation

## Element()

pu::ui::elm::Element::Element | ( |  | ) |

inline

## ~Element()

virtual pu::ui::elm::Element::~Element | ( |  | ) |

inlinevirtual

## Member Function Documentation

## GetHeight()

virtual i32 pu::ui::elm::Element::GetHeight | ( |  | ) |

pure virtual

Implemented in pu::ui::elm::Button, pu::ui::elm::Image, pu::ui::elm::Menu, pu::ui::elm::ProgressBar, pu::ui::elm::Rectangle, pu::ui::elm::TextBlock, and pu::ui::elm::Toggle.

## GetHorizontalAlign()

HorizontalAlign pu::ui::elm::Element::GetHorizontalAlign | ( |  | ) |

inline

## GetProcessedX()

i32 pu::ui::elm::Element::GetProcessedX | ( |  | ) |

## GetProcessedY()

i32 pu::ui::elm::Element::GetProcessedY | ( |  | ) |

## GetVerticalAlign()

VerticalAlign pu::ui::elm::Element::GetVerticalAlign | ( |  | ) |

inline

## GetWidth()

virtual i32 pu::ui::elm::Element::GetWidth | ( |  | ) |

pure virtual

Implemented in pu::ui::elm::Button, pu::ui::elm::Image, pu::ui::elm::Menu, pu::ui::elm::ProgressBar, pu::ui::elm::Rectangle, pu::ui::elm::TextBlock, and pu::ui::elm::Toggle.

## GetX()

virtual i32 pu::ui::elm::Element::GetX | ( |  | ) |

pure virtual

Implemented in pu::ui::elm::Button, pu::ui::elm::Image, pu::ui::elm::Menu, pu::ui::elm::ProgressBar, pu::ui::elm::Rectangle, pu::ui::elm::TextBlock, and pu::ui::elm::Toggle.

## GetY()

virtual i32 pu::ui::elm::Element::GetY | ( |  | ) |

pure virtual

Implemented in pu::ui::elm::Button, pu::ui::elm::Image, pu::ui::elm::Menu, pu::ui::elm::ProgressBar, pu::ui::elm::Rectangle, pu::ui::elm::TextBlock, and pu::ui::elm::Toggle.

## IsVisible()

bool pu::ui::elm::Element::IsVisible | ( |  | ) |

inline

## OnInput()

virtual void pu::ui::elm::Element::OnInput | ( | const u64 | keys_down,
|  | const u64 | keys_up,
|  | const u64 | keys_held,
|  | const TouchPoint | touch_pos
| ) |  |

pure virtual

Implemented in pu::ui::elm::Button, pu::ui::elm::Image, pu::ui::elm::Menu, pu::ui::elm::ProgressBar, pu::ui::elm::Rectangle, pu::ui::elm::TextBlock, and pu::ui::elm::Toggle.

## OnRender()

virtual void pu::ui::elm::Element::OnRender | ( | render::Renderer::Ref & | drawer,
|  | const i32 | x,
|  | const i32 | y
| ) |  |

pure virtual

Implemented in pu::ui::elm::Button, pu::ui::elm::Image, pu::ui::elm::Menu, pu::ui::elm::ProgressBar, pu::ui::elm::Rectangle, pu::ui::elm::TextBlock, and pu::ui::elm::Toggle.

## SetHorizontalAlign()

void pu::ui::elm::Element::SetHorizontalAlign | ( | const HorizontalAlign | align | ) |

inline

## SetParentContainer()

void pu::ui::elm::Element::SetParentContainer | ( | Container * | parent_container | ) |

inline

## SetVerticalAlign()

void pu::ui::elm::Element::SetVerticalAlign | ( | const VerticalAlign | align | ) |

inline

## SetVisible()

void pu::ui::elm::Element::SetVisible | ( | const bool | visible | ) |

inline

## Member Data Documentation

## h_align

HorizontalAlign pu::ui::elm::Element::h_align

protected

## parent_container

Container* pu::ui::elm::Element::parent_container

protected

## v_align

VerticalAlign pu::ui::elm::Element::v_align

protected

## visible

bool pu::ui::elm::Element::visible

protected

The documentation for this class was generated from the following file:

- Plutonium/include/pu/ui/elm/elm_Element.hpp