luxlabs header browser preview


@class TSDLayoutController, NSHashTable, TSPObjectContext, NSArray, TSKDocumentRoot, TSKAccessController, NSSet, TSUPointerKeyDictionary, NSMutableArray, TSKChangeNotifier, TSDInteractiveCanvasController, TSUColor;
@protocol TSDCanvasDelegate;

@interface TSDCanvas : NSObject {
    TSDInteractiveCanvasController *mCanvasController;
    NSArray *mAllRepsOrdered;
    TSUPointerKeyDictionary *mRepsByLayout;
    double mContentsScale;
    BOOL mWideGamut;
    struct { unsigned char layout : 1; unsigned char reps : 1; unsigned char visibleBounds : 1; unsigned char layers : 1; } mInvalidFlags;
    BOOL mShouldUpdateLayersDuringLayout;
    BOOL mInLayout;
    NSArray *mPreviouslyVisibleLayouts;
    NSMutableArray *mBlocksToPerform;
    struct os_unfair_lock_s { unsigned int _os_unfair_lock_opaque; } mBlocksToPerformLock;
    NSHashTable *mCanvasLayoutObservers;
    BOOL mIgnoringClickThrough;
}

@property (nonatomic) double i_viewScaleForAudioObjectsInNonInteractiveCanvas;
@property (readonly, nonatomic) BOOL isLayoutComplete;
@property (weak, 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 isAnchoredAtRight;
@property (nonatomic) BOOL enableInstructionalText;
@property (nonatomic) BOOL allowsFontSubpixelQuantization;
@property (nonatomic) BOOL suppressesShadowsAndReflections;
@property (nonatomic) BOOL suppressesShapeText;
@property (readonly, nonatomic) double contentsScale;
@property (readonly, nonatomic) BOOL canvasIsWideGamut;
@property (copy, nonatomic) TSUColor *backgroundColor;
@property (nonatomic) struct UIEdgeInsets { double top; double left; double bottom; double right; } contentInset;
@property (copy, nonatomic) NSArray *infosToDisplay;
@property (readonly, nonatomic) NSArray *topLevelReps;
@property (readonly, nonatomic) NSSet *allReps;
@property (readonly, nonatomic) NSArray *allRepsOrdered;
@property (readonly, nonatomic) struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; } unscaledRectOfLayouts;
@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;
@property (nonatomic) BOOL shouldRenderInvisibleContentForNonInteractiveCanvas;
@property (nonatomic) BOOL shouldClampGroupsToParentsByScaling;

+ (void)p_recursivelyAddOrderedChildrenOfRep:(id)a0 toArray:(id)a1;

- (id)init;
- (void)dealloc;
- (void)teardown;
- (void).cxx_destruct;
- (BOOL)isPrinting;
- (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;
- (void)invalidateLayers;
- (void)invalidateReps;
- (void)invalidateVisibleBounds;
- (BOOL)shouldShowTextOverflowGlyphs;
- (BOOL)spellCheckingSupported;
- (BOOL)spellCheckingSuppressed;
- (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_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;
- (BOOL)i_needsLayout;
- (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;
- (id)initForTemporaryLayout;
- (BOOL)isDrawingIntoPDF;
- (void)layoutInvalidated;
- (struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })p_bounds;
- (void)p_layoutWithReadLock;
- (BOOL)p_updateRepsFromLayouts;
- (void)recreateAllLayoutsAndReps;
- (id)repForLayout:(id)a0;
- (BOOL)shouldSuppressBackgrounds;
- (struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })visibleUnscaledRectForClippingReps;
- (BOOL)textLayoutMustIncludeAdornments;
- (BOOL)isRenderingForKPF;
- (void)nonInteractiveLayoutIfNeeded;
- (BOOL)shouldShowInstructionalTextForLayout:(id)a0;
- (BOOL)wantsEditingLayoutsForOffscreenInfos;
- (BOOL)shouldShowTextCommentHighlights;
- (BOOL)shouldShowComments;
- (id)initWithLayoutControllerClass:(Class)a0 delegate:(id)a1;
- (Class)rootLayoutClass;
- (void)i_registerCanvasLayoutObserver:(id)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 distortedToMatch:(BOOL)a2 returningBounds:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; } *)a3 integralBounds:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; } *)a4;
- (void)i_drawRepsInContext:(struct CGContext { } *)a0 passingTest:(id /* block */)a1;
- (void)i_drawRepsInContext:(struct CGContext { } *)a0 passingTest:(id /* block */)a1 distort:(struct CGAffineTransform { double x0; double x1; double x2; double x3; double x4; double x5; })a2;
- (struct CGImage { } *)i_imageInScaledRect:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a0 keepingChildrenPassingTest:(id /* block */)a1;
- (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 keepingChildrenPassingTest:(id /* block */)a3;
- (void)i_layoutIfNeeded;
- (void)i_layoutIfNeededUpdatingLayerTree;
- (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 keepingChildrenPassingTest:(id /* block */)a4;
- (void)i_performBlockWhileIgnoringClickThrough:(id /* block */)a0;
- (BOOL)i_shouldIgnoreClickThrough;
- (void)i_unregisterCanvasLayoutObserver:(id)a0;
- (void)orderRepsForLayout:(id)a0;
- (BOOL)p_canvasShouldAlwaysUpdateLayers;
- (void)performBlockAfterLayoutIfNecessary:(id /* block */)a0;

@end