Files
MuditaOS/module-gui/gui/widgets/Style.hpp
Przemyslaw Brudny 10cd3cabc7 [EGD-3410] Cleanups.
2020-07-31 12:50:31 +02:00

222 lines
9.8 KiB
C++

#pragma once
#include <Alignment.hpp>
#include <Margins.hpp>
#include <gui/core/Color.hpp>
#include <inttypes.h>
#include <string>
#include <gui/Common.hpp>
namespace gui
{
class Rect;
class Label;
}; // namespace gui
/// one place to gather all common magical numbers from design
namespace style
{
const inline uint32_t window_height = 600;
const inline uint32_t window_width = 480;
namespace header
{
const inline uint32_t height = 105;
namespace font
{
const inline std::string time = "gt_pressura_regular_24";
const inline std::string title = "gt_pressura_bold_32";
}; // namespace font
}; // namespace header
namespace window
{
const inline uint32_t default_left_margin = 20;
const inline uint32_t default_right_margin = 20;
const inline uint32_t default_body_width =
style::window_width - style::window::default_right_margin - style::window::default_left_margin;
const inline uint32_t default_border_focus_w = 2;
const inline uint32_t default_border_rect_no_focus = 1;
const inline uint32_t default_border_no_focus_w = 0;
namespace font
{
const inline std::string supersizemelight = "gt_pressura_light_90";
const inline std::string largelight = "gt_pressura_light_46";
const inline std::string verybigbold = "gt_pressura_bold_32";
const inline std::string bigbold = "gt_pressura_bold_30";
const inline std::string big = "gt_pressura_regular_30";
const inline std::string biglight = "gt_pressura_light_30";
const inline std::string mediumbold = "gt_pressura_bold_27";
const inline std::string medium = "gt_pressura_regular_27";
const inline std::string mediumlight = "gt_pressura_light_27";
const inline std::string smallbold = "gt_pressura_bold_24";
const inline std::string small = "gt_pressura_regular_24";
const inline std::string verysmallbold = "gt_pressura_bold_20";
const inline std::string verysmall = "gt_pressura_regular_20";
}; // namespace font
const inline uint32_t list_offset_default = 12;
namespace label
{
const inline uint32_t small_h = 33;
const inline uint32_t default_h = 50;
const inline uint32_t big_h = 55;
}; // namespace label
/// minimal label decoration - edges, focus & alignment
void decorate(gui::Rect *el);
void decorate(gui::Label *el);
/// minimal label decoration for Option
void decorateOption(gui::Label *el);
namespace messages
{
inline const uint32_t sms_radius = 7;
inline const uint32_t sms_border_no_focus = 1;
inline const uint32_t sms_thread_item_h = 100;
const inline unsigned short yaps_size_default = 10;
const inline gui::Length sms_max_width = 320;
const inline unsigned short sms_h_padding = 15;
const inline unsigned short sms_h_left_padding = 25;
const inline unsigned short sms_v_padding = 10;
const inline unsigned short sms_vertical_spacer = 10;
const inline unsigned short new_sms_vertical_spacer = 25;
const inline unsigned short sms_failed_offset = 39;
const inline unsigned short sms_error_icon_offset = 2;
const inline gui::Padding sms_left_bubble_padding =
gui::Padding(style::window::messages::sms_h_left_padding,
style::window::messages::sms_v_padding,
style::window::messages::sms_h_padding,
style::window::messages::sms_v_padding);
const inline gui::Padding sms_right_bubble_padding = gui::Padding(style::window::messages::sms_h_padding,
style::window::messages::sms_v_padding,
style::window::messages::sms_h_padding,
style::window::messages::sms_v_padding);
} // namespace messages
}; // namespace window
namespace footer
{
const inline uint32_t height = 54;
namespace font
{
const inline std::string bold = "gt_pressura_bold_24";
const inline std::string medium = "gt_pressura_regular_24";
}; // namespace font
}; // namespace footer
namespace settings
{
namespace date
{
const inline uint32_t date_time_item_height = 107;
const inline uint32_t date_time_item_width = 120;
const inline uint32_t date_time_item_title_height = 30;
const inline uint32_t date_time_spacer_width = 20;
const inline uint32_t date_time_x_offset = 30;
} // namespace date
} // namespace settings
namespace color
{
const inline gui::Color lightgrey = gui::Color(3, 0);
}; // namespace color
namespace text
{
const inline gui::Alignment defaultTextAlignment =
gui::Alignment(gui::Alignment::Horizontal::Left, gui::Alignment::Vertical::Bottom);
const inline unsigned int maxTextLines = 10;
}; // namespace text
namespace strings
{
namespace common
{
const inline std::string open = "common_open";
const inline std::string call = "common_call";
const inline std::string send = "common_send";
const inline std::string save = "common_save";
const inline std::string confirm = "common_confirm";
const inline std::string select = "common_select";
const inline std::string use = "common_use";
const inline std::string ok = "common_ok";
const inline std::string back = "common_back";
const inline std::string set = "common_set";
const inline std::string yes = "common_yes";
const inline std::string no = "common_no";
const inline std::string Switch = "common_switch";
const inline std::string options = "common_options";
const inline std::string information = "common_information";
const inline std::string search = "common_search";
const inline std::string search_results = "common_search_results";
// days
const inline std::string Monday = "common_monday";
const inline std::string Tuesday = "common_tuesday";
const inline std::string Wednesday = "common_wednesday";
const inline std::string Thursday = "common_thursday";
const inline std::string Friday = "common_friday";
const inline std::string Saturday = "common_saturday";
const inline std::string Sunday = "common_sunday";
// months
const inline std::string January = "common_january";
const inline std::string February = "common_february";
const inline std::string March = "common_march";
const inline std::string April = "common_april";
const inline std::string May = "common_may";
const inline std::string June = "common_june";
const inline std::string July = "common_july";
const inline std::string August = "common_august";
const inline std::string September = "common_september";
const inline std::string October = "common_october";
const inline std::string November = "common_november";
const inline std::string December = "common_december";
const inline std::string Yesterday = "common_yesterday";
} // namespace common
} // namespace strings
namespace listview
{
enum class Type
{
TopDown,
Continuous
};
enum class Direction
{
Top,
Bottom
};
namespace scroll
{
const inline uint32_t x = 0;
const inline uint32_t y = 0;
const inline uint32_t w = 5;
const inline uint32_t h = 0;
const inline uint32_t radius = 2;
const inline gui::Color color = gui::Color{0, 0};
const inline uint32_t margin = 5;
const inline uint32_t min_space = 10;
const inline uint32_t item_margin = 10;
} // namespace scroll
const inline uint32_t item_width_with_scroll =
style::window::default_body_width - style::listview::scroll::item_margin;
const inline uint32_t body_width_with_scroll =
style::window::default_body_width + style::listview::scroll::margin;
const inline uint32_t right_margin = 15;
const inline uint32_t top_margin_small = 5;
const inline uint32_t top_margin_big = 8;
const inline uint32_t top_margin_very_big = 12;
const inline uint32_t item_span_small = 8;
const inline uint32_t item_span_big = 12;
} // namespace listview
namespace margins
{
const inline uint32_t small = 6;
const inline uint32_t big = 8;
const inline uint32_t very_big = 12;
const inline uint32_t huge = 24;
} // namespace margins
}; // namespace style