Since kjarosh's initial PRs to move most FTE properties to native data have been merged, we can start real work on FTE.
There are a couple essential things we have to implement to get FTE more-or-less fully working:
Additionally, we should eventually implement more of the validation checks that Flash does. These may even be necessary for later work.
Since kjarosh's initial PRs to move most FTE properties to native data have been merged, we can start real work on FTE.
There are a couple essential things we have to implement to get FTE more-or-less fully working:
recreateTextLineand static content (avm2: TLF improvements, implement TextBlock.recreateTextLine #24313)ContentElementdata onContentElementObject(avm2: Store content ofContentElementsubclasses as native data #24338)FormatSpansto representContentElementdata ( avm2: Create a FormatSpans for the text block's content element in createTextLine #24351)lower_from_text_spansor similarTextLines usingLayoutLineor similarTextLine'sDisplayObjectproperties correct (e.g. make it a container)TextLines (TextLinemethodsgetAtomBounds,getAtomIndexAtPoint)Additionally, we should eventually implement more of the validation checks that Flash does. These may even be necessary for later work.
ContentElementkeeps track of theTextBlockorGroupElementthat it is assigned to (necessary for below changes)ElementFormatandFontDescriptioncan becomelockedContentElementinvalidates its owningTextBlock's lines upon changes toelementFormat