#ifndef TOOLBAR_HPP #define TOOLBAR_HPP #include "ui.hpp" #include #include using namespace Emergent; class Toolbar { public: Toolbar(); void setToolbarTopTexture(Texture2D* texture); void setToolbarBottomTexture(Texture2D* texture); void setToolbarMiddleTexture(Texture2D* texture); void setButtonRaisedTexture(Texture2D* texture); void setButtonDepressedTexture(Texture2D* texture); void resize(); void addButton(Texture2D* iconTexture, std::function pressCallback, std::function releaseCallback); void pressButton(std::size_t index); void releaseButton(std::size_t index); const UIContainer* getContainer() const; UIContainer* getContainer(); private: Texture2D* toolbarTopTexture; Texture2D* toolbarBottomTexture; Texture2D* toolbarMiddleTexture; Texture2D* buttonRaisedTexture; Texture2D* buttonDepressedTexture; UIContainer toolbarContainer; UIImage toolbarTopImage; UIImage toolbarBottomImage; UIImage toolbarMiddleImage; std::vector buttons; std::vector icons; std::vector> pressCallbacks; std::vector> releaseCallbacks; std::size_t depressedButtonIndex; }; inline const UIContainer* Toolbar::getContainer() const { return &toolbarContainer; } inline UIContainer* Toolbar::getContainer() { return &toolbarContainer; } #endif // TOOLBAR_HPP