发明名称 Sequential layout builder architecture
摘要 Layout processing techniques have been described that allow processing of structured documents to be conducted, and for associated layout to be accomplished in a sequential manner. The layout process is split into multiple, smaller steps that can be executed sequentially. In at least some embodiments, a layout builder is utilized in conjunction with a stack to control layout execution on respective levels of the structural hierarchy of a structured document. Immutable data structures are utilized and allow for parallel execution of sequential layout operations. In at least some embodiments, partial execution of the layout sequence can be performed to produce usable data.
申请公布号 US8977955(B2) 申请公布日期 2015.03.10
申请号 US201012732075 申请日期 2010.03.25
申请人 Microsoft Technology Licensing, LLC 发明人 Veselov Evgeny N.;Atanassov Rossen Petkov;Jolson Michael Jacob
分类号 G06F3/00;G06F17/21 主分类号 G06F3/00
代理机构 代理人 Webster Bryan;Drakos Kate;Minhas Micky
主权项 1. One or more computer-readable hardware storage media embodying computer-executable instructions which, when executed, implement a software architecture comprising: a layout builder component of a browser configured to organize sequential layout processing, for rendering of a received structured document, the layout builder being a temporary object that exists during layout processing, the sequential layout processing comprising: identifying an opening tag in the received structured document;responsive to the identification, creating a box builder;pushing the created box builder onto a building stack to activate the created box builder; the box builder configured to: receive content for one of one or more layout boxes from the layout builder;populate the one of the one or more layout boxes with the received content to be rendered by the browser; the building stack, associated with the layout builder, the building stack being organized as hierarchically nested box builders; and one or more layout boxes comprising persistent data, the one or more layout boxes being immutable and including internal positioned content and sizing information; wherein the box builder is a class that represents common properties and methods of different box builder types, individual box builder types being configured to build a corresponding particular type of layout box, utilizing a set of virtual functions that are defined as an abstract class of the box builder.
地址 Redmond WA US