#ifndef EXTENSIONS_SHELL_BROWSER_SHELL_NATIVE_APP_WINDOW_MAC_H_
#define EXTENSIONS_SHELL_BROWSER_SHELL_NATIVE_APP_WINDOW_MAC_H_
#import <Cocoa/Cocoa.h>
#include "extensions/shell/browser/shell_native_app_window.h"
namespace extensions {
class ShellNativeAppWindowMac;
}
@interface ShellNativeAppWindowController
: NSWindowController <NSWindowDelegate>
@property(assign, nonatomic) extensions::ShellNativeAppWindowMac* appWindow;
@end
namespace extensions {
class ShellNativeAppWindowMac : public ShellNativeAppWindow {
public:
ShellNativeAppWindowMac(extensions::AppWindow* app_window,
const extensions::AppWindow::CreateParams& params);
ShellNativeAppWindowMac(const ShellNativeAppWindowMac&) = delete;
ShellNativeAppWindowMac& operator=(const ShellNativeAppWindowMac&) = delete;
~ShellNativeAppWindowMac() override;
bool IsActive() const override;
gfx::NativeWindow GetNativeWindow() const override;
gfx::Rect GetBounds() const override;
void Show() override;
void Hide() override;
bool IsVisible() const override;
void Activate() override;
void Deactivate() override;
void SetBounds(const gfx::Rect& bounds) override;
gfx::Size GetContentMinimumSize() const override;
gfx::Size GetContentMaximumSize() const override;
void WindowWillClose();
private:
NSWindow* window() const;
ShellNativeAppWindowController* __strong window_controller_;
};
}
#endif