149 lines
5.2 KiB
C
149 lines
5.2 KiB
C
// Copyright 2023 The Chromium Authors
|
|
// Use of this source code is governed by a BSD-style license that can be
|
|
// found in the LICENSE file.
|
|
|
|
#ifndef BASE_MAC_WRAP_CG_DISPLAY_H_
|
|
#define BASE_MAC_WRAP_CG_DISPLAY_H_
|
|
|
|
// All these symbols have incorrect availability annotations in the 13.3 SDK.
|
|
// These have the correct annotation. See https://crbug.com/1431897.
|
|
// TODO(thakis): Remove this once FB12109479 is fixed and we updated to an SDK
|
|
// with the fix.
|
|
|
|
#include <CoreGraphics/CoreGraphics.h>
|
|
|
|
inline CGDisplayStreamRef __nullable wrapCGDisplayStreamCreate(
|
|
CGDirectDisplayID display,
|
|
size_t outputWidth,
|
|
size_t outputHeight,
|
|
int32_t pixelFormat,
|
|
CFDictionaryRef __nullable properties,
|
|
CGDisplayStreamFrameAvailableHandler __nullable handler)
|
|
CG_AVAILABLE_BUT_DEPRECATED(
|
|
10.8,
|
|
14.0,
|
|
"Please use ScreenCaptureKit API's "
|
|
"initWithFilter:configuration:delegate: instead") {
|
|
#pragma clang diagnostic push
|
|
#pragma clang diagnostic ignored "-Wunguarded-availability-new"
|
|
return CGDisplayStreamCreate(display, outputWidth, outputHeight, pixelFormat,
|
|
properties, handler);
|
|
#pragma clang diagnostic pop
|
|
}
|
|
|
|
inline CFRunLoopSourceRef __nullable wrapCGDisplayStreamGetRunLoopSource(
|
|
CGDisplayStreamRef cg_nullable displayStream)
|
|
CG_AVAILABLE_BUT_DEPRECATED(
|
|
10.8,
|
|
14.0,
|
|
"There is no direct replacement for this function. Please use "
|
|
"ScreenCaptureKit API's SCStream to replace CGDisplayStream") {
|
|
#pragma clang diagnostic push
|
|
#pragma clang diagnostic ignored "-Wunguarded-availability-new"
|
|
return CGDisplayStreamGetRunLoopSource(displayStream);
|
|
#pragma clang diagnostic pop
|
|
}
|
|
|
|
inline CGError wrapCGDisplayStreamStart(
|
|
CGDisplayStreamRef cg_nullable displayStream)
|
|
CG_AVAILABLE_BUT_DEPRECATED(
|
|
10.8,
|
|
14.0,
|
|
"Please use ScreenCaptureKit API's "
|
|
"startCaptureWithCompletionHandler: to start a stream instead") {
|
|
#pragma clang diagnostic push
|
|
#pragma clang diagnostic ignored "-Wunguarded-availability-new"
|
|
return CGDisplayStreamStart(displayStream);
|
|
#pragma clang diagnostic pop
|
|
}
|
|
|
|
inline CGError wrapCGDisplayStreamStop(
|
|
CGDisplayStreamRef cg_nullable displayStream)
|
|
CG_AVAILABLE_BUT_DEPRECATED(
|
|
10.8,
|
|
14.0,
|
|
"Please use ScreenCaptureKit API's "
|
|
"stopCaptureWithCompletionHandler: to stop a stream instead") {
|
|
#pragma clang diagnostic push
|
|
#pragma clang diagnostic ignored "-Wunguarded-availability-new"
|
|
return CGDisplayStreamStop(displayStream);
|
|
#pragma clang diagnostic pop
|
|
}
|
|
|
|
inline _Null_unspecified CFStringRef wrapkCGDisplayStreamColorSpace()
|
|
CG_AVAILABLE_BUT_DEPRECATED(
|
|
10.8,
|
|
14.0,
|
|
"Please use ScreenCaptureKit API's SCStreamConfiguration "
|
|
"colorSpaceName property instead") {
|
|
#pragma clang diagnostic push
|
|
#pragma clang diagnostic ignored "-Wunguarded-availability-new"
|
|
return kCGDisplayStreamColorSpace;
|
|
#pragma clang diagnostic pop
|
|
}
|
|
|
|
inline _Null_unspecified CFStringRef wrapkCGDisplayStreamDestinationRect()
|
|
CG_AVAILABLE_BUT_DEPRECATED(
|
|
10.8,
|
|
14.0,
|
|
"Please use ScreenCaptureKit API's SCStreamConfiguration "
|
|
"destinationRect property instead") {
|
|
#pragma clang diagnostic push
|
|
#pragma clang diagnostic ignored "-Wunguarded-availability-new"
|
|
return kCGDisplayStreamDestinationRect;
|
|
#pragma clang diagnostic pop
|
|
}
|
|
|
|
inline _Null_unspecified CFStringRef wrapkCGDisplayStreamMinimumFrameTime()
|
|
CG_AVAILABLE_BUT_DEPRECATED(
|
|
10.8,
|
|
14.0,
|
|
"Please use ScreenCaptureKit API's SCStreamConfiguration "
|
|
"minimumFrameInterval property instead") {
|
|
#pragma clang diagnostic push
|
|
#pragma clang diagnostic ignored "-Wunguarded-availability-new"
|
|
return kCGDisplayStreamMinimumFrameTime;
|
|
#pragma clang diagnostic pop
|
|
}
|
|
|
|
inline _Null_unspecified CFStringRef wrapkCGDisplayStreamPreserveAspectRatio()
|
|
CG_AVAILABLE_BUT_DEPRECATED(
|
|
10.8,
|
|
14.0,
|
|
"Please use ScreenCaptureKit API's SCStreamConfiguration "
|
|
"preserveAspectRatio property instead") {
|
|
#pragma clang diagnostic push
|
|
#pragma clang diagnostic ignored "-Wunguarded-availability-new"
|
|
return kCGDisplayStreamPreserveAspectRatio;
|
|
#pragma clang diagnostic pop
|
|
}
|
|
|
|
inline _Null_unspecified CFStringRef wrapkCGDisplayStreamShowCursor()
|
|
CG_AVAILABLE_BUT_DEPRECATED(
|
|
10.8,
|
|
14.0,
|
|
"Please use ScreenCaptureKit API's SCStreamConfiguration showsCursor "
|
|
"property instead") {
|
|
#pragma clang diagnostic push
|
|
#pragma clang diagnostic ignored "-Wunguarded-availability-new"
|
|
return kCGDisplayStreamShowCursor;
|
|
#pragma clang diagnostic pop
|
|
}
|
|
|
|
inline const CGRect* __nullable
|
|
wrapCGDisplayStreamUpdateGetRects(CGDisplayStreamUpdateRef __nullable updateRef,
|
|
CGDisplayStreamUpdateRectType rectType,
|
|
size_t* _Null_unspecified rectCount)
|
|
CG_AVAILABLE_BUT_DEPRECATED(
|
|
10.8,
|
|
14.0,
|
|
"Please use ScreenCaptureKit API's SCStreamFrameInfo with "
|
|
"SCStreamFrameInfoContentRect instead") {
|
|
#pragma clang diagnostic push
|
|
#pragma clang diagnostic ignored "-Wunguarded-availability-new"
|
|
return CGDisplayStreamUpdateGetRects(updateRef, rectType, rectCount);
|
|
#pragma clang diagnostic pop
|
|
}
|
|
|
|
#endif // BASE_MAC_WRAP_CG_DISPLAY_H_
|