摘要:
Described is a layout system and process for user interface elements of computer programs. The layout system generally refers to a protocol and associated API that enables sizes and positions to be allotted, in which user interface elements are rendered. The layout system may be split between a core layout system and a framework layout system. The core provides minimal policy/rules that are imposed to allow flexibility for a given framework implementation. The framework adds support for user-specified sizing, positioning, margins, minimum sizes, maximum sizes and specific layout elements. Parent elements (e.g., containers) direct measure calls and arrange calls to child elements. The layout system essentially intercepts those calls and depending on policy may manipulate the properties of those calls for sizing, positioning, alignment and the like to ensure uniform and consistent layout results.
摘要:
A layout resizes intelligently without complexity. Objects or elements are attached to a virtual grid of row and column gridlines, which are defined separately. The relationship between the objects and the grid is bi-directional so that moving one (gridline or object) will affect the other (object or gridline). In other words, expanding/collapsing the object will push the gridlines, and moving the gridline will expand/collapse the object. The virtual grid can be created before or after the objects to provide further flexibility. A child object can have its own virtual grid, which allows fine-grained control where desired.
摘要:
Methods, systems, and computer-readable media for enhanced layout editing of one or more child objects within a container displayed by a computer system are disclosed. Editing first involves detecting a layout edit operation for a child object displayed on a video display of a computer system. A request is then sent via an application program interface provided by an abstraction layer to initiate editing of the object layout by the abstraction layer. The abstraction layer receives the edit operation request and determines the layout limitations and type of parent object or container in which the child object is displayed based on properties related to the child object to be edited. The abstraction layer reads a set of properties related to the object and the container in which the object is displayed. The abstraction layer then edits the layout of the child object based the properties of child and the parent container by modifying one or more of the properties of the child object or the parent container in accordance with constraints either associated with the child object or its parent container, or both, and includes accommodation for modifications in accordance with one or more functional relationships defined between the parent and child.
摘要:
An anti-aliased computer display system has graphical elements that may be defined with a pixel-snapping property that causes the elements to be shifted or transformed to align with the pixel map of a display. When the property is set, horizontal and vertical guidelines are established that are used to calculate a transformation for the elements, and the transformation is applied to the element plus any child elements. In some cases, guidelines may be established for both the right and left as well as top and bottom of the elements, and portions of the graphical elements that end on or are collinear with the guidelines may be transformed by shifting or stretching the elements. In general, the transformation is a translation that is less than one pixel in size. The result is a pixel-snapped image that may be displayed on any type of display with any resolution while remaining crisp and clear, just as the designer intended.
摘要:
Methods and systems are provided for preparing for presentation a graphical element in a computer application program. The methods independently execute measurement and arrangement procedures. A data structure, sets of executable procedures, and computer-readable media are also provided for facilitating the preparation for presentation of a graphical element.
摘要:
Described is an information sharing method and mechanism used by a layout system to share information across related column and row user interface elements (corresponding to definitions). Definitions of a table or grid are grouped together with respect to sizing via a common group name. Scope values may be used to limit the grouping to selected subtrees of elements. When layout occurs, size sharing information is determined for the group-related definitions via a common size sharing object. Grouped definitions thus may be sized to the largest content to display of any one element. Elements corresponding to definitions may be manually sized by a user, or may be based on the size of a defined master element, such as the width of a header. The scope value of a group may be changed dynamically, such as by user interaction, which may cause groups to merge or split.
摘要:
A View Template allows a template author to create an attractive HTML view template, and flow an arbitrary HTML content document into a series of containers defined in the view template. A content document author creates a standard HTML markup language document that can be displayed in a browser in the bottom-less page model. A view template author designs an HTML view template document that changes how that content document is displayed in the browser or printed. The HTML content document is “flowed” into areas defined by the HTML view template document. The HTML view template document describes where to flow the HTML content document onto the display or printer. There is an object model (OM) that supports the series of containers holding the content document. Each container in the series has a layout that defines the size, location, and ordering for the content document to flow through while in that container. The order of containers that the content document flows through is kept in a view chain. The view chain also maintains a break table with information about the content document at each of the container boundaries.