- int MinWidth() const { return 2 * borderWidth; }
- int MinHeight() const { return 2 * borderHeight; }
- int BorderWidth() const { return borderWidth; }
- int BorderHeight() const { return borderHeight; }
+ explicit Frame(SDL_Surface *s = 0, int borderWidth = 1, int borderHeight = 1, int repeatWidth = 1, int repeatHeight = 1, int xOffset = 0, int yOffset = 0)
+ : surface(s), borderSize(borderWidth, borderHeight), repeatSize(repeatWidth, repeatHeight), offset(xOffset, yOffset) { }
+
+public:
+ int MinWidth() const { return 2 * BorderWidth(); }
+ int MinHeight() const { return 2 * BorderHeight(); }
+ int BorderWidth() const { return BorderSize().X(); }
+ int BorderHeight() const { return BorderSize().Y(); }
+ const geometry::Vector<int> BorderSize() const { return borderSize; }
+ int RepeatWidth() const { return RepeatSize().X(); }
+ int RepeatHeight() const { return RepeatSize().Y(); }
+ const geometry::Vector<int> RepeatSize() const { return repeatSize; }