initial commit

This commit is contained in:
Andrey Zimin
2024-05-15 09:09:36 +03:00
commit a0b5e810f7
130 changed files with 4925 additions and 0 deletions

38
src/gui/flags.hpp Normal file
View File

@@ -0,0 +1,38 @@
#pragma once
#include "utils/utils.hpp"
namespace VE
{
struct flags
{
flags()
{
if (m_no_titlebar) m_window_flags |= ImGuiWindowFlags_NoTitleBar;
if (m_no_scrollbar) m_window_flags |= ImGuiWindowFlags_NoScrollbar;
if (!m_no_menu) m_window_flags |= ImGuiWindowFlags_MenuBar;
if (m_no_move) m_window_flags |= ImGuiWindowFlags_NoMove;
if (m_no_resize) m_window_flags |= ImGuiWindowFlags_NoResize;
if (m_no_collapse) m_window_flags |= ImGuiWindowFlags_NoCollapse;
if (m_no_nav) m_window_flags |= ImGuiWindowFlags_NoNav;
if (m_no_background) m_window_flags |= ImGuiWindowFlags_NoBackground;
if (m_no_bring_to_front) m_window_flags |= ImGuiWindowFlags_NoBringToFrontOnFocus;
}
virtual ~flags() = default;
bool m_p_open = false;
bool m_no_titlebar = true;
bool m_no_scrollbar = true;
bool m_no_menu = true;
bool m_no_move = true;
bool m_no_resize = true;
bool m_no_collapse = true;
bool m_no_nav = false;
bool m_no_background = false;
bool m_no_bring_to_front = false;
bool m_no_docking = true;
ImGuiWindowFlags m_window_flags = 0;
};
}

54
src/gui/gui.cpp Executable file
View File

@@ -0,0 +1,54 @@
#include "gui.hpp"
#include "style/style.hpp"
namespace VE
{
gui::gui(std::unique_ptr<glfw>& g) : m_glfw { g }
{
ImGui::CreateContext();
ImGui::StyleColorsDark();
ImGuiIO& io = ImGui::GetIO(); (void)io;
io.ConfigFlags |= ImGuiConfigFlags_NavEnableKeyboard;
io.IniFilename = nullptr;
ImGuiStyle& style = ImGui::GetStyle();
if (io.ConfigFlags)
{
style.WindowRounding = 0.0f;
style.Colors[ImGuiCol_WindowBg].w = 1.0f;
}
GLFWwindow* window = m_glfw->get_win();
ImGui_ImplGlfw_InitForOpenGL(window, true);
ImGui_ImplOpenGL3_Init("#version 410");
style::init();
}
gui::~gui()
{
ImGui_ImplOpenGL3_Shutdown();
ImGui_ImplGlfw_Shutdown();
ImGui::DestroyContext();
}
void gui::begin_frame()
{
ImGui_ImplOpenGL3_NewFrame();
ImGui_ImplGlfw_NewFrame();
ImGui::NewFrame();
}
void gui::end_frame()
{
ImGuiIO& io = ImGui::GetIO();
io.DisplaySize = ImVec2((float)m_glfw->width(), (float)m_glfw->height());
ImGui::Render();
ImGui_ImplOpenGL3_RenderDrawData(ImGui::GetDrawData());
}
}

21
src/gui/gui.hpp Executable file
View File

@@ -0,0 +1,21 @@
#pragma once
#include "utils/utils.hpp"
#include "glfw/glfw.hpp"
namespace VE
{
class gui
{
public:
gui(std::unique_ptr<glfw>& g);
~gui();
public:
void begin_frame();
void end_frame();
private:
std::unique_ptr<glfw>& m_glfw;
};
}

99
src/gui/style/fonts.hpp Executable file
View File

@@ -0,0 +1,99 @@
#pragma once
#include <string>
#include <vector>
#include <map>
#include "imgui.h"
#include "icons.hpp"
#include "utils/utils.hpp"
namespace VE::style::fonts
{
inline std::string font_name = "/Montserrat/Montserrat-";
inline std::vector<float> font_size = { 8.f, 9.f, 10.f, 11.f, 12.f, 13.f, 14.f, 15.f, 16.f, 17.f, 18.f, 19.f, 20.f, 21.f, 22.f };
enum font_type
{
BOLD, BOLD_ITALIC, EXTRA_BOLD, EXTRA_BOLD_ITALIC, EXTRA_LIGHT, EXTRA_LIGHT_ITALIC,
ITALIC, LIGHT, LIGHT_ITALIC, MEDIUM, MEDIUM_ITALIC, REGULAR, SEMI_BOLD, SEMI_BOLD_ITALIC, THIN, THIN_ITALIC, ICON
};
inline std::vector<std::string> fonts_path
{
var::FONT_PATH + font_name + "Bold.ttf",
var::FONT_PATH + font_name + "BoldItalic.ttf",
var::FONT_PATH + font_name + "ExtraBold.ttf",
var::FONT_PATH + font_name + "ExtraBoldItalic.ttf",
var::FONT_PATH + font_name + "ExtraLight.ttf",
var::FONT_PATH + font_name + "ExtraLightItalic.ttf",
var::FONT_PATH + font_name + "Italic.ttf",
var::FONT_PATH + font_name + "Light.ttf",
var::FONT_PATH + font_name + "LightItalic.ttf",
var::FONT_PATH + font_name + "Medium.ttf",
var::FONT_PATH + font_name + "MediumItalic.ttf",
var::FONT_PATH + font_name + "Regular.ttf",
var::FONT_PATH + font_name + "SemiBold.ttf",
var::FONT_PATH + font_name + "SemiBoldItalic.ttf",
var::FONT_PATH + font_name + "Thin.ttf",
var::FONT_PATH + font_name + "ThinItalic.ttf"
};
inline std::map<font_type, int> font_step
{
{ font_type::BOLD, 0 },
{ font_type::BOLD_ITALIC, 15 },
{ font_type::EXTRA_BOLD, 30 },
{ font_type::EXTRA_BOLD_ITALIC, 45 },
{ font_type::EXTRA_LIGHT, 60 },
{ font_type::EXTRA_LIGHT_ITALIC, 75 },
{ font_type::ITALIC, 90 },
{ font_type::LIGHT, 105 },
{ font_type::LIGHT_ITALIC, 120 },
{ font_type::MEDIUM, 135 },
{ font_type::MEDIUM_ITALIC, 150 },
{ font_type::REGULAR, 165 },
{ font_type::SEMI_BOLD, 180 },
{ font_type::SEMI_BOLD_ITALIC, 195 },
{ font_type::THIN, 210 },
{ font_type::THIN_ITALIC, 225 },
{ font_type::ICON, 240 },
};
inline void init()
{
ImGuiIO& io = ImGui::GetIO();
for (auto& p : fonts_path)
for (auto size : font_size)
io.Fonts->AddFontFromFileTTF(p.c_str(), size, NULL, io.Fonts->GetGlyphRangesCyrillic());
// add icon font size
static const ImWchar icon_ranges[] = { ICON_MIN_FK, ICON_MAX_FK, 0 };
for (auto size : font_size)
io.Fonts->AddFontFromFileTTF(var::ICONS_PATH.c_str(), size, NULL, icon_ranges);
};
inline ImFont* get_font(font_type type = font_type::REGULAR, int size = 16)
{
if (size < 0) size = 8;
if (size > 33) size = 33;
size -= 8; // т.к. font_size начинается с 8.f
ImGuiIO& io = ImGui::GetIO();
ImFontAtlas* atlas = io.Fonts;
auto pos = font_step[type] + size;
return atlas->Fonts[pos];
};
}

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

