#ifndef REMOTING_IOS_DISPLAY_GL_DISPLAY_HANDLER_H_
#define REMOTING_IOS_DISPLAY_GL_DISPLAY_HANDLER_H_
#import <CoreGraphics/CoreGraphics.h>
#import <Foundation/Foundation.h>
#import <memory>
#import "remoting/client/display/sys_opengl.h"
namespace remoting {
class ChromotingClientRuntime;
class RendererProxy;
namespace protocol {
class VideoRenderer;
class CursorShapeStub;
}
}
@class EAGLView;
@protocol GlDisplayHandlerDelegate<NSObject>
- (void)canvasSizeChanged:(CGSize)size;
- (void)rendererTicked;
@end
@interface GlDisplayHandler : NSObject {
}
- (void)createRendererContext:(EAGLView*)view;
- (void)destroyRendererContext;
- (void)setSurfaceSize:(const CGRect&)frame;
- (std::unique_ptr<remoting::protocol::VideoRenderer>)createVideoRenderer;
- (std::unique_ptr<remoting::protocol::CursorShapeStub>)createCursorShapeStub;
@property(readonly) remoting::RendererProxy* rendererProxy;
@property id<GlDisplayHandlerDelegate> delegate;
- (id<GlDisplayHandlerDelegate>)delegate UNAVAILABLE_ATTRIBUTE;
@end
#endif