1 /* 2 * Copyright 2015 The WebRTC project authors. All Rights Reserved. 3 * 4 * Use of this source code is governed by a BSD-style license 5 * that can be found in the LICENSE file in the root of the source 6 * tree. An additional intellectual property rights grant can be found 7 * in the file PATENTS. All contributing project authors may 8 * be found in the AUTHORS file in the root of the source tree. 9 */ 10 11 #import <Foundation/Foundation.h> 12 13 #if !TARGET_OS_IPHONE 14 15 #import <AppKit/NSOpenGLView.h> 16 17 #import "RTCVideoRenderer.h" 18 #import "RTCVideoViewShading.h" 19 20 NS_ASSUME_NONNULL_BEGIN 21 22 @class RTC_OBJC_TYPE(RTCNSGLVideoView); 23 24 RTC_OBJC_EXPORT 25 @protocol RTC_OBJC_TYPE 26 (RTCNSGLVideoViewDelegate)<RTC_OBJC_TYPE(RTCVideoViewDelegate)> @end 27 28 RTC_OBJC_EXPORT 29 @interface RTC_OBJC_TYPE (RTCNSGLVideoView) : NSOpenGLView <RTC_OBJC_TYPE(RTCVideoRenderer)> 30 31 @property(nonatomic, weak) id<RTC_OBJC_TYPE(RTCVideoViewDelegate)> delegate; 32 33 - (instancetype)initWithFrame:(NSRect)frameRect 34 pixelFormat:(NSOpenGLPixelFormat *)format 35 shader:(id<RTC_OBJC_TYPE(RTCVideoViewShading)>)shader 36 NS_DESIGNATED_INITIALIZER; 37 38 @end 39 40 NS_ASSUME_NONNULL_END 41 42 #endif 43