@class NSArray, NSString, NSSet, NSDictionary, CAMeshTransform; @protocol CALayerDelegate; @interface CALayer : NSObject { struct _CALayerIvars { int refcount; unsigned int magic; void *layer; void *_objc_observation_info; } _attr; } @property (class, readonly) BOOL supportsSecureCoding; @property (copy) NSArray *states; @property (copy) NSArray *stateTransitions; @property (readonly) struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; } visibleRect; @property (copy) CAMeshTransform *meshTransform; @property BOOL needsLayoutOnGeometryChange; @property BOOL canDrawConcurrently; @property BOOL acceleratesDrawing; @property (getter=isFrozen) BOOL frozen; @property BOOL allowsHitTesting; @property BOOL hitTestsContentsAlphaChannel; @property BOOL hitTestsAsOpaque; @property BOOL clearsContext; @property BOOL contentsOpaque; @property BOOL contentsContainsSubtitles; @property float gain; @property BOOL literalContentsCenter; @property (copy) NSString *contentsScaling; @property struct CGAffineTransform { double x0; double x1; double x2; double x3; double x4; double x5; } contentsTransform; @property BOOL contentsAlignsToPixels; @property BOOL contentsDither; @property struct CGColor { } *contentsMultiplyColor; @property (copy) NSString *contentsSwizzle; @property (readonly) long long contentsGravityEnum; @property struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; } contentsDirtyRect; @property BOOL invertsMask; @property BOOL invertsShadow; @property BOOL shadowPathIsBounds; @property BOOL punchoutShadow; @property double rimWidth; @property struct CGColor { } *rimColor; @property float rimOpacity; @property BOOL rimPathIsBounds; @property BOOL softRim; @property BOOL borderPathIsBounds; @property BOOL continuousCorners; @property (retain) id cornerContents; @property struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; } cornerContentsCenter; @property BOOL cornerContentsMasksEdges; @property struct CACornerRadii { struct CGSize { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; struct CGSize { double x0; double x1; } x2; struct CGSize { double x0; double x1; } x3; } cornerRadii; @property double motionBlurAmount; @property BOOL sortsSublayers; @property BOOL usesWebKitBehavior; @property BOOL preloadsCache; @property BOOL flipsHorizontalAxis; @property BOOL rasterizationPrefersDisplayCompositing; @property BOOL shouldFlatten; @property BOOL shouldReflatten; @property BOOL rasterizationPrefersWindowServerAwareBackdrops; @property unsigned int disableUpdateMask; @property BOOL definesDisplayRegionOfInterest; @property BOOL allowsGroupBlending; @property BOOL allowsDisplayCompositing; @property BOOL createsCompositingGroup; @property struct CGSize { double x0; double x1; } sizeRequisition; @property struct CGSize { double x0; double x1; } backgroundColorPhase; @property BOOL inheritsTiming; @property (copy) NSArray *presentationModifiers; @property (readonly) NSSet *identifiers; @property id unsafeUnretainedDelegate; @property (copy) NSString *securityMode; @property BOOL toneMapToStandardDynamicRange; @property BOOL treatRec709AsSRGB; @property BOOL wantsExtendedDynamicRangeContent; @property double contentsMaximumDesiredEDR; @property double contentsEDRStrength; @property struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; } bounds; @property struct CGPoint { double x0; double x1; } position; @property double zPosition; @property struct CGPoint { double x0; double x1; } anchorPoint; @property double anchorPointZ; @property struct CATransform3D { double x0; double x1; double x2; double x3; double x4; double x5; double x6; double x7; double x8; double x9; double x10; double x11; double x12; double x13; double x14; double x15; } transform; @property struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; } frame; @property (getter=isHidden) BOOL hidden; @property (getter=isDoubleSided) BOOL doubleSided; @property (getter=isGeometryFlipped) BOOL geometryFlipped; @property (readonly) CALayer *superlayer; @property (copy) NSArray *sublayers; @property struct CATransform3D { double x0; double x1; double x2; double x3; double x4; double x5; double x6; double x7; double x8; double x9; double x10; double x11; double x12; double x13; double x14; double x15; } sublayerTransform; @property (retain) CALayer *mask; @property BOOL masksToBounds; @property (retain) id contents; @property struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; } contentsRect; @property (copy) NSString *contentsGravity; @property double contentsScale; @property struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; } contentsCenter; @property (copy) NSString *contentsFormat; @property BOOL wantsExtendedDynamicRangeContent; @property (copy) NSString *minificationFilter; @property (copy) NSString *magnificationFilter; @property float minificationFilterBias; @property (getter=isOpaque) BOOL opaque; @property BOOL needsDisplayOnBoundsChange; @property BOOL drawsAsynchronously; @property unsigned int edgeAntialiasingMask; @property BOOL allowsEdgeAntialiasing; @property struct CGColor { } *backgroundColor; @property double cornerRadius; @property unsigned long long maskedCorners; @property (copy) NSString *cornerCurve; @property double borderWidth; @property struct CGColor { } *borderColor; @property float opacity; @property BOOL allowsGroupOpacity; @property (retain) id compositingFilter; @property (copy) NSArray *filters; @property (copy) NSArray *backgroundFilters; @property BOOL shouldRasterize; @property double rasterizationScale; @property struct CGColor { } *shadowColor; @property float shadowOpacity; @property struct CGSize { double x0; double x1; } shadowOffset; @property double shadowRadius; @property struct CGPath { } *shadowPath; @property (copy) NSDictionary *actions; @property (copy) NSString *name; @property (weak) id delegate; @property (copy) NSDictionary *style; @property double beginTime; @property double duration; @property float speed; @property double timeOffset; @property float repeatCount; @property double repeatDuration; @property BOOL autoreverses; @property (copy) NSString *fillMode; + (id)allocWithZone:(struct _NSZone { } *)a0; + (id)layer; + (BOOL)automaticallyNotifiesObserversForKey:(id)a0; + (BOOL)needsDisplayForKey:(id)a0; + (id)properties; + (void)initialize; + (id)defaultValueForKey:(id)a0; + (void)CAMLParserStartElement:(id)a0; + (BOOL)CA_automaticallyNotifiesObservers:(Class)a0; + (BOOL)resolveInstanceMethod:(SEL)a0; + (id)defaultActionForKey:(id)a0; + (BOOL)_hasRenderLayerSubclass; + (void)CAMLParserEndElement:(id)a0; + (void /* function */ *)CA_setterForProperty:(const struct _CAPropertyInfo { unsigned int x0; unsigned short x1 : 16; unsigned short x2 : 16; SEL x3[2]; char *x4; struct __CFString *x5; } *)a0; + (void /* function */ *)CA_getterForProperty:(const struct _CAPropertyInfo { unsigned int x0; unsigned short x1 : 16; unsigned short x2 : 16; SEL x3[2]; char *x4; struct __CFString *x5; } *)a0; + (double)cornerCurveExpansionFactor:(id)a0; + (id)layerWithRenderLayer:(void *)a0; + (id)layerWithRenderLayer:(void *)a0 options:(id)a1; + (BOOL)needsLayoutForKey:(id)a0; - (void)addState:(id)a0; - (BOOL)opaque; - (void)_renderSublayersInContext:(struct CGContext { } *)a0; - (BOOL)hidden; - (void)_display; - (id)valueForUndefinedKey:(id)a0; - (void)_colorSpaceDidChange; - (BOOL)isFlipped; - (id)retain; - (void)_renderBackgroundInContext:(struct CGContext { } *)a0; - (void)setFlipped:(BOOL)a0; - (BOOL)CA_validateValue:(id)a0 forKey:(id)a1; - (void)setValue:(id)a0 forKeyPath:(id)a1; - (BOOL)allowsWeakReference; - (void)layoutIfNeeded; - (void)setNeedsDisplay; - (id)recursiveDescription; - (id)init; - (id)implicitAnimationForKeyPath:(id)a0; - (BOOL)retainWeakReference; - (id)valueForKeyPath:(id)a0; - (void)invalidateContents; - (void)setValue:(id)a0 forKey:(id)a1; - (void)dealloc; - (struct CGSize { double x0; double x1; })_preferredSize; - (void)addAnimation:(id)a0 forKey:(id)a1; - (void)setValue:(id)a0 forUndefinedKey:(id)a1; - (void)addIdentifier:(id)a0; - (void)insertSublayer:(id)a0 atIndex:(unsigned int)a1; - (unsigned long long)retainCount; - (void)CAMLParser:(id)a0 setValue:(id)a1 forKey:(id)a2; - (unsigned int)_renderLayerPropertyAnimationFlags:(unsigned int)a0; - (BOOL)shouldArchiveValueForKey:(id)a0; - (void)encodeWithCAMLWriter:(id)a0; - (struct CGAffineTransform { double x0; double x1; double x2; double x3; double x4; double x5; })affineTransform; - (void)_didCommitLayer:(void *)a0; - (void)layerDidBecomeVisible:(BOOL)a0; - (void)_renderForegroundInContext:(struct CGContext { } *)a0; - (void)encodeWithCoder:(id)a0; - (struct CGSize { double x0; double x1; })size; - (BOOL)needsDisplay; - (void)removeFromSuperlayer; - (BOOL)needsLayout; - (BOOL)_renderLayerDefinesProperty:(unsigned int)a0; - (id)context; - (void)addSublayer:(id)a0; - (void)setNeedsLayout; - (BOOL)CAMLTypeSupportedForKey:(id)a0; - (void)drawInContext:(struct CGContext { } *)a0; - (id)hitTest:(struct CGPoint { double x0; double x1; })a0; - (struct CGPoint { double x0; double x1; })convertPoint:(struct CGPoint { double x0; double x1; })a0 toLayer:(id)a1; - (void)removeIdentifier:(id)a0; - (void)layoutSublayers; - (void)renderInContext:(struct CGContext { } *)a0; - (void)removeAllAnimations; - (void)insertSublayer:(id)a0 above:(id)a1; - (void)insertSublayer:(id)a0 below:(id)a1; - (void)setObservationInfo:(void *)a0; - (id)debugDescription; - (void)reloadValueForKeyPath:(id)a0; - (id)actionForKey:(id)a0; - (id)initWithLayer:(id)a0; - (void *)observationInfo; - (void)setNeedsDisplayInRect:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a0; - (void)_dealloc; - (id)valueForKey:(id)a0; - (id)stateWithName:(id)a0; - (id)CAMLTypeForKey:(id)a0; - (oneway void)release; - (void *)_copyRenderLayer:(void *)a0 layerFlags:(unsigned int)a1 commitFlags:(unsigned int *)a2; - (void)replaceSublayer:(id)a0 with:(id)a1; - (id)initWithCoder:(id)a0; - (void)display; - (id)layerBeingDrawn; - (id)CA_archivingValueForKey:(id)a0; - (void)displayIfNeeded; - (BOOL)isDescendantOf:(id)a0; - (void)prepareContents; - (BOOL)_canDisplayConcurrently; - (void)_cancelAnimationTimer; - (void)_contentsFormatDidChange:(id)a0; - (BOOL)_continuousCorners; - (BOOL)_defersDidBecomeVisiblePostCommit; - (id)_initWithReference:(id)a0; - (id)_layoutHash; - (int)_overrideImageFormat; - (void)_prepareContext:(struct CGContext { } *)a0; - (id)_previousLayoutHash; - (void)_renderBorderInContext:(struct CGContext { } *)a0; - (unsigned int)_renderImageCopyFlags; - (struct CGColorSpace { } *)_retainColorSpace; - (void)_saveCurrentLayoutHash; - (BOOL)_scheduleAnimationTimer; - (void)_scrollPoint:(struct CGPoint { double x0; double x1; })a0 fromLayer:(id)a1; - (void)_scrollRect:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a0 fromLayer:(id)a1; - (void)_setPreviousLayoutHash:(id)a0; - (BOOL)_usesCornerRadii; - (void)_validateLayoutHashHasChangedWithLayoutTime:(double)a0; - (struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })_visibleRectOfLayer:(id)a0; - (void)addPresentationModifier:(id)a0; - (id)ancestorSharedWithLayer:(id)a0; - (id)animationForKey:(id)a0; - (id)animationKeys; - (void)clearHasBeenCommitted; - (BOOL)containsPoint:(struct CGPoint { double x0; double x1; })a0; - (BOOL)contentsAreFlipped; - (struct CGPoint { double x0; double x1; })convertPoint:(struct CGPoint { double x0; double x1; })a0 fromLayer:(id)a1; - (struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })convertRect:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a0 fromLayer:(id)a1; - (struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })convertRect:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a0 toLayer:(id)a1; - (double)convertTime:(double)a0 fromLayer:(id)a1; - (double)convertTime:(double)a0 toLayer:(id)a1; - (id)dependentStatesOfState:(id)a0; - (BOOL)doubleSided; - (BOOL)drawsMipmapLevels; - (BOOL)getRendererInfo:(struct _CARenderRendererInfo { int x0; unsigned int x1; unsigned int x2; } *)a0 size:(unsigned long long)a1; - (BOOL)hasBeenCommitted; - (BOOL)ignoresHitTesting; - (void)insertState:(id)a0 atIndex:(unsigned int)a1; - (id)layerAtTime:(double)a0; - (void)layoutBelowIfNeeded; - (BOOL)layoutIsActive; - (id)modelLayer; - (id)optimizationOpportunities:(BOOL)a0; - (struct CGSize { double x0; double x1; })preferredFrameSize; - (id)presentationLayer; - (void *)regionBeingDrawn; - (void)removeAnimationForKey:(id)a0; - (void)removePresentationModifier:(id)a0; - (void)removeState:(id)a0; - (void)scrollPoint:(struct CGPoint { double x0; double x1; })a0; - (void)scrollRectToVisible:(struct CGRect { struct CGPoint { double x0; double x1; } x0; struct CGSize { double x0; double x1; } x1; })a0; - (void)setAffineTransform:(struct CGAffineTransform { double x0; double x1; double x2; double x3; double x4; double x5; })a0; - (void)setContentsChanged; - (id)stateTransitionFrom:(id)a0 to:(id)a1; @end