719
src/gui/style/icons.hpp Executable file
View File

@@ -0,0 +1,719 @@
#pragma once
// for use with https://github.com/ForkAwesome/Fork-Awesome/blob/master/fonts/forkawesome-webfont.ttf
#define ICON_MIN_FK 0xf000
#define ICON_MAX_FK 0xf307
namespace VE::style::icon
{
inline const char* ICON_GLASS = "\uf000";
inline const char* ICON_MUSIC = "\uf001";
inline const char* ICON_SEARCH = "\uf002";
inline const char* ICON_ENVELOPE_O = "\uf003";
inline const char* ICON_HEART = "\uf004";
inline const char* ICON_STAR = "\uf005";
inline const char* ICON_STAR_O = "\uf006";
inline const char* ICON_USER = "\uf007";
inline const char* ICON_FILM = "\uf008";
inline const char* ICON_TH_LARGE = "\uf009";
inline const char* ICON_TH = "\uf00a";
inline const char* ICON_TH_LIST = "\uf00b";
inline const char* ICON_CHECK = "\uf00c";
inline const char* ICON_TIMES = "\uf00d";
inline const char* ICON_SEARCH_PLUS = "\uf00e";
inline const char* ICON_SEARCH_MINUS = "\uf010";
inline const char* ICON_POWER_OFF = "\uf011";
inline const char* ICON_SIGNAL = "\uf012";
inline const char* ICON_COG = "\uf013";
inline const char* ICON_TRASH_O = "\uf014";
inline const char* ICON_HOME = "\uf015";
inline const char* ICON_FILE_O = "\uf016";
inline const char* ICON_CLOCK_O = "\uf017";
inline const char* ICON_ROAD = "\uf018";
inline const char* ICON_DOWNLOAD = "\uf019";
inline const char* ICON_ARROW_CIRCLE_O_DOWN = "\uf01a";
inline const char* ICON_ARROW_CIRCLE_O_UP = "\uf01b";
inline const char* ICON_INBOX = "\uf01c";
inline const char* ICON_PLAY_CIRCLE_O = "\uf01d";
inline const char* ICON_REPEAT = "\uf01e";
inline const char* ICON_REFRESH = "\uf021";
inline const char* ICON_LIST_ALT = "\uf022";
inline const char* ICON_LOCK = "\uf023";
inline const char* ICON_FLAG = "\uf024";
inline const char* ICON_HEADPHONES = "\uf025";
inline const char* ICON_VOLUME_OFF = "\uf026";
inline const char* ICON_VOLUME_DOWN = "\uf027";
inline const char* ICON_VOLUME_UP = "\uf028";
inline const char* ICON_QRCODE = "\uf029";
inline const char* ICON_BARCODE = "\uf02a";
inline const char* ICON_TAG = "\uf02b";
inline const char* ICON_TAGS = "\uf02c";
inline const char* ICON_BOOK = "\uf02d";
inline const char* ICON_BOOKMARK = "\uf02e";
inline const char* ICON_PRINT = "\uf02f";
inline const char* ICON_CAMERA = "\uf030";
inline const char* ICON_FONT = "\uf031";
inline const char* ICON_BOLD = "\uf032";
inline const char* ICON_ITALIC = "\uf033";
inline const char* ICON_TEXT_HEIGHT = "\uf034";
inline const char* ICON_TEXT_WIDTH = "\uf035";
inline const char* ICON_ALIGN_LEFT = "\uf036";
inline const char* ICON_ALIGN_CENTER = "\uf037";
inline const char* ICON_ALIGN_RIGHT = "\uf038";
inline const char* ICON_ALIGN_JUSTIFY = "\uf039";
inline const char* ICON_LIST = "\uf03a";
inline const char* ICON_OUTDENT = "\uf03b";
inline const char* ICON_INDENT = "\uf03c";
inline const char* ICON_VIDEO_CAMERA = "\uf03d";
inline const char* ICON_PICTURE_O = "\uf03e";
inline const char* ICON_PENCIL = "\uf040";
inline const char* ICON_MAP_MARKER = "\uf041";
inline const char* ICON_ADJUST = "\uf042";
inline const char* ICON_TINT = "\uf043";
inline const char* ICON_PENCIL_SQUARE_O = "\uf044";
inline const char* ICON_SHARE_SQUARE_O = "\uf045";
inline const char* ICON_CHECK_SQUARE_O = "\uf046";
inline const char* ICON_ARROWS = "\uf047";
inline const char* ICON_STEP_BACKWARD = "\uf048";
inline const char* ICON_FAST_BACKWARD = "\uf049";
inline const char* ICON_BACKWARD = "\uf04a";
inline const char* ICON_PLAY = "\uf04b";
inline const char* ICON_PAUSE = "\uf04c";
inline const char* ICON_STOP = "\uf04d";
inline const char* ICON_FORWARD = "\uf04e";
inline const char* ICON_FAST_FORWARD = "\uf050";
inline const char* ICON_STEP_FORWARD = "\uf051";
inline const char* ICON_EJECT = "\uf052";
inline const char* ICON_CHEVRON_LEFT = "\uf053";
inline const char* ICON_CHEVRON_RIGHT = "\uf054";
inline const char* ICON_PLUS_CIRCLE = "\uf055";
inline const char* ICON_MINUS_CIRCLE = "\uf056";
inline const char* ICON_TIMES_CIRCLE = "\uf057";
inline const char* ICON_CHECK_CIRCLE = "\uf058";
inline const char* ICON_QUESTION_CIRCLE = "\uf059";
inline const char* ICON_INFO_CIRCLE = "\uf05a";
inline const char* ICON_CROSSHAIRS = "\uf05b";
inline const char* ICON_TIMES_CIRCLE_O = "\uf05c";
inline const char* ICON_CHECK_CIRCLE_O = "\uf05d";
inline const char* ICON_BAN = "\uf05e";
inline const char* ICON_ARROW_LEFT = "\uf060";
inline const char* ICON_ARROW_RIGHT = "\uf061";
inline const char* ICON_ARROW_UP = "\uf062";
inline const char* ICON_ARROW_DOWN = "\uf063";
inline const char* ICON_SHARE = "\uf064";
inline const char* ICON_EXPAND = "\uf065";
inline const char* ICON_COMPRESS = "\uf066";
inline const char* ICON_PLUS = "\uf067";
inline const char* ICON_MINUS = "\uf068";
inline const char* ICON_ASTERISK = "\uf069";
inline const char* ICON_EXCLAMATION_CIRCLE = "\uf06a";
inline const char* ICON_GIFT = "\uf06b";
inline const char* ICON_LEAF = "\uf06c";
inline const char* ICON_FIRE = "\uf06d";
inline const char* ICON_EYE = "\uf06e";
inline const char* ICON_EYE_SLASH = "\uf070";
inline const char* ICON_EXCLAMATION_TRIANGLE = "\uf071";
inline const char* ICON_PLANE = "\uf072";
inline const char* ICON_CALENDAR = "\uf073";
inline const char* ICON_RANDOM = "\uf074";
inline const char* ICON_COMMENT = "\uf075";
inline const char* ICON_MAGNET = "\uf076";
inline const char* ICON_CHEVRON_UP = "\uf077";
inline const char* ICON_CHEVRON_DOWN = "\uf078";
inline const char* ICON_RETWEET = "\uf079";
inline const char* ICON_SHOPPING_CART = "\uf07a";
inline const char* ICON_FOLDER = "\uf07b";
inline const char* ICON_FOLDER_OPEN = "\uf07c";
inline const char* ICON_ARROWS_V = "\uf07d";
inline const char* ICON_ARROWS_H = "\uf07e";
inline const char* ICON_BAR_CHART = "\uf080";
inline const char* ICON_TWITTER_SQUARE = "\uf081";
inline const char* ICON_FACEBOOK_SQUARE = "\uf082";
inline const char* ICON_CAMERA_RETRO = "\uf083";
inline const char* ICON_KEY = "\uf084";
inline const char* ICON_COGS = "\uf085";
inline const char* ICON_COMMENTS = "\uf086";
inline const char* ICON_THUMBS_O_UP = "\uf087";
inline const char* ICON_THUMBS_O_DOWN = "\uf088";
inline const char* ICON_STAR_HALF = "\uf089";
inline const char* ICON_HEART_O = "\uf08a";
inline const char* ICON_SIGN_OUT = "\uf08b";
inline const char* ICON_LINKEDIN_SQUARE = "\uf08c";
inline const char* ICON_THUMB_TACK = "\uf08d";
inline const char* ICON_INLINEAL_LINK = "\uf08e";
inline const char* ICON_SIGN_IN = "\uf090";
inline const char* ICON_TROPHY = "\uf091";
inline const char* ICON_GITHUB_SQUARE = "\uf092";
inline const char* ICON_UPLOAD = "\uf093";
inline const char* ICON_LEMON_O = "\uf094";
inline const char* ICON_PHONE = "\uf095";
inline const char* ICON_SQUARE_O = "\uf096";
inline const char* ICON_BOOKMARK_O = "\uf097";
inline const char* ICON_PHONE_SQUARE = "\uf098";
inline const char* ICON_TWITTER = "\uf099";
inline const char* ICON_FACEBOOK = "\uf09a";
inline const char* ICON_GITHUB = "\uf09b";
inline const char* ICON_UNLOCK = "\uf09c";
inline const char* ICON_CREDIT_CARD = "\uf09d";
inline const char* ICON_RSS = "\uf09e";
inline const char* ICON_HDD_O = "\uf0a0";
inline const char* ICON_BULLHORN = "\uf0a1";
inline const char* ICON_BELL = "\uf0f3";
inline const char* ICON_CERTIFICATE = "\uf0a3";
inline const char* ICON_HAND_O_RIGHT = "\uf0a4";
inline const char* ICON_HAND_O_LEFT = "\uf0a5";
inline const char* ICON_HAND_O_UP = "\uf0a6";
inline const char* ICON_HAND_O_DOWN = "\uf0a7";
inline const char* ICON_ARROW_CIRCLE_LEFT = "\uf0a8";
inline const char* ICON_ARROW_CIRCLE_RIGHT = "\uf0a9";
inline const char* ICON_ARROW_CIRCLE_UP = "\uf0aa";
inline const char* ICON_ARROW_CIRCLE_DOWN = "\uf0ab";
inline const char* ICON_GLOBE = "\uf0ac";
inline const char* ICON_GLOBE_E = "\uf304";
inline const char* ICON_GLOBE_W = "\uf305";
inline const char* ICON_WRENCH = "\uf0ad";
inline const char* ICON_TASKS = "\uf0ae";
inline const char* ICON_FILTER = "\uf0b0";
inline const char* ICON_BRIEFCASE = "\uf0b1";
inline const char* ICON_ARROWS_ALT = "\uf0b2";
inline const char* ICON_USERS = "\uf0c0";
inline const char* ICON_LINK = "\uf0c1";
inline const char* ICON_CLOUD = "\uf0c2";
inline const char* ICON_FLASK = "\uf0c3";
inline const char* ICON_SCISSORS = "\uf0c4";
inline const char* ICON_FILES_O = "\uf0c5";
inline const char* ICON_PAPERCLIP = "\uf0c6";
inline const char* ICON_FLOPPY_O = "\uf0c7";
inline const char* ICON_SQUARE = "\uf0c8";
inline const char* ICON_BARS = "\uf0c9";
inline const char* ICON_LIST_UL = "\uf0ca";
inline const char* ICON_LIST_OL = "\uf0cb";
inline const char* ICON_STRIKETHROUGH = "\uf0cc";
inline const char* ICON_UNDERLINE = "\uf0cd";
inline const char* ICON_TABLE = "\uf0ce";
inline const char* ICON_MAGIC = "\uf0d0";
inline const char* ICON_TRUCK = "\uf0d1";
inline const char* ICON_PINTEREST = "\uf0d2";
inline const char* ICON_PINTEREST_SQUARE = "\uf0d3";
inline const char* ICON_GOOGLE_PLUS_SQUARE = "\uf0d4";
inline const char* ICON_GOOGLE_PLUS = "\uf0d5";
inline const char* ICON_MONEY = "\uf0d6";
inline const char* ICON_CARET_DOWN = "\uf0d7";
inline const char* ICON_CARET_UP = "\uf0d8";
inline const char* ICON_CARET_LEFT = "\uf0d9";
inline const char* ICON_CARET_RIGHT = "\uf0da";
inline const char* ICON_COLUMNS = "\uf0db";
inline const char* ICON_SORT = "\uf0dc";
inline const char* ICON_SORT_DESC = "\uf0dd";
inline const char* ICON_SORT_ASC = "\uf0de";
inline const char* ICON_ENVELOPE = "\uf0e0";
inline const char* ICON_LINKEDIN = "\uf0e1";
inline const char* ICON_UNDO = "\uf0e2";
inline const char* ICON_GAVEL = "\uf0e3";
inline const char* ICON_TACHOMETER = "\uf0e4";
inline const char* ICON_COMMENT_O = "\uf0e5";
inline const char* ICON_COMMENTS_O = "\uf0e6";
inline const char* ICON_BOLT = "\uf0e7";
inline const char* ICON_SITEMAP = "\uf0e8";
inline const char* ICON_UMBRELLA = "\uf0e9";
inline const char* ICON_CLIPBOARD = "\uf0ea";
inline const char* ICON_LIGHTBULB_O = "\uf0eb";
inline const char* ICON_EXCHANGE = "\uf0ec";
inline const char* ICON_CLOUD_DOWNLOAD = "\uf0ed";
inline const char* ICON_CLOUD_UPLOAD = "\uf0ee";
inline const char* ICON_USER_MD = "\uf0f0";
inline const char* ICON_STETHOSCOPE = "\uf0f1";
inline const char* ICON_SUITCASE = "\uf0f2";
inline const char* ICON_BELL_O = "\uf0a2";
inline const char* ICON_COFFEE = "\uf0f4";
inline const char* ICON_CUTLERY = "\uf0f5";
inline const char* ICON_FILE_TEXT_O = "\uf0f6";
inline const char* ICON_BUILDING_O = "\uf0f7";
inline const char* ICON_HOSPITAL_O = "\uf0f8";
inline const char* ICON_AMBULANCE = "\uf0f9";
inline const char* ICON_MEDKIT = "\uf0fa";
inline const char* ICON_FIGHTER_JET = "\uf0fb";
inline const char* ICON_BEER = "\uf0fc";
inline const char* ICON_H_SQUARE = "\uf0fd";
inline const char* ICON_PLUS_SQUARE = "\uf0fe";
inline const char* ICON_ANGLE_DOUBLE_LEFT = "\uf100";
inline const char* ICON_ANGLE_DOUBLE_RIGHT = "\uf101";
inline const char* ICON_ANGLE_DOUBLE_UP = "\uf102";
inline const char* ICON_ANGLE_DOUBLE_DOWN = "\uf103";
inline const char* ICON_ANGLE_LEFT = "\uf104";
inline const char* ICON_ANGLE_RIGHT = "\uf105";
inline const char* ICON_ANGLE_UP = "\uf106";
inline const char* ICON_ANGLE_DOWN = "\uf107";
inline const char* ICON_DESKTOP = "\uf108";
inline const char* ICON_LAPTOP = "\uf109";
inline const char* ICON_TABLET = "\uf10a";
inline const char* ICON_MOBILE = "\uf10b";
inline const char* ICON_CIRCLE_O = "\uf10c";
inline const char* ICON_QUOTE_LEFT = "\uf10d";
inline const char* ICON_QUOTE_RIGHT = "\uf10e";
inline const char* ICON_SPINNER = "\uf110";
inline const char* ICON_CIRCLE = "\uf111";
inline const char* ICON_REPLY = "\uf112";
inline const char* ICON_GITHUB_ALT = "\uf113";
inline const char* ICON_FOLDER_O = "\uf114";
inline const char* ICON_FOLDER_OPEN_O = "\uf115";
inline const char* ICON_SMILE_O = "\uf118";
inline const char* ICON_FROWN_O = "\uf119";
inline const char* ICON_MEH_O = "\uf11a";
inline const char* ICON_GAMEPAD = "\uf11b";
inline const char* ICON_KEYBOARD_O = "\uf11c";
inline const char* ICON_FLAG_O = "\uf11d";
inline const char* ICON_FLAG_CHECKERED = "\uf11e";
inline const char* ICON_TERMINAL = "\uf120";
inline const char* ICON_CODE = "\uf121";
inline const char* ICON_REPLY_ALL = "\uf122";
inline const char* ICON_STAR_HALF_O = "\uf123";
inline const char* ICON_LOCATION_ARROW = "\uf124";
inline const char* ICON_CROP = "\uf125";
inline const char* ICON_CODE_FORK = "\uf126";
inline const char* ICON_CHAIN_BROKEN = "\uf127";
inline const char* ICON_QUESTION = "\uf128";
inline const char* ICON_INFO = "\uf129";
inline const char* ICON_EXCLAMATION = "\uf12a";
inline const char* ICON_SUPERSCRIPT = "\uf12b";
inline const char* ICON_SUBSCRIPT = "\uf12c";
inline const char* ICON_ERASER = "\uf12d";
inline const char* ICON_PUZZLE_PIECE = "\uf12e";
inline const char* ICON_MICROPHONE = "\uf130";
inline const char* ICON_MICROPHONE_SLASH = "\uf131";
inline const char* ICON_SHIELD = "\uf132";
inline const char* ICON_CALENDAR_O = "\uf133";
inline const char* ICON_FIRE_EXTINGUISHER = "\uf134";
inline const char* ICON_ROCKET = "\uf135";
inline const char* ICON_MAXCDN = "\uf136";
inline const char* ICON_CHEVRON_CIRCLE_LEFT = "\uf137";
inline const char* ICON_CHEVRON_CIRCLE_RIGHT = "\uf138";
inline const char* ICON_CHEVRON_CIRCLE_UP = "\uf139";
inline const char* ICON_CHEVRON_CIRCLE_DOWN = "\uf13a";
inline const char* ICON_HTML5 = "\uf13b";
inline const char* ICON_CSS3 = "\uf13c";
inline const char* ICON_ANCHOR = "\uf13d";
inline const char* ICON_UNLOCK_ALT = "\uf13e";
inline const char* ICON_BULLSEYE = "\uf140";
inline const char* ICON_ELLIPSIS_H = "\uf141";
inline const char* ICON_ELLIPSIS_V = "\uf142";
inline const char* ICON_RSS_SQUARE = "\uf143";
inline const char* ICON_PLAY_CIRCLE = "\uf144";
inline const char* ICON_TICKET = "\uf145";
inline const char* ICON_MINUS_SQUARE = "\uf146";
inline const char* ICON_MINUS_SQUARE_O = "\uf147";
inline const char* ICON_LEVEL_UP = "\uf148";
inline const char* ICON_LEVEL_DOWN = "\uf149";
inline const char* ICON_CHECK_SQUARE = "\uf14a";
inline const char* ICON_PENCIL_SQUARE = "\uf14b";
inline const char* ICON_inlineAL_LINK_SQUARE = "\uf14c";
inline const char* ICON_SHARE_SQUARE = "\uf14d";
inline const char* ICON_COMPASS = "\uf14e";
inline const char* ICON_CARET_SQUARE_O_DOWN = "\uf150";
inline const char* ICON_CARET_SQUARE_O_UP = "\uf151";
inline const char* ICON_CARET_SQUARE_O_RIGHT = "\uf152";
inline const char* ICON_EUR = "\uf153";
inline const char* ICON_GBP = "\uf154";
inline const char* ICON_USD = "\uf155";
inline const char* ICON_INR = "\uf156";
inline const char* ICON_JPY = "\uf157";
inline const char* ICON_RUB = "\uf158";
inline const char* ICON_KRW = "\uf159";
inline const char* ICON_BTC = "\uf15a";
inline const char* ICON_FILE = "\uf15b";
inline const char* ICON_FILE_TEXT = "\uf15c";
inline const char* ICON_SORT_ALPHA_ASC = "\uf15d";
inline const char* ICON_SORT_ALPHA_DESC = "\uf15e";
inline const char* ICON_SORT_AMOUNT_ASC = "\uf160";
inline const char* ICON_SORT_AMOUNT_DESC = "\uf161";
inline const char* ICON_SORT_NUMERIC_ASC = "\uf162";
inline const char* ICON_SORT_NUMERIC_DESC = "\uf163";
inline const char* ICON_THUMBS_UP = "\uf164";
inline const char* ICON_THUMBS_DOWN = "\uf165";
inline const char* ICON_YOUTUBE_SQUARE = "\uf166";
inline const char* ICON_YOUTUBE = "\uf167";
inline const char* ICON_XING = "\uf168";
inline const char* ICON_XING_SQUARE = "\uf169";
inline const char* ICON_YOUTUBE_PLAY = "\uf16a";
inline const char* ICON_DROPBOX = "\uf16b";
inline const char* ICON_STACK_OVERFLOW = "\uf16c";
inline const char* ICON_INSTAGRAM = "\uf16d";
inline const char* ICON_FLICKR = "\uf16e";
inline const char* ICON_ADN = "\uf170";
inline const char* ICON_BITBUCKET = "\uf171";
inline const char* ICON_BITBUCKET_SQUARE = "\uf172";
inline const char* ICON_TUMBLR = "\uf173";
inline const char* ICON_TUMBLR_SQUARE = "\uf174";
inline const char* ICON_LONG_ARROW_DOWN = "\uf175";
inline const char* ICON_LONG_ARROW_UP = "\uf176";
inline const char* ICON_LONG_ARROW_LEFT = "\uf177";
inline const char* ICON_LONG_ARROW_RIGHT = "\uf178";
inline const char* ICON_APPLE = "\uf179";
inline const char* ICON_PROJECTS = "\uf17a";
inline const char* ICON_ANDROID = "\uf17b";
inline const char* ICON_LINUX = "\uf17c";
inline const char* ICON_DRIBBBLE = "\uf17d";
inline const char* ICON_SKYPE = "\uf17e";
inline const char* ICON_FOURSQUARE = "\uf180";
inline const char* ICON_TRELLO = "\uf181";
inline const char* ICON_FEMALE = "\uf182";
inline const char* ICON_MALE = "\uf183";
inline const char* ICON_GRATIPAY = "\uf184";
inline const char* ICON_SUN_O = "\uf185";
inline const char* ICON_MOON_O = "\uf186";
inline const char* ICON_ARCHIVE = "\uf187";
inline const char* ICON_BUG = "\uf188";
inline const char* ICON_VK = "\uf189";
inline const char* ICON_WEIBO = "\uf18a";
inline const char* ICON_RENREN = "\uf18b";
inline const char* ICON_PAGELINES = "\uf18c";
inline const char* ICON_STACK_EXCHANGE = "\uf18d";
inline const char* ICON_ARROW_CIRCLE_O_RIGHT = "\uf18e";
inline const char* ICON_ARROW_CIRCLE_O_LEFT = "\uf190";
inline const char* ICON_CARET_SQUARE_O_LEFT = "\uf191";
inline const char* ICON_DOT_CIRCLE_O = "\uf192";
inline const char* ICON_WHEELCHAIR = "\uf193";
inline const char* ICON_VIMEO_SQUARE = "\uf194";
inline const char* ICON_TRY = "\uf195";
inline const char* ICON_PLUS_SQUARE_O = "\uf196";
inline const char* ICON_SPACE_SHUTTLE = "\uf197";
inline const char* ICON_SLACK = "\uf198";
inline const char* ICON_ENVELOPE_SQUARE = "\uf199";
inline const char* ICON_WORDPRESS = "\uf19a";
inline const char* ICON_OPENID = "\uf19b";
inline const char* ICON_UNIVERSITY = "\uf19c";
inline const char* ICON_GRADUATION_CAP = "\uf19d";
inline const char* ICON_YAHOO = "\uf19e";
inline const char* ICON_GOOGLE = "\uf1a0";
inline const char* ICON_REDDIT = "\uf1a1";
inline const char* ICON_REDDIT_SQUARE = "\uf1a2";
inline const char* ICON_STUMBLEUPON_CIRCLE = "\uf1a3";
inline const char* ICON_STUMBLEUPON = "\uf1a4";
inline const char* ICON_DELICIOUS = "\uf1a5";
inline const char* ICON_DIGG = "\uf1a6";
inline const char* ICON_DRUPAL = "\uf1a9";
inline const char* ICON_JOOMLA = "\uf1aa";
inline const char* ICON_LANGUAGE = "\uf1ab";
inline const char* ICON_FAX = "\uf1ac";
inline const char* ICON_BUILDING = "\uf1ad";
inline const char* ICON_CHILD = "\uf1ae";
inline const char* ICON_PAW = "\uf1b0";
inline const char* ICON_SPOON = "\uf1b1";
inline const char* ICON_CUBE = "\uf1b2";
inline const char* ICON_CUBES = "\uf1b3";
inline const char* ICON_BEHANCE = "\uf1b4";
inline const char* ICON_BEHANCE_SQUARE = "\uf1b5";
inline const char* ICON_STEAM = "\uf1b6";
inline const char* ICON_STEAM_SQUARE = "\uf1b7";
inline const char* ICON_RECYCLE = "\uf1b8";
inline const char* ICON_CAR = "\uf1b9";
inline const char* ICON_TAXI = "\uf1ba";
inline const char* ICON_TREE = "\uf1bb";
inline const char* ICON_SPOTIFY = "\uf1bc";
inline const char* ICON_DEVIANTART = "\uf1bd";
inline const char* ICON_SOUNDCLOUD = "\uf1be";
inline const char* ICON_DATABASE = "\uf1c0";
inline const char* ICON_FILE_PDF_O = "\uf1c1";
inline const char* ICON_FILE_WORD_O = "\uf1c2";
inline const char* ICON_FILE_EXCEL_O = "\uf1c3";
inline const char* ICON_FILE_POWERPOINT_O = "\uf1c4";
inline const char* ICON_SAVE = "\uf0c7";
inline const char* ICON_FILE_IMAGE_O = "\uf1c5";
inline const char* ICON_FILE_ARCHIVE_O = "\uf1c6";
inline const char* ICON_FILE_AUDIO_O = "\uf1c7";
inline const char* ICON_FILE_VIDEO_O = "\uf1c8";
inline const char* ICON_FILE_CODE_O = "\uf1c9";
inline const char* ICON_VINE = "\uf1ca";
inline const char* ICON_CODEPEN = "\uf1cb";
inline const char* ICON_JSFIDDLE = "\uf1cc";
inline const char* ICON_LIFE_RING = "\uf1cd";
inline const char* ICON_CIRCLE_O_NOTCH = "\uf1ce";
inline const char* ICON_REBEL = "\uf1d0";
inline const char* ICON_EMPIRE = "\uf1d1";
inline const char* ICON_GIT_SQUARE = "\uf1d2";
inline const char* ICON_GIT = "\uf1d3";
inline const char* ICON_HACKER_NEWS = "\uf1d4";
inline const char* ICON_TENCENT_WEIBO = "\uf1d5";
inline const char* ICON_QQ = "\uf1d6";
inline const char* ICON_WEIXIN = "\uf1d7";
inline const char* ICON_PAPER_PLANE = "\uf1d8";
inline const char* ICON_PAPER_PLANE_O = "\uf1d9";
inline const char* ICON_HISTORY = "\uf1da";
inline const char* ICON_CIRCLE_THIN = "\uf1db";
inline const char* ICON_HEADER = "\uf1dc";
inline const char* ICON_PARAGRAPH = "\uf1dd";
inline const char* ICON_SLIDERS = "\uf1de";
inline const char* ICON_SHARE_ALT = "\uf1e0";
inline const char* ICON_SHARE_ALT_SQUARE = "\uf1e1";
inline const char* ICON_BOMB = "\uf1e2";
inline const char* ICON_FUTBOL_O = "\uf1e3";
inline const char* ICON_TTY = "\uf1e4";
inline const char* ICON_BINOCULARS = "\uf1e5";
inline const char* ICON_PLUG = "\uf1e6";
inline const char* ICON_SLIDESHARE = "\uf1e7";
inline const char* ICON_TWITCH = "\uf1e8";
inline const char* ICON_YELP = "\uf1e9";
inline const char* ICON_NEWSPAPER_O = "\uf1ea";
inline const char* ICON_WIFI = "\uf1eb";
inline const char* ICON_CALCULATOR = "\uf1ec";
inline const char* ICON_PAYPAL = "\uf1ed";
inline const char* ICON_GOOGLE_WALLET = "\uf1ee";
inline const char* ICON_CC_VISA = "\uf1f0";
inline const char* ICON_CC_MASTERCARD = "\uf1f1";
inline const char* ICON_CC_DISCOVER = "\uf1f2";
inline const char* ICON_CC_AMEX = "\uf1f3";
inline const char* ICON_CC_PAYPAL = "\uf1f4";
inline const char* ICON_CC_STRIPE = "\uf1f5";
inline const char* ICON_BELL_SLASH = "\uf1f6";
inline const char* ICON_BELL_SLASH_O = "\uf1f7";
inline const char* ICON_TRASH = "\uf1f8";
inline const char* ICON_COPYRIGHT = "\uf1f9";
inline const char* ICON_AT = "\uf1fa";
inline const char* ICON_EYEDROPPER = "\uf1fb";
inline const char* ICON_PAINT_BRUSH = "\uf1fc";
inline const char* ICON_BIRTHDAY_CAKE = "\uf1fd";
inline const char* ICON_AREA_CHART = "\uf1fe";
inline const char* ICON_PIE_CHART = "\uf200";
inline const char* ICON_LINE_CHART = "\uf201";
inline const char* ICON_LASTFM = "\uf202";
inline const char* ICON_LASTFM_SQUARE = "\uf203";
inline const char* ICON_TOGGLE_OFF = "\uf204";
inline const char* ICON_TOGGLE_ON = "\uf205";
inline const char* ICON_BICYCLE = "\uf206";
inline const char* ICON_BUS = "\uf207";
inline const char* ICON_IOXHOST = "\uf208";
inline const char* ICON_ANGELLIST = "\uf209";
inline const char* ICON_CC = "\uf20a";
inline const char* ICON_ILS = "\uf20b";
inline const char* ICON_MEANPATH = "\uf20c";
inline const char* ICON_BUYSELLADS = "\uf20d";
inline const char* ICON_CONNECTDEVELOP = "\uf20e";
inline const char* ICON_DASHCUBE = "\uf210";
inline const char* ICON_FORUMBEE = "\uf211";
inline const char* ICON_LEANPUB = "\uf212";
inline const char* ICON_SELLSY = "\uf213";
inline const char* ICON_SHIRTSINBULK = "\uf214";
inline const char* ICON_SIMPLYBUILT = "\uf215";
inline const char* ICON_SKYATLAS = "\uf216";
inline const char* ICON_CART_PLUS = "\uf217";
inline const char* ICON_CART_ARROW_DOWN = "\uf218";
inline const char* ICON_DIAMOND = "\uf219";
inline const char* ICON_SHIP = "\uf21a";
inline const char* ICON_USER_SECRET = "\uf21b";
inline const char* ICON_MOTORCYCLE = "\uf21c";
inline const char* ICON_STREET_VIEW = "\uf21d";
inline const char* ICON_HEARTBEAT = "\uf21e";
inline const char* ICON_VENUS = "\uf221";
inline const char* ICON_MARS = "\uf222";
inline const char* ICON_MERCURY = "\uf223";
inline const char* ICON_TRANSGENDER = "\uf224";
inline const char* ICON_TRANSGENDER_ALT = "\uf225";
inline const char* ICON_VENUS_DOUBLE = "\uf226";
inline const char* ICON_MARS_DOUBLE = "\uf227";
inline const char* ICON_VENUS_MARS = "\uf228";
inline const char* ICON_MARS_STROKE = "\uf229";
inline const char* ICON_MARS_STROKE_V = "\uf22a";
inline const char* ICON_MARS_STROKE_H = "\uf22b";
inline const char* ICON_NEUTER = "\uf22c";
inline const char* ICON_GENDERLESS = "\uf22d";
inline const char* ICON_FACEBOOK_OFFICIAL = "\uf230";
inline const char* ICON_PINTEREST_P = "\uf231";
inline const char* ICON_WHATSAPP = "\uf232";
inline const char* ICON_SERVER = "\uf233";
inline const char* ICON_USER_PLUS = "\uf234";
inline const char* ICON_USER_TIMES = "\uf235";
inline const char* ICON_BED = "\uf236";
inline const char* ICON_VIACOIN = "\uf237";
inline const char* ICON_TRAIN = "\uf238";
inline const char* ICON_SUBWAY = "\uf239";
inline const char* ICON_MEDIUM = "\uf23a";
inline const char* ICON_MEDIUM_SQUARE = "\uf2f8";
inline const char* ICON_Y_COMBINATOR = "\uf23b";
inline const char* ICON_OPTIN_MONSTER = "\uf23c";
inline const char* ICON_OPENCART = "\uf23d";
inline const char* ICON_EXPEDITEDSSL = "\uf23e";
inline const char* ICON_BATTERY_FULL = "\uf240";
inline const char* ICON_BATTERY_THREE_QUARTERS = "\uf241";
inline const char* ICON_BATTERY_HALF = "\uf242";
inline const char* ICON_BATTERY_QUARTER = "\uf243";
inline const char* ICON_BATTERY_EMPTY = "\uf244";
inline const char* ICON_MOUSE_POINTER = "\uf245";
inline const char* ICON_I_CURSOR = "\uf246";
inline const char* ICON_OBJECT_GROUP = "\uf247";
inline const char* ICON_OBJECT_UNGROUP = "\uf248";
inline const char* ICON_STICKY_NOTE = "\uf249";
inline const char* ICON_STICKY_NOTE_O = "\uf24a";
inline const char* ICON_CC_JCB = "\uf24b";
inline const char* ICON_CC_DINERS_CLUB = "\uf24c";
inline const char* ICON_CLONE = "\uf24d";
inline const char* ICON_BALANCE_SCALE = "\uf24e";
inline const char* ICON_HOURGLASS_O = "\uf250";
inline const char* ICON_HOURGLASS_START = "\uf251";
inline const char* ICON_HOURGLASS_HALF = "\uf252";
inline const char* ICON_HOURGLASS_END = "\uf253";
inline const char* ICON_HOURGLASS = "\uf254";
inline const char* ICON_HAND_ROCK_O = "\uf255";
inline const char* ICON_HAND_PAPER_O = "\uf256";
inline const char* ICON_HAND_SCISSORS_O = "\uf257";
inline const char* ICON_HAND_LIZARD_O = "\uf258";
inline const char* ICON_HAND_SPOCK_O = "\uf259";
inline const char* ICON_HAND_POINTER_O = "\uf25a";
inline const char* ICON_HAND_PEACE_O = "\uf25b";
inline const char* ICON_TRADEMARK = "\uf25c";
inline const char* ICON_REGISTERED = "\uf25d";
inline const char* ICON_CREATIVE_COMMONS = "\uf25e";
inline const char* ICON_GG = "\uf260";
inline const char* ICON_GG_CIRCLE = "\uf261";
inline const char* ICON_TRIPADVISOR = "\uf262";
inline const char* ICON_ODNOKLASSNIKI = "\uf263";
inline const char* ICON_ODNOKLASSNIKI_SQUARE = "\uf264";
inline const char* ICON_GET_POCKET = "\uf265";
inline const char* ICON_WIKIPEDIA_W = "\uf266";
inline const char* ICON_SAFARI = "\uf267";
inline const char* ICON_CHROME = "\uf268";
inline const char* ICON_FIREFOX = "\uf269";
inline const char* ICON_OPERA = "\uf26a";
inline const char* ICON_INTERNET_EXPLORER = "\uf26b";
inline const char* ICON_TELEVISION = "\uf26c";
inline const char* ICON_CONTAO = "\uf26d";
inline const char* ICON_500PX = "\uf26e";
inline const char* ICON_AMAZON = "\uf270";
inline const char* ICON_CALENDAR_PLUS_O = "\uf271";
inline const char* ICON_CALENDAR_MINUS_O = "\uf272";
inline const char* ICON_CALENDAR_TIMES_O = "\uf273";
inline const char* ICON_CALENDAR_CHECK_O = "\uf274";
inline const char* ICON_INDUSTRY = "\uf275";
inline const char* ICON_MAP_PIN = "\uf276";
inline const char* ICON_MAP_SIGNS = "\uf277";
inline const char* ICON_MAP_O = "\uf278";
inline const char* ICON_MAP = "\uf279";
inline const char* ICON_COMMENTING = "\uf27a";
inline const char* ICON_COMMENTING_O = "\uf27b";
inline const char* ICON_HOUZZ = "\uf27c";
inline const char* ICON_VIMEO = "\uf27d";
inline const char* ICON_BLACK_TIE = "\uf27e";
inline const char* ICON_FONTICONS = "\uf280";
inline const char* ICON_REDDIT_ALIEN = "\uf281";
inline const char* ICON_EDGE = "\uf282";
inline const char* ICON_CREDIT_CARD_ALT = "\uf283";
inline const char* ICON_CODIEPIE = "\uf284";
inline const char* ICON_MODX = "\uf285";
inline const char* ICON_FORT_AWESOME = "\uf286";
inline const char* ICON_USB = "\uf287";
inline const char* ICON_PRODUCT_HUNT = "\uf288";
inline const char* ICON_MIXCLOUD = "\uf289";
inline const char* ICON_SCRIBD = "\uf28a";
inline const char* ICON_PAUSE_CIRCLE = "\uf28b";
inline const char* ICON_PAUSE_CIRCLE_O = "\uf28c";
inline const char* ICON_STOP_CIRCLE = "\uf28d";
inline const char* ICON_STOP_CIRCLE_O = "\uf28e";
inline const char* ICON_SHOPPING_BAG = "\uf290";
inline const char* ICON_SHOPPING_BASKET = "\uf291";
inline const char* ICON_HASHTAG = "\uf292";
inline const char* ICON_BLUETOOTH = "\uf293";
inline const char* ICON_BLUETOOTH_B = "\uf294";
inline const char* ICON_PERCENT = "\uf295";
inline const char* ICON_GITLAB = "\uf296";
inline const char* ICON_WPBEGINNER = "\uf297";
inline const char* ICON_WPFORMS = "\uf298";
inline const char* ICON_ENVIRA = "\uf299";
inline const char* ICON_UNIVERSAL_ACCESS = "\uf29a";
inline const char* ICON_WHEELCHAIR_ALT = "\uf29b";
inline const char* ICON_QUESTION_CIRCLE_O = "\uf29c";
inline const char* ICON_BLIND = "\uf29d";
inline const char* ICON_AUDIO_DESCRIPTION = "\uf29e";
inline const char* ICON_VOLUME_CONTROL_PHONE = "\uf2a0";
inline const char* ICON_BRAILLE = "\uf2a1";
inline const char* ICON_ASSISTIVE_LISTENING_SYSTEMS = "\uf2a2";
inline const char* ICON_AMERICAN_SIGN_LANGUAGE_INTERPRETING = "\uf2a3";
inline const char* ICON_DEAF = "\uf2a4";
inline const char* ICON_GLIDE = "\uf2a5";
inline const char* ICON_GLIDE_G = "\uf2a6";
inline const char* ICON_SIGN_LANGUAGE = "\uf2a7";
inline const char* ICON_LOW_VISION = "\uf2a8";
inline const char* ICON_VIADEO = "\uf2a9";
inline const char* ICON_VIADEO_SQUARE = "\uf2aa";
inline const char* ICON_SNAPCHAT = "\uf2ab";
inline const char* ICON_SNAPCHAT_GHOST = "\uf2ac";
inline const char* ICON_SNAPCHAT_SQUARE = "\uf2ad";
inline const char* ICON_FIRST_ORDER = "\uf2b0";
inline const char* ICON_YOAST = "\uf2b1";
inline const char* ICON_THEMEISLE = "\uf2b2";
inline const char* ICON_GOOGLE_PLUS_OFFICIAL = "\uf2b3";
inline const char* ICON_FONT_AWESOME = "\uf2b4";
inline const char* ICON_HANDSHAKE_O = "\uf2b5";
inline const char* ICON_ENVELOPE_OPEN = "\uf2b6";
inline const char* ICON_ENVELOPE_OPEN_O = "\uf2b7";
inline const char* ICON_LINODE = "\uf2b8";
inline const char* ICON_ADDRESS_BOOK = "\uf2b9";
inline const char* ICON_ADDRESS_BOOK_O = "\uf2ba";
inline const char* ICON_ADDRESS_CARD = "\uf2bb";
inline const char* ICON_ADDRESS_CARD_O = "\uf2bc";
inline const char* ICON_USER_CIRCLE = "\uf2bd";
inline const char* ICON_USER_CIRCLE_O = "\uf2be";
inline const char* ICON_USER_O = "\uf2c0";
inline const char* ICON_ID_BADGE = "\uf2c1";
inline const char* ICON_ID_CARD = "\uf2c2";
inline const char* ICON_ID_CARD_O = "\uf2c3";
inline const char* ICON_QUORA = "\uf2c4";
inline const char* ICON_FREE_CODE_CAMP = "\uf2c5";
inline const char* ICON_TELEGRAM = "\uf2c6";
inline const char* ICON_THERMOMETER_FULL = "\uf2c7";
inline const char* ICON_THERMOMETER_THREE_QUARTERS = "\uf2c8";
inline const char* ICON_THERMOMETER_HALF = "\uf2c9";
inline const char* ICON_THERMOMETER_QUARTER = "\uf2ca";
inline const char* ICON_THERMOMETER_EMPTY = "\uf2cb";
inline const char* ICON_SHOWER = "\uf2cc";
inline const char* ICON_BATH = "\uf2cd";
inline const char* ICON_PODCAST = "\uf2ce";
inline const char* ICON_WINDOW_MAXIMIZE = "\uf2d0";
inline const char* ICON_WINDOW_MINIMIZE = "\uf2d1";
inline const char* ICON_WINDOW_RESTORE = "\uf2d2";
inline const char* ICON_WINDOW_CLOSE = "\uf2d3";
inline const char* ICON_WINDOW_CLOSE_O = "\uf2d4";
inline const char* ICON_BANDCAMP = "\uf2d5";
inline const char* ICON_GRAV = "\uf2d6";
inline const char* ICON_ETSY = "\uf2d7";
inline const char* ICON_IMDB = "\uf2d8";
inline const char* ICON_RAVELRY = "\uf2d9";
inline const char* ICON_EERCAST = "\uf2da";
inline const char* ICON_MICROCHIP = "\uf2db";
inline const char* ICON_SNOWFLAKE_O = "\uf2dc";
inline const char* ICON_SUPERPOWERS = "\uf2dd";
inline const char* ICON_WPEXPLORER = "\uf2de";
inline const char* ICON_MEETUP = "\uf2e0";
inline const char* ICON_MASTODON = "\uf2e1";
inline const char* ICON_MASTODON_ALT = "\uf2e2";
inline const char* ICON_FORK_AWESOME = "\uf2e3";
inline const char* ICON_PEERTUBE = "\uf2e4";
inline const char* ICON_DIASPORA = "\uf2e5";
inline const char* ICON_FRIENDICA = "\uf2e6";
inline const char* ICON_GNU_SOCIAL = "\uf2e7";
inline const char* ICON_LIBERAPAY_SQUARE = "\uf2e8";
inline const char* ICON_LIBERAPAY = "\uf2e9";
inline const char* ICON_SCUTTLEBUTT = "\uf2ea";
inline const char* ICON_HUBZILLA = "\uf2eb";
inline const char* ICON_SOCIAL_HOME = "\uf2ec";
inline const char* ICON_ARTSTATION = "\uf2ed";
inline const char* ICON_DISCORD = "\uf2ee";
inline const char* ICON_DISCORD_ALT = "\uf2ef";
inline const char* ICON_PATREON = "\uf2f0";
inline const char* ICON_SNOWDRIFT = "\uf2f1";
inline const char* ICON_ACTIVITYPUB = "\uf2f2";
inline const char* ICON_ETHEREUM = "\uf2f3";
inline const char* ICON_KEYBASE = "\uf2f4";
inline const char* ICON_SHAARLI = "\uf2f5";
inline const char* ICON_SHAARLI_O = "\uf2f6";
inline const char* ICON_KEY_MODERN = "\uf2f7";
inline const char* ICON_XMPP = "\uf2f9";
inline const char* ICON_ARCHIVE_ORG = "\uf2fc";
inline const char* ICON_FREEDOMBOX = "\uf2fd";
inline const char* ICON_FACEBOOK_MESSENGER = "\uf2fe";
inline const char* ICON_DEBIAN = "\uf2ff";
inline const char* ICON_MASTODON_SQUARE = "\uf300";
inline const char* ICON_TIPEEE = "\uf301";
inline const char* ICON_REACT = "\uf302";
inline const char* ICON_DOGMAZIC = "\uf303";
inline const char* ICON_NEXTCLOUD = "\uf306";
inline const char* ICON_NEXTCLOUD_SQUARE = "\uf307";
} // namespace Icon

