Home | History | Annotate | Download | only in ui
      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_UI_DESKTOP_TEXTURE_H_
      6 #define REMOTING_IOS_UI_DESKTOP_TEXTURE_H_
      7 
      8 #import <Foundation/Foundation.h>
      9 #import <GLKit/GLKit.h>
     10 
     11 #import "remoting/ios/utility.h"
     12 #include "third_party/webrtc/modules/desktop_capture/desktop_geometry.h"
     13 
     14 @interface DesktopTexture : NSObject {
     15  @private
     16   // GL name
     17   GLuint _textureId;
     18   webrtc::DesktopSize _textureSize;
     19   BOOL _needInitialize;
     20 }
     21 
     22 - (const webrtc::DesktopSize&)textureSize;
     23 
     24 - (void)setTextureSize:(const webrtc::DesktopSize&)size;
     25 
     26 // bind this object to an effect's via the effects properties
     27 - (void)bindToEffect:(GLKEffectPropertyTexture*)effectProperty;
     28 
     29 - (BOOL)needDraw;
     30 
     31 // draw a region of the texture
     32 - (void)drawRegion:(GLRegion*)region rect:(CGRect)rect;
     33 
     34 - (void)releaseTexture;
     35 
     36 @end
     37 
     38 #endif  // REMOTING_IOS_UI_DESKTOP_TEXTURE_H_