Index: remoting/client/ios/display/gl_display_handler.h |
diff --git a/remoting/client/ios/display/gl_display_handler.h b/remoting/client/ios/display/gl_display_handler.h |
index d6e7fe301b702051cb49901ee003620fb0ae25cf..62d681b89500e3b3836029ab25a8ce5f3b0b423e 100644 |
--- a/remoting/client/ios/display/gl_display_handler.h |
+++ b/remoting/client/ios/display/gl_display_handler.h |
@@ -11,6 +11,7 @@ |
#import "remoting/client/display/sys_opengl.h" |
#include "base/memory/ptr_util.h" |
+#include "remoting/client/view_matrix.h" |
namespace remoting { |
@@ -24,6 +25,16 @@ class CursorShapeStub; |
} // namespace protocol |
} // namespace remoting |
+// This protocol is for receiving notifications from the renderer when its state |
+// changes. Implementations can use this to reposition viewport, process |
+// animations, etc. |
+@protocol GlDisplayHandlerDelegate<NSObject> |
+ |
+// Notifies the delegate that the size of the desktop image has changed. |
+- (void)canvasSizeChanged:(CGSize)size; |
+ |
+@end |
+ |
@interface GlDisplayHandler : NSObject { |
} |
@@ -35,11 +46,17 @@ class CursorShapeStub; |
// Called every time the GLKView dimension is initialized or changed. |
- (void)onSurfaceChanged:(const CGRect&)frame; |
+- (void)onPixelTransformationChanged:(const remoting::ViewMatrix&)matrix; |
+ |
- (std::unique_ptr<remoting::protocol::VideoRenderer>)CreateVideoRenderer; |
- (std::unique_ptr<remoting::protocol::CursorShapeStub>)CreateCursorShapeStub; |
- (EAGLContext*)GetEAGLContext; |
+// This is write-only but @property doesn't support write-only modifier. |
+@property id<GlDisplayHandlerDelegate> delegate; |
+- (id<GlDisplayHandlerDelegate>)delegate UNAVAILABLE_ATTRIBUTE; |
+ |
@end |
#endif // REMOTING_CLIENT_IOS_DISPLAY_GL_DISPLAY_HANDLER_H_ |