mirror of
https://github.com/aseprite/aseprite.git
synced 2025-04-15 20:42:40 +00:00
There are some widgets (e.g. fg/bg color buttons in the ColorBar, and ContextBar's check-boxes) that use a "mini font". We could setup the mini font in onInitTheme(), but the whole program is not ready to do something like that (there are too much child_spacing/borders values that are set outside onInitTheme). A better way is to ask to the theme itself (Theme::getWidgetFont()) about what font to use for each specific widget. And the Widget::m_font field can act as a cache of this requested font. So now the "mini font" is specified in a SkinProperty's flag.
57 lines
1.1 KiB
C++
57 lines
1.1 KiB
C++
// Aseprite UI Library
|
|
// Copyright (C) 2001-2013, 2015 David Capello
|
|
//
|
|
// This file is released under the terms of the MIT license.
|
|
// Read LICENSE.txt for more information.
|
|
|
|
#ifdef HAVE_CONFIG_H
|
|
#include "config.h"
|
|
#endif
|
|
|
|
#include "base/shared_ptr.h"
|
|
#include "ui/component.h"
|
|
#include "ui/property.h"
|
|
|
|
namespace ui {
|
|
|
|
Component::Component()
|
|
{
|
|
}
|
|
|
|
Component::~Component()
|
|
{
|
|
}
|
|
|
|
PropertyPtr Component::getProperty(const std::string& name) const
|
|
{
|
|
auto it = m_properties.find(name);
|
|
if (it != m_properties.end())
|
|
return it->second;
|
|
else
|
|
return PropertyPtr();
|
|
}
|
|
|
|
void Component::setProperty(PropertyPtr property)
|
|
{
|
|
m_properties[property->getName()] = property;
|
|
}
|
|
|
|
bool Component::hasProperty(const std::string& name) const
|
|
{
|
|
return (m_properties.find(name) != m_properties.end());
|
|
}
|
|
|
|
void Component::removeProperty(const std::string& name)
|
|
{
|
|
Properties::iterator it = m_properties.find(name);
|
|
if (it != m_properties.end())
|
|
m_properties.erase(it);
|
|
}
|
|
|
|
const Component::Properties& Component::getProperties() const
|
|
{
|
|
return m_properties;
|
|
}
|
|
|
|
} // namespace ui
|