| OLD | NEW |
| (Empty) |
| 1 // Copyright 2017 The Chromium Authors. All rights reserved. | |
| 2 // Use of this source code is governed by a BSD-style license that can be | |
| 3 // found in the LICENSE file. | |
| 4 | |
| 5 #ifndef REMOTING_CLIENT_IOS_DISPLAY_GL_DISPLAY_HANDLER_H_ | |
| 6 #define REMOTING_CLIENT_IOS_DISPLAY_GL_DISPLAY_HANDLER_H_ | |
| 7 | |
| 8 #import <Foundation/Foundation.h> | |
| 9 #import <GLKit/GLKit.h> | |
| 10 | |
| 11 #import "remoting/client/display/sys_opengl.h" | |
| 12 | |
| 13 #include "base/memory/ptr_util.h" | |
| 14 #include "remoting/client/view_matrix.h" | |
| 15 | |
| 16 namespace remoting { | |
| 17 | |
| 18 class ChromotingClientRuntime; | |
| 19 | |
| 20 namespace protocol { | |
| 21 | |
| 22 class VideoRenderer; | |
| 23 class CursorShapeStub; | |
| 24 | |
| 25 } // namespace protocol | |
| 26 } // namespace remoting | |
| 27 | |
| 28 // This protocol is for receiving notifications from the renderer when its state | |
| 29 // changes. Implementations can use this to reposition viewport, process | |
| 30 // animations, etc. | |
| 31 @protocol GlDisplayHandlerDelegate<NSObject> | |
| 32 | |
| 33 // Notifies the delegate that the size of the desktop image has changed. | |
| 34 - (void)canvasSizeChanged:(CGSize)size; | |
| 35 | |
| 36 @end | |
| 37 | |
| 38 @interface GlDisplayHandler : NSObject { | |
| 39 } | |
| 40 | |
| 41 - (void)stop; | |
| 42 | |
| 43 // Called once the GLKView created. | |
| 44 - (void)onSurfaceCreated:(GLKView*)view; | |
| 45 | |
| 46 // Called every time the GLKView dimension is initialized or changed. | |
| 47 - (void)onSurfaceChanged:(const CGRect&)frame; | |
| 48 | |
| 49 - (void)onPixelTransformationChanged:(const remoting::ViewMatrix&)matrix; | |
| 50 | |
| 51 - (std::unique_ptr<remoting::protocol::VideoRenderer>)CreateVideoRenderer; | |
| 52 - (std::unique_ptr<remoting::protocol::CursorShapeStub>)CreateCursorShapeStub; | |
| 53 | |
| 54 - (EAGLContext*)GetEAGLContext; | |
| 55 | |
| 56 // This is write-only but @property doesn't support write-only modifier. | |
| 57 @property id<GlDisplayHandlerDelegate> delegate; | |
| 58 - (id<GlDisplayHandlerDelegate>)delegate UNAVAILABLE_ATTRIBUTE; | |
| 59 | |
| 60 @end | |
| 61 | |
| 62 #endif // REMOTING_CLIENT_IOS_DISPLAY_GL_DISPLAY_HANDLER_H_ | |
| OLD | NEW |