Contour based flow layout
First Claim
Patent Images
1. A computer-implemented method comprising:
- laying out a plurality of floating objects in a layout space including computing a bottom edge property for each of the plurality of floating objects, each of the plurality of floating objects being a left-floating object or a right-floating object, the bottom edge property being a boolean value indicating whether, at a time of insertion, a bottom edge of the each floating object is lower than or equal to all other floating objects previously laid out within a same flow;
computing flow contours in the layout space for the left-floating objects and the right-floating objects of the plurality of floating objects using at least the bottom edge properties of the floating objects, the flow contours being abstractions of the left-floating objects and the right-floating objects in the layout space;
computing a list of sorted points for each computed flow contour, each point in the list of sorted points representing a point on the each computed flow contour where the each computed flow contour changes direction; and
using the flow contours and the lists of sorted points to perform one or more of content measuring operations or content insertion operations.
2 Assignments
0 Petitions
Accused Products
Abstract
Various embodiments introduce the notion of a flow contour that is utilized to conduct layout processing. Flow contours are utilized to organize layout space in the presence of floating objects or geometries. In at least some embodiments, objects can float to the left and/or right in the layout space. Flow contours are abstractions that then represent collections of left-floating and/or right-floating objects.
58 Citations
20 Claims
-
1. A computer-implemented method comprising:
-
laying out a plurality of floating objects in a layout space including computing a bottom edge property for each of the plurality of floating objects, each of the plurality of floating objects being a left-floating object or a right-floating object, the bottom edge property being a boolean value indicating whether, at a time of insertion, a bottom edge of the each floating object is lower than or equal to all other floating objects previously laid out within a same flow; computing flow contours in the layout space for the left-floating objects and the right-floating objects of the plurality of floating objects using at least the bottom edge properties of the floating objects, the flow contours being abstractions of the left-floating objects and the right-floating objects in the layout space; computing a list of sorted points for each computed flow contour, each point in the list of sorted points representing a point on the each computed flow contour where the each computed flow contour changes direction; and using the flow contours and the lists of sorted points to perform one or more of content measuring operations or content insertion operations. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A computer program product comprising one or more computer-readable hardware storage devices embodying computer readable instructions, which, when executed, implement a method comprising:
-
laying out a plurality of floating objects in a layout space including computing a bottom edge property for each of the plurality of floating objects, each of the plurality of floating objects being a left-floating object or a right-floating object, the bottom edge property being a boolean value indicating whether, at a time of insertion, a bottom edge of the each floating object is lower than or equal to all other floating objects previously laid out within a same flow; computing flow contours for the left-floating objects and the right-floating objects in the layout space using at least the bottom edge properties of the floating objects, the flow contours being abstractions of the left-floating objects and the right-floating objects in the layout space, and wherein the flow contours define, respectively, a right-most outer contour of the left-floating objects and a left-most outer contour of the right-floating objects; computing a list of sorted points for each computed flow contour, each point in the list of sorted points representing a point on the each computed flow contour where the each computed flow contour changes direction; using the flow contours and the lists of sorted points to perform content measuring operations with respect to content that is to be inserted between left-floating and right-floating objects that reside in the layout space; and using the flow contours and the lists of sorted points to perform content insertion operations with respect to content that is to be inserted between the left-floating and the right-floating objects. - View Dependent Claims (10, 11, 12, 13, 14)
-
-
15. A computing device comprising:
-
one or more processors; one or more computer readable storage media embodying computer readable instructions, which, when executed by the one or more processors, implement a method comprising; laying out a plurality of floating objects in a layout space including computing a bottom edge property for each of the plurality of floating objects, each of the plurality of floating objects being a left-floating object or a right-floating object, the bottom edge property being a boolean value indicating whether, at a time of insertion, a bottom edge of the each floating object is lower than or equal to all other floating objects previously laid out within a same flow; computing flow contours for the left-floating object and the right-floating objects in the layout space using at least the bottom edge properties of the floating objects, the flow contours being abstractions of the left-floating objects and the right-floating objects in the layout space, and wherein the flow contours define, respectively, a right-most outer contour of the left-floating objects and a left-most outer contour of the right-floating objects; computing a list of sorted points for each computed flow contour, each point in the list of sorted points representing a point on the each computed flow contour where the each computed flow contour changes direction; using the flow contours and the lists of sorted points to perform content measuring operations with respect to content that is to be inserted between left-floating and right-floating objects that reside in the layout space; and using the flow contours and the lists of sorted points to perform content insertion operations with respect to content that is to be inserted between the left-floating and the right-floating objects. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification