Fix EventQueue::instance() for Skia port

This commit is contained in:
David Capello 2015-10-02 12:08:38 -03:00
parent 5033713430
commit e8fde930bd
3 changed files with 10 additions and 5 deletions

View File

@ -17,7 +17,7 @@
namespace she { namespace she {
SkiaDisplay::SkiaDisplay(EventQueue* queue, int width, int height, int scale) SkiaDisplay::SkiaDisplay(int width, int height, int scale)
: m_window(instance()->eventQueue(), this) : m_window(instance()->eventQueue(), this)
, m_surface(new SkiaSurface) , m_surface(new SkiaSurface)
, m_customSurface(false) , m_customSurface(false)

View File

@ -18,7 +18,7 @@ class SkiaSurface;
class SkiaDisplay : public Display { class SkiaDisplay : public Display {
public: public:
SkiaDisplay(EventQueue* queue, int width, int height, int scale); SkiaDisplay(int width, int height, int scale);
void setSkiaSurface(SkiaSurface* surface); void setSkiaSurface(SkiaSurface* surface);

View File

@ -28,6 +28,8 @@
namespace she { namespace she {
EventQueueImpl g_queue;
class SkiaSystem : public CommonSystem { class SkiaSystem : public CommonSystem {
public: public:
SkiaSystem() SkiaSystem()
@ -52,7 +54,7 @@ public:
} }
EventQueue* eventQueue() override { EventQueue* eventQueue() override {
return &m_queue; return &g_queue;
} }
Display* defaultDisplay() override { Display* defaultDisplay() override {
@ -60,7 +62,7 @@ public:
} }
Display* createDisplay(int width, int height, int scale) override { Display* createDisplay(int width, int height, int scale) override {
SkiaDisplay* display = new SkiaDisplay(&m_queue, width, height, scale); SkiaDisplay* display = new SkiaDisplay(width, height, scale);
if (!m_defaultDisplay) if (!m_defaultDisplay)
m_defaultDisplay = display; m_defaultDisplay = display;
return display; return display;
@ -107,9 +109,12 @@ public:
private: private:
SkiaDisplay* m_defaultDisplay; SkiaDisplay* m_defaultDisplay;
EventQueueImpl m_queue;
}; };
EventQueue* EventQueue::instance() {
return &g_queue;
}
} // namespace she } // namespace she
#endif #endif