]> Dogcows Code - chaz/yoink/blobdiff - src/Moof/Video.cc
simplified win32 installer build script
[chaz/yoink] / src / Moof / Video.cc
index 9fdd47893652109704f589acc8aa0a5c6b6ad337..e4579fbc700951215a32b0669a2602c5b7f62fbf 100644 (file)
 
 *******************************************************************************/
 
-#include <SDL/SDL_image.h>
-
-#include "Dispatcher.hh"
+#include "Dispatch.hh"
+#include "Engine.hh"
 #include "Exception.hh"
+#include "Image.hh"
 #include "Log.hh"
 #include "Settings.hh"
 #include "Video.hh"
@@ -64,6 +64,9 @@ Video::Video(const std::string& caption, const std::string& icon)
 
 void Video::init(const Attributes& attribs)
 {
+       // make sure the engine is initialized before setting up the video
+       Engine::getInstance();
+
        mContext = 0;
        mFlags = 0;
        mAttribs = attribs;
@@ -132,7 +135,8 @@ void Video::setVideoMode(const long mode[3])
                        // on win32, creating a new context via SDL_SetVideoMode will wipe
                        // out the GL state, so we gotta notify everyone to reload their
                        // state after the change
-                       Mf::dispatcher::dispatch("video.context_recreated");
+                       Engine::getInstance().dispatch("video.newcontext");
+
                        logInfo("video context recreated");
 #endif
                }
@@ -168,12 +172,8 @@ void Video::setIcon()
 {
        if (mAttribs.icon != "")
        {
-               SDL_Surface* icon = IMG_Load(mAttribs.icon.c_str());
-               if (icon)
-               {
-                       SDL_WM_SetIcon(icon, 0);
-                       SDL_FreeSurface(icon);
-               }
+               Image icon(mAttribs.icon);
+               icon.setAsIcon();
        }
 }
 
@@ -182,6 +182,11 @@ std::string Video::getCaption() const
        return mAttribs.caption;
 }
 
+const std::string& Video::getIcon() const
+{
+       return mAttribs.icon;
+}
+
 
 void Video::setFull(bool full)
 {
@@ -275,12 +280,6 @@ void Video::setCursorGrab(bool cursorGrab)
 }
 
 
-void Video::makeActive()
-{
-       // NOP until the day SDL supports more than only one window.
-       // Still waiting...
-}
-
 void Video::swap()
 {
        SDL_GL_SwapBuffers();
This page took 0.021206 seconds and 4 git commands to generate.