// Copyright 2014 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef REMOTING_IOS_UTILITY_H_ #define REMOTING_IOS_UTILITY_H_ #import #include "base/memory/scoped_ptr.h" #include "third_party/webrtc/modules/desktop_capture/desktop_frame.h" #include "third_party/webrtc/modules/desktop_capture/desktop_geometry.h" #import "remoting/ios/bridge/host_proxy.h" typedef struct { scoped_ptr image; scoped_ptr offset; } GLRegion; @interface Utility : NSObject + (BOOL)isPad; + (BOOL)isInLandscapeMode; // Return the resolution in respect to orientation + (CGSize)getOrientatedSize:(CGSize)size shouldWidthBeLongestSide:(BOOL)shouldWidthBeLongestSide; + (void)showAlert:(NSString*)title message:(NSString*)message; + (NSString*)appVersionNumberDisplayString; // GL Binding Context requires some specific flags for the type of textures // being drawn + (void)bindTextureForIOS:(GLuint)glName; // Sometimes its necessary to read gl errors. This is called in various places // while working in the GL Context + (void)logGLErrorCode:(NSString*)funcName; + (void)drawSubRectToGLFromRectOfSize:(const webrtc::DesktopSize&)rectSize subRect:(const webrtc::DesktopRect&)subRect data:(const uint8_t*)data; + (void)moveMouse:(HostProxy*)controller at:(const webrtc::DesktopVector&)point; + (void)leftClickOn:(HostProxy*)controller at:(const webrtc::DesktopVector&)point; + (void)middleClickOn:(HostProxy*)controller at:(const webrtc::DesktopVector&)point; + (void)rightClickOn:(HostProxy*)controller at:(const webrtc::DesktopVector&)point; + (void)mouseScroll:(HostProxy*)controller at:(const webrtc::DesktopVector&)point delta:(const webrtc::DesktopVector&)delta; @end #endif // REMOTING_IOS_UTILITY_H_