Skip to content
This repository was archived by the owner on Feb 2, 2023. It is now read-only.
This repository was archived by the owner on Feb 2, 2023. It is now read-only.

[ASDisplayNode] Replace the working range window with manual display system. #315

@rnystrom

Description

@rnystrom

Capturing enhancement discussions

Create an enum for ASDisplayNode that captures the current state of a node in its lifecycle.

blank slate -> data loaded (changing this calls -invalidateCalculatedSize, eg the attributed string or image property) -> measurement -> layout -> rendering -> all done

The node can react to what happens at each state change, and other mechanisms (such as ranges) can rely on the state and changes in order to perform certain actions.

Changes should be rolled out into phases:

  • Create enum & flag on ASDisplayNode that is changed in appropriate methods. Flag reflects state in node lifecycle.
  • React to state changes
  • Wire up ranges and any other mechanisms that can piggy-back off changes
  • Remove Core Animation hooks and instead rely on state changes

Any more thoughts?

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions