-#include <windows.h>
#include "display.h"
#include "display_private.h"
+#include <windows.h>
using namespace std;
Display::Display(const string &):
primary_monitor(0),
- priv(new Private)
+ priv(new Private),
+ focus_window(0)
{
static ErrorDialog err_dlg(0);
monitor.video_modes.push_back(&modes.back());
if(have_current && info.dmPelsWidth==current.dmPelsWidth && info.dmPelsHeight==current.dmPelsHeight && info.dmDisplayFrequency==current.dmDisplayFrequency)
- monitor.desktop_mode = &modes.back();
+ monitor.desktop_settings.mode = &modes.back();
}
+
+ monitor.current_settings = monitor.desktop_settings;
}
}
Display::~Display()
{
+ delete priv;
}
void Display::set_mode(const VideoMode &requested_mode, bool)
if(ret!=DISP_CHANGE_SUCCESSFUL)
throw unsupported_video_mode(requested_mode);
- for(list<Monitor>::iterator i=monitors.begin(); i!=monitors.end(); ++i)
- if(&*i==mode->monitor)
- i->current_mode = mode;
+ for(Monitor &m: monitors)
+ if(&m==mode->monitor)
+ m.current_settings.mode = mode;
}
bool Display::process_events()