Merge branch 'master' into 575-theme-add-a-modern-clean-switch-like-theme-as-an-official-theme-in-es-de-to-choose-from
|
@ -17,6 +17,8 @@
|
||||||
* Added the ability to make complementary game system customizations without having to replace the entire bundled es_systems.xml file
|
* Added the ability to make complementary game system customizations without having to replace the entire bundled es_systems.xml file
|
||||||
* Added support for an optional \<systemsortname\> tag for es_systems.xml that can be used to override the default \<fullname\> systems sorting
|
* Added support for an optional \<systemsortname\> tag for es_systems.xml that can be used to override the default \<fullname\> systems sorting
|
||||||
* Added menu scroll indicators showing if there are additional entries available below or above what's currently shown on screen
|
* Added menu scroll indicators showing if there are additional entries available below or above what's currently shown on screen
|
||||||
|
* Improved the layout of the scraper GUIs (single-game scraper and multi-scraper)
|
||||||
|
* Added horizontal scrolling of long game names to the scraper GUIs
|
||||||
* Improved the gamelist filter screen to not allow filtering of values where there is no actual data to filter, e.g. Favorites for a system with no favorite games
|
* Improved the gamelist filter screen to not allow filtering of values where there is no actual data to filter, e.g. Favorites for a system with no favorite games
|
||||||
* Grayed out all fields in the gamelist filter screen where there is no data to filter, previously some fields were removed entirely and some could still be used
|
* Grayed out all fields in the gamelist filter screen where there is no data to filter, previously some fields were removed entirely and some could still be used
|
||||||
* Added the ability to filter on blank/unknown values for Genre, Player, Developer, Publisher and Alternative emulator.
|
* Added the ability to filter on blank/unknown values for Genre, Player, Developer, Publisher and Alternative emulator.
|
||||||
|
@ -25,18 +27,22 @@
|
||||||
* Lowered the minimum supported screen resolution from 640x480 to 224x224 to support arcade cabinet displays such as those running at 384x224 and 224x384
|
* Lowered the minimum supported screen resolution from 640x480 to 224x224 to support arcade cabinet displays such as those running at 384x224 and 224x384
|
||||||
* Expanded the themeable options for "helpsystem" to support custom button graphics, dimmed text and icon colors, upper/lower/camel case and custom spacing
|
* Expanded the themeable options for "helpsystem" to support custom button graphics, dimmed text and icon colors, upper/lower/camel case and custom spacing
|
||||||
* Made the scrolling speed of ScrollableContainer more consistent across various screen resolutions and display aspect ratios
|
* Made the scrolling speed of ScrollableContainer more consistent across various screen resolutions and display aspect ratios
|
||||||
|
* Decreased the amount of text that ScrollableContainer renders above and below the starting position as content is scrolled
|
||||||
* Made the game name and description stop scrolling when running the media viewer, the screensaver or when running in the background while a game is launched
|
* Made the game name and description stop scrolling when running the media viewer, the screensaver or when running in the background while a game is launched
|
||||||
* Added notification popups when plugging in or removing controllers
|
* Added notification popups when plugging in or removing controllers
|
||||||
* Changed to loading the default theme set rbsimple-DE instead of the first available theme if the currently configured theme is missing
|
* Changed to loading the default theme set rbsimple-DE instead of the first available theme if the currently configured theme is missing
|
||||||
* Added support for using the left and right trigger buttons in the help prompts
|
* Added support for using the left and right trigger buttons in the help prompts
|
||||||
* Removed the "Choose" entry from the help prompts in the gamelist view
|
* Removed the "Choose" entry from the help prompts in the gamelist view
|
||||||
|
* Replaced a number of help prompt hacks with proper solutions
|
||||||
* Changed the "Toggle screensaver" help entry in the system view to simply "Screensaver"
|
* Changed the "Toggle screensaver" help entry in the system view to simply "Screensaver"
|
||||||
|
* Changed the font size for the custom collection deletion screen to the same size as for all other menus
|
||||||
* Added support for upscaling bitmap images using linear filtering
|
* Added support for upscaling bitmap images using linear filtering
|
||||||
* Changed the marquee image upscale filtering from nearest neighbor to linear for the launch screen and the gamelist views
|
* Changed the marquee image upscale filtering from nearest neighbor to linear for the launch screen and the gamelist views
|
||||||
* Moved the Media Viewer and Screensaver settings higher in the UI Settings menu
|
* Moved the Media Viewer and Screensaver settings higher in the UI Settings menu
|
||||||
* Moved the game media directory setting to the top of the Other Settings menu, following the new Alternative Emulators entry
|
* Moved the game media directory setting to the top of the Other Settings menu, following the new Alternative Emulators entry
|
||||||
* Added a blinking cursor to TextEditComponent
|
* Added a blinking cursor to TextEditComponent
|
||||||
* Changed the filter description "Text filter (game name)" to "Game name"
|
* Changed the filter description "Text filter (game name)" to "Game name"
|
||||||
|
* Removed a margin hack from TextComponent and if abbreviated strings end with a space character, that space is now removed
|
||||||
* Added support for multi-select total count and exclusive multi-select to OptionListComponent
|
* Added support for multi-select total count and exclusive multi-select to OptionListComponent
|
||||||
* Added support for a maximum name length to OptionListComponent (non-multiselect only) with an abbreviation of the name if it exceeds this value
|
* Added support for a maximum name length to OptionListComponent (non-multiselect only) with an abbreviation of the name if it exceeds this value
|
||||||
* Added support for key repeat to OptionListComponent, making it possible to cycle through the options by holding the left or right button
|
* Added support for key repeat to OptionListComponent, making it possible to cycle through the options by holding the left or right button
|
||||||
|
@ -70,6 +76,7 @@
|
||||||
* When scraping in interactive mode, the game counter was not decreased when skipping games, making it impossible to skip the final games in the queue
|
* When scraping in interactive mode, the game counter was not decreased when skipping games, making it impossible to skip the final games in the queue
|
||||||
* When scraping in interactive mode, "No games found" results could be accepted using the "A" button
|
* When scraping in interactive mode, "No games found" results could be accepted using the "A" button
|
||||||
* When scraping in interactive mode, any refining done using the "Y" button shortcut would not be shown when doing another refine using the "Refine search" button
|
* When scraping in interactive mode, any refining done using the "Y" button shortcut would not be shown when doing another refine using the "Refine search" button
|
||||||
|
* Fixed multiple minor rendering issues where graphics would be slightly cut off or incorrectly resized
|
||||||
* Under some circumstances ScrollableContainer (used for the game descriptions) would contain a partially rendered bottom line
|
* Under some circumstances ScrollableContainer (used for the game descriptions) would contain a partially rendered bottom line
|
||||||
* If the TextListComponent height was not evenly dividable by the font height + line spacing, a partial bottom row would get rendered
|
* If the TextListComponent height was not evenly dividable by the font height + line spacing, a partial bottom row would get rendered
|
||||||
* The line spacing for TextListComponent was incorrectly calculated for some resolutions such as 2560x1440
|
* The line spacing for TextListComponent was incorrectly calculated for some resolutions such as 2560x1440
|
||||||
|
@ -86,6 +93,7 @@
|
||||||
* Under some circumstances and at some screen resolutions, the last menu separator line would not get rendered (still an issue at extreme resolutions like 320x240)
|
* Under some circumstances and at some screen resolutions, the last menu separator line would not get rendered (still an issue at extreme resolutions like 320x240)
|
||||||
* When scrolling in menus, pressing other buttons than "Up" or "Down" did not stop the scrolling which caused all sorts of weird behavior
|
* When scrolling in menus, pressing other buttons than "Up" or "Down" did not stop the scrolling which caused all sorts of weird behavior
|
||||||
* With the menu scale-up effect enabled and entering a submenu before the parent menu was completely scaled up, the parent would get stuck at a semi-scaled size
|
* With the menu scale-up effect enabled and entering a submenu before the parent menu was completely scaled up, the parent would get stuck at a semi-scaled size
|
||||||
|
* The custom collection deletion screen had incorrect row heights when running at lower resolutions such as 1280x720
|
||||||
* If there was an abbreviated full system name for the "Gamelist on startup" option, that abbreviation would also get displayed when opening the selector window
|
* If there was an abbreviated full system name for the "Gamelist on startup" option, that abbreviation would also get displayed when opening the selector window
|
||||||
* Really long theme set names would not get abbreviated in the UI settings menu, leading to a garbled "Theme set" setting row
|
* Really long theme set names would not get abbreviated in the UI settings menu, leading to a garbled "Theme set" setting row
|
||||||
* Disabling a collection while its gamelist was displayed would lead to a slide transition from a black screen if a gamelist on startup had been set
|
* Disabling a collection while its gamelist was displayed would lead to a slide transition from a black screen if a gamelist on startup had been set
|
||||||
|
|
|
@ -48,6 +48,7 @@ This plan is under constant review so expect it to change from time to time. Sti
|
||||||
#### v1.4
|
#### v1.4
|
||||||
|
|
||||||
* Localization/multi-language support
|
* Localization/multi-language support
|
||||||
|
* Reorganize the menus, possibly adding basic/advanced modes
|
||||||
* Authoring tools to clean up orphaned gamelist entries, media files etc.
|
* Authoring tools to clean up orphaned gamelist entries, media files etc.
|
||||||
* Scrollbar component for the gamelist view which can be used by the themes
|
* Scrollbar component for the gamelist view which can be used by the themes
|
||||||
* Web proxy support for the scraper
|
* Web proxy support for the scraper
|
||||||
|
|
|
@ -47,6 +47,8 @@ The following operating systems have been tested (all for the x86 architecture u
|
||||||
|
|
||||||
**Note:** If using a Mac with an ARM CPU (e.g. M1) you need to install the x86 version of RetroArch and any other emulators, or you won't be able to launch any games. This will be fixed whenever a native macOS ARM build of ES-DE is released.
|
**Note:** If using a Mac with an ARM CPU (e.g. M1) you need to install the x86 version of RetroArch and any other emulators, or you won't be able to launch any games. This will be fixed whenever a native macOS ARM build of ES-DE is released.
|
||||||
|
|
||||||
|
As for display resolutions, the minimum pixel value is 224 and the maximum is 7680. This means that you can run ES-DE at for instance 320x224 all the way up to 7680x4320 (8K UHD). Vertical screen orientation is also supported, as well as ultra-wide resolutions like 3840x1440. Note that there could be some minor visual glitches when running in vertical orientation (this will be fixed in future ES-DE releases) and for the best experience you will probably need to use a customized theme set when running at extreme or unusual resolutions.
|
||||||
|
|
||||||
The installation procedure is just covered briefly here and may differ a bit for your specific operating system, so in case of problems refer to your system documentation.
|
The installation procedure is just covered briefly here and may differ a bit for your specific operating system, so in case of problems refer to your system documentation.
|
||||||
|
|
||||||
**Installing a Linux .deb package**
|
**Installing a Linux .deb package**
|
||||||
|
|
|
@ -39,13 +39,6 @@ GuiAlternativeEmulators::GuiAlternativeEmulators(Window* window)
|
||||||
|
|
||||||
ComponentListRow row;
|
ComponentListRow row;
|
||||||
|
|
||||||
// This transparent bracket is only added to generate a left margin.
|
|
||||||
auto bracket = std::make_shared<ImageComponent>(mWindow);
|
|
||||||
bracket->setImage(":/graphics/arrow.svg");
|
|
||||||
bracket->setOpacity(0);
|
|
||||||
bracket->setSize(bracket->getSize() / 3.0f);
|
|
||||||
row.addElement(bracket, false);
|
|
||||||
|
|
||||||
std::string name = (*it)->getName();
|
std::string name = (*it)->getName();
|
||||||
std::shared_ptr<TextComponent> systemText =
|
std::shared_ptr<TextComponent> systemText =
|
||||||
std::make_shared<TextComponent>(mWindow, name, Font::get(FONT_SIZE_MEDIUM), 0x777777FF);
|
std::make_shared<TextComponent>(mWindow, name, Font::get(FONT_SIZE_MEDIUM), 0x777777FF);
|
||||||
|
@ -94,7 +87,9 @@ GuiAlternativeEmulators::GuiAlternativeEmulators(Window* window)
|
||||||
labelText->setColor(TEXTCOLOR_SCRAPERMARKED);
|
labelText->setColor(TEXTCOLOR_SCRAPERMARKED);
|
||||||
|
|
||||||
mCommandRows[name] = labelText;
|
mCommandRows[name] = labelText;
|
||||||
labelText->setSize(labelSizeX, labelText->getSize().y);
|
labelText->setSize(mMenu.getSize().x - systemSizeX -
|
||||||
|
20.0f * Renderer::getScreenHeightModifier(),
|
||||||
|
systemText->getSize().y);
|
||||||
|
|
||||||
row.addElement(labelText, false);
|
row.addElement(labelText, false);
|
||||||
row.makeAcceptInputHandler([this, it, labelText] {
|
row.makeAcceptInputHandler([this, it, labelText] {
|
||||||
|
@ -157,6 +152,7 @@ void GuiAlternativeEmulators::selectorWindow(SystemData* system)
|
||||||
|
|
||||||
std::shared_ptr<TextComponent> labelText = std::make_shared<TextComponent>(
|
std::shared_ptr<TextComponent> labelText = std::make_shared<TextComponent>(
|
||||||
mWindow, label, Font::get(FONT_SIZE_MEDIUM), 0x777777FF, ALIGN_LEFT);
|
mWindow, label, Font::get(FONT_SIZE_MEDIUM), 0x777777FF, ALIGN_LEFT);
|
||||||
|
labelText->setSelectable(true);
|
||||||
|
|
||||||
if (system->getSystemEnvData()->mLaunchCommands.front().second == label)
|
if (system->getSystemEnvData()->mLaunchCommands.front().second == label)
|
||||||
labelText->setValue(labelText->getValue().append(" [DEFAULT]"));
|
labelText->setValue(labelText->getValue().append(" [DEFAULT]"));
|
||||||
|
@ -193,13 +189,6 @@ void GuiAlternativeEmulators::selectorWindow(SystemData* system)
|
||||||
delete s;
|
delete s;
|
||||||
});
|
});
|
||||||
|
|
||||||
// This transparent bracket is only added to generate the correct help prompts.
|
|
||||||
auto bracket = std::make_shared<ImageComponent>(mWindow);
|
|
||||||
bracket->setImage(":/graphics/arrow.svg");
|
|
||||||
bracket->setOpacity(0);
|
|
||||||
bracket->setSize(bracket->getSize() / 3.0f);
|
|
||||||
row.addElement(bracket, false);
|
|
||||||
|
|
||||||
// Select the row that corresponds to the selected label.
|
// Select the row that corresponds to the selected label.
|
||||||
if (selectedLabel == label)
|
if (selectedLabel == label)
|
||||||
s->addRow(row, true);
|
s->addRow(row, true);
|
||||||
|
|
|
@ -177,12 +177,8 @@ GuiCollectionSystemsOptions::GuiCollectionSystemsOptions(Window* window, std::st
|
||||||
row.makeAcceptInputHandler(createCollectionCall);
|
row.makeAcceptInputHandler(createCollectionCall);
|
||||||
auto themeFolder = std::make_shared<TextComponent>(
|
auto themeFolder = std::make_shared<TextComponent>(
|
||||||
mWindow, Utils::String::toUpper(name), Font::get(FONT_SIZE_SMALL), 0x777777FF);
|
mWindow, Utils::String::toUpper(name), Font::get(FONT_SIZE_SMALL), 0x777777FF);
|
||||||
|
themeFolder->setSelectable(true);
|
||||||
row.addElement(themeFolder, true);
|
row.addElement(themeFolder, true);
|
||||||
// This transparent bracket is only added to generate the correct help prompts.
|
|
||||||
auto bracket = std::make_shared<ImageComponent>(mWindow);
|
|
||||||
bracket->setImage(":/graphics/arrow.svg");
|
|
||||||
bracket->setOpacity(0);
|
|
||||||
row.addElement(bracket, false);
|
|
||||||
ss->addRow(row);
|
ss->addRow(row);
|
||||||
}
|
}
|
||||||
mWindow->pushGui(ss);
|
mWindow->pushGui(ss);
|
||||||
|
@ -287,15 +283,17 @@ GuiCollectionSystemsOptions::GuiCollectionSystemsOptions(Window* window, std::st
|
||||||
};
|
};
|
||||||
row.makeAcceptInputHandler(deleteCollectionCall);
|
row.makeAcceptInputHandler(deleteCollectionCall);
|
||||||
auto customCollection = std::make_shared<TextComponent>(
|
auto customCollection = std::make_shared<TextComponent>(
|
||||||
mWindow, Utils::String::toUpper(name), Font::get(FONT_SIZE_SMALL), 0x777777FF);
|
mWindow, Utils::String::toUpper(name), Font::get(FONT_SIZE_MEDIUM), 0x777777FF);
|
||||||
|
customCollection->setSelectable(true);
|
||||||
row.addElement(customCollection, true);
|
row.addElement(customCollection, true);
|
||||||
// This transparent bracket is only added generate the correct help prompts.
|
|
||||||
auto bracket = std::make_shared<ImageComponent>(mWindow);
|
|
||||||
bracket->setImage(":/graphics/arrow.svg");
|
|
||||||
bracket->setOpacity(0);
|
|
||||||
row.addElement(bracket, false);
|
|
||||||
ss->addRow(row);
|
ss->addRow(row);
|
||||||
}
|
}
|
||||||
|
// Make the menu slightly wider to fit the scroll indicators.
|
||||||
|
glm::vec2 menuSize{ss->getMenuSize()};
|
||||||
|
glm::vec3 menuPos{ss->getMenuPosition()};
|
||||||
|
ss->setMenuSize(glm::vec2{menuSize.x * 1.08f, menuSize.y});
|
||||||
|
menuPos.x = static_cast<float>((Renderer::getScreenWidth()) - ss->getMenuSize().x) / 2.0f;
|
||||||
|
ss->setMenuPosition(menuPos);
|
||||||
mWindow->pushGui(ss);
|
mWindow->pushGui(ss);
|
||||||
});
|
});
|
||||||
addRow(row);
|
addRow(row);
|
||||||
|
|
|
@ -23,15 +23,13 @@ GuiGameScraper::GuiGameScraper(Window* window,
|
||||||
std::function<void(const ScraperSearchResult&)> doneFunc)
|
std::function<void(const ScraperSearchResult&)> doneFunc)
|
||||||
: GuiComponent(window)
|
: GuiComponent(window)
|
||||||
, mClose(false)
|
, mClose(false)
|
||||||
, mGrid(window, glm::ivec2{1, 7})
|
, mGrid(window, glm::ivec2{2, 6})
|
||||||
, mBox(window, ":/graphics/frame.svg")
|
, mBox(window, ":/graphics/frame.svg")
|
||||||
, mSearchParams(params)
|
, mSearchParams(params)
|
||||||
{
|
{
|
||||||
addChild(&mBox);
|
addChild(&mBox);
|
||||||
addChild(&mGrid);
|
addChild(&mGrid);
|
||||||
|
|
||||||
// Row 0 is a spacer.
|
|
||||||
|
|
||||||
std::string scrapeName;
|
std::string scrapeName;
|
||||||
|
|
||||||
if (Settings::getInstance()->getBool("ScraperSearchMetadataName")) {
|
if (Settings::getInstance()->getBool("ScraperSearchMetadataName")) {
|
||||||
|
@ -51,21 +49,37 @@ GuiGameScraper::GuiGameScraper(Window* window,
|
||||||
mWindow,
|
mWindow,
|
||||||
scrapeName +
|
scrapeName +
|
||||||
((mSearchParams.game->getType() == FOLDER) ? " " + ViewController::FOLDER_CHAR : ""),
|
((mSearchParams.game->getType() == FOLDER) ? " " + ViewController::FOLDER_CHAR : ""),
|
||||||
Font::get(FONT_SIZE_MEDIUM), 0x777777FF, ALIGN_CENTER);
|
Font::get(FONT_SIZE_LARGE), 0x777777FF, ALIGN_CENTER);
|
||||||
mGrid.setEntry(mGameName, glm::ivec2{0, 1}, false, true);
|
mGameName->setColor(0x555555FF);
|
||||||
|
mGrid.setEntry(mGameName, glm::ivec2{0, 0}, false, true, glm::ivec2{2, 2});
|
||||||
// Row 2 is a spacer.
|
|
||||||
|
|
||||||
mSystemName = std::make_shared<TextComponent>(
|
mSystemName = std::make_shared<TextComponent>(
|
||||||
mWindow, Utils::String::toUpper(mSearchParams.system->getFullName()),
|
mWindow, Utils::String::toUpper(mSearchParams.system->getFullName()),
|
||||||
Font::get(FONT_SIZE_SMALL), 0x888888FF, ALIGN_CENTER);
|
Font::get(FONT_SIZE_SMALL), 0x888888FF, ALIGN_CENTER);
|
||||||
mGrid.setEntry(mSystemName, glm::ivec2{0, 3}, false, true);
|
mGrid.setEntry(mSystemName, glm::ivec2{0, 2}, false, true, glm::ivec2{2, 1});
|
||||||
|
|
||||||
// Row 4 is a spacer.
|
// Row 3 is a spacer.
|
||||||
|
|
||||||
// GuiScraperSearch.
|
// GuiScraperSearch.
|
||||||
mSearch = std::make_shared<GuiScraperSearch>(window, GuiScraperSearch::NEVER_AUTO_ACCEPT, 1);
|
mSearch = std::make_shared<GuiScraperSearch>(window, GuiScraperSearch::NEVER_AUTO_ACCEPT, 1);
|
||||||
mGrid.setEntry(mSearch, glm::ivec2{0, 5}, true);
|
mGrid.setEntry(mSearch, glm::ivec2{0, 4}, true, true, glm::ivec2{2, 1});
|
||||||
|
|
||||||
|
mResultList = mSearch->getResultList();
|
||||||
|
|
||||||
|
// Set up scroll indicators.
|
||||||
|
mScrollUp = std::make_shared<ImageComponent>(mWindow);
|
||||||
|
mScrollDown = std::make_shared<ImageComponent>(mWindow);
|
||||||
|
mScrollIndicator =
|
||||||
|
std::make_shared<ScrollIndicatorComponent>(mResultList, mScrollUp, mScrollDown);
|
||||||
|
|
||||||
|
mScrollUp->setResize(0.0f, mGameName->getFont()->getLetterHeight() / 2.0f);
|
||||||
|
mScrollUp->setOrigin(0.0f, -0.35f);
|
||||||
|
|
||||||
|
mScrollDown->setResize(0.0f, mGameName->getFont()->getLetterHeight() / 2.0f);
|
||||||
|
mScrollDown->setOrigin(0.0f, 0.35f);
|
||||||
|
|
||||||
|
mGrid.setEntry(mScrollUp, glm::ivec2{1, 0}, false, false, glm::ivec2{1, 1});
|
||||||
|
mGrid.setEntry(mScrollDown, glm::ivec2{1, 1}, false, false, glm::ivec2{1, 1});
|
||||||
|
|
||||||
// Buttons
|
// Buttons
|
||||||
std::vector<std::shared_ptr<ButtonComponent>> buttons;
|
std::vector<std::shared_ptr<ButtonComponent>> buttons;
|
||||||
|
@ -74,6 +88,9 @@ GuiGameScraper::GuiGameScraper(Window* window,
|
||||||
std::make_shared<ButtonComponent>(mWindow, "REFINE SEARCH", "refine search", [&] {
|
std::make_shared<ButtonComponent>(mWindow, "REFINE SEARCH", "refine search", [&] {
|
||||||
// Refine the search, unless the result has already been accepted.
|
// Refine the search, unless the result has already been accepted.
|
||||||
if (!mSearch->getAcceptedResult()) {
|
if (!mSearch->getAcceptedResult()) {
|
||||||
|
// Copy any search refine that may have been previously entered by opening
|
||||||
|
// the input screen using the "Y" button shortcut.
|
||||||
|
mSearchParams.nameOverride = mSearch->getNameOverride();
|
||||||
mSearch->openInputScreen(mSearchParams);
|
mSearch->openInputScreen(mSearchParams);
|
||||||
mGrid.resetCursor();
|
mGrid.resetCursor();
|
||||||
}
|
}
|
||||||
|
@ -92,20 +109,34 @@ GuiGameScraper::GuiGameScraper(Window* window,
|
||||||
}));
|
}));
|
||||||
mButtonGrid = makeButtonGrid(mWindow, buttons);
|
mButtonGrid = makeButtonGrid(mWindow, buttons);
|
||||||
|
|
||||||
mGrid.setEntry(mButtonGrid, glm::ivec2{0, 6}, true, false);
|
mGrid.setEntry(mButtonGrid, glm::ivec2{0, 5}, true, false, glm::ivec2{2, 1});
|
||||||
|
|
||||||
mSearch->setAcceptCallback([this, doneFunc](const ScraperSearchResult& result) {
|
mSearch->setAcceptCallback([this, doneFunc](const ScraperSearchResult& result) {
|
||||||
doneFunc(result);
|
doneFunc(result);
|
||||||
close();
|
close();
|
||||||
});
|
});
|
||||||
mSearch->setCancelCallback([&] { delete this; });
|
mSearch->setCancelCallback([&] { delete this; });
|
||||||
|
mSearch->setRefineCallback([&] {
|
||||||
|
mScrollUp->setOpacity(0);
|
||||||
|
mScrollDown->setOpacity(0);
|
||||||
|
mResultList->resetScrollIndicatorStatus();
|
||||||
|
});
|
||||||
|
|
||||||
// Limit the width of the GUI on ultrawide monitors. The 1.778 aspect ratio value is
|
// Limit the width of the GUI on ultrawide monitors. The 1.778 aspect ratio value is
|
||||||
// the 16:9 reference.
|
// the 16:9 reference.
|
||||||
float aspectValue = 1.778f / Renderer::getScreenAspectRatio();
|
float aspectValue = 1.778f / Renderer::getScreenAspectRatio();
|
||||||
float width = glm::clamp(0.95f * aspectValue, 0.70f, 0.95f) * Renderer::getScreenWidth();
|
float width = glm::clamp(0.95f * aspectValue, 0.70f, 0.95f) * Renderer::getScreenWidth();
|
||||||
|
|
||||||
setSize(width, Renderer::getScreenHeight() * 0.747f);
|
float height = (mGameName->getFont()->getLetterHeight() +
|
||||||
|
static_cast<float>(Renderer::getScreenHeight()) * 0.0637f) +
|
||||||
|
mSystemName->getFont()->getLetterHeight() +
|
||||||
|
static_cast<float>(Renderer::getScreenHeight()) * 0.04f +
|
||||||
|
mButtonGrid->getSize().y + Font::get(FONT_SIZE_MEDIUM)->getHeight() * 8.0f;
|
||||||
|
|
||||||
|
// TODO: Temporary hack, see below.
|
||||||
|
height -= 7.0f * Renderer::getScreenHeightModifier();
|
||||||
|
|
||||||
|
setSize(width, height);
|
||||||
setPosition((Renderer::getScreenWidth() - mSize.x) / 2.0f,
|
setPosition((Renderer::getScreenWidth() - mSize.x) / 2.0f,
|
||||||
(Renderer::getScreenHeight() - mSize.y) / 2.0f);
|
(Renderer::getScreenHeight() - mSize.y) / 2.0f);
|
||||||
|
|
||||||
|
@ -115,15 +146,31 @@ GuiGameScraper::GuiGameScraper(Window* window,
|
||||||
|
|
||||||
void GuiGameScraper::onSizeChanged()
|
void GuiGameScraper::onSizeChanged()
|
||||||
{
|
{
|
||||||
|
mGrid.setRowHeightPerc(
|
||||||
|
0, (mGameName->getFont()->getLetterHeight() + Renderer::getScreenHeight() * 0.0637f) /
|
||||||
|
mSize.y / 2.0f);
|
||||||
|
mGrid.setRowHeightPerc(
|
||||||
|
1, (mGameName->getFont()->getLetterHeight() + Renderer::getScreenHeight() * 0.0637f) /
|
||||||
|
mSize.y / 2.0f);
|
||||||
|
mGrid.setRowHeightPerc(2, mSystemName->getFont()->getLetterHeight() / mSize.y, false);
|
||||||
|
mGrid.setRowHeightPerc(3, 0.04f, false);
|
||||||
|
mGrid.setRowHeightPerc(4, ((Font::get(FONT_SIZE_MEDIUM)->getHeight() * 8.0f)) / mSize.y, false);
|
||||||
|
|
||||||
|
// TODO: Replace this temporary hack with a proper solution. There is some kind of rounding
|
||||||
|
// issue somewhere that causes a small alignment error. This code partly compensates for this
|
||||||
|
// at higher resolutions than 1920x1080.
|
||||||
|
if (Renderer::getScreenHeightModifier() > 1.0f)
|
||||||
|
mSize.y -= 3.0f * Renderer::getScreenHeightModifier();
|
||||||
|
|
||||||
|
mGrid.setColWidthPerc(1, 0.04f);
|
||||||
|
|
||||||
|
mGrid.setSize(mSize);
|
||||||
mBox.fitTo(mSize, glm::vec3{}, glm::vec2{-32.0f, -32.0f});
|
mBox.fitTo(mSize, glm::vec3{}, glm::vec2{-32.0f, -32.0f});
|
||||||
|
|
||||||
mGrid.setRowHeightPerc(0, 0.04f, false);
|
// Add some extra margins to the game name.
|
||||||
mGrid.setRowHeightPerc(1, mGameName->getFont()->getLetterHeight() / mSize.y, false);
|
const float newSizeX = mSize.x * 0.96f;
|
||||||
mGrid.setRowHeightPerc(2, 0.04f, false);
|
mGameName->setSize(newSizeX, mGameName->getSize().y);
|
||||||
mGrid.setRowHeightPerc(3, mSystemName->getFont()->getLetterHeight() / mSize.y, false);
|
mGameName->setPosition((mSize.x - newSizeX) / 2.0f, 0.0f);
|
||||||
mGrid.setRowHeightPerc(4, 0.04f, false);
|
|
||||||
mGrid.setRowHeightPerc(6, mButtonGrid->getSize().y / mSize.y, false);
|
|
||||||
mGrid.setSize(mSize);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
bool GuiGameScraper::input(InputConfig* config, Input input)
|
bool GuiGameScraper::input(InputConfig* config, Input input)
|
||||||
|
|
|
@ -13,6 +13,7 @@
|
||||||
|
|
||||||
#include "GuiComponent.h"
|
#include "GuiComponent.h"
|
||||||
#include "components/NinePatchComponent.h"
|
#include "components/NinePatchComponent.h"
|
||||||
|
#include "components/ScrollIndicatorComponent.h"
|
||||||
#include "guis/GuiScraperSearch.h"
|
#include "guis/GuiScraperSearch.h"
|
||||||
|
|
||||||
class GuiGameScraper : public GuiComponent
|
class GuiGameScraper : public GuiComponent
|
||||||
|
@ -38,9 +39,13 @@ private:
|
||||||
NinePatchComponent mBox;
|
NinePatchComponent mBox;
|
||||||
|
|
||||||
std::shared_ptr<TextComponent> mGameName;
|
std::shared_ptr<TextComponent> mGameName;
|
||||||
|
std::shared_ptr<ImageComponent> mScrollUp;
|
||||||
|
std::shared_ptr<ImageComponent> mScrollDown;
|
||||||
|
std::shared_ptr<ScrollIndicatorComponent> mScrollIndicator;
|
||||||
std::shared_ptr<TextComponent> mSystemName;
|
std::shared_ptr<TextComponent> mSystemName;
|
||||||
std::shared_ptr<GuiScraperSearch> mSearch;
|
std::shared_ptr<GuiScraperSearch> mSearch;
|
||||||
std::shared_ptr<ComponentGrid> mButtonGrid;
|
std::shared_ptr<ComponentGrid> mButtonGrid;
|
||||||
|
std::shared_ptr<ComponentList> mResultList;
|
||||||
|
|
||||||
ScraperSearchParams mSearchParams;
|
ScraperSearchParams mSearchParams;
|
||||||
|
|
||||||
|
|
|
@ -61,7 +61,7 @@ GuiMenu::GuiMenu(Window* window)
|
||||||
if (isFullUI)
|
if (isFullUI)
|
||||||
addEntry("OTHER SETTINGS", 0x777777FF, true, [this] { openOtherOptions(); });
|
addEntry("OTHER SETTINGS", 0x777777FF, true, [this] { openOtherOptions(); });
|
||||||
|
|
||||||
// TEMPORARY - disabled for now, will be used in the future.
|
// TEMPORARY: Disabled for now, will be used in the future.
|
||||||
// if (isFullUI)
|
// if (isFullUI)
|
||||||
// addEntry("UTILITIES", 0x777777FF, true, [this] {
|
// addEntry("UTILITIES", 0x777777FF, true, [this] {
|
||||||
// openUtilitiesMenu(); });
|
// openUtilitiesMenu(); });
|
||||||
|
@ -600,8 +600,8 @@ void GuiMenu::openSoundOptions()
|
||||||
{
|
{
|
||||||
auto s = new GuiSettings(mWindow, "SOUND SETTINGS");
|
auto s = new GuiSettings(mWindow, "SOUND SETTINGS");
|
||||||
|
|
||||||
// TEMPORARY - Hide the volume slider on macOS and BSD Unix until the volume control logic
|
// TODO: Hide the volume slider on macOS and BSD Unix until the volume control logic has been
|
||||||
// has been implemented for these operating systems.
|
// implemented for these operating systems.
|
||||||
#if !defined(__APPLE__) && !defined(__FreeBSD__) && !defined(__OpenBSD__) && !defined(__NetBSD__)
|
#if !defined(__APPLE__) && !defined(__FreeBSD__) && !defined(__OpenBSD__) && !defined(__NetBSD__)
|
||||||
// System volume.
|
// System volume.
|
||||||
auto system_volume = std::make_shared<SliderComponent>(mWindow, 0.f, 100.f, 1.f, "%");
|
auto system_volume = std::make_shared<SliderComponent>(mWindow, 0.f, 100.f, 1.f, "%");
|
||||||
|
@ -1207,11 +1207,6 @@ void GuiMenu::openQuitMenu()
|
||||||
Window* window = mWindow;
|
Window* window = mWindow;
|
||||||
HelpStyle style = getHelpStyle();
|
HelpStyle style = getHelpStyle();
|
||||||
|
|
||||||
// This transparent bracket is only neeeded to generate the correct help prompts.
|
|
||||||
auto bracket = std::make_shared<ImageComponent>(mWindow);
|
|
||||||
bracket->setImage(":/graphics/arrow.svg");
|
|
||||||
bracket->setOpacity(0);
|
|
||||||
|
|
||||||
ComponentListRow row;
|
ComponentListRow row;
|
||||||
|
|
||||||
row.makeAcceptInputHandler([window, this] {
|
row.makeAcceptInputHandler([window, this] {
|
||||||
|
@ -1224,10 +1219,10 @@ void GuiMenu::openQuitMenu()
|
||||||
},
|
},
|
||||||
"NO", nullptr));
|
"NO", nullptr));
|
||||||
});
|
});
|
||||||
row.addElement(std::make_shared<TextComponent>(window, "QUIT EMULATIONSTATION",
|
auto quitText = std::make_shared<TextComponent>(window, "QUIT EMULATIONSTATION",
|
||||||
Font::get(FONT_SIZE_MEDIUM), 0x777777FF),
|
Font::get(FONT_SIZE_MEDIUM), 0x777777FF);
|
||||||
true);
|
quitText->setSelectable(true);
|
||||||
row.addElement(bracket, false);
|
row.addElement(quitText, true);
|
||||||
s->addRow(row);
|
s->addRow(row);
|
||||||
|
|
||||||
row.elements.clear();
|
row.elements.clear();
|
||||||
|
@ -1243,10 +1238,10 @@ void GuiMenu::openQuitMenu()
|
||||||
},
|
},
|
||||||
"NO", nullptr));
|
"NO", nullptr));
|
||||||
});
|
});
|
||||||
row.addElement(std::make_shared<TextComponent>(window, "REBOOT SYSTEM",
|
auto rebootText = std::make_shared<TextComponent>(window, "REBOOT SYSTEM",
|
||||||
Font::get(FONT_SIZE_MEDIUM), 0x777777FF),
|
Font::get(FONT_SIZE_MEDIUM), 0x777777FF);
|
||||||
true);
|
rebootText->setSelectable(true);
|
||||||
row.addElement(bracket, false);
|
row.addElement(rebootText, true);
|
||||||
s->addRow(row);
|
s->addRow(row);
|
||||||
|
|
||||||
row.elements.clear();
|
row.elements.clear();
|
||||||
|
@ -1262,10 +1257,10 @@ void GuiMenu::openQuitMenu()
|
||||||
},
|
},
|
||||||
"NO", nullptr));
|
"NO", nullptr));
|
||||||
});
|
});
|
||||||
row.addElement(std::make_shared<TextComponent>(window, "POWER OFF SYSTEM",
|
auto powerOffText = std::make_shared<TextComponent>(
|
||||||
Font::get(FONT_SIZE_MEDIUM), 0x777777FF),
|
window, "POWER OFF SYSTEM", Font::get(FONT_SIZE_MEDIUM), 0x777777FF);
|
||||||
true);
|
powerOffText->setSelectable(true);
|
||||||
row.addElement(bracket, false);
|
row.addElement(powerOffText, true);
|
||||||
s->addRow(row);
|
s->addRow(row);
|
||||||
|
|
||||||
mWindow->pushGui(s);
|
mWindow->pushGui(s);
|
||||||
|
|
|
@ -43,7 +43,7 @@ GuiMetaDataEd::GuiMetaDataEd(Window* window,
|
||||||
std::function<void()> deleteGameFunc)
|
std::function<void()> deleteGameFunc)
|
||||||
: GuiComponent{window}
|
: GuiComponent{window}
|
||||||
, mBackground{window, ":/graphics/frame.svg"}
|
, mBackground{window, ":/graphics/frame.svg"}
|
||||||
, mGrid{window, glm::ivec2{3, 6}}
|
, mGrid{window, glm::ivec2{2, 6}}
|
||||||
, mScraperParams{scraperParams}
|
, mScraperParams{scraperParams}
|
||||||
, mMetaDataDecl{mdd}
|
, mMetaDataDecl{mdd}
|
||||||
, mMetaData{md}
|
, mMetaData{md}
|
||||||
|
@ -58,7 +58,7 @@ GuiMetaDataEd::GuiMetaDataEd(Window* window,
|
||||||
|
|
||||||
mTitle = std::make_shared<TextComponent>(mWindow, "EDIT METADATA", Font::get(FONT_SIZE_LARGE),
|
mTitle = std::make_shared<TextComponent>(mWindow, "EDIT METADATA", Font::get(FONT_SIZE_LARGE),
|
||||||
0x555555FF, ALIGN_CENTER);
|
0x555555FF, ALIGN_CENTER);
|
||||||
mGrid.setEntry(mTitle, glm::ivec2{0, 0}, false, true, glm::ivec2{3, 2});
|
mGrid.setEntry(mTitle, glm::ivec2{0, 0}, false, true, glm::ivec2{2, 2});
|
||||||
|
|
||||||
// Extract possible subfolders from the path.
|
// Extract possible subfolders from the path.
|
||||||
std::string folderPath =
|
std::string folderPath =
|
||||||
|
@ -80,13 +80,12 @@ GuiMetaDataEd::GuiMetaDataEd(Window* window,
|
||||||
folderPath + Utils::FileSystem::getFileName(scraperParams.game->getPath()) + " [" +
|
folderPath + Utils::FileSystem::getFileName(scraperParams.game->getPath()) + " [" +
|
||||||
Utils::String::toUpper(scraperParams.system->getName()) + "]" +
|
Utils::String::toUpper(scraperParams.system->getName()) + "]" +
|
||||||
(scraperParams.game->getType() == FOLDER ? " " + ViewController::FOLDER_CHAR : ""),
|
(scraperParams.game->getType() == FOLDER ? " " + ViewController::FOLDER_CHAR : ""),
|
||||||
Font::get(FONT_SIZE_SMALL), 0x777777FF, ALIGN_CENTER, glm::vec3{}, glm::vec2{}, 0x00000000,
|
Font::get(FONT_SIZE_SMALL), 0x777777FF, ALIGN_CENTER);
|
||||||
0.05f);
|
|
||||||
|
|
||||||
mGrid.setEntry(mSubtitle, glm::ivec2{0, 2}, false, true, glm::ivec2{3, 1});
|
mGrid.setEntry(mSubtitle, glm::ivec2{0, 2}, false, true, glm::ivec2{2, 1});
|
||||||
|
|
||||||
mList = std::make_shared<ComponentList>(mWindow);
|
mList = std::make_shared<ComponentList>(mWindow);
|
||||||
mGrid.setEntry(mList, glm::ivec2{0, 4}, true, true, glm::ivec2{3, 1});
|
mGrid.setEntry(mList, glm::ivec2{0, 4}, true, true, glm::ivec2{2, 1});
|
||||||
|
|
||||||
// Set up scroll indicators.
|
// Set up scroll indicators.
|
||||||
mScrollUp = std::make_shared<ImageComponent>(mWindow);
|
mScrollUp = std::make_shared<ImageComponent>(mWindow);
|
||||||
|
@ -99,8 +98,8 @@ GuiMetaDataEd::GuiMetaDataEd(Window* window,
|
||||||
mScrollDown->setResize(0.0f, mTitle->getFont()->getLetterHeight() / 2.0f);
|
mScrollDown->setResize(0.0f, mTitle->getFont()->getLetterHeight() / 2.0f);
|
||||||
mScrollDown->setOrigin(0.0f, 0.35f);
|
mScrollDown->setOrigin(0.0f, 0.35f);
|
||||||
|
|
||||||
mGrid.setEntry(mScrollUp, glm::ivec2{2, 0}, false, false, glm::ivec2{1, 1});
|
mGrid.setEntry(mScrollUp, glm::ivec2{1, 0}, false, false, glm::ivec2{1, 1});
|
||||||
mGrid.setEntry(mScrollDown, glm::ivec2{2, 1}, false, false, glm::ivec2{1, 1});
|
mGrid.setEntry(mScrollDown, glm::ivec2{1, 1}, false, false, glm::ivec2{1, 1});
|
||||||
|
|
||||||
// Populate list.
|
// Populate list.
|
||||||
for (auto iter = mdd.cbegin(); iter != mdd.cend(); iter++) {
|
for (auto iter = mdd.cbegin(); iter != mdd.cend(); iter++) {
|
||||||
|
@ -265,6 +264,7 @@ GuiMetaDataEd::GuiMetaDataEd(Window* window,
|
||||||
std::shared_ptr<TextComponent> labelText =
|
std::shared_ptr<TextComponent> labelText =
|
||||||
std::make_shared<TextComponent>(
|
std::make_shared<TextComponent>(
|
||||||
mWindow, label, Font::get(FONT_SIZE_MEDIUM), 0x777777FF);
|
mWindow, label, Font::get(FONT_SIZE_MEDIUM), 0x777777FF);
|
||||||
|
labelText->setSelectable(true);
|
||||||
|
|
||||||
if (scraperParams.system->getAlternativeEmulator() == "" &&
|
if (scraperParams.system->getAlternativeEmulator() == "" &&
|
||||||
scraperParams.system->getSystemEnvData()
|
scraperParams.system->getSystemEnvData()
|
||||||
|
@ -289,14 +289,6 @@ GuiMetaDataEd::GuiMetaDataEd(Window* window,
|
||||||
delete s;
|
delete s;
|
||||||
});
|
});
|
||||||
|
|
||||||
// This transparent bracket is only added to generate the correct help
|
|
||||||
// prompts.
|
|
||||||
auto bracket = std::make_shared<ImageComponent>(mWindow);
|
|
||||||
bracket->setImage(":/graphics/arrow.svg");
|
|
||||||
bracket->setOpacity(0);
|
|
||||||
bracket->setSize(bracket->getSize() / 3.0f);
|
|
||||||
row.addElement(bracket, false);
|
|
||||||
|
|
||||||
// Select the row that corresponds to the selected label.
|
// Select the row that corresponds to the selected label.
|
||||||
if (selectedLabel == label)
|
if (selectedLabel == label)
|
||||||
s->addRow(row, true);
|
s->addRow(row, true);
|
||||||
|
@ -314,13 +306,8 @@ GuiMetaDataEd::GuiMetaDataEd(Window* window,
|
||||||
static_cast<float>(Renderer::getScreenWidth()) * maxWidthModifier;
|
static_cast<float>(Renderer::getScreenWidth()) * maxWidthModifier;
|
||||||
|
|
||||||
s->setMenuSize(glm::vec2{maxWidth, s->getMenuSize().y});
|
s->setMenuSize(glm::vec2{maxWidth, s->getMenuSize().y});
|
||||||
|
s->setMenuPosition(glm::vec3{(s->getSize().x - maxWidth) / 2.0f,
|
||||||
auto menuSize = s->getMenuSize();
|
mPosition.y, mPosition.z});
|
||||||
auto menuPos = s->getMenuPosition();
|
|
||||||
|
|
||||||
s->setMenuPosition(glm::vec3{(s->getSize().x - menuSize.x) / 2.0f,
|
|
||||||
(s->getSize().y - menuSize.y) / 3.0f,
|
|
||||||
menuPos.z});
|
|
||||||
mWindow->pushGui(s);
|
mWindow->pushGui(s);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -481,7 +468,7 @@ GuiMetaDataEd::GuiMetaDataEd(Window* window,
|
||||||
}
|
}
|
||||||
|
|
||||||
mButtons = makeButtonGrid(mWindow, buttons);
|
mButtons = makeButtonGrid(mWindow, buttons);
|
||||||
mGrid.setEntry(mButtons, glm::ivec2{0, 5}, true, false, glm::ivec2{3, 1});
|
mGrid.setEntry(mButtons, glm::ivec2{0, 5}, true, false, glm::ivec2{2, 1});
|
||||||
|
|
||||||
// Resize + center.
|
// Resize + center.
|
||||||
float width =
|
float width =
|
||||||
|
@ -505,14 +492,18 @@ void GuiMetaDataEd::onSizeChanged()
|
||||||
mGrid.setRowHeightPerc(3, (titleSubtitleSpacing * 1.2f) / mSize.y);
|
mGrid.setRowHeightPerc(3, (titleSubtitleSpacing * 1.2f) / mSize.y);
|
||||||
mGrid.setRowHeightPerc(4, ((mList->getRowHeight(0) * 10.0f) + 2.0f) / mSize.y);
|
mGrid.setRowHeightPerc(4, ((mList->getRowHeight(0) * 10.0f) + 2.0f) / mSize.y);
|
||||||
|
|
||||||
mGrid.setColWidthPerc(0, 0.07f);
|
mGrid.setColWidthPerc(1, 0.055f);
|
||||||
mGrid.setColWidthPerc(2, 0.07f);
|
|
||||||
|
|
||||||
mGrid.setSize(mSize);
|
mGrid.setSize(mSize);
|
||||||
mBackground.fitTo(mSize, glm::vec3{}, glm::vec2{-32.0f, -32.0f});
|
mBackground.fitTo(mSize, glm::vec3{}, glm::vec2{-32.0f, -32.0f});
|
||||||
|
|
||||||
setPosition((Renderer::getScreenWidth() - mSize.x) / 2.0f,
|
setPosition((Renderer::getScreenWidth() - mSize.x) / 2.0f,
|
||||||
(Renderer::getScreenHeight() - mSize.y) / 2.0f);
|
(Renderer::getScreenHeight() - mSize.y) / 2.0f);
|
||||||
|
|
||||||
|
// Add some extra margins to the file/folder name.
|
||||||
|
const float newSizeX = mSize.x * 0.96f;
|
||||||
|
mSubtitle->setSize(newSizeX, mSubtitle->getSize().y);
|
||||||
|
mSubtitle->setPosition((mSize.x - newSizeX) / 2.0f, mSubtitle->getPosition().y);
|
||||||
}
|
}
|
||||||
|
|
||||||
void GuiMetaDataEd::save()
|
void GuiMetaDataEd::save()
|
||||||
|
|
|
@ -28,7 +28,7 @@ GuiScraperMulti::GuiScraperMulti(Window* window,
|
||||||
bool approveResults)
|
bool approveResults)
|
||||||
: GuiComponent(window)
|
: GuiComponent(window)
|
||||||
, mBackground(window, ":/graphics/frame.svg")
|
, mBackground(window, ":/graphics/frame.svg")
|
||||||
, mGrid(window, glm::ivec2{1, 5})
|
, mGrid(window, glm::ivec2{2, 6})
|
||||||
, mSearchQueue(searches)
|
, mSearchQueue(searches)
|
||||||
, mApproveResults(approveResults)
|
, mApproveResults(approveResults)
|
||||||
{
|
{
|
||||||
|
@ -47,15 +47,15 @@ GuiScraperMulti::GuiScraperMulti(Window* window,
|
||||||
// Set up grid.
|
// Set up grid.
|
||||||
mTitle = std::make_shared<TextComponent>(mWindow, "SCRAPING IN PROGRESS",
|
mTitle = std::make_shared<TextComponent>(mWindow, "SCRAPING IN PROGRESS",
|
||||||
Font::get(FONT_SIZE_LARGE), 0x555555FF, ALIGN_CENTER);
|
Font::get(FONT_SIZE_LARGE), 0x555555FF, ALIGN_CENTER);
|
||||||
mGrid.setEntry(mTitle, glm::ivec2{0, 0}, false, true);
|
mGrid.setEntry(mTitle, glm::ivec2{0, 0}, false, true, glm::ivec2{2, 2});
|
||||||
|
|
||||||
mSystem = std::make_shared<TextComponent>(mWindow, "SYSTEM", Font::get(FONT_SIZE_MEDIUM),
|
mSystem = std::make_shared<TextComponent>(mWindow, "SYSTEM", Font::get(FONT_SIZE_MEDIUM),
|
||||||
0x777777FF, ALIGN_CENTER);
|
0x777777FF, ALIGN_CENTER);
|
||||||
mGrid.setEntry(mSystem, glm::ivec2{0, 1}, false, true);
|
mGrid.setEntry(mSystem, glm::ivec2{0, 2}, false, true, glm::ivec2{2, 1});
|
||||||
|
|
||||||
mSubtitle = std::make_shared<TextComponent>(
|
mSubtitle = std::make_shared<TextComponent>(
|
||||||
mWindow, "subtitle text", Font::get(FONT_SIZE_SMALL), 0x888888FF, ALIGN_CENTER);
|
mWindow, "subtitle text", Font::get(FONT_SIZE_SMALL), 0x888888FF, ALIGN_CENTER);
|
||||||
mGrid.setEntry(mSubtitle, glm::ivec2{0, 2}, false, true);
|
mGrid.setEntry(mSubtitle, glm::ivec2{0, 3}, false, true, glm::ivec2{2, 1});
|
||||||
|
|
||||||
if (mApproveResults && !Settings::getInstance()->getBool("ScraperSemiautomatic"))
|
if (mApproveResults && !Settings::getInstance()->getBool("ScraperSemiautomatic"))
|
||||||
mSearchComp = std::make_shared<GuiScraperSearch>(
|
mSearchComp = std::make_shared<GuiScraperSearch>(
|
||||||
|
@ -70,10 +70,34 @@ GuiScraperMulti::GuiScraperMulti(Window* window,
|
||||||
std::bind(&GuiScraperMulti::acceptResult, this, std::placeholders::_1));
|
std::bind(&GuiScraperMulti::acceptResult, this, std::placeholders::_1));
|
||||||
mSearchComp->setSkipCallback(std::bind(&GuiScraperMulti::skip, this));
|
mSearchComp->setSkipCallback(std::bind(&GuiScraperMulti::skip, this));
|
||||||
mSearchComp->setCancelCallback(std::bind(&GuiScraperMulti::finish, this));
|
mSearchComp->setCancelCallback(std::bind(&GuiScraperMulti::finish, this));
|
||||||
mGrid.setEntry(mSearchComp, glm::ivec2{0, 3},
|
mSearchComp->setRefineCallback([&] {
|
||||||
mSearchComp->getSearchType() != GuiScraperSearch::ALWAYS_ACCEPT_FIRST_RESULT,
|
mScrollUp->setOpacity(0);
|
||||||
true);
|
mScrollDown->setOpacity(0);
|
||||||
|
mResultList->resetScrollIndicatorStatus();
|
||||||
|
});
|
||||||
|
|
||||||
|
mGrid.setEntry(mSearchComp, glm::ivec2{0, 4},
|
||||||
|
mSearchComp->getSearchType() != GuiScraperSearch::ALWAYS_ACCEPT_FIRST_RESULT,
|
||||||
|
true, glm::ivec2{2, 1});
|
||||||
|
|
||||||
|
mResultList = mSearchComp->getResultList();
|
||||||
|
|
||||||
|
// Set up scroll indicators.
|
||||||
|
mScrollUp = std::make_shared<ImageComponent>(mWindow);
|
||||||
|
mScrollDown = std::make_shared<ImageComponent>(mWindow);
|
||||||
|
mScrollIndicator =
|
||||||
|
std::make_shared<ScrollIndicatorComponent>(mResultList, mScrollUp, mScrollDown);
|
||||||
|
|
||||||
|
mScrollUp->setResize(0.0f, mTitle->getFont()->getLetterHeight() / 2.0f);
|
||||||
|
mScrollUp->setOrigin(0.0f, -0.35f);
|
||||||
|
|
||||||
|
mScrollDown->setResize(0.0f, mTitle->getFont()->getLetterHeight() / 2.0f);
|
||||||
|
mScrollDown->setOrigin(0.0f, 0.35f);
|
||||||
|
|
||||||
|
mGrid.setEntry(mScrollUp, glm::ivec2{1, 0}, false, false, glm::ivec2{1, 1});
|
||||||
|
mGrid.setEntry(mScrollDown, glm::ivec2{1, 1}, false, false, glm::ivec2{1, 1});
|
||||||
|
|
||||||
|
// Buttons.
|
||||||
std::vector<std::shared_ptr<ButtonComponent>> buttons;
|
std::vector<std::shared_ptr<ButtonComponent>> buttons;
|
||||||
|
|
||||||
if (mApproveResults) {
|
if (mApproveResults) {
|
||||||
|
@ -125,14 +149,23 @@ GuiScraperMulti::GuiScraperMulti(Window* window,
|
||||||
std::bind(&GuiScraperMulti::finish, this)));
|
std::bind(&GuiScraperMulti::finish, this)));
|
||||||
|
|
||||||
mButtonGrid = makeButtonGrid(mWindow, buttons);
|
mButtonGrid = makeButtonGrid(mWindow, buttons);
|
||||||
mGrid.setEntry(mButtonGrid, glm::ivec2{0, 4}, true, false);
|
mGrid.setEntry(mButtonGrid, glm::ivec2{0, 5}, true, false, glm::ivec2{2, 1});
|
||||||
|
|
||||||
// Limit the width of the GUI on ultrawide monitors. The 1.778 aspect ratio value is
|
// Limit the width of the GUI on ultrawide monitors. The 1.778 aspect ratio value is
|
||||||
// the 16:9 reference.
|
// the 16:9 reference.
|
||||||
float aspectValue = 1.778f / Renderer::getScreenAspectRatio();
|
float aspectValue = 1.778f / Renderer::getScreenAspectRatio();
|
||||||
float width = glm::clamp(0.95f * aspectValue, 0.70f, 0.95f) * Renderer::getScreenWidth();
|
float width = glm::clamp(0.95f * aspectValue, 0.70f, 0.95f) * Renderer::getScreenWidth();
|
||||||
|
|
||||||
setSize(width, Renderer::getScreenHeight() * 0.849f);
|
float height = (mTitle->getFont()->getLetterHeight() +
|
||||||
|
static_cast<float>(Renderer::getScreenHeight()) * 0.0637f) +
|
||||||
|
mSystem->getFont()->getLetterHeight() +
|
||||||
|
mSubtitle->getFont()->getHeight() * 1.75f + mButtonGrid->getSize().y +
|
||||||
|
Font::get(FONT_SIZE_MEDIUM)->getHeight() * 7.0f;
|
||||||
|
|
||||||
|
// TODO: Temporary hack, see below.
|
||||||
|
height -= 7.0f * Renderer::getScreenHeightModifier();
|
||||||
|
|
||||||
|
setSize(width, height);
|
||||||
setPosition((Renderer::getScreenWidth() - mSize.x) / 2.0f,
|
setPosition((Renderer::getScreenWidth() - mSize.x) / 2.0f,
|
||||||
(Renderer::getScreenHeight() - mSize.y) / 2.0f);
|
(Renderer::getScreenHeight() - mSize.y) / 2.0f);
|
||||||
|
|
||||||
|
@ -153,13 +186,26 @@ GuiScraperMulti::~GuiScraperMulti()
|
||||||
|
|
||||||
void GuiScraperMulti::onSizeChanged()
|
void GuiScraperMulti::onSizeChanged()
|
||||||
{
|
{
|
||||||
mBackground.fitTo(mSize, glm::vec3{}, glm::vec2{-32.0f, -32.0f});
|
mGrid.setRowHeightPerc(
|
||||||
|
0, (mTitle->getFont()->getLetterHeight() + Renderer::getScreenHeight() * 0.0637f) /
|
||||||
|
mSize.y / 2.0f);
|
||||||
|
mGrid.setRowHeightPerc(
|
||||||
|
1, (mTitle->getFont()->getLetterHeight() + Renderer::getScreenHeight() * 0.0637f) /
|
||||||
|
mSize.y / 2.0f);
|
||||||
|
mGrid.setRowHeightPerc(2, (mSystem->getFont()->getLetterHeight()) / mSize.y, false);
|
||||||
|
mGrid.setRowHeightPerc(3, mSubtitle->getFont()->getHeight() * 1.75f / mSize.y, false);
|
||||||
|
mGrid.setRowHeightPerc(4, ((Font::get(FONT_SIZE_MEDIUM)->getHeight() * 7.0f)) / mSize.y, false);
|
||||||
|
|
||||||
|
// TODO: Replace this temporary hack with a proper solution. There is some kind of rounding
|
||||||
|
// issue somewhere that causes a small alignment error. This code partly compensates for this
|
||||||
|
// at higher resolutions than 1920x1080.
|
||||||
|
if (Renderer::getScreenHeightModifier() > 1.0f)
|
||||||
|
mSize.y -= 3.0f * Renderer::getScreenHeightModifier();
|
||||||
|
|
||||||
|
mGrid.setColWidthPerc(1, 0.04f);
|
||||||
|
|
||||||
mGrid.setRowHeightPerc(0, mTitle->getFont()->getLetterHeight() * 1.9725f / mSize.y, false);
|
|
||||||
mGrid.setRowHeightPerc(1, (mSystem->getFont()->getLetterHeight() + 2.0f) / mSize.y, false);
|
|
||||||
mGrid.setRowHeightPerc(2, mSubtitle->getFont()->getHeight() * 1.75f / mSize.y, false);
|
|
||||||
mGrid.setRowHeightPerc(4, mButtonGrid->getSize().y / mSize.y, false);
|
|
||||||
mGrid.setSize(mSize);
|
mGrid.setSize(mSize);
|
||||||
|
mBackground.fitTo(mSize, glm::vec3{}, glm::vec2{-32.0f, -32.0f});
|
||||||
}
|
}
|
||||||
|
|
||||||
void GuiScraperMulti::doNextSearch()
|
void GuiScraperMulti::doNextSearch()
|
||||||
|
@ -189,6 +235,10 @@ void GuiScraperMulti::doNextSearch()
|
||||||
scrapeName = Utils::FileSystem::getFileName(mSearchQueue.front().game->getPath());
|
scrapeName = Utils::FileSystem::getFileName(mSearchQueue.front().game->getPath());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
mScrollUp->setOpacity(0);
|
||||||
|
mScrollDown->setOpacity(0);
|
||||||
|
mResultList->resetScrollIndicatorStatus();
|
||||||
|
|
||||||
// Extract possible subfolders from the path.
|
// Extract possible subfolders from the path.
|
||||||
std::string folderPath =
|
std::string folderPath =
|
||||||
Utils::String::replace(Utils::FileSystem::getParent(mSearchQueue.front().game->getPath()),
|
Utils::String::replace(Utils::FileSystem::getParent(mSearchQueue.front().game->getPath()),
|
||||||
|
@ -264,9 +314,6 @@ void GuiScraperMulti::finish()
|
||||||
std::vector<HelpPrompt> GuiScraperMulti::getHelpPrompts()
|
std::vector<HelpPrompt> GuiScraperMulti::getHelpPrompts()
|
||||||
{
|
{
|
||||||
std::vector<HelpPrompt> prompts = mGrid.getHelpPrompts();
|
std::vector<HelpPrompt> prompts = mGrid.getHelpPrompts();
|
||||||
// Remove the 'Choose' entry if in fully automatic mode.
|
|
||||||
if (!mApproveResults)
|
|
||||||
prompts.pop_back();
|
|
||||||
return prompts;
|
return prompts;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -16,6 +16,7 @@
|
||||||
#include "MetaData.h"
|
#include "MetaData.h"
|
||||||
#include "components/ComponentGrid.h"
|
#include "components/ComponentGrid.h"
|
||||||
#include "components/NinePatchComponent.h"
|
#include "components/NinePatchComponent.h"
|
||||||
|
#include "components/ScrollIndicatorComponent.h"
|
||||||
#include "scrapers/Scraper.h"
|
#include "scrapers/Scraper.h"
|
||||||
|
|
||||||
class GuiScraperSearch;
|
class GuiScraperSearch;
|
||||||
|
@ -45,10 +46,14 @@ private:
|
||||||
ComponentGrid mGrid;
|
ComponentGrid mGrid;
|
||||||
|
|
||||||
std::shared_ptr<TextComponent> mTitle;
|
std::shared_ptr<TextComponent> mTitle;
|
||||||
|
std::shared_ptr<ImageComponent> mScrollUp;
|
||||||
|
std::shared_ptr<ImageComponent> mScrollDown;
|
||||||
|
std::shared_ptr<ScrollIndicatorComponent> mScrollIndicator;
|
||||||
std::shared_ptr<TextComponent> mSystem;
|
std::shared_ptr<TextComponent> mSystem;
|
||||||
std::shared_ptr<TextComponent> mSubtitle;
|
std::shared_ptr<TextComponent> mSubtitle;
|
||||||
std::shared_ptr<GuiScraperSearch> mSearchComp;
|
std::shared_ptr<GuiScraperSearch> mSearchComp;
|
||||||
std::shared_ptr<ComponentGrid> mButtonGrid;
|
std::shared_ptr<ComponentGrid> mButtonGrid;
|
||||||
|
std::shared_ptr<ComponentList> mResultList;
|
||||||
|
|
||||||
std::queue<ScraperSearchParams> mSearchQueue;
|
std::queue<ScraperSearchParams> mSearchQueue;
|
||||||
std::vector<MetaDataDecl> mMetaDataDecl;
|
std::vector<MetaDataDecl> mMetaDataDecl;
|
||||||
|
|
|
@ -39,7 +39,7 @@
|
||||||
|
|
||||||
GuiScraperSearch::GuiScraperSearch(Window* window, SearchType type, unsigned int scrapeCount)
|
GuiScraperSearch::GuiScraperSearch(Window* window, SearchType type, unsigned int scrapeCount)
|
||||||
: GuiComponent(window)
|
: GuiComponent(window)
|
||||||
, mGrid(window, glm::ivec2{4, 3})
|
, mGrid(window, glm::ivec2{5, 3})
|
||||||
, mSearchType(type)
|
, mSearchType(type)
|
||||||
, mScrapeCount(scrapeCount)
|
, mScrapeCount(scrapeCount)
|
||||||
, mRefinedSearch(false)
|
, mRefinedSearch(false)
|
||||||
|
@ -88,14 +88,11 @@ GuiScraperSearch::GuiScraperSearch(Window* window, SearchType type, unsigned int
|
||||||
mMD_ReleaseDate = std::make_shared<DateTimeEditComponent>(mWindow);
|
mMD_ReleaseDate = std::make_shared<DateTimeEditComponent>(mWindow);
|
||||||
mMD_ReleaseDate->setColor(mdColor);
|
mMD_ReleaseDate->setColor(mdColor);
|
||||||
mMD_ReleaseDate->setUppercase(true);
|
mMD_ReleaseDate->setUppercase(true);
|
||||||
mMD_Developer = std::make_shared<TextComponent>(mWindow, "", font, mdColor, ALIGN_LEFT,
|
mMD_Developer = std::make_shared<TextComponent>(mWindow, "", font, mdColor, ALIGN_LEFT);
|
||||||
glm::vec3{}, glm::vec2{}, 0x00000000, 0.02f);
|
mMD_Publisher = std::make_shared<TextComponent>(mWindow, "", font, mdColor, ALIGN_LEFT);
|
||||||
mMD_Publisher = std::make_shared<TextComponent>(mWindow, "", font, mdColor, ALIGN_LEFT,
|
mMD_Genre =
|
||||||
glm::vec3{}, glm::vec2{}, 0x00000000, 0.02f);
|
std::make_shared<TextComponent>(mWindow, "", font, mdColor, ALIGN_LEFT, glm::vec3{});
|
||||||
mMD_Genre = std::make_shared<TextComponent>(mWindow, "", font, mdColor, ALIGN_LEFT, glm::vec3{},
|
mMD_Players = std::make_shared<TextComponent>(mWindow, "", font, mdColor, ALIGN_LEFT);
|
||||||
glm::vec2{}, 0x00000000, 0.02f);
|
|
||||||
mMD_Players = std::make_shared<TextComponent>(mWindow, "", font, mdColor, ALIGN_LEFT,
|
|
||||||
glm::vec3{}, glm::vec2{}, 0x00000000, 0.02f);
|
|
||||||
mMD_Filler = std::make_shared<TextComponent>(mWindow, "", font, mdColor);
|
mMD_Filler = std::make_shared<TextComponent>(mWindow, "", font, mdColor);
|
||||||
|
|
||||||
if (Settings::getInstance()->getString("Scraper") != "thegamesdb")
|
if (Settings::getInstance()->getString("Scraper") != "thegamesdb")
|
||||||
|
@ -193,45 +190,47 @@ void GuiScraperSearch::onSizeChanged()
|
||||||
mGrid.setColWidthPerc(1, 0.25f);
|
mGrid.setColWidthPerc(1, 0.25f);
|
||||||
|
|
||||||
if (mSearchType == ALWAYS_ACCEPT_FIRST_RESULT)
|
if (mSearchType == ALWAYS_ACCEPT_FIRST_RESULT)
|
||||||
mGrid.setColWidthPerc(2, 0.25f);
|
mGrid.setColWidthPerc(2, 0.33f);
|
||||||
else
|
else
|
||||||
mGrid.setColWidthPerc(2, 0.28f);
|
mGrid.setColWidthPerc(2, 0.30f);
|
||||||
|
|
||||||
// Row heights.
|
// Row heights.
|
||||||
if (mSearchType == ALWAYS_ACCEPT_FIRST_RESULT) // Show name.
|
if (mSearchType == ALWAYS_ACCEPT_FIRST_RESULT) // Show name.
|
||||||
mGrid.setRowHeightPerc(0, (mResultName->getFont()->getHeight() * 1.6f) /
|
mGrid.setRowHeightPerc(0, (mResultName->getFont()->getHeight() * 1.6f) /
|
||||||
mGrid.getSize().y); // Result name.
|
mGrid.getSize().y); // Result name.
|
||||||
else
|
else
|
||||||
mGrid.setRowHeightPerc(0, 0.0825f); // Hide name but do padding.
|
mGrid.setRowHeightPerc(0, 0.0725f); // Hide name but do padding.
|
||||||
|
|
||||||
if (mSearchType == ALWAYS_ACCEPT_FIRST_RESULT)
|
if (mSearchType == ALWAYS_ACCEPT_FIRST_RESULT)
|
||||||
mGrid.setRowHeightPerc(2, 0.2f);
|
mGrid.setRowHeightPerc(2, 0.2f);
|
||||||
else
|
else
|
||||||
mGrid.setRowHeightPerc(1, 0.505f);
|
mGrid.setRowHeightPerc(1, 0.505f);
|
||||||
|
|
||||||
const float boxartCellScale = 0.9f;
|
const float thumbnailCellScale = 0.93f;
|
||||||
|
|
||||||
// Limit thumbnail size using setMaxHeight - we do this instead of letting mGrid
|
// Limit thumbnail size using setMaxHeight - we do this instead of letting mGrid
|
||||||
// call setSize because it maintains the aspect ratio.
|
// call setSize because it maintains the aspect ratio.
|
||||||
// We also pad a little so it doesn't rub up against the metadata labels.
|
// We also pad a little so it doesn't rub up against the metadata labels.
|
||||||
mResultThumbnail->setMaxSize(mGrid.getColWidth(1) * boxartCellScale, mGrid.getRowHeight(1));
|
mResultThumbnail->setMaxSize(mGrid.getColWidth(1) * thumbnailCellScale, mGrid.getRowHeight(1));
|
||||||
|
|
||||||
// Metadata.
|
// Metadata.
|
||||||
resizeMetadata();
|
resizeMetadata();
|
||||||
|
|
||||||
|
// Small vertical spacer between the metadata fields and the result list.
|
||||||
|
mGrid.setColWidthPerc(3, 0.004f);
|
||||||
|
|
||||||
if (mSearchType != ALWAYS_ACCEPT_FIRST_RESULT)
|
if (mSearchType != ALWAYS_ACCEPT_FIRST_RESULT)
|
||||||
mDescContainer->setSize(mGrid.getColWidth(1) * boxartCellScale + mGrid.getColWidth(2),
|
mDescContainer->setSize(mGrid.getColWidth(1) * thumbnailCellScale + mGrid.getColWidth(2),
|
||||||
mResultDesc->getFont()->getHeight() * 3.0f);
|
mResultDesc->getFont()->getHeight() * 3.0f);
|
||||||
else
|
else
|
||||||
mDescContainer->setSize(mGrid.getColWidth(3) * boxartCellScale,
|
mDescContainer->setSize(mGrid.getColWidth(4) * thumbnailCellScale,
|
||||||
mResultDesc->getFont()->getHeight() * 6.0f);
|
mResultDesc->getFont()->getHeight() * 8.0f);
|
||||||
|
|
||||||
// Make description text wrap at edge of container.
|
// Make description text wrap at edge of container.
|
||||||
mResultDesc->setSize(mDescContainer->getSize().x, 0.0f);
|
mResultDesc->setSize(mDescContainer->getSize().x, 0.0f);
|
||||||
|
|
||||||
// Set the width of mResultName to the cell width so that text abbreviation will work correctly.
|
// Set the width of mResultName to the cell width so that text abbreviation will work correctly.
|
||||||
glm::vec2 resultNameSize{mResultName->getSize()};
|
mResultName->setSize(mGrid.getColWidth(1) + mGrid.getColWidth(2), mResultName->getSize().y);
|
||||||
mResultName->setSize(mGrid.getColWidth(3), resultNameSize.y);
|
|
||||||
|
|
||||||
mGrid.onSizeChanged();
|
mGrid.onSizeChanged();
|
||||||
mBusyAnim.setSize(mSize);
|
mBusyAnim.setSize(mSize);
|
||||||
|
@ -289,30 +288,30 @@ void GuiScraperSearch::updateViewStyle()
|
||||||
// Add them back depending on search type.
|
// Add them back depending on search type.
|
||||||
if (mSearchType == ALWAYS_ACCEPT_FIRST_RESULT) {
|
if (mSearchType == ALWAYS_ACCEPT_FIRST_RESULT) {
|
||||||
// Show name.
|
// Show name.
|
||||||
mGrid.setEntry(mResultName, glm::ivec2{1, 0}, false, false, glm::ivec2{2, 1},
|
mGrid.setEntry(mResultName, glm::ivec2{1, 0}, false, false, glm::ivec2{3, 1},
|
||||||
GridFlags::BORDER_TOP);
|
GridFlags::BORDER_TOP);
|
||||||
|
|
||||||
// Need a border on the bottom left.
|
// Need a border on the bottom left.
|
||||||
mGrid.setEntry(std::make_shared<GuiComponent>(mWindow), glm::ivec2{0, 2}, false, false,
|
mGrid.setEntry(std::make_shared<GuiComponent>(mWindow), glm::ivec2{0, 2}, false, false,
|
||||||
glm::ivec2{3, 1}, GridFlags::BORDER_BOTTOM);
|
glm::ivec2{4, 1}, GridFlags::BORDER_BOTTOM);
|
||||||
|
|
||||||
// Show description on the right.
|
// Show description on the right.
|
||||||
mGrid.setEntry(mDescContainer, glm::ivec2{3, 0}, false, false, glm::ivec2{1, 3},
|
mGrid.setEntry(mDescContainer, glm::ivec2{4, 0}, false, false, glm::ivec2{1, 3},
|
||||||
GridFlags::BORDER_TOP | GridFlags::BORDER_BOTTOM);
|
GridFlags::BORDER_TOP | GridFlags::BORDER_BOTTOM | GridFlags::BORDER_LEFT);
|
||||||
// Make description text wrap at edge of container.
|
// Make description text wrap at edge of container.
|
||||||
mResultDesc->setSize(mDescContainer->getSize().x, 0.0f);
|
mResultDesc->setSize(mDescContainer->getSize().x, 0.0f);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
// Fake row where name would be.
|
// Fake row where name would be.
|
||||||
mGrid.setEntry(std::make_shared<GuiComponent>(mWindow), glm::ivec2{1, 0}, false, true,
|
mGrid.setEntry(std::make_shared<GuiComponent>(mWindow), glm::ivec2{1, 0}, false, true,
|
||||||
glm::ivec2{2, 1}, GridFlags::BORDER_TOP);
|
glm::ivec2{3, 1}, GridFlags::BORDER_TOP);
|
||||||
|
|
||||||
// Show result list on the right.
|
// Show result list on the right.
|
||||||
mGrid.setEntry(mResultList, glm::ivec2{3, 0}, true, true, glm::ivec2{1, 3},
|
mGrid.setEntry(mResultList, glm::ivec2{4, 0}, true, true, glm::ivec2{1, 3},
|
||||||
GridFlags::BORDER_LEFT | GridFlags::BORDER_TOP | GridFlags::BORDER_BOTTOM);
|
GridFlags::BORDER_LEFT | GridFlags::BORDER_TOP | GridFlags::BORDER_BOTTOM);
|
||||||
|
|
||||||
// Show description under image/info.
|
// Show description under image/info.
|
||||||
mGrid.setEntry(mDescContainer, glm::ivec2{1, 2}, false, false, glm::ivec2{2, 1},
|
mGrid.setEntry(mDescContainer, glm::ivec2{1, 2}, false, false, glm::ivec2{3, 1},
|
||||||
GridFlags::BORDER_BOTTOM);
|
GridFlags::BORDER_BOTTOM);
|
||||||
// Make description text wrap at edge of container.
|
// Make description text wrap at edge of container.
|
||||||
mResultDesc->setSize(mDescContainer->getSize().x, 0);
|
mResultDesc->setSize(mDescContainer->getSize().x, 0);
|
||||||
|
@ -328,6 +327,7 @@ void GuiScraperSearch::search(const ScraperSearchParams& params)
|
||||||
mScrapeResult = {};
|
mScrapeResult = {};
|
||||||
|
|
||||||
mResultList->clear();
|
mResultList->clear();
|
||||||
|
mResultList->setLoopRows(false);
|
||||||
mScraperResults.clear();
|
mScraperResults.clear();
|
||||||
mMDRetrieveURLsHandle.reset();
|
mMDRetrieveURLsHandle.reset();
|
||||||
mThumbnailReqMap.clear();
|
mThumbnailReqMap.clear();
|
||||||
|
@ -356,6 +356,7 @@ void GuiScraperSearch::onSearchDone(const std::vector<ScraperSearchResult>& resu
|
||||||
mResultList->clear();
|
mResultList->clear();
|
||||||
|
|
||||||
mScraperResults = results;
|
mScraperResults = results;
|
||||||
|
mResultList->setLoopRows(true);
|
||||||
|
|
||||||
auto font = Font::get(FONT_SIZE_MEDIUM);
|
auto font = Font::get(FONT_SIZE_MEDIUM);
|
||||||
unsigned int color = 0x777777FF;
|
unsigned int color = 0x777777FF;
|
||||||
|
@ -390,7 +391,7 @@ void GuiScraperSearch::onSearchDone(const std::vector<ScraperSearchResult>& resu
|
||||||
row.addElement(
|
row.addElement(
|
||||||
std::make_shared<TextComponent>(
|
std::make_shared<TextComponent>(
|
||||||
mWindow, Utils::String::toUpper(results.at(i).mdl.get("name")), font, color),
|
mWindow, Utils::String::toUpper(results.at(i).mdl.get("name")), font, color),
|
||||||
true);
|
false);
|
||||||
row.makeAcceptInputHandler([this, i] { returnResult(mScraperResults.at(i)); });
|
row.makeAcceptInputHandler([this, i] { returnResult(mScraperResults.at(i)); });
|
||||||
mResultList->addRow(row);
|
mResultList->addRow(row);
|
||||||
}
|
}
|
||||||
|
@ -563,8 +564,10 @@ bool GuiScraperSearch::input(InputConfig* config, Input input)
|
||||||
else if (mSearchType == ACCEPT_SINGLE_MATCHES && !mFoundGame)
|
else if (mSearchType == ACCEPT_SINGLE_MATCHES && !mFoundGame)
|
||||||
allowRefine = true;
|
allowRefine = true;
|
||||||
|
|
||||||
if (allowRefine)
|
if (allowRefine) {
|
||||||
|
mResultList->stopLooping();
|
||||||
openInputScreen(mLastSearch);
|
openInputScreen(mLastSearch);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// If multi-scraping, skip game unless the result has already been accepted.
|
// If multi-scraping, skip game unless the result has already been accepted.
|
||||||
|
@ -590,6 +593,7 @@ void GuiScraperSearch::render(const glm::mat4& parentTrans)
|
||||||
|
|
||||||
void GuiScraperSearch::returnResult(ScraperSearchResult result)
|
void GuiScraperSearch::returnResult(ScraperSearchResult result)
|
||||||
{
|
{
|
||||||
|
mResultList->setLoopRows(false);
|
||||||
|
|
||||||
mBlockAccept = true;
|
mBlockAccept = true;
|
||||||
mAcceptedResult = true;
|
mAcceptedResult = true;
|
||||||
|
@ -798,6 +802,8 @@ void GuiScraperSearch::openInputScreen(ScraperSearchParams& params)
|
||||||
stop();
|
stop();
|
||||||
mRefinedSearch = true;
|
mRefinedSearch = true;
|
||||||
params.nameOverride = name;
|
params.nameOverride = name;
|
||||||
|
if (mRefineCallback != nullptr)
|
||||||
|
mRefineCallback();
|
||||||
search(params);
|
search(params);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -71,6 +71,10 @@ public:
|
||||||
{
|
{
|
||||||
mCancelCallback = cancelCallback;
|
mCancelCallback = cancelCallback;
|
||||||
}
|
}
|
||||||
|
void setRefineCallback(const std::function<void()>& refineCallback)
|
||||||
|
{
|
||||||
|
mRefineCallback = refineCallback;
|
||||||
|
}
|
||||||
|
|
||||||
bool input(InputConfig* config, Input input) override;
|
bool input(InputConfig* config, Input input) override;
|
||||||
void update(int deltaTime) override;
|
void update(int deltaTime) override;
|
||||||
|
@ -92,6 +96,8 @@ public:
|
||||||
void onFocusGained() override { mGrid.onFocusGained(); }
|
void onFocusGained() override { mGrid.onFocusGained(); }
|
||||||
void onFocusLost() override { mGrid.onFocusLost(); }
|
void onFocusLost() override { mGrid.onFocusLost(); }
|
||||||
|
|
||||||
|
std::shared_ptr<ComponentList>& getResultList() { return mResultList; }
|
||||||
|
|
||||||
private:
|
private:
|
||||||
void updateViewStyle();
|
void updateViewStyle();
|
||||||
void updateThumbnail();
|
void updateThumbnail();
|
||||||
|
@ -152,6 +158,7 @@ private:
|
||||||
std::function<void(const ScraperSearchResult&)> mAcceptCallback;
|
std::function<void(const ScraperSearchResult&)> mAcceptCallback;
|
||||||
std::function<void()> mSkipCallback;
|
std::function<void()> mSkipCallback;
|
||||||
std::function<void()> mCancelCallback;
|
std::function<void()> mCancelCallback;
|
||||||
|
std::function<void()> mRefineCallback;
|
||||||
unsigned int mScrapeCount;
|
unsigned int mScrapeCount;
|
||||||
bool mRefinedSearch;
|
bool mRefinedSearch;
|
||||||
bool mBlockAccept;
|
bool mBlockAccept;
|
||||||
|
|
|
@ -232,7 +232,7 @@ bool parseArgs(int argc, char* argv[])
|
||||||
}
|
}
|
||||||
int width = atoi(argv[i + 1]);
|
int width = atoi(argv[i + 1]);
|
||||||
int height = atoi(argv[i + 2]);
|
int height = atoi(argv[i + 2]);
|
||||||
if (width < 224 || height < 224 || width > 7680 || height > 4320 ||
|
if (width < 224 || height < 224 || width > 7680 || height > 7680 ||
|
||||||
height < width / 4 || width < height / 2) {
|
height < width / 4 || width < height / 2) {
|
||||||
std::cerr << "Error: Unsupported resolution " << width << "x" << height
|
std::cerr << "Error: Unsupported resolution " << width << "x" << height
|
||||||
<< " supplied.\n";
|
<< " supplied.\n";
|
||||||
|
|
|
@ -493,7 +493,7 @@ void GridGameListView::updateInfoPanel()
|
||||||
if ((comp->isAnimationPlaying(0) && comp->isAnimationReversed(0) != fadingOut) ||
|
if ((comp->isAnimationPlaying(0) && comp->isAnimationReversed(0) != fadingOut) ||
|
||||||
(!comp->isAnimationPlaying(0) && comp->getOpacity() != (fadingOut ? 0 : 255))) {
|
(!comp->isAnimationPlaying(0) && comp->getOpacity() != (fadingOut ? 0 : 255))) {
|
||||||
|
|
||||||
// TEMPORARY - This does not seem to work, needs to be reviewed later.
|
// TODO: This does not seem to work, needs to be reviewed later.
|
||||||
// auto func = [comp](float t) {
|
// auto func = [comp](float t) {
|
||||||
auto func = [](float t) {
|
auto func = [](float t) {
|
||||||
// comp->setOpacity(static_cast<unsigned char>(glm::mix(0.0f, 1.0f, t) * 255));
|
// comp->setOpacity(static_cast<unsigned char>(glm::mix(0.0f, 1.0f, t) * 255));
|
||||||
|
|
|
@ -181,7 +181,7 @@ void Settings::setDefaults()
|
||||||
mBoolMap["SpecialCharsASCII"] = {false, false};
|
mBoolMap["SpecialCharsASCII"] = {false, false};
|
||||||
mBoolMap["ListScrollOverlay"] = {false, false};
|
mBoolMap["ListScrollOverlay"] = {false, false};
|
||||||
mBoolMap["VirtualKeyboard"] = {true, true};
|
mBoolMap["VirtualKeyboard"] = {true, true};
|
||||||
mBoolMap["ScrollIndicators"] = {false, false};
|
mBoolMap["ScrollIndicators"] = {true, true};
|
||||||
mBoolMap["FavoritesAddButton"] = {true, true};
|
mBoolMap["FavoritesAddButton"] = {true, true};
|
||||||
mBoolMap["RandomAddButton"] = {false, false};
|
mBoolMap["RandomAddButton"] = {false, false};
|
||||||
mBoolMap["GamelistFilters"] = {true, true};
|
mBoolMap["GamelistFilters"] = {true, true};
|
||||||
|
|
|
@ -8,6 +8,8 @@
|
||||||
|
|
||||||
#include "components/ComponentList.h"
|
#include "components/ComponentList.h"
|
||||||
|
|
||||||
|
#include "resources/Font.h"
|
||||||
|
|
||||||
#define TOTAL_HORIZONTAL_PADDING_PX 20.0f
|
#define TOTAL_HORIZONTAL_PADDING_PX 20.0f
|
||||||
|
|
||||||
ComponentList::ComponentList(Window* window)
|
ComponentList::ComponentList(Window* window)
|
||||||
|
@ -15,8 +17,14 @@ ComponentList::ComponentList(Window* window)
|
||||||
, mFocused{false}
|
, mFocused{false}
|
||||||
, mSetupCompleted{false}
|
, mSetupCompleted{false}
|
||||||
, mBottomCameraOffset{false}
|
, mBottomCameraOffset{false}
|
||||||
|
, mSingleRowScroll{false}
|
||||||
, mSelectorBarOffset{0.0f}
|
, mSelectorBarOffset{0.0f}
|
||||||
, mCameraOffset{0.0f}
|
, mCameraOffset{0.0f}
|
||||||
|
, mLoopRows{false}
|
||||||
|
, mLoopScroll{false}
|
||||||
|
, mLoopOffset{0}
|
||||||
|
, mLoopOffset2{0}
|
||||||
|
, mLoopTime{0}
|
||||||
, mScrollIndicatorStatus{SCROLL_NONE}
|
, mScrollIndicatorStatus{SCROLL_NONE}
|
||||||
{
|
{
|
||||||
// Adjust the padding relative to the aspect ratio and screen resolution to make it look
|
// Adjust the padding relative to the aspect ratio and screen resolution to make it look
|
||||||
|
@ -63,6 +71,8 @@ bool ComponentList::input(InputConfig* config, Input input)
|
||||||
if (size() == 0)
|
if (size() == 0)
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
|
mSingleRowScroll = false;
|
||||||
|
|
||||||
if (input.value &&
|
if (input.value &&
|
||||||
(config->isMappedTo("a", input) || config->isMappedLike("lefttrigger", input) ||
|
(config->isMappedTo("a", input) || config->isMappedLike("lefttrigger", input) ||
|
||||||
config->isMappedLike("righttrigger", input))) {
|
config->isMappedLike("righttrigger", input))) {
|
||||||
|
@ -86,9 +96,11 @@ bool ComponentList::input(InputConfig* config, Input input)
|
||||||
|
|
||||||
// Input handler didn't consume the input - try to scroll.
|
// Input handler didn't consume the input - try to scroll.
|
||||||
if (config->isMappedLike("up", input)) {
|
if (config->isMappedLike("up", input)) {
|
||||||
|
mSingleRowScroll = true;
|
||||||
return listInput(input.value != 0 ? -1 : 0);
|
return listInput(input.value != 0 ? -1 : 0);
|
||||||
}
|
}
|
||||||
else if (config->isMappedLike("down", input)) {
|
else if (config->isMappedLike("down", input)) {
|
||||||
|
mSingleRowScroll = true;
|
||||||
return listInput(input.value != 0 ? 1 : 0);
|
return listInput(input.value != 0 ? 1 : 0);
|
||||||
}
|
}
|
||||||
else if (config->isMappedLike("leftshoulder", input)) {
|
else if (config->isMappedLike("leftshoulder", input)) {
|
||||||
|
@ -115,6 +127,12 @@ bool ComponentList::input(InputConfig* config, Input input)
|
||||||
|
|
||||||
void ComponentList::update(int deltaTime)
|
void ComponentList::update(int deltaTime)
|
||||||
{
|
{
|
||||||
|
if (!mFocused && mLoopRows) {
|
||||||
|
mLoopOffset = 0;
|
||||||
|
mLoopOffset2 = 0;
|
||||||
|
mLoopTime = 0;
|
||||||
|
}
|
||||||
|
|
||||||
const float totalHeight = getTotalRowHeight();
|
const float totalHeight = getTotalRowHeight();
|
||||||
|
|
||||||
// Scroll indicator logic, used by ScrollIndicatorComponent.
|
// Scroll indicator logic, used by ScrollIndicatorComponent.
|
||||||
|
@ -142,15 +160,44 @@ void ComponentList::update(int deltaTime)
|
||||||
}
|
}
|
||||||
|
|
||||||
if (scrollIndicatorChanged == true && mScrollIndicatorChangedCallback != nullptr)
|
if (scrollIndicatorChanged == true && mScrollIndicatorChangedCallback != nullptr)
|
||||||
mScrollIndicatorChangedCallback(mScrollIndicatorStatus);
|
mScrollIndicatorChangedCallback(mScrollIndicatorStatus, mSingleRowScroll);
|
||||||
|
|
||||||
listUpdate(deltaTime);
|
listUpdate(deltaTime);
|
||||||
|
|
||||||
if (size()) {
|
if (size()) {
|
||||||
|
float rowWidth{0.0f};
|
||||||
|
|
||||||
// Update our currently selected row.
|
// Update our currently selected row.
|
||||||
for (auto it = mEntries.at(mCursor).data.elements.cbegin();
|
for (auto it = mEntries.at(mCursor).data.elements.cbegin();
|
||||||
it != mEntries.at(mCursor).data.elements.cend(); it++)
|
it != mEntries.at(mCursor).data.elements.cend(); it++) {
|
||||||
it->component->update(deltaTime);
|
it->component->update(deltaTime);
|
||||||
|
rowWidth += it->component->getSize().x;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (mLoopRows && rowWidth + mHorizontalPadding / 2.0f > mSize.x) {
|
||||||
|
// Loop the text.
|
||||||
|
const float speed{
|
||||||
|
Font::get(FONT_SIZE_MEDIUM)->sizeText("ABCDEFGHIJKLMNOPQRSTUVWXYZ").x * 0.247f};
|
||||||
|
const float delay{1500.0f};
|
||||||
|
const float scrollLength{rowWidth};
|
||||||
|
const float returnLength{speed * 1.5f};
|
||||||
|
const float scrollTime{(scrollLength * 1000.0f) / speed};
|
||||||
|
const float returnTime{(returnLength * 1000.0f) / speed};
|
||||||
|
const int maxTime{static_cast<int>(delay + scrollTime + returnTime)};
|
||||||
|
|
||||||
|
mLoopTime += deltaTime;
|
||||||
|
while (mLoopTime > maxTime)
|
||||||
|
mLoopTime -= maxTime;
|
||||||
|
|
||||||
|
mLoopOffset = static_cast<int>(Utils::Math::loop(delay, scrollTime + returnTime,
|
||||||
|
static_cast<float>(mLoopTime),
|
||||||
|
scrollLength + returnLength));
|
||||||
|
|
||||||
|
if (mLoopOffset > (scrollLength - (mSize.x - returnLength)))
|
||||||
|
mLoopOffset2 = static_cast<int>(mLoopOffset - (scrollLength + returnLength));
|
||||||
|
else if (mLoopOffset2 < 0)
|
||||||
|
mLoopOffset2 = 0;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -158,6 +205,12 @@ void ComponentList::onCursorChanged(const CursorState& state)
|
||||||
{
|
{
|
||||||
mSetupCompleted = true;
|
mSetupCompleted = true;
|
||||||
|
|
||||||
|
if (mLoopRows) {
|
||||||
|
mLoopOffset = 0;
|
||||||
|
mLoopOffset2 = 0;
|
||||||
|
mLoopTime = 0;
|
||||||
|
}
|
||||||
|
|
||||||
// Update the selector bar position.
|
// Update the selector bar position.
|
||||||
// In the future this might be animated.
|
// In the future this might be animated.
|
||||||
mSelectorBarOffset = 0;
|
mSelectorBarOffset = 0;
|
||||||
|
@ -203,7 +256,9 @@ void ComponentList::updateCameraOffset()
|
||||||
i++;
|
i++;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (mCameraOffset < oldCameraOffset)
|
if (mCameraOffset < oldCameraOffset &&
|
||||||
|
(oldCameraOffset > mSelectorBarOffset ||
|
||||||
|
mScrollIndicatorStatus != ComponentList::SCROLL_NONE))
|
||||||
mBottomCameraOffset = false;
|
mBottomCameraOffset = false;
|
||||||
|
|
||||||
if (mCameraOffset < 0.0f)
|
if (mCameraOffset < 0.0f)
|
||||||
|
@ -226,22 +281,47 @@ void ComponentList::render(const glm::mat4& parentTrans)
|
||||||
dim.x = (trans[0].x * dim.x + trans[3].x) - trans[3].x;
|
dim.x = (trans[0].x * dim.x + trans[3].x) - trans[3].x;
|
||||||
dim.y = (trans[1].y * dim.y + trans[3].y) - trans[3].y;
|
dim.y = (trans[1].y * dim.y + trans[3].y) - trans[3].y;
|
||||||
|
|
||||||
Renderer::pushClipRect(
|
const int clipRectPosX{static_cast<int>(std::round(trans[3].x))};
|
||||||
glm::ivec2{static_cast<int>(std::round(trans[3].x)),
|
const int clipRectPosY{static_cast<int>(std::round(trans[3].y))};
|
||||||
static_cast<int>(std::round(trans[3].y))},
|
const int clipRectSizeX{static_cast<int>(std::round(dim.x))};
|
||||||
glm::ivec2{static_cast<int>(std::round(dim.x)), static_cast<int>(std::round(dim.y))});
|
const int clipRectSizeY{static_cast<int>(std::round(dim.y))};
|
||||||
|
|
||||||
|
Renderer::pushClipRect(glm::ivec2{clipRectPosX, clipRectPosY},
|
||||||
|
glm::ivec2{clipRectSizeX, clipRectSizeY});
|
||||||
|
|
||||||
// Scroll the camera.
|
// Scroll the camera.
|
||||||
trans = glm::translate(trans, glm::vec3{0.0f, -mCameraOffset, 0.0f});
|
trans = glm::translate(trans, glm::vec3{0.0f, -mCameraOffset, 0.0f});
|
||||||
|
|
||||||
|
glm::mat4 loopTrans{trans};
|
||||||
|
|
||||||
// Draw our entries.
|
// Draw our entries.
|
||||||
std::vector<GuiComponent*> drawAfterCursor;
|
std::vector<GuiComponent*> drawAfterCursor;
|
||||||
bool drawAll;
|
bool drawAll;
|
||||||
for (size_t i = 0; i < mEntries.size(); i++) {
|
for (size_t i = 0; i < mEntries.size(); i++) {
|
||||||
|
|
||||||
|
if (mLoopRows && mFocused && mLoopOffset > 0) {
|
||||||
|
loopTrans =
|
||||||
|
glm::translate(trans, glm::vec3{static_cast<float>(-mLoopOffset), 0.0f, 0.0f});
|
||||||
|
}
|
||||||
|
|
||||||
auto& entry = mEntries.at(i);
|
auto& entry = mEntries.at(i);
|
||||||
drawAll = !mFocused || i != static_cast<unsigned int>(mCursor);
|
drawAll = !mFocused || i != static_cast<unsigned int>(mCursor);
|
||||||
for (auto it = entry.data.elements.cbegin(); it != entry.data.elements.cend(); it++) {
|
for (auto it = entry.data.elements.cbegin(); it != entry.data.elements.cend(); it++) {
|
||||||
if (drawAll || it->invert_when_selected) {
|
if (drawAll || it->invert_when_selected) {
|
||||||
|
auto renderLoopFunc = [&]() {
|
||||||
|
// Needed to avoid flickering when returning to the start position.
|
||||||
|
if (mLoopOffset == 0 && mLoopOffset2 == 0)
|
||||||
|
mLoopScroll = false;
|
||||||
|
it->component->render(loopTrans);
|
||||||
|
// Render row again if text is moved far enough for it to repeat.
|
||||||
|
if (mLoopOffset2 < 0 || mLoopScroll) {
|
||||||
|
mLoopScroll = true;
|
||||||
|
loopTrans = glm::translate(
|
||||||
|
trans, glm::vec3{static_cast<float>(-mLoopOffset2), 0.0f, 0.0f});
|
||||||
|
it->component->render(loopTrans);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
// For the row where the cursor is at, we want to remove any hue from the
|
// For the row where the cursor is at, we want to remove any hue from the
|
||||||
// font or image before inverting, as it would otherwise lead to an ugly
|
// font or image before inverting, as it would otherwise lead to an ugly
|
||||||
// inverted color (e.g. red inverting to a green hue).
|
// inverted color (e.g. red inverting to a green hue).
|
||||||
|
@ -260,15 +340,14 @@ void ComponentList::render(const glm::mat4& parentTrans)
|
||||||
unsigned char byteBlue = origColor >> 8 & 0xFF;
|
unsigned char byteBlue = origColor >> 8 & 0xFF;
|
||||||
// If it's neutral, just proceed with normal rendering.
|
// If it's neutral, just proceed with normal rendering.
|
||||||
if (byteRed == byteGreen && byteGreen == byteBlue) {
|
if (byteRed == byteGreen && byteGreen == byteBlue) {
|
||||||
it->component->render(trans);
|
renderLoopFunc();
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
if (isTextComponent)
|
if (isTextComponent)
|
||||||
it->component->setColor(DEFAULT_INVERTED_TEXTCOLOR);
|
it->component->setColor(DEFAULT_INVERTED_TEXTCOLOR);
|
||||||
else
|
else
|
||||||
it->component->setColorShift(DEFAULT_INVERTED_IMAGECOLOR);
|
it->component->setColorShift(DEFAULT_INVERTED_IMAGECOLOR);
|
||||||
|
renderLoopFunc();
|
||||||
it->component->render(trans);
|
|
||||||
// Revert to the original color after rendering.
|
// Revert to the original color after rendering.
|
||||||
if (isTextComponent)
|
if (isTextComponent)
|
||||||
it->component->setColor(origColor);
|
it->component->setColor(origColor);
|
||||||
|
|
|
@ -86,6 +86,22 @@ public:
|
||||||
float getTotalRowHeight() const;
|
float getTotalRowHeight() const;
|
||||||
float getRowHeight(int row) const { return getRowHeight(mEntries.at(row).data); }
|
float getRowHeight(int row) const { return getRowHeight(mEntries.at(row).data); }
|
||||||
|
|
||||||
|
// Horizontal looping for row content that doesn't fit on-screen.
|
||||||
|
void setLoopRows(bool state) { mLoopRows = state; }
|
||||||
|
void stopLooping()
|
||||||
|
{
|
||||||
|
mLoopOffset = 0;
|
||||||
|
mLoopOffset2 = 0;
|
||||||
|
mLoopTime = 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
void resetScrollIndicatorStatus()
|
||||||
|
{
|
||||||
|
mScrollIndicatorStatus = SCROLL_NONE;
|
||||||
|
if (mScrollIndicatorChangedCallback != nullptr)
|
||||||
|
mScrollIndicatorChangedCallback(mScrollIndicatorStatus, false);
|
||||||
|
}
|
||||||
|
|
||||||
void setCursorChangedCallback(const std::function<void(CursorState state)>& callback)
|
void setCursorChangedCallback(const std::function<void(CursorState state)>& callback)
|
||||||
{
|
{
|
||||||
mCursorChangedCallback = callback;
|
mCursorChangedCallback = callback;
|
||||||
|
@ -95,7 +111,7 @@ public:
|
||||||
return mCursorChangedCallback;
|
return mCursorChangedCallback;
|
||||||
}
|
}
|
||||||
void setScrollIndicatorChangedCallback(
|
void setScrollIndicatorChangedCallback(
|
||||||
const std::function<void(ScrollIndicator state)>& callback)
|
const std::function<void(ScrollIndicator state, bool singleRowScroll)>& callback)
|
||||||
{
|
{
|
||||||
mScrollIndicatorChangedCallback = callback;
|
mScrollIndicatorChangedCallback = callback;
|
||||||
}
|
}
|
||||||
|
@ -107,6 +123,7 @@ private:
|
||||||
bool mFocused;
|
bool mFocused;
|
||||||
bool mSetupCompleted;
|
bool mSetupCompleted;
|
||||||
bool mBottomCameraOffset;
|
bool mBottomCameraOffset;
|
||||||
|
bool mSingleRowScroll;
|
||||||
|
|
||||||
void updateCameraOffset();
|
void updateCameraOffset();
|
||||||
void updateElementPosition(const ComponentListRow& row);
|
void updateElementPosition(const ComponentListRow& row);
|
||||||
|
@ -118,8 +135,15 @@ private:
|
||||||
float mSelectorBarOffset;
|
float mSelectorBarOffset;
|
||||||
float mCameraOffset;
|
float mCameraOffset;
|
||||||
|
|
||||||
|
bool mLoopRows;
|
||||||
|
bool mLoopScroll;
|
||||||
|
int mLoopOffset;
|
||||||
|
int mLoopOffset2;
|
||||||
|
int mLoopTime;
|
||||||
|
|
||||||
std::function<void(CursorState state)> mCursorChangedCallback;
|
std::function<void(CursorState state)> mCursorChangedCallback;
|
||||||
std::function<void(ScrollIndicator state)> mScrollIndicatorChangedCallback;
|
std::function<void(ScrollIndicator state, bool singleRowScroll)>
|
||||||
|
mScrollIndicatorChangedCallback;
|
||||||
|
|
||||||
ScrollIndicator mScrollIndicatorStatus;
|
ScrollIndicator mScrollIndicatorStatus;
|
||||||
};
|
};
|
||||||
|
|
|
@ -122,7 +122,7 @@ void FlexboxComponent::computeLayout()
|
||||||
newSize = sizeMaxX.x * sizeMaxX.y >= sizeMaxY.x * sizeMaxY.y ? sizeMaxX : sizeMaxY;
|
newSize = sizeMaxX.x * sizeMaxX.y >= sizeMaxY.x * sizeMaxY.y ? sizeMaxX : sizeMaxY;
|
||||||
|
|
||||||
if (image.second.getSize() != newSize)
|
if (image.second.getSize() != newSize)
|
||||||
image.second.setResize(newSize.x, newSize.y);
|
image.second.setResize(std::round(newSize.x), std::round(newSize.y));
|
||||||
|
|
||||||
// In case maxItemSize needs to be updated.
|
// In case maxItemSize needs to be updated.
|
||||||
if (newSize.x != sizeChange.x)
|
if (newSize.x != sizeChange.x)
|
||||||
|
@ -132,9 +132,9 @@ void FlexboxComponent::computeLayout()
|
||||||
}
|
}
|
||||||
|
|
||||||
if (maxItemSize.x != sizeChange.x)
|
if (maxItemSize.x != sizeChange.x)
|
||||||
maxItemSize.x = sizeChange.x;
|
maxItemSize.x = std::round(sizeChange.x);
|
||||||
if (maxItemSize.y != sizeChange.y)
|
if (maxItemSize.y != sizeChange.y)
|
||||||
maxItemSize.y = sizeChange.y;
|
maxItemSize.y = std::round(sizeChange.y);
|
||||||
|
|
||||||
// Pre-compute layout parameters.
|
// Pre-compute layout parameters.
|
||||||
float anchorXStart{anchorX};
|
float anchorXStart{anchorX};
|
||||||
|
@ -166,10 +166,9 @@ void FlexboxComponent::computeLayout()
|
||||||
image.second.setSize(image.second.getSize().x, maxItemSize.y);
|
image.second.setSize(image.second.getSize().x, maxItemSize.y);
|
||||||
}
|
}
|
||||||
|
|
||||||
// TODO: Doesn't work correctly.
|
|
||||||
// Apply overall container alignment.
|
// Apply overall container alignment.
|
||||||
if (mAlignment == "right")
|
if (mAlignment == "right")
|
||||||
x += (mSize.x - size.x * grid.x) - mItemMargin.x;
|
x += (mSize.x - maxItemSize.x * grid.x - (grid.x - 1) * mItemMargin.x);
|
||||||
|
|
||||||
// Store final item position.
|
// Store final item position.
|
||||||
image.second.setPosition(x, y);
|
image.second.setPosition(x, y);
|
||||||
|
@ -193,5 +192,21 @@ void FlexboxComponent::computeLayout()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Apply right-align to the images on the last row, if needed.
|
||||||
|
if (mAlignment == "right") {
|
||||||
|
std::vector<ImageComponent*> imagesToAlign;
|
||||||
|
for (auto& image : mImages) {
|
||||||
|
if (!image.second.isVisible())
|
||||||
|
continue;
|
||||||
|
// Only include images on the last row.
|
||||||
|
if (image.second.getPosition().y == anchorY)
|
||||||
|
imagesToAlign.push_back(&image.second);
|
||||||
|
}
|
||||||
|
for (auto& moveImage : imagesToAlign) {
|
||||||
|
float offset = (maxItemSize.x + mItemMargin.x) * (grid.x - imagesToAlign.size());
|
||||||
|
moveImage->setPosition(moveImage->getPosition().x + offset, moveImage->getPosition().y);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
mLayoutValid = true;
|
mLayoutValid = true;
|
||||||
}
|
}
|
||||||
|
|
|
@ -63,11 +63,8 @@ void ImageComponent::resize()
|
||||||
else {
|
else {
|
||||||
// SVG rasterization is determined by height and rasterization is done in terms of pixels.
|
// SVG rasterization is determined by height and rasterization is done in terms of pixels.
|
||||||
// If rounding is off enough in the rasterization step (for images with extreme aspect
|
// If rounding is off enough in the rasterization step (for images with extreme aspect
|
||||||
// ratios), it can cause cutoff when the aspect ratio breaks.
|
// ratios), it can cause cutoff when the aspect ratio breaks. So we always make sure to
|
||||||
// So we always make sure the resultant height is an integer to make sure cutoff doesn't
|
// round accordingly to avoid such issues.
|
||||||
// happen, and scale width from that (you'll see this scattered throughout the function).
|
|
||||||
// It's important to use floorf rather than round for this, as we never want to round up
|
|
||||||
// since that can lead to the cutoff just described.
|
|
||||||
if (mTargetIsMax) {
|
if (mTargetIsMax) {
|
||||||
mSize = textureSize;
|
mSize = textureSize;
|
||||||
|
|
||||||
|
@ -77,13 +74,11 @@ void ImageComponent::resize()
|
||||||
// This will be mTargetSize.x. We can't exceed it, nor be lower than it.
|
// This will be mTargetSize.x. We can't exceed it, nor be lower than it.
|
||||||
mSize.x *= resizeScale.x;
|
mSize.x *= resizeScale.x;
|
||||||
// We need to make sure we're not creating an image larger than max size.
|
// We need to make sure we're not creating an image larger than max size.
|
||||||
mSize.y = std::min(floorf(mSize.y * resizeScale.x), mTargetSize.y);
|
mSize.y = floorf(std::min(mSize.y * resizeScale.x, mTargetSize.y));
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
// This will be mTargetSize.y(). We can't exceed it.
|
// This will be mTargetSize.y(). We can't exceed it.
|
||||||
mSize.y = floorf(mSize.y * resizeScale.y);
|
mSize.y *= resizeScale.y;
|
||||||
// For SVG rasterization, always calculate width from rounded height (see comment
|
|
||||||
// above). We need to make sure we're not creating an image larger than max size.
|
|
||||||
mSize.x = std::min((mSize.y / textureSize.y) * textureSize.x, mTargetSize.x);
|
mSize.x = std::min((mSize.y / textureSize.y) * textureSize.x, mTargetSize.x);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -106,9 +101,7 @@ void ImageComponent::resize()
|
||||||
float cropPercent = (mSize.x - mTargetSize.x) / (mSize.x * 2.0f);
|
float cropPercent = (mSize.x - mTargetSize.x) / (mSize.x * 2.0f);
|
||||||
crop(cropPercent, 0.0f, cropPercent, 0.0f);
|
crop(cropPercent, 0.0f, cropPercent, 0.0f);
|
||||||
}
|
}
|
||||||
// For SVG rasterization, always calculate width from rounded height (see comment
|
mSize.y = std::max(mSize.y, mTargetSize.y);
|
||||||
// above). We need to make sure we're not creating an image smaller than min size.
|
|
||||||
mSize.y = std::max(floorf(mSize.y), mTargetSize.y);
|
|
||||||
mSize.x = std::max((mSize.y / textureSize.y) * textureSize.x, mTargetSize.x);
|
mSize.x = std::max((mSize.y / textureSize.y) * textureSize.x, mTargetSize.x);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
@ -117,23 +110,24 @@ void ImageComponent::resize()
|
||||||
mSize = mTargetSize == glm::vec2{} ? textureSize : mTargetSize;
|
mSize = mTargetSize == glm::vec2{} ? textureSize : mTargetSize;
|
||||||
|
|
||||||
// If only one component is set, we resize in a way that maintains aspect ratio.
|
// If only one component is set, we resize in a way that maintains aspect ratio.
|
||||||
// For SVG rasterization, we always calculate width from rounded height (see
|
|
||||||
// comment above).
|
|
||||||
if (!mTargetSize.x && mTargetSize.y) {
|
if (!mTargetSize.x && mTargetSize.y) {
|
||||||
mSize.y = floorf(mTargetSize.y);
|
mSize.y = mTargetSize.y;
|
||||||
mSize.x = (mSize.y / textureSize.y) * textureSize.x;
|
mSize.x = (mSize.y / textureSize.y) * textureSize.x;
|
||||||
}
|
}
|
||||||
else if (mTargetSize.x && !mTargetSize.y) {
|
else if (mTargetSize.x && !mTargetSize.y) {
|
||||||
mSize.y = floorf((mTargetSize.x / textureSize.x) * textureSize.y);
|
mSize.y = (mTargetSize.x / textureSize.x) * textureSize.y;
|
||||||
mSize.x = (mSize.y / textureSize.y) * textureSize.x;
|
mSize.x = (mSize.y / textureSize.y) * textureSize.x;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
mSize.x = floorf(mSize.x);
|
// Make sure sub-pixel values are not rounded to zero.
|
||||||
mSize.y = floorf(mSize.y);
|
if (mSize.x < 1.0f)
|
||||||
// mSize.y() should already be rounded.
|
mSize.x = ceilf(mSize.x);
|
||||||
mTexture->rasterizeAt(static_cast<size_t>(mSize.x), static_cast<size_t>(mSize.y));
|
if (mSize.y < 1.0f)
|
||||||
|
mSize.y = ceilf(mSize.y);
|
||||||
|
|
||||||
|
mTexture->rasterizeAt(mSize.x, mSize.y);
|
||||||
|
|
||||||
onSizeChanged();
|
onSizeChanged();
|
||||||
}
|
}
|
||||||
|
|
|
@ -21,7 +21,7 @@ MenuComponent::MenuComponent(Window* window,
|
||||||
const std::shared_ptr<Font>& titleFont)
|
const std::shared_ptr<Font>& titleFont)
|
||||||
: GuiComponent(window)
|
: GuiComponent(window)
|
||||||
, mBackground(window)
|
, mBackground(window)
|
||||||
, mGrid(window, glm::ivec2{3, 4})
|
, mGrid(window, glm::ivec2{2, 4})
|
||||||
, mNeedsSaving(false)
|
, mNeedsSaving(false)
|
||||||
{
|
{
|
||||||
addChild(&mBackground);
|
addChild(&mBackground);
|
||||||
|
@ -34,11 +34,11 @@ MenuComponent::MenuComponent(Window* window,
|
||||||
mTitle->setHorizontalAlignment(ALIGN_CENTER);
|
mTitle->setHorizontalAlignment(ALIGN_CENTER);
|
||||||
mTitle->setColor(0x555555FF);
|
mTitle->setColor(0x555555FF);
|
||||||
setTitle(title, titleFont);
|
setTitle(title, titleFont);
|
||||||
mGrid.setEntry(mTitle, glm::ivec2{0, 0}, false, true, glm::ivec2{3, 2});
|
mGrid.setEntry(mTitle, glm::ivec2{0, 0}, false, true, glm::ivec2{2, 2});
|
||||||
|
|
||||||
// Set up list which will never change (externally, anyway).
|
// Set up list which will never change (externally, anyway).
|
||||||
mList = std::make_shared<ComponentList>(mWindow);
|
mList = std::make_shared<ComponentList>(mWindow);
|
||||||
mGrid.setEntry(mList, glm::ivec2{0, 2}, true, true, glm::ivec2{3, 1});
|
mGrid.setEntry(mList, glm::ivec2{0, 2}, true, true, glm::ivec2{2, 1});
|
||||||
|
|
||||||
// Set up scroll indicators.
|
// Set up scroll indicators.
|
||||||
mScrollUp = std::make_shared<ImageComponent>(mWindow);
|
mScrollUp = std::make_shared<ImageComponent>(mWindow);
|
||||||
|
@ -51,8 +51,8 @@ MenuComponent::MenuComponent(Window* window,
|
||||||
mScrollDown->setResize(0.0f, mTitle->getFont()->getLetterHeight() / 2.0f);
|
mScrollDown->setResize(0.0f, mTitle->getFont()->getLetterHeight() / 2.0f);
|
||||||
mScrollDown->setOrigin(0.0f, 0.35f);
|
mScrollDown->setOrigin(0.0f, 0.35f);
|
||||||
|
|
||||||
mGrid.setEntry(mScrollUp, glm::ivec2{2, 0}, false, false, glm::ivec2{1, 1});
|
mGrid.setEntry(mScrollUp, glm::ivec2{1, 0}, false, false, glm::ivec2{1, 1});
|
||||||
mGrid.setEntry(mScrollDown, glm::ivec2{2, 1}, false, false, glm::ivec2{1, 1});
|
mGrid.setEntry(mScrollDown, glm::ivec2{1, 1}, false, false, glm::ivec2{1, 1});
|
||||||
|
|
||||||
updateGrid();
|
updateGrid();
|
||||||
updateSize();
|
updateSize();
|
||||||
|
@ -103,7 +103,7 @@ void MenuComponent::updateSize()
|
||||||
int i = 0;
|
int i = 0;
|
||||||
while (i < mList->size()) {
|
while (i < mList->size()) {
|
||||||
// Add the separator height to the row height so that it also gets properly rendered.
|
// Add the separator height to the row height so that it also gets properly rendered.
|
||||||
float rowHeight = mList->getRowHeight(i) + (1 * Renderer::getScreenHeightModifier());
|
float rowHeight = mList->getRowHeight(i) + (1.0f * Renderer::getScreenHeightModifier());
|
||||||
if (height + rowHeight < maxHeight)
|
if (height + rowHeight < maxHeight)
|
||||||
height += rowHeight;
|
height += rowHeight;
|
||||||
else
|
else
|
||||||
|
@ -127,8 +127,7 @@ void MenuComponent::onSizeChanged()
|
||||||
mGrid.setRowHeightPerc(1, TITLE_HEIGHT / mSize.y / 2.0f);
|
mGrid.setRowHeightPerc(1, TITLE_HEIGHT / mSize.y / 2.0f);
|
||||||
mGrid.setRowHeightPerc(3, getButtonGridHeight() / mSize.y);
|
mGrid.setRowHeightPerc(3, getButtonGridHeight() / mSize.y);
|
||||||
|
|
||||||
mGrid.setColWidthPerc(0, 0.07f);
|
mGrid.setColWidthPerc(1, 0.055f);
|
||||||
mGrid.setColWidthPerc(2, 0.07f);
|
|
||||||
|
|
||||||
mGrid.setSize(mSize);
|
mGrid.setSize(mSize);
|
||||||
}
|
}
|
||||||
|
@ -152,7 +151,7 @@ void MenuComponent::updateGrid()
|
||||||
|
|
||||||
if (mButtons.size()) {
|
if (mButtons.size()) {
|
||||||
mButtonGrid = makeButtonGrid(mWindow, mButtons);
|
mButtonGrid = makeButtonGrid(mWindow, mButtons);
|
||||||
mGrid.setEntry(mButtonGrid, glm::ivec2{0, 3}, true, false, glm::ivec2{3, 1});
|
mGrid.setEntry(mButtonGrid, glm::ivec2{0, 3}, true, false, glm::ivec2{2, 1});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -102,11 +102,10 @@ void RatingComponent::onSizeChanged()
|
||||||
mSize.x = mSize.y * NUM_RATING_STARS;
|
mSize.x = mSize.y * NUM_RATING_STARS;
|
||||||
|
|
||||||
if (mSize.y > 0.0f) {
|
if (mSize.y > 0.0f) {
|
||||||
size_t heightPx = static_cast<size_t>(std::round(mSize.y));
|
|
||||||
if (mFilledTexture)
|
if (mFilledTexture)
|
||||||
mFilledTexture->rasterizeAt(heightPx, heightPx);
|
mFilledTexture->rasterizeAt(mSize.y, mSize.y);
|
||||||
if (mUnfilledTexture)
|
if (mUnfilledTexture)
|
||||||
mUnfilledTexture->rasterizeAt(heightPx, heightPx);
|
mUnfilledTexture->rasterizeAt(mSize.y, mSize.y);
|
||||||
}
|
}
|
||||||
|
|
||||||
updateVertices();
|
updateVertices();
|
||||||
|
|
|
@ -34,7 +34,7 @@ public:
|
||||||
// If the scroll indicators setting is disabled, then show a permanent down arrow
|
// If the scroll indicators setting is disabled, then show a permanent down arrow
|
||||||
// symbol when the component list contains more entries than can fit on screen.
|
// symbol when the component list contains more entries than can fit on screen.
|
||||||
componentList.get()->setScrollIndicatorChangedCallback(
|
componentList.get()->setScrollIndicatorChangedCallback(
|
||||||
[scrollUp, scrollDown](ComponentList::ScrollIndicator state) {
|
[scrollUp, scrollDown](ComponentList::ScrollIndicator state, bool singleRowScroll) {
|
||||||
if (state == ComponentList::SCROLL_UP ||
|
if (state == ComponentList::SCROLL_UP ||
|
||||||
state == ComponentList::SCROLL_UP_DOWN ||
|
state == ComponentList::SCROLL_UP_DOWN ||
|
||||||
state == ComponentList::SCROLL_DOWN) {
|
state == ComponentList::SCROLL_DOWN) {
|
||||||
|
@ -46,8 +46,9 @@ public:
|
||||||
// If the scroll indicator setting is enabled, then also show the up and up/down
|
// If the scroll indicator setting is enabled, then also show the up and up/down
|
||||||
// combination and switch between these as the list is scrolled.
|
// combination and switch between these as the list is scrolled.
|
||||||
componentList.get()->setScrollIndicatorChangedCallback(
|
componentList.get()->setScrollIndicatorChangedCallback(
|
||||||
[this, scrollUp, scrollDown](ComponentList::ScrollIndicator state) {
|
[this, scrollUp, scrollDown](ComponentList::ScrollIndicator state,
|
||||||
float fadeInTime{FADE_IN_TIME};
|
bool singleRowScroll) {
|
||||||
|
float fadeTime{FADE_IN_TIME};
|
||||||
|
|
||||||
bool upFadeIn = false;
|
bool upFadeIn = false;
|
||||||
bool upFadeOut = false;
|
bool upFadeOut = false;
|
||||||
|
@ -68,7 +69,7 @@ public:
|
||||||
else if (state == ComponentList::SCROLL_UP &&
|
else if (state == ComponentList::SCROLL_UP &&
|
||||||
mPreviousScrollState == ComponentList::SCROLL_DOWN) {
|
mPreviousScrollState == ComponentList::SCROLL_DOWN) {
|
||||||
upFadeIn = true;
|
upFadeIn = true;
|
||||||
fadeInTime *= 1.5f;
|
fadeTime *= 2.0f;
|
||||||
scrollDown->setOpacity(0);
|
scrollDown->setOpacity(0);
|
||||||
}
|
}
|
||||||
else if (state == ComponentList::SCROLL_UP_DOWN &&
|
else if (state == ComponentList::SCROLL_UP_DOWN &&
|
||||||
|
@ -95,17 +96,22 @@ public:
|
||||||
else if (state == ComponentList::SCROLL_DOWN &&
|
else if (state == ComponentList::SCROLL_DOWN &&
|
||||||
mPreviousScrollState == ComponentList::SCROLL_UP) {
|
mPreviousScrollState == ComponentList::SCROLL_UP) {
|
||||||
downFadeIn = true;
|
downFadeIn = true;
|
||||||
fadeInTime *= 1.5f;
|
fadeTime *= 2.0f;
|
||||||
scrollUp->setOpacity(0);
|
scrollUp->setOpacity(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// If jumping more than one row using the shoulder or trigger buttons, then
|
||||||
|
// don't fade the indicators.
|
||||||
|
if (!singleRowScroll)
|
||||||
|
fadeTime = 0.0f;
|
||||||
|
|
||||||
if (upFadeIn) {
|
if (upFadeIn) {
|
||||||
auto upFadeInFunc = [scrollUp](float t) {
|
auto upFadeInFunc = [scrollUp](float t) {
|
||||||
scrollUp->setOpacity(
|
scrollUp->setOpacity(
|
||||||
static_cast<unsigned char>(glm::mix(0.0f, 1.0f, t) * 255));
|
static_cast<unsigned char>(glm::mix(0.0f, 1.0f, t) * 255));
|
||||||
};
|
};
|
||||||
scrollUp->setAnimation(
|
scrollUp->setAnimation(
|
||||||
new LambdaAnimation(upFadeInFunc, static_cast<int>(fadeInTime)), 0,
|
new LambdaAnimation(upFadeInFunc, static_cast<int>(fadeTime)), 0,
|
||||||
nullptr, false);
|
nullptr, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -115,7 +121,7 @@ public:
|
||||||
static_cast<unsigned char>(glm::mix(0.0f, 1.0f, t) * 255));
|
static_cast<unsigned char>(glm::mix(0.0f, 1.0f, t) * 255));
|
||||||
};
|
};
|
||||||
scrollUp->setAnimation(
|
scrollUp->setAnimation(
|
||||||
new LambdaAnimation(upFadeOutFunc, static_cast<int>(fadeInTime)), 0,
|
new LambdaAnimation(upFadeOutFunc, static_cast<int>(fadeTime)), 0,
|
||||||
nullptr, true);
|
nullptr, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -125,7 +131,7 @@ public:
|
||||||
static_cast<unsigned char>(glm::mix(0.0f, 1.0f, t) * 255));
|
static_cast<unsigned char>(glm::mix(0.0f, 1.0f, t) * 255));
|
||||||
};
|
};
|
||||||
scrollDown->setAnimation(
|
scrollDown->setAnimation(
|
||||||
new LambdaAnimation(downFadeInFunc, static_cast<int>(fadeInTime)), 0,
|
new LambdaAnimation(downFadeInFunc, static_cast<int>(fadeTime)), 0,
|
||||||
nullptr, false);
|
nullptr, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -135,7 +141,7 @@ public:
|
||||||
static_cast<unsigned char>(glm::mix(0.0f, 1.0f, t) * 255));
|
static_cast<unsigned char>(glm::mix(0.0f, 1.0f, t) * 255));
|
||||||
};
|
};
|
||||||
scrollDown->setAnimation(
|
scrollDown->setAnimation(
|
||||||
new LambdaAnimation(downFadeOutFunc, static_cast<int>(fadeInTime)), 0,
|
new LambdaAnimation(downFadeOutFunc, static_cast<int>(fadeTime)), 0,
|
||||||
nullptr, true);
|
nullptr, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -18,6 +18,7 @@ ScrollableContainer::ScrollableContainer(Window* window)
|
||||||
: GuiComponent{window}
|
: GuiComponent{window}
|
||||||
, mScrollPos{0.0f, 0.0f}
|
, mScrollPos{0.0f, 0.0f}
|
||||||
, mScrollDir{0.0f, 0.0f}
|
, mScrollDir{0.0f, 0.0f}
|
||||||
|
, mClipSpacing{0.0f}
|
||||||
, mAutoScrollDelay{0}
|
, mAutoScrollDelay{0}
|
||||||
, mAutoScrollSpeed{0}
|
, mAutoScrollSpeed{0}
|
||||||
, mAutoScrollAccumulator{0}
|
, mAutoScrollAccumulator{0}
|
||||||
|
@ -81,6 +82,13 @@ void ScrollableContainer::update(int deltaTime)
|
||||||
float lineSpacing{mChildren.front()->getLineSpacing()};
|
float lineSpacing{mChildren.front()->getLineSpacing()};
|
||||||
float combinedHeight{mChildren.front()->getFont()->getHeight(lineSpacing)};
|
float combinedHeight{mChildren.front()->getFont()->getHeight(lineSpacing)};
|
||||||
|
|
||||||
|
// Calculate the spacing which will be used to clip the container.
|
||||||
|
if (lineSpacing > 1.2f && mClipSpacing == 0.0f) {
|
||||||
|
const float minimumSpacing = mChildren.front()->getFont()->getHeight(1.2f);
|
||||||
|
const float currentSpacing = mChildren.front()->getFont()->getHeight(lineSpacing);
|
||||||
|
mClipSpacing = std::round((currentSpacing - minimumSpacing) / 2.0f);
|
||||||
|
}
|
||||||
|
|
||||||
// Resize container to font height boundary to avoid rendering a fraction of the last line.
|
// Resize container to font height boundary to avoid rendering a fraction of the last line.
|
||||||
if (!mUpdatedSize && contentSize.y > mSize.y) {
|
if (!mUpdatedSize && contentSize.y > mSize.y) {
|
||||||
float numLines{mSize.y / combinedHeight};
|
float numLines{mSize.y / combinedHeight};
|
||||||
|
@ -170,8 +178,13 @@ void ScrollableContainer::render(const glm::mat4& parentTrans)
|
||||||
dimScaled.x = std::fabs(trans[3].x + mSize.x);
|
dimScaled.x = std::fabs(trans[3].x + mSize.x);
|
||||||
dimScaled.y = std::fabs(trans[3].y + mSize.y);
|
dimScaled.y = std::fabs(trans[3].y + mSize.y);
|
||||||
|
|
||||||
glm::ivec2 clipDim{static_cast<int>(dimScaled.x - trans[3].x),
|
glm::ivec2 clipDim{static_cast<int>(ceilf(dimScaled.x - trans[3].x)),
|
||||||
static_cast<int>(dimScaled.y - trans[3].y)};
|
static_cast<int>(ceilf(dimScaled.y - trans[3].y))};
|
||||||
|
|
||||||
|
// By effectively clipping the upper and lower boundaries of the container we mostly avoid
|
||||||
|
// scrolling outside the vertical starting and ending positions.
|
||||||
|
clipPos.y += static_cast<int>(mClipSpacing);
|
||||||
|
clipDim.y -= static_cast<int>(mClipSpacing);
|
||||||
|
|
||||||
Renderer::pushClipRect(clipPos, clipDim);
|
Renderer::pushClipRect(clipPos, clipDim);
|
||||||
|
|
||||||
|
|
|
@ -44,6 +44,7 @@ private:
|
||||||
float mAutoScrollDelayConstant;
|
float mAutoScrollDelayConstant;
|
||||||
float mAutoScrollSpeedConstant;
|
float mAutoScrollSpeedConstant;
|
||||||
float mResolutionModifier;
|
float mResolutionModifier;
|
||||||
|
float mClipSpacing;
|
||||||
|
|
||||||
int mAutoScrollDelay;
|
int mAutoScrollDelay;
|
||||||
int mAutoScrollSpeed;
|
int mAutoScrollSpeed;
|
||||||
|
|
|
@ -15,15 +15,16 @@
|
||||||
|
|
||||||
SliderComponent::SliderComponent(
|
SliderComponent::SliderComponent(
|
||||||
Window* window, float min, float max, float increment, const std::string& suffix)
|
Window* window, float min, float max, float increment, const std::string& suffix)
|
||||||
: GuiComponent(window)
|
: GuiComponent{window}
|
||||||
, mMin(min)
|
, mMin{min}
|
||||||
, mMax(max)
|
, mMax{max}
|
||||||
, mSingleIncrement(increment)
|
, mSingleIncrement{increment}
|
||||||
, mMoveRate(0)
|
, mMoveRate{0.0f}
|
||||||
, mKnob(window)
|
, mBarHeight{0.0f}
|
||||||
, mSuffix(suffix)
|
, mKnob{window}
|
||||||
|
, mSuffix{suffix}
|
||||||
{
|
{
|
||||||
assert((min - max) != 0);
|
assert((min - max) != 0.0f);
|
||||||
|
|
||||||
// Some sane default value.
|
// Some sane default value.
|
||||||
mValue = (max + min) / 2.0f;
|
mValue = (max + min) / 2.0f;
|
||||||
|
@ -41,7 +42,7 @@ bool SliderComponent::input(InputConfig* config, Input input)
|
||||||
if (input.value)
|
if (input.value)
|
||||||
setValue(mValue - mSingleIncrement);
|
setValue(mValue - mSingleIncrement);
|
||||||
|
|
||||||
mMoveRate = input.value ? -mSingleIncrement : 0;
|
mMoveRate = input.value ? -mSingleIncrement : 0.0f;
|
||||||
mMoveAccumulator = -MOVE_REPEAT_DELAY;
|
mMoveAccumulator = -MOVE_REPEAT_DELAY;
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
@ -49,13 +50,13 @@ bool SliderComponent::input(InputConfig* config, Input input)
|
||||||
if (input.value)
|
if (input.value)
|
||||||
setValue(mValue + mSingleIncrement);
|
setValue(mValue + mSingleIncrement);
|
||||||
|
|
||||||
mMoveRate = input.value ? mSingleIncrement : 0;
|
mMoveRate = input.value ? mSingleIncrement : 0.0f;
|
||||||
mMoveAccumulator = -MOVE_REPEAT_DELAY;
|
mMoveAccumulator = -MOVE_REPEAT_DELAY;
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
mMoveRate = 0;
|
mMoveRate = 0.0f;
|
||||||
}
|
}
|
||||||
|
|
||||||
return GuiComponent::input(config, input);
|
return GuiComponent::input(config, input);
|
||||||
|
@ -88,10 +89,9 @@ void SliderComponent::render(const glm::mat4& parentTrans)
|
||||||
mValueCache->metrics.size.x + (4.0f * Renderer::getScreenWidthModifier()) :
|
mValueCache->metrics.size.x + (4.0f * Renderer::getScreenWidthModifier()) :
|
||||||
0.0f)};
|
0.0f)};
|
||||||
|
|
||||||
// Render line.
|
// Render bar.
|
||||||
const float lineWidth{2.0f * Renderer::getScreenHeightModifier()};
|
Renderer::drawRect(mKnob.getSize().x / 2.0f, mSize.y / 2.0f - mBarHeight / 2.0f, width,
|
||||||
Renderer::drawRect(mKnob.getSize().x / 2.0f, mSize.y / 2.0f - lineWidth / 2.0f, width,
|
mBarHeight, 0x777777FF, 0x777777FF);
|
||||||
lineWidth, 0x777777FF, 0x777777FF);
|
|
||||||
|
|
||||||
// Render knob.
|
// Render knob.
|
||||||
mKnob.render(trans);
|
mKnob.render(trans);
|
||||||
|
@ -143,14 +143,28 @@ void SliderComponent::onValueChanged()
|
||||||
mValueCache->metrics.size.x = textSize.x; // Fudge the width.
|
mValueCache->metrics.size.x = textSize.x; // Fudge the width.
|
||||||
}
|
}
|
||||||
|
|
||||||
// Update knob position/size.
|
mKnob.setResize(0.0f, std::round(mSize.y * 0.7f));
|
||||||
mKnob.setResize(0, mSize.y * 0.7f);
|
|
||||||
float lineLength =
|
float barLength =
|
||||||
mSize.x - mKnob.getSize().x -
|
mSize.x - mKnob.getSize().x -
|
||||||
(mValueCache ? mValueCache->metrics.size.x + (4.0f * Renderer::getScreenWidthModifier()) :
|
(mValueCache ? mValueCache->metrics.size.x + (4.0f * Renderer::getScreenWidthModifier()) :
|
||||||
0.0f);
|
0.0f);
|
||||||
|
|
||||||
mKnob.setPosition(((mValue - mMin / 2.0f) / mMax) * lineLength + mKnob.getSize().x / 2.0f,
|
int barHeight = static_cast<int>(std::round(2.0f * Renderer::getScreenHeightModifier()));
|
||||||
|
|
||||||
|
// For very low resolutions, make sure the bar height is not rounded to zero.
|
||||||
|
if (barHeight == 0)
|
||||||
|
barHeight = 1;
|
||||||
|
|
||||||
|
// Resize the knob one pixel if necessary to keep the bar centered.
|
||||||
|
if (barHeight % 2 == 0 && static_cast<int>(mKnob.getSize().y) % 2 != 0)
|
||||||
|
mKnob.setResize(mKnob.getSize().x - 1.0f, mKnob.getSize().y - 1.0f);
|
||||||
|
else if (barHeight == 1 && static_cast<int>(mKnob.getSize().y) % 2 == 0)
|
||||||
|
mKnob.setResize(mKnob.getSize().x - 1.0f, mKnob.getSize().y - 1);
|
||||||
|
|
||||||
|
mBarHeight = static_cast<float>(barHeight);
|
||||||
|
|
||||||
|
mKnob.setPosition(((mValue - mMin / 2.0f) / mMax) * barLength + mKnob.getSize().x / 2.0f,
|
||||||
mSize.y / 2.0f);
|
mSize.y / 2.0f);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -45,6 +45,7 @@ private:
|
||||||
float mValue;
|
float mValue;
|
||||||
float mSingleIncrement;
|
float mSingleIncrement;
|
||||||
float mMoveRate;
|
float mMoveRate;
|
||||||
|
float mBarHeight;
|
||||||
int mMoveAccumulator;
|
int mMoveAccumulator;
|
||||||
|
|
||||||
ImageComponent mKnob;
|
ImageComponent mKnob;
|
||||||
|
|
|
@ -49,6 +49,16 @@ void SwitchComponent::render(const glm::mat4& parentTrans)
|
||||||
renderChildren(trans);
|
renderChildren(trans);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void SwitchComponent::setResize(float width, float height)
|
||||||
|
{
|
||||||
|
// Reposition the switch after resizing to make it centered.
|
||||||
|
const glm::vec2 oldSize = mImage.getSize();
|
||||||
|
mImage.setResize(width, height);
|
||||||
|
const float xDiff = oldSize.x - mImage.getSize().x;
|
||||||
|
const float yDiff = oldSize.y - mImage.getSize().y;
|
||||||
|
mImage.setPosition(mImage.getPosition().x + xDiff, mImage.getPosition().y + yDiff / 2.0f);
|
||||||
|
}
|
||||||
|
|
||||||
void SwitchComponent::setState(bool state)
|
void SwitchComponent::setState(bool state)
|
||||||
{
|
{
|
||||||
mState = state;
|
mState = state;
|
||||||
|
|
|
@ -22,7 +22,7 @@ public:
|
||||||
void render(const glm::mat4& parentTrans) override;
|
void render(const glm::mat4& parentTrans) override;
|
||||||
void onSizeChanged() override { mImage.setSize(mSize); }
|
void onSizeChanged() override { mImage.setSize(mSize); }
|
||||||
|
|
||||||
void setResize(float width, float height) override { mImage.setResize(width, height); }
|
void setResize(float width, float height) override;
|
||||||
|
|
||||||
bool getState() const { return mState; }
|
bool getState() const { return mState; }
|
||||||
void setState(bool state);
|
void setState(bool state);
|
||||||
|
|
|
@ -13,18 +13,18 @@
|
||||||
#include "utils/StringUtil.h"
|
#include "utils/StringUtil.h"
|
||||||
|
|
||||||
TextComponent::TextComponent(Window* window)
|
TextComponent::TextComponent(Window* window)
|
||||||
: GuiComponent(window)
|
: GuiComponent{window}
|
||||||
, mFont(Font::get(FONT_SIZE_MEDIUM))
|
, mFont{Font::get(FONT_SIZE_MEDIUM)}
|
||||||
, mColor(0x000000FF)
|
, mColor{0x000000FF}
|
||||||
, mBgColor(0)
|
, mBgColor{0}
|
||||||
, mMargin(0.0f)
|
, mRenderBackground{false}
|
||||||
, mRenderBackground(false)
|
, mUppercase{false}
|
||||||
, mUppercase(false)
|
, mAutoCalcExtent{1, 1}
|
||||||
, mAutoCalcExtent(true, true)
|
, mHorizontalAlignment{ALIGN_LEFT}
|
||||||
, mHorizontalAlignment(ALIGN_LEFT)
|
, mVerticalAlignment{ALIGN_CENTER}
|
||||||
, mVerticalAlignment(ALIGN_CENTER)
|
, mLineSpacing{1.5f}
|
||||||
, mLineSpacing(1.5f)
|
, mNoTopMargin{false}
|
||||||
, mNoTopMargin(false)
|
, mSelectable{false}
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -35,20 +35,19 @@ TextComponent::TextComponent(Window* window,
|
||||||
Alignment align,
|
Alignment align,
|
||||||
glm::vec3 pos,
|
glm::vec3 pos,
|
||||||
glm::vec2 size,
|
glm::vec2 size,
|
||||||
unsigned int bgcolor,
|
unsigned int bgcolor)
|
||||||
float margin)
|
: GuiComponent{window}
|
||||||
: GuiComponent(window)
|
, mFont{nullptr}
|
||||||
, mFont(nullptr)
|
, mColor{0x000000FF}
|
||||||
, mColor(0x000000FF)
|
, mBgColor{0}
|
||||||
, mBgColor(0)
|
, mRenderBackground{false}
|
||||||
, mMargin(margin)
|
, mUppercase{false}
|
||||||
, mRenderBackground(false)
|
, mAutoCalcExtent{1, 1}
|
||||||
, mUppercase(false)
|
, mHorizontalAlignment{align}
|
||||||
, mAutoCalcExtent(true, true)
|
, mVerticalAlignment{ALIGN_CENTER}
|
||||||
, mHorizontalAlignment(align)
|
, mLineSpacing{1.5f}
|
||||||
, mVerticalAlignment(ALIGN_CENTER)
|
, mNoTopMargin{false}
|
||||||
, mLineSpacing(1.5f)
|
, mSelectable{false}
|
||||||
, mNoTopMargin(false)
|
|
||||||
{
|
{
|
||||||
setFont(font);
|
setFont(font);
|
||||||
setColor(color);
|
setColor(color);
|
||||||
|
@ -236,12 +235,12 @@ void TextComponent::onTextChanged()
|
||||||
// Abbreviate text.
|
// Abbreviate text.
|
||||||
const std::string abbrev = "...";
|
const std::string abbrev = "...";
|
||||||
glm::vec2 abbrevSize{f->sizeText(abbrev)};
|
glm::vec2 abbrevSize{f->sizeText(abbrev)};
|
||||||
// mMargin adds a margin around the text if it's abbreviated.
|
|
||||||
float marginAdjustedSize = mSize.x - (mSize.x * mMargin);
|
|
||||||
|
|
||||||
while (text.size() && size.x + abbrevSize.x > marginAdjustedSize) {
|
while (text.size() && size.x + abbrevSize.x > mSize.x) {
|
||||||
size_t newSize = Utils::String::prevCursor(text, text.size());
|
size_t newSize = Utils::String::prevCursor(text, text.size());
|
||||||
text.erase(newSize, text.size() - newSize);
|
text.erase(newSize, text.size() - newSize);
|
||||||
|
if (!text.empty() && text.back() == ' ')
|
||||||
|
text.pop_back();
|
||||||
size = f->sizeText(text);
|
size = f->sizeText(text);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -282,6 +281,14 @@ void TextComponent::setNoTopMargin(bool margin)
|
||||||
onTextChanged();
|
onTextChanged();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
std::vector<HelpPrompt> TextComponent::getHelpPrompts()
|
||||||
|
{
|
||||||
|
std::vector<HelpPrompt> prompts;
|
||||||
|
if (mSelectable)
|
||||||
|
prompts.push_back(HelpPrompt("a", "select"));
|
||||||
|
return prompts;
|
||||||
|
}
|
||||||
|
|
||||||
void TextComponent::applyTheme(const std::shared_ptr<ThemeData>& theme,
|
void TextComponent::applyTheme(const std::shared_ptr<ThemeData>& theme,
|
||||||
const std::string& view,
|
const std::string& view,
|
||||||
const std::string& element,
|
const std::string& element,
|
||||||
|
|
|
@ -32,8 +32,7 @@ public:
|
||||||
Alignment align = ALIGN_LEFT,
|
Alignment align = ALIGN_LEFT,
|
||||||
glm::vec3 pos = {},
|
glm::vec3 pos = {},
|
||||||
glm::vec2 size = {},
|
glm::vec2 size = {},
|
||||||
unsigned int bgcolor = 0x00000000,
|
unsigned int bgcolor = 0x00000000);
|
||||||
float margin = 0.0f);
|
|
||||||
|
|
||||||
void setFont(const std::shared_ptr<Font>& font);
|
void setFont(const std::shared_ptr<Font>& font);
|
||||||
void setUppercase(bool uppercase);
|
void setUppercase(bool uppercase);
|
||||||
|
@ -60,11 +59,15 @@ public:
|
||||||
unsigned char getOpacity() const override { return mColor & 0x000000FF; }
|
unsigned char getOpacity() const override { return mColor & 0x000000FF; }
|
||||||
void setOpacity(unsigned char opacity) override;
|
void setOpacity(unsigned char opacity) override;
|
||||||
|
|
||||||
|
void setSelectable(bool status) { mSelectable = status; }
|
||||||
|
|
||||||
virtual void applyTheme(const std::shared_ptr<ThemeData>& theme,
|
virtual void applyTheme(const std::shared_ptr<ThemeData>& theme,
|
||||||
const std::string& view,
|
const std::string& view,
|
||||||
const std::string& element,
|
const std::string& element,
|
||||||
unsigned int properties) override;
|
unsigned int properties) override;
|
||||||
|
|
||||||
|
virtual std::vector<HelpPrompt> getHelpPrompts() override;
|
||||||
|
|
||||||
unsigned int getColor() const override { return mColor; }
|
unsigned int getColor() const override { return mColor; }
|
||||||
std::shared_ptr<Font> getFont() const override { return mFont; }
|
std::shared_ptr<Font> getFont() const override { return mFont; }
|
||||||
Alignment getHorizontalAlignment() { return mHorizontalAlignment; }
|
Alignment getHorizontalAlignment() { return mHorizontalAlignment; }
|
||||||
|
@ -85,7 +88,6 @@ private:
|
||||||
unsigned int mBgColor;
|
unsigned int mBgColor;
|
||||||
unsigned char mColorOpacity;
|
unsigned char mColorOpacity;
|
||||||
unsigned char mBgColorOpacity;
|
unsigned char mBgColorOpacity;
|
||||||
float mMargin;
|
|
||||||
bool mRenderBackground;
|
bool mRenderBackground;
|
||||||
|
|
||||||
bool mUppercase;
|
bool mUppercase;
|
||||||
|
@ -95,6 +97,7 @@ private:
|
||||||
Alignment mVerticalAlignment;
|
Alignment mVerticalAlignment;
|
||||||
float mLineSpacing;
|
float mLineSpacing;
|
||||||
bool mNoTopMargin;
|
bool mNoTopMargin;
|
||||||
|
bool mSelectable;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // ES_CORE_COMPONENTS_TEXT_COMPONENT_H
|
#endif // ES_CORE_COMPONENTS_TEXT_COMPONENT_H
|
||||||
|
|
|
@ -24,7 +24,7 @@ struct TextListData {
|
||||||
std::shared_ptr<TextCache> textCache;
|
std::shared_ptr<TextCache> textCache;
|
||||||
};
|
};
|
||||||
|
|
||||||
// A graphical list. Supports multiple colors for rows and scrolling.
|
// A scrollable text list supporting multiple row colors.
|
||||||
template <typename T> class TextListComponent : public IList<TextListData, T>
|
template <typename T> class TextListComponent : public IList<TextListData, T>
|
||||||
{
|
{
|
||||||
protected:
|
protected:
|
||||||
|
@ -108,10 +108,10 @@ protected:
|
||||||
virtual void onCursorChanged(const CursorState& state) override;
|
virtual void onCursorChanged(const CursorState& state) override;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
int mMarqueeOffset;
|
int mLoopOffset;
|
||||||
int mMarqueeOffset2;
|
int mLoopOffset2;
|
||||||
int mMarqueeTime;
|
int mLoopTime;
|
||||||
bool mMarqueeScroll;
|
bool mLoopScroll;
|
||||||
|
|
||||||
Alignment mAlignment;
|
Alignment mAlignment;
|
||||||
float mHorizontalMargin;
|
float mHorizontalMargin;
|
||||||
|
@ -138,10 +138,10 @@ TextListComponent<T>::TextListComponent(Window* window)
|
||||||
: IList<TextListData, T>(window)
|
: IList<TextListData, T>(window)
|
||||||
, mSelectorImage(window)
|
, mSelectorImage(window)
|
||||||
{
|
{
|
||||||
mMarqueeOffset = 0;
|
mLoopOffset = 0;
|
||||||
mMarqueeOffset2 = 0;
|
mLoopOffset2 = 0;
|
||||||
mMarqueeTime = 0;
|
mLoopTime = 0;
|
||||||
mMarqueeScroll = false;
|
mLoopScroll = false;
|
||||||
|
|
||||||
mHorizontalMargin = 0.0f;
|
mHorizontalMargin = 0.0f;
|
||||||
mAlignment = ALIGN_CENTER;
|
mAlignment = ALIGN_CENTER;
|
||||||
|
@ -223,8 +223,10 @@ template <typename T> void TextListComponent<T>::render(const glm::mat4& parentT
|
||||||
dim.y = (trans[1].y * dim.y + trans[3].y) - trans[3].y;
|
dim.y = (trans[1].y * dim.y + trans[3].y) - trans[3].y;
|
||||||
|
|
||||||
Renderer::pushClipRect(
|
Renderer::pushClipRect(
|
||||||
glm::ivec2{static_cast<int>(trans[3].x + mHorizontalMargin), static_cast<int>(trans[3].y)},
|
glm::ivec2{static_cast<int>(std::round(trans[3].x + mHorizontalMargin)),
|
||||||
glm::ivec2{static_cast<int>(dim.x - mHorizontalMargin * 2.0f), static_cast<int>(dim.y)});
|
static_cast<int>(std::round(trans[3].y))},
|
||||||
|
glm::ivec2{static_cast<int>(std::round(dim.x - mHorizontalMargin * 2.0f)),
|
||||||
|
static_cast<int>(std::round(dim.y))});
|
||||||
|
|
||||||
for (int i = startEntry; i < listCutoff; i++) {
|
for (int i = startEntry; i < listCutoff; i++) {
|
||||||
typename IList<TextListData, T>::Entry& entry = mEntries.at(static_cast<unsigned int>(i));
|
typename IList<TextListData, T>::Entry& entry = mEntries.at(static_cast<unsigned int>(i));
|
||||||
|
@ -271,26 +273,26 @@ template <typename T> void TextListComponent<T>::render(const glm::mat4& parentT
|
||||||
// Render text.
|
// Render text.
|
||||||
glm::mat4 drawTrans{trans};
|
glm::mat4 drawTrans{trans};
|
||||||
|
|
||||||
// Currently selected item text might be scrolling.
|
// Currently selected item text might be looping.
|
||||||
if (mCursor == i && mMarqueeOffset > 0)
|
if (mCursor == i && mLoopOffset > 0)
|
||||||
drawTrans = glm::translate(
|
drawTrans = glm::translate(
|
||||||
drawTrans, offset - glm::vec3{static_cast<float>(mMarqueeOffset), 0.0f, 0.0f});
|
drawTrans, offset - glm::vec3{static_cast<float>(mLoopOffset), 0.0f, 0.0f});
|
||||||
else
|
else
|
||||||
drawTrans = glm::translate(drawTrans, offset);
|
drawTrans = glm::translate(drawTrans, offset);
|
||||||
|
|
||||||
// Needed to avoid flickering when returning to the start position.
|
// Needed to avoid flickering when returning to the start position.
|
||||||
if (mMarqueeOffset == 0 && mMarqueeOffset2 == 0)
|
if (mLoopOffset == 0 && mLoopOffset2 == 0)
|
||||||
mMarqueeScroll = false;
|
mLoopScroll = false;
|
||||||
|
|
||||||
Renderer::setMatrix(drawTrans);
|
Renderer::setMatrix(drawTrans);
|
||||||
font->renderTextCache(entry.data.textCache.get());
|
font->renderTextCache(entry.data.textCache.get());
|
||||||
|
|
||||||
// Render currently selected row again if marquee is scrolled far enough for it to repeat.
|
// Render currently selected row again if text is moved far enough for it to repeat.
|
||||||
if ((mCursor == i && mMarqueeOffset2 < 0) || (mCursor == i && mMarqueeScroll)) {
|
if ((mCursor == i && mLoopOffset2 < 0) || (mCursor == i && mLoopScroll)) {
|
||||||
mMarqueeScroll = true;
|
mLoopScroll = true;
|
||||||
drawTrans = trans;
|
drawTrans = trans;
|
||||||
drawTrans = glm::translate(
|
drawTrans = glm::translate(
|
||||||
drawTrans, offset - glm::vec3{static_cast<float>(mMarqueeOffset2), 0.0f, 0.0f});
|
drawTrans, offset - glm::vec3{static_cast<float>(mLoopOffset2), 0.0f, 0.0f});
|
||||||
Renderer::setMatrix(drawTrans);
|
Renderer::setMatrix(drawTrans);
|
||||||
font->renderTextCache(entry.data.textCache.get());
|
font->renderTextCache(entry.data.textCache.get());
|
||||||
}
|
}
|
||||||
|
@ -353,11 +355,11 @@ template <typename T> void TextListComponent<T>::update(int deltaTime)
|
||||||
stopScrolling();
|
stopScrolling();
|
||||||
|
|
||||||
if (!isScrolling() && size() > 0) {
|
if (!isScrolling() && size() > 0) {
|
||||||
// Always reset the marquee offsets.
|
// Always reset the loop offsets.
|
||||||
mMarqueeOffset = 0;
|
mLoopOffset = 0;
|
||||||
mMarqueeOffset2 = 0;
|
mLoopOffset2 = 0;
|
||||||
|
|
||||||
// If we're not scrolling and this object's text exceeds our size, then marquee it.
|
// If we're not scrolling and this object's text exceeds our size, then loop it.
|
||||||
const float textLength = mFont
|
const float textLength = mFont
|
||||||
->sizeText(Utils::String::toUpper(
|
->sizeText(Utils::String::toUpper(
|
||||||
mEntries.at(static_cast<unsigned int>(mCursor)).name))
|
mEntries.at(static_cast<unsigned int>(mCursor)).name))
|
||||||
|
@ -374,16 +376,16 @@ template <typename T> void TextListComponent<T>::update(int deltaTime)
|
||||||
const float returnTime = (returnLength * 1000.0f) / speed;
|
const float returnTime = (returnLength * 1000.0f) / speed;
|
||||||
const int maxTime = static_cast<int>(delay + scrollTime + returnTime);
|
const int maxTime = static_cast<int>(delay + scrollTime + returnTime);
|
||||||
|
|
||||||
mMarqueeTime += deltaTime;
|
mLoopTime += deltaTime;
|
||||||
while (mMarqueeTime > maxTime)
|
while (mLoopTime > maxTime)
|
||||||
mMarqueeTime -= maxTime;
|
mLoopTime -= maxTime;
|
||||||
|
|
||||||
mMarqueeOffset = static_cast<int>(Utils::Math::loop(delay, scrollTime + returnTime,
|
mLoopOffset = static_cast<int>(Utils::Math::loop(delay, scrollTime + returnTime,
|
||||||
static_cast<float>(mMarqueeTime),
|
static_cast<float>(mLoopTime),
|
||||||
scrollLength + returnLength));
|
scrollLength + returnLength));
|
||||||
|
|
||||||
if (mMarqueeOffset > (scrollLength - (limit - returnLength)))
|
if (mLoopOffset > (scrollLength - (limit - returnLength)))
|
||||||
mMarqueeOffset2 = static_cast<int>(mMarqueeOffset - (scrollLength + returnLength));
|
mLoopOffset2 = static_cast<int>(mLoopOffset - (scrollLength + returnLength));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -405,9 +407,9 @@ void TextListComponent<T>::add(const std::string& name, const T& obj, unsigned i
|
||||||
|
|
||||||
template <typename T> void TextListComponent<T>::onCursorChanged(const CursorState& state)
|
template <typename T> void TextListComponent<T>::onCursorChanged(const CursorState& state)
|
||||||
{
|
{
|
||||||
mMarqueeOffset = 0;
|
mLoopOffset = 0;
|
||||||
mMarqueeOffset2 = 0;
|
mLoopOffset2 = 0;
|
||||||
mMarqueeTime = 0;
|
mLoopTime = 0;
|
||||||
|
|
||||||
if (mCursorChangedCallback)
|
if (mCursorChangedCallback)
|
||||||
mCursorChangedCallback(state);
|
mCursorChangedCallback(state);
|
||||||
|
|
|
@ -567,8 +567,8 @@ void GuiTextEditKeyboardPopup::shiftKeys()
|
||||||
mShift = !mShift;
|
mShift = !mShift;
|
||||||
|
|
||||||
if (mShift) {
|
if (mShift) {
|
||||||
mShiftButton->setFlatColorFocused(0xFF2222FF);
|
mShiftButton->setFlatColorFocused(0xF26767FF);
|
||||||
mShiftButton->setFlatColorUnfocused(0xFF2222FF);
|
mShiftButton->setFlatColorUnfocused(0xF26767FF);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
mShiftButton->setFlatColorFocused(0x878787FF);
|
mShiftButton->setFlatColorFocused(0x878787FF);
|
||||||
|
@ -600,8 +600,8 @@ void GuiTextEditKeyboardPopup::altKeys()
|
||||||
mAlt = !mAlt;
|
mAlt = !mAlt;
|
||||||
|
|
||||||
if (mAlt) {
|
if (mAlt) {
|
||||||
mAltButton->setFlatColorFocused(0xFF2222FF);
|
mAltButton->setFlatColorFocused(0xF26767FF);
|
||||||
mAltButton->setFlatColorUnfocused(0xFF2222FF);
|
mAltButton->setFlatColorUnfocused(0xF26767FF);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
mAltButton->setFlatColorFocused(0x878787FF);
|
mAltButton->setFlatColorFocused(0x878787FF);
|
||||||
|
|
|
@ -73,8 +73,8 @@ bool TextureData::initSVGFromMemory(const std::string& fileData)
|
||||||
mSourceHeight = svgImage->height;
|
mSourceHeight = svgImage->height;
|
||||||
}
|
}
|
||||||
|
|
||||||
mWidth = static_cast<size_t>(floorf(floorf(mSourceWidth) * mScaleDuringLoad));
|
mWidth = static_cast<int>(std::round(mSourceWidth * mScaleDuringLoad));
|
||||||
mHeight = static_cast<size_t>(floorf(floorf(mSourceHeight) * mScaleDuringLoad));
|
mHeight = static_cast<int>(std::round(mSourceHeight * mScaleDuringLoad));
|
||||||
|
|
||||||
if (mWidth == 0) {
|
if (mWidth == 0) {
|
||||||
// Auto scale width to keep aspect ratio.
|
// Auto scale width to keep aspect ratio.
|
||||||
|
@ -92,9 +92,8 @@ bool TextureData::initSVGFromMemory(const std::string& fileData)
|
||||||
|
|
||||||
NSVGrasterizer* rast = nsvgCreateRasterizer();
|
NSVGrasterizer* rast = nsvgCreateRasterizer();
|
||||||
|
|
||||||
nsvgRasterize(rast, svgImage, 0, 0, mHeight / svgImage->height, tempVector.data(),
|
nsvgRasterize(rast, svgImage, 0, 0, mHeight / svgImage->height, tempVector.data(), mWidth,
|
||||||
static_cast<int>(mWidth), static_cast<int>(mHeight),
|
mHeight, mWidth * 4);
|
||||||
static_cast<int>(mWidth) * 4);
|
|
||||||
|
|
||||||
// This is important in order to avoid memory leaks.
|
// This is important in order to avoid memory leaks.
|
||||||
nsvgDeleteRasterizer(rast);
|
nsvgDeleteRasterizer(rast);
|
||||||
|
@ -148,8 +147,8 @@ bool TextureData::initFromRGBA(const unsigned char* dataRGBA, size_t width, size
|
||||||
mDataRGBA.reserve(width * height * 4);
|
mDataRGBA.reserve(width * height * 4);
|
||||||
mDataRGBA.insert(mDataRGBA.begin(), dataRGBA, dataRGBA + (width * height * 4));
|
mDataRGBA.insert(mDataRGBA.begin(), dataRGBA, dataRGBA + (width * height * 4));
|
||||||
|
|
||||||
mWidth = width;
|
mWidth = static_cast<int>(width);
|
||||||
mHeight = height;
|
mHeight = static_cast<int>(height);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -72,8 +72,8 @@ private:
|
||||||
std::string mPath;
|
std::string mPath;
|
||||||
unsigned int mTextureID;
|
unsigned int mTextureID;
|
||||||
std::vector<unsigned char> mDataRGBA;
|
std::vector<unsigned char> mDataRGBA;
|
||||||
size_t mWidth;
|
int mWidth;
|
||||||
size_t mHeight;
|
int mHeight;
|
||||||
float mSourceWidth;
|
float mSourceWidth;
|
||||||
float mSourceHeight;
|
float mSourceHeight;
|
||||||
float mScaleDuringLoad;
|
float mScaleDuringLoad;
|
||||||
|
|
|
@ -194,7 +194,7 @@ std::shared_ptr<TextureResource> TextureResource::get(const std::string& path,
|
||||||
return tex;
|
return tex;
|
||||||
}
|
}
|
||||||
|
|
||||||
void TextureResource::rasterizeAt(size_t width, size_t height)
|
void TextureResource::rasterizeAt(float width, float height)
|
||||||
{
|
{
|
||||||
if (mTextureData != nullptr) {
|
if (mTextureData != nullptr) {
|
||||||
glm::vec2 textureSize = mTextureData.get()->getSize();
|
glm::vec2 textureSize = mTextureData.get()->getSize();
|
||||||
|
|
|
@ -44,7 +44,7 @@ public:
|
||||||
// It does unload and re-rasterize the texture though which may cause flickering in some
|
// It does unload and re-rasterize the texture though which may cause flickering in some
|
||||||
// situations. An alternative is to set a scaling factor directly when loading the texture
|
// situations. An alternative is to set a scaling factor directly when loading the texture
|
||||||
// using get(), by using the scaleDuringLoad parameter (which also works for raster graphics).
|
// using get(), by using the scaleDuringLoad parameter (which also works for raster graphics).
|
||||||
void rasterizeAt(size_t width, size_t height);
|
void rasterizeAt(float width, float height);
|
||||||
glm::vec2 getSourceImageSize() const { return mSourceSize; }
|
glm::vec2 getSourceImageSize() const { return mSourceSize; }
|
||||||
|
|
||||||
virtual ~TextureResource();
|
virtual ~TextureResource();
|
||||||
|
|
|
@ -8,8 +8,8 @@
|
||||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
width="80"
|
width="80"
|
||||||
height="112"
|
height="92"
|
||||||
viewBox="0 0 21.166666 29.633334"
|
viewBox="0 0 21.166666 24.341667"
|
||||||
version="1.1"
|
version="1.1"
|
||||||
id="svg4842"
|
id="svg4842"
|
||||||
inkscape:version="0.92.5 (2060ec1f9f, 2020-04-08)"
|
inkscape:version="0.92.5 (2060ec1f9f, 2020-04-08)"
|
||||||
|
@ -23,11 +23,11 @@
|
||||||
borderopacity="1.0"
|
borderopacity="1.0"
|
||||||
inkscape:pageopacity="0.0"
|
inkscape:pageopacity="0.0"
|
||||||
inkscape:pageshadow="2"
|
inkscape:pageshadow="2"
|
||||||
inkscape:zoom="12.442154"
|
inkscape:zoom="12.066296"
|
||||||
inkscape:cx="-18.41824"
|
inkscape:cx="11.393424"
|
||||||
inkscape:cy="59.681612"
|
inkscape:cy="66.081732"
|
||||||
inkscape:document-units="mm"
|
inkscape:document-units="mm"
|
||||||
inkscape:current-layer="layer2"
|
inkscape:current-layer="layer1"
|
||||||
showgrid="false"
|
showgrid="false"
|
||||||
inkscape:window-width="3840"
|
inkscape:window-width="3840"
|
||||||
inkscape:window-height="2065"
|
inkscape:window-height="2065"
|
||||||
|
@ -59,155 +59,12 @@
|
||||||
inkscape:label="Layer 1"
|
inkscape:label="Layer 1"
|
||||||
inkscape:groupmode="layer"
|
inkscape:groupmode="layer"
|
||||||
id="layer1"
|
id="layer1"
|
||||||
transform="translate(-1.9829021e-4,-266.11715)">
|
transform="translate(-1.9829021e-4,-271.40882)">
|
||||||
<rect
|
|
||||||
style="opacity:1;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.56896;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:0;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke fill markers"
|
|
||||||
id="rect5286"
|
|
||||||
width="21.166666"
|
|
||||||
height="29.633333"
|
|
||||||
x="0.0001982902"
|
|
||||||
y="266.11713" />
|
|
||||||
<g
|
|
||||||
id="g16"
|
|
||||||
transform="matrix(0.10079384,0,0,0.10062218,-2.2563844e-4,266.11692)"
|
|
||||||
style="fill:#d7d7d7;fill-opacity:1">
|
|
||||||
<rect
|
|
||||||
x="3.0257001"
|
|
||||||
y="2.9029"
|
|
||||||
width="204.36"
|
|
||||||
height="288.81"
|
|
||||||
id="rect14"
|
|
||||||
style="fill:#d7d7d7;fill-opacity:1;stroke-width:0.26458" />
|
|
||||||
</g>
|
|
||||||
<g
|
|
||||||
id="g20"
|
|
||||||
transform="matrix(0.10079384,0,0,0.10062218,-2.2563844e-4,266.11692)">
|
|
||||||
<rect
|
|
||||||
x="7.7007999"
|
|
||||||
y="7.7174001"
|
|
||||||
width="194.89999"
|
|
||||||
height="279.22"
|
|
||||||
id="rect18"
|
|
||||||
style="stroke-width:0.26458" />
|
|
||||||
</g>
|
|
||||||
<rect
|
|
||||||
style="fill:#e6e6e6;fill-opacity:1;stroke-width:0.0266453"
|
|
||||||
id="rect22"
|
|
||||||
height="17.395565"
|
|
||||||
width="17.540144"
|
|
||||||
y="271.47574"
|
|
||||||
x="1.8325089" />
|
|
||||||
<g
|
|
||||||
style="fill:#f0f0f0;fill-opacity:1;stroke-width:0.25971"
|
|
||||||
id="g56-4"
|
|
||||||
aria-label="CONTENT RATED BY"
|
|
||||||
transform="matrix(0.09632353,0,0,0.10097609,0.27971034,266.32293)">
|
|
||||||
<path
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
id="path28-8"
|
|
||||||
d="m 17.401,237.59 c 0,6.2332 2.6179,7.5296 6.8066,7.5296 1.0222,0 1.845,-0.0748 2.8672,-0.27426 l -0.52358,-3.9394 -2.2938,0.17453 c -1.0222,0.0499 -1.6705,-0.52358 -1.6705,-3.4906 0,-2.96702 0.74798,-3.5155 1.6705,-3.4656 l 2.2938,0.14959 0.54852,-3.9144 c -1.0222,-0.22439 -1.8201,-0.42385 -2.8423,-0.42385 -4.2136,0 -6.8565,1.7952 -6.8565,7.6543 z"
|
|
||||||
style="fill:#f0f0f0;fill-opacity:1" />
|
|
||||||
<path
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
id="path30-0"
|
|
||||||
d="m 27.488,237.59 c 0,5.7844 2.1691,7.6294 6.9313,7.6294 3.5155,-0.17452 5.7345,-2.7176 5.7345,-7.6294 0,-5.7594 -2.2439,-7.6543 -6.9811,-7.6543 -3.5155,0.17453 -5.6846,2.7675 -5.6846,7.6543 z m 5.186,0 c 0,-2.967 0.42385,-3.2911 1.097,-3.2911 0.67315,0 1.1718,0.32413 1.1718,3.2911 0,2.96697 -0.42385,3.2911 -1.097,3.2911 -0.67315,0 -1.1718,-0.32412 -1.1718,-3.2911 z"
|
|
||||||
style="fill:#f0f0f0;fill-opacity:1" />
|
|
||||||
<path
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
id="path32-8"
|
|
||||||
d="m 41.19,237.59 c 0,2.4933 0.04986,4.8868 0.09973,7.2304 0,0.1496 0.09973,0.24933 0.24933,0.24933 0.79784,0.0499 1.5708,0.0748 2.4185,0.0748 0.82278,0 1.2716,-0.0249 2.0694,-0.0748 l -0.09973,-6.6071 2.593,6.3578 c 0.04987,0.1496 0.12466,0.24933 0.27426,0.24933 0.79784,0.0499 1.5209,0.0748 2.2689,0.0748 0.82278,0 1.2466,-0.0249 1.9447,-0.0748 0.04987,-2.4933 0.09973,-4.9865 0.09973,-7.4798 0,-2.4933 -0.04987,-4.8868 -0.09973,-7.2305 0,-0.12466 -0.12466,-0.22439 -0.24933,-0.24932 -0.74798,-0.0249 -1.471,-0.0499 -2.3187,-0.0499 -0.82278,0 -1.3962,0.0249 -2.1691,0.0499 l 0.0748,6.6321 -2.5681,-6.3828 c -0.0748,-0.12466 -0.1496,-0.22439 -0.27426,-0.24932 -0.79784,-0.0249 -1.4461,-0.0499 -2.1691,-0.0499 -0.82278,0 -1.2716,0.0249 -2.0445,0.0499 -0.0748,2.4933 -0.09973,4.9865 -0.09973,7.4798 z"
|
|
||||||
style="fill:#f0f0f0;fill-opacity:1" />
|
|
||||||
<path
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
id="path34-1"
|
|
||||||
d="m 53.871,232.01 c 0,0.67318 0,1.3464 0.02493,2.0445 0,0.14959 0.09973,0.24932 0.24933,0.24932 0.42385,0.0249 1.6206,0.0499 2.7426,0.0748 v 3.2163 c 0,2.4933 0.04987,4.8868 0.09973,7.2304 0,0.1496 0.09973,0.24933 0.24933,0.24933 0.82278,0.0499 1.6954,0.0748 2.5431,0.0748 0.82278,0 1.3962,-0.0249 2.1941,-0.0748 0.04987,-2.4933 0.09973,-4.9865 0.09973,-7.4798 0,-1.1469 -0.02493,-2.1691 -0.04986,-3.1914 1.2965,0 2.6179,-0.0249 3.0418,-0.0499 v -1.845 -2.1442 c -0.02493,-0.12466 -0.12466,-0.24932 -0.24933,-0.24932 -0.84771,-0.0249 -4.3133,-0.0499 -5.161,-0.0499 -0.82278,0 -4.9865,0.0249 -5.7594,0.0499 -0.02493,0.67318 -0.02493,1.2965 -0.02493,1.8949 z"
|
|
||||||
style="fill:#f0f0f0;fill-opacity:1" />
|
|
||||||
<path
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
id="path36-0"
|
|
||||||
d="m 65.853,237.59 c 0,2.4933 0.04986,4.8868 0.09973,7.2304 0,0.1496 0.09973,0.24933 0.24933,0.24933 0.82278,0.0499 4.438,0.12466 5.2857,0.12466 0.82278,0 3.4906,-0.0249 4.2884,-0.0748 v -1.8201 -2.1691 c -0.02493,-0.12467 -0.12466,-0.24933 -0.24933,-0.24933 -0.84771,-0.0249 -3.5654,-0.0499 -4.4131,-0.0499 h -0.32412 v -1.2965 h 3.2412 v -1.6456 -1.8949 c -0.02493,-0.12466 -0.12466,-0.24932 -0.24933,-0.24932 -0.64825,0 -1.9946,-0.0249 -2.9919,-0.0249 v -1.3214 h 0.97237 c 0.82278,0 3.1664,0 3.9643,-0.0499 v -1.8201 -2.1691 c -0.02493,-0.12466 -0.12466,-0.24932 -0.24933,-0.24932 -0.84771,-0.0249 -3.5155,-0.0499 -4.3632,-0.0499 -0.82278,0 -4.3881,0.0249 -5.161,0.0499 -0.0748,2.4933 -0.09973,4.9865 -0.09973,7.4798 z"
|
|
||||||
style="fill:#f0f0f0;fill-opacity:1" />
|
|
||||||
<path
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
id="path38-2"
|
|
||||||
d="m 76.912,237.59 c 0,2.4933 0.04986,4.8868 0.09973,7.2304 0,0.1496 0.09973,0.24933 0.24933,0.24933 0.79784,0.0499 1.5708,0.0748 2.4185,0.0748 0.82278,0 1.2716,-0.0249 2.0694,-0.0748 l -0.09973,-6.6071 2.593,6.3578 c 0.04987,0.1496 0.12466,0.24933 0.27426,0.24933 0.79784,0.0499 1.5209,0.0748 2.2689,0.0748 0.82278,0 1.2466,-0.0249 1.9447,-0.0748 0.04987,-2.4933 0.09973,-4.9865 0.09973,-7.4798 0,-2.4933 -0.04986,-4.8868 -0.09973,-7.2305 0,-0.12466 -0.12466,-0.22439 -0.24933,-0.24932 -0.74798,-0.0249 -1.471,-0.0499 -2.3187,-0.0499 -0.82278,0 -1.3962,0.0249 -2.1691,0.0499 l 0.0748,6.6321 -2.5681,-6.3828 c -0.0748,-0.12466 -0.1496,-0.22439 -0.27426,-0.24932 -0.79784,-0.0249 -1.4461,-0.0499 -2.1691,-0.0499 -0.82278,0 -1.2716,0.0249 -2.0445,0.0499 -0.0748,2.4933 -0.09973,4.9865 -0.09973,7.4798 z"
|
|
||||||
style="fill:#f0f0f0;fill-opacity:1" />
|
|
||||||
<path
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
id="path40-2"
|
|
||||||
d="m 89.593,232.01 c 0,0.67318 0,1.3464 0.02493,2.0445 0,0.14959 0.09973,0.24932 0.24933,0.24932 0.42385,0.0249 1.6206,0.0499 2.7426,0.0748 v 3.2163 c 0,2.4933 0.04986,4.8868 0.09973,7.2304 0,0.1496 0.09973,0.24933 0.24933,0.24933 0.82278,0.0499 1.6954,0.0748 2.5431,0.0748 0.82278,0 1.3962,-0.0249 2.1941,-0.0748 0.04987,-2.4933 0.09973,-4.9865 0.09973,-7.4798 0,-1.1469 -0.02493,-2.1691 -0.04986,-3.1914 1.2965,0 2.6179,-0.0249 3.0418,-0.0499 v -1.845 -2.1442 c -0.0249,-0.12466 -0.12466,-0.24932 -0.24932,-0.24932 -0.84771,-0.0249 -4.3133,-0.0499 -5.1611,-0.0499 -0.82278,0 -4.9865,0.0249 -5.7594,0.0499 -0.02493,0.67318 -0.02493,1.2965 -0.02493,1.8949 z"
|
|
||||||
style="fill:#f0f0f0;fill-opacity:1" />
|
|
||||||
<path
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
id="path42-9"
|
|
||||||
d="m 106.77,237.27 c 0,2.4933 0.0499,5.2109 0.0499,7.5546 0,0.1496 0.0997,0.24933 0.24933,0.24933 0.84771,0.0499 1.6954,0.0499 2.5431,0.0499 0.72305,0 1.4461,0 2.1941,-0.0499 -0.0249,-1.9448 -0.0997,-4.089 -0.12466,-6.1334 h 0.32412 c 0.49865,1.7204 1.1968,3.8396 1.8949,5.9589 0.0499,0.1496 0.24933,0.24933 0.37399,0.24933 0.67318,0.0499 1.3464,0.0748 2.0195,0.0748 0.87264,0 1.7702,-0.0499 2.593,-0.14959 -0.42385,-1.87 -0.9973,-3.6651 -1.9697,-5.6098 -0.34906,-0.57345 -0.82278,-0.97237 -1.3962,-1.1718 1.6456,-0.77291 2.6678,-2.1691 2.6678,-4.0142 0,-4.0391 -2.5431,-4.3383 -6.2581,-4.3383 -1.3962,0 -3.4656,0.17453 -5.1112,0.42385 0,2.4933 -0.0499,4.4131 -0.0499,6.9063 z m 4.9117,-1.3962 v -2.2439 c 0.17453,-0.0249 0.39892,-0.0249 0.59838,-0.0249 0.89758,0 1.1469,0.42386 1.1469,1.1968 0,0.64824 -0.54852,1.0721 -1.3214,1.0721 z"
|
|
||||||
style="fill:#f0f0f0;fill-opacity:1" />
|
|
||||||
<path
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
id="path44-75"
|
|
||||||
d="m 118.65,244.87 c 0,0.12466 0.0997,0.19946 0.22439,0.19946 0.82278,0.0499 1.6954,0.0748 2.5431,0.0748 0.82277,0 1.2716,-0.0249 2.0694,-0.0748 0.17453,-0.89758 0.32413,-1.8201 0.47372,-2.7426 h 2.3187 c 0.12466,0.84771 0.27425,1.6954 0.44878,2.4933 0.0249,0.1496 0.1496,0.24933 0.27426,0.24933 0.87264,0.0748 1.5957,0.0748 2.4434,0.0748 0.8477,0 1.3962,-0.0249 2.1691,-0.0748 -0.72304,-4.8369 -1.8949,-9.9232 -2.8423,-14.71 -0.0249,-0.12466 -0.1496,-0.24932 -0.27426,-0.24932 -1.1968,-0.0249 -2.3686,-0.0499 -3.5654,-0.0499 -1.1718,0 -2.3187,0 -3.4407,0.0499 -0.92251,4.6125 -1.9697,9.4245 -2.7177,13.987 -0.0499,0.24932 -0.12466,0.72304 -0.12466,0.77291 z m 5.7345,-5.7844 c 0.19946,-1.8699 0.39892,-3.7399 0.62331,-5.5849 0.24933,1.87 0.49866,3.7399 0.77291,5.5849 z"
|
|
||||||
style="fill:#f0f0f0;fill-opacity:1" />
|
|
||||||
<path
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
id="path46-6"
|
|
||||||
d="m 130.96,232.01 c 0,0.67318 0,1.3464 0.0249,2.0445 0,0.14959 0.0997,0.24932 0.24933,0.24932 0.42385,0.0249 1.6206,0.0499 2.7426,0.0748 v 3.2163 c 0,2.4933 0.0499,4.8868 0.0997,7.2304 0,0.1496 0.0997,0.24933 0.24932,0.24933 0.82278,0.0499 1.6954,0.0748 2.5431,0.0748 0.82277,0 1.3962,-0.0249 2.1941,-0.0748 0.0499,-2.4933 0.0997,-4.9865 0.0997,-7.4798 0,-1.1469 -0.0249,-2.1691 -0.0499,-3.1914 1.2965,0 2.6179,-0.0249 3.0418,-0.0499 v -1.845 -2.1442 c -0.0249,-0.12466 -0.12467,-0.24932 -0.24933,-0.24932 -0.84771,-0.0249 -4.3133,-0.0499 -5.161,-0.0499 -0.82277,0 -4.9865,0.0249 -5.7594,0.0499 -0.0249,0.67318 -0.0249,1.2965 -0.0249,1.8949 z"
|
|
||||||
style="fill:#f0f0f0;fill-opacity:1" />
|
|
||||||
<path
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
id="path48-4"
|
|
||||||
d="m 142.94,237.59 c 0,2.4933 0.0499,4.8868 0.0997,7.2304 0,0.1496 0.0997,0.24933 0.24933,0.24933 0.82277,0.0499 4.438,0.12466 5.2857,0.12466 0.82277,0 3.4906,-0.0249 4.2884,-0.0748 v -1.8201 -2.1691 c -0.0249,-0.12467 -0.12466,-0.24933 -0.24932,-0.24933 -0.84771,-0.0249 -3.5654,-0.0499 -4.4131,-0.0499 h -0.32413 v -1.2965 h 3.2412 v -1.6456 -1.8949 c -0.0249,-0.12466 -0.12466,-0.24932 -0.24932,-0.24932 -0.64825,0 -1.9946,-0.0249 -2.9919,-0.0249 v -1.3214 h 0.97238 c 0.82277,0 3.1664,0 3.9643,-0.0499 v -1.8201 -2.1691 c -0.0249,-0.12466 -0.12466,-0.24932 -0.24933,-0.24932 -0.8477,-0.0249 -3.5155,-0.0499 -4.3632,-0.0499 -0.82278,0 -4.3881,0.0249 -5.161,0.0499 -0.0748,2.4933 -0.0997,4.9865 -0.0997,7.4798 z"
|
|
||||||
style="fill:#f0f0f0;fill-opacity:1" />
|
|
||||||
<path
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
id="path50-6"
|
|
||||||
d="m 158.98,237.59 c 0,-1.1968 0,-2.2439 0.0249,-3.2911 h 0.42385 c 0.67318,0 1.1718,0.32413 1.1718,3.2911 0,2.96697 -0.49865,3.316 -1.1718,3.316 H 159.0049 C 158.98,239.8588 158.98,238.8117 158.98,237.59 Z m -4.9366,0 c 0,2.4933 0.0499,4.6375 0.0499,6.9811 0,0.14959 0.0997,0.24932 0.24933,0.24932 1.7204,0.17453 3.2911,0.29919 4.6624,0.29919 4.1887,0 6.8066,-1.2965 6.8066,-7.5296 0,-5.8592 -2.6429,-7.6543 -6.8565,-7.6543 -1.3962,0 -3.2163,0.17453 -4.8619,0.42385 0,2.4933 -0.0499,4.7372 -0.0499,7.2305 z"
|
|
||||||
style="fill:#f0f0f0;fill-opacity:1" />
|
|
||||||
<path
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
id="path52-3"
|
|
||||||
d="m 176.93,235.6 c 0,-0.77291 0,-1.4212 0.0249,-2.0445 0.0499,-0.0249 0.19946,-0.0249 0.29919,-0.0249 0.64825,0 1.2965,0.32413 1.2965,0.99731 0,0.69811 -0.67318,1.0721 -1.4461,1.0721 z m 0.0249,3.69 h 0.62332 c 0.67318,0 1.1469,0.42386 1.1469,0.99731 0,0.64825 -0.37399,1.0222 -1.3214,1.0222 h -0.39892 c -0.0249,-0.67319 -0.0499,-1.3464 -0.0499,-2.0196 z m -4.9117,-2.0195 c 0,2.4933 0.0499,5.0115 0.0499,7.3551 0,0.1496 0.0997,0.27426 0.24932,0.29919 1.7204,0.19946 3.6152,0.27426 5.3106,0.27426 3.3659,0 6.0586,-0.67318 6.0586,-4.6375 0,-1.1968 -0.82278,-2.2938 -2.1941,-3.0667 0.89757,-0.77291 1.4461,-1.8949 1.4461,-3.2163 0,-4.0391 -2.5431,-4.3383 -6.0088,-4.3383 -1.3962,0 -3.2163,0.17453 -4.8618,0.42385 0,2.4933 -0.0499,4.4131 -0.0499,6.9063 z"
|
|
||||||
style="fill:#f0f0f0;fill-opacity:1" />
|
|
||||||
<path
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
id="path54-7"
|
|
||||||
d="m 183.35,230.21 c 0.42386,1.8949 1.097,4.438 2.0694,6.3578 0.57345,0.97237 1.2716,1.7453 2.0195,2.3437 -0.0249,2.0195 -0.0249,3.9892 -0.0249,5.909 0,0.1496 0.0997,0.24933 0.24932,0.24933 0.82278,0.0499 1.7453,0.0748 2.593,0.0748 0.82278,0 1.4461,-0.0249 2.2439,-0.0748 -0.0249,-2.0445 -0.0499,-4.089 -0.0748,-6.1584 0.74798,-0.59839 1.4461,-1.3713 2.0195,-2.3437 0.97237,-1.9198 1.6456,-4.4629 2.0694,-6.3578 -0.82277,-0.0997 -1.7204,-0.1496 -2.593,-0.1496 -0.67318,0 -1.3464,0.0249 -2.0195,0.0748 -0.12466,0 -0.32412,0.0997 -0.37399,0.24933 -0.54851,1.6705 -1.1469,3.7399 -1.5957,5.4353 -0.47372,-1.6954 -1.0472,-3.7648 -1.5957,-5.4353 -0.0499,-0.1496 -0.24932,-0.24933 -0.37399,-0.24933 -0.67318,-0.0499 -1.3464,-0.0748 -2.0195,-0.0748 -0.89757,0 -1.7702,0.0499 -2.593,0.1496 z"
|
|
||||||
style="fill:#f0f0f0;fill-opacity:1" />
|
|
||||||
</g>
|
|
||||||
<g
|
|
||||||
id="g5256"
|
|
||||||
transform="matrix(1.0104997,0,0,1.0207455,-0.11128094,-6.092617)"
|
|
||||||
style="fill:#f0f0f0;fill-opacity:1">
|
|
||||||
<path
|
|
||||||
d="m 2.2271284,292.95117 c 0,0.40604 0.015331,0.79582 0.030663,1.17749 0,0.0243 0.030663,0.0406 0.076656,0.0406 0.2529687,0.008 1.364477,0.0203 1.625048,0.0203 0.2529687,0 1.073192,-0.004 1.3184891,-0.0122 v -0.29642 -0.35327 c -0.00767,-0.0203 -0.038327,-0.0406 -0.076656,-0.0406 -0.2606263,-0.004 -1.096179,-0.008 -1.3568192,-0.008 h -0.099653 v -0.21114 h 0.9965315 v -0.268 -0.30859 c -0.00767,-0.0203 -0.038327,-0.0406 -0.076656,-0.0406 -0.1993091,0 -0.6132565,-0.004 -0.919871,-0.004 v -0.21521 h 0.2989565 c 0.2529687,0 0.9735306,0 1.2188276,-0.008 v -0.29642 -0.35326 c -0.00767,-0.0203 -0.038327,-0.0406 -0.076656,-0.0406 -0.2606264,-0.004 -1.0808497,-0.008 -1.3414899,-0.008 -0.2529687,0 -1.3491477,0.004 -1.5867594,0.008 -0.022997,0.40604 -0.030663,0.81206 -0.030663,1.21812 z"
|
|
||||||
id="path78-4"
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
style="fill:#f0f0f0;fill-opacity:1;stroke-width:0.036704" />
|
|
||||||
<path
|
|
||||||
d="m 5.6153964,294.14527 c 0.5289244,0.0325 1.0961791,0.0446 1.6174179,0.0446 1.0348618,0 1.8780861,-0.15023 1.8780861,-0.79582 0,-0.5644 -0.9505434,-0.71463 -1.5867594,-0.81618 -0.3142859,-0.0487 -0.5519252,-0.0853 -0.5519252,-0.15834 0,-0.0731 0.1533072,-0.1137 0.3909464,-0.1137 0.4752649,0 1.0195325,0.0812 1.3798065,0.16647 l 0.1763081,-0.67809 c -0.5135951,-0.0527 -1.0348617,-0.0894 -1.4795233,-0.0894 -1.0501911,0 -1.8167688,0.0487 -1.8167688,0.70652 0,0.62531 0.8508821,0.75525 1.4258361,0.84049 0.2989567,0.0446 0.5212666,0.0772 0.5212666,0.15836 0,0.065 -0.1226499,0.14617 -0.4139474,0.14617 -0.3449586,0 -0.8202234,-0.0528 -1.3568193,-0.14212 z"
|
|
||||||
id="path80-9"
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
style="fill:#f0f0f0;fill-opacity:1;stroke-width:0.036704" />
|
|
||||||
<path
|
|
||||||
d="m 9.4307297,292.9475 c 0,0.10149 0.00613,0.19489 0.01226,0.29641 0,0.0243 0.024523,0.0406 0.061303,0.0406 0.2023048,0.008 0.9931183,0.0203 1.2015133,0.0203 0.202306,0 0.919554,-0.004 1.054426,-0.0122 0,-0.0853 0.0061,-0.17459 0.0061,-0.2558 0,-0.20302 -0.0061,-0.24769 -0.0061,-0.34514 -0.0061,-0.0203 -0.03065,-0.0406 -0.06131,-0.0406 -0.208428,-0.004 -0.692729,-0.008 -0.901169,-0.008 -0.202303,0 -1.1647903,0.004 -1.354836,0.008 -0.00613,0.13399 -0.01226,0.21926 -0.01226,0.29642 z"
|
|
||||||
id="path82-1"
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
style="fill:#f0f0f0;fill-opacity:1;stroke-width:0.0328234" />
|
|
||||||
<path
|
|
||||||
d="m 13.651876,292.95117 c 0,-0.19489 0,-0.36544 0.0077,-0.53598 h 0.130314 c 0.206967,0 0.360288,0.0528 0.360288,0.53598 0,0.48319 -0.153307,0.54004 -0.360288,0.54004 h -0.130314 c -0.0077,-0.17054 -0.0077,-0.34108 -0.0077,-0.54004 z m -1.517812,0 c 0,0.40604 0.01533,0.75525 0.01533,1.13692 0,0.0243 0.03066,0.0406 0.07666,0.0406 0.528925,0.0284 1.011861,0.0487 1.433466,0.0487 1.28783,0 2.092697,-0.21115 2.092697,-1.22628 0,-0.95418 -0.812553,-1.24657 -2.108095,-1.24657 -0.429277,0 -0.98886,0.0284 -1.494784,0.0691 0,0.40604 -0.01533,0.7715 -0.01533,1.17749 z"
|
|
||||||
id="path84-7"
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
style="fill:#f0f0f0;fill-opacity:1;stroke-width:0.036704" />
|
|
||||||
<path
|
|
||||||
d="m 15.999759,292.92458 c 0,0.3953 0.01492,0.77476 0.02985,1.14634 0,0.0237 0.02985,0.0395 0.07463,0.0395 0.246278,0.008 1.328384,0.0198 1.582062,0.0198 0.246277,0 1.044804,-0.004 1.283611,-0.0118 v -0.28858 -0.34391 c -0.0075,-0.0198 -0.03731,-0.0395 -0.07463,-0.0395 -0.253731,-0.004 -1.067182,-0.008 -1.320928,-0.008 h -0.09702 v -0.20557 h 0.970171 v -0.2609 -0.30043 c -0.0075,-0.0198 -0.03731,-0.0395 -0.07463,-0.0395 -0.194037,0 -0.597034,-0.004 -0.895539,-0.004 v -0.20951 h 0.291049 c 0.246277,0 0.947778,0 1.186587,-0.008 v -0.28857 -0.34391 c -0.0075,-0.0198 -0.03731,-0.0395 -0.07463,-0.0395 -0.253731,-0.004 -1.052258,-0.008 -1.306003,-0.008 -0.246277,0 -1.313459,0.004 -1.544785,0.008 -0.02239,0.39529 -0.02985,0.79057 -0.02985,1.18589 z"
|
|
||||||
id="path86-0"
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
style="fill:#f0f0f0;fill-opacity:1;stroke-width:0.0357331" />
|
|
||||||
</g>
|
|
||||||
<g
|
<g
|
||||||
id="g54"
|
id="g54"
|
||||||
aria-label="CONTENT RATED BY"
|
aria-label="CONTENT RATED BY"
|
||||||
transform="matrix(0.09871346,0,0,0.10292059,-29.557342,270.26518)"
|
transform="matrix(0.09871346,0,0,0.10292059,-29.557342,270.26518)"
|
||||||
style="fill:#ffffff;stroke-width:0.25912">
|
style="fill:#ffffff;stroke-width:0.25911999">
|
||||||
<path
|
<path
|
||||||
id="path26"
|
id="path26"
|
||||||
d="m 17.44,237.05 c 0,6.2189 2.6119,7.5125 6.7911,7.5125 1.0199,0 1.8408,-0.0746 2.8607,-0.27364 l -0.52239,-3.9304 -2.2886,0.17413 c -1.0199,0.0497 -1.6667,-0.52239 -1.6667,-3.4826 0,-2.9602 0.74627,-3.5075 1.6667,-3.4577 l 2.2886,0.14926 0.54726,-3.9055 c -1.0199,-0.22388 -1.8159,-0.42289 -2.8358,-0.42289 -4.204,0 -6.8408,1.791 -6.8408,7.6368 z"
|
d="m 17.44,237.05 c 0,6.2189 2.6119,7.5125 6.7911,7.5125 1.0199,0 1.8408,-0.0746 2.8607,-0.27364 l -0.52239,-3.9304 -2.2886,0.17413 c -1.0199,0.0497 -1.6667,-0.52239 -1.6667,-3.4826 0,-2.9602 0.74627,-3.5075 1.6667,-3.4577 l 2.2886,0.14926 0.54726,-3.9055 c -1.0199,-0.22388 -1.8159,-0.42289 -2.8358,-0.42289 -4.204,0 -6.8408,1.791 -6.8408,7.6368 z"
|
||||||
|
@ -293,12 +150,57 @@
|
||||||
</g>
|
</g>
|
||||||
<text
|
<text
|
||||||
xml:space="preserve"
|
xml:space="preserve"
|
||||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.5833px;line-height:1.25;font-family:Dyuthi;-inkscape-font-specification:Dyuthi;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:10.58329964px;line-height:1.25;font-family:Dyuthi;-inkscape-font-specification:Dyuthi;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.26458299"
|
||||||
x="19.372959"
|
x="19.372959"
|
||||||
y="271.49698"
|
y="271.49698"
|
||||||
id="text5145" />
|
id="text5145" />
|
||||||
|
<rect
|
||||||
|
style="opacity:1;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.51566374;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:0;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke fill markers"
|
||||||
|
id="rect5286"
|
||||||
|
width="21.166666"
|
||||||
|
height="24.341667"
|
||||||
|
x="0.0001986081"
|
||||||
|
y="271.40881" />
|
||||||
<g
|
<g
|
||||||
id="g5222">
|
id="g16"
|
||||||
|
transform="matrix(0.10079384,0,0,0.08235571,-2.2547839e-4,271.45845)"
|
||||||
|
style="fill:#d7d7d7;fill-opacity:1">
|
||||||
|
<rect
|
||||||
|
x="3.0257001"
|
||||||
|
y="2.9029"
|
||||||
|
width="204.36"
|
||||||
|
height="288.81"
|
||||||
|
id="rect14"
|
||||||
|
style="fill:#d7d7d7;fill-opacity:1;stroke-width:0.26458001" />
|
||||||
|
</g>
|
||||||
|
<g
|
||||||
|
id="g20"
|
||||||
|
transform="matrix(0.10079384,0,0,0.0816046,-2.2547839e-4,271.5469)"
|
||||||
|
style="fill:#000000;fill-opacity:1">
|
||||||
|
<rect
|
||||||
|
x="7.7007999"
|
||||||
|
y="7.7174001"
|
||||||
|
width="194.89999"
|
||||||
|
height="279.22"
|
||||||
|
id="rect18"
|
||||||
|
style="stroke-width:0.26458001;fill:#000000;fill-opacity:1" />
|
||||||
|
</g>
|
||||||
|
<rect
|
||||||
|
style="fill:#e6e6e6;fill-opacity:1;stroke-width:0.02649944"
|
||||||
|
id="rect22"
|
||||||
|
height="17.205626"
|
||||||
|
width="17.540144"
|
||||||
|
y="276.70892"
|
||||||
|
x="1.8325093" />
|
||||||
|
</g>
|
||||||
|
<g
|
||||||
|
inkscape:groupmode="layer"
|
||||||
|
id="layer2"
|
||||||
|
inkscape:label="Layer 2"
|
||||||
|
transform="translate(0,-5.2916667)">
|
||||||
|
<g
|
||||||
|
id="g5222"
|
||||||
|
transform="translate(-0.01924762,-262.81668)">
|
||||||
<g
|
<g
|
||||||
transform="translate(0.1223722)"
|
transform="translate(0.1223722)"
|
||||||
id="g5202">
|
id="g5202">
|
||||||
|
@ -380,7 +282,7 @@
|
||||||
<path
|
<path
|
||||||
id="rect5061"
|
id="rect5061"
|
||||||
d="m 4.7486749,277.07833 c -0.3682172,0 -0.664559,0.25094 -0.664559,0.56276 v 5.0648 c 0,0.31182 0.2963418,0.56276 0.664559,0.56276 H 16.456487 c 0.368217,0 0.664559,-0.25094 0.664559,-0.56276 v -1.64279 a 0.91714642,0.91714642 0 0 1 -0.698149,-0.88987 0.91714642,0.91714642 0 0 1 0.698149,-0.88935 v -1.64279 c 0,-0.31182 -0.296342,-0.56276 -0.664559,-0.56276 z"
|
d="m 4.7486749,277.07833 c -0.3682172,0 -0.664559,0.25094 -0.664559,0.56276 v 5.0648 c 0,0.31182 0.2963418,0.56276 0.664559,0.56276 H 16.456487 c 0.368217,0 0.664559,-0.25094 0.664559,-0.56276 v -1.64279 a 0.91714642,0.91714642 0 0 1 -0.698149,-0.88987 0.91714642,0.91714642 0 0 1 0.698149,-0.88935 v -1.64279 c 0,-0.31182 -0.296342,-0.56276 -0.664559,-0.56276 z"
|
||||||
style="opacity:1;fill:#fcfcfd;fill-opacity:1;stroke:#282828;stroke-width:0.274902;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke fill markers"
|
style="opacity:1;fill:#fcfcfd;fill-opacity:1;stroke:#282828;stroke-width:0.27490199;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke fill markers"
|
||||||
inkscape:connector-curvature="0" />
|
inkscape:connector-curvature="0" />
|
||||||
<rect
|
<rect
|
||||||
rx="0.42198506"
|
rx="0.42198506"
|
||||||
|
@ -390,42 +292,114 @@
|
||||||
height="4.9067254"
|
height="4.9067254"
|
||||||
width="5.7913175"
|
width="5.7913175"
|
||||||
id="rect5019"
|
id="rect5019"
|
||||||
style="opacity:1;vector-effect:none;fill:#ffd700;fill-opacity:1;stroke:#282828;stroke-width:0.213968;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke fill markers" />
|
style="opacity:1;vector-effect:none;fill:#ffd700;fill-opacity:1;stroke:#282828;stroke-width:0.21396799;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;paint-order:stroke fill markers" />
|
||||||
</g>
|
</g>
|
||||||
</g>
|
|
||||||
<g
|
|
||||||
inkscape:groupmode="layer"
|
|
||||||
id="layer2"
|
|
||||||
inkscape:label="Layer 2">
|
|
||||||
<g
|
<g
|
||||||
aria-label="ALT EMU"
|
aria-label="ALTERNATIVE"
|
||||||
transform="scale(1.0680187,0.93631321)"
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:2.60125422px;line-height:1.25;font-family:FontAwesome;-inkscape-font-specification:FontAwesome;letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||||
id="text41"
|
id="text4942"
|
||||||
style="font-size:4.97619px;line-height:1.25;font-family:'Bebas Neue';-inkscape-font-specification:'Bebas Neue';display:inline;stroke-width:0.0339285;fill:#f0f0f0;fill-opacity:1">
|
transform="matrix(1.1491297,0,0,1.5857309,-1.3267257,-15.489625)">
|
||||||
<path
|
<path
|
||||||
d="m 1.7229501,4.7457954 c 0,0.024881 0.019905,0.03981 0.044786,0.03981 0.1642143,0.00995 0.3383809,0.014928 0.5075714,0.014928 0.1642142,0 0.2537857,-0.00498 0.4130238,-0.014928 0.034833,-0.1791429 0.06469,-0.3632619 0.094548,-0.547381 h 0.4627856 c 0.024881,0.1691905 0.054738,0.338381 0.089571,0.4976191 0.00498,0.029857 0.029857,0.049762 0.054738,0.049762 0.1741666,0.014928 0.3184761,0.014928 0.4876666,0.014928 0.1691904,0 0.2786666,-0.00498 0.4329285,-0.014928 C 4.1662594,3.8202241 3.9323785,2.8050813 3.7432833,1.8496528 3.7383071,1.8247719 3.7134261,1.7998909 3.6885452,1.7998909 3.449688,1.7949147 3.2158071,1.7899385 2.97695,1.7899385 c -0.233881,0 -0.4627857,0 -0.6867143,0.00995 -0.184119,0.9205952 -0.393119,1.8809999 -0.5424047,2.7916426 -0.00995,0.049762 -0.024881,0.1443096 -0.024881,0.1542619 z M 2.8674738,3.5913193 c 0.03981,-0.3732142 0.079619,-0.7464285 0.1244047,-1.1146665 0.049762,0.3732142 0.099524,0.7464285 0.1542619,1.1146665 z"
|
d="m 3.9524717,26.040316 q 0,-0.01016 0.012066,-0.07938 0.033659,-0.208938 0.076844,-0.432484 0.043185,-0.22418 0.1117727,-0.555688 0.068588,-0.332142 0.089545,-0.435659 0.1270144,-0.0057 0.3492895,-0.0057 0.2070334,0 0.3619909,0.0057 0.010161,0 0.019052,0.0076 0.00889,0.007 0.010796,0.01778 0.027943,0.141621 0.094626,0.462967 0.067318,0.321347 0.1143129,0.56839 0.04763,0.246408 0.081289,0.467413 -0.1200285,0.0057 -0.221005,0.0057 -0.1619433,0 -0.2489481,-0.0057 -0.010796,-6.35e-4 -0.019687,-0.0076 -0.00826,-0.0076 -0.010161,-0.01778 -0.028578,-0.146067 -0.04636,-0.254029 H 4.4922827 q -0.020322,0.135905 -0.0489,0.279432 -0.1219338,0.0057 -0.2102088,0.0057 -0.1054219,0 -0.2597444,-0.0057 -0.00953,0 -0.015242,-0.0057 -0.00572,-0.0064 -0.00572,-0.01524 z m 0.5823608,-0.588711 h 0.1428912 q -0.015242,-0.104152 -0.04128,-0.296579 -0.026038,-0.193062 -0.037469,-0.273081 -0.012701,0.103517 -0.033659,0.297214 -0.020957,0.193062 -0.030483,0.272446 z"
|
||||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.97619px;font-family:Digitalt;-inkscape-font-specification:Digitalt;fill:#f0f0f0;stroke-width:0.0339285;fill-opacity:1"
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:digitalt;-inkscape-font-specification:digitalt;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||||
id="path975" />
|
id="path4944"
|
||||||
|
inkscape:connector-curvature="0" />
|
||||||
<path
|
<path
|
||||||
d="m 4.4946808,3.2927479 c 0,0.497619 0.00995,0.9753333 0.019905,1.4430952 0,0.029857 0.019905,0.049762 0.049762,0.049762 0.1642143,0.00995 0.8857619,0.024881 1.0549523,0.024881 0.1642143,0 0.5772381,-0.00498 0.7364762,-0.014929 0,-0.1244047 0,-0.2438333 0,-0.3632618 0,-0.1393334 0,-0.2786667 0,-0.4329286 C 6.3507997,3.974486 6.3308949,3.949605 6.306014,3.949605 6.1368235,3.9446288 5.7138474,3.9396526 5.5446569,3.9396526 h -0.019905 c 0,-0.2089999 0.00498,-0.4229761 0.00498,-0.6469047 0,-0.497619 -0.00995,-0.9753332 -0.019905,-1.4430951 0,-0.024881 -0.024881,-0.049762 -0.049762,-0.049762 -0.1691905,-0.00498 -0.3433572,-0.00995 -0.5125476,-0.00995 -0.1642143,0 -0.2786667,0.00498 -0.4329286,0.00995 -0.014928,0.497619 -0.019905,0.995238 -0.019905,1.492857 z"
|
d="m 5.3655065,25.299187 q 0,-0.35564 0.010161,-0.762086 0.1206636,-0.0057 0.2222751,-0.0057 0.1047869,0 0.2603795,0.0057 0.010161,0 0.017782,0.0076 0.00762,0.0076 0.00762,0.01778 0.010161,0.477574 0.010161,0.736683 0,0.168929 -0.00191,0.329603 h 0.010796 q 0.2318012,0 0.3873938,0.0057 0.010161,0 0.017782,0.0076 0.00762,0.0076 0.00762,0.01778 0.00254,0.154958 0.00254,0.219735 0,0.09971 -0.00254,0.186711 -0.1206637,0.0057 -0.3746924,0.0057 -0.062872,0 -0.2680003,-0.0044 -0.2044932,-0.0038 -0.2718108,-0.0063 -0.010161,0 -0.017782,-0.0076 -0.00762,-0.0076 -0.00762,-0.01778 -0.010161,-0.477574 -0.010161,-0.736684 z"
|
||||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.97619px;font-family:Digitalt;-inkscape-font-specification:Digitalt;fill:#f0f0f0;stroke-width:0.0339285;fill-opacity:1"
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:digitalt;-inkscape-font-specification:digitalt;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||||
id="path977" />
|
id="path4946"
|
||||||
|
inkscape:connector-curvature="0" />
|
||||||
<path
|
<path
|
||||||
d="m 6.1318408,2.1780813 c 0,0.1343572 0,0.2687143 0.00498,0.4080476 0,0.029857 0.019905,0.049762 0.049762,0.049762 0.084595,0.00498 0.3234523,0.00995 0.5473809,0.014929 0,0.209 0,0.4130238 0,0.6419285 0,0.497619 0.00995,0.9753333 0.019905,1.4430952 0,0.029857 0.019905,0.049762 0.049762,0.049762 0.1642143,0.00995 0.338381,0.014928 0.5075714,0.014928 0.1642143,0 0.2786667,-0.00498 0.4379048,-0.014928 0.00995,-0.4976191 0.019905,-0.9952381 0.019905,-1.4928571 0,-0.2289047 -0.00498,-0.4329285 -0.00995,-0.6369523 0.2587619,0 0.5225,-0.00498 0.6070952,-0.00995 0,-0.1244047 0,-0.2488095 0,-0.3682381 0,-0.1443095 0,-0.2836428 0,-0.4279523 -0.00498,-0.024881 -0.024881,-0.049762 -0.049762,-0.049762 -0.1691904,-0.00498 -0.8608809,-0.00995 -1.0300713,-0.00995 -0.1642143,0 -0.995238,0.00498 -1.1494999,0.00995 -0.00498,0.1343571 -0.00498,0.2587619 -0.00498,0.3781904 z"
|
d="m 6.2012611,24.730163 q 0,-0.102247 0.00254,-0.193062 0.1212988,-0.0057 0.5880766,-0.0057 0.3689767,0 0.5245693,0.0057 0.010161,0 0.017782,0.0076 0.00762,0.0076 0.00762,0.01778 0.00254,0.143526 0.00254,0.215924 0,0.103517 -0.00254,0.190522 -0.04128,0.0019 -0.3073748,0.0044 0.00254,0.137175 0.00254,0.325791 0,0.355641 -0.010161,0.762087 -0.1206636,0.0057 -0.2222751,0.0057 -0.1047869,0 -0.2603795,-0.0057 -0.010161,0 -0.017782,-0.0076 -0.00762,-0.0076 -0.00762,-0.01778 -0.010161,-0.477574 -0.010161,-0.736684 0,-0.117488 0.00254,-0.328332 -0.1460665,-0.0032 -0.2819719,-0.007 -0.010161,0 -0.017782,-0.0076 -0.00762,-0.0076 -0.00762,-0.01778 -0.00254,-0.146067 -0.00254,-0.208304 z"
|
||||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.97619px;font-family:Digitalt;-inkscape-font-specification:Digitalt;fill:#f0f0f0;stroke-width:0.0339285;fill-opacity:1"
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:digitalt;-inkscape-font-specification:digitalt;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||||
id="path979" />
|
id="path4948"
|
||||||
|
inkscape:connector-curvature="0" />
|
||||||
<path
|
<path
|
||||||
d="m 10.067999,3.2927479 c 0,0.497619 0.01,0.9753333 0.0199,1.4430952 0,0.029857 0.0199,0.049762 0.04976,0.049762 0.164215,0.00995 0.885762,0.024881 1.054953,0.024881 0.164214,0 0.696666,-0.00498 0.855904,-0.014929 0,-0.1244047 0,-0.2438333 0,-0.3632618 0,-0.1393334 0,-0.2786667 0,-0.4329286 -0.005,-0.024881 -0.02488,-0.049762 -0.04976,-0.049762 -0.169191,-0.00498 -0.711596,-0.00995 -0.880786,-0.00995 h -0.06469 c 0,-0.084595 0,-0.1691904 0,-0.2587618 h 0.646905 c 0,-0.1194286 0,-0.2239286 0,-0.3284286 0,-0.1194286 0,-0.2388571 0,-0.3781904 -0.005,-0.024881 -0.02488,-0.049762 -0.04976,-0.049762 -0.129381,0 -0.398095,-0.00498 -0.597143,-0.00498 0,-0.089571 0,-0.1791429 0,-0.2637381 0.0846,0 0.154262,0 0.194072,0 0.164214,0 0.631976,0 0.791214,-0.00995 0,-0.1244047 0,-0.2438333 0,-0.3632619 0,-0.1393333 0,-0.2786666 0,-0.4329285 -0.005,-0.024881 -0.02488,-0.049762 -0.04976,-0.049762 -0.16919,-0.00498 -0.701643,-0.00995 -0.870833,-0.00995 -0.164214,0 -0.87581,0.00498 -1.030071,0.00995 -0.01493,0.497619 -0.0199,0.995238 -0.0199,1.492857 z"
|
d="m 7.4485421,25.299187 q 0,-0.35564 0.010161,-0.762086 0.1206637,-0.0057 0.5271097,-0.0057 0.2876875,0 0.4432801,0.0057 0.010161,0 0.017782,0.0076 0.00762,0.0076 0.00762,0.01778 0.00254,0.154958 0.00254,0.219735 0,0.09971 -0.00254,0.186711 -0.1073272,0.0051 -0.4039057,0.0051 -0.053346,0 -0.096531,-6.35e-4 -0.00127,0.08764 -0.00191,0.133365 0.2273557,0.0013 0.3041994,0.0044 0.010161,0 0.017782,0.0076 0.00762,0.0076 0.00762,0.01778 0.00191,0.104152 0.00191,0.191157 0,0.07811 -0.00191,0.169564 H 7.9521541 q 6.35e-4,0.04445 0.00191,0.132095 h 0.030483 q 0.3111852,0 0.4496309,0.0051 0.010161,0 0.017782,0.0076 0.00762,0.0076 0.00762,0.01778 0.00254,0.154958 0.00254,0.219735 0,0.09971 -0.00254,0.186711 -0.1206637,0.0057 -0.4356593,0.0057 -0.062872,0 -0.2680003,-0.0044 -0.2044932,-0.0038 -0.2718108,-0.0063 -0.010161,0 -0.017782,-0.0076 -0.00762,-0.0076 -0.00762,-0.01778 -0.010161,-0.477574 -0.010161,-0.736684 z"
|
||||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.97619px;font-family:Digitalt;-inkscape-font-specification:Digitalt;fill:#f0f0f0;stroke-width:0.0339285;fill-opacity:1"
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:digitalt;-inkscape-font-specification:digitalt;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||||
id="path981" />
|
id="path4950"
|
||||||
|
inkscape:connector-curvature="0" />
|
||||||
<path
|
<path
|
||||||
d="m 12.327182,3.2927479 c 0,0.497619 0.01,0.9753333 0.0199,1.4430952 0,0.029857 0.01991,0.049762 0.04976,0.049762 0.164215,0.00995 0.363262,0.014928 0.482691,0.014928 0.164214,0 0.253786,-0.00498 0.413024,-0.014928 l -0.0199,-1.3485476 0.542405,1.099738 0.04976,0.00995 0.05474,-0.00995 0.567285,-1.1544761 c 0,0.4677619 0.0199,0.915619 0.02986,1.3535238 0,0.029857 0.0199,0.049762 0.04976,0.049762 0.164215,0.00995 0.338381,0.014928 0.45781,0.014928 0.164214,0 0.243833,-0.00498 0.388143,-0.014928 0.01,-0.4976191 0.0199,-0.9952381 0.0199,-1.4928571 0,-0.497619 -0.01,-0.9753332 -0.0199,-1.4430951 0,-0.024881 -0.02488,-0.044786 -0.04976,-0.049762 -0.139334,-0.00498 -0.293596,-0.00995 -0.462786,-0.00995 -0.139333,0 -0.258762,0.00498 -0.348333,0.014929 -0.02488,0 -0.04479,0.024881 -0.05972,0.044786 l -0.627,1.2788809 -0.622023,-1.2788809 c -0.01,-0.019905 -0.02986,-0.044786 -0.05474,-0.049762 -0.149286,-0.00498 -0.263738,-0.00995 -0.432929,-0.00995 -0.164214,0 -0.253786,0.00498 -0.408048,0.00995 -0.01493,0.497619 -0.0199,0.995238 -0.0199,1.492857 z"
|
d="m 8.6069129,25.266164 q 0,-0.127015 0.00254,-0.35183 0.00254,-0.224816 0.00254,-0.35183 0.1270144,-0.01969 0.2699055,-0.03112 0.1435263,-0.01207 0.2508534,-0.01207 0.092721,0 0.1555926,0.0032 0.062872,0.0025 0.1352703,0.0127 0.073033,0.0095 0.1200286,0.02794 0.046995,0.01842 0.093991,0.05081 0.046995,0.03239 0.073033,0.07875 0.026673,0.04636 0.043185,0.113678 0.016512,0.06732 0.016512,0.154322 0,0.137811 -0.071128,0.242598 -0.071128,0.104786 -0.1981424,0.164483 0.08637,0.02985 0.1403509,0.121934 0.1263793,0.248313 0.2019528,0.571565 -0.1168532,0.01397 -0.2660951,0.01397 -0.1079622,0 -0.2038581,-0.0064 -0.012066,-6.35e-4 -0.023498,-0.0076 -0.011431,-0.007 -0.015242,-0.01778 -0.123839,-0.375963 -0.1924268,-0.607129 h -0.033659 q 0.00127,0.07113 0.00572,0.291498 0.00508,0.22037 0.00572,0.333413 -0.1041518,0.0044 -0.2229102,0.0044 -0.1073272,0 -0.2597444,-0.0044 -0.010796,0 -0.018417,-0.007 -0.00699,-0.0076 -0.00699,-0.01842 0,-0.117489 -0.00254,-0.379138 -0.00254,-0.26165 -0.00254,-0.390569 z m 0.5004366,-0.142256 h 0.043185 q 0.060332,0 0.097166,-0.02985 0.037469,-0.03048 0.037469,-0.08002 0,-0.06224 -0.025403,-0.09209 -0.025403,-0.03048 -0.09018,-0.03048 -0.033024,0 -0.060967,0.0019 -0.00127,0.148607 -0.00127,0.230532 z"
|
||||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.97619px;font-family:Digitalt;-inkscape-font-specification:Digitalt;fill:#f0f0f0;stroke-width:0.0339285;fill-opacity:1"
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:digitalt;-inkscape-font-specification:digitalt;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||||
id="path983" />
|
id="path4952"
|
||||||
|
inkscape:connector-curvature="0" />
|
||||||
<path
|
<path
|
||||||
d="m 15.696059,3.3126527 c 0,1.2539999 0.447857,1.5227142 1.348547,1.5227142 0.701643,-0.034833 1.109691,-0.442881 1.109691,-1.5227142 0,-0.497619 -0.01,-0.995238 -0.01991,-1.4629999 0,-0.024881 -0.02488,-0.049762 -0.04976,-0.049762 -0.16919,-0.00498 -0.343357,-0.00995 -0.512548,-0.00995 -0.164214,0 -0.278666,0.00498 -0.432928,0.00995 -0.01493,0.497619 -0.01991,1.1644285 -0.01991,1.6620475 0,0.4428809 -0.05474,0.5075714 -0.189095,0.5075714 -0.134357,0 -0.199048,-0.06469 -0.199048,-0.5075714 0,-0.497619 -0.01,-1.1445237 -0.0199,-1.6122856 0,-0.024881 -0.02488,-0.049762 -0.04976,-0.049762 -0.169191,-0.00498 -0.343357,-0.00995 -0.512548,-0.00995 -0.164214,0 -0.278667,0.00498 -0.432928,0.00995 -0.01493,0.497619 -0.0199,1.0151428 -0.0199,1.5127618 z"
|
d="m 9.9380235,25.299187 q 0,-0.35564 0.010161,-0.762086 0.1206635,-0.0057 0.2095735,-0.0057 0.07557,0 0.219735,0.0057 0.01842,6.35e-4 0.02794,0.0254 l 0.26292,0.650314 -0.0089,-0.675717 q 0.121299,-0.0057 0.222275,-0.0057 0.09907,0 0.234977,0.0057 0.0108,6.35e-4 0.01778,0.0083 0.0076,0.007 0.0076,0.01715 0.01016,0.477574 0.01016,0.736683 0,0.355641 -0.01016,0.762087 -0.105422,0.0057 -0.196873,0.0057 -0.108597,0 -0.232436,-0.0057 -0.01905,-6.35e-4 -0.02794,-0.0254 l -0.26292,-0.650314 0.0089,0.675717 q -0.120663,0.0057 -0.209573,0.0057 -0.100342,0 -0.2476786,-0.0057 -0.010796,-6.35e-4 -0.018417,-0.0076 -0.00699,-0.0076 -0.00699,-0.01778 -0.010161,-0.477574 -0.010161,-0.736684 z"
|
||||||
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.97619px;font-family:Digitalt;-inkscape-font-specification:Digitalt;fill:#f0f0f0;stroke-width:0.0339285;fill-opacity:1"
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:digitalt;-inkscape-font-specification:digitalt;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||||
id="path985" />
|
id="path4954"
|
||||||
|
inkscape:connector-curvature="0" />
|
||||||
|
<path
|
||||||
|
d="m 11.243096,26.040316 q 0,-0.01016 0.01207,-0.07938 0.03366,-0.208938 0.07684,-0.432484 0.04318,-0.22418 0.111773,-0.555688 0.06859,-0.332142 0.08955,-0.435659 0.127014,-0.0057 0.34929,-0.0057 0.207033,0 0.361991,0.0057 0.01016,0 0.01905,0.0076 0.0089,0.007 0.0108,0.01778 0.02794,0.141621 0.09463,0.462967 0.06732,0.321347 0.114313,0.56839 0.04763,0.246408 0.08129,0.467413 -0.120029,0.0057 -0.221005,0.0057 -0.161944,0 -0.248948,-0.0057 -0.0108,-6.35e-4 -0.01969,-0.0076 -0.0083,-0.0076 -0.01016,-0.01778 -0.02858,-0.146067 -0.04636,-0.254029 h -0.235612 q -0.02032,0.135905 -0.0489,0.279432 -0.121934,0.0057 -0.210209,0.0057 -0.105422,0 -0.259744,-0.0057 -0.0095,0 -0.01524,-0.0057 -0.0057,-0.0064 -0.0057,-0.01524 z m 0.582361,-0.588711 h 0.142891 q -0.01524,-0.104152 -0.04128,-0.296579 -0.02604,-0.193062 -0.03747,-0.273081 -0.0127,0.103517 -0.03366,0.297214 -0.02096,0.193062 -0.03048,0.272446 z"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:digitalt;-inkscape-font-specification:digitalt;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
id="path4956"
|
||||||
|
inkscape:connector-curvature="0" />
|
||||||
|
<path
|
||||||
|
d="m 12.521496,24.730163 q 0,-0.102247 0.0025,-0.193062 0.121299,-0.0057 0.588077,-0.0057 0.368977,0 0.524569,0.0057 0.01016,0 0.01778,0.0076 0.0076,0.0076 0.0076,0.01778 0.0025,0.143526 0.0025,0.215924 0,0.103517 -0.0025,0.190522 -0.04128,0.0019 -0.307375,0.0044 0.0025,0.137175 0.0025,0.325791 0,0.355641 -0.01016,0.762087 -0.120663,0.0057 -0.222275,0.0057 -0.104787,0 -0.260379,-0.0057 -0.01016,0 -0.01778,-0.0076 -0.0076,-0.0076 -0.0076,-0.01778 -0.01016,-0.477574 -0.01016,-0.736684 0,-0.117488 0.0025,-0.328332 -0.146066,-0.0032 -0.281972,-0.007 -0.01016,0 -0.01778,-0.0076 -0.0076,-0.0076 -0.0076,-0.01778 -0.0025,-0.146067 -0.0025,-0.208304 z"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:digitalt;-inkscape-font-specification:digitalt;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
id="path4958"
|
||||||
|
inkscape:connector-curvature="0" />
|
||||||
|
<path
|
||||||
|
d="m 13.768777,25.299187 q 0,-0.35564 0.01016,-0.762086 0.120664,-0.0057 0.222276,-0.0057 0.104786,0 0.260379,0.0057 0.01016,0 0.01778,0.0076 0.0076,0.0076 0.0076,0.01778 0.01016,0.477574 0.01016,0.736683 0,0.355641 -0.01016,0.762087 -0.120664,0.0057 -0.222275,0.0057 -0.104787,0 -0.26038,-0.0057 -0.01016,0 -0.01778,-0.0076 -0.0076,-0.0076 -0.0076,-0.01778 -0.01016,-0.477574 -0.01016,-0.736684 z"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:digitalt;-inkscape-font-specification:digitalt;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
id="path4960"
|
||||||
|
inkscape:connector-curvature="0" />
|
||||||
|
<path
|
||||||
|
d="m 14.377811,24.537101 q 0.120028,-0.0057 0.231166,-0.0057 0.161943,0 0.248948,0.0057 0.0108,6.35e-4 0.01969,0.0083 0.0089,0.007 0.0108,0.01715 0.02921,0.147337 0.05906,0.336588 0.03048,0.189252 0.04382,0.285147 0.01397,0.0959 0.04763,0.339764 0.0032,-0.02096 0.01461,-0.107327 0.01207,-0.08637 0.01588,-0.113678 0.0038,-0.02794 0.01461,-0.105422 0.0108,-0.07811 0.01651,-0.114313 0.0057,-0.0362 0.01588,-0.105422 0.01016,-0.06922 0.01778,-0.114313 0.0076,-0.04509 0.01778,-0.104787 0.01016,-0.06033 0.02032,-0.114313 0.01016,-0.05398 0.02096,-0.107327 0.121934,-0.0057 0.197507,-0.0057 0.115583,0 0.269906,0.0057 0.0095,0 0.01524,0.0064 0.0057,0.0057 0.0057,0.01461 0,0.0095 -0.01207,0.08002 -0.0959,0.593157 -0.288323,1.423196 -0.120663,0.0057 -0.323251,0.0057 -0.174645,0 -0.349925,-0.0057 -0.01016,0 -0.01905,-0.007 -0.0083,-0.0076 -0.0108,-0.01842 -0.102247,-0.448361 -0.175915,-0.805906 -0.07367,-0.358181 -0.124474,-0.692864 z"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:digitalt;-inkscape-font-specification:digitalt;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
id="path4962"
|
||||||
|
inkscape:connector-curvature="0" />
|
||||||
|
<path
|
||||||
|
d="m 15.762903,25.299187 q 0,-0.35564 0.01016,-0.762086 0.120664,-0.0057 0.527109,-0.0057 0.287688,0 0.443281,0.0057 0.01016,0 0.01778,0.0076 0.0076,0.0076 0.0076,0.01778 0.0025,0.154958 0.0025,0.219735 0,0.09971 -0.0025,0.186711 -0.107327,0.0051 -0.403905,0.0051 -0.05335,0 -0.09653,-6.35e-4 -0.0013,0.08764 -0.0019,0.133365 0.227355,0.0013 0.304199,0.0044 0.01016,0 0.01778,0.0076 0.0076,0.0076 0.0076,0.01778 0.0019,0.104152 0.0019,0.191157 0,0.07811 -0.0019,0.169564 h -0.329602 q 6.35e-4,0.04445 0.0019,0.132095 h 0.03048 q 0.311186,0 0.449631,0.0051 0.01016,0 0.01778,0.0076 0.0076,0.0076 0.0076,0.01778 0.0025,0.154958 0.0025,0.219735 0,0.09971 -0.0025,0.186711 -0.120664,0.0057 -0.435659,0.0057 -0.06287,0 -0.268001,-0.0044 -0.204493,-0.0038 -0.27181,-0.0063 -0.01016,0 -0.01778,-0.0076 -0.0076,-0.0076 -0.0076,-0.01778 -0.01016,-0.477574 -0.01016,-0.736684 z"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:digitalt;-inkscape-font-specification:digitalt;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||||
|
id="path4964"
|
||||||
|
inkscape:connector-curvature="0" />
|
||||||
|
</g>
|
||||||
|
<g
|
||||||
|
aria-label="EMULATOR"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:4.39663363px;line-height:1.25;font-family:FontAwesome;-inkscape-font-specification:FontAwesome;letter-spacing:0px;word-spacing:0px;fill:#f0f0f0;fill-opacity:1;stroke:none;stroke-width:0.10991583"
|
||||||
|
id="text5082"
|
||||||
|
transform="matrix(1,0,0,1.1141081,-0.03539297,-1.229734)">
|
||||||
|
<path
|
||||||
|
d="m 1.8968336,8.600587 q 0,-0.6011022 0.017174,-1.2880762 0.2039454,-0.00966 0.8909194,-0.00966 0.4862488,0 0.7492311,0.00966 0.017174,0 0.030055,0.012881 0.012881,0.012881 0.012881,0.030055 0.00429,0.2619088 0.00429,0.3713953 0,0.1685233 -0.00429,0.3155787 -0.181404,0.00859 -0.6826804,0.00859 -0.090165,0 -0.1631563,-0.00107 -0.00215,0.1481288 -0.00322,0.2254134 0.3842761,0.00215 0.5141571,0.00751 0.017174,0 0.030055,0.012881 0.012881,0.012881 0.012881,0.030055 0.00322,0.1760371 0.00322,0.3230925 0,0.1320278 -0.00322,0.286597 h -0.557093 q 0.00107,0.075138 0.00322,0.2232665 h 0.051523 q 0.5259645,0 0.759965,0.00859 0.017174,0 0.030055,0.012881 0.012881,0.012881 0.012881,0.030055 0.00429,0.2619088 0.00429,0.3713953 0,0.1685233 -0.00429,0.3155787 -0.2039454,0.00966 -0.7363503,0.00966 -0.1062662,0 -0.4529734,-0.00751 -0.3456338,-0.00644 -0.4594139,-0.010734 -0.017174,0 -0.030055,-0.012881 Q 1.9140079,9.8629018 1.9140079,9.8457274 1.8968336,9.038533 1.8968336,8.600587 Z"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:digitalt;-inkscape-font-specification:digitalt;fill:#f0f0f0;fill-opacity:1;stroke-width:0.10991583"
|
||||||
|
id="path5084"
|
||||||
|
inkscape:connector-curvature="0" />
|
||||||
|
<path
|
||||||
|
d="m 3.8461223,8.600587 q 0,-0.6011022 0.017174,-1.2880762 0.2039455,-0.00966 0.354221,-0.00966 0.1803307,0 0.3713953,0.00966 0.031128,0.00107 0.047229,0.042936 l 0.538846,1.0991583 0.5388453,-1.0991584 q 0.030055,-0.039716 0.052596,-0.041862 0.1341746,-0.010734 0.3016245,-0.010734 0.1803307,0 0.3971569,0.00966 0.018248,0.00107 0.030055,0.013954 0.012881,0.011807 0.012881,0.028982 0.017174,0.8071944 0.017174,1.2451403 0,0.6011023 -0.017174,1.2880763 -0.1846243,0.00966 -0.3327531,0.00966 -0.1341746,0 -0.3971568,-0.00966 -0.017174,0 -0.030055,-0.012881 -0.012881,-0.012881 -0.012881,-0.030055 -0.00322,-0.1202204 -0.00966,-0.3595879 -0.00644,-0.2404409 -0.010734,-0.4357992 -0.00429,-0.1964316 -0.00537,-0.3756889 l -0.489469,0.9993325 -0.047229,0.00859 -0.042936,-0.00859 -0.4658543,-0.9510296 0.015028,1.165709 q -0.2039454,0.00966 -0.354221,0.00966 -0.1556425,0 -0.4186248,-0.00966 -0.017174,0 -0.030055,-0.012881 -0.012879,-0.01288 -0.012879,-0.030055 Q 3.8461223,9.038533 3.8461223,8.600587 Z"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:digitalt;-inkscape-font-specification:digitalt;fill:#f0f0f0;fill-opacity:1;stroke-width:0.10991583"
|
||||||
|
id="path5086"
|
||||||
|
inkscape:connector-curvature="0" />
|
||||||
|
<path
|
||||||
|
d="m 6.7528808,8.616688 q 0,-0.6172032 0.017174,-1.3041772 0.2039454,-0.00966 0.3756889,-0.00966 0.1771105,0 0.4400927,0.00966 0.017174,0 0.030055,0.012881 0.012881,0.012881 0.012881,0.030055 0.017174,0.8071944 0.017174,1.3911223 0,0.140615 0.00966,0.2286335 0.00966,0.088019 0.033275,0.1341747 0.023615,0.045083 0.052596,0.06011 0.028982,0.015028 0.076211,0.015028 0.06333,0 0.095532,-0.028982 0.032202,-0.028982 0.049376,-0.124514 0.018248,-0.096606 0.018248,-0.2855236 0,-0.7460108 0.017174,-1.4329848 0.2050188,-0.00966 0.3756889,-0.00966 0.1771105,0 0.4400927,0.00966 0.017174,0 0.030055,0.012881 0.012881,0.012881 0.012881,0.030055 0.017174,0.8071944 0.017174,1.2612413 0,0.275863 -0.041862,0.4905424 -0.041863,0.2146793 -0.1202205,0.3660283 -0.078358,0.1502756 -0.197505,0.2501015 -0.1180737,0.099826 -0.265129,0.1492021 -0.1470554,0.049376 -0.3327531,0.059037 -0.1513489,0 -0.2726428,-0.012881 Q 7.5225064,9.906911 7.4087263,9.8779293 7.2949462,9.8489476 7.2080011,9.8006447 7.1210559,9.7512685 7.0448448,9.6793509 6.969707,9.6063599 6.9171105,9.5076074 6.8645141,9.4077815 6.8258718,9.2779005 6.7883029,9.1480194 6.7700552,8.9837897 6.7528808,8.8184866 6.7528808,8.616688 Z"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:digitalt;-inkscape-font-specification:digitalt;fill:#f0f0f0;fill-opacity:1;stroke-width:0.10991583"
|
||||||
|
id="path5088"
|
||||||
|
inkscape:connector-curvature="0" />
|
||||||
|
<path
|
||||||
|
d="m 9.1014735,8.600587 q 0,-0.6011022 0.017174,-1.2880762 0.2039454,-0.00966 0.3756889,-0.00966 0.1771105,0 0.4400928,0.00966 0.017174,0 0.030055,0.012881 0.012881,0.012881 0.012881,0.030055 0.017174,0.8071944 0.017174,1.2451403 0,0.2855236 -0.00322,0.557093 h 0.018248 q 0.39179,0 0.654772,0.00966 0.01717,0 0.03006,0.012881 0.01288,0.012881 0.01288,0.030055 0.0043,0.2619088 0.0043,0.3713953 0,0.1685233 -0.0043,0.3155787 -0.203945,0.00966 -0.633304,0.00966 -0.1062648,0 -0.452972,-0.00751 -0.3456338,-0.00644 -0.4594139,-0.010734 -0.017174,0 -0.030055,-0.012881 Q 9.1186478,9.8629018 9.1186478,9.8457274 9.1014735,9.038533 9.1014735,8.600587 Z"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:digitalt;-inkscape-font-specification:digitalt;fill:#f0f0f0;fill-opacity:1;stroke-width:0.10991583"
|
||||||
|
id="path5090"
|
||||||
|
inkscape:connector-curvature="0" />
|
||||||
|
<path
|
||||||
|
d="m 10.706202,9.8532412 q 0,-0.017174 0.02039,-0.1341746 0.05689,-0.3531476 0.129881,-0.7309833 0.07299,-0.3789091 0.188918,-0.9392223 0.115927,-0.5613865 0.151349,-0.7363502 0.214679,-0.00966 0.590368,-0.00966 0.349928,0 0.611837,0.00966 0.01717,0 0.0322,0.012881 0.01503,0.011807 0.01825,0.030055 0.04723,0.2393675 0.159936,0.7825063 0.11378,0.5431388 0.193212,0.9606902 0.08051,0.416478 0.137395,0.7900201 -0.202872,0.00966 -0.373543,0.00966 -0.273716,0 -0.420771,-0.00966 -0.01825,-0.00107 -0.03327,-0.012881 -0.01395,-0.012881 -0.01717,-0.030055 -0.0483,-0.2468813 -0.07836,-0.4293587 h -0.39823 q -0.03435,0.2297069 -0.08265,0.4722946 -0.206092,0.00966 -0.355294,0.00966 -0.178184,0 -0.439019,-0.00966 -0.0161,0 -0.02576,-0.00966 -0.0097,-0.010734 -0.0097,-0.025761 z m 0.984305,-0.9950389 h 0.241514 Q 11.906259,8.6821652 11.86225,8.3569259 11.818241,8.0306133 11.79892,7.8953653 11.777452,8.070329 11.74203,8.397715 11.70661,8.7240277 11.69051,8.8582023 Z"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:digitalt;-inkscape-font-specification:digitalt;fill:#f0f0f0;fill-opacity:1;stroke-width:0.10991583"
|
||||||
|
id="path5092"
|
||||||
|
inkscape:connector-curvature="0" />
|
||||||
|
<path
|
||||||
|
d="m 12.866949,7.6388234 q 0,-0.1728169 0.0043,-0.3263126 0.205019,-0.00966 0.993966,-0.00966 0.623643,0 0.886625,0.00966 0.01717,0 0.03006,0.012881 0.01288,0.012881 0.01288,0.030055 0.0043,0.2425876 0.0043,0.3649549 0,0.1749637 -0.0043,0.3220191 -0.06977,0.00322 -0.519524,0.00751 0.0043,0.2318538 0.0043,0.5506526 0,0.6011023 -0.01717,1.2880763 -0.203945,0.00966 -0.375688,0.00966 -0.177111,0 -0.440093,-0.00966 -0.01717,0 -0.03005,-0.012881 -0.01288,-0.012881 -0.01288,-0.030055 -0.01717,-0.8071944 -0.01717,-1.2451404 0,-0.1985784 0.0043,-0.5549462 -0.246881,-0.00537 -0.476588,-0.011807 -0.01717,0 -0.03006,-0.012881 -0.01288,-0.012881 -0.01288,-0.030055 -0.0043,-0.2468813 -0.0043,-0.3520742 z"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:digitalt;-inkscape-font-specification:digitalt;fill:#f0f0f0;fill-opacity:1;stroke-width:0.10991583"
|
||||||
|
id="path5094"
|
||||||
|
inkscape:connector-curvature="0" />
|
||||||
|
<path
|
||||||
|
d="m 14.837707,8.5995136 q 0,-0.3123585 0.06762,-0.5560195 0.06762,-0.2447345 0.194284,-0.4078909 0.127735,-0.1631563 0.308065,-0.2522482 0.181404,-0.089092 0.408965,-0.1008993 0.209312,0 0.373542,0.028982 0.164229,0.027908 0.300551,0.092312 0.137395,0.06333 0.234,0.1653031 0.09661,0.1019727 0.163157,0.2479547 0.06762,0.145982 0.09875,0.3402668 0.0322,0.1942849 0.0322,0.4422395 0,0.3123585 -0.0687,0.557093 -0.0687,0.2436611 -0.198579,0.4068174 -0.128807,0.162083 -0.310211,0.2511749 -0.181404,0.088019 -0.410038,0.099826 -0.208239,0 -0.372469,-0.027908 Q 15.495699,9.8575348 15.359378,9.7942044 15.22413,9.730874 15.127524,9.6299746 15.031991,9.5280019 14.965441,9.38202 14.899964,9.236038 14.868835,9.0428265 14.837707,8.8485417 14.837707,8.5995136 Z m 0.897359,0 q 0,0.1502756 0.0097,0.2554685 0.01073,0.1051929 0.02576,0.1663765 0.0161,0.06011 0.04293,0.093386 0.02684,0.033275 0.05367,0.042936 0.02684,0.00966 0.06548,0.00966 0.03864,0 0.0644,-0.00966 0.02576,-0.00966 0.05152,-0.042936 0.02576,-0.033275 0.03972,-0.093386 0.01503,-0.061184 0.02361,-0.1663765 0.0097,-0.1051929 0.0097,-0.2554685 0,-0.124514 -0.0064,-0.2178995 -0.0064,-0.094459 -0.0204,-0.1556426 -0.01395,-0.061184 -0.03005,-0.099826 -0.0161,-0.039716 -0.04186,-0.059037 -0.02469,-0.019321 -0.0483,-0.025761 -0.02254,-0.00751 -0.05474,-0.00751 -0.0322,0 -0.05474,0.00644 -0.02147,0.00644 -0.04401,0.026835 -0.02254,0.019321 -0.03757,0.059037 -0.01395,0.038642 -0.02576,0.1008993 -0.01181,0.061184 -0.01717,0.1545692 -0.0054,0.092312 -0.0054,0.2178995 z"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:digitalt;-inkscape-font-specification:digitalt;fill:#f0f0f0;fill-opacity:1;stroke-width:0.10991583"
|
||||||
|
id="path5096"
|
||||||
|
inkscape:connector-curvature="0" />
|
||||||
|
<path
|
||||||
|
d="m 17.250702,8.5447704 q 0,-0.2146794 0.0043,-0.5946619 0.0043,-0.3799825 0.0043,-0.5946618 0.214679,-0.033275 0.456193,-0.052596 0.242588,-0.020395 0.423992,-0.020395 0.156716,0 0.262982,0.00537 0.106266,0.00429 0.228634,0.021468 0.12344,0.016101 0.202872,0.047229 0.07943,0.031129 0.158862,0.085872 0.07943,0.054743 0.123441,0.1331012 0.04508,0.078358 0.07299,0.1921381 0.02791,0.11378 0.02791,0.2608354 0,0.2329271 -0.12022,0.4100376 -0.12022,0.1771105 -0.3349,0.2780098 0.145982,0.05045 0.237221,0.2060922 0.213606,0.4196982 0.34134,0.9660572 -0.197505,0.023615 -0.449753,0.023615 -0.182478,0 -0.344561,-0.010734 -0.02039,-0.00107 -0.03972,-0.012881 -0.01932,-0.011807 -0.02576,-0.030055 -0.209312,-0.635451 -0.325239,-1.0261674 h -0.05689 q 0.0021,0.1202204 0.0097,0.4926891 0.0086,0.3724687 0.0097,0.5635334 -0.176037,0.00751 -0.376762,0.00751 -0.181404,0 -0.43902,-0.00751 -0.01825,0 -0.03113,-0.011807 -0.01181,-0.012881 -0.01181,-0.031129 0,-0.1985784 -0.0043,-0.6408179 -0.0043,-0.4422395 -0.0043,-0.6601391 z m 0.845837,-0.2404409 h 0.07299 q 0.101973,0 0.16423,-0.05045 0.06333,-0.051523 0.06333,-0.135248 0,-0.1051929 -0.04294,-0.1556425 -0.04294,-0.051523 -0.152422,-0.051523 -0.05582,0 -0.103046,0.00322 -0.0021,0.2511749 -0.0021,0.3896431 z"
|
||||||
|
style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-family:digitalt;-inkscape-font-specification:digitalt;fill:#f0f0f0;fill-opacity:1;stroke-width:0.10991583"
|
||||||
|
id="path5098"
|
||||||
|
inkscape:connector-curvature="0" />
|
||||||
</g>
|
</g>
|
||||||
</g>
|
</g>
|
||||||
</svg>
|
</svg>
|
||||||
|
|
Before Width: | Height: | Size: 51 KiB After Width: | Height: | Size: 52 KiB |
|
@ -10,8 +10,8 @@
|
||||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
width="80"
|
width="80"
|
||||||
height="112"
|
height="92"
|
||||||
viewBox="0 0 21.166666 29.633334"
|
viewBox="0 0 21.166666 24.341667"
|
||||||
version="1.1"
|
version="1.1"
|
||||||
id="svg4842"
|
id="svg4842"
|
||||||
inkscape:version="0.92.5 (2060ec1f9f, 2020-04-08)"
|
inkscape:version="0.92.5 (2060ec1f9f, 2020-04-08)"
|
||||||
|
@ -25,9 +25,9 @@
|
||||||
borderopacity="1.0"
|
borderopacity="1.0"
|
||||||
inkscape:pageopacity="0.0"
|
inkscape:pageopacity="0.0"
|
||||||
inkscape:pageshadow="2"
|
inkscape:pageshadow="2"
|
||||||
inkscape:zoom="9.5782066"
|
inkscape:zoom="11.584182"
|
||||||
inkscape:cx="1.1766084"
|
inkscape:cx="-13.360205"
|
||||||
inkscape:cy="50.443327"
|
inkscape:cy="53.651595"
|
||||||
inkscape:document-units="mm"
|
inkscape:document-units="mm"
|
||||||
inkscape:current-layer="layer1"
|
inkscape:current-layer="layer1"
|
||||||
showgrid="false"
|
showgrid="false"
|
||||||
|
@ -49,7 +49,7 @@
|
||||||
<dc:format>image/svg+xml</dc:format>
|
<dc:format>image/svg+xml</dc:format>
|
||||||
<dc:type
|
<dc:type
|
||||||
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
|
||||||
<dc:title></dc:title>
|
<dc:title />
|
||||||
</cc:Work>
|
</cc:Work>
|
||||||
</rdf:RDF>
|
</rdf:RDF>
|
||||||
</metadata>
|
</metadata>
|
||||||
|
@ -57,17 +57,17 @@
|
||||||
inkscape:label="Layer 1"
|
inkscape:label="Layer 1"
|
||||||
inkscape:groupmode="layer"
|
inkscape:groupmode="layer"
|
||||||
id="layer1"
|
id="layer1"
|
||||||
transform="translate(-1.9829021e-4,-266.11715)">
|
transform="translate(-1.9829021e-4,-271.40882)">
|
||||||
<rect
|
<rect
|
||||||
style="opacity:1;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.56895995;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:0;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke fill markers"
|
style="opacity:1;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.51566374;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:0;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke fill markers"
|
||||||
id="rect5286"
|
id="rect5286"
|
||||||
width="21.166666"
|
width="21.166666"
|
||||||
height="29.633333"
|
height="24.341667"
|
||||||
x="0.0001982902"
|
x="0.0001986081"
|
||||||
y="266.11713" />
|
y="271.40881" />
|
||||||
<g
|
<g
|
||||||
id="g16"
|
id="g16"
|
||||||
transform="matrix(0.10079384,0,0,0.10062218,-2.2563844e-4,266.11692)"
|
transform="matrix(0.10079384,0,0,0.08235571,-2.2531965e-4,271.45843)"
|
||||||
style="fill:#d7d7d7;fill-opacity:1">
|
style="fill:#d7d7d7;fill-opacity:1">
|
||||||
<rect
|
<rect
|
||||||
x="3.0257001"
|
x="3.0257001"
|
||||||
|
@ -79,132 +79,27 @@
|
||||||
</g>
|
</g>
|
||||||
<g
|
<g
|
||||||
id="g20"
|
id="g20"
|
||||||
transform="matrix(0.10079384,0,0,0.10062218,-2.2563844e-4,266.11692)">
|
transform="matrix(0.10079384,0,0,0.0816046,-2.2531965e-4,271.54688)"
|
||||||
|
style="fill:#000000;fill-opacity:1">
|
||||||
<rect
|
<rect
|
||||||
x="7.7007999"
|
x="7.7007999"
|
||||||
y="7.7174001"
|
y="7.7174001"
|
||||||
width="194.89999"
|
width="194.89999"
|
||||||
height="279.22"
|
height="279.22"
|
||||||
id="rect18"
|
id="rect18"
|
||||||
style="stroke-width:0.26458001" />
|
style="stroke-width:0.26458001;fill:#000000;fill-opacity:1" />
|
||||||
</g>
|
</g>
|
||||||
<rect
|
<rect
|
||||||
style="fill:#e6e6e6;fill-opacity:1;stroke-width:0.02664531"
|
style="fill:#e6e6e6;fill-opacity:1;stroke-width:0.02649944"
|
||||||
id="rect22"
|
id="rect22"
|
||||||
height="17.395565"
|
height="17.205626"
|
||||||
width="17.540144"
|
width="17.540144"
|
||||||
y="271.47574"
|
y="276.70892"
|
||||||
x="1.8325089" />
|
x="1.8134596" />
|
||||||
<g
|
|
||||||
style="fill:#f0f0f0;fill-opacity:1;stroke-width:0.25971001"
|
|
||||||
id="g56-4"
|
|
||||||
aria-label="CONTENT RATED BY"
|
|
||||||
transform="matrix(0.09632353,0,0,0.10097609,0.27971034,266.32293)">
|
|
||||||
<path
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
id="path28-8"
|
|
||||||
d="m 17.401,237.59 c 0,6.2332 2.6179,7.5296 6.8066,7.5296 1.0222,0 1.845,-0.0748 2.8672,-0.27426 l -0.52358,-3.9394 -2.2938,0.17453 c -1.0222,0.0499 -1.6705,-0.52358 -1.6705,-3.4906 0,-2.96702 0.74798,-3.5155 1.6705,-3.4656 l 2.2938,0.14959 0.54852,-3.9144 c -1.0222,-0.22439 -1.8201,-0.42385 -2.8423,-0.42385 -4.2136,0 -6.8565,1.7952 -6.8565,7.6543 z"
|
|
||||||
style="fill:#f0f0f0;fill-opacity:1" />
|
|
||||||
<path
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
id="path30-0"
|
|
||||||
d="m 27.488,237.59 c 0,5.7844 2.1691,7.6294 6.9313,7.6294 3.5155,-0.17452 5.7345,-2.7176 5.7345,-7.6294 0,-5.7594 -2.2439,-7.6543 -6.9811,-7.6543 -3.5155,0.17453 -5.6846,2.7675 -5.6846,7.6543 z m 5.186,0 c 0,-2.967 0.42385,-3.2911 1.097,-3.2911 0.67315,0 1.1718,0.32413 1.1718,3.2911 0,2.96697 -0.42385,3.2911 -1.097,3.2911 -0.67315,0 -1.1718,-0.32412 -1.1718,-3.2911 z"
|
|
||||||
style="fill:#f0f0f0;fill-opacity:1" />
|
|
||||||
<path
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
id="path32-8"
|
|
||||||
d="m 41.19,237.59 c 0,2.4933 0.04986,4.8868 0.09973,7.2304 0,0.1496 0.09973,0.24933 0.24933,0.24933 0.79784,0.0499 1.5708,0.0748 2.4185,0.0748 0.82278,0 1.2716,-0.0249 2.0694,-0.0748 l -0.09973,-6.6071 2.593,6.3578 c 0.04987,0.1496 0.12466,0.24933 0.27426,0.24933 0.79784,0.0499 1.5209,0.0748 2.2689,0.0748 0.82278,0 1.2466,-0.0249 1.9447,-0.0748 0.04987,-2.4933 0.09973,-4.9865 0.09973,-7.4798 0,-2.4933 -0.04987,-4.8868 -0.09973,-7.2305 0,-0.12466 -0.12466,-0.22439 -0.24933,-0.24932 -0.74798,-0.0249 -1.471,-0.0499 -2.3187,-0.0499 -0.82278,0 -1.3962,0.0249 -2.1691,0.0499 l 0.0748,6.6321 -2.5681,-6.3828 c -0.0748,-0.12466 -0.1496,-0.22439 -0.27426,-0.24932 -0.79784,-0.0249 -1.4461,-0.0499 -2.1691,-0.0499 -0.82278,0 -1.2716,0.0249 -2.0445,0.0499 -0.0748,2.4933 -0.09973,4.9865 -0.09973,7.4798 z"
|
|
||||||
style="fill:#f0f0f0;fill-opacity:1" />
|
|
||||||
<path
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
id="path34-1"
|
|
||||||
d="m 53.871,232.01 c 0,0.67318 0,1.3464 0.02493,2.0445 0,0.14959 0.09973,0.24932 0.24933,0.24932 0.42385,0.0249 1.6206,0.0499 2.7426,0.0748 v 3.2163 c 0,2.4933 0.04987,4.8868 0.09973,7.2304 0,0.1496 0.09973,0.24933 0.24933,0.24933 0.82278,0.0499 1.6954,0.0748 2.5431,0.0748 0.82278,0 1.3962,-0.0249 2.1941,-0.0748 0.04987,-2.4933 0.09973,-4.9865 0.09973,-7.4798 0,-1.1469 -0.02493,-2.1691 -0.04986,-3.1914 1.2965,0 2.6179,-0.0249 3.0418,-0.0499 v -1.845 -2.1442 c -0.02493,-0.12466 -0.12466,-0.24932 -0.24933,-0.24932 -0.84771,-0.0249 -4.3133,-0.0499 -5.161,-0.0499 -0.82278,0 -4.9865,0.0249 -5.7594,0.0499 -0.02493,0.67318 -0.02493,1.2965 -0.02493,1.8949 z"
|
|
||||||
style="fill:#f0f0f0;fill-opacity:1" />
|
|
||||||
<path
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
id="path36-0"
|
|
||||||
d="m 65.853,237.59 c 0,2.4933 0.04986,4.8868 0.09973,7.2304 0,0.1496 0.09973,0.24933 0.24933,0.24933 0.82278,0.0499 4.438,0.12466 5.2857,0.12466 0.82278,0 3.4906,-0.0249 4.2884,-0.0748 v -1.8201 -2.1691 c -0.02493,-0.12467 -0.12466,-0.24933 -0.24933,-0.24933 -0.84771,-0.0249 -3.5654,-0.0499 -4.4131,-0.0499 h -0.32412 v -1.2965 h 3.2412 v -1.6456 -1.8949 c -0.02493,-0.12466 -0.12466,-0.24932 -0.24933,-0.24932 -0.64825,0 -1.9946,-0.0249 -2.9919,-0.0249 v -1.3214 h 0.97237 c 0.82278,0 3.1664,0 3.9643,-0.0499 v -1.8201 -2.1691 c -0.02493,-0.12466 -0.12466,-0.24932 -0.24933,-0.24932 -0.84771,-0.0249 -3.5155,-0.0499 -4.3632,-0.0499 -0.82278,0 -4.3881,0.0249 -5.161,0.0499 -0.0748,2.4933 -0.09973,4.9865 -0.09973,7.4798 z"
|
|
||||||
style="fill:#f0f0f0;fill-opacity:1" />
|
|
||||||
<path
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
id="path38-2"
|
|
||||||
d="m 76.912,237.59 c 0,2.4933 0.04986,4.8868 0.09973,7.2304 0,0.1496 0.09973,0.24933 0.24933,0.24933 0.79784,0.0499 1.5708,0.0748 2.4185,0.0748 0.82278,0 1.2716,-0.0249 2.0694,-0.0748 l -0.09973,-6.6071 2.593,6.3578 c 0.04987,0.1496 0.12466,0.24933 0.27426,0.24933 0.79784,0.0499 1.5209,0.0748 2.2689,0.0748 0.82278,0 1.2466,-0.0249 1.9447,-0.0748 0.04987,-2.4933 0.09973,-4.9865 0.09973,-7.4798 0,-2.4933 -0.04986,-4.8868 -0.09973,-7.2305 0,-0.12466 -0.12466,-0.22439 -0.24933,-0.24932 -0.74798,-0.0249 -1.471,-0.0499 -2.3187,-0.0499 -0.82278,0 -1.3962,0.0249 -2.1691,0.0499 l 0.0748,6.6321 -2.5681,-6.3828 c -0.0748,-0.12466 -0.1496,-0.22439 -0.27426,-0.24932 -0.79784,-0.0249 -1.4461,-0.0499 -2.1691,-0.0499 -0.82278,0 -1.2716,0.0249 -2.0445,0.0499 -0.0748,2.4933 -0.09973,4.9865 -0.09973,7.4798 z"
|
|
||||||
style="fill:#f0f0f0;fill-opacity:1" />
|
|
||||||
<path
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
id="path40-2"
|
|
||||||
d="m 89.593,232.01 c 0,0.67318 0,1.3464 0.02493,2.0445 0,0.14959 0.09973,0.24932 0.24933,0.24932 0.42385,0.0249 1.6206,0.0499 2.7426,0.0748 v 3.2163 c 0,2.4933 0.04986,4.8868 0.09973,7.2304 0,0.1496 0.09973,0.24933 0.24933,0.24933 0.82278,0.0499 1.6954,0.0748 2.5431,0.0748 0.82278,0 1.3962,-0.0249 2.1941,-0.0748 0.04987,-2.4933 0.09973,-4.9865 0.09973,-7.4798 0,-1.1469 -0.02493,-2.1691 -0.04986,-3.1914 1.2965,0 2.6179,-0.0249 3.0418,-0.0499 v -1.845 -2.1442 c -0.0249,-0.12466 -0.12466,-0.24932 -0.24932,-0.24932 -0.84771,-0.0249 -4.3133,-0.0499 -5.1611,-0.0499 -0.82278,0 -4.9865,0.0249 -5.7594,0.0499 -0.02493,0.67318 -0.02493,1.2965 -0.02493,1.8949 z"
|
|
||||||
style="fill:#f0f0f0;fill-opacity:1" />
|
|
||||||
<path
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
id="path42-9"
|
|
||||||
d="m 106.77,237.27 c 0,2.4933 0.0499,5.2109 0.0499,7.5546 0,0.1496 0.0997,0.24933 0.24933,0.24933 0.84771,0.0499 1.6954,0.0499 2.5431,0.0499 0.72305,0 1.4461,0 2.1941,-0.0499 -0.0249,-1.9448 -0.0997,-4.089 -0.12466,-6.1334 h 0.32412 c 0.49865,1.7204 1.1968,3.8396 1.8949,5.9589 0.0499,0.1496 0.24933,0.24933 0.37399,0.24933 0.67318,0.0499 1.3464,0.0748 2.0195,0.0748 0.87264,0 1.7702,-0.0499 2.593,-0.14959 -0.42385,-1.87 -0.9973,-3.6651 -1.9697,-5.6098 -0.34906,-0.57345 -0.82278,-0.97237 -1.3962,-1.1718 1.6456,-0.77291 2.6678,-2.1691 2.6678,-4.0142 0,-4.0391 -2.5431,-4.3383 -6.2581,-4.3383 -1.3962,0 -3.4656,0.17453 -5.1112,0.42385 0,2.4933 -0.0499,4.4131 -0.0499,6.9063 z m 4.9117,-1.3962 v -2.2439 c 0.17453,-0.0249 0.39892,-0.0249 0.59838,-0.0249 0.89758,0 1.1469,0.42386 1.1469,1.1968 0,0.64824 -0.54852,1.0721 -1.3214,1.0721 z"
|
|
||||||
style="fill:#f0f0f0;fill-opacity:1" />
|
|
||||||
<path
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
id="path44-75"
|
|
||||||
d="m 118.65,244.87 c 0,0.12466 0.0997,0.19946 0.22439,0.19946 0.82278,0.0499 1.6954,0.0748 2.5431,0.0748 0.82277,0 1.2716,-0.0249 2.0694,-0.0748 0.17453,-0.89758 0.32413,-1.8201 0.47372,-2.7426 h 2.3187 c 0.12466,0.84771 0.27425,1.6954 0.44878,2.4933 0.0249,0.1496 0.1496,0.24933 0.27426,0.24933 0.87264,0.0748 1.5957,0.0748 2.4434,0.0748 0.8477,0 1.3962,-0.0249 2.1691,-0.0748 -0.72304,-4.8369 -1.8949,-9.9232 -2.8423,-14.71 -0.0249,-0.12466 -0.1496,-0.24932 -0.27426,-0.24932 -1.1968,-0.0249 -2.3686,-0.0499 -3.5654,-0.0499 -1.1718,0 -2.3187,0 -3.4407,0.0499 -0.92251,4.6125 -1.9697,9.4245 -2.7177,13.987 -0.0499,0.24932 -0.12466,0.72304 -0.12466,0.77291 z m 5.7345,-5.7844 c 0.19946,-1.8699 0.39892,-3.7399 0.62331,-5.5849 0.24933,1.87 0.49866,3.7399 0.77291,5.5849 z"
|
|
||||||
style="fill:#f0f0f0;fill-opacity:1" />
|
|
||||||
<path
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
id="path46-6"
|
|
||||||
d="m 130.96,232.01 c 0,0.67318 0,1.3464 0.0249,2.0445 0,0.14959 0.0997,0.24932 0.24933,0.24932 0.42385,0.0249 1.6206,0.0499 2.7426,0.0748 v 3.2163 c 0,2.4933 0.0499,4.8868 0.0997,7.2304 0,0.1496 0.0997,0.24933 0.24932,0.24933 0.82278,0.0499 1.6954,0.0748 2.5431,0.0748 0.82277,0 1.3962,-0.0249 2.1941,-0.0748 0.0499,-2.4933 0.0997,-4.9865 0.0997,-7.4798 0,-1.1469 -0.0249,-2.1691 -0.0499,-3.1914 1.2965,0 2.6179,-0.0249 3.0418,-0.0499 v -1.845 -2.1442 c -0.0249,-0.12466 -0.12467,-0.24932 -0.24933,-0.24932 -0.84771,-0.0249 -4.3133,-0.0499 -5.161,-0.0499 -0.82277,0 -4.9865,0.0249 -5.7594,0.0499 -0.0249,0.67318 -0.0249,1.2965 -0.0249,1.8949 z"
|
|
||||||
style="fill:#f0f0f0;fill-opacity:1" />
|
|
||||||
<path
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
id="path48-4"
|
|
||||||
d="m 142.94,237.59 c 0,2.4933 0.0499,4.8868 0.0997,7.2304 0,0.1496 0.0997,0.24933 0.24933,0.24933 0.82277,0.0499 4.438,0.12466 5.2857,0.12466 0.82277,0 3.4906,-0.0249 4.2884,-0.0748 v -1.8201 -2.1691 c -0.0249,-0.12467 -0.12466,-0.24933 -0.24932,-0.24933 -0.84771,-0.0249 -3.5654,-0.0499 -4.4131,-0.0499 h -0.32413 v -1.2965 h 3.2412 v -1.6456 -1.8949 c -0.0249,-0.12466 -0.12466,-0.24932 -0.24932,-0.24932 -0.64825,0 -1.9946,-0.0249 -2.9919,-0.0249 v -1.3214 h 0.97238 c 0.82277,0 3.1664,0 3.9643,-0.0499 v -1.8201 -2.1691 c -0.0249,-0.12466 -0.12466,-0.24932 -0.24933,-0.24932 -0.8477,-0.0249 -3.5155,-0.0499 -4.3632,-0.0499 -0.82278,0 -4.3881,0.0249 -5.161,0.0499 -0.0748,2.4933 -0.0997,4.9865 -0.0997,7.4798 z"
|
|
||||||
style="fill:#f0f0f0;fill-opacity:1" />
|
|
||||||
<path
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
id="path50-6"
|
|
||||||
d="m 158.98,237.59 c 0,-1.1968 0,-2.2439 0.0249,-3.2911 h 0.42385 c 0.67318,0 1.1718,0.32413 1.1718,3.2911 0,2.96697 -0.49865,3.316 -1.1718,3.316 H 159.0049 C 158.98,239.8588 158.98,238.8117 158.98,237.59 Z m -4.9366,0 c 0,2.4933 0.0499,4.6375 0.0499,6.9811 0,0.14959 0.0997,0.24932 0.24933,0.24932 1.7204,0.17453 3.2911,0.29919 4.6624,0.29919 4.1887,0 6.8066,-1.2965 6.8066,-7.5296 0,-5.8592 -2.6429,-7.6543 -6.8565,-7.6543 -1.3962,0 -3.2163,0.17453 -4.8619,0.42385 0,2.4933 -0.0499,4.7372 -0.0499,7.2305 z"
|
|
||||||
style="fill:#f0f0f0;fill-opacity:1" />
|
|
||||||
<path
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
id="path52-3"
|
|
||||||
d="m 176.93,235.6 c 0,-0.77291 0,-1.4212 0.0249,-2.0445 0.0499,-0.0249 0.19946,-0.0249 0.29919,-0.0249 0.64825,0 1.2965,0.32413 1.2965,0.99731 0,0.69811 -0.67318,1.0721 -1.4461,1.0721 z m 0.0249,3.69 h 0.62332 c 0.67318,0 1.1469,0.42386 1.1469,0.99731 0,0.64825 -0.37399,1.0222 -1.3214,1.0222 h -0.39892 c -0.0249,-0.67319 -0.0499,-1.3464 -0.0499,-2.0196 z m -4.9117,-2.0195 c 0,2.4933 0.0499,5.0115 0.0499,7.3551 0,0.1496 0.0997,0.27426 0.24932,0.29919 1.7204,0.19946 3.6152,0.27426 5.3106,0.27426 3.3659,0 6.0586,-0.67318 6.0586,-4.6375 0,-1.1968 -0.82278,-2.2938 -2.1941,-3.0667 0.89757,-0.77291 1.4461,-1.8949 1.4461,-3.2163 0,-4.0391 -2.5431,-4.3383 -6.0088,-4.3383 -1.3962,0 -3.2163,0.17453 -4.8618,0.42385 0,2.4933 -0.0499,4.4131 -0.0499,6.9063 z"
|
|
||||||
style="fill:#f0f0f0;fill-opacity:1" />
|
|
||||||
<path
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
id="path54-7"
|
|
||||||
d="m 183.35,230.21 c 0.42386,1.8949 1.097,4.438 2.0694,6.3578 0.57345,0.97237 1.2716,1.7453 2.0195,2.3437 -0.0249,2.0195 -0.0249,3.9892 -0.0249,5.909 0,0.1496 0.0997,0.24933 0.24932,0.24933 0.82278,0.0499 1.7453,0.0748 2.593,0.0748 0.82278,0 1.4461,-0.0249 2.2439,-0.0748 -0.0249,-2.0445 -0.0499,-4.089 -0.0748,-6.1584 0.74798,-0.59839 1.4461,-1.3713 2.0195,-2.3437 0.97237,-1.9198 1.6456,-4.4629 2.0694,-6.3578 -0.82277,-0.0997 -1.7204,-0.1496 -2.593,-0.1496 -0.67318,0 -1.3464,0.0249 -2.0195,0.0748 -0.12466,0 -0.32412,0.0997 -0.37399,0.24933 -0.54851,1.6705 -1.1469,3.7399 -1.5957,5.4353 -0.47372,-1.6954 -1.0472,-3.7648 -1.5957,-5.4353 -0.0499,-0.1496 -0.24932,-0.24933 -0.37399,-0.24933 -0.67318,-0.0499 -1.3464,-0.0748 -2.0195,-0.0748 -0.89757,0 -1.7702,0.0499 -2.593,0.1496 z"
|
|
||||||
style="fill:#f0f0f0;fill-opacity:1" />
|
|
||||||
</g>
|
|
||||||
<g
|
|
||||||
id="g5256"
|
|
||||||
transform="matrix(1.0104997,0,0,1.0207455,-0.11128094,-6.092617)"
|
|
||||||
style="fill:#f0f0f0;fill-opacity:1">
|
|
||||||
<path
|
|
||||||
d="m 2.2271284,292.95117 c 0,0.40604 0.015331,0.79582 0.030663,1.17749 0,0.0243 0.030663,0.0406 0.076656,0.0406 0.2529687,0.008 1.364477,0.0203 1.625048,0.0203 0.2529687,0 1.073192,-0.004 1.3184891,-0.0122 v -0.29642 -0.35327 c -0.00767,-0.0203 -0.038327,-0.0406 -0.076656,-0.0406 -0.2606263,-0.004 -1.096179,-0.008 -1.3568192,-0.008 h -0.099653 v -0.21114 h 0.9965315 v -0.268 -0.30859 c -0.00767,-0.0203 -0.038327,-0.0406 -0.076656,-0.0406 -0.1993091,0 -0.6132565,-0.004 -0.919871,-0.004 v -0.21521 h 0.2989565 c 0.2529687,0 0.9735306,0 1.2188276,-0.008 v -0.29642 -0.35326 c -0.00767,-0.0203 -0.038327,-0.0406 -0.076656,-0.0406 -0.2606264,-0.004 -1.0808497,-0.008 -1.3414899,-0.008 -0.2529687,0 -1.3491477,0.004 -1.5867594,0.008 -0.022997,0.40604 -0.030663,0.81206 -0.030663,1.21812 z"
|
|
||||||
id="path78-4"
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
style="fill:#f0f0f0;fill-opacity:1;stroke-width:0.03670401" />
|
|
||||||
<path
|
|
||||||
d="m 5.6153964,294.14527 c 0.5289244,0.0325 1.0961791,0.0446 1.6174179,0.0446 1.0348618,0 1.8780861,-0.15023 1.8780861,-0.79582 0,-0.5644 -0.9505434,-0.71463 -1.5867594,-0.81618 -0.3142859,-0.0487 -0.5519252,-0.0853 -0.5519252,-0.15834 0,-0.0731 0.1533072,-0.1137 0.3909464,-0.1137 0.4752649,0 1.0195325,0.0812 1.3798065,0.16647 l 0.1763081,-0.67809 c -0.5135951,-0.0527 -1.0348617,-0.0894 -1.4795233,-0.0894 -1.0501911,0 -1.8167688,0.0487 -1.8167688,0.70652 0,0.62531 0.8508821,0.75525 1.4258361,0.84049 0.2989567,0.0446 0.5212666,0.0772 0.5212666,0.15836 0,0.065 -0.1226499,0.14617 -0.4139474,0.14617 -0.3449586,0 -0.8202234,-0.0528 -1.3568193,-0.14212 z"
|
|
||||||
id="path80-9"
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
style="fill:#f0f0f0;fill-opacity:1;stroke-width:0.03670401" />
|
|
||||||
<path
|
|
||||||
d="m 9.4307297,292.9475 c 0,0.10149 0.00613,0.19489 0.01226,0.29641 0,0.0243 0.024523,0.0406 0.061303,0.0406 0.2023048,0.008 0.9931183,0.0203 1.2015133,0.0203 0.202306,0 0.919554,-0.004 1.054426,-0.0122 0,-0.0853 0.0061,-0.17459 0.0061,-0.2558 0,-0.20302 -0.0061,-0.24769 -0.0061,-0.34514 -0.0061,-0.0203 -0.03065,-0.0406 -0.06131,-0.0406 -0.208428,-0.004 -0.692729,-0.008 -0.901169,-0.008 -0.202303,0 -1.1647903,0.004 -1.354836,0.008 -0.00613,0.13399 -0.01226,0.21926 -0.01226,0.29642 z"
|
|
||||||
id="path82-1"
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
style="fill:#f0f0f0;fill-opacity:1;stroke-width:0.03282337" />
|
|
||||||
<path
|
|
||||||
d="m 13.651876,292.95117 c 0,-0.19489 0,-0.36544 0.0077,-0.53598 h 0.130314 c 0.206967,0 0.360288,0.0528 0.360288,0.53598 0,0.48319 -0.153307,0.54004 -0.360288,0.54004 h -0.130314 c -0.0077,-0.17054 -0.0077,-0.34108 -0.0077,-0.54004 z m -1.517812,0 c 0,0.40604 0.01533,0.75525 0.01533,1.13692 0,0.0243 0.03066,0.0406 0.07666,0.0406 0.528925,0.0284 1.011861,0.0487 1.433466,0.0487 1.28783,0 2.092697,-0.21115 2.092697,-1.22628 0,-0.95418 -0.812553,-1.24657 -2.108095,-1.24657 -0.429277,0 -0.98886,0.0284 -1.494784,0.0691 0,0.40604 -0.01533,0.7715 -0.01533,1.17749 z"
|
|
||||||
id="path84-7"
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
style="fill:#f0f0f0;fill-opacity:1;stroke-width:0.03670401" />
|
|
||||||
<path
|
|
||||||
d="m 15.999759,292.92458 c 0,0.3953 0.01492,0.77476 0.02985,1.14634 0,0.0237 0.02985,0.0395 0.07463,0.0395 0.246278,0.008 1.328384,0.0198 1.582062,0.0198 0.246277,0 1.044804,-0.004 1.283611,-0.0118 v -0.28858 -0.34391 c -0.0075,-0.0198 -0.03731,-0.0395 -0.07463,-0.0395 -0.253731,-0.004 -1.067182,-0.008 -1.320928,-0.008 h -0.09702 v -0.20557 h 0.970171 v -0.2609 -0.30043 c -0.0075,-0.0198 -0.03731,-0.0395 -0.07463,-0.0395 -0.194037,0 -0.597034,-0.004 -0.895539,-0.004 v -0.20951 h 0.291049 c 0.246277,0 0.947778,0 1.186587,-0.008 v -0.28857 -0.34391 c -0.0075,-0.0198 -0.03731,-0.0395 -0.07463,-0.0395 -0.253731,-0.004 -1.052258,-0.008 -1.306003,-0.008 -0.246277,0 -1.313459,0.004 -1.544785,0.008 -0.02239,0.39529 -0.02985,0.79057 -0.02985,1.18589 z"
|
|
||||||
id="path86-0"
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
style="fill:#f0f0f0;fill-opacity:1;stroke-width:0.03573308" />
|
|
||||||
</g>
|
|
||||||
<g
|
<g
|
||||||
id="g68"
|
id="g68"
|
||||||
aria-label="BROKEN"
|
aria-label="BROKEN"
|
||||||
transform="matrix(0.1103491,0,0,0.0919063,-2.2531608e-4,266.11696)"
|
transform="matrix(0.1103491,0,0,0.0919063,-2.2531608e-4,271.40862)"
|
||||||
style="fill:#f0f0f0;fill-opacity:1;stroke-width:0.35387999">
|
style="fill:#f0f0f0;fill-opacity:1;stroke-width:0.35387999">
|
||||||
<path
|
<path
|
||||||
id="path56"
|
id="path56"
|
||||||
|
@ -238,8 +133,8 @@
|
||||||
style="fill:#f0f0f0;fill-opacity:1" />
|
style="fill:#f0f0f0;fill-opacity:1" />
|
||||||
</g>
|
</g>
|
||||||
<path
|
<path
|
||||||
style="fill:#ef0000;fill-opacity:1;stroke:#282828;stroke-width:0.222;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:normal"
|
style="fill:#f80000;fill-opacity:1;stroke:#282828;stroke-width:0.222;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:normal"
|
||||||
d="m 7.6575407,274.70439 c -1.874665,0 -3.397725,1.53959 -3.397725,3.39245 0,0.64602 0.295505,1.19991 0.567407,1.60492 0.271901,0.40498 0.54932,0.67684 0.54932,0.67684 l 5.2260383,5.21817 5.226037,-5.21817 c 0,0 1.116728,-0.98945 1.116728,-2.28176 0,-1.85276 -1.523577,-3.39194 -3.398242,-3.39194 -0.711151,0 -1.346631,0.23624 -1.861385,0.51898 l -0.149862,0.0826 -0.931726,2.56446 h 1.640727 l -1.642277,2.81105 v -1.90671 H 8.9954441 l 0.700216,-3.45539 -0.304375,-0.15683 C 8.9034531,274.91234 8.3154227,274.7049 7.6575407,274.7049 Z"
|
d="m 7.6384917,280.08465 c -1.874665,0 -3.397725,1.53959 -3.397725,3.39245 0,0.64602 0.295505,1.19991 0.567407,1.60492 0.271901,0.40498 0.54932,0.67684 0.54932,0.67684 l 5.2260383,5.21817 5.226037,-5.21817 c 0,0 1.116728,-0.98945 1.116728,-2.28176 0,-1.85276 -1.523577,-3.39194 -3.398242,-3.39194 -0.711151,0 -1.346631,0.23624 -1.861385,0.51898 l -0.149862,0.0826 -0.931726,2.56446 h 1.640727 l -1.642277,2.81105 v -1.90671 H 8.9763951 l 0.700216,-3.45539 -0.304375,-0.15683 c -0.487832,-0.25072 -1.0758624,-0.45816 -1.7337444,-0.45816 z"
|
||||||
id="path84"
|
id="path84"
|
||||||
inkscape:connector-curvature="0" />
|
inkscape:connector-curvature="0" />
|
||||||
</g>
|
</g>
|
||||||
|
|
Before Width: | Height: | Size: 24 KiB After Width: | Height: | Size: 9.1 KiB |
|
@ -7,10 +7,10 @@
|
||||||
xmlns="http://www.w3.org/2000/svg"
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
width="80.000008"
|
width="80"
|
||||||
height="112"
|
height="92"
|
||||||
version="1.1"
|
version="1.1"
|
||||||
viewBox="0 0 21.166668 29.633334"
|
viewBox="0 0 21.166666 24.341667"
|
||||||
id="svg92"
|
id="svg92"
|
||||||
sodipodi:docname="badge_completed.svg"
|
sodipodi:docname="badge_completed.svg"
|
||||||
inkscape:version="0.92.5 (2060ec1f9f, 2020-04-08)">
|
inkscape:version="0.92.5 (2060ec1f9f, 2020-04-08)">
|
||||||
|
@ -33,9 +33,9 @@
|
||||||
fit-margin-left="0"
|
fit-margin-left="0"
|
||||||
fit-margin-right="0"
|
fit-margin-right="0"
|
||||||
fit-margin-bottom="0"
|
fit-margin-bottom="0"
|
||||||
inkscape:zoom="12.442155"
|
inkscape:zoom="9.6754505"
|
||||||
inkscape:cx="-34.776172"
|
inkscape:cx="14.68785"
|
||||||
inkscape:cy="67.39851"
|
inkscape:cy="65.424484"
|
||||||
inkscape:window-x="0"
|
inkscape:window-x="0"
|
||||||
inkscape:window-y="0"
|
inkscape:window-y="0"
|
||||||
inkscape:window-maximized="1"
|
inkscape:window-maximized="1"
|
||||||
|
@ -54,15 +54,15 @@
|
||||||
</rdf:RDF>
|
</rdf:RDF>
|
||||||
</metadata>
|
</metadata>
|
||||||
<rect
|
<rect
|
||||||
style="opacity:1;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.56895995;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:0;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke fill markers"
|
style="opacity:1;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.51566374;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:0;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke fill markers"
|
||||||
id="rect5286"
|
id="rect5286"
|
||||||
width="21.166666"
|
width="21.166666"
|
||||||
height="29.633333"
|
height="24.341667"
|
||||||
x="-6.884097e-12"
|
x="2.2368853e-07"
|
||||||
y="-2.3812499e-05" />
|
y="-2.6645353e-15" />
|
||||||
<g
|
<g
|
||||||
id="g16"
|
id="g16"
|
||||||
transform="matrix(0.10079384,0,0,0.10062218,-4.2392865e-4,-2.2129516e-4)"
|
transform="matrix(0.10079384,0,0,0.08235571,-4.2317622e-4,0.04964061)"
|
||||||
style="fill:#d7d7d7;fill-opacity:1">
|
style="fill:#d7d7d7;fill-opacity:1">
|
||||||
<rect
|
<rect
|
||||||
x="3.0257001"
|
x="3.0257001"
|
||||||
|
@ -74,133 +74,28 @@
|
||||||
</g>
|
</g>
|
||||||
<g
|
<g
|
||||||
id="g20"
|
id="g20"
|
||||||
transform="matrix(0.10079384,0,0,0.10062218,-4.2392865e-4,-2.2129516e-4)">
|
transform="matrix(0.10079384,0,0,0.0816046,-4.2317622e-4,0.13809161)"
|
||||||
|
style="fill:#0e0e0e;fill-opacity:1">
|
||||||
<rect
|
<rect
|
||||||
x="7.7007999"
|
x="7.7007999"
|
||||||
y="7.7174001"
|
y="7.7174001"
|
||||||
width="194.89999"
|
width="194.89999"
|
||||||
height="279.22"
|
height="279.22"
|
||||||
id="rect18"
|
id="rect18"
|
||||||
style="stroke-width:0.26458001" />
|
style="stroke-width:0.26458001;fill:#0e0e0e;fill-opacity:1" />
|
||||||
</g>
|
</g>
|
||||||
<rect
|
<rect
|
||||||
style="fill:#e6e6e6;fill-opacity:1;stroke-width:0.02664531"
|
style="fill:#e6e6e6;fill-opacity:1;stroke-width:0.02649944"
|
||||||
id="rect22"
|
id="rect22"
|
||||||
height="17.395565"
|
height="17.205626"
|
||||||
width="17.540144"
|
width="17.540144"
|
||||||
y="5.3586006"
|
y="5.3001137"
|
||||||
x="1.8323107" />
|
x="1.8323119" />
|
||||||
<g
|
|
||||||
style="fill:#f0f0f0;fill-opacity:1;stroke-width:0.25971001"
|
|
||||||
id="g56-4"
|
|
||||||
aria-label="CONTENT RATED BY"
|
|
||||||
transform="matrix(0.09632353,0,0,0.10097609,0.27951205,0.20578757)">
|
|
||||||
<path
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
id="path28-8"
|
|
||||||
d="m 17.401,237.59 c 0,6.2332 2.6179,7.5296 6.8066,7.5296 1.0222,0 1.845,-0.0748 2.8672,-0.27426 l -0.52358,-3.9394 -2.2938,0.17453 c -1.0222,0.0499 -1.6705,-0.52358 -1.6705,-3.4906 0,-2.96702 0.74798,-3.5155 1.6705,-3.4656 l 2.2938,0.14959 0.54852,-3.9144 c -1.0222,-0.22439 -1.8201,-0.42385 -2.8423,-0.42385 -4.2136,0 -6.8565,1.7952 -6.8565,7.6543 z"
|
|
||||||
style="fill:#f0f0f0;fill-opacity:1" />
|
|
||||||
<path
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
id="path30-0"
|
|
||||||
d="m 27.488,237.59 c 0,5.7844 2.1691,7.6294 6.9313,7.6294 3.5155,-0.17452 5.7345,-2.7176 5.7345,-7.6294 0,-5.7594 -2.2439,-7.6543 -6.9811,-7.6543 -3.5155,0.17453 -5.6846,2.7675 -5.6846,7.6543 z m 5.186,0 c 0,-2.967 0.42385,-3.2911 1.097,-3.2911 0.67315,0 1.1718,0.32413 1.1718,3.2911 0,2.96697 -0.42385,3.2911 -1.097,3.2911 -0.67315,0 -1.1718,-0.32412 -1.1718,-3.2911 z"
|
|
||||||
style="fill:#f0f0f0;fill-opacity:1" />
|
|
||||||
<path
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
id="path32-8"
|
|
||||||
d="m 41.19,237.59 c 0,2.4933 0.04986,4.8868 0.09973,7.2304 0,0.1496 0.09973,0.24933 0.24933,0.24933 0.79784,0.0499 1.5708,0.0748 2.4185,0.0748 0.82278,0 1.2716,-0.0249 2.0694,-0.0748 l -0.09973,-6.6071 2.593,6.3578 c 0.04987,0.1496 0.12466,0.24933 0.27426,0.24933 0.79784,0.0499 1.5209,0.0748 2.2689,0.0748 0.82278,0 1.2466,-0.0249 1.9447,-0.0748 0.04987,-2.4933 0.09973,-4.9865 0.09973,-7.4798 0,-2.4933 -0.04987,-4.8868 -0.09973,-7.2305 0,-0.12466 -0.12466,-0.22439 -0.24933,-0.24932 -0.74798,-0.0249 -1.471,-0.0499 -2.3187,-0.0499 -0.82278,0 -1.3962,0.0249 -2.1691,0.0499 l 0.0748,6.6321 -2.5681,-6.3828 c -0.0748,-0.12466 -0.1496,-0.22439 -0.27426,-0.24932 -0.79784,-0.0249 -1.4461,-0.0499 -2.1691,-0.0499 -0.82278,0 -1.2716,0.0249 -2.0445,0.0499 -0.0748,2.4933 -0.09973,4.9865 -0.09973,7.4798 z"
|
|
||||||
style="fill:#f0f0f0;fill-opacity:1" />
|
|
||||||
<path
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
id="path34-1"
|
|
||||||
d="m 53.871,232.01 c 0,0.67318 0,1.3464 0.02493,2.0445 0,0.14959 0.09973,0.24932 0.24933,0.24932 0.42385,0.0249 1.6206,0.0499 2.7426,0.0748 v 3.2163 c 0,2.4933 0.04987,4.8868 0.09973,7.2304 0,0.1496 0.09973,0.24933 0.24933,0.24933 0.82278,0.0499 1.6954,0.0748 2.5431,0.0748 0.82278,0 1.3962,-0.0249 2.1941,-0.0748 0.04987,-2.4933 0.09973,-4.9865 0.09973,-7.4798 0,-1.1469 -0.02493,-2.1691 -0.04986,-3.1914 1.2965,0 2.6179,-0.0249 3.0418,-0.0499 v -1.845 -2.1442 c -0.02493,-0.12466 -0.12466,-0.24932 -0.24933,-0.24932 -0.84771,-0.0249 -4.3133,-0.0499 -5.161,-0.0499 -0.82278,0 -4.9865,0.0249 -5.7594,0.0499 -0.02493,0.67318 -0.02493,1.2965 -0.02493,1.8949 z"
|
|
||||||
style="fill:#f0f0f0;fill-opacity:1" />
|
|
||||||
<path
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
id="path36-0"
|
|
||||||
d="m 65.853,237.59 c 0,2.4933 0.04986,4.8868 0.09973,7.2304 0,0.1496 0.09973,0.24933 0.24933,0.24933 0.82278,0.0499 4.438,0.12466 5.2857,0.12466 0.82278,0 3.4906,-0.0249 4.2884,-0.0748 v -1.8201 -2.1691 c -0.02493,-0.12467 -0.12466,-0.24933 -0.24933,-0.24933 -0.84771,-0.0249 -3.5654,-0.0499 -4.4131,-0.0499 h -0.32412 v -1.2965 h 3.2412 v -1.6456 -1.8949 c -0.02493,-0.12466 -0.12466,-0.24932 -0.24933,-0.24932 -0.64825,0 -1.9946,-0.0249 -2.9919,-0.0249 v -1.3214 h 0.97237 c 0.82278,0 3.1664,0 3.9643,-0.0499 v -1.8201 -2.1691 c -0.02493,-0.12466 -0.12466,-0.24932 -0.24933,-0.24932 -0.84771,-0.0249 -3.5155,-0.0499 -4.3632,-0.0499 -0.82278,0 -4.3881,0.0249 -5.161,0.0499 -0.0748,2.4933 -0.09973,4.9865 -0.09973,7.4798 z"
|
|
||||||
style="fill:#f0f0f0;fill-opacity:1" />
|
|
||||||
<path
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
id="path38-2"
|
|
||||||
d="m 76.912,237.59 c 0,2.4933 0.04986,4.8868 0.09973,7.2304 0,0.1496 0.09973,0.24933 0.24933,0.24933 0.79784,0.0499 1.5708,0.0748 2.4185,0.0748 0.82278,0 1.2716,-0.0249 2.0694,-0.0748 l -0.09973,-6.6071 2.593,6.3578 c 0.04987,0.1496 0.12466,0.24933 0.27426,0.24933 0.79784,0.0499 1.5209,0.0748 2.2689,0.0748 0.82278,0 1.2466,-0.0249 1.9447,-0.0748 0.04987,-2.4933 0.09973,-4.9865 0.09973,-7.4798 0,-2.4933 -0.04986,-4.8868 -0.09973,-7.2305 0,-0.12466 -0.12466,-0.22439 -0.24933,-0.24932 -0.74798,-0.0249 -1.471,-0.0499 -2.3187,-0.0499 -0.82278,0 -1.3962,0.0249 -2.1691,0.0499 l 0.0748,6.6321 -2.5681,-6.3828 c -0.0748,-0.12466 -0.1496,-0.22439 -0.27426,-0.24932 -0.79784,-0.0249 -1.4461,-0.0499 -2.1691,-0.0499 -0.82278,0 -1.2716,0.0249 -2.0445,0.0499 -0.0748,2.4933 -0.09973,4.9865 -0.09973,7.4798 z"
|
|
||||||
style="fill:#f0f0f0;fill-opacity:1" />
|
|
||||||
<path
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
id="path40-2"
|
|
||||||
d="m 89.593,232.01 c 0,0.67318 0,1.3464 0.02493,2.0445 0,0.14959 0.09973,0.24932 0.24933,0.24932 0.42385,0.0249 1.6206,0.0499 2.7426,0.0748 v 3.2163 c 0,2.4933 0.04986,4.8868 0.09973,7.2304 0,0.1496 0.09973,0.24933 0.24933,0.24933 0.82278,0.0499 1.6954,0.0748 2.5431,0.0748 0.82278,0 1.3962,-0.0249 2.1941,-0.0748 0.04987,-2.4933 0.09973,-4.9865 0.09973,-7.4798 0,-1.1469 -0.02493,-2.1691 -0.04986,-3.1914 1.2965,0 2.6179,-0.0249 3.0418,-0.0499 v -1.845 -2.1442 c -0.0249,-0.12466 -0.12466,-0.24932 -0.24932,-0.24932 -0.84771,-0.0249 -4.3133,-0.0499 -5.1611,-0.0499 -0.82278,0 -4.9865,0.0249 -5.7594,0.0499 -0.02493,0.67318 -0.02493,1.2965 -0.02493,1.8949 z"
|
|
||||||
style="fill:#f0f0f0;fill-opacity:1" />
|
|
||||||
<path
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
id="path42-9"
|
|
||||||
d="m 106.77,237.27 c 0,2.4933 0.0499,5.2109 0.0499,7.5546 0,0.1496 0.0997,0.24933 0.24933,0.24933 0.84771,0.0499 1.6954,0.0499 2.5431,0.0499 0.72305,0 1.4461,0 2.1941,-0.0499 -0.0249,-1.9448 -0.0997,-4.089 -0.12466,-6.1334 h 0.32412 c 0.49865,1.7204 1.1968,3.8396 1.8949,5.9589 0.0499,0.1496 0.24933,0.24933 0.37399,0.24933 0.67318,0.0499 1.3464,0.0748 2.0195,0.0748 0.87264,0 1.7702,-0.0499 2.593,-0.14959 -0.42385,-1.87 -0.9973,-3.6651 -1.9697,-5.6098 -0.34906,-0.57345 -0.82278,-0.97237 -1.3962,-1.1718 1.6456,-0.77291 2.6678,-2.1691 2.6678,-4.0142 0,-4.0391 -2.5431,-4.3383 -6.2581,-4.3383 -1.3962,0 -3.4656,0.17453 -5.1112,0.42385 0,2.4933 -0.0499,4.4131 -0.0499,6.9063 z m 4.9117,-1.3962 v -2.2439 c 0.17453,-0.0249 0.39892,-0.0249 0.59838,-0.0249 0.89758,0 1.1469,0.42386 1.1469,1.1968 0,0.64824 -0.54852,1.0721 -1.3214,1.0721 z"
|
|
||||||
style="fill:#f0f0f0;fill-opacity:1" />
|
|
||||||
<path
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
id="path44-75"
|
|
||||||
d="m 118.65,244.87 c 0,0.12466 0.0997,0.19946 0.22439,0.19946 0.82278,0.0499 1.6954,0.0748 2.5431,0.0748 0.82277,0 1.2716,-0.0249 2.0694,-0.0748 0.17453,-0.89758 0.32413,-1.8201 0.47372,-2.7426 h 2.3187 c 0.12466,0.84771 0.27425,1.6954 0.44878,2.4933 0.0249,0.1496 0.1496,0.24933 0.27426,0.24933 0.87264,0.0748 1.5957,0.0748 2.4434,0.0748 0.8477,0 1.3962,-0.0249 2.1691,-0.0748 -0.72304,-4.8369 -1.8949,-9.9232 -2.8423,-14.71 -0.0249,-0.12466 -0.1496,-0.24932 -0.27426,-0.24932 -1.1968,-0.0249 -2.3686,-0.0499 -3.5654,-0.0499 -1.1718,0 -2.3187,0 -3.4407,0.0499 -0.92251,4.6125 -1.9697,9.4245 -2.7177,13.987 -0.0499,0.24932 -0.12466,0.72304 -0.12466,0.77291 z m 5.7345,-5.7844 c 0.19946,-1.8699 0.39892,-3.7399 0.62331,-5.5849 0.24933,1.87 0.49866,3.7399 0.77291,5.5849 z"
|
|
||||||
style="fill:#f0f0f0;fill-opacity:1" />
|
|
||||||
<path
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
id="path46-6"
|
|
||||||
d="m 130.96,232.01 c 0,0.67318 0,1.3464 0.0249,2.0445 0,0.14959 0.0997,0.24932 0.24933,0.24932 0.42385,0.0249 1.6206,0.0499 2.7426,0.0748 v 3.2163 c 0,2.4933 0.0499,4.8868 0.0997,7.2304 0,0.1496 0.0997,0.24933 0.24932,0.24933 0.82278,0.0499 1.6954,0.0748 2.5431,0.0748 0.82277,0 1.3962,-0.0249 2.1941,-0.0748 0.0499,-2.4933 0.0997,-4.9865 0.0997,-7.4798 0,-1.1469 -0.0249,-2.1691 -0.0499,-3.1914 1.2965,0 2.6179,-0.0249 3.0418,-0.0499 v -1.845 -2.1442 c -0.0249,-0.12466 -0.12467,-0.24932 -0.24933,-0.24932 -0.84771,-0.0249 -4.3133,-0.0499 -5.161,-0.0499 -0.82277,0 -4.9865,0.0249 -5.7594,0.0499 -0.0249,0.67318 -0.0249,1.2965 -0.0249,1.8949 z"
|
|
||||||
style="fill:#f0f0f0;fill-opacity:1" />
|
|
||||||
<path
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
id="path48-4"
|
|
||||||
d="m 142.94,237.59 c 0,2.4933 0.0499,4.8868 0.0997,7.2304 0,0.1496 0.0997,0.24933 0.24933,0.24933 0.82277,0.0499 4.438,0.12466 5.2857,0.12466 0.82277,0 3.4906,-0.0249 4.2884,-0.0748 v -1.8201 -2.1691 c -0.0249,-0.12467 -0.12466,-0.24933 -0.24932,-0.24933 -0.84771,-0.0249 -3.5654,-0.0499 -4.4131,-0.0499 h -0.32413 v -1.2965 h 3.2412 v -1.6456 -1.8949 c -0.0249,-0.12466 -0.12466,-0.24932 -0.24932,-0.24932 -0.64825,0 -1.9946,-0.0249 -2.9919,-0.0249 v -1.3214 h 0.97238 c 0.82277,0 3.1664,0 3.9643,-0.0499 v -1.8201 -2.1691 c -0.0249,-0.12466 -0.12466,-0.24932 -0.24933,-0.24932 -0.8477,-0.0249 -3.5155,-0.0499 -4.3632,-0.0499 -0.82278,0 -4.3881,0.0249 -5.161,0.0499 -0.0748,2.4933 -0.0997,4.9865 -0.0997,7.4798 z"
|
|
||||||
style="fill:#f0f0f0;fill-opacity:1" />
|
|
||||||
<path
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
id="path50-6"
|
|
||||||
d="m 158.98,237.59 c 0,-1.1968 0,-2.2439 0.0249,-3.2911 h 0.42385 c 0.67318,0 1.1718,0.32413 1.1718,3.2911 0,2.96697 -0.49865,3.316 -1.1718,3.316 H 159.0049 C 158.98,239.8588 158.98,238.8117 158.98,237.59 Z m -4.9366,0 c 0,2.4933 0.0499,4.6375 0.0499,6.9811 0,0.14959 0.0997,0.24932 0.24933,0.24932 1.7204,0.17453 3.2911,0.29919 4.6624,0.29919 4.1887,0 6.8066,-1.2965 6.8066,-7.5296 0,-5.8592 -2.6429,-7.6543 -6.8565,-7.6543 -1.3962,0 -3.2163,0.17453 -4.8619,0.42385 0,2.4933 -0.0499,4.7372 -0.0499,7.2305 z"
|
|
||||||
style="fill:#f0f0f0;fill-opacity:1" />
|
|
||||||
<path
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
id="path52-3"
|
|
||||||
d="m 176.93,235.6 c 0,-0.77291 0,-1.4212 0.0249,-2.0445 0.0499,-0.0249 0.19946,-0.0249 0.29919,-0.0249 0.64825,0 1.2965,0.32413 1.2965,0.99731 0,0.69811 -0.67318,1.0721 -1.4461,1.0721 z m 0.0249,3.69 h 0.62332 c 0.67318,0 1.1469,0.42386 1.1469,0.99731 0,0.64825 -0.37399,1.0222 -1.3214,1.0222 h -0.39892 c -0.0249,-0.67319 -0.0499,-1.3464 -0.0499,-2.0196 z m -4.9117,-2.0195 c 0,2.4933 0.0499,5.0115 0.0499,7.3551 0,0.1496 0.0997,0.27426 0.24932,0.29919 1.7204,0.19946 3.6152,0.27426 5.3106,0.27426 3.3659,0 6.0586,-0.67318 6.0586,-4.6375 0,-1.1968 -0.82278,-2.2938 -2.1941,-3.0667 0.89757,-0.77291 1.4461,-1.8949 1.4461,-3.2163 0,-4.0391 -2.5431,-4.3383 -6.0088,-4.3383 -1.3962,0 -3.2163,0.17453 -4.8618,0.42385 0,2.4933 -0.0499,4.4131 -0.0499,6.9063 z"
|
|
||||||
style="fill:#f0f0f0;fill-opacity:1" />
|
|
||||||
<path
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
id="path54-7"
|
|
||||||
d="m 183.35,230.21 c 0.42386,1.8949 1.097,4.438 2.0694,6.3578 0.57345,0.97237 1.2716,1.7453 2.0195,2.3437 -0.0249,2.0195 -0.0249,3.9892 -0.0249,5.909 0,0.1496 0.0997,0.24933 0.24932,0.24933 0.82278,0.0499 1.7453,0.0748 2.593,0.0748 0.82278,0 1.4461,-0.0249 2.2439,-0.0748 -0.0249,-2.0445 -0.0499,-4.089 -0.0748,-6.1584 0.74798,-0.59839 1.4461,-1.3713 2.0195,-2.3437 0.97237,-1.9198 1.6456,-4.4629 2.0694,-6.3578 -0.82277,-0.0997 -1.7204,-0.1496 -2.593,-0.1496 -0.67318,0 -1.3464,0.0249 -2.0195,0.0748 -0.12466,0 -0.32412,0.0997 -0.37399,0.24933 -0.54851,1.6705 -1.1469,3.7399 -1.5957,5.4353 -0.47372,-1.6954 -1.0472,-3.7648 -1.5957,-5.4353 -0.0499,-0.1496 -0.24932,-0.24933 -0.37399,-0.24933 -0.67318,-0.0499 -1.3464,-0.0748 -2.0195,-0.0748 -0.89757,0 -1.7702,0.0499 -2.593,0.1496 z"
|
|
||||||
style="fill:#f0f0f0;fill-opacity:1" />
|
|
||||||
</g>
|
|
||||||
<g
|
|
||||||
id="g5256"
|
|
||||||
transform="matrix(1.0104997,0,0,1.0207455,-0.11147923,-272.20975)"
|
|
||||||
style="fill:#f0f0f0;fill-opacity:1">
|
|
||||||
<path
|
|
||||||
d="m 2.2271284,292.95117 c 0,0.40604 0.015331,0.79582 0.030663,1.17749 0,0.0243 0.030663,0.0406 0.076656,0.0406 0.2529687,0.008 1.364477,0.0203 1.625048,0.0203 0.2529687,0 1.073192,-0.004 1.3184891,-0.0122 v -0.29642 -0.35327 c -0.00767,-0.0203 -0.038327,-0.0406 -0.076656,-0.0406 -0.2606263,-0.004 -1.096179,-0.008 -1.3568192,-0.008 h -0.099653 v -0.21114 h 0.9965315 v -0.268 -0.30859 c -0.00767,-0.0203 -0.038327,-0.0406 -0.076656,-0.0406 -0.1993091,0 -0.6132565,-0.004 -0.919871,-0.004 v -0.21521 h 0.2989565 c 0.2529687,0 0.9735306,0 1.2188276,-0.008 v -0.29642 -0.35326 c -0.00767,-0.0203 -0.038327,-0.0406 -0.076656,-0.0406 -0.2606264,-0.004 -1.0808497,-0.008 -1.3414899,-0.008 -0.2529687,0 -1.3491477,0.004 -1.5867594,0.008 -0.022997,0.40604 -0.030663,0.81206 -0.030663,1.21812 z"
|
|
||||||
id="path78-4"
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
style="fill:#f0f0f0;fill-opacity:1;stroke-width:0.03670401" />
|
|
||||||
<path
|
|
||||||
d="m 5.6153964,294.14527 c 0.5289244,0.0325 1.0961791,0.0446 1.6174179,0.0446 1.0348618,0 1.8780861,-0.15023 1.8780861,-0.79582 0,-0.5644 -0.9505434,-0.71463 -1.5867594,-0.81618 -0.3142859,-0.0487 -0.5519252,-0.0853 -0.5519252,-0.15834 0,-0.0731 0.1533072,-0.1137 0.3909464,-0.1137 0.4752649,0 1.0195325,0.0812 1.3798065,0.16647 l 0.1763081,-0.67809 c -0.5135951,-0.0527 -1.0348617,-0.0894 -1.4795233,-0.0894 -1.0501911,0 -1.8167688,0.0487 -1.8167688,0.70652 0,0.62531 0.8508821,0.75525 1.4258361,0.84049 0.2989567,0.0446 0.5212666,0.0772 0.5212666,0.15836 0,0.065 -0.1226499,0.14617 -0.4139474,0.14617 -0.3449586,0 -0.8202234,-0.0528 -1.3568193,-0.14212 z"
|
|
||||||
id="path80-9"
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
style="fill:#f0f0f0;fill-opacity:1;stroke-width:0.03670401" />
|
|
||||||
<path
|
|
||||||
d="m 9.4307297,292.9475 c 0,0.10149 0.00613,0.19489 0.01226,0.29641 0,0.0243 0.024523,0.0406 0.061303,0.0406 0.2023048,0.008 0.9931183,0.0203 1.2015133,0.0203 0.202306,0 0.919554,-0.004 1.054426,-0.0122 0,-0.0853 0.0061,-0.17459 0.0061,-0.2558 0,-0.20302 -0.0061,-0.24769 -0.0061,-0.34514 -0.0061,-0.0203 -0.03065,-0.0406 -0.06131,-0.0406 -0.208428,-0.004 -0.692729,-0.008 -0.901169,-0.008 -0.202303,0 -1.1647903,0.004 -1.354836,0.008 -0.00613,0.13399 -0.01226,0.21926 -0.01226,0.29642 z"
|
|
||||||
id="path82-1"
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
style="fill:#f0f0f0;fill-opacity:1;stroke-width:0.03282337" />
|
|
||||||
<path
|
|
||||||
d="m 13.651876,292.95117 c 0,-0.19489 0,-0.36544 0.0077,-0.53598 h 0.130314 c 0.206967,0 0.360288,0.0528 0.360288,0.53598 0,0.48319 -0.153307,0.54004 -0.360288,0.54004 h -0.130314 c -0.0077,-0.17054 -0.0077,-0.34108 -0.0077,-0.54004 z m -1.517812,0 c 0,0.40604 0.01533,0.75525 0.01533,1.13692 0,0.0243 0.03066,0.0406 0.07666,0.0406 0.528925,0.0284 1.011861,0.0487 1.433466,0.0487 1.28783,0 2.092697,-0.21115 2.092697,-1.22628 0,-0.95418 -0.812553,-1.24657 -2.108095,-1.24657 -0.429277,0 -0.98886,0.0284 -1.494784,0.0691 0,0.40604 -0.01533,0.7715 -0.01533,1.17749 z"
|
|
||||||
id="path84-7"
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
style="fill:#f0f0f0;fill-opacity:1;stroke-width:0.03670401" />
|
|
||||||
<path
|
|
||||||
d="m 15.999759,292.92458 c 0,0.3953 0.01492,0.77476 0.02985,1.14634 0,0.0237 0.02985,0.0395 0.07463,0.0395 0.246278,0.008 1.328384,0.0198 1.582062,0.0198 0.246277,0 1.044804,-0.004 1.283611,-0.0118 v -0.28858 -0.34391 c -0.0075,-0.0198 -0.03731,-0.0395 -0.07463,-0.0395 -0.253731,-0.004 -1.067182,-0.008 -1.320928,-0.008 h -0.09702 v -0.20557 h 0.970171 v -0.2609 -0.30043 c -0.0075,-0.0198 -0.03731,-0.0395 -0.07463,-0.0395 -0.194037,0 -0.597034,-0.004 -0.895539,-0.004 v -0.20951 h 0.291049 c 0.246277,0 0.947778,0 1.186587,-0.008 v -0.28857 -0.34391 c -0.0075,-0.0198 -0.03731,-0.0395 -0.07463,-0.0395 -0.253731,-0.004 -1.052258,-0.008 -1.306003,-0.008 -0.246277,0 -1.313459,0.004 -1.544785,0.008 -0.02239,0.39529 -0.02985,0.79057 -0.02985,1.18589 z"
|
|
||||||
id="path86-0"
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
style="fill:#f0f0f0;fill-opacity:1;stroke-width:0.03573308" />
|
|
||||||
</g>
|
|
||||||
<g
|
<g
|
||||||
style="fill:#f0f0f0;fill-opacity:1;stroke-width:0.29527"
|
style="fill:#f0f0f0;fill-opacity:1;stroke-width:0.29527"
|
||||||
id="g74"
|
id="g74"
|
||||||
aria-label="COMPLETED"
|
aria-label="COMPLETED"
|
||||||
transform="matrix(0.09207517,0,0,0.11015111,-4.2360629e-4,-1.9379813e-4)">
|
transform="matrix(0.09207517,0,0,0.11015111,-4.2465753e-4,-1.9389228e-4)">
|
||||||
<path
|
<path
|
||||||
inkscape:connector-curvature="0"
|
inkscape:connector-curvature="0"
|
||||||
id="path56"
|
id="path56"
|
||||||
|
@ -249,7 +144,7 @@
|
||||||
</g>
|
</g>
|
||||||
<path
|
<path
|
||||||
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#2df01e;fill-opacity:1;fill-rule:nonzero;stroke:#282828;stroke-width:0.22206067;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
|
style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;font-variant-ligatures:normal;font-variant-position:normal;font-variant-caps:normal;font-variant-numeric:normal;font-variant-alternates:normal;font-feature-settings:normal;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;writing-mode:lr-tb;direction:ltr;text-orientation:mixed;dominant-baseline:auto;baseline-shift:baseline;text-anchor:start;white-space:normal;shape-padding:0;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;vector-effect:none;fill:#2df01e;fill-opacity:1;fill-rule:nonzero;stroke:#282828;stroke-width:0.22206067;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
|
||||||
d="m 15.847809,8.6772534 -0.219108,0.2171871 -0.334863,0.3317137 -6.8259398,6.8163788 -3.109371,-3.103559 -1.719275,1.715831 3.974951,3.968698 0.853695,0.815097 0.853178,-0.815097 8.2444578,-8.230934 z"
|
d="M 15.847808,8.6772533 15.6287,8.8944404 15.293837,9.2261541 8.4678971,16.042533 l -3.109371,-3.103559 -1.719275,1.715831 3.974951,3.968698 0.853695,0.815097 0.853178,-0.815097 8.2444579,-8.230934 z"
|
||||||
id="path90-9-4"
|
id="path90-9-4"
|
||||||
inkscape:connector-curvature="0" />
|
inkscape:connector-curvature="0" />
|
||||||
</svg>
|
</svg>
|
||||||
|
|
Before Width: | Height: | Size: 26 KiB After Width: | Height: | Size: 11 KiB |
|
@ -8,9 +8,9 @@
|
||||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
width="80"
|
width="80"
|
||||||
height="112"
|
height="92"
|
||||||
version="1.1"
|
version="1.1"
|
||||||
viewBox="0 0 21.166666 29.633332"
|
viewBox="0 0 21.166666 24.341666"
|
||||||
id="svg90"
|
id="svg90"
|
||||||
sodipodi:docname="badge_favorite.svg"
|
sodipodi:docname="badge_favorite.svg"
|
||||||
inkscape:version="0.92.5 (2060ec1f9f, 2020-04-08)">
|
inkscape:version="0.92.5 (2060ec1f9f, 2020-04-08)">
|
||||||
|
@ -30,9 +30,9 @@
|
||||||
id="namedview92"
|
id="namedview92"
|
||||||
showgrid="false"
|
showgrid="false"
|
||||||
units="px"
|
units="px"
|
||||||
inkscape:zoom="5.4859695"
|
inkscape:zoom="12.442154"
|
||||||
inkscape:cx="-51.316674"
|
inkscape:cx="-26.425635"
|
||||||
inkscape:cy="71.543477"
|
inkscape:cy="40.73358"
|
||||||
inkscape:window-x="0"
|
inkscape:window-x="0"
|
||||||
inkscape:window-y="0"
|
inkscape:window-y="0"
|
||||||
inkscape:window-maximized="1"
|
inkscape:window-maximized="1"
|
||||||
|
@ -51,15 +51,15 @@
|
||||||
</rdf:RDF>
|
</rdf:RDF>
|
||||||
</metadata>
|
</metadata>
|
||||||
<rect
|
<rect
|
||||||
style="opacity:1;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.56895995;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:0;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke fill markers"
|
style="opacity:1;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.51566374;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:0;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke fill markers"
|
||||||
id="rect5286"
|
id="rect5286"
|
||||||
width="21.166666"
|
width="21.166666"
|
||||||
height="29.633331"
|
height="24.341665"
|
||||||
x="-6.884097e-12"
|
x="-6.884097e-12"
|
||||||
y="-2.3812499e-05" />
|
y="-2.6253017e-14" />
|
||||||
<g
|
<g
|
||||||
id="g16"
|
id="g16"
|
||||||
transform="matrix(0.10079384,0,0,0.10062218,-4.2392733e-4,-2.2129515e-4)"
|
transform="matrix(0.10079384,0,0,0.08235571,-4.2392733e-4,0.0496411)"
|
||||||
style="fill:#d7d7d7;fill-opacity:1">
|
style="fill:#d7d7d7;fill-opacity:1">
|
||||||
<rect
|
<rect
|
||||||
x="3.0257001"
|
x="3.0257001"
|
||||||
|
@ -71,32 +71,33 @@
|
||||||
</g>
|
</g>
|
||||||
<g
|
<g
|
||||||
id="g20"
|
id="g20"
|
||||||
transform="matrix(0.10079384,0,0,0.10062218,-4.2392733e-4,-2.2129515e-4)">
|
transform="matrix(0.10079384,0,0,0.0816046,-4.2392733e-4,0.13809204)"
|
||||||
|
style="fill:#000000;fill-opacity:1">
|
||||||
<rect
|
<rect
|
||||||
x="7.7007999"
|
x="7.7007999"
|
||||||
y="7.7174001"
|
y="7.7174001"
|
||||||
width="194.89999"
|
width="194.89999"
|
||||||
height="279.22"
|
height="279.22"
|
||||||
id="rect18"
|
id="rect18"
|
||||||
style="stroke-width:0.26458001" />
|
style="stroke-width:0.26458001;fill:#000000;fill-opacity:1" />
|
||||||
</g>
|
</g>
|
||||||
<rect
|
<rect
|
||||||
style="fill:#e6e6e6;fill-opacity:1;stroke-width:0.02664531"
|
style="fill:#e6e6e6;fill-opacity:1;stroke-width:0.02649944"
|
||||||
id="rect22"
|
id="rect22"
|
||||||
height="17.395565"
|
height="17.205626"
|
||||||
width="17.540144"
|
width="17.540144"
|
||||||
y="5.3586006"
|
y="5.3001146"
|
||||||
x="1.8323106" />
|
x="1.8323106" />
|
||||||
<path
|
<path
|
||||||
style="fill:#ffe431;fill-opacity:1;stroke:#282828;stroke-width:0.22198541;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
style="fill:#ffe431;fill-opacity:1;stroke:#282828;stroke-width:0.22077018;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||||
inkscape:connector-curvature="0"
|
inkscape:connector-curvature="0"
|
||||||
id="path24"
|
id="path24"
|
||||||
d="m 17.31999,12.594543 -4.709693,-0.49653 -1.927985,-4.3170945 -1.9279846,4.3170945 -4.7096929,0.49653 3.5178058,3.165172 -0.9820949,4.624093 4.1020066,-2.361704 4.102007,2.361704 -0.982095,-4.624093 z" />
|
d="m 17.240062,12.456484 -4.709693,-0.491108 -1.927985,-4.2699571 -1.9279844,4.2699571 -4.7096929,0.491108 3.5178058,3.130612 -0.9820949,4.573603 4.1020064,-2.335917 4.102007,2.335917 -0.982095,-4.573603 z" />
|
||||||
<g
|
<g
|
||||||
style="fill:#f0f0f0;fill-opacity:1;stroke-width:0.32426"
|
style="fill:#f0f0f0;fill-opacity:1;stroke-width:0.32426"
|
||||||
id="g74"
|
id="g74"
|
||||||
aria-label="FAVORITE"
|
aria-label="FAVORITE"
|
||||||
transform="matrix(0.10111638,0,0,0.10030019,-4.2392733e-4,-2.2129515e-4)">
|
transform="matrix(0.10111638,0,0,0.09920503,-4.2392733e-4,-1.9532637e-4)">
|
||||||
<path
|
<path
|
||||||
inkscape:connector-curvature="0"
|
inkscape:connector-curvature="0"
|
||||||
id="path58"
|
id="path58"
|
||||||
|
@ -138,110 +139,4 @@
|
||||||
d="m 172.49,30.825 c 0,4.7559 0.0951,9.3215 0.19024,13.792 0,0.28535 0.19023,0.47559 0.47559,0.47559 1.5694,0.09512 8.4655,0.2378 10.082,0.2378 1.5694,0 6.6582,-0.04756 8.1801,-0.14268 v -3.4718 -4.1376 c -0.0476,-0.23779 -0.23779,-0.47559 -0.47559,-0.47559 -1.617,-0.04756 -6.8009,-0.09512 -8.4179,-0.09512 h -0.61827 v -2.4731 h 6.1827 v -3.1389 -3.6145 c -0.0476,-0.2378 -0.23779,-0.47559 -0.47559,-0.47559 -1.2365,0 -3.8047,-0.04756 -5.7071,-0.04756 v -2.5206 h 1.8548 c 1.5694,0 6.04,0 7.5619,-0.09512 v -3.4718 -4.1376 c -0.0476,-0.2378 -0.23779,-0.47559 -0.47558,-0.47559 -1.617,-0.04756 -6.7058,-0.09512 -8.3228,-0.09512 -1.5694,0 -8.3704,0.04756 -9.8447,0.09512 -0.14268,4.7559 -0.19024,9.5118 -0.19024,14.268 z"
|
d="m 172.49,30.825 c 0,4.7559 0.0951,9.3215 0.19024,13.792 0,0.28535 0.19023,0.47559 0.47559,0.47559 1.5694,0.09512 8.4655,0.2378 10.082,0.2378 1.5694,0 6.6582,-0.04756 8.1801,-0.14268 v -3.4718 -4.1376 c -0.0476,-0.23779 -0.23779,-0.47559 -0.47559,-0.47559 -1.617,-0.04756 -6.8009,-0.09512 -8.4179,-0.09512 h -0.61827 v -2.4731 h 6.1827 v -3.1389 -3.6145 c -0.0476,-0.2378 -0.23779,-0.47559 -0.47559,-0.47559 -1.2365,0 -3.8047,-0.04756 -5.7071,-0.04756 v -2.5206 h 1.8548 c 1.5694,0 6.04,0 7.5619,-0.09512 v -3.4718 -4.1376 c -0.0476,-0.2378 -0.23779,-0.47559 -0.47558,-0.47559 -1.617,-0.04756 -6.7058,-0.09512 -8.3228,-0.09512 -1.5694,0 -8.3704,0.04756 -9.8447,0.09512 -0.14268,4.7559 -0.19024,9.5118 -0.19024,14.268 z"
|
||||||
style="fill:#f0f0f0;fill-opacity:1" />
|
style="fill:#f0f0f0;fill-opacity:1" />
|
||||||
</g>
|
</g>
|
||||||
<g
|
|
||||||
style="fill:#f0f0f0;fill-opacity:1;stroke-width:0.25971001"
|
|
||||||
id="g56-4"
|
|
||||||
aria-label="CONTENT RATED BY"
|
|
||||||
transform="matrix(0.09632353,0,0,0.10097609,0.27951205,0.20578756)">
|
|
||||||
<path
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
id="path28-8"
|
|
||||||
d="m 17.401,237.59 c 0,6.2332 2.6179,7.5296 6.8066,7.5296 1.0222,0 1.845,-0.0748 2.8672,-0.27426 l -0.52358,-3.9394 -2.2938,0.17453 c -1.0222,0.0499 -1.6705,-0.52358 -1.6705,-3.4906 0,-2.96702 0.74798,-3.5155 1.6705,-3.4656 l 2.2938,0.14959 0.54852,-3.9144 c -1.0222,-0.22439 -1.8201,-0.42385 -2.8423,-0.42385 -4.2136,0 -6.8565,1.7952 -6.8565,7.6543 z"
|
|
||||||
style="fill:#f0f0f0;fill-opacity:1" />
|
|
||||||
<path
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
id="path30-0"
|
|
||||||
d="m 27.488,237.59 c 0,5.7844 2.1691,7.6294 6.9313,7.6294 3.5155,-0.17452 5.7345,-2.7176 5.7345,-7.6294 0,-5.7594 -2.2439,-7.6543 -6.9811,-7.6543 -3.5155,0.17453 -5.6846,2.7675 -5.6846,7.6543 z m 5.186,0 c 0,-2.967 0.42385,-3.2911 1.097,-3.2911 0.67315,0 1.1718,0.32413 1.1718,3.2911 0,2.96697 -0.42385,3.2911 -1.097,3.2911 -0.67315,0 -1.1718,-0.32412 -1.1718,-3.2911 z"
|
|
||||||
style="fill:#f0f0f0;fill-opacity:1" />
|
|
||||||
<path
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
id="path32-8"
|
|
||||||
d="m 41.19,237.59 c 0,2.4933 0.04986,4.8868 0.09973,7.2304 0,0.1496 0.09973,0.24933 0.24933,0.24933 0.79784,0.0499 1.5708,0.0748 2.4185,0.0748 0.82278,0 1.2716,-0.0249 2.0694,-0.0748 l -0.09973,-6.6071 2.593,6.3578 c 0.04987,0.1496 0.12466,0.24933 0.27426,0.24933 0.79784,0.0499 1.5209,0.0748 2.2689,0.0748 0.82278,0 1.2466,-0.0249 1.9447,-0.0748 0.04987,-2.4933 0.09973,-4.9865 0.09973,-7.4798 0,-2.4933 -0.04987,-4.8868 -0.09973,-7.2305 0,-0.12466 -0.12466,-0.22439 -0.24933,-0.24932 -0.74798,-0.0249 -1.471,-0.0499 -2.3187,-0.0499 -0.82278,0 -1.3962,0.0249 -2.1691,0.0499 l 0.0748,6.6321 -2.5681,-6.3828 c -0.0748,-0.12466 -0.1496,-0.22439 -0.27426,-0.24932 -0.79784,-0.0249 -1.4461,-0.0499 -2.1691,-0.0499 -0.82278,0 -1.2716,0.0249 -2.0445,0.0499 -0.0748,2.4933 -0.09973,4.9865 -0.09973,7.4798 z"
|
|
||||||
style="fill:#f0f0f0;fill-opacity:1" />
|
|
||||||
<path
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
id="path34-1"
|
|
||||||
d="m 53.871,232.01 c 0,0.67318 0,1.3464 0.02493,2.0445 0,0.14959 0.09973,0.24932 0.24933,0.24932 0.42385,0.0249 1.6206,0.0499 2.7426,0.0748 v 3.2163 c 0,2.4933 0.04987,4.8868 0.09973,7.2304 0,0.1496 0.09973,0.24933 0.24933,0.24933 0.82278,0.0499 1.6954,0.0748 2.5431,0.0748 0.82278,0 1.3962,-0.0249 2.1941,-0.0748 0.04987,-2.4933 0.09973,-4.9865 0.09973,-7.4798 0,-1.1469 -0.02493,-2.1691 -0.04986,-3.1914 1.2965,0 2.6179,-0.0249 3.0418,-0.0499 v -1.845 -2.1442 c -0.02493,-0.12466 -0.12466,-0.24932 -0.24933,-0.24932 -0.84771,-0.0249 -4.3133,-0.0499 -5.161,-0.0499 -0.82278,0 -4.9865,0.0249 -5.7594,0.0499 -0.02493,0.67318 -0.02493,1.2965 -0.02493,1.8949 z"
|
|
||||||
style="fill:#f0f0f0;fill-opacity:1" />
|
|
||||||
<path
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
id="path36-0"
|
|
||||||
d="m 65.853,237.59 c 0,2.4933 0.04986,4.8868 0.09973,7.2304 0,0.1496 0.09973,0.24933 0.24933,0.24933 0.82278,0.0499 4.438,0.12466 5.2857,0.12466 0.82278,0 3.4906,-0.0249 4.2884,-0.0748 v -1.8201 -2.1691 c -0.02493,-0.12467 -0.12466,-0.24933 -0.24933,-0.24933 -0.84771,-0.0249 -3.5654,-0.0499 -4.4131,-0.0499 h -0.32412 v -1.2965 h 3.2412 v -1.6456 -1.8949 c -0.02493,-0.12466 -0.12466,-0.24932 -0.24933,-0.24932 -0.64825,0 -1.9946,-0.0249 -2.9919,-0.0249 v -1.3214 h 0.97237 c 0.82278,0 3.1664,0 3.9643,-0.0499 v -1.8201 -2.1691 c -0.02493,-0.12466 -0.12466,-0.24932 -0.24933,-0.24932 -0.84771,-0.0249 -3.5155,-0.0499 -4.3632,-0.0499 -0.82278,0 -4.3881,0.0249 -5.161,0.0499 -0.0748,2.4933 -0.09973,4.9865 -0.09973,7.4798 z"
|
|
||||||
style="fill:#f0f0f0;fill-opacity:1" />
|
|
||||||
<path
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
id="path38-2"
|
|
||||||
d="m 76.912,237.59 c 0,2.4933 0.04986,4.8868 0.09973,7.2304 0,0.1496 0.09973,0.24933 0.24933,0.24933 0.79784,0.0499 1.5708,0.0748 2.4185,0.0748 0.82278,0 1.2716,-0.0249 2.0694,-0.0748 l -0.09973,-6.6071 2.593,6.3578 c 0.04987,0.1496 0.12466,0.24933 0.27426,0.24933 0.79784,0.0499 1.5209,0.0748 2.2689,0.0748 0.82278,0 1.2466,-0.0249 1.9447,-0.0748 0.04987,-2.4933 0.09973,-4.9865 0.09973,-7.4798 0,-2.4933 -0.04986,-4.8868 -0.09973,-7.2305 0,-0.12466 -0.12466,-0.22439 -0.24933,-0.24932 -0.74798,-0.0249 -1.471,-0.0499 -2.3187,-0.0499 -0.82278,0 -1.3962,0.0249 -2.1691,0.0499 l 0.0748,6.6321 -2.5681,-6.3828 c -0.0748,-0.12466 -0.1496,-0.22439 -0.27426,-0.24932 -0.79784,-0.0249 -1.4461,-0.0499 -2.1691,-0.0499 -0.82278,0 -1.2716,0.0249 -2.0445,0.0499 -0.0748,2.4933 -0.09973,4.9865 -0.09973,7.4798 z"
|
|
||||||
style="fill:#f0f0f0;fill-opacity:1" />
|
|
||||||
<path
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
id="path40-2"
|
|
||||||
d="m 89.593,232.01 c 0,0.67318 0,1.3464 0.02493,2.0445 0,0.14959 0.09973,0.24932 0.24933,0.24932 0.42385,0.0249 1.6206,0.0499 2.7426,0.0748 v 3.2163 c 0,2.4933 0.04986,4.8868 0.09973,7.2304 0,0.1496 0.09973,0.24933 0.24933,0.24933 0.82278,0.0499 1.6954,0.0748 2.5431,0.0748 0.82278,0 1.3962,-0.0249 2.1941,-0.0748 0.04987,-2.4933 0.09973,-4.9865 0.09973,-7.4798 0,-1.1469 -0.02493,-2.1691 -0.04986,-3.1914 1.2965,0 2.6179,-0.0249 3.0418,-0.0499 v -1.845 -2.1442 c -0.0249,-0.12466 -0.12466,-0.24932 -0.24932,-0.24932 -0.84771,-0.0249 -4.3133,-0.0499 -5.1611,-0.0499 -0.82278,0 -4.9865,0.0249 -5.7594,0.0499 -0.02493,0.67318 -0.02493,1.2965 -0.02493,1.8949 z"
|
|
||||||
style="fill:#f0f0f0;fill-opacity:1" />
|
|
||||||
<path
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
id="path42-9"
|
|
||||||
d="m 106.77,237.27 c 0,2.4933 0.0499,5.2109 0.0499,7.5546 0,0.1496 0.0997,0.24933 0.24933,0.24933 0.84771,0.0499 1.6954,0.0499 2.5431,0.0499 0.72305,0 1.4461,0 2.1941,-0.0499 -0.0249,-1.9448 -0.0997,-4.089 -0.12466,-6.1334 h 0.32412 c 0.49865,1.7204 1.1968,3.8396 1.8949,5.9589 0.0499,0.1496 0.24933,0.24933 0.37399,0.24933 0.67318,0.0499 1.3464,0.0748 2.0195,0.0748 0.87264,0 1.7702,-0.0499 2.593,-0.14959 -0.42385,-1.87 -0.9973,-3.6651 -1.9697,-5.6098 -0.34906,-0.57345 -0.82278,-0.97237 -1.3962,-1.1718 1.6456,-0.77291 2.6678,-2.1691 2.6678,-4.0142 0,-4.0391 -2.5431,-4.3383 -6.2581,-4.3383 -1.3962,0 -3.4656,0.17453 -5.1112,0.42385 0,2.4933 -0.0499,4.4131 -0.0499,6.9063 z m 4.9117,-1.3962 v -2.2439 c 0.17453,-0.0249 0.39892,-0.0249 0.59838,-0.0249 0.89758,0 1.1469,0.42386 1.1469,1.1968 0,0.64824 -0.54852,1.0721 -1.3214,1.0721 z"
|
|
||||||
style="fill:#f0f0f0;fill-opacity:1" />
|
|
||||||
<path
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
id="path44-75"
|
|
||||||
d="m 118.65,244.87 c 0,0.12466 0.0997,0.19946 0.22439,0.19946 0.82278,0.0499 1.6954,0.0748 2.5431,0.0748 0.82277,0 1.2716,-0.0249 2.0694,-0.0748 0.17453,-0.89758 0.32413,-1.8201 0.47372,-2.7426 h 2.3187 c 0.12466,0.84771 0.27425,1.6954 0.44878,2.4933 0.0249,0.1496 0.1496,0.24933 0.27426,0.24933 0.87264,0.0748 1.5957,0.0748 2.4434,0.0748 0.8477,0 1.3962,-0.0249 2.1691,-0.0748 -0.72304,-4.8369 -1.8949,-9.9232 -2.8423,-14.71 -0.0249,-0.12466 -0.1496,-0.24932 -0.27426,-0.24932 -1.1968,-0.0249 -2.3686,-0.0499 -3.5654,-0.0499 -1.1718,0 -2.3187,0 -3.4407,0.0499 -0.92251,4.6125 -1.9697,9.4245 -2.7177,13.987 -0.0499,0.24932 -0.12466,0.72304 -0.12466,0.77291 z m 5.7345,-5.7844 c 0.19946,-1.8699 0.39892,-3.7399 0.62331,-5.5849 0.24933,1.87 0.49866,3.7399 0.77291,5.5849 z"
|
|
||||||
style="fill:#f0f0f0;fill-opacity:1" />
|
|
||||||
<path
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
id="path46-6"
|
|
||||||
d="m 130.96,232.01 c 0,0.67318 0,1.3464 0.0249,2.0445 0,0.14959 0.0997,0.24932 0.24933,0.24932 0.42385,0.0249 1.6206,0.0499 2.7426,0.0748 v 3.2163 c 0,2.4933 0.0499,4.8868 0.0997,7.2304 0,0.1496 0.0997,0.24933 0.24932,0.24933 0.82278,0.0499 1.6954,0.0748 2.5431,0.0748 0.82277,0 1.3962,-0.0249 2.1941,-0.0748 0.0499,-2.4933 0.0997,-4.9865 0.0997,-7.4798 0,-1.1469 -0.0249,-2.1691 -0.0499,-3.1914 1.2965,0 2.6179,-0.0249 3.0418,-0.0499 v -1.845 -2.1442 c -0.0249,-0.12466 -0.12467,-0.24932 -0.24933,-0.24932 -0.84771,-0.0249 -4.3133,-0.0499 -5.161,-0.0499 -0.82277,0 -4.9865,0.0249 -5.7594,0.0499 -0.0249,0.67318 -0.0249,1.2965 -0.0249,1.8949 z"
|
|
||||||
style="fill:#f0f0f0;fill-opacity:1" />
|
|
||||||
<path
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
id="path48-4"
|
|
||||||
d="m 142.94,237.59 c 0,2.4933 0.0499,4.8868 0.0997,7.2304 0,0.1496 0.0997,0.24933 0.24933,0.24933 0.82277,0.0499 4.438,0.12466 5.2857,0.12466 0.82277,0 3.4906,-0.0249 4.2884,-0.0748 v -1.8201 -2.1691 c -0.0249,-0.12467 -0.12466,-0.24933 -0.24932,-0.24933 -0.84771,-0.0249 -3.5654,-0.0499 -4.4131,-0.0499 h -0.32413 v -1.2965 h 3.2412 v -1.6456 -1.8949 c -0.0249,-0.12466 -0.12466,-0.24932 -0.24932,-0.24932 -0.64825,0 -1.9946,-0.0249 -2.9919,-0.0249 v -1.3214 h 0.97238 c 0.82277,0 3.1664,0 3.9643,-0.0499 v -1.8201 -2.1691 c -0.0249,-0.12466 -0.12466,-0.24932 -0.24933,-0.24932 -0.8477,-0.0249 -3.5155,-0.0499 -4.3632,-0.0499 -0.82278,0 -4.3881,0.0249 -5.161,0.0499 -0.0748,2.4933 -0.0997,4.9865 -0.0997,7.4798 z"
|
|
||||||
style="fill:#f0f0f0;fill-opacity:1" />
|
|
||||||
<path
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
id="path50-6"
|
|
||||||
d="m 158.98,237.59 c 0,-1.1968 0,-2.2439 0.0249,-3.2911 h 0.42385 c 0.67318,0 1.1718,0.32413 1.1718,3.2911 0,2.96697 -0.49865,3.316 -1.1718,3.316 H 159.0049 C 158.98,239.8588 158.98,238.8117 158.98,237.59 Z m -4.9366,0 c 0,2.4933 0.0499,4.6375 0.0499,6.9811 0,0.14959 0.0997,0.24932 0.24933,0.24932 1.7204,0.17453 3.2911,0.29919 4.6624,0.29919 4.1887,0 6.8066,-1.2965 6.8066,-7.5296 0,-5.8592 -2.6429,-7.6543 -6.8565,-7.6543 -1.3962,0 -3.2163,0.17453 -4.8619,0.42385 0,2.4933 -0.0499,4.7372 -0.0499,7.2305 z"
|
|
||||||
style="fill:#f0f0f0;fill-opacity:1" />
|
|
||||||
<path
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
id="path52-3"
|
|
||||||
d="m 176.93,235.6 c 0,-0.77291 0,-1.4212 0.0249,-2.0445 0.0499,-0.0249 0.19946,-0.0249 0.29919,-0.0249 0.64825,0 1.2965,0.32413 1.2965,0.99731 0,0.69811 -0.67318,1.0721 -1.4461,1.0721 z m 0.0249,3.69 h 0.62332 c 0.67318,0 1.1469,0.42386 1.1469,0.99731 0,0.64825 -0.37399,1.0222 -1.3214,1.0222 h -0.39892 c -0.0249,-0.67319 -0.0499,-1.3464 -0.0499,-2.0196 z m -4.9117,-2.0195 c 0,2.4933 0.0499,5.0115 0.0499,7.3551 0,0.1496 0.0997,0.27426 0.24932,0.29919 1.7204,0.19946 3.6152,0.27426 5.3106,0.27426 3.3659,0 6.0586,-0.67318 6.0586,-4.6375 0,-1.1968 -0.82278,-2.2938 -2.1941,-3.0667 0.89757,-0.77291 1.4461,-1.8949 1.4461,-3.2163 0,-4.0391 -2.5431,-4.3383 -6.0088,-4.3383 -1.3962,0 -3.2163,0.17453 -4.8618,0.42385 0,2.4933 -0.0499,4.4131 -0.0499,6.9063 z"
|
|
||||||
style="fill:#f0f0f0;fill-opacity:1" />
|
|
||||||
<path
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
id="path54-7"
|
|
||||||
d="m 183.35,230.21 c 0.42386,1.8949 1.097,4.438 2.0694,6.3578 0.57345,0.97237 1.2716,1.7453 2.0195,2.3437 -0.0249,2.0195 -0.0249,3.9892 -0.0249,5.909 0,0.1496 0.0997,0.24933 0.24932,0.24933 0.82278,0.0499 1.7453,0.0748 2.593,0.0748 0.82278,0 1.4461,-0.0249 2.2439,-0.0748 -0.0249,-2.0445 -0.0499,-4.089 -0.0748,-6.1584 0.74798,-0.59839 1.4461,-1.3713 2.0195,-2.3437 0.97237,-1.9198 1.6456,-4.4629 2.0694,-6.3578 -0.82277,-0.0997 -1.7204,-0.1496 -2.593,-0.1496 -0.67318,0 -1.3464,0.0249 -2.0195,0.0748 -0.12466,0 -0.32412,0.0997 -0.37399,0.24933 -0.54851,1.6705 -1.1469,3.7399 -1.5957,5.4353 -0.47372,-1.6954 -1.0472,-3.7648 -1.5957,-5.4353 -0.0499,-0.1496 -0.24932,-0.24933 -0.37399,-0.24933 -0.67318,-0.0499 -1.3464,-0.0748 -2.0195,-0.0748 -0.89757,0 -1.7702,0.0499 -2.593,0.1496 z"
|
|
||||||
style="fill:#f0f0f0;fill-opacity:1" />
|
|
||||||
</g>
|
|
||||||
<g
|
|
||||||
id="g5256"
|
|
||||||
transform="matrix(1.0104997,0,0,1.0207455,-0.11147923,-272.20974)"
|
|
||||||
style="fill:#f0f0f0;fill-opacity:1">
|
|
||||||
<path
|
|
||||||
d="m 2.2271284,292.95117 c 0,0.40604 0.015331,0.79582 0.030663,1.17749 0,0.0243 0.030663,0.0406 0.076656,0.0406 0.2529687,0.008 1.364477,0.0203 1.625048,0.0203 0.2529687,0 1.073192,-0.004 1.3184891,-0.0122 v -0.29642 -0.35327 c -0.00767,-0.0203 -0.038327,-0.0406 -0.076656,-0.0406 -0.2606263,-0.004 -1.096179,-0.008 -1.3568192,-0.008 h -0.099653 v -0.21114 h 0.9965315 v -0.268 -0.30859 c -0.00767,-0.0203 -0.038327,-0.0406 -0.076656,-0.0406 -0.1993091,0 -0.6132565,-0.004 -0.919871,-0.004 v -0.21521 h 0.2989565 c 0.2529687,0 0.9735306,0 1.2188276,-0.008 v -0.29642 -0.35326 c -0.00767,-0.0203 -0.038327,-0.0406 -0.076656,-0.0406 -0.2606264,-0.004 -1.0808497,-0.008 -1.3414899,-0.008 -0.2529687,0 -1.3491477,0.004 -1.5867594,0.008 -0.022997,0.40604 -0.030663,0.81206 -0.030663,1.21812 z"
|
|
||||||
id="path78-4"
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
style="fill:#f0f0f0;fill-opacity:1;stroke-width:0.03670401" />
|
|
||||||
<path
|
|
||||||
d="m 5.6153964,294.14527 c 0.5289244,0.0325 1.0961791,0.0446 1.6174179,0.0446 1.0348618,0 1.8780861,-0.15023 1.8780861,-0.79582 0,-0.5644 -0.9505434,-0.71463 -1.5867594,-0.81618 -0.3142859,-0.0487 -0.5519252,-0.0853 -0.5519252,-0.15834 0,-0.0731 0.1533072,-0.1137 0.3909464,-0.1137 0.4752649,0 1.0195325,0.0812 1.3798065,0.16647 l 0.1763081,-0.67809 c -0.5135951,-0.0527 -1.0348617,-0.0894 -1.4795233,-0.0894 -1.0501911,0 -1.8167688,0.0487 -1.8167688,0.70652 0,0.62531 0.8508821,0.75525 1.4258361,0.84049 0.2989567,0.0446 0.5212666,0.0772 0.5212666,0.15836 0,0.065 -0.1226499,0.14617 -0.4139474,0.14617 -0.3449586,0 -0.8202234,-0.0528 -1.3568193,-0.14212 z"
|
|
||||||
id="path80-9"
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
style="fill:#f0f0f0;fill-opacity:1;stroke-width:0.03670401" />
|
|
||||||
<path
|
|
||||||
d="m 9.4307297,292.9475 c 0,0.10149 0.00613,0.19489 0.01226,0.29641 0,0.0243 0.024523,0.0406 0.061303,0.0406 0.2023048,0.008 0.9931183,0.0203 1.2015133,0.0203 0.202306,0 0.919554,-0.004 1.054426,-0.0122 0,-0.0853 0.0061,-0.17459 0.0061,-0.2558 0,-0.20302 -0.0061,-0.24769 -0.0061,-0.34514 -0.0061,-0.0203 -0.03065,-0.0406 -0.06131,-0.0406 -0.208428,-0.004 -0.692729,-0.008 -0.901169,-0.008 -0.202303,0 -1.1647903,0.004 -1.354836,0.008 -0.00613,0.13399 -0.01226,0.21926 -0.01226,0.29642 z"
|
|
||||||
id="path82-1"
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
style="fill:#f0f0f0;fill-opacity:1;stroke-width:0.03282337" />
|
|
||||||
<path
|
|
||||||
d="m 13.651876,292.95117 c 0,-0.19489 0,-0.36544 0.0077,-0.53598 h 0.130314 c 0.206967,0 0.360288,0.0528 0.360288,0.53598 0,0.48319 -0.153307,0.54004 -0.360288,0.54004 h -0.130314 c -0.0077,-0.17054 -0.0077,-0.34108 -0.0077,-0.54004 z m -1.517812,0 c 0,0.40604 0.01533,0.75525 0.01533,1.13692 0,0.0243 0.03066,0.0406 0.07666,0.0406 0.528925,0.0284 1.011861,0.0487 1.433466,0.0487 1.28783,0 2.092697,-0.21115 2.092697,-1.22628 0,-0.95418 -0.812553,-1.24657 -2.108095,-1.24657 -0.429277,0 -0.98886,0.0284 -1.494784,0.0691 0,0.40604 -0.01533,0.7715 -0.01533,1.17749 z"
|
|
||||||
id="path84-7"
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
style="fill:#f0f0f0;fill-opacity:1;stroke-width:0.03670401" />
|
|
||||||
<path
|
|
||||||
d="m 15.999759,292.92458 c 0,0.3953 0.01492,0.77476 0.02985,1.14634 0,0.0237 0.02985,0.0395 0.07463,0.0395 0.246278,0.008 1.328384,0.0198 1.582062,0.0198 0.246277,0 1.044804,-0.004 1.283611,-0.0118 v -0.28858 -0.34391 c -0.0075,-0.0198 -0.03731,-0.0395 -0.07463,-0.0395 -0.253731,-0.004 -1.067182,-0.008 -1.320928,-0.008 h -0.09702 v -0.20557 h 0.970171 v -0.2609 -0.30043 c -0.0075,-0.0198 -0.03731,-0.0395 -0.07463,-0.0395 -0.194037,0 -0.597034,-0.004 -0.895539,-0.004 v -0.20951 h 0.291049 c 0.246277,0 0.947778,0 1.186587,-0.008 v -0.28857 -0.34391 c -0.0075,-0.0198 -0.03731,-0.0395 -0.07463,-0.0395 -0.253731,-0.004 -1.052258,-0.008 -1.306003,-0.008 -0.246277,0 -1.313459,0.004 -1.544785,0.008 -0.02239,0.39529 -0.02985,0.79057 -0.02985,1.18589 z"
|
|
||||||
id="path86-0"
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
style="fill:#f0f0f0;fill-opacity:1;stroke-width:0.03573308" />
|
|
||||||
</g>
|
|
||||||
</svg>
|
</svg>
|
||||||
|
|
Before Width: | Height: | Size: 24 KiB After Width: | Height: | Size: 9.3 KiB |
|
@ -7,10 +7,10 @@
|
||||||
xmlns="http://www.w3.org/2000/svg"
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
width="80.000008"
|
width="80"
|
||||||
height="112"
|
height="92"
|
||||||
version="1.1"
|
version="1.1"
|
||||||
viewBox="0 0 21.166668 29.633334"
|
viewBox="0 0 21.166666 24.341667"
|
||||||
id="svg90"
|
id="svg90"
|
||||||
sodipodi:docname="badge_kidgame.svg"
|
sodipodi:docname="badge_kidgame.svg"
|
||||||
inkscape:version="0.92.5 (2060ec1f9f, 2020-04-08)">
|
inkscape:version="0.92.5 (2060ec1f9f, 2020-04-08)">
|
||||||
|
@ -33,9 +33,9 @@
|
||||||
fit-margin-left="0"
|
fit-margin-left="0"
|
||||||
fit-margin-right="0"
|
fit-margin-right="0"
|
||||||
fit-margin-bottom="0"
|
fit-margin-bottom="0"
|
||||||
inkscape:zoom="8.2057888"
|
inkscape:zoom="9.0242459"
|
||||||
inkscape:cx="-57.797153"
|
inkscape:cx="-20.683876"
|
||||||
inkscape:cy="68.015272"
|
inkscape:cy="60.045111"
|
||||||
inkscape:window-x="0"
|
inkscape:window-x="0"
|
||||||
inkscape:window-y="0"
|
inkscape:window-y="0"
|
||||||
inkscape:window-maximized="1"
|
inkscape:window-maximized="1"
|
||||||
|
@ -54,15 +54,15 @@
|
||||||
</rdf:RDF>
|
</rdf:RDF>
|
||||||
</metadata>
|
</metadata>
|
||||||
<rect
|
<rect
|
||||||
style="opacity:1;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.56895995;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:0;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke fill markers"
|
style="opacity:1;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.51566374;stroke-linecap:round;stroke-linejoin:miter;stroke-miterlimit:0;stroke-dasharray:none;stroke-opacity:1;paint-order:stroke fill markers"
|
||||||
id="rect5286"
|
id="rect5286"
|
||||||
width="21.166666"
|
width="21.166666"
|
||||||
height="29.633333"
|
height="24.341667"
|
||||||
x="-6.884097e-12"
|
x="2.2368853e-07"
|
||||||
y="-2.3812499e-05" />
|
y="-2.6645353e-15" />
|
||||||
<g
|
<g
|
||||||
id="g16"
|
id="g16"
|
||||||
transform="matrix(0.10079384,0,0,0.10062218,-4.2392865e-4,-2.2129516e-4)"
|
transform="matrix(0.10079384,0,0,0.08235571,-4.237873e-4,0.04964161)"
|
||||||
style="fill:#d7d7d7;fill-opacity:1">
|
style="fill:#d7d7d7;fill-opacity:1">
|
||||||
<rect
|
<rect
|
||||||
x="3.0257001"
|
x="3.0257001"
|
||||||
|
@ -74,138 +74,33 @@
|
||||||
</g>
|
</g>
|
||||||
<g
|
<g
|
||||||
id="g20"
|
id="g20"
|
||||||
transform="matrix(0.10079384,0,0,0.10062218,-4.2392865e-4,-2.2129516e-4)">
|
transform="matrix(0.10079384,0,0,0.0816046,-4.237873e-4,0.13809261)"
|
||||||
|
style="fill:#000000;fill-opacity:1">
|
||||||
<rect
|
<rect
|
||||||
x="7.7007999"
|
x="7.7007999"
|
||||||
y="7.7174001"
|
y="7.7174001"
|
||||||
width="194.89999"
|
width="194.89999"
|
||||||
height="279.22"
|
height="279.22"
|
||||||
id="rect18"
|
id="rect18"
|
||||||
style="stroke-width:0.26458001" />
|
style="stroke-width:0.26458001;fill:#000000;fill-opacity:1" />
|
||||||
</g>
|
</g>
|
||||||
<rect
|
<rect
|
||||||
style="fill:#e6e6e6;fill-opacity:1;stroke-width:0.02664531"
|
style="fill:#e6e6e6;fill-opacity:1;stroke-width:0.02649944"
|
||||||
id="rect22"
|
id="rect22"
|
||||||
height="17.395565"
|
height="17.205626"
|
||||||
width="17.540144"
|
width="17.540144"
|
||||||
y="5.3586006"
|
y="5.3001156"
|
||||||
x="1.8323107" />
|
x="1.8132613" />
|
||||||
<g
|
|
||||||
style="fill:#f0f0f0;fill-opacity:1;stroke-width:0.25971001"
|
|
||||||
id="g56-4"
|
|
||||||
aria-label="CONTENT RATED BY"
|
|
||||||
transform="matrix(0.09632353,0,0,0.10097609,0.27951205,0.20578757)">
|
|
||||||
<path
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
id="path28-8"
|
|
||||||
d="m 17.401,237.59 c 0,6.2332 2.6179,7.5296 6.8066,7.5296 1.0222,0 1.845,-0.0748 2.8672,-0.27426 l -0.52358,-3.9394 -2.2938,0.17453 c -1.0222,0.0499 -1.6705,-0.52358 -1.6705,-3.4906 0,-2.96702 0.74798,-3.5155 1.6705,-3.4656 l 2.2938,0.14959 0.54852,-3.9144 c -1.0222,-0.22439 -1.8201,-0.42385 -2.8423,-0.42385 -4.2136,0 -6.8565,1.7952 -6.8565,7.6543 z"
|
|
||||||
style="fill:#f0f0f0;fill-opacity:1" />
|
|
||||||
<path
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
id="path30-0"
|
|
||||||
d="m 27.488,237.59 c 0,5.7844 2.1691,7.6294 6.9313,7.6294 3.5155,-0.17452 5.7345,-2.7176 5.7345,-7.6294 0,-5.7594 -2.2439,-7.6543 -6.9811,-7.6543 -3.5155,0.17453 -5.6846,2.7675 -5.6846,7.6543 z m 5.186,0 c 0,-2.967 0.42385,-3.2911 1.097,-3.2911 0.67315,0 1.1718,0.32413 1.1718,3.2911 0,2.96697 -0.42385,3.2911 -1.097,3.2911 -0.67315,0 -1.1718,-0.32412 -1.1718,-3.2911 z"
|
|
||||||
style="fill:#f0f0f0;fill-opacity:1" />
|
|
||||||
<path
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
id="path32-8"
|
|
||||||
d="m 41.19,237.59 c 0,2.4933 0.04986,4.8868 0.09973,7.2304 0,0.1496 0.09973,0.24933 0.24933,0.24933 0.79784,0.0499 1.5708,0.0748 2.4185,0.0748 0.82278,0 1.2716,-0.0249 2.0694,-0.0748 l -0.09973,-6.6071 2.593,6.3578 c 0.04987,0.1496 0.12466,0.24933 0.27426,0.24933 0.79784,0.0499 1.5209,0.0748 2.2689,0.0748 0.82278,0 1.2466,-0.0249 1.9447,-0.0748 0.04987,-2.4933 0.09973,-4.9865 0.09973,-7.4798 0,-2.4933 -0.04987,-4.8868 -0.09973,-7.2305 0,-0.12466 -0.12466,-0.22439 -0.24933,-0.24932 -0.74798,-0.0249 -1.471,-0.0499 -2.3187,-0.0499 -0.82278,0 -1.3962,0.0249 -2.1691,0.0499 l 0.0748,6.6321 -2.5681,-6.3828 c -0.0748,-0.12466 -0.1496,-0.22439 -0.27426,-0.24932 -0.79784,-0.0249 -1.4461,-0.0499 -2.1691,-0.0499 -0.82278,0 -1.2716,0.0249 -2.0445,0.0499 -0.0748,2.4933 -0.09973,4.9865 -0.09973,7.4798 z"
|
|
||||||
style="fill:#f0f0f0;fill-opacity:1" />
|
|
||||||
<path
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
id="path34-1"
|
|
||||||
d="m 53.871,232.01 c 0,0.67318 0,1.3464 0.02493,2.0445 0,0.14959 0.09973,0.24932 0.24933,0.24932 0.42385,0.0249 1.6206,0.0499 2.7426,0.0748 v 3.2163 c 0,2.4933 0.04987,4.8868 0.09973,7.2304 0,0.1496 0.09973,0.24933 0.24933,0.24933 0.82278,0.0499 1.6954,0.0748 2.5431,0.0748 0.82278,0 1.3962,-0.0249 2.1941,-0.0748 0.04987,-2.4933 0.09973,-4.9865 0.09973,-7.4798 0,-1.1469 -0.02493,-2.1691 -0.04986,-3.1914 1.2965,0 2.6179,-0.0249 3.0418,-0.0499 v -1.845 -2.1442 c -0.02493,-0.12466 -0.12466,-0.24932 -0.24933,-0.24932 -0.84771,-0.0249 -4.3133,-0.0499 -5.161,-0.0499 -0.82278,0 -4.9865,0.0249 -5.7594,0.0499 -0.02493,0.67318 -0.02493,1.2965 -0.02493,1.8949 z"
|
|
||||||
style="fill:#f0f0f0;fill-opacity:1" />
|
|
||||||
<path
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
id="path36-0"
|
|
||||||
d="m 65.853,237.59 c 0,2.4933 0.04986,4.8868 0.09973,7.2304 0,0.1496 0.09973,0.24933 0.24933,0.24933 0.82278,0.0499 4.438,0.12466 5.2857,0.12466 0.82278,0 3.4906,-0.0249 4.2884,-0.0748 v -1.8201 -2.1691 c -0.02493,-0.12467 -0.12466,-0.24933 -0.24933,-0.24933 -0.84771,-0.0249 -3.5654,-0.0499 -4.4131,-0.0499 h -0.32412 v -1.2965 h 3.2412 v -1.6456 -1.8949 c -0.02493,-0.12466 -0.12466,-0.24932 -0.24933,-0.24932 -0.64825,0 -1.9946,-0.0249 -2.9919,-0.0249 v -1.3214 h 0.97237 c 0.82278,0 3.1664,0 3.9643,-0.0499 v -1.8201 -2.1691 c -0.02493,-0.12466 -0.12466,-0.24932 -0.24933,-0.24932 -0.84771,-0.0249 -3.5155,-0.0499 -4.3632,-0.0499 -0.82278,0 -4.3881,0.0249 -5.161,0.0499 -0.0748,2.4933 -0.09973,4.9865 -0.09973,7.4798 z"
|
|
||||||
style="fill:#f0f0f0;fill-opacity:1" />
|
|
||||||
<path
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
id="path38-2"
|
|
||||||
d="m 76.912,237.59 c 0,2.4933 0.04986,4.8868 0.09973,7.2304 0,0.1496 0.09973,0.24933 0.24933,0.24933 0.79784,0.0499 1.5708,0.0748 2.4185,0.0748 0.82278,0 1.2716,-0.0249 2.0694,-0.0748 l -0.09973,-6.6071 2.593,6.3578 c 0.04987,0.1496 0.12466,0.24933 0.27426,0.24933 0.79784,0.0499 1.5209,0.0748 2.2689,0.0748 0.82278,0 1.2466,-0.0249 1.9447,-0.0748 0.04987,-2.4933 0.09973,-4.9865 0.09973,-7.4798 0,-2.4933 -0.04986,-4.8868 -0.09973,-7.2305 0,-0.12466 -0.12466,-0.22439 -0.24933,-0.24932 -0.74798,-0.0249 -1.471,-0.0499 -2.3187,-0.0499 -0.82278,0 -1.3962,0.0249 -2.1691,0.0499 l 0.0748,6.6321 -2.5681,-6.3828 c -0.0748,-0.12466 -0.1496,-0.22439 -0.27426,-0.24932 -0.79784,-0.0249 -1.4461,-0.0499 -2.1691,-0.0499 -0.82278,0 -1.2716,0.0249 -2.0445,0.0499 -0.0748,2.4933 -0.09973,4.9865 -0.09973,7.4798 z"
|
|
||||||
style="fill:#f0f0f0;fill-opacity:1" />
|
|
||||||
<path
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
id="path40-2"
|
|
||||||
d="m 89.593,232.01 c 0,0.67318 0,1.3464 0.02493,2.0445 0,0.14959 0.09973,0.24932 0.24933,0.24932 0.42385,0.0249 1.6206,0.0499 2.7426,0.0748 v 3.2163 c 0,2.4933 0.04986,4.8868 0.09973,7.2304 0,0.1496 0.09973,0.24933 0.24933,0.24933 0.82278,0.0499 1.6954,0.0748 2.5431,0.0748 0.82278,0 1.3962,-0.0249 2.1941,-0.0748 0.04987,-2.4933 0.09973,-4.9865 0.09973,-7.4798 0,-1.1469 -0.02493,-2.1691 -0.04986,-3.1914 1.2965,0 2.6179,-0.0249 3.0418,-0.0499 v -1.845 -2.1442 c -0.0249,-0.12466 -0.12466,-0.24932 -0.24932,-0.24932 -0.84771,-0.0249 -4.3133,-0.0499 -5.1611,-0.0499 -0.82278,0 -4.9865,0.0249 -5.7594,0.0499 -0.02493,0.67318 -0.02493,1.2965 -0.02493,1.8949 z"
|
|
||||||
style="fill:#f0f0f0;fill-opacity:1" />
|
|
||||||
<path
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
id="path42-9"
|
|
||||||
d="m 106.77,237.27 c 0,2.4933 0.0499,5.2109 0.0499,7.5546 0,0.1496 0.0997,0.24933 0.24933,0.24933 0.84771,0.0499 1.6954,0.0499 2.5431,0.0499 0.72305,0 1.4461,0 2.1941,-0.0499 -0.0249,-1.9448 -0.0997,-4.089 -0.12466,-6.1334 h 0.32412 c 0.49865,1.7204 1.1968,3.8396 1.8949,5.9589 0.0499,0.1496 0.24933,0.24933 0.37399,0.24933 0.67318,0.0499 1.3464,0.0748 2.0195,0.0748 0.87264,0 1.7702,-0.0499 2.593,-0.14959 -0.42385,-1.87 -0.9973,-3.6651 -1.9697,-5.6098 -0.34906,-0.57345 -0.82278,-0.97237 -1.3962,-1.1718 1.6456,-0.77291 2.6678,-2.1691 2.6678,-4.0142 0,-4.0391 -2.5431,-4.3383 -6.2581,-4.3383 -1.3962,0 -3.4656,0.17453 -5.1112,0.42385 0,2.4933 -0.0499,4.4131 -0.0499,6.9063 z m 4.9117,-1.3962 v -2.2439 c 0.17453,-0.0249 0.39892,-0.0249 0.59838,-0.0249 0.89758,0 1.1469,0.42386 1.1469,1.1968 0,0.64824 -0.54852,1.0721 -1.3214,1.0721 z"
|
|
||||||
style="fill:#f0f0f0;fill-opacity:1" />
|
|
||||||
<path
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
id="path44-75"
|
|
||||||
d="m 118.65,244.87 c 0,0.12466 0.0997,0.19946 0.22439,0.19946 0.82278,0.0499 1.6954,0.0748 2.5431,0.0748 0.82277,0 1.2716,-0.0249 2.0694,-0.0748 0.17453,-0.89758 0.32413,-1.8201 0.47372,-2.7426 h 2.3187 c 0.12466,0.84771 0.27425,1.6954 0.44878,2.4933 0.0249,0.1496 0.1496,0.24933 0.27426,0.24933 0.87264,0.0748 1.5957,0.0748 2.4434,0.0748 0.8477,0 1.3962,-0.0249 2.1691,-0.0748 -0.72304,-4.8369 -1.8949,-9.9232 -2.8423,-14.71 -0.0249,-0.12466 -0.1496,-0.24932 -0.27426,-0.24932 -1.1968,-0.0249 -2.3686,-0.0499 -3.5654,-0.0499 -1.1718,0 -2.3187,0 -3.4407,0.0499 -0.92251,4.6125 -1.9697,9.4245 -2.7177,13.987 -0.0499,0.24932 -0.12466,0.72304 -0.12466,0.77291 z m 5.7345,-5.7844 c 0.19946,-1.8699 0.39892,-3.7399 0.62331,-5.5849 0.24933,1.87 0.49866,3.7399 0.77291,5.5849 z"
|
|
||||||
style="fill:#f0f0f0;fill-opacity:1" />
|
|
||||||
<path
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
id="path46-6"
|
|
||||||
d="m 130.96,232.01 c 0,0.67318 0,1.3464 0.0249,2.0445 0,0.14959 0.0997,0.24932 0.24933,0.24932 0.42385,0.0249 1.6206,0.0499 2.7426,0.0748 v 3.2163 c 0,2.4933 0.0499,4.8868 0.0997,7.2304 0,0.1496 0.0997,0.24933 0.24932,0.24933 0.82278,0.0499 1.6954,0.0748 2.5431,0.0748 0.82277,0 1.3962,-0.0249 2.1941,-0.0748 0.0499,-2.4933 0.0997,-4.9865 0.0997,-7.4798 0,-1.1469 -0.0249,-2.1691 -0.0499,-3.1914 1.2965,0 2.6179,-0.0249 3.0418,-0.0499 v -1.845 -2.1442 c -0.0249,-0.12466 -0.12467,-0.24932 -0.24933,-0.24932 -0.84771,-0.0249 -4.3133,-0.0499 -5.161,-0.0499 -0.82277,0 -4.9865,0.0249 -5.7594,0.0499 -0.0249,0.67318 -0.0249,1.2965 -0.0249,1.8949 z"
|
|
||||||
style="fill:#f0f0f0;fill-opacity:1" />
|
|
||||||
<path
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
id="path48-4"
|
|
||||||
d="m 142.94,237.59 c 0,2.4933 0.0499,4.8868 0.0997,7.2304 0,0.1496 0.0997,0.24933 0.24933,0.24933 0.82277,0.0499 4.438,0.12466 5.2857,0.12466 0.82277,0 3.4906,-0.0249 4.2884,-0.0748 v -1.8201 -2.1691 c -0.0249,-0.12467 -0.12466,-0.24933 -0.24932,-0.24933 -0.84771,-0.0249 -3.5654,-0.0499 -4.4131,-0.0499 h -0.32413 v -1.2965 h 3.2412 v -1.6456 -1.8949 c -0.0249,-0.12466 -0.12466,-0.24932 -0.24932,-0.24932 -0.64825,0 -1.9946,-0.0249 -2.9919,-0.0249 v -1.3214 h 0.97238 c 0.82277,0 3.1664,0 3.9643,-0.0499 v -1.8201 -2.1691 c -0.0249,-0.12466 -0.12466,-0.24932 -0.24933,-0.24932 -0.8477,-0.0249 -3.5155,-0.0499 -4.3632,-0.0499 -0.82278,0 -4.3881,0.0249 -5.161,0.0499 -0.0748,2.4933 -0.0997,4.9865 -0.0997,7.4798 z"
|
|
||||||
style="fill:#f0f0f0;fill-opacity:1" />
|
|
||||||
<path
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
id="path50-6"
|
|
||||||
d="m 158.98,237.59 c 0,-1.1968 0,-2.2439 0.0249,-3.2911 h 0.42385 c 0.67318,0 1.1718,0.32413 1.1718,3.2911 0,2.96697 -0.49865,3.316 -1.1718,3.316 H 159.0049 C 158.98,239.8588 158.98,238.8117 158.98,237.59 Z m -4.9366,0 c 0,2.4933 0.0499,4.6375 0.0499,6.9811 0,0.14959 0.0997,0.24932 0.24933,0.24932 1.7204,0.17453 3.2911,0.29919 4.6624,0.29919 4.1887,0 6.8066,-1.2965 6.8066,-7.5296 0,-5.8592 -2.6429,-7.6543 -6.8565,-7.6543 -1.3962,0 -3.2163,0.17453 -4.8619,0.42385 0,2.4933 -0.0499,4.7372 -0.0499,7.2305 z"
|
|
||||||
style="fill:#f0f0f0;fill-opacity:1" />
|
|
||||||
<path
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
id="path52-3"
|
|
||||||
d="m 176.93,235.6 c 0,-0.77291 0,-1.4212 0.0249,-2.0445 0.0499,-0.0249 0.19946,-0.0249 0.29919,-0.0249 0.64825,0 1.2965,0.32413 1.2965,0.99731 0,0.69811 -0.67318,1.0721 -1.4461,1.0721 z m 0.0249,3.69 h 0.62332 c 0.67318,0 1.1469,0.42386 1.1469,0.99731 0,0.64825 -0.37399,1.0222 -1.3214,1.0222 h -0.39892 c -0.0249,-0.67319 -0.0499,-1.3464 -0.0499,-2.0196 z m -4.9117,-2.0195 c 0,2.4933 0.0499,5.0115 0.0499,7.3551 0,0.1496 0.0997,0.27426 0.24932,0.29919 1.7204,0.19946 3.6152,0.27426 5.3106,0.27426 3.3659,0 6.0586,-0.67318 6.0586,-4.6375 0,-1.1968 -0.82278,-2.2938 -2.1941,-3.0667 0.89757,-0.77291 1.4461,-1.8949 1.4461,-3.2163 0,-4.0391 -2.5431,-4.3383 -6.0088,-4.3383 -1.3962,0 -3.2163,0.17453 -4.8618,0.42385 0,2.4933 -0.0499,4.4131 -0.0499,6.9063 z"
|
|
||||||
style="fill:#f0f0f0;fill-opacity:1" />
|
|
||||||
<path
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
id="path54-7"
|
|
||||||
d="m 183.35,230.21 c 0.42386,1.8949 1.097,4.438 2.0694,6.3578 0.57345,0.97237 1.2716,1.7453 2.0195,2.3437 -0.0249,2.0195 -0.0249,3.9892 -0.0249,5.909 0,0.1496 0.0997,0.24933 0.24932,0.24933 0.82278,0.0499 1.7453,0.0748 2.593,0.0748 0.82278,0 1.4461,-0.0249 2.2439,-0.0748 -0.0249,-2.0445 -0.0499,-4.089 -0.0748,-6.1584 0.74798,-0.59839 1.4461,-1.3713 2.0195,-2.3437 0.97237,-1.9198 1.6456,-4.4629 2.0694,-6.3578 -0.82277,-0.0997 -1.7204,-0.1496 -2.593,-0.1496 -0.67318,0 -1.3464,0.0249 -2.0195,0.0748 -0.12466,0 -0.32412,0.0997 -0.37399,0.24933 -0.54851,1.6705 -1.1469,3.7399 -1.5957,5.4353 -0.47372,-1.6954 -1.0472,-3.7648 -1.5957,-5.4353 -0.0499,-0.1496 -0.24932,-0.24933 -0.37399,-0.24933 -0.67318,-0.0499 -1.3464,-0.0748 -2.0195,-0.0748 -0.89757,0 -1.7702,0.0499 -2.593,0.1496 z"
|
|
||||||
style="fill:#f0f0f0;fill-opacity:1" />
|
|
||||||
</g>
|
|
||||||
<g
|
|
||||||
id="g5256"
|
|
||||||
transform="matrix(1.0104997,0,0,1.0207455,-0.11147923,-272.20975)"
|
|
||||||
style="fill:#f0f0f0;fill-opacity:1">
|
|
||||||
<path
|
|
||||||
d="m 2.2271284,292.95117 c 0,0.40604 0.015331,0.79582 0.030663,1.17749 0,0.0243 0.030663,0.0406 0.076656,0.0406 0.2529687,0.008 1.364477,0.0203 1.625048,0.0203 0.2529687,0 1.073192,-0.004 1.3184891,-0.0122 v -0.29642 -0.35327 c -0.00767,-0.0203 -0.038327,-0.0406 -0.076656,-0.0406 -0.2606263,-0.004 -1.096179,-0.008 -1.3568192,-0.008 h -0.099653 v -0.21114 h 0.9965315 v -0.268 -0.30859 c -0.00767,-0.0203 -0.038327,-0.0406 -0.076656,-0.0406 -0.1993091,0 -0.6132565,-0.004 -0.919871,-0.004 v -0.21521 h 0.2989565 c 0.2529687,0 0.9735306,0 1.2188276,-0.008 v -0.29642 -0.35326 c -0.00767,-0.0203 -0.038327,-0.0406 -0.076656,-0.0406 -0.2606264,-0.004 -1.0808497,-0.008 -1.3414899,-0.008 -0.2529687,0 -1.3491477,0.004 -1.5867594,0.008 -0.022997,0.40604 -0.030663,0.81206 -0.030663,1.21812 z"
|
|
||||||
id="path78-4"
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
style="fill:#f0f0f0;fill-opacity:1;stroke-width:0.03670401" />
|
|
||||||
<path
|
|
||||||
d="m 5.6153964,294.14527 c 0.5289244,0.0325 1.0961791,0.0446 1.6174179,0.0446 1.0348618,0 1.8780861,-0.15023 1.8780861,-0.79582 0,-0.5644 -0.9505434,-0.71463 -1.5867594,-0.81618 -0.3142859,-0.0487 -0.5519252,-0.0853 -0.5519252,-0.15834 0,-0.0731 0.1533072,-0.1137 0.3909464,-0.1137 0.4752649,0 1.0195325,0.0812 1.3798065,0.16647 l 0.1763081,-0.67809 c -0.5135951,-0.0527 -1.0348617,-0.0894 -1.4795233,-0.0894 -1.0501911,0 -1.8167688,0.0487 -1.8167688,0.70652 0,0.62531 0.8508821,0.75525 1.4258361,0.84049 0.2989567,0.0446 0.5212666,0.0772 0.5212666,0.15836 0,0.065 -0.1226499,0.14617 -0.4139474,0.14617 -0.3449586,0 -0.8202234,-0.0528 -1.3568193,-0.14212 z"
|
|
||||||
id="path80-9"
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
style="fill:#f0f0f0;fill-opacity:1;stroke-width:0.03670401" />
|
|
||||||
<path
|
|
||||||
d="m 9.4307297,292.9475 c 0,0.10149 0.00613,0.19489 0.01226,0.29641 0,0.0243 0.024523,0.0406 0.061303,0.0406 0.2023048,0.008 0.9931183,0.0203 1.2015133,0.0203 0.202306,0 0.919554,-0.004 1.054426,-0.0122 0,-0.0853 0.0061,-0.17459 0.0061,-0.2558 0,-0.20302 -0.0061,-0.24769 -0.0061,-0.34514 -0.0061,-0.0203 -0.03065,-0.0406 -0.06131,-0.0406 -0.208428,-0.004 -0.692729,-0.008 -0.901169,-0.008 -0.202303,0 -1.1647903,0.004 -1.354836,0.008 -0.00613,0.13399 -0.01226,0.21926 -0.01226,0.29642 z"
|
|
||||||
id="path82-1"
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
style="fill:#f0f0f0;fill-opacity:1;stroke-width:0.03282337" />
|
|
||||||
<path
|
|
||||||
d="m 13.651876,292.95117 c 0,-0.19489 0,-0.36544 0.0077,-0.53598 h 0.130314 c 0.206967,0 0.360288,0.0528 0.360288,0.53598 0,0.48319 -0.153307,0.54004 -0.360288,0.54004 h -0.130314 c -0.0077,-0.17054 -0.0077,-0.34108 -0.0077,-0.54004 z m -1.517812,0 c 0,0.40604 0.01533,0.75525 0.01533,1.13692 0,0.0243 0.03066,0.0406 0.07666,0.0406 0.528925,0.0284 1.011861,0.0487 1.433466,0.0487 1.28783,0 2.092697,-0.21115 2.092697,-1.22628 0,-0.95418 -0.812553,-1.24657 -2.108095,-1.24657 -0.429277,0 -0.98886,0.0284 -1.494784,0.0691 0,0.40604 -0.01533,0.7715 -0.01533,1.17749 z"
|
|
||||||
id="path84-7"
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
style="fill:#f0f0f0;fill-opacity:1;stroke-width:0.03670401" />
|
|
||||||
<path
|
|
||||||
d="m 15.999759,292.92458 c 0,0.3953 0.01492,0.77476 0.02985,1.14634 0,0.0237 0.02985,0.0395 0.07463,0.0395 0.246278,0.008 1.328384,0.0198 1.582062,0.0198 0.246277,0 1.044804,-0.004 1.283611,-0.0118 v -0.28858 -0.34391 c -0.0075,-0.0198 -0.03731,-0.0395 -0.07463,-0.0395 -0.253731,-0.004 -1.067182,-0.008 -1.320928,-0.008 h -0.09702 v -0.20557 h 0.970171 v -0.2609 -0.30043 c -0.0075,-0.0198 -0.03731,-0.0395 -0.07463,-0.0395 -0.194037,0 -0.597034,-0.004 -0.895539,-0.004 v -0.20951 h 0.291049 c 0.246277,0 0.947778,0 1.186587,-0.008 v -0.28857 -0.34391 c -0.0075,-0.0198 -0.03731,-0.0395 -0.07463,-0.0395 -0.253731,-0.004 -1.052258,-0.008 -1.306003,-0.008 -0.246277,0 -1.313459,0.004 -1.544785,0.008 -0.02239,0.39529 -0.02985,0.79057 -0.02985,1.18589 z"
|
|
||||||
id="path86-0"
|
|
||||||
inkscape:connector-curvature="0"
|
|
||||||
style="fill:#f0f0f0;fill-opacity:1;stroke-width:0.03573308" />
|
|
||||||
</g>
|
|
||||||
<path
|
<path
|
||||||
style="fill:#3974ff;fill-opacity:1;stroke:#141414;stroke-width:0.22198542;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
style="fill:#3974ff;fill-opacity:1;stroke:#141414;stroke-width:0.21342269;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
|
||||||
inkscape:connector-curvature="0"
|
inkscape:connector-curvature="0"
|
||||||
id="path24"
|
id="path24"
|
||||||
d="M 4.0377485,9.2583619 7.4622215,21.291125 17.166592,18.827612 16.262483,15.703927 10.547677,17.184641 10.157055,15.798082 15.87321,14.344771 14.978875,11.218841 9.2784685,12.688144 8.8912025,11.370047 14.612128,9.9380291 13.72988,6.8214421 Z" />
|
d="M 4.2719194,9.2899832 7.5642988,20.858601 16.894338,18.490114 16.025104,15.486921 10.530737,16.910518 10.155183,15.577444 15.650846,14.180192 14.791009,11.17484 9.310487,12.587467 8.9381592,11.320213 14.438408,9.9434334 13.590192,6.9470637 Z" />
|
||||||
<g
|
<g
|
||||||
style="fill:#f0f0f0;fill-opacity:1;stroke-width:0.31213999"
|
style="fill:#f0f0f0;fill-opacity:1;stroke-width:0.31213999"
|
||||||
id="g74"
|
id="g74"
|
||||||
aria-label="EVERYONE"
|
aria-label="EVERYONE"
|
||||||
transform="matrix(0.09733762,0,0,0.10419427,-4.2360629e-4,-1.9379813e-4)">
|
transform="matrix(0.09733762,0,0,0.10419427,-4.2465753e-4,-1.9389228e-4)">
|
||||||
<path
|
<path
|
||||||
inkscape:connector-curvature="0"
|
inkscape:connector-curvature="0"
|
||||||
id="path58"
|
id="path58"
|
||||||
|
|
Before Width: | Height: | Size: 25 KiB After Width: | Height: | Size: 9.8 KiB |
|
@ -3,8 +3,8 @@
|
||||||
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
|
||||||
<svg version="1.1"
|
<svg version="1.1"
|
||||||
id="Layer_1" sodipodi:docname="gen.svg" inkscape:version="0.48.5 r" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
id="Layer_1" sodipodi:docname="gen.svg" inkscape:version="0.48.5 r" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg" xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="566.932px"
|
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" width="567.500px"
|
||||||
height="90.32px" viewBox="0 0 566.932 90.32" enable-background="new 0 0 566.932 90.32" xml:space="preserve">
|
height="90.32px" viewBox="0 0 567.500 90.32" enable-background="new 0 0 566.932 90.32" xml:space="preserve">
|
||||||
<sodipodi:namedview inkscape:snap-nodes="false" inkscape:snap-global="false" inkscape:current-layer="layer2" inkscape:window-maximized="1" inkscape:window-y="-8" inkscape:window-x="-8" inkscape:window-height="961" inkscape:window-width="1280" inkscape:pageshadow="2" inkscape:pageopacity="0" inkscape:cy="70.422282" inkscape:cx="239.99084" inkscape:zoom="2.8284271" showgrid="false" guidetolerance="10" gridtolerance="10" objecttolerance="10" borderopacity="1" bordercolor="#666666" pagecolor="#ffffff" id="namedview5809">
|
<sodipodi:namedview inkscape:snap-nodes="false" inkscape:snap-global="false" inkscape:current-layer="layer2" inkscape:window-maximized="1" inkscape:window-y="-8" inkscape:window-x="-8" inkscape:window-height="961" inkscape:window-width="1280" inkscape:pageshadow="2" inkscape:pageopacity="0" inkscape:cy="70.422282" inkscape:cx="239.99084" inkscape:zoom="2.8284271" showgrid="false" guidetolerance="10" gridtolerance="10" objecttolerance="10" borderopacity="1" bordercolor="#666666" pagecolor="#ffffff" id="namedview5809">
|
||||||
</sodipodi:namedview>
|
</sodipodi:namedview>
|
||||||
<g>
|
<g>
|
||||||
|
|
Before Width: | Height: | Size: 28 KiB After Width: | Height: | Size: 28 KiB |
|
@ -237,8 +237,8 @@ based on: 'recalbox-multi' by the Recalbox community
|
||||||
<alignment>right</alignment>
|
<alignment>right</alignment>
|
||||||
</text>
|
</text>
|
||||||
<badges name="md_badges">
|
<badges name="md_badges">
|
||||||
<pos>0.8125 0.675</pos>
|
<pos>0.815 0.675</pos>
|
||||||
<size>0.15 0.21</size>
|
<size>0.13 0.1635</size>
|
||||||
<origin>0 0</origin>
|
<origin>0 0</origin>
|
||||||
<alignment>left</alignment>
|
<alignment>left</alignment>
|
||||||
<itemsPerRow>3</itemsPerRow>
|
<itemsPerRow>3</itemsPerRow>
|
||||||
|
|