//
//  GameViewController.h
//  PanoPainter
//
//  Created by Omar Mohamed Ali Mudhir on 07/05/17.
//  Copyright © 2017 Omar Mohamed Ali Mudhir. All rights reserved.
//

#import <UIKit/UIKit.h>
#import <GLKit/GLKit.h>
#import "AppDelegate.h"

@interface GameView : GLKView
@end

@interface GameViewController : UIViewController<
    UIKeyInput,
    UIImagePickerControllerDelegate,
    UIDocumentPickerDelegate,
    UINavigationControllerDelegate,
    UIDocumentInteractionControllerDelegate
    >
{
@public GameView* glview;
@public EAGLContext* context;
@public bool input_enabled;
}
- (void)show_keyboard;
- (void)hide_keyboard;
- (void)display_file:(std::string)filename;
- (void)reset_touch;
- (void)async_lock;
- (void)async_unlock;
- (void)async_swap;
- (void)pick_photo:(std::function<void(std::string)>) callback;
- (void)pick_file:(NSArray<NSString*>*)types then:(std::function<void(std::string)>)callback;
- (void)pick_file_save:(std::string)path;
- (void)registerForKeyboardNotifications;
- (void)unregisterForKeyboardNotifications;
- (void)crash;
- (void)share_file:(NSString*)file_path;
- (std::string)clipboard_get_string;
- (bool)clipboard_set_string:(const std::string&)s;
- (void)init_dirs;
@end
