mirror of
https://github.com/aseprite/aseprite.git
synced 2025-04-10 03:44:16 +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.
47 lines
964 B
C++
47 lines
964 B
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.
|
|
|
|
#ifndef UI_COMPONENT_H_INCLUDED
|
|
#define UI_COMPONENT_H_INCLUDED
|
|
#pragma once
|
|
|
|
#include "base/disable_copying.h"
|
|
#include "ui/property.h"
|
|
|
|
#include <map>
|
|
#include <string>
|
|
|
|
namespace ui {
|
|
|
|
// A component is a visual object, such as widgets or menus.
|
|
//
|
|
// Components are non-copyable.
|
|
class Component
|
|
{
|
|
public:
|
|
typedef std::map<std::string, PropertyPtr> Properties;
|
|
|
|
Component();
|
|
virtual ~Component();
|
|
|
|
PropertyPtr getProperty(const std::string& name) const;
|
|
void setProperty(PropertyPtr property);
|
|
|
|
bool hasProperty(const std::string& name) const;
|
|
void removeProperty(const std::string& name);
|
|
|
|
const Properties& getProperties() const;
|
|
|
|
private:
|
|
Properties m_properties;
|
|
|
|
DISABLE_COPYING(Component);
|
|
};
|
|
|
|
} // namespace ui
|
|
|
|
#endif
|