Abstract:
A method for rendering a page, including: obtaining an electronic document (ED) identifying a main object and multiple shadow parameters; determining a main bounding box surrounding the main object on the page; creating a main brush including the main object; calculating a shadow bounding box based on the main bounding box and at least one of the multiple shadow parameters; creating a shadow brush by applying a shadow transformation matrix to the main brush, where the shadow transformation matrix maps the main object to a shadow defined by the multiple shadow parameters; inserting, into a main display list for the page, a set of instructions to: paint the shadow bounding box with the shadow brush; and paint the main bounding box with the main brush.
Abstract:
Methods for performing rasterization on a display list are presented, wherein the display list can include bands associated with a virtual page object belonging to a first class of virtual page objects in the display list. In some embodiments, the method comprises: parsing the virtual page object to identify at least one geometric band; identifying at least one available rasterization process to rasterize the at least one geometric band; creating a second virtual page object including the geometric band, wherein the second virtual page object belongs to a second class of virtual page objects derived from the first class of virtual page objects; sending the second virtual page object including the geometric band to an available rasterization process; and rasterizing the one geometric band using the available rasterization process, wherein the rasterization process operates on the geometric band in the second virtual page object.
Abstract:
A method for managing a page, involving: obtaining an electronic document having a main object and multiple parameters defining an effect for the main object; generating a display list for the page having multiple scaled-down graphical primitives corresponding to a scaled-down version of the main object; generating a scaled-down tile having the scaled-down version of the main object by rasterizing the multiple scaled-down graphical primitives; generating an effect tile comprising a scaled-down version of the effect by applying the multiple parameters to the scaled-down tile; rasterizing the effect tile into a framebuffer for the page by up-scaling the effect tile; and outputting the framebuffer for the page.
Abstract:
A method for managing tables, including: obtaining a document including a table having a bottom row and a first stacked row; identifying, within the first stacked row, a first plurality of neutral cells having an initial height value; calculating, using a layout engine, a plurality of overall vertical dimensions for the first plurality of neutral cells based on a plurality of data items in the first plurality of neutral cells; identifying a maximum overall vertical dimension (MOVD) of the plurality of overall vertical dimensions; setting, in response to the MOVD exceeding the initial height value, a plurality of height attributes of the first plurality of neutral cells to the MOVD; shifting down the bottom row by a first difference between the MOVD and the initial height value; and rendering a page of the document including the table after shifting down the bottom row.
Abstract:
Systems and methods for managing data in complex containers permit atomic addition of a plurality of data items to the containers. Each data item can occupy contiguous memory locations, although the plurality of data items may be mutually discontiguous. The method comprises creating a package object, which comprises an externally accessible array of pointer and associated integers. Each pointer points to the start of a memory location holding a distinct data item and the associated integer represents the size of the data item referenced by the pointer. A function associated with an external interface of the container determines a quantity of memory to hold the plurality of data items and invokes an externally accessible write function in the package object to add the plurality of individual data items to the container at specified locations if there is adequate memory available to hold the plurality of data items.
Abstract:
Systems and methods consistent with some embodiments of the present invention provide data structures and methods for the automatic storing, manipulating and processing of a intermediate printable data generated from a first printable data are presented. In some embodiments, the first printable data may take the form of a PDL description of a document and the intermediate printable data may take the form of a display list of objects generated from the PDL description.In some embodiments, a data structure for storing a intermediate printable data generated from a first printable data may comprise at least one memory pool, which may further comprise a plurality of uniformly sized segments to store the intermediate printable data; at least one global structure for storing information related to the one or more memory pools; and buffers for performing operations on the first printable data and the intermediate printable data.
Abstract:
A new cultivar of Astelia named ‘Silver Shadow’ that is characterized by its foliage that is green in color with a silver overlay on the upper and lower leaf surface, its small leaves, and its dwarf, broad, and mounded plant habit.
Abstract:
Systems and methods consistent with some embodiments of the present invention provide data structures and methods for the automatic storing, manipulating and processing of a intermediate printable data generated from a first printable data are presented. In some embodiments, the first printable data may take the form of a PDL description of a document and the intermediate printable data may take the form of a display list of objects generated from the PDL description. In some embodiments, a data structure for storing a intermediate printable data generated from a first printable data may comprise at least one memory pool, which may further comprise a plurality of uniformly sized segments to store the intermediate printable data; at least one global structure for storing information related to the one or more memory pools; and buffers for performing operations on the first printable data and the intermediate printable data.
Abstract:
Methods for managing a single memory pool comprising frame buffer memory and display list memory are presented. The single memory pool can comprise sub-pools including: a super-block pool comprising a plurality of super-block objects; a node pool comprising a plurality of node objects; and a block-pool comprising a plurality of blocks. The method may comprise: receiving a memory allocation request directed to at least one of the sub-pools; allocating an object local to the sub-pool identified in the memory request, if local sub-pool objects are available to satisfy the memory request; allocating an object from super-block pool, if the memory request is directed to the node-pool or block-pool and there are no available local objects in the respective sub-pools to satisfy the memory request; and applying at least one of a plurality of memory freeing strategies, if the sub-pools lack available free objects.
Abstract:
A method includes receiving a document encoded in a markup language, having a page with an image and text, and creating a first high-level graphics (HLG) object corresponding to the image. The first HLG object specifies a first z-index less than zero for the first HLG object. The method further includes generating a first entry in an input file including a pointer to the first HLG object, generating a second entry in the input file corresponding to the text, and generating an output file using a typesetting program and the input file. In response to the first z-index not being zero, the method includes parsing the output file to identify the page, creating the page ItemHandles List (IL), and adding a first ItemHandle including the pointer and corresponding to the first entry to the IL. The method further includes generating a display list using the output file and the IL.