Mon, 28 Jun 2021 10:08:45 +0300
* Icon label
--- a/README.md Mon Jun 07 20:56:13 2021 +0300 +++ b/README.md Mon Jun 28 10:08:45 2021 +0300 @@ -32,7 +32,7 @@ ### Fedora 32/33 on 64bit system dependencies Run the command below to install all the dependencies on Fedora distros after Fedora 26. -```$ sudo dnf install gcc cmake cmake-gui libX11 libXinerama-devel.x86_64 libXrandr-devel.x86_64 libXext doxygen freetype fifechan-opengl-devel.x86_64 freetype-devel.x86_64 pulseaudio-libs-devel.x86_64 fontconfig-devel libcurl``` +```$ sudo dnf install gcc cmake cmake-gui libX11 libXinerama-devel libXrandr-devel libXext doxygen freetype fifechan-opengl-devel freetype-devel pulseaudio-libs-devel fontconfig-devel libcurl flac-devel libvorbis-devel``` ----
--- a/Source/Gorgon/Widgets/Generator.cpp Mon Jun 07 20:56:13 2021 +0300 +++ b/Source/Gorgon/Widgets/Generator.cpp Mon Jun 28 10:08:45 2021 +0300 @@ -1760,6 +1760,54 @@ return temp; } + UI::Template SimpleGenerator::IconLabel() { + Geometry::Size defsize = {GetUnitSize(1), unitsize}; + + UI::Template temp = maketemplate(); + temp.SetSpacing(spacing); + temp.SetSize(defsize); + + temp.AddContainer(0, UI::ComponentCondition::Always) + .AddIndex(3) //Border + .AddIndex(4) //Content + ; + + auto &bg = temp.AddContainer(3, UI::ComponentCondition::Always); + bg.Background.SetAnimation(A(Rectangle, Info)); + bg.SetPositioning(UI::ComponentTemplate::Absolute); + + + auto &cont = temp.AddContainer(4, UI::ComponentCondition::Always, UI::ComponentCondition::Disabled) + .AddIndex(1) //icon + .AddIndex(2) //text + ; + cont.SetValueModification(UI::ComponentTemplate::ModifyAlpha, UI::ComponentTemplate::UseTransition); + cont.SetValueRange(0, 1, 0.5); + cont.SetReversible(true); + cont.SetClip(true); + cont.SetPadding(spacing); + cont.SetBorderSize(Border.Width + Border.Radius/2); + cont.SetPositioning(UI::ComponentTemplate::Absolute); + + auto &txt = temp.AddTextholder(1, UI::ComponentCondition::Always); + txt.SetRenderer(infoprinter); + txt.SetColor(Graphics::Color::White); + txt.SetAnchor(UI::Anchor::MiddleRight, UI::Anchor::MiddleLeft, UI::Anchor::MiddleLeft); + txt.SetDataEffect(UI::ComponentTemplate::Text); + txt.SetSize(100, 100, UI::Dimension::Percent); + txt.SetSizing(UI::ComponentTemplate::ShrinkOnly); + + auto &icon = temp.AddPlaceholder(1, UI::ComponentCondition::Icon1IsSet); + icon.SetDataEffect(UI::ComponentTemplate::Icon); + icon.SetAnchor(UI::Anchor::MiddleRight, UI::Anchor::MiddleLeft, UI::Anchor::MiddleLeft); + icon.SetSize(100, 100, UI::Dimension::Percent); + icon.SetSizing(UI::ComponentTemplate::ShrinkOnly); + icon.SetMargin(0, 0, 0, 0); + + + return temp; + } + UI::Template SimpleGenerator::makepanel(SimpleGenerator::AssetID::BorderSide edge, bool scrollers, bool spaced, bool nobg) { Geometry::Size defsize = { GetUnitSize(6) + Border.Width * 2 * spaced + spacing * 2,
--- a/Source/Gorgon/Widgets/Generator.h Mon Jun 07 20:56:13 2021 +0300 +++ b/Source/Gorgon/Widgets/Generator.h Mon Jun 28 10:08:45 2021 +0300 @@ -50,6 +50,8 @@ virtual UI::Template InfoLabel() = 0; + virtual UI::Template IconLabel() = 0; + virtual UI::Template Panel() = 0; @@ -121,6 +123,8 @@ return *new UI::Template(LeadingLabel()); case Label_Info: return *new UI::Template(InfoLabel()); + case Label_Icon: + return *new UI::Template(InfoLabel()); case Checkbox_Regular: return *new UI::Template(Checkbox()); case Checkbox_Button: @@ -582,6 +586,8 @@ virtual UI::Template InfoLabel() override; + virtual UI::Template IconLabel() override; + virtual UI::Template BlankPanel() override;