]> git.localhorst.tv Git - l2e.git/blobdiff - src/graphics/Frame.h
added Frame class for drawing bordered windows
[l2e.git] / src / graphics / Frame.h
diff --git a/src/graphics/Frame.h b/src/graphics/Frame.h
new file mode 100644 (file)
index 0000000..0f1287c
--- /dev/null
@@ -0,0 +1,41 @@
+/*
+ * Frame.h
+ *
+ *  Created on: Aug 7, 2012
+ *      Author: holy
+ */
+
+#ifndef GRAPHICS_FRAME_H_
+#define GRAPHICS_FRAME_H_
+
+#include "../geometry/Point.h"
+
+#include <SDL.h>
+
+namespace graphics {
+
+class Frame {
+
+public:
+       Frame(SDL_Surface *s, int borderWidth, int borderHeight, int repeatWidth = 1, int repeatHeight = 1, int xOffset = 0, int yOffset = 0)
+       : surface(s), borderWidth(borderWidth), borderHeight(borderHeight), repeatWidth(repeatWidth), repeatHeight(repeatHeight), xOffset(xOffset), yOffset(yOffset) { }
+
+public:
+       int MinWidth() const { return 2 * borderWidth; }
+       int MinHeight() const { return 2 * borderHeight; }
+       void Draw(SDL_Surface *dest, geometry::Point<int> position, int width, int height) const;
+
+private:
+       SDL_Surface *surface;
+       int borderWidth;
+       int borderHeight;
+       int repeatWidth;
+       int repeatHeight;
+       int xOffset;
+       int yOffset;
+
+};
+
+}
+
+#endif /* GRAPHICS_FRAME_H_ */