aseprite/src/ui/label.cpp
David Capello 04f3c522ba Replace jwidget_get_text_length/height with Widget::getTextWidth/Height
Renamed Widget::getTextSize to Widget::getTextLength as now getTextSize
returns a gfx::Size() (not the strlen() of the text)
2014-03-21 19:45:35 -03:00

55 lines
953 B
C++

// Aseprite UI Library
// Copyright (C) 2001-2013 David Capello
//
// This source file is distributed under MIT license,
// please read LICENSE.txt for more information.
#ifdef HAVE_CONFIG_H
#include "config.h"
#endif
#include "ui/label.h"
#include "ui/message.h"
#include "ui/preferred_size_event.h"
#include "ui/theme.h"
namespace ui {
Label::Label(const base::string& text)
: Widget(kLabelWidget)
{
setAlign(JI_LEFT | JI_MIDDLE);
setText(text);
initTheme();
}
Color Label::getTextColor() const
{
return m_textColor;
}
void Label::setTextColor(Color color)
{
m_textColor = color;
}
void Label::onPreferredSize(PreferredSizeEvent& ev)
{
gfx::Size sz(0, 0);
if (hasText())
sz = getTextSize();
sz.w += this->border_width.l + this->border_width.r;
sz.h += this->border_width.t + this->border_width.b;
ev.setPreferredSize(sz);
}
void Label::onPaint(PaintEvent& ev)
{
getTheme()->paintLabel(ev);
}
} // namespace ui