Exemplo n.º 1
0
Scroller::Scroller(Layer& layer, Widget* parent, Orientation orientation):
  Widget(layer, parent),
  m_minValue(0.f),
  m_maxValue(1.f),
  m_value(0.f),
  m_percentage(0.5f),
  m_reference(0.f),
  m_orientation(orientation)
{
  const float em = layer.drawer().theme().em();

  if (m_orientation == HORIZONTAL)
    setDesiredSize(vec2(0.f, em * 1.5f));
  else
    setDesiredSize(vec2(em * 1.5f, 0.f));

  setDraggable(true);
  setFocusable(true);
}
Exemplo n.º 2
0
Label::Label(Layer& layer, Widget* parent, const std::string& text, Alignment alignment):
  Widget(layer, parent),
  m_text(text),
  m_alignment(alignment)
{
  Font& font = layer.drawer().theme().font();
  const float em = font.height();
  const float textWidth = font.boundsOf(m_text.c_str()).size.x;

  setDesiredSize(vec2(em * 2.f + textWidth, em * 2.f));
}
Exemplo n.º 3
0
void Popup::init()
{
  const float em = layer().drawer().currentEM();

  setDesiredSize(vec2(em * 10.f, em * 2.f));

  m_menu = new Menu(layer());
  m_menu->itemSelectedSignal().connect(*this, &Popup::onItemSelected);
  m_menu->destroyedSignal().connect(*this, &Popup::onMenuDestroyed);

  setFocusable(true);
}
Exemplo n.º 4
0
Popup::Popup(Layer& layer, Widget* parent):
  Widget(layer, parent),
  m_selection(NO_ITEM),
  m_menu(nullptr)
{
  const float em = layer.drawer().theme().em();
  setDesiredSize(vec2(em * 10.f, em * 2.f));

  m_menu = new Menu(layer);
  m_menu->itemSelected().connect(*this, &Popup::onItemSelected);
  m_menu->destroyed().connect(*this, &Popup::onMenuDestroyed);

  setFocusable(true);
}
Exemplo n.º 5
0
Button::Button(Layer& layer, Widget* parent, ButtonType type, const std::string& text):
  Widget(layer, parent),
  m_type(type),
  m_text(text),
  m_selected(false),
  m_checked(false)
{
  Font& font = layer.drawer().theme().font();
  const float em = font.height();
  const float textWidth = font.boundsOf(m_text.c_str()).size.x;

  setDesiredSize(vec2(em * 2.f + textWidth, em * 2.f));
  setDraggable(true);
  setFocusable(true);
}