Virtual viewport and fixed positioning with optical zoom
First Claim
1. A computer system, comprising:
- one or more processors; and
one or more computer-readable hardware storage devices having stored thereon computer-executable instructions that are executable by the one or more processors to cause the computer system to render content on a display, and further to cause the computer system to perform at least the following;
create a layout viewport that identifies a portion of content of a web page that is available for display in a web browser and how the portion of content is to be laid out within the layout viewport, the portion of content including a fixed position user interface element that retains a fixed position within the layout viewport as the portion of content changes due to the layout viewport being scrolled over the content of the web page;
create a visual viewport that overlaps the layout viewport and that renders at least a part of the portion of content identified by the layout viewport, wherein the visual viewport is moveable and sizable within and independent of the layout viewport; and
enable interaction between the visual viewport and the layout viewport, including;
rendering the fixed position user interface element on the display based at least on identifying that a size and a position of the visual viewport causes the visual viewport to overlap a portion of the layout viewport containing the fixed position user interface element;
subsequent to rendering the fixed position user interface element, detecting a condition in which an overlay user interface is to be displayed;
reducing the size of the visual viewport to accommodate a detected size of the overlay user interface; and
rendering the overlay user interface instead of the fixed position user interface element, based at least on the reduced the size of the visual viewport causing it to no longer overlap the portion of the layout viewport containing the fixed position user interface element, and based at least on the overlay user interface overlapping the portion of the layout viewport containing the fixed position user interface element.
2 Assignments
0 Petitions
Accused Products
Abstract
Various embodiments utilize a layout viewport and a visual viewport separate from the layout viewport. The layout viewport is utilized for such things as page layout operations and reporting Document Object Model values to script. The layout viewport can be thought of as an initial rectangle which is equivalent in size to the initial containing block. The initial containing block is a containing block that contains web content that is initially visible to the user. The visual viewport is separate from the layout viewport and is allowed to be freely manipulated relative to the layout viewport. For example, the visual viewport may “push” the layout viewport around when it collides with the layout viewport boundaries. The visual viewport can be thought of as the rectangle that is visible to the user.
-
Citations
21 Claims
-
1. A computer system, comprising:
-
one or more processors; and one or more computer-readable hardware storage devices having stored thereon computer-executable instructions that are executable by the one or more processors to cause the computer system to render content on a display, and further to cause the computer system to perform at least the following; create a layout viewport that identifies a portion of content of a web page that is available for display in a web browser and how the portion of content is to be laid out within the layout viewport, the portion of content including a fixed position user interface element that retains a fixed position within the layout viewport as the portion of content changes due to the layout viewport being scrolled over the content of the web page; create a visual viewport that overlaps the layout viewport and that renders at least a part of the portion of content identified by the layout viewport, wherein the visual viewport is moveable and sizable within and independent of the layout viewport; and enable interaction between the visual viewport and the layout viewport, including; rendering the fixed position user interface element on the display based at least on identifying that a size and a position of the visual viewport causes the visual viewport to overlap a portion of the layout viewport containing the fixed position user interface element; subsequent to rendering the fixed position user interface element, detecting a condition in which an overlay user interface is to be displayed; reducing the size of the visual viewport to accommodate a detected size of the overlay user interface; and rendering the overlay user interface instead of the fixed position user interface element, based at least on the reduced the size of the visual viewport causing it to no longer overlap the portion of the layout viewport containing the fixed position user interface element, and based at least on the overlay user interface overlapping the portion of the layout viewport containing the fixed position user interface element. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method, implemented at a computer system that includes one or more processors, for rendering web page content, the method comprising:
-
creating a layout viewport that identifies a portion of content of a web page that is available for display in a web browser and how the portion of content is to be laid out within the layout viewport, the portion of content including a fixed position user interface element that retains a fixed position within the layout viewport as the portion of content changes due to the layout viewport being scrolled over the content of the web page; creating a visual viewport that overlaps the layout viewport and that renders at least a part of the portion of content identified by the layout viewport, wherein the visual viewport is moveable and sizable within and independent of the layout viewport; and enabling interaction between the visual viewport and the layout viewport, including; rendering the fixed position user interface element based at least on identifying that a size and a position of the visual viewport causes the visual viewport to overlap a portion of the layout viewport containing the fixed position user interface element; subsequent to rendering the fixed position user interface element, detecting a condition in which an overlay user interface is to be displayed; reducing the size of the visual viewport to accommodate a detected size of the overlay user interface; and rendering the overlay user interface instead of the fixed position user interface element, based at least on the reduced the size of the visual viewport causing it to no longer overlap the portion of the layout viewport containing the fixed position user interface element, and based at least on the overlay user interface overlapping the portion of the layout viewport containing the fixed position user interface element. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A computer program product comprising hardware storage devices having stored thereon computer-executable instructions that are executable by one or more processors to cause a computer system to render content on a display, and further to cause the computer system to perform at least the following:
-
create a layout viewport that identifies a portion of content of a web page that is available for display in a web browser and how the portion of content is to be laid out within the layout viewport, the portion of content including a fixed position user interface element that retains a fixed position within the layout viewport as the portion of content changes due to the layout viewport being scrolled over the content of the web page; create a visual viewport that overlaps the layout viewport and that renders at least a part of the portion of content identified by the layout viewport, wherein the visual viewport is moveable and sizable within and independent of the layout viewport; and enable interaction between the visual viewport and the layout viewport, including; rendering the fixed position user interface element on the display based at least on identifying that a size and a position of the visual viewport causes the visual viewport to overlap a portion of the layout viewport containing the fixed position user interface element; subsequent to rendering the fixed position user interface element, detecting a condition in which an overlay user interface is to be displayed; reducing the size of the visual viewport to accommodate a detected size of the overlay user interface; and rendering the overlay user interface instead of the fixed position user interface element, based at least on the reduced the size of the visual viewport causing it to no longer overlap the portion of the layout viewport containing the fixed position user interface element, and based at least on the overlay user interface overlapping the portion of the layout viewport containing the fixed position user interface element. - View Dependent Claims (16, 17, 18, 19, 20, 21)
-
Specification