@class NSUUID, NSString, NSOperation, CALayer, TSDTextureSet, TSUBezierPath, NSMapTable, TSUColor, TSDBitmapRenderingQualityInfo; @protocol MTLTexture, TSDMetalRenderer; @interface TSDTexturedRectangle : NSObject <NSCopying, TSDMetalRendererDirectTextureSourceUpdating> { id /* block */ _renderBlock; BOOL _didInitFromLayer; BOOL _didInitFromGPUTexture; NSMapTable *_eventIndexToViewLayerMap; TSUBezierPath *_bakedShapePath; struct CGPoint { double x; double y; } _originalLeadingCaretPosition; struct CGPoint { double x; double y; } _originalTrailingCaretPosition; struct CGSize { double width; double height; } _originalCaretSize; struct CGRect { struct CGPoint { double x; double y; } origin; struct CGSize { double width; double height; } size; } _originalLeadingCaretRect; struct CGRect { struct CGPoint { double x; double y; } origin; struct CGSize { double width; double height; } size; } _originalTrailingCaretRect; unsigned long long _signpostID; struct os_unfair_lock_s { unsigned int _os_unfair_lock_opaque; } _stateLock; } @property struct CGImage { } *sourceImage; @property struct CGImage { } *bakedImage; @property (nonatomic) double bakedScale; @property (nonatomic) double bakedRotation; @property (weak, nonatomic) TSDTexturedRectangle *liveTexturedRectangleSourceProxy; @property (readonly, nonatomic) BOOL willRenderWithLiveTexturedRectangleSource; @property (readonly, nonatomic) id<TSDMetalRenderer> liveTexturedRectangleRenderer; @property (nonatomic) BOOL shouldRenderWithLiveTexturedRectangleRenderer; @property (nonatomic) BOOL shouldUseDisplayLinkPresentationTime; @property (retain, nonatomic) NSUUID *uuid; @property (nonatomic) struct CGPoint { double x; double y; } originalPosition; @property (readonly, nonatomic) struct CGRect { struct CGPoint { double x; double y; } origin; struct CGSize { double width; double height; } size; } originalFrame; @property (nonatomic) struct CGPoint { double x; double y; } offset; @property (nonatomic) struct CGSize { double width; double height; } size; @property (readonly, nonatomic) unsigned long long sizeInBytes; @property (readonly, nonatomic) struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; } frame; @property (readonly, nonatomic) struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; } frameOnCanvas; @property (nonatomic) struct CGRect { struct CGPoint { double x; double y; } origin; struct CGSize { double width; double height; } size; } contentRect; @property (weak, nonatomic) TSDTextureSet *parent; @property (readonly, nonatomic) CALayer *layer; @property (readonly, nonatomic) struct CGImage { } *image; @property (nonatomic) long long textureType; @property (nonatomic) double textureOpacity; @property (readonly, nonatomic) double singleTextureOpacity; @property (nonatomic) BOOL isFlattenedRepresentation; @property (nonatomic) struct CGColorSpace { } *colorSpace; @property (readonly, nonatomic) BOOL isRenderable; @property (readonly, nonatomic) BOOL isImageSource; @property (readonly, nonatomic) BOOL isBaked; @property (readonly, nonatomic) BOOL isRendered; @property (readonly, nonatomic) BOOL isValid; @property (readonly, nonatomic) BOOL isBackgroundTexture; @property (readonly, nonatomic) CALayer *parentLayer; @property (nonatomic) BOOL isIncomingContent; @property (copy, nonatomic) TSUColor *backgroundColor; @property (nonatomic) BOOL isVerticalText; @property (nonatomic) double textBaseline; @property (nonatomic) double textXHeight; @property (nonatomic) struct CGRect { struct CGPoint { double x; double y; } origin; struct CGSize { double width; double height; } size; } leadingCaretRect; @property (nonatomic) struct CGRect { struct CGPoint { double x; double y; } origin; struct CGSize { double width; double height; } size; } trailingCaretRect; @property (copy, nonatomic) TSUColor *textColor; @property (copy, nonatomic) TSUColor *textBorderColor; @property (copy, nonatomic) NSString *text; @property (nonatomic) struct _NSRange { unsigned long long location; unsigned long long length; } textRange; @property (weak, nonatomic) TSDBitmapRenderingQualityInfo *bitmapRenderingQualityInfo; @property (copy, nonatomic) TSUBezierPath *shapePath; @property (weak) NSOperation *renderingOperation; @property (weak) NSOperation *renderingOperationMetal; @property (readonly, nonatomic) id<MTLTexture> metalTexture; @property (retain, nonatomic) TSDTexturedRectangle *metalTextureProxy; @property (nonatomic) BOOL metalTextureWillBeShared; @property (nonatomic) BOOL shouldGenerateMipmap; @property (readonly) unsigned long long hash; @property (readonly) Class superclass; @property (readonly, copy) NSString *description; @property (readonly, copy) NSString *debugDescription; + (id)setupMetalShaderForContext:(id)a0; + (struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })boundingRectForTextures:(id)a0; + (struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })boundingRectOnCanvasForTextures:(id)a0; - (void)dealloc; - (void)teardown; - (id)shortDescription; - (id)initWithCGImage:(struct CGImage { } *)a0; - (void).cxx_destruct; - (id)initWithLayer:(id)a0; - (id)copyWithZone:(struct _NSZone { } *)a0; - (id)initWithSize:(struct CGSize { double x0; double x1; })a0 offset:(struct CGPoint { double x0; double x1; })a1 renderBlock:(id /* block */)a2; - (BOOL)isMetalTextureSetup; - (id)metalTextureWithContext:(id)a0; - (struct CGColorSpace { } *)p_colorSpace; - (void)releaseMetalTexture; - (void)renderLayerContentsIfNeeded; - (void)setupMetalTextureForDevice:(id)a0; - (void)adjustAnchorRelativeToCenterOfRotation:(struct CGPoint { double x0; double x1; })a0 atEventIndex:(unsigned long long)a1; - (void)resetAnchorPointAtEventIndex:(unsigned long long)a0; - (id)viewLayerAtEventIndex:(unsigned long long)a0; - (void)waitUntilAsyncRenderingIsCompleteShouldCancel:(BOOL)a0; - (void)renderIntoContext:(struct CGContext { } *)a0 shouldApplyAlpha:(BOOL)a1 shouldIgnoreLayerVisibility:(BOOL)a2; - (void)bakeLayerWithAngle:(double)a0 scale:(double)a1 layer:(id)a2; - (void)resetToSourceImageAtEventIndex:(unsigned long long)a0; - (BOOL)canReuseMetalTextureWith:(id)a0; - (void)clearLiveMetalTextureCache; - (void)clearLiveTexturedRectangleSource; - (struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })convertToCanvasCoordinates:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a0; - (void)drawFrameWithMetalContext:(id)a0; - (void)evictRenderedResources; - (BOOL)hasLiveTexturedRectangleSourceWithNewRenderingForTimingInfo:(struct { double x0; double x1; double x2; })a0; - (id)initWithLayer:(id)a0 forMetalTexture:(id)a1; - (id)initWithMetalTexture:(id)a0 frame:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a1; - (BOOL)needsToUpdateDirectTextureSourcesForTimingInfo:(struct { double x0; double x1; double x2; })a0; - (void)p_bakeLayerWithAngle:(double)a0 scale:(double)a1 layer:(id)a2; - (id)p_colorForColorspaceWithColor:(id)a0; - (void)p_initialize; - (unsigned long long)p_metalPixelFormat; - (id)p_newImageAndBufferWithTransform:(struct CGAffineTransform { double x0; double x1; double x2; double x3; double x4; double x5; })a0; - (id /* block */)p_rasterizationBlockWithBitmapSize:(struct CGSize { double x0; double x1; })a0; - (void)p_renderIntoContext:(struct CGContext { } *)a0 viewLayer:(id)a1 shouldApplyAlpha:(BOOL)a2 shouldIgnoreLayerVisibility:(BOOL)a3 shouldClipToBounds:(BOOL)a4; - (BOOL)p_shouldUseFloatTextures; - (unsigned long long)p_textureDataSizeWithBitmapSize:(struct CGSize { double x0; double x1; })a0; - (struct CGSize { double x0; double x1; })p_textureSizeWithMaxSize:(struct CGSize { double x0; double x1; })a0; - (struct CGAffineTransform { double x0; double x1; double x2; double x3; double x4; double x5; })p_transformWithAngle:(double)a0 scale:(double)a1 offset:(struct CGPoint { double x0; double x1; })a2; - (void)p_updateFrame; - (void)promiseLiveTexturedRectangleSource; - (void)renderIntoContext:(struct CGContext { } *)a0 eventIndex:(unsigned long long)a1 shouldApplyAlpha:(BOOL)a2 shouldClipToBounds:(BOOL)a3; - (void)renderIntoContext:(struct CGContext { } *)a0 shouldApplyAlpha:(BOOL)a1; - (void)setLiveTextureRectangleDirectTextureSource:(id)a0 fallbackRenderer:(id)a1; - (void)setLiveTexturedRectangleRenderer:(id)a0; - (void)setupMetalTextureForContext:(id)a0; - (void)setupMetalTextureForDevice:(id)a0 maxSize:(struct CGSize { double x0; double x1; })a1; - (void)updateDirectTextureSourcesWithUpdateContext:(id)a0; @end