• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright 2014 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_IOS_UTILITY_H_
6 #define REMOTING_IOS_UTILITY_H_
7 
8 #import <Foundation/Foundation.h>
9 
10 #include "base/memory/scoped_ptr.h"
11 #include "third_party/webrtc/modules/desktop_capture/desktop_frame.h"
12 #include "third_party/webrtc/modules/desktop_capture/desktop_geometry.h"
13 
14 #import "remoting/ios/bridge/host_proxy.h"
15 
16 typedef struct {
17   scoped_ptr<webrtc::BasicDesktopFrame> image;
18   scoped_ptr<webrtc::DesktopVector> offset;
19 } GLRegion;
20 
21 @interface Utility : NSObject
22 
23 + (BOOL)isPad;
24 
25 + (BOOL)isInLandscapeMode;
26 
27 // Return the resolution in respect to orientation
28 + (CGSize)getOrientatedSize:(CGSize)size
29     shouldWidthBeLongestSide:(BOOL)shouldWidthBeLongestSide;
30 
31 + (void)showAlert:(NSString*)title message:(NSString*)message;
32 
33 + (NSString*)appVersionNumberDisplayString;
34 
35 // GL Binding Context requires some specific flags for the type of textures
36 // being drawn
37 + (void)bindTextureForIOS:(GLuint)glName;
38 
39 // Sometimes its necessary to read gl errors.  This is called in various places
40 // while working in the GL Context
41 + (void)logGLErrorCode:(NSString*)funcName;
42 
43 + (void)drawSubRectToGLFromRectOfSize:(const webrtc::DesktopSize&)rectSize
44                               subRect:(const webrtc::DesktopRect&)subRect
45                                  data:(const uint8_t*)data;
46 
47 + (void)moveMouse:(HostProxy*)controller at:(const webrtc::DesktopVector&)point;
48 
49 + (void)leftClickOn:(HostProxy*)controller
50                  at:(const webrtc::DesktopVector&)point;
51 
52 + (void)middleClickOn:(HostProxy*)controller
53                    at:(const webrtc::DesktopVector&)point;
54 
55 + (void)rightClickOn:(HostProxy*)controller
56                   at:(const webrtc::DesktopVector&)point;
57 
58 + (void)mouseScroll:(HostProxy*)controller
59                  at:(const webrtc::DesktopVector&)point
60               delta:(const webrtc::DesktopVector&)delta;
61 
62 @end
63 
64 #endif  // REMOTING_IOS_UTILITY_H_
65