bsnes/higan/phoenix/cocoa/window.hpp

65 lines
1.7 KiB
C++

@interface CocoaWindow : NSWindow <NSWindowDelegate> {
@public
phoenix::Window *window;
NSMenu *menuBar;
NSMenu *rootMenu;
NSTextField *statusBar;
}
-(id) initWith:(phoenix::Window&)window;
-(BOOL) canBecomeKeyWindow;
-(BOOL) canBecomeMainWindow;
-(void) windowDidBecomeMain:(NSNotification*)notification;
-(void) windowDidMove:(NSNotification*)notification;
-(void) windowDidResize:(NSNotification*)notification;
-(BOOL) windowShouldClose:(id)sender;
-(NSMenu*) menuBar;
-(void) menuAbout;
-(void) menuPreferences;
-(void) menuQuit;
-(NSTextField*) statusBar;
@end
namespace phoenix {
struct pWindow : public pObject {
Window &window;
CocoaWindow *cocoaWindow = nullptr;
static Window& none();
void append(Layout &layout);
void append(Menu &menu);
void append(Widget &widget);
Color backgroundColor();
bool focused();
Geometry frameMargin();
Geometry geometry();
void remove(Layout &layout);
void remove(Menu &menu);
void remove(Widget &widget);
void setBackgroundColor(const Color &color);
void setFocused();
void setFullScreen(bool fullScreen);
void setGeometry(const Geometry &geometry);
void setMenuFont(const string &font);
void setMenuVisible(bool visible);
void setModal(bool modal);
void setResizable(bool resizable);
void setStatusFont(const string &font);
void setStatusText(const string &text);
void setStatusVisible(bool visible);
void setTitle(const string &text);
void setVisible(bool visible);
void setWidgetFont(const string &font);
pWindow(Window &window) : pObject(window), window(window) {}
void constructor();
void destructor();
void moveEvent();
void sizeEvent();
unsigned statusBarHeight();
void statusBarReposition();
};
}