@class TSDImageRepSizingState, NSString, NSRecursiveLock, NSCache, CALayer, CAShapeLayer, NSObject, NSMutableArray, TSDInstantAlphaTracker, TSDLayoutGeometry; @protocol OS_dispatch_queue, OS_dispatch_semaphore; @interface TSDImageRep : TSDMediaRep <CALayerDelegate, TSDMagicMoveMatching> { TSDLayoutGeometry *mLastImageGeometryInRoot; TSDLayoutGeometry *mLastMaskGeometryInRoot; struct CGAffineTransform { double a; double b; double c; double d; double tx; double ty; } mLastLayoutToImageTransform; struct CGRect { struct CGPoint { double x; double y; } origin; struct CGSize { double width; double height; } size; } mFrameInUnscaledCanvasRelativeToSuper; BOOL mFrameInUnscaledCanvasIsValid; CALayer *mContentsLayer; CAShapeLayer *mMaskPathLayer; CAShapeLayer *mIAMaskLayer; CAShapeLayer *mMaskSublayer; struct CGAffineTransform { double a; double b; double c; double d; double tx; double ty; } mLastPictureFrameLayerTransform; BOOL mDirectlyManagesLayerContent; BOOL mShowImageHighlight; BOOL mInInstantAlphaMode; TSDInstantAlphaTracker *mInstantAlphaTracker; struct CGImage { } *mInstantAlphaImage; struct CGAffineTransform { double a; double b; double c; double d; double tx; double ty; } mBaseMaskLayoutTransform; NSRecursiveLock *mLayerUpdateAndSizingStateLock; TSDImageRepSizingState *mSizingState; BOOL mSizingStateReady; NSObject<OS_dispatch_queue> *mSizedImageAccessQueue; struct CGImage { } *mSizedImage; struct CGSize { double width; double height; } mSizedImageSize; long long mSizedImageOrientation; BOOL mSizedImageHasMaskBakedIn; BOOL mSizedImageHasAdjustmentsBakedIn; struct CGPath { } *mSizedImageMaskPath; struct CGImage { } *mCachedSizedImage; struct CGSize { double width; double height; } mCachedSizedImageSize; long long mCachedSizedImageOrientation; NSCache *mHitTestCache; long long mHitTestCacheOnce; NSMutableArray *mUpdateFromLayoutBlocks; NSObject<OS_dispatch_semaphore> *mUpdateFromLayoutBlocksLock; unsigned long long mImageSizingDisabledCount; } @property (readonly, nonatomic) struct CGImage { } *imageRef; @property (readonly) unsigned long long hash; @property (readonly) Class superclass; @property (readonly, copy) NSString *description; @property (readonly, copy) NSString *debugDescription; + (double)magicMoveAttributeMatchPercentBetweenOutgoingObject:(id)a0 incomingObject:(id)a1; + (struct CGPath { } *)p_newPathToBakeIntoSizedImageForSize:(struct CGSize { double x0; double x1; })a0 withImageLayout:(id)a1 orientation:(long long)a2; - (BOOL)isDraggable; - (void)dealloc; - (id)contentsLayer; - (BOOL)containsPoint:(struct CGPoint { double x0; double x1; })a0; - (void)highlightImage; - (BOOL)shouldShowShadow; - (void)willBeRemoved; - (id)imageInfo; - (void)viewScaleDidChange; - (id)imageLayout; - (void)didUpdateLayer:(id)a0; - (BOOL)directlyManagesLayerContent; - (struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })frameInUnscaledCanvas; - (void)processChangedProperty:(int)a0; - (void)p_generateSizedImageIfNecessary; - (struct CGImage { } *)p_imageForDirectlyManagedLayer:(id)a0; - (void)processChanges:(id)a0; - (BOOL)wantsToDistortWithImagerContext; - (void)didCreateLayer:(id)a0; - (id)p_imageProvider; - (void)p_invalidateSizedImageFromQueue; - (BOOL)shouldAllowReplacementFromPaste; - (void)addBitmapsToRenderingQualityInfo:(id)a0 inContext:(struct CGContext { } *)a1; - (void)addKnobsToArray:(id)a0; - (id)additionalLayersOverLayer; - (double)additionalRotationForKnobOrientation; - (void)becameNotSelected; - (struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })boundsForHighlightLayer; - (struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })boundsForStandardKnobs; - (void)cacheImageAtCurrentSize; - (BOOL)canDrawInParallel; - (BOOL)canDrawShadowInOneStepWithChildren:(BOOL)a0; - (struct CGPoint { double x0; double x1; })centerForRotation; - (int)dragTypeAtCanvasPoint:(struct CGPoint { double x0; double x1; })a0; - (void)drawInContextWithoutEffects:(struct CGContext { } *)a0 withContent:(BOOL)a1 withStroke:(BOOL)a2 withOpacity:(BOOL)a3 forAlphaOnly:(BOOL)a4 drawChildren:(BOOL)a5; - (void)drawInLayerContext:(struct CGContext { } *)a0; - (void)generateSizedImageOnBackgroundThread; - (BOOL)handleDoubleTapAtPoint:(struct CGPoint { double x0; double x1; })a0; - (id)hitRepChrome:(struct CGPoint { double x0; double x1; })a0; - (void)i_willEnterForeground; - (id)imageOfStroke:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; } *)a0; - (id)initWithLayout:(id)a0 canvas:(id)a1; - (void)layoutInRootChangedFrom:(id)a0 to:(id)a1 translatedOnly:(BOOL)a2; - (id)maskInfo; - (id)maskLayout; - (id)newCachedSizedImage; - (id)newCachedSizedImageWithNaturalSize; - (id)overlayLayers; - (void)p_canvasSelectionDidChange:(id)a0; - (void)p_createMaskLayerForLayer:(id)a0; - (struct CGSize { double x0; double x1; })p_desiredSizedImageSize; - (BOOL)p_directlyManagesContentForLayer:(id)a0; - (void)p_disposeMaskLayer; - (void)p_disposeStrokeLayer; - (void)p_drawInContext:(struct CGContext { } *)a0 withContent:(BOOL)a1 withStroke:(BOOL)a2 withOpacity:(double)a3 withMask:(BOOL)a4 withIAMask:(BOOL)a5 forLayer:(BOOL)a6 forShadow:(BOOL)a7 forHitTest:(BOOL)a8; - (BOOL)p_drawsInOneStep; - (void)p_generateSizedImage:(id)a0; - (void)p_getAliasedValuesForMaskToBoundsDirectLayerFrame:(out struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; } *)a0 transform:(out struct CGAffineTransform { double x0; double x1; double x2; double x3; double x4; double x5; } *)a1; - (BOOL)p_hitCacheGetCachedValue:(BOOL *)a0 forPoint:(struct CGPoint { double x0; double x1; })a1; - (void)p_hitCacheSetCachedValue:(BOOL)a0 forPoint:(struct CGPoint { double x0; double x1; })a1; - (id)p_imageData; - (void)p_invalidateHitTestCache; - (void)p_invalidateSizedImage; - (struct CGImage { } *)p_newImageByApplyingAdjustmentsToImage:(struct CGImage { } *)a0 alreadyEnhanced:(BOOL)a1; - (BOOL)p_okayToGenerateSizedImage; - (long long)p_orientationForDirectlyManagedLayer; - (void)p_popoverViewPresented:(id)a0; - (BOOL)p_shouldBakeMaskIntoSizedImage; - (BOOL)p_shouldMaskWithFrameLayers; - (BOOL)p_shouldRenderWithMaskToBounds; - (void)p_startSizing; - (void)p_takeSizedImageFromCache; - (void)p_takeSizedImageFromState; - (BOOL)p_takeSizedImageFromState:(id)a0; - (void)p_takeSizedImageFromStateIfReady; - (void)p_updateDirectlyManagesLayerContentForLayer:(id)a0; - (void)p_updateMaskLayer:(id)a0 forRepLayer:(id)a1 shouldIncludeMask:(BOOL)a2 shouldIncludeInstantAlpha:(BOOL)a3; - (void)p_updateMaskSublayersForMaskEditMode; - (void)p_updateStrokeLayerForStroke:(id)a0 repLayer:(id)a1; - (id)p_validatedBitmapImageProvider; - (id)p_validatedImageProvider; - (id)p_validatedThumbnailImageProvider; - (id)pathSourceForSelectionHighlightBehavior; - (void)popDisableImageSizing; - (struct CGPoint { double x0; double x1; })positionOfStandardKnob:(id)a0 forBounds:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a1; - (void)pushDisableImageSizing; - (BOOL)shouldCreateSelectionKnobs; - (BOOL)shouldIgnoreEditMenuTapAtPoint:(struct CGPoint { double x0; double x1; })a0 withRecognizer:(id)a1; - (BOOL)shouldShowDragHUD; - (BOOL)shouldShowMediaReplaceUI; - (BOOL)shouldShowSelectionHighlight; - (BOOL)shouldShowSmartMaskKnobs; - (struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })targetRectForEditMenu; - (id)textureForContext:(id)a0; - (struct CGAffineTransform { double x0; double x1; double x2; double x3; double x4; double x5; })transformForHighlightLayer; - (void)unhighlightImage; - (void)updateFromLayout; - (void)updateLayerGeometryFromLayout:(id)a0; - (void)updatePositionsOfKnobs:(id)a0; - (void)useCachedSizedImage:(id)a0; - (void)wideGamutValueDidChange; - (void)willBeginReadMode; - (void)willUpdateLayer:(id)a0; @end