1 // 2 // DesktopCaptureSourceView.h 3 // TgVoipWebrtc 4 // 5 // Created by Mikhail Filimonov on 28.12.2020. 6 // Copyright © 2020 Mikhail Filimonov. All rights reserved. 7 // 8 9 #import <Foundation/Foundation.h> 10 #import <AppKit/AppKit.h> 11 #import "tgcalls/desktop_capturer/DesktopCaptureSource.h" 12 #import "tgcalls/desktop_capturer/DesktopCaptureSourceHelper.h" 13 #import "platform/darwin/VideoMetalViewMac.h" 14 #import "platform/darwin/GLVideoViewMac.h" 15 16 NS_ASSUME_NONNULL_BEGIN 17 18 @interface DesktopCaptureSourceView : GLVideoView 19 -(id)initWithHelper:(tgcalls::DesktopCaptureSourceHelper)helper; 20 @end 21 22 @interface DesktopCaptureSourceScope : NSObject 23 -(id)initWithSource:(tgcalls::DesktopCaptureSource)source data:(tgcalls::DesktopCaptureSourceData)data; 24 -(NSString *)cachedKey; 25 @end 26 27 @interface DesktopCaptureSourceViewManager : NSObject 28 29 -(instancetype)init_s; 30 -(instancetype)init_w; 31 -(NSArray<DesktopCaptureSource *> *)list; 32 33 -(NSView *)createForScope:(DesktopCaptureSourceScope *)scope; 34 -(void)start:(DesktopCaptureSourceScope *)scope; 35 -(void)stop:(DesktopCaptureSourceScope *)scope; 36 37 @end 38 39 NS_ASSUME_NONNULL_END 40