99 lines
2.8 KiB
Objective-C
99 lines
2.8 KiB
Objective-C
//
|
|
// OpenGLView.h
|
|
// iVideoCalls
|
|
//
|
|
// Created by Kiwaro Nigas on 12-12-4.
|
|
// Copyright (c) 2012年 xizue.com. All rights reserved.
|
|
//
|
|
|
|
#import "P2PCInterface.h"
|
|
#define g_w 352
|
|
#define g_h 240
|
|
|
|
enum {
|
|
ATTRIBUTE_VERTEX,
|
|
ATTRIBUTE_TEXCOORD,
|
|
};
|
|
|
|
// shape type
|
|
enum {
|
|
SHAPE_CIRCLE = 0,// 圆形
|
|
SHAPE_180_HALF_SPHERE = 1,
|
|
SHAPE_CYLIDER = 2,//圆柱
|
|
SHAPE_BOWLE = 3,//碗状
|
|
SHAPE_FOUR_SCREEN = 4,//四分屏
|
|
};
|
|
// fisheye type
|
|
enum {
|
|
FISHEYE_360 = 0,
|
|
FISHEYE_180 = 1,
|
|
};
|
|
|
|
@protocol OpenGLRenderer
|
|
- (BOOL) isValid;
|
|
- (NSString *) fragmentShader;
|
|
- (void) resolveUniforms: (GLuint) program;
|
|
- (void) setFrame:(GAVFrame *)yuvFrame;
|
|
- (BOOL) prepareRender;
|
|
@end
|
|
|
|
@protocol OpenGLViewDelegate <NSObject>
|
|
-(void)onScreenShotted:(UIImage*)image;
|
|
@optional
|
|
-(void)onScreenShotted:(UIImage*)image timeInterval:(NSString *)timeInterval;//timeInterval秒
|
|
@end
|
|
|
|
@interface OpenGLView : UIView
|
|
{
|
|
EAGLContext *_context;
|
|
GLuint _framebuffer;
|
|
GLuint _renderbuffer;
|
|
GLuint _depthbuffer;
|
|
GLuint _program;
|
|
GLint _uniformMatrix;
|
|
|
|
id<OpenGLRenderer> _renderer;
|
|
|
|
//YES表示渲染成功,退出时可截图;NO表示渲染失败或渲染未完成(一片黑),退出时不截图
|
|
BOOL _isGetVideoFrame;
|
|
CGFloat _viewScale;
|
|
}
|
|
|
|
@property (nonatomic) BOOL Initialized;
|
|
@property (nonatomic) BOOL isScreenShotting;
|
|
@property (nonatomic) BOOL captureFinishScreen;
|
|
@property (nonatomic) BOOL isQuitMonitorInterface;//rtsp监控界面弹出修改
|
|
@property (nonatomic) BOOL isFullScreen;
|
|
@property (assign) id<OpenGLViewDelegate> delegate;
|
|
|
|
|
|
- (id)initWithIsSupportFisheyeDevice:(BOOL)isSupportFisheyeDevice installType:(int)installType deviceID:(int)deviceID fishEyeType:(int)fishEyeType;
|
|
- (BOOL)isvalid;
|
|
- (void)render:(GAVFrame *)frame;
|
|
- (UIImage *)glToUIImage;
|
|
-(void)releseromotViewSet;
|
|
-(void)getLastImgGoback;
|
|
|
|
- (void) setFullScreenHeight:(int)iheight width:(int)iwidth fullScreen:(int)isFullScreen;
|
|
- (void) setAccelerationX:(float)x Y:(float) y Z:(float)z;
|
|
//init data
|
|
- (void)initDataShapeWarpTextureWidth:(int)width textureHeight:(int)height windowWidth:(int)w_width windowHeight:(int)w_height installType:(int)installType deviceID:(int)deviceID fishEyeType:(int)fishEyeType;
|
|
// zoom in/out
|
|
- (void)setZoomInOpenGLView;
|
|
- (void)setZoomOutOpenGLView;
|
|
- (void)setZoomInOpenGLViewX:(float)x Y:(float)y;
|
|
- (void)setZoomOutOpenGLViewX:(float)x Y:(float)y;
|
|
//singalTap
|
|
- (void)singalTapInOpenGLView;
|
|
//setGestureMode
|
|
- (void)setGestureModeInOpenGLView:(int)mode;
|
|
//setKeyStatus
|
|
- (void)setKeyStatusInOpenGLView:(int)key;
|
|
//setFling
|
|
- (void)setFlingInOpenGLViewX:(float)x Y:(float)y;
|
|
//setMoveStep
|
|
- (void)setMoveStepInOpenGLViewX:(float)x Y:(float)y dX:(float)dx dY:(float)dy;
|
|
|
|
@end
|
|
|