@class TSPObjectContext, NSArray, TSKDocumentRoot, TSKAccessController, NSSet, TSKChangeNotifier, TSDInteractiveCanvasController, TSDLayoutController; @protocol TSDCanvasDelegate; @interface TSDCanvas : NSObject { TSDInteractiveCanvasController *mCanvasController; NSArray *mTopLevelReps; NSSet *mAllReps; NSArray *mAllRepsOrdered; struct __CFDictionary { } *mRepsByLayout; double mContentsScale; BOOL mWideGamut; struct { unsigned char layout : 1; unsigned char reps : 1; unsigned char visibleBounds : 1; unsigned char layers : 1; } mInvalidFlags; BOOL mInLayout; NSArray *mPreviouslyVisibleLayouts; BOOL mClipToCanvas; } @property (nonatomic) BOOL pInTearDown; @property (nonatomic) id<TSDCanvasDelegate> delegate; @property (readonly, nonatomic) TSKDocumentRoot *documentRoot; @property (readonly, nonatomic) TSPObjectContext *objectContext; @property (readonly, nonatomic) TSKChangeNotifier *changeNotifier; @property (readonly, nonatomic) TSKAccessController *accessController; @property (readonly, nonatomic) TSDInteractiveCanvasController *canvasController; @property (readonly, nonatomic) BOOL supportsAdaptiveLayout; @property (nonatomic) BOOL allowsFontSubpixelQuantization; @property (readonly, nonatomic) double contentsScale; @property (readonly, nonatomic) BOOL canvasIsWideGamut; @property (nonatomic) struct CGColor { } *backgroundColor; @property (nonatomic) struct UIEdgeInsets { double top; double left; double bottom; double right; } contentInset; @property (copy, nonatomic) NSArray *infosToDisplay; @property (readonly, nonatomic) NSArray *allRepsOrdered; @property (readonly, nonatomic) TSDLayoutController *layoutController; @property (readonly, nonatomic) BOOL isTemporaryForLayout; @property (readonly, nonatomic) BOOL isCanvasInteractive; @property (nonatomic) struct CGSize { double width; double height; } unscaledSize; @property (nonatomic) double viewScale; + (void)p_recursivelyAddOrderedChildrenOfRep:(id)a0 toArray:(id)a1; - (void)layoutIfNeeded; - (id)init; - (void)dealloc; - (void)teardown; - (BOOL)isPrinting; - (id)allReps; - (struct CGPoint { double x0; double x1; })convertBoundsToUnscaledPoint:(struct CGPoint { double x0; double x1; })a0; - (struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })convertBoundsToUnscaledRect:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a0; - (struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })convertUnscaledToBoundsRect:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a0; - (id)hitRep:(struct CGPoint { double x0; double x1; })a0 inTopLevelReps:(id)a1 smallRepOutset:(double)a2 withGesture:(id)a3 passingTest:(id /* block */)a4; - (void)invalidateLayers; - (void)invalidateReps; - (void)invalidateVisibleBounds; - (BOOL)shouldShowInstructionalText; - (BOOL)shouldShowTextOverflowGlyphs; - (BOOL)spellCheckingSupported; - (BOOL)spellCheckingSuppressed; - (id)topLevelReps; - (struct CGImage { } *)i_image; - (void)i_updateInfosInLayoutController; - (void)p_removeAllReps; - (void)addBitmapsToRenderingQualityInfo:(id)a0 inContext:(struct CGContext { } *)a1; - (struct CGSize { double x0; double x1; })convertBoundsToUnscaledSize:(struct CGSize { double x0; double x1; })a0; - (struct CGPoint { double x0; double x1; })convertUnscaledToBoundsPoint:(struct CGPoint { double x0; double x1; })a0; - (struct CGSize { double x0; double x1; })convertUnscaledToBoundsSize:(struct CGSize { double x0; double x1; })a0; - (struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })i_approximateScaledFrameOfEditingMenuAtPoint:(struct CGPoint { double x0; double x1; })a0; - (struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })i_clipRectForCreatingRepsFromLayouts; - (void)i_clipsImagesToBounds:(BOOL)a0; - (struct CGContext { } *)i_createContextToDrawImageInScaledRect:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a0 withTargetIntegralSize:(struct CGSize { double x0; double x1; })a1 returningBounds:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; } *)a2 integralBounds:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; } *)a3; - (void)i_drawBackgroundInContext:(struct CGContext { } *)a0; - (void)i_drawBackgroundInContext:(struct CGContext { } *)a0 bounds:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a1; - (void)i_drawRepsInContext:(struct CGContext { } *)a0; - (void)i_drawRepsInContext:(struct CGContext { } *)a0 distort:(struct CGAffineTransform { double x0; double x1; double x2; double x3; double x4; double x5; })a1; - (struct CGImage { } *)i_imageInScaledRect:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a0; - (struct CGImage { } *)i_imageInScaledRect:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a0 withTargetIntegralSize:(struct CGSize { double x0; double x1; })a1 distortedToMatch:(BOOL)a2; - (BOOL)i_needsLayout; - (struct CGImage { } *)i_newImageInContext:(struct CGContext { } *)a0 bounds:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a1 integralBounds:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a2 distortedToMatch:(BOOL)a3; - (void)i_registerRep:(id)a0; - (void)i_setCanvasController:(id)a0; - (void)i_setCanvasIsWideGamut:(BOOL)a0; - (void)i_setContentsScale:(double)a0; - (void)i_setInfosToDisplay:(id)a0 updatingLayoutController:(BOOL)a1; - (void)i_unregisterRep:(id)a0; - (struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })i_unscaledRectOfLayouts; - (id)initForTemporaryLayout; - (BOOL)isDrawingIntoPDF; - (id)layoutGeometryProviderForLayout:(id)a0; - (void)layoutInvalidated; - (struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })p_bounds; - (BOOL)p_expandHitRegionOfPoint:(struct CGPoint { double x0; double x1; })a0 forRep:(id)a1 smallRepOutset:(double)a2 forShortestDistance:(double *)a3; - (void)p_layoutWithReadLock; - (BOOL)p_shouldRep:(id)a0 countAsClosestSmallRepForSizeLimit:(double)a1; - (BOOL)p_updateRepsFromLayouts; - (void)recreateAllLayoutsAndReps; - (id)repForLayout:(id)a0; - (BOOL)shouldSuppressBackgrounds; - (id)textRendererForLayer:(id)a0 context:(struct CGContext { } *)a1; - (struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })visibleUnscaledRectForClippingReps; @end