namespace Mf {
-class Video
+class Video;
+typedef boost::shared_ptr<Video> VideoP;
+
+
+struct Video
{
-public:
struct Attributes
{
// OpenGL attributes
Attributes();
};
+
+private:
+
+ void init(const Attributes& attribs);
+
+ void recreateContext();
+ void setOpenGLAttributes();
+
+ void setIcon();
+
+ SDL_Surface* context_;
+ unsigned flags_;
+ Attributes attribs_;
+
+public:
+
+ inline static VideoP alloc(const std::string& caption,
+ const std::string& icon)
+ {
+ return VideoP(new Video(caption, icon));
+ }
+
Video();
explicit Video(const Attributes& attribs);
explicit Video(const std::string& caption, const std::string& icon);
explicit Exception(const std::string& what_arg) :
std::runtime_error(what_arg) {}
};
-
-private:
- void init(const Attributes& attribs);
-
- void recreateContext();
- void setOpenGLAttributes();
-
- void setIcon();
-
- SDL_Surface* context_;
- unsigned flags_;
- Attributes attribs_;
};
-typedef boost::shared_ptr<Video> VideoPtr;
-
} // namespace Mf