12#include "../media/image.h"
22 virtual Component* getHitComponent(int32_t x, int32_t y)
override;
23 virtual void render(
const Sml::Rectangle<int32_t>& targetRegion)
override;
24 virtual void layout()
override;
25 virtual void prerender()
override;
26 virtual bool isResizable()
const override;
28 const Image* getImage()
const;
29 void setImage(
const Image* image);
31 float getRatio()
const;
33 bool getPreserveRatio()
const;
34 void setPreserveRatio(
bool preserveRatio);
36 int32_t getFitWidth()
const;
37 void setFitWidth(int32_t width);
39 int32_t getFitHeight()
const;
40 void setFitHeight(int32_t height);
42 virtual int32_t computePrefWidth(int32_t height = -1)
const override;
43 virtual int32_t computePrefHeight(int32_t width = -1)
const override;
45 virtual int32_t computeMinWidth(int32_t height = -1)
const override;
46 virtual int32_t computeMinHeight(int32_t width = -1)
const override;
48 virtual int32_t computeMaxWidth(int32_t height = -1)
const override;
49 virtual int32_t computeMaxHeight(int32_t width = -1)
const override;
52 const Image* m_Image =
nullptr;
54 bool m_PreserveRatio =
true;
55 int32_t m_FitWidth = USE_COMPUTED_SIZE;
56 int32_t m_FitHeight = USE_COMPUTED_SIZE;