minivmac4ios/Mini vMac/EmulatorProtocol.h
2016-06-04 15:00:31 +02:00

46 lines
1.2 KiB
Objective-C

//
// EmulatorProtocol.h
// Mini vMac
//
// Created by Jesús A. Álvarez on 27/05/2016.
// Copyright © 2016 namedfork. All rights reserved.
//
@import Foundation;
@import CoreGraphics;
@import QuartzCore;
@protocol Emulator <NSObject>
@property (nonatomic, strong) NSString *dataPath;
@property (nonatomic, assign, getter=isRunning) BOOL running;
@property (nonatomic, assign) NSInteger speed;
@property (nonatomic, weak) CALayer *screenLayer;
@property (nonatomic, readonly) NSBundle *bundle;
@property (nonatomic, readonly) CGSize screenSize;
@property (nonatomic, readonly) NSString *insertDiskNotification, *ejectDiskNotification;
@property (nonatomic, readonly) NSInteger initialSpeed;
@property (nonatomic, readonly) NSData *RAM;
@property (nonatomic, readonly) BOOL anyDiskInserted;
@property (nonatomic, readonly) NSString *currentApplication;
+ (instancetype)sharedEmulator;
- (void)run;
- (void)reset;
- (void)interrupt;
- (void)keyDown:(int)scancode;
- (void)keyUp:(int)scancode;
- (void)setMouseX:(NSInteger)x Y:(NSInteger)y;
- (void)moveMouseX:(NSInteger)x Y:(NSInteger)y;
- (void)setMouseButton:(BOOL)down;
- (BOOL)insertDisk:(NSString*)path;
- (BOOL)isDiskInserted:(NSString*)path;
@end