/* * Copyright 2016 Google Inc. * * Use of this source code is governed by a BSD-style license that can be * found in the LICENSE file. */ #ifndef Window_mac_DEFINED #define Window_mac_DEFINED #include "src/core/SkTDynamicHash.h" #include "tools/sk_app/Window.h" #import namespace sk_app { class Window_mac : public Window { public: Window_mac() : INHERITED() , fWindow(nil) {} ~Window_mac() override { this->closeWindow(); } bool initWindow(); void setTitle(const char*) override; void show() override; bool attach(BackendType) override; void onInval() override {} float scaleFactor() const override; static void PaintWindows(); static const NSInteger& GetKey(const Window_mac& w) { return w.fWindowNumber; } static uint32_t Hash(const NSInteger& windowNumber) { return windowNumber; } NSWindow* window() { return fWindow; } void closeWindow(); private: NSWindow* fWindow; NSInteger fWindowNumber; static SkTDynamicHash gWindowMap; using INHERITED = Window; }; } // namespace sk_app #endif