X-Git-Url: https://git.dogcows.com/gitweb?a=blobdiff_plain;f=src%2FMoof%2FVideo.cc;h=8dab056c645843d391e78868ce9b72a8e1c9b6dc;hb=a295f8def17036c8071b56e181364f99a377cae7;hp=9fdd47893652109704f589acc8aa0a5c6b6ad337;hpb=8a1acac01b444dccf8b57cedf08392ada2e473c1;p=chaz%2Fyoink diff --git a/src/Moof/Video.cc b/src/Moof/Video.cc index 9fdd478..8dab056 100644 --- a/src/Moof/Video.cc +++ b/src/Moof/Video.cc @@ -26,10 +26,10 @@ *******************************************************************************/ -#include - -#include "Dispatcher.hh" -#include "Exception.hh" +#include "Dispatch.hh" +#include "Engine.hh" +#include "Error.hh" +#include "Image.hh" #include "Log.hh" #include "Settings.hh" #include "Video.hh" @@ -132,11 +132,12 @@ 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 } - else throw Exception(ErrorCode::SDL_VIDEOMODE); + else throw Error(Error::SDL_VIDEOMODE); } } @@ -168,12 +169,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 +179,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 +277,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();