The Battle for Wesnoth  1.13.4+dev
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
Macros | Typedefs | Functions | Variables
theme.cpp File Reference
#include "global.hpp"
#include "font.hpp"
#include "gettext.hpp"
#include "hotkey/hotkey_command.hpp"
#include "hotkey/hotkey_item.hpp"
#include "log.hpp"
#include "serialization/string_utils.hpp"
#include "theme.hpp"
#include "wml_exception.hpp"
#include "sdl/rect.hpp"
Include dependency graph for theme.cpp:

Go to the source code of this file.

Macros

#define DBG_DP   LOG_STREAM(debug, log_display)
 
#define LOG_DP   LOG_STREAM(info, log_display)
 
#define ERR_DP   LOG_STREAM(err, log_display)
 

Typedefs

typedef std::map< std::string,
config
known_themes_map
 

Functions

static size_t compute (std::string expr, size_t ref1, size_t ref2=0)
 
static _rect read_rect (const config &cfg)
 
static SDL_Rect read_sdl_rect (const config &cfg)
 
static std::string resolve_rect (const std::string &rect_str)
 
static configfind_ref (const std::string &id, config &cfg, bool remove=false)
 
static config get_resolution (const config &resolutions, const std::string &id)
 Returns a copy of the wanted resolution. More...
 
static config expand_partialresolution (const config &theme)
 Returns a config with all partial resolutions of a theme expanded. More...
 
static void do_resolve_rects (const config &cfg, config &resolved_config, config *resol_cfg=nullptr)
 

Variables

static lg::log_domain log_display ("display")
 

Macro Definition Documentation

#define DBG_DP   LOG_STREAM(debug, log_display)

Definition at line 30 of file theme.cpp.

Referenced by theme::add_object().

#define ERR_DP   LOG_STREAM(err, log_display)

Definition at line 32 of file theme.cpp.

Referenced by do_resolve_rects(), and theme::set_resolution().

#define LOG_DP   LOG_STREAM(info, log_display)

Definition at line 31 of file theme.cpp.

Referenced by theme::modify_label(), and theme::set_resolution().

Typedef Documentation

typedef std::map<std::string, config> known_themes_map

Definition at line 909 of file theme.cpp.

Function Documentation

static size_t compute ( std::string  expr,
size_t  ref1,
size_t  ref2 = 0 
)
static

Definition at line 44 of file theme.cpp.

Referenced by theme::object::modify_location(), and resolve_rect().

static void do_resolve_rects ( const config cfg,
config resolved_config,
config resol_cfg = nullptr 
)
static
static config expand_partialresolution ( const config theme)
static

Returns a config with all partial resolutions of a theme expanded.

Parameters
themeThe original object, whose objects need to be expanded.
Returns
A new object with the expanded resolutions in a theme. This object no longer contains partial resolutions.

Definition at line 196 of file theme.cpp.

References config::add_child(), config::child_range(), find_ref(), get_resolution(), config::merge_attributes(), missing_mandatory_wml_key(), preferences::resolution(), and VALIDATE.

Referenced by theme::theme().

static config& find_ref ( const std::string id,
config cfg,
bool  remove = false 
)
static
static config get_resolution ( const config resolutions,
const std::string id 
)
static

Returns a copy of the wanted resolution.

The function returns a copy since our caller uses a copy of this resolution as base to expand a partial resolution.

Parameters
resolutionsA config object containing the expanded resolutions.
idThe id of the resolution to return.
Exceptions
config::errorIf the id is not found.
Returns
A copy of the resolution config.

Definition at line 174 of file theme.cpp.

References config::child_range(), error(), and preferences::resolution().

Referenced by expand_partialresolution().

static _rect read_rect ( const config cfg)
static

Definition at line 57 of file theme.cpp.

References mp_ui_alerts::items, utils::split(), _rect::x1, _rect::x2, _rect::y1, and _rect::y2.

Referenced by do_resolve_rects(), and read_sdl_rect().

static SDL_Rect read_sdl_rect ( const config cfg)
static

Definition at line 79 of file theme.cpp.

References read_rect(), _rect::x1, _rect::x2, _rect::y1, and _rect::y2.

static std::string resolve_rect ( const std::string rect_str)
static

Definition at line 90 of file theme.cpp.

References compute(), mp_ui_alerts::items, utils::split(), _rect::x1, _rect::x2, _rect::y1, and _rect::y2.

Referenced by do_resolve_rects().

Variable Documentation

lg::log_domain log_display("display")
static