System/Library/Frameworks/PencilKit.framework
PKMetalRenderer.h
@class PKMetalPencilShadowRenderer, NSArray, PKMetalResourceHandler, PKMetalRenderState, MTKTextureLoader, PKStroke, PKMetalFramebuffer, PKLinedPaper;
@protocol MTLDevice, MTLTexture, MTLBuffer, MTLCommandQueueSPI;
@interface PKMetalRenderer : NSObject {
PKMetalRenderState *_currentRenderState;
unsigned long long _currentCacheSize;
id<MTLDevice> _device;
id<MTLCommandQueueSPI> _commandQueue;
struct RendererFramebuffer { PKMetalFramebuffer *framebuffer; BOOL isNonPurgeable; BOOL mustBeCleared; } _originalBackFramebuffer;
struct RendererFramebuffer { PKMetalFramebuffer *framebuffer; BOOL isNonPurgeable; BOOL mustBeCleared; } _sixChannelMultiplyFramebuffer;
BOOL _shouldClearOriginalBackFramebuffer;
struct { double red; double green; double blue; double alpha; } _originalBackClearColor;
struct RendererFramebuffer { PKMetalFramebuffer *framebuffer; BOOL isNonPurgeable; BOOL mustBeCleared; } _paintFramebuffer[2];
struct RendererFramebuffer { PKMetalFramebuffer *framebuffer; BOOL isNonPurgeable; BOOL mustBeCleared; } _paintAccumulationFramebuffer[2];
PKMetalFramebuffer *_paintFramebufferMask;
PKMetalFramebuffer *_maskMSAAFramebuffer;
PKMetalResourceHandler *_resourceHandler;
PKMetalFramebuffer *_dummyPaintFramebuffer[2];
PKMetalFramebuffer *_dummyColorFramebuffer;
struct CGSize { double width; double height; } _drawingPixelSize;
struct CGColor { } *_backgroundColor;
struct CGSize { double width; double height; } _actualSize;
double _fromStrokeSpaceScale;
struct CGAffineTransform { double a; double b; double c; double d; double tx; double ty; } _strokeTransform;
struct CGRect { struct CGPoint { double x; double y; } origin; struct CGSize { double width; double height; } size; } _viewScissor;
BOOL _lastPointForEraserIsValid;
struct _PKStrokePoint { double timestamp; struct CGPoint { double x; double y; } location; double radius; double aspectRatio; double edgeWidth; double force; double azimuth; double altitude; double opacity; double radius2; } _lastPointForEraser;
id<MTLTexture> _paperTexture;
struct CGSize { double width; double height; } _paperTextureSize;
unsigned long long _originalBackPixelFormat;
unsigned long long _paintAndParticlePixelFormat;
BOOL _sixChannelCanvasHasContentTexture;
struct vector<PKMetalParticleStrokePoint, std::allocator<PKMetalParticleStrokePoint>> { struct PKMetalParticleStrokePoint *__begin_; struct PKMetalParticleStrokePoint *__end_; struct __compressed_pair<PKMetalParticleStrokePoint *, std::allocator<PKMetalParticleStrokePoint>> { struct PKMetalParticleStrokePoint *__value_; } __end_cap_; } _particleStrokePointBuffer;
struct vector<PKMetalPaintStrokePoint, std::allocator<PKMetalPaintStrokePoint>> { struct PKMetalPaintStrokePoint *__begin_; struct PKMetalPaintStrokePoint *__end_; struct __compressed_pair<PKMetalPaintStrokePoint *, std::allocator<PKMetalPaintStrokePoint>> { struct PKMetalPaintStrokePoint *__value_; } __end_cap_; } _paintStrokePointBuffer;
struct vector<PKMetalLiveStrokePaintStrokePoint, std::allocator<PKMetalLiveStrokePaintStrokePoint>> { struct PKMetalLiveStrokePaintStrokePoint *__begin_; struct PKMetalLiveStrokePaintStrokePoint *__end_; struct __compressed_pair<PKMetalLiveStrokePaintStrokePoint *, std::allocator<PKMetalLiveStrokePaintStrokePoint>> { struct PKMetalLiveStrokePaintStrokePoint *__value_; } __end_cap_; } _liveStrokeStrokePointBuffer;
struct shared_ptr<std::vector<(anonymous namespace)::StrokeVertex>> { void *__ptr_; struct __shared_weak_count *__cntrl_; } _sharedStrokeVertexBuffer;
struct vector<(anonymous namespace)::AnimatingStroke, std::allocator<(anonymous namespace)::AnimatingStroke>> { struct AnimatingStroke *__begin_; struct AnimatingStroke *__end_; struct __compressed_pair<(anonymous namespace)::AnimatingStroke *, std::allocator<(anonymous namespace)::AnimatingStroke>> { struct AnimatingStroke *__value_; } __end_cap_; } _animatingStrokes;
PKStroke *_activeCombinedStroke;
NSArray *_activeCombinedAlternativeStrokes;
struct CGRect { struct CGPoint { double x; double y; } origin; struct CGSize { double width; double height; } size; } _paintFramebufferDirtyRect;
id<MTLBuffer> _randomNumberBuffer;
unsigned long long _renderMaskMSAASampleCount;
BOOL _needRestartWorkaroundForOldIntelDrivers;
BOOL _useComputeRenderCaches;
BOOL _sixChannelBlending;
struct CGRect { struct CGPoint { double x; double y; } origin; struct CGSize { double width; double height; } size; } _drawableDirtyRect;
MTKTextureLoader *_textureLoader;
struct vector<_PKStrokePoint, std::allocator<_PKStrokePoint>> { struct _PKStrokePoint *__begin_; struct _PKStrokePoint *__end_; struct __compressed_pair<_PKStrokePoint *, std::allocator<_PKStrokePoint>> { struct _PKStrokePoint *__value_; } __end_cap_; } previewStrokePoints;
struct PKShaderPipelineConfig { unsigned char framebufferPixelFormats[6]; } _defaultNonSixChannelPipelineConfig;
struct PKShaderPipelineConfig { unsigned char framebufferPixelFormats[6]; } _defaultSixChannelPipelineConfig;
PKMetalPencilShadowRenderer *_pencilShadowRenderer;
struct _PKStrokePoint { double timestamp; struct CGPoint { double x; double y; } location; double radius; double aspectRatio; double edgeWidth; double force; double azimuth; double altitude; double opacity; double radius2; } _latestPencilShadowPoint;
double _latestPencilShadowPointTimestamp;
BOOL _solidColorBackboard;
BOOL _oneRenderPassForLiveRendering;
BOOL _fadeOutStrokesMode;
BOOL _liveStrokeMode;
BOOL _edgeMask;
BOOL _invertColors;
BOOL _drawBitmapEraserMask;
BOOL _combineStrokesAllowed;
unsigned long long _pixelFormat;
PKLinedPaper *_linedPaper;
struct CGColor { } *_liveRenderingOverrideColor;
double _contentZoomScale;
double _backboardPaperMultiply;
double _inputScale;
double _eraserIndicatorAlpha;
double _previewStrokeAlpha;
double _pencilShadowElevation;
double _pencilShadowAlpha;
double _previewStrokeMaxPoints;
double _liveStrokeElapsedTime;
struct CGSize { double width; double height; } _liveStrokeMaxSize;
struct CGAffineTransform { double a; double b; double c; double d; double tx; double ty; } _paperTransform;
}
- (void)dealloc;
- (id).cxx_construct;
- (void).cxx_destruct;
@end