82
src/gui/style/style.hpp Executable file
View File

@@ -0,0 +1,82 @@
#pragma once
#include "imgui.h"
#include "icons.hpp"
#include "fonts.hpp"
namespace VE::style
{
inline void init()
{
/* use this - https://www.unknowncheats.me/forum/c-and-c-/189635-imgui-style-settings.html */
ImGuiStyle& st = ImGui::GetStyle();
st.WindowPadding = ImVec2(5.0f, 5.0f);
st.WindowRounding = 0.0f;
st.FramePadding = ImVec2(5.0f, 5.0f);
st.FrameRounding = 0.0f;
st.ItemSpacing = ImVec2(8.0f, 8.0f);
st.ItemInnerSpacing = ImVec2(8.0f, 6.0f);
st.IndentSpacing = 25.0f;
st.ScrollbarSize = 12.0f;
st.ScrollbarRounding = 0.0f;
st.GrabMinSize = 5.0f;
st.GrabRounding = 0.0f;
st.TabRounding = 0.0f;
st.WindowBorderSize = 0.0f;
st.ChildRounding = 0.0f;
st.PopupRounding = 0.0f;
st.PopupBorderSize = 0.0f;
st.WindowMenuButtonPosition = ImGuiDir_None;
/* tab */
st.Colors[ImGuiCol_Tab] = ImVec4(0.10f, 0.09f, 0.12f, 1.00f);
st.Colors[ImGuiCol_TabHovered] = ImVec4(0.13f, 0.12f, 0.15f, 1.00f);
st.Colors[ImGuiCol_TabActive] = ImVec4(0.13f, 0.12f, 0.15f, 1.00f);
/* title */
st.Colors[ImGuiCol_TitleBg] = ImVec4(0.10f, 0.09f, 0.12f, 1.00f);
st.Colors[ImGuiCol_TitleBgCollapsed] = ImVec4(0.10f, 0.09f, 0.12f, 1.00f);
st.Colors[ImGuiCol_TitleBgActive] = ImVec4(0.07f, 0.07f, 0.09f, 1.00f);
st.Colors[ImGuiCol_Text] = ImVec4(0.80f, 0.80f, 0.83f, 1.00f);
st.Colors[ImGuiCol_TextDisabled] = ImVec4(0.13f, 0.12f, 0.15f, 1.00f);
st.Colors[ImGuiCol_WindowBg] = ImVec4(0.06f, 0.05f, 0.07f, 1.00f);
st.Colors[ImGuiCol_ChildBg] = ImVec4(0.06f, 0.05f, 0.07f, 1.00f);
st.Colors[ImGuiCol_PopupBg] = ImVec4(0.07f, 0.07f, 0.09f, 1.00f);
st.Colors[ImGuiCol_Border] = ImVec4(0.80f, 0.80f, 0.83f, 0.88f);
st.Colors[ImGuiCol_BorderShadow] = ImVec4(0.92f, 0.91f, 0.88f, 0.00f);
st.Colors[ImGuiCol_FrameBg] = ImVec4(0.10f, 0.09f, 0.12f, 1.00f);
st.Colors[ImGuiCol_FrameBgHovered] = ImVec4(0.13f, 0.12f, 0.15f, 1.00f);
st.Colors[ImGuiCol_FrameBgActive] = ImVec4(0.13f, 0.12f, 0.15f, 1.00f);
st.Colors[ImGuiCol_MenuBarBg] = ImVec4(0.10f, 0.09f, 0.12f, 1.00f);
st.Colors[ImGuiCol_ScrollbarBg] = ImVec4(0.10f, 0.09f, 0.12f, 1.00f);
st.Colors[ImGuiCol_ScrollbarGrab] = ImVec4(0.80f, 0.80f, 0.83f, 0.31f);
st.Colors[ImGuiCol_ScrollbarGrabHovered] = ImVec4(0.13f, 0.12f, 0.15f, 1.00f);
st.Colors[ImGuiCol_ScrollbarGrabActive] = ImVec4(0.06f, 0.05f, 0.07f, 1.00f);
st.Colors[ImGuiCol_CheckMark] = ImVec4(0.80f, 0.80f, 0.83f, 0.31f);
st.Colors[ImGuiCol_SliderGrab] = ImVec4(0.80f, 0.80f, 0.83f, 0.31f);
st.Colors[ImGuiCol_SliderGrabActive] = ImVec4(0.06f, 0.05f, 0.07f, 1.00f);
st.Colors[ImGuiCol_Button] = ImVec4(0.10f, 0.09f, 0.12f, 1.00f);
st.Colors[ImGuiCol_ButtonHovered] = ImVec4(0.13f, 0.12f, 0.15f, 1.00f);
st.Colors[ImGuiCol_ButtonActive] = ImVec4(0.13f, 0.12f, 0.15f, 1.00f);
st.Colors[ImGuiCol_Header] = ImVec4(0.13f, 0.12f, 0.15f, 1.00f);
st.Colors[ImGuiCol_HeaderActive] = ImVec4(0.06f, 0.05f, 0.07f, 1.00f);
st.Colors[ImGuiCol_Separator] = ImVec4(0.13f, 0.12f, 0.15f, 1.00f);
st.Colors[ImGuiCol_SeparatorHovered] = ImVec4(0.13f, 0.12f, 0.15f, 1.00f);
st.Colors[ImGuiCol_SeparatorActive] = ImVec4(0.13f, 0.12f, 0.15f, 1.00f);
st.Colors[ImGuiCol_ResizeGrip] = ImVec4(0.00f, 0.00f, 0.00f, 0.00f);
st.Colors[ImGuiCol_ResizeGripHovered] = ImVec4(0.13f, 0.12f, 0.15f, 1.00f);
st.Colors[ImGuiCol_ResizeGripActive] = ImVec4(0.06f, 0.05f, 0.07f, 1.00f);
st.Colors[ImGuiCol_PlotLines] = ImVec4(0.40f, 0.39f, 0.38f, 0.63f);
st.Colors[ImGuiCol_PlotLinesHovered] = ImVec4(0.25f, 1.00f, 0.00f, 1.00f);
st.Colors[ImGuiCol_PlotHistogram] = ImVec4(0.40f, 0.39f, 0.38f, 0.63f);
st.Colors[ImGuiCol_PlotHistogramHovered] = ImVec4(0.25f, 1.00f, 0.00f, 1.00f);
st.Colors[ImGuiCol_TextSelectedBg] = ImVec4(0.25f, 1.00f, 0.00f, 0.43f);
st.Colors[ImGuiCol_ModalWindowDimBg] = ImVec4(1.00f, 0.98f, 0.95f, 0.73f);
st.Colors[ImGuiCol_HeaderHovered] = ImVec4(0.13f, 0.12f, 0.15f, 1.00f);
fonts::init();
};
};