#include <CoreFoundation/CoreFoundation.h>
#include <Cocoa/Cocoa.h>
#include <CoreVideo/CoreVideo.h>
#include <OpenGL/OpenGL.h>

@interface Window : NSWindow
@end

@interface Controller : NSWindowController<NSWindowDelegate>
@end

@interface View : NSOpenGLView<NSSharingServiceDelegate>
{
    @public Window* wnd;
    CVDisplayLinkRef dl;
    NSOpenGLContext* glctx;
    _CGLContextObject* cgl;
    bool gl_ready;
    @public NSString* file2open;
}
- (void)close;
- (void)terminateGL;
- (void)async_lock;
- (void)async_unlock;
- (void)async_swap;
- (std::string)pick_file:(NSArray<NSString*>*)types;
- (std::string)pick_dir;
- (void)share_file:(NSString*)file_path;
- (void)hockeyapp_crash;
@end
