]> git.tdb.fi Git - libs/gui.git/blob - source/graphics/cocoa/display.cpp
Initialize Display::primary_monitor to 0
[libs/gui.git] / source / graphics / cocoa / display.cpp
1 #include <stdexcept>
2 #include "cocoadisplay.h"
3 #include "display.h"
4 #include "display_private.h"
5
6 using namespace std;
7
8 namespace Msp {
9 namespace Graphics {
10
11 Display::Display(const string &):
12         primary_monitor(0),
13         priv(new Private)
14 {
15         static ErrorDialog err_dlg(0);
16
17         priv->display = create_display();
18 }
19
20 Display::~Display()
21 {
22         destroy_display(priv->display);
23         delete priv;
24 }
25
26 void Display::set_mode(const VideoMode &, bool)
27 {
28         throw runtime_error("video mode switching not supported");
29 }
30
31 bool Display::process_events()
32 {
33         Window::Event event;
34         if(!get_event(priv->display, &event.cevent))
35                 return false;
36
37         map<WindowHandle, Window *>::iterator i = priv->windows.find(event.cevent.any.window);
38         if(i!=priv->windows.end())
39                 i->second->event(event);
40
41         return true;
42 }
43
44 void Display::check_error()
45 {
46 }
47
48 } // namespace Graphics
49 } // namespace Msp