#pragma once #include "MenuComponent.h" #include "DEFINES.h" #include "Crawler.h" INCLUDE_game class MenuLabel:public MenuComponent{ bool shadow=false; bool centered=true; public: inline MenuLabel(MenuType parent,geom2d::rectrect,std::string label,bool centered=true,bool shadow=false) :MenuComponent(parent,rect,label,MenuFunc{},false),centered(centered),shadow(shadow){ border=false; } inline void SetLabel(std::string text){ label=text; } protected: virtual void inline Update(Crawler*game)override{ MenuComponent::Update(game); } virtual void inline Draw(Crawler*game,vf2d parentPos,bool focused)override{ vf2d drawPos=rect.pos+parentPos+rect.size/2-game->GetTextSizeProp(label)/2; //Assume centered. if(!centered){ drawPos=rect.pos+parentPos; } if(shadow){ game->DrawShadowStringPropDecal(drawPos,label,focused?WHITE:WHITE*"ThemeGlobal.MenuUnfocusedColorMult"_F); }else{ game->DrawStringPropDecal(drawPos,label,focused?WHITE:WHITE*"ThemeGlobal.MenuUnfocusedColorMult"_F); } } };