TurtleBrains  0.3.5
High quality, portable, C++ framework for rapid 2D game development.
tbx_nine_slice.hpp
1 
9 #ifndef TurtleBrainsExpress_NineSlice_hpp
10 #define TurtleBrainsExpress_NineSlice_hpp
11 
12 #include <turtle_brains/graphics/tb_graphic.hpp>
13 #include <turtle_brains/graphics/tb_sprite.hpp>
14 
15 #include <array>
16 
17 namespace TurtleBrains::Express::Graphics
18 {
19 
24  {
25  public:
44  explicit NineSlice(const std::array<tbGraphics::Sprite, 9> sprites, tbGraphics::PixelSpace width, tbGraphics::PixelSpace height);
45 
49  explicit NineSlice(const tbCore::String& spriteSheetName, const tbCore::String& spriteName,
51 
55  virtual ~NineSlice(void);
56 
57  virtual tbGraphics::PixelSpace GetPixelWidth(void) const override { return mWidth; }
58  virtual tbGraphics::PixelSpace GetPixelHeight(void) const override { return mHeight; }
59 
60  protected:
61  virtual void OnRender(void) const override;
62 
63  private:
64  tbGraphics::PixelSpace MinimumWidth(void) const;
65  tbGraphics::PixelSpace MinimumHeight(void) const;
66 
67  std::array<tbGraphics::Sprite, 9> mSprites;
69  tbGraphics::PixelSpace mHeight;
70  };
71 
72 }; /* namespace TurtleBrains::Express::Graphics */
73 
74 namespace tbxGraphics = TurtleBrains::Express::Graphics;
75 
76 #endif /* TurtleBrainsExpress_NineSlice_hpp */
Definition: tbx_nine_slice.hpp:24
virtual tbGraphics::PixelSpace GetPixelHeight(void) const override
Definition: tbx_nine_slice.hpp:58
NineSlice(const tbCore::String &spriteSheetName, const tbCore::String &spriteName, tbGraphics::PixelSpace width, tbGraphics::PixelSpace height)
NineSlice(const std::array< tbGraphics::Sprite, 9 > sprites, tbGraphics::PixelSpace width, tbGraphics::PixelSpace height)
virtual tbGraphics::PixelSpace GetPixelWidth(void) const override
Definition: tbx_nine_slice.hpp:57
virtual void OnRender(void) const override
Definition: tb_graphic.hpp:50
std::string String
Definition: tb_string.hpp:302
tbCore::uint16 PixelSpace
Definition: tb_texture_manager.hpp:34