EP2592574B1 - Zoom de bloc amélioré sur un dispositif électronique mobile - Google Patents
Zoom de bloc amélioré sur un dispositif électronique mobile Download PDFInfo
- Publication number
- EP2592574B1 EP2592574B1 EP12173135.0A EP12173135A EP2592574B1 EP 2592574 B1 EP2592574 B1 EP 2592574B1 EP 12173135 A EP12173135 A EP 12173135A EP 2592574 B1 EP2592574 B1 EP 2592574B1
- Authority
- EP
- European Patent Office
- Prior art keywords
- alignment
- region
- viewport
- display
- dominant
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 claims description 52
- 230000004044 response Effects 0.000 claims description 16
- 238000009877 rendering Methods 0.000 claims description 12
- 238000004891 communication Methods 0.000 description 33
- 238000012545 processing Methods 0.000 description 19
- 230000008569 process Effects 0.000 description 12
- 238000010586 diagram Methods 0.000 description 9
- 238000013515 script Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 6
- 238000012800 visualization Methods 0.000 description 4
- 238000013461 design Methods 0.000 description 3
- 238000003860 storage Methods 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 230000002596 correlated effect Effects 0.000 description 2
- 230000000875 corresponding effect Effects 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 2
- 239000011521 glass Substances 0.000 description 2
- 230000004807 localization Effects 0.000 description 2
- 230000033001 locomotion Effects 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000002085 persistent effect Effects 0.000 description 2
- 238000003825 pressing Methods 0.000 description 2
- 230000002829 reductive effect Effects 0.000 description 2
- 230000002411 adverse Effects 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 230000006837 decompression Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000007781 pre-processing Methods 0.000 description 1
- 238000002360 preparation method Methods 0.000 description 1
- 230000002207 retinal effect Effects 0.000 description 1
- 238000010079 rubber tapping Methods 0.000 description 1
- 238000013341 scale-up Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
Definitions
- the present application relates to the display and magnification of structured document elements.
- Web browsers, word processors, e-book readers, file viewers and similar applications are used to present structured documents, webpages, HTML files, and the like, for display by an electronic device.
- the structured document can include text and other elements that, as originally presented on an electronic device display, are inconveniently sized or scaled; the elements may be displayed at too small a size to be generally considered legible, or they may be scaled up to a size that takes up too much of the available display area. This is particularly the case with portable computing devices such as tablet computers, smartphones, and similar devices, which are typically equipped with smaller display screens than desktop computers, external monitors, and other electronic devices that might be configured to process structured documents.
- US 2011/0131526A1 teaches a user interface for displaying, responsive to executing a command, an overlay including graphical or textual information indicative of a value being adjusted by a user in conjunction with the execution of said command.
- the invention is defined by the features of the independent claims. Further embodiments are the subject-matter of the dependent claims.
- the embodiments herein provide improved devices, systems, methods and computer program products for rendering and displaying structured documents, such as webpages, and scaling (in particular, enlarging or zooming in on) a region of the structured document for display.
- scale refers to increasing and decreasing the size of a rendered structured document or an element or region thereof for display
- scale up refers to increasing the displayed size
- scale down refers to decreasing the displayed size
- an electronic device may include any such device.
- FIG. 1 is a block diagram of an example embodiment of an electronic device 100 that may be used with the embodiments described herein.
- the electronic device 100 includes a number of components such as a main processor 102 that controls the overall operation of the electronic device 100. It should be understood that the components described in FIG. 1 are optional and that an electronic device used with various embodiments described herein may include or omit components described in relation to FIG. 1 .
- the electronic device 100 may be a battery-powered device including a battery interface 132 for receiving one or more rechargeable batteries 130. Communication functions, including data and voice communications, are performed through one or more communication subsystems 104, 105, and/or 122 in communication with the processor 102. Data received by the electronic device 100 can be decompressed and decrypted by a decoder, operating according to any suitable decompression techniques, and encryption/decryption techniques according to one or more various encryption or compression standards known to persons of skill in the art.
- this subsystem 104 receives data from and sends data to a wireless network.
- the communication subsystem 104 is configured in accordance with one or more wireless communications standards. New wireless communications standards are still being defined, but it is believed that they will have similarities to the network behaviour described herein, and it will also be understood by persons skilled in the art that the embodiments described herein are intended to use any other suitable standards that are developed in the future.
- the wireless link connecting the communication subsystem 104 with the wireless network 200 represents one or more different Radio Frequency (RF) channels, operating according to defined protocols specified for the wireless communications standard, and optionally other network communications.
- RF Radio Frequency
- the electronic device 100 may be provided with other communication subsystems, such as a wireless LAN (WLAN) communication subsystem 105 or a short-range and/or near-field communications subsystem 122 also shown in FIG. 1 .
- the WLAN communication subsystem 105 may operate in accordance with a known network protocol such as one or more of the 802.11TM family of standards developed or maintained by IEEE.
- the communications subsystems 105 and 122 provide for communication between the electronic device 100 and different systems or devices without the use of the wireless network, over varying distances that may be less than the distance over which the communication subsystem 104 can communicate with the wireless network.
- the subsystem 122 can include an infrared device and associated circuits and/or other components for short-range or near-field communication.
- any of the communication subsystems 104, 105, 122 may optionally be included in the electronic device 100.
- a communication subsystem provided in a dongle or other peripheral device may be connected to the electronic device 100, either wirelessly or by a fixed connection such as a USB port, to provide the electronic device 100 with access to a network.
- the communication subsystems 104, 105 and 122 may be separate from, or integrated with, each other.
- the main processor 102 also interacts with additional subsystems such as a Random Access Memory (RAM) 106, a flash memory 108, a display interface 103, other data and memory access interfaces such as an auxiliary input/output (I/O) subsystem 112 or a data port 114, a keyboard 116, a speaker 118, a microphone 120, the short-range communications 122 and other device subsystems 124.
- RAM Random Access Memory
- I/O auxiliary input/output
- the communication device may also be provided with an accelerometer 111, which may be used to detect gravity- or motion-induced forces and their direction. Detection of such forces applied to the electronic device 100 may be processed to determine a response of the electronic device 100, such as an orientation of a graphical user interface displayed on a display 110 in response to a determination of the current orientation of the electronic device 100.
- the electronic device 100 may comprise an integral display screen as the display 110, shown in phantom in FIG. 1 .
- a handheld or portable electronic device 100 such as a tablet, laptop, or smartphone typically incorporates a display screen 110 in communication with the main processor 102 via the display interface 103, whereas other electronic devices 100 are connected to external monitors or screens using the display interface 103, as in the case of a desktop computer.
- smaller devices such as the tablet, laptop or smartphone, may also be connected to external monitors or screens, in which case the display interface 103 represented in FIG. 1 includes an interface for connection of an external display device.
- the electronic device 100 may have an integrated display interface, or may be configured to output data to be painted to an external display unit such as an external monitor or panel, television screen, projector, or virtual retinal display (via a data port or transmitter, such as a Bluetooth® transceiver, other wireless transceiver, USB port, HDMI port, DVI port, and the like).
- a data port or transmitter such as a Bluetooth® transceiver, other wireless transceiver, USB port, HDMI port, DVI port, and the like.
- the display 110 may be a touchscreen-based device, in which the display 110 is a touchscreen interface that provides both a display for communicating information and presenting graphical user interfaces, as well as an input subsystem for detecting user input that may be converted to instructions for execution by the device 100.
- the display 110 may thus be the principal user interface provided on the electronic device 100, although in some embodiments, additional buttons, variously shown in the figures or a trackpad, or other input means may be provided. If a touchscreen is provided, then other user input means such as the keyboard 116 may or may not be present.
- the controller 216 and/or the processor 102 may detect a touch by any suitable contact member on the touch-sensitive display 110.
- the main processor 102 When a user specifies that a data file is to be outputted to the display interface 103, the data file is processed for display by the main processor 102. This processing may include, in the case of structured documents, parsing of the document to render the document or a portion thereof as an image file, which is then provided as output to the display interface 103 as discussed below.
- the main processor 102 may thus include a visualization subsystem, implemented in hardware, software, or a combination thereof, to process the data file for display.
- the processing carried out by the processor 102 in preparation for display may be relatively intensive, and the processing may consume a significant amount of processor time and memory.
- processing data files originally optimized or prepared for visualization on large-screen displays on a portable electronic device display often requires additional processing prior to visualization on the small-screen portable electronic device displays.
- the electronic device 100 may also be provided with a graphics processor module 125 separate from the main processor 102, again implementable in hardware, software, or a combination thereof.
- the graphics processor module 125 may comprise a dedicated image processor with associated circuitry, including memory 230 (shown in FIG. 2 ) that is separate from other memory in the electronic device 100, such as the RAM 106, flash memory 108, and any memory internal to the main processor 102.
- graphics processor module 125 Upon an application processing data file for display determining that the file includes content or transformations that are appropriately handled by the graphics processor module 125, those components of the file are provided to the graphics processor module 125 with associated commands for the rendering of that content for output to the display interface 103.
- the graphics processor module 125 can be configured to retrieve image files stored in device memory (such as RAM 106 or flash memory 108), or in its own resident memory 230, and to apply these image files as texture maps to surfaces defined in accordance with the received commands.
- the electronic device 100 also includes an operating system 140 and software components 150 to 160 which are described in more detail below. It will be understood by those skilled in the art that for ease of exposition, only select operating system and program components are illustrated in FIG. 1 .
- the operating system 140 and software components that are executed by the main processor 102 are typically stored in a persistent store such as the flash memory 108, which can alternatively be a read-only memory (ROM) or similar storage element (not shown).
- ROM read-only memory
- portions of the operating system 140, and the further software components 150 to 160 can be temporarily loaded into a volatile store such as the RAM 106.
- Other software components can also be included, as is well known to those skilled in the art.
- Programs 150 that may be provided for execution by the electronic device 100 can include messaging applications, including one or more of email programs 151 or one or more instant messaging (IM) programs 152. Other messaging applications for different messaging platforms, such as SMS, private or network messages, and the like, may also be included with the programs 150, as well as a unified message box application or function that provides a unified view of message or other content information associated with multiple user accounts or message types, and which serves as an entry point for access to other messaging services or applications executable on the device 100.
- the "unified message box” may also be known as a "unified inbox"; however, a unified message box in particular may contain inbound messages, outbound messages, or a combination thereof.
- Productivity applications such as calendar applications 153, word processors, document viewers, spreadsheet programs, accounting programs, and the like may also be included, as well as other applications that may be used for productivity, entertainment or information purposes, such as feed/content readers 154, web browsers 155, media players 156 (which can include picture viewers, music players, and/or video players), social networking applications 157 (which can include messaging functions), news, weather, and other "ticker” applications 158.
- other applications such as the app store application 159, may be provided on the electronic device 100 to manage and track the download and installation of individual applications or applets on the electronic device 100.
- the app store application 159 may interface over a network with a single repository of available electronic device applications.
- the app store application 159 may further track the availability of updates for electronic device applications previously downloaded using the app store application 159 and present notifications at the electronic device 100 when updates are available for download.
- a variety of other device programs 160 may also be provided for execution on the device 100.
- Each of the applications 150 may be provided with a corresponding data store at the device 100 (for example, in the flash memory 108).
- the individual applications 150 and operating system 140 components may be provided with associated data stores on the electronic device 100, typically in persistent memory such as the flash memory 108.
- messages that have been sent or received by the user are typically stored in whole or in part in the flash memory 108 of the electronic device 100, and recently read content or webpages may be cached on the device 100 either in flash memory 108 or in RAM 106 for at least a current session of the reader 154 or browser application 155.
- some data generated and/or accessed by the various programs 150 or operating system 140 components can be stored at a remote location from the electronic device 100 such as in a data store of an associated host system (not shown in FIG. 1 ) with which the electronic device 100 communicates.
- a received signal such as a text message, an e-mail message, or webpage download will be processed by the receiving communication subsystem 104, 105, 122 and input to the main processor 102.
- the main processor 102 will then process the received signal for output via the display interface 103 or alternatively to the auxiliary I/O subsystem 112.
- a user can also compose data items, such as e-mail messages, for example, using the keyboard 116 in conjunction with the display 110 and possibly the auxiliary I/O subsystem 112.
- the auxiliary subsystem 112 can include devices such as: a touchscreen, mouse, track ball, infrared fingerprint detector, or a roller wheel with dynamic button pressing capability.
- the keyboard 116 may be an alphanumeric keyboard and/or telephone-type keypad.
- a composed item can be transmitted over a wireless network through the communication subsystem 104. It will be appreciated that if the display 110 is a touchscreen, then the auxiliary subsystem 112 may still include one or more of the devices identified above.
- Structured documents can include documents authored using an SGML or XML-compliant, XML-like, or XML-based markup language, which, as those skilled in the art will appreciate, includes HTML-based documents such as webpages, and also includes web applications, other rich media applications, and widgets.
- the structured documents may include or be delivered in association with other elements such as scripts or rich media files, which can be delivered together with the structured document to the electronic device 100, or downloaded separately by the application for use when the structured document is rendered for display.
- These structured documents are processed and presented using applications such as the browser 155, content readers 154, messaging applications 151, 152, and any other suitable user agent.
- the structured documents and applications described herein may conform to known standards for the structure and presentation of content, in particular HTML4 and HTML5, published by the World Wide Web Consortium (W3C) at w3.org.
- W3C World Wide Web Consortium
- the within embodiments may comply with companion, alternative, subsequent and predecessor standards and specifications, including without limitation other versions of HTML, XHTML 1.0 and 2.0, DOM Levels 1 through 3, and CSS Levels 1 through 3, also published by the World Wide Web Consortium (W3C) at w3.org.
- a structured document such as a webpage
- the webpage is then processed for display by the browser application 155.
- FIG. 2 illustrates select components of an electronic device 100 and of a web browser application 155 that may execute at the electronic device 100 for processing and rendering input webpages and other structured documents.
- the browser application 155 may include interoperating components such as a user interface engine 220, layout or rendering engine 222, a script processor, plug-in, or virtual machine 224 for executing code snippets, scripts and the like embedded in, received with, or invoked by the webpage being processed.
- the browser application 155 may also have its own local store 226, allocated to the application 155 from the volatile and/or non-volatile memory 106, 108 of the electronic device 100.
- a webpage When a webpage is received or retrieved for processing and display, it is processed by the layout engine 222, with any scripts provided for the webpage passed to the script processor 224 for execution.
- the layout engine 222 parses the webpage to generate rendered document data which is ultimately output, after any further required processing by the main processor 102 or visualization subsystem and/or graphics processor 125, to the display interface 103. Further processing can include the graphics processor 125 compositing image data generated by the layout engine 222, for example in accordance with the process described in United States Patent Application No. 13/286,581 , "Accelerated Compositing of Fixed Position elements on an Electronic Device” filed 1 November 2011.
- the techniques used by the layout engine 222 to prepare a rendered webpage are generally known in the art.
- processing the input webpage to generate a rendered document for delivery to the display interface 103 is referred to as "preparing” or “rendering", regardless how the processing of the webpage occurs.
- the rendering process includes parsing of the webpage, and construction of one or more models reflecting a hierarchical arrangement of nodes representing the various elements provided in the webpage.
- a model of the hierarchical arrangement is constructed in memory (e.g., the local store 226), to which model any defined styles are applied to determine the position and appearance of content elements of the webpage in the display view of the browser application 155.
- Styles, scripts and similar data associated with various elements of the webpage and affecting the layout process may be included in the webpage provided to the electronic device 100, although in many cases such information may be provided in a separate file (such as a CSS file) that is identified in the header section of the webpage, and retrieved from the web server by the browser application 155.
- default styles defined at the browser application 155 may be applied to the webpage elements.
- style parameter is referred to herein as a style directive.
- the webpage is displayed in a browser viewport.
- the viewport as the area made available by the browser application within which the webpage may be displayed, can be defined by physical limitations such as the operational region of the display 110, as well as also by the physical form factor of the device and the fit of the device chassis around the display 110.
- the viewport is also constrained by the environment in which the browser 15 is executing.
- the viewport dimensions are the same as the dimensions of the maximum physical display region of the display 110.
- the viewport may alternatively be defined by a window assigned by the device operating system 134 to the application presenting the webpage for display.
- the application window may be of variable size, and may be sized to be smaller than the dimensions of the rendered webpage.
- the content of a webpage is in fact greater in dimension than the viewport available for displaying the webpage on the display 110.
- the content of the webpage may be visible at a given time; typically, the user is able to scroll to those non-visible portions of the webpage.
- Some browsers 155 and/or associated mobile data servers may compensate for this problem by proactively reducing the display dimensions of the webpage or its components to fit within the bounds of the viewport, either prior to delivery of webpage data to the electronic device 100 or prior to outputting the processed webpage to the display 110, so that when the webpage is displayed on the display 110, scrolling is not required.
- scaling the webpage in this manner can reduce the display size of the various elements of the webpage below a desirable or legible size.
- the display resolution of the display 110 may render that content illegible or smaller than desired. It may also simply be the case that the user wishes to enlarge a portion of a displayed webpage to inspect it in more detail. In these instances, a zoom or scaling instruction may be invoked to enlarge at least a region of the displayed webpage.
- the zoom or scaling instruction can be executed at the electronic device 100 in response to a received user command, which can be input by means of one or more user input devices or interfaces, including without limitation the keyboard 116, display 110 where it includes a touchscreen interface, microphone 120, trackball, buttons, trackpad, scroll wheel, optical joystick, rocker switch, and the like which may be external to or integrated with the electronic device 100.
- a zoom mode may be entered, and in this mode manipulation of a user input device (such as movement across a trackpad in a particular direction) may be correlated to an increase or decrease in scale.
- a "pinch” gesture in which the user touches two fingers to the touchscreen surface and either spreads the fingers or brings them together while maintaining contact with the screen, can be interpreted as a command to enlarge or decrease the currently displayed size of the displayed item.
- Some scaling commands may include a parameter indicating the degree to which the image is to be enlarged or reduced; the length or duration of the detected touch event, for example, may be correlated to an amount by which the displayed item is to be enlarged or reduced. Variations of zoom commands, and means of detecting such commands by an electronic device, will be known to those skilled in the art.
- the scaling command may be applied to a selected or previously designated part of the item displayed on the display 110, whether expressly selected by the user (for example as part of the input command) or not.
- the scaling command can be initiated by the user moving a displayed cursor over a desired element or region of the displayed item, and actuating the user input device (e.g., clicking a button, pressing down on a trackpad, etc.).
- These actions may be combined in a single detected touch or gesture, or sequence of touches or gestures (e.g., the user double-tapping on a touchscreen at a position corresponding to a particular element or other point of the displayed item).
- the selected element or region may then be designated as the centre or target of the scaling process to be executed, and once the displayed item is enlarged (if the scaling command is a command to enlarge the selected element or region) at least part of this selected element or region will remain visible on the display 110.
- FIG. 3A illustrates an example of a webpage or other document displayed on a display 110, which may be integrated with the electronic device 100.
- a webpage (or other structured document) may include a number of components.
- the webpage may contain zero, one or more elements including content elements (e.g., text, hyperlinks, graphics, user interface elements, video, animation, and the like, as well as containers for containing one or more of the aforementioned elements).
- a header section of the document typically contains document parameters and descriptions, scripts, formatting instructions, and other instructions or definitions globally applying to the document.
- the body typically includes content that is processed for display to the user, in accordance with any applicable instructions or definitions contained in the header, together with other instructions or directives provided in associated files that may be provided to the electronic device 100 together with the webpage document itself.
- Instructions or directives may include formatting of text, such as text or font size (which may be expressed a number of ways, for example as a size expressed in points, ems, pixels, and the like) and text and other element alignment.
- Alignment in the particular example of a webpage, may be applied specifically to lines of text, as in a paragraph element or heading element.
- style directives that can be applied to lines of text in this context include CSS directives defining text alignment attributes such as ⁇ text-align: left; ⁇ , ⁇ text-align: center; ⁇ , and ⁇ text-align: right; ⁇ , which apply a left alignment, center alignment, and right alignment to text content in an element, respectively.
- the alignment of an element itself within the document, or within a containing element may also be specified by instructions or directives.
- a block element such as a fixed-width block
- image element may be centered by defining left and right margin attributes with an "automatic" value (such as ⁇ margin-left: auto; margin-right: auto;), which causes the layout engine 222 to compute the left and right margins to be equal, with the result that the element is centered horizontally within the page or containing element.
- an "automatic" value such as ⁇ margin-left: auto; margin-right: auto;
- Default values for text or other element size and/or alignment may be applied by the browser 155 or other application in the absence of any express instructions or directives provided in or for the webpage or other structured document, or alternatively the browser or other application may be configured to override any instructions or directives provided in favour of default or pre-set formatting.
- This base directionality value defines the inline direction of text, e.g. whether the text runs from left to right, as in English and other Latin/Indic languages, or from right to left.
- overall block flow i.e., the direction of flow of subsequent blocks of content, such as subsequent paragraphs
- a particular directionality can be applied by default by the browser or other application rendering the webpage if no such overall page direction is explicitly defined for the document.
- the default value may be determined by localization settings provided for the application. Whether set expressly or by default, overall page directionality can be used to determine the alignment of the rendered document in the viewport when it is initially displayed, as explained below.
- the webpage 300 illustrated in FIG. 3A occupies most of the available display area of the display 110 of the electronic device 100.
- a title bar 310 is also displayed, which contains content from metadata extracted from the webpage header.
- the title bar 310 and its contents thus do not form part of the body of the webpage or any of the displayable elements from 321to 333 described below.
- the title bar 310 may be displayed by default with every webpage view on the device 100, but in some embodiments, the title bar 310 may be omitted or hidden. However, it will be appreciated that in this case, since the title bar 310 is displayed, the available display area for the webpage 300 in FIG. 3A (in other words, the viewport) is the maximum display area of the display 110 less the area occupied by the title bar 310.
- the webpage 300 includes a number of elements of different types, including text elements (e.g., paragraph blocks) 323, 325, 326, 329, 331, 332; headings 321; and images 322, 328, 330.
- select elements 323, 324, 325, 326 and 327 are themselves contained within a further element 333, such as a ⁇ div> element.
- the layout of these various elements and their positioning with respect to each other and the available display area within the webpage 300 may be defined by instructions embedded in the webpage itself, or provided in files associated with the webpage (such as CSS files). The same sources may also provide the instructions and directives for alignment and other formatting of the individual elements.
- select elements may contain text or other content that is below a desired size for legibility; for example, the text in text element 329 is visibly smaller than the text of blocks 323 or 326.
- the elements 321 - 333 of the webpage 300 include content with a number of different alignments of the types described above.
- FIG. 3B a schematic diagram of the same webpage is shown indicating the different alignment types. Images 322 and 330 are left-aligned; the remaining image 328 is centered within a containing element.
- the position of the container element 333 and the container of the centered image 328, in the same horizontal row as the first left-aligned image 322, with the remaining elements provided in a horizontal row below, may be the result of default flow rules applied when the webpage is rendered.
- the images 324 and 327 are left-aligned, as is the text block 326.
- the remaining text blocks or elements 323, 325 are centered.
- the text blocks 329 and 331 are right-aligned, while the remaining block 332 is left-aligned text.
- the entirety of the webpage 300 in this schematic is encapsulated in rectangle 375, which denotes the available viewport referenced above.
- the entire viewport in this example, is filled with a first view of the rendered webpage 300.
- the content of the webpage 300 as initially displayed (as in FIG. 3A ) fills the width of the viewport 375, and overall page directionality settings (in this example, the overall direction is set expressly or by default as left-to-right) result in aligning viewport so that the viewport's left bound (left-hand edge) is at the left bound (left-hand edge) of the rendered webpage.
- a scaling command is received while the webpage 300 is displayed.
- the command is represented in FIG. 3B by the magnifying glass icon 350, which may represent a zoom in instruction (the magnifying glass may also represent a zoom out instruction in some embodiments).
- the icon 350 is positioned over the right-aligned text block 329.
- a scaling instruction is invoked at the electronic device 100 for that selected element.
- FIG. 4A A possible first response to the scaling instruction is illustrated in FIG. 4A , in which only a portion 400a of the webpage 300 is now shown.
- the single element 329 is enlarged so that its bounds fit the viewport 372 (not shown in FIG. 4A ).
- the enlarged element is indicated as 429.
- the text content itself is also enlarged.
- the rendered webpage is already stored at the electronic device 100 as an image file, the image can be retrieved and the scaling instruction initially applied to this image file.
- the data initially outputted to the display interface 103 for display on the display 110 in response to the scaling instruction can be an enlarged view of the image file, which can be retrieved from memory and enlarged relatively quickly for display, thus providing a faster perceived response time to the user.
- the layout engine 222 may receive a magnification factor or target size for the element 329/429 and can then re-render this portion of the webpage accordingly.
- the newly rendered version may be output to the display interface 103 to replace the zoomed image.
- FIG. 4B A schematic representation of the zoomed element 429 is shown in FIG. 4B .
- the element 429 is positioned in the viewport 375.
- the left-hand side (i.e. the leftmost bound) of the zoomed element 429 is aligned with the left-hand side or bound of the viewport 375, and in particular, the upper left-hand corner of the viewport 375 is aligned with the upper left-hand corner of the element 429, as indicated by point 410.
- This alignment is consistent with practice adopted to support left-to-right writing systems.
- the zoomed element 429 is almost coincident with the viewport 375, since it was adjusted to have a width matching the width of the viewport 375, and because the height of the zoomed element 429 is coincidentally close to the height of the viewport 375.
- a small portion of the element 429 extends beyond the viewport (at the bottom of the viewport); only that portion that intersects the viewport 375 is actually displayed in FIG. 4A .
- the text size is likewise increased.
- the increase in text size may be approximately proportional to the increase in element size from 329 to 429.
- this level of scaling or zooming is insufficient to render the text at a size that is sufficiently legible.
- a further scaling may be applied as shown in FIGS. 5A and 5B . This further scaling may be invoked in response to a further user command, or it may occur automatically upon determination that the initial zoom response was insufficient to enlarge the text to a threshold size.
- the threshold or minimum text size may be predetermined in the browser application 155 code, or alternatively may be a user-definable setting.
- the element may be further zoomed to a further enlarged size 529, at which point the text size meets or exceeds a minimum size.
- the scaled element 529 (and optionally a scaled version of the flat image file generated from the originally rendered version of the webpage 300) is outputted to the display interface 103 for display.
- the scaled element 529 dimensions do not match the viewport 375 dimensions; indeed, the element 529 now extends horizontally and vertically beyond the bounds of the viewport 375.
- the portion of the element 529 that intersects the viewport 375 will be output to the display 110, as can be seen in FIG. 5B .
- the portion of the element 529 that intersects the viewport is determined by the alignment or positioning of the viewport 375 with its upper left-hand corner at the upper left-hand corner of the zoomed element 529, as illustrated by point 510.
- the position of the viewport 375 is determined by a dominant alignment of the region selected for the scaling instruction.
- the region may be an area of predetermined dimension (as will be discussed below with reference to FIG. 7 ), or may be a single element or group of elements, or portions of an element or elements.
- the region is a single element 329 (as indicated in FIG. 3A and 3B , illustrating the element 329 at its original size).
- the dominant alignment of the region is accordingly the dominant alignment of the element 329, as may be determined from the instructions or directives applied to the element to format its contents or its position in the container.
- the dominant alignment is right, given that the text content of the element 329 is right-aligned. Therefore, as shown in FIG. 6A , the viewport 375 is positioned so that its rightmost bound matches the rightmost bound of the enlarged element 629, and its upper right-hand corner matches the upper right-hand corner of the element 629, as indicated by point 610.
- the dominant alignment may thus result in a different alignment of the viewport 375 on the rendered webpage or region from the original alignment of the viewport on the initial, pre-scaling, display of the webpage.
- the position of the viewport 375 on the rendered webpage was defined by aligning the left bounds of the viewport and the webpage in view of the overall directionality settings for the webpage (left-to-right).
- the overall directionality settings for the webpage will not necessarily determine the alignment of the viewport 375 with the enlarged element 629; in FIG. 6A , the right bounds of the viewport and the enlarged element 629 were aligned instead.
- the text content in the element 629 is reflowed so that it fits within the width of the viewport 375, even though the block in which text can be placed in the element 629 itself has been scaled to a size that exceeds the dimensions of the viewport 375.
- the element 629 is resized to a greater height to accommodate the reflowed text, which now occupies more lines than previously.
- the reflowing of text may be accomplished by the layout engine 222 while re-rendering the webpage or region thereof, using techniques known in the art.
- FIGS. 4A and 4B illustrate an initial zoom response resulting in the first zoom size of element 429, it will be understood by those skilled in the art that this interim stage may be bypassed when executing the received command.
- FIGS. 4A and 4B illustrate, however, that in the event of repeated scaling of a region of a webpage, the dominant alignment need not be applied to the position of the viewport until the element that is the target of the scaling command exceeds the size of the viewport 375.
- FIG. 7 illustrates again the schematic representation of the webpage 300, this time with a selected region 700 for zooming that encompasses some elements 326, 327 in their entirety, and other elements 324, 325, 329, 330 (and the container element 333) only in part.
- This may occur where the icon 350 is positioned such that it is not directly over a specific content element such as a text block or image (or other content, such as embedded content, hyperlink, and the like), but is positioned over the background of the webpage, a containing element, or a margin or region for which no content is defined.
- the electronic device 100 upon detecting a scaling command referencing such a position as a reference or target for the scaling instruction, may be configured to select a surrounding region as the target.
- the selected region is defined such that the icon 350 or reference point is positioned at its center.
- a determination of the dominant alignment of the selected region may be determined either by identifying a dominant element within the region and assuming that dominant element's alignment as the dominant alignment, or alternatively by identifying a dominant alignment for the entire region itself.
- the dominant element may be determined according to rules setting out a hierarchy of user-relevant content elements; for example, a text element may be considered to be more "important" than an image element, and so the text element would be chosen as the dominant element.
- the first text element occurring within the region 700 may therefore be chosen as the dominant element.
- the dominant element would be the centered text element 325.
- the dominant alignment may therefore correspond to the alignment of one or more of a plurality of elements included in the region; at the same time, though, it may not correspond to the alignment of others of the plurality of elements.
- the dominant element may be defined as the first element within the hierarchical arrangement of elements within the webpage that is completely contained within the region 700.
- the first element completely contained within the region 700 is the left-aligned text block 326.
- Still a further rule may be to select the single element that is closest to the reference point (i.e., the center of the region 700), optionally with preference given to text content.
- Other rules and algorithms for identifying a dominant element within the region 700 will be known to those skilled in the art. For example, each of the content elements within the region may be assessed according to valuation rules used to determine the "meaningfulness" of the content; a paragraph of text, for example, may be considered to be more meaningful to a user than a small image, or a series of hyperlinks. The element with the most "meaningful" content would then be selected as the dominant element.
- one or more elements within the document can be expressly identified as a "dominant" or "important" element through a specific attribute set for that element, or another element attribute used to define a relative stacking or navigation order of the element within the document may be used to identify the dominant element. For example, if a tabindex value (which is used to set the tab or navigation order of elements within an HTML document) is set for one or more elements within the region 700, that element with the lowest value may be selected as the dominant element.
- a tabindex value which is used to set the tab or navigation order of elements within an HTML document
- a dominant alignment for the region may be identified. This may be accomplished by simply determining which alignment type is most prevalent in the elements captured in whole or in part in the region 700. Prevalence may be assessed by a simple count of the number of instances of left-, right- and center alignment, or may in some cases be weighted according to the type of content (text content may be weighted more than image content).
- the dominant alignment is determined-either as the alignment of the element identified as dominant, or as an overall alignment of the entire region-the dominant alignment is used to determine the alignment of the viewport 375 with the scaled region 700. If the dominant alignment is a right alignment (as may be the case with right-to-left direction text or an express or implied directive for right alignment, then the viewport is aligned at its upper right-hand corner with the upper right-hand corner of the scaled region 700. If the dominant alignment is a left alignment (which is frequently a default alignment), then the viewport is aligned at its upper left-hand corner with the upper left-hand corner of the scaled region 700. If the dominant alignment is centered, then the viewport is aligned such that the center of its upper bound is coincident with the center of the upper bound of the scaled region 700.
- the formatting of element content is such that the content is positioned at the top or relative to the top of the element; hence the alignment of the viewport with the upper corners or upper bound of the scaled region 700.
- the dominant alignment may include a vertical component, such as top, middle, or bottom; vertical alignment can also be defined in instructions or style directives provided for the webpage.
- the alignment of the viewport may be determined accordingly, and other appropriate viewport alignments may include bottom-right, bottom-left, bottom-center (i.e., points along the bottom bound of the viewport and scaled element), and middle-right, middle-left, and middle-center (i.e., points along the vertical midpoint of the viewport and scaled element).
- FIGS. 8A to 8C illustrate an example where the alignment is centered in an embodiment of a portrait-oriented display, rather than the landscape-oriented display of FIGS. 3A-7 .
- the webpage 800 displayed in the display 110 includes three text blocks 810, 820, 830; element 830, in particular, includes centered text. As indicated by the icon 350, this latter element is also selected in association with a scaling command.
- FIG. 8B illustrates an effect of enlarging the element 830 to zoomed element 840, which includes text with a larger font size, and still centered.
- the enlarged text has also been reflowed to fit with the horizontal bounds of the viewport 875.
- the viewport 875 is aligned with the element 840 at their upper left-hand corners as indicated by point 880.
- the text content is in fact sized and reflowed to fit within the viewport 875, the text actually runs beyond the bounds of the viewport 875.
- the dominant alignment of the element is determined (i.e.
- the viewport may be aligned such that the center point of its upper bound matches the center point of the element's upper bound, as indicated by point 890; the entirety of the enlarged text content now fits within the horizontal bounds of the viewport 875.
- the portion of the zoomed element 840 intersecting the viewport 875 is displayed, horizontal scrolling is not required to view all the text content.
- FIGS. 9 and 10 illustrate methods that may be followed in accordance with the embodiments described above.
- a structured document such as a webpage
- This initial display of the structured document may be at its original, scaled size (i.e., a default magnification of 100%) or at a default scaled size other than the original size.
- the viewport is aligned with the document according to an initial setting. For example, where localization settings prescribe a default left-to-right text direction, or express directives set a left-to-right text direction, at 900 the structured document is initially displayed so that the document's left-hand bound is aligned with the left-hand side of the viewport.
- the bounds of the structured document may also be aligned with other bounds of the viewport as appropriate in dependence on the overall page directionality of the document.
- a zoom or scaling instruction is detected.
- the region for scaling is determined; as noted above, this region may comprise a single element, a group of elements, or a number of elements and/or portions of elements.
- a dominant alignment of the region is determined, and then the region is scaled at 940. Any text content within the element(s) of the region may then be reflowed if necessary at 950, and then a portion of the scaled region is selected for display based on the dominant alignment thus determined at 960.
- This portion of the scaled region is, as described above, determined based on the position of the viewport when aligned with the scaled region according to the dominant alignment, and as noted above, the alignment of the viewport on the scaled region may not be the same as the initial alignment of the viewport on the structured document as initially displayed at 900. Finally, at 970, the portion of the scaled region is sent for display.
- FIG. 10 illustrates a method where there may be one or more intermediate iterations of scaling before a final scaled size is determined.
- a structured document is displayed.
- a zoom or scaling instruction is detected.
- the region for scaling is determined, and the region is scaled at 1030.
- it is determined whether any text contained in the region is at a required minimum size. If it is not, the scaling instruction is repeated. If the text is at a minimum size, then it is reflowed as necessary at 1050.
- the dominant alignment of the region is then determined at 1060; the flowcharts of FIGS. 9 and 10 thus illustrate that the order of select steps in these methods need not follow the order depicted in the drawings.
- the portion of the scaled region is selected for display based on the dominant alignment thus determined at 1070 as described above, and finally this portion is sent to the display at 1080.
- a method implemented by an electronic device comprising: receiving an instruction to scale a region of a displayed structured document, the region including at least one element or a portion thereof; in response to the received instruction: identifying a dominant alignment of the region; scaling the region; and outputting to a display interface a portion of the scaled region intersecting a viewport defined for a display, the viewport being aligned with the scaled region according to the dominant alignment.
- the viewport when the structured document is initially displayed, the viewport is aligned with the structured document according to an initial alignment different from the alignment of the viewport with the scaled region.
- the dominant alignment is an alignment of a dominant element of the at least one element or portion thereof.
- identifying the dominant alignment comprises identifying the dominant element according to a hierarchy of elements or an attribute of the dominant element.
- the region comprises a plurality of elements or portions of elements, and identifying the dominant alignment comprises determining a prevalent alignment among the plurality of elements or portions of elements.
- the dominant alignment is determined by a text alignment.
- scaling the region may comprise magnifying the region, and may further comprise increasing a text size of text content of the at least one element or portion thereof, and/or reflowing the text content to fit within bounds of the viewport.
- the instruction includes an indication of the region to be scaled.
- the structured document can be a webpage; the dominant alignment can be either a right alignment or a center alignment; and/or the viewport can be defined as either a maximum physical display region of the display or an application window displayed on the display.
- a method implemented by an electronic device comprising: receiving an instruction to display a structured document, the structured document including at least one element and comprising left-to-right direction text; rendering the structured document or a portion thereof for display; outputting to a display interface that portion of the rendered structured document or region intersecting a viewport defined for a display, the viewport being aligned with the rendered structured document or portion thereof according to an initial alignment determined for the structured document; receiving an instruction to scale a region of the displayed structured document or portion thereof, the region including at least one element comprising text content, the instruction defining the region; identifying a dominant alignment of the region, the dominant alignment being determined by an alignment of the text content, the dominant alignment being either right-aligned or centered; scaling the region; reflowing the text content to fit within bounds of the viewport; and outputting to the display interface a portion of the scaled region intersecting the viewport, the viewport being aligned with the scaled region according to the dominant alignment such that this alignment of the viewport is different
- the electronic device includes hardware modules, software modules, or a combination thereof for implementing the various features of these methods and variations, such as a display module, communication module, processing module, and so forth.
- the electronic device may include: a display interface; and a processor in communication with the display interface, the processor being capable of: receiving an instruction to scale a region of a displayed structured document, the region including at least one element or a portion thereof; in response to the received instruction: identifying a dominant alignment of the region; scaling the region; and outputting to the display interface a portion of the scaled region intersecting a viewport defined for a display, the viewport being aligned with the scaled region according to the dominant alignment.
- the processor may thus be adapted to carry out the various further examples and variations described above.
- an electronic device or computer-readable medium which may be physical or non-transitory, bearing code which, when executed by an appropriate device, causes the device to implement the methods and variations described herein.
- the systems' and methods' data may be stored in one or more data stores.
- the data stores can be of many different types of storage devices and programming constructs, such as RAM, ROM, flash memory, programming data structures, programming variables, etc. It is noted that data structures describe formats for use in organizing and storing data in databases, programs, memory, or other computer-readable media for use by a computer program.
- Code adapted to provide the systems and methods described above may be provided on many different types of computer-readable media including computer storage mechanisms (e.g., CD-ROM, diskette, RAM, flash memory, computer's hard drive, etc.) that contain instructions for use in execution by a processor to perform the methods' operations and implement the systems described herein.
- computer storage mechanisms e.g., CD-ROM, diskette, RAM, flash memory, computer's hard drive, etc.
- an engine, application, module or processor includes but is not limited to a unit of code that performs a software operation, and can be implemented for example as a subroutine unit of code, or as a software function unit of code, or as an object (as in an object-oriented paradigm), or as an applet, or in a computer script language, or as another type of computer code.
- the various functional units may be implemented in hardware circuits comprising custom VLSI circuits or gate arrays; field-programmable gate arrays; programmable array logic; programmable logic devices; commercially available logic chips, transistors, and other such components.
- Modules implemented as software for execution by a processor or processors may comprise one or more physical or logical blocks of code that may be organized as one or more of objects, procedures, or functions. The modules need not be physically located together, but may comprise code stored in different locations, such as over several memory devices, capable of being logically joined for execution. Modules may also be implemented as combinations of software and hardware, such as a processor operating on a set of operational data or instructions.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- User Interface Of Digital Computer (AREA)
- Controls And Circuits For Display Device (AREA)
Claims (14)
- Procédé mis en œuvre par un dispositif électronique, le procédé comprenant :la réception d'une instruction de mise à l'échelle d'une région d'un document structuré affiché, la région comprenant au moins un élément ou une partie de celui-ci ;en réponse à l'instruction reçue :l'identification d'un alignement dominant de la région ; l'alignement dominant étant un alignement d'une image dominante dans la région ou un alignement de texte à l'intérieur d'un bloc de texte dominant dans la région ;la mise à l'échelle de la région ; etla production en sortie sur une interface d'affichage d'une partie de la région mise à l'échelle croisant une clôture définie pour un affichage, la clôture étant alignée avec la région mise à l'échelle selon l'alignement dominant lorsqu'elle croise la région mise à l'échelle.
- Procédé selon la revendication 1, dans lequel lorsque le document structuré est affiché au départ, la clôture est alignée avec le document structuré selon un alignement initial différent de l'alignement de la clôture avec la région mise à l'échelle.
- Procédé selon la revendication 1 ou 2, dans lequel l'identification de l'alignement dominant comprend l'identification de l'élément dominant selon une hiérarchie d'éléments ou un attribut de l'élément dominant.
- Procédé selon la revendication 1 ou 2, dans lequel la région comprend une pluralité d'éléments ou de parties d'éléments, et l'identification de l'alignement dominant comprend la détermination d'un alignement prédominant parmi la pluralité d'éléments ou de parties d'éléments.
- Procédé selon l'une quelconque des revendications 1 à 4, dans lequel l'alignement dominant est déterminé par un alignement de texte.
- Procédé selon l'une quelconque des revendications 1 à 5, dans lequel la mise à l'échelle de la région comprend le grossissement de la région.
- Procédé selon l'une quelconque des revendications 1 à 6, dans lequel la mise à l'échelle de la région comprend l'augmentation d'une taille de texte de contenu textuel de l'au moins un élément ou d'une partie de celui-ci.
- Procédé selon la revendication 7, dans lequel la mise à l'échelle de la région comprend en outre la refonte du contenu textuel pour qu'il rentre dans les limites de la clôture.
- Procédé selon l'une quelconque des revendications 1 à 8, dans lequel l'instruction comprend une indication de la région à mettre à l'échelle.
- Procédé selon l'une quelconque des revendications 1 à 9, dans lequel le document structuré est une page Internet.
- Procédé selon l'une quelconque des revendications 1 à 10, dans lequel l'alignement dominant est soit un alignement à droite soit un alignement au centre.
- Procédé selon l'une quelconque des revendications 1 à 11, dans lequel la clôture est définie comme une région d'affichage physique maximale de l'affichage ou une fenêtre d'application affichée sur l'affichage.
- Procédé selon la revendication 1, dans lequel le document structuré comprend un texte de gauche à droite et l'alignement dominant est soit aligné à droite soit centré, le procédé comprenant en outre la réception initiale d'une instruction d'affichage du document structuré, et en réponse à l'instruction d'affichage du document structuré, la représentation du document structuré ou d'une partie de celui-ci pour affichage et la production en sortie sur l'interface d'affichage de cette partie du document structuré représenté ou de la partie de celui-ci croisant la clôture, la clôture étant alignée avec le document ou la région structuré représenté selon un alignement initial déterminé pour le document structuré qui est différent de l'alignement de la clôture selon l'alignement dominant.
- Dispositif électronique conçu pour exécuter le procédé selon l'une quelconque des revendications 1 à 13.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201161557121P | 2011-11-08 | 2011-11-08 |
Publications (2)
Publication Number | Publication Date |
---|---|
EP2592574A1 EP2592574A1 (fr) | 2013-05-15 |
EP2592574B1 true EP2592574B1 (fr) | 2020-03-18 |
Family
ID=46633992
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP12173135.0A Active EP2592574B1 (fr) | 2011-11-08 | 2012-06-22 | Zoom de bloc amélioré sur un dispositif électronique mobile |
Country Status (3)
Country | Link |
---|---|
US (1) | US9824137B2 (fr) |
EP (1) | EP2592574B1 (fr) |
CA (1) | CA2781298C (fr) |
Families Citing this family (23)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8522158B2 (en) * | 2010-10-19 | 2013-08-27 | Apple Inc. | Systems, methods, and computer-readable media for providing a dynamic loupe for displayed information |
US9576049B2 (en) * | 2012-12-21 | 2017-02-21 | Microsoft Technology Licensing, Llc | Semantic searching using zoom operations |
US9224228B1 (en) * | 2013-03-15 | 2015-12-29 | Google Inc. | Data presentation |
KR102187867B1 (ko) * | 2013-07-09 | 2020-12-07 | 삼성전자 주식회사 | 휴대단말기의 정보 처리 장치 및 방법 |
JP6102588B2 (ja) * | 2013-07-10 | 2017-03-29 | ソニー株式会社 | 情報処理装置、情報処理方法およびプログラム |
US20150116284A1 (en) * | 2013-10-24 | 2015-04-30 | Livescribe Inc. | Smart Zooming of Content Captured by a Smart Pen |
US9329761B2 (en) | 2014-04-01 | 2016-05-03 | Microsoft Technology Licensing, Llc | Command user interface for displaying and scaling selectable controls and commands |
US9614724B2 (en) | 2014-04-21 | 2017-04-04 | Microsoft Technology Licensing, Llc | Session-based device configuration |
US9384335B2 (en) | 2014-05-12 | 2016-07-05 | Microsoft Technology Licensing, Llc | Content delivery prioritization in managed wireless distribution networks |
US9430667B2 (en) | 2014-05-12 | 2016-08-30 | Microsoft Technology Licensing, Llc | Managed wireless distribution network |
US10111099B2 (en) | 2014-05-12 | 2018-10-23 | Microsoft Technology Licensing, Llc | Distributing content in managed wireless distribution networks |
US9384334B2 (en) | 2014-05-12 | 2016-07-05 | Microsoft Technology Licensing, Llc | Content discovery in managed wireless distribution networks |
US9874914B2 (en) | 2014-05-19 | 2018-01-23 | Microsoft Technology Licensing, Llc | Power management contracts for accessory devices |
US10037202B2 (en) | 2014-06-03 | 2018-07-31 | Microsoft Technology Licensing, Llc | Techniques to isolating a portion of an online computing service |
US9367490B2 (en) | 2014-06-13 | 2016-06-14 | Microsoft Technology Licensing, Llc | Reversible connector for accessory devices |
US9614900B1 (en) * | 2014-06-19 | 2017-04-04 | Amazon Technologies, Inc. | Multi-process architecture for a split browser |
US10248630B2 (en) * | 2014-12-22 | 2019-04-02 | Microsoft Technology Licensing, Llc | Dynamic adjustment of select elements of a document |
US20160179756A1 (en) * | 2014-12-22 | 2016-06-23 | Microsoft Technology Licensing, Llc. | Dynamic application of a rendering scale factor |
JP6579905B2 (ja) * | 2015-01-29 | 2019-09-25 | キヤノン株式会社 | 情報処理装置、情報処理装置の表示制御方法、及びプログラム |
JP6930787B2 (ja) * | 2017-10-12 | 2021-09-01 | Fcnt株式会社 | 表示装置、表示制御方法、及び表示制御プログラム |
US10901879B2 (en) * | 2018-05-02 | 2021-01-26 | TestCraft Technologies LTD. | Method and apparatus for automatic testing of web pages |
US10937127B2 (en) | 2018-08-13 | 2021-03-02 | International Business Machines Corporation | Methods and systems for managing text in rendered images |
CN113157275B (zh) * | 2021-05-25 | 2023-09-08 | 网易(杭州)网络有限公司 | 帧动画的渲染方法、装置、电子设备及存储介质 |
Family Cites Families (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0121015B1 (fr) * | 1983-03-31 | 1990-03-07 | International Business Machines Corporation | Gestion de l'espace de présentation et visualisation dans une partie déterminée de l'écran d'un appareil terminal virtuel à fonctions multiples |
US5754873A (en) * | 1995-06-01 | 1998-05-19 | Adobe Systems, Inc. | Method and apparatus for scaling a selected block of text to a preferred absolute text height and scaling the remainder of the text proportionately |
US6346938B1 (en) | 1999-04-27 | 2002-02-12 | Harris Corporation | Computer-resident mechanism for manipulating, navigating through and mensurating displayed image of three-dimensional geometric model |
AUPQ439299A0 (en) * | 1999-12-01 | 1999-12-23 | Silverbrook Research Pty Ltd | Interface system |
US7219309B2 (en) * | 2001-05-02 | 2007-05-15 | Bitstream Inc. | Innovations for the display of web pages |
EP1393189A4 (fr) | 2001-05-02 | 2007-06-13 | Bitstream Inc | Procedes, systemes et programmation permettant d'afficher des contenus reduits a l'aide d'un facteur d'echelle variable |
US6950993B2 (en) | 2001-08-02 | 2005-09-27 | Microsoft Corporation | System and method for automatic and dynamic layout of resizable dialog type windows |
US7193609B2 (en) | 2002-03-19 | 2007-03-20 | America Online, Inc. | Constraining display motion in display navigation |
US7051040B2 (en) | 2002-07-23 | 2006-05-23 | Lightsurf Technologies, Inc. | Imaging system providing dynamic viewport layering |
US20040183817A1 (en) * | 2002-12-03 | 2004-09-23 | Bitstream Inc. | Methods, systems, and programming for scaled display of web pages |
US7516402B2 (en) | 2005-02-28 | 2009-04-07 | Nokia Corporation | Presentation of large objects on small displays |
US7415666B2 (en) | 2005-03-04 | 2008-08-19 | Microsoft Corporation | Method and system for navigating paginated content in page-based increments |
US7412647B2 (en) * | 2005-03-04 | 2008-08-12 | Microsoft Corporation | Method and system for laying out paginated content for viewing |
US8564544B2 (en) | 2006-09-06 | 2013-10-22 | Apple Inc. | Touch screen device, method, and graphical user interface for customizing display of content category icons |
US9128596B2 (en) * | 2006-09-22 | 2015-09-08 | Opera Software Asa | Method and device for selecting and displaying a region of interest in an electronic document |
US8749587B2 (en) * | 2008-01-28 | 2014-06-10 | Fuji Xerox Co., Ltd. | System and method for content based automatic zooming for document viewing on small displays |
KR20100135854A (ko) | 2008-04-15 | 2010-12-27 | 오페라 소프트웨어 에이에스에이 | 전자 문서의 선택 영역 표시 시 텍스트의 동적 래핑 방법 및 장치 |
US8869015B2 (en) * | 2008-05-08 | 2014-10-21 | Dialogic (Us) Inc. | System and method to permit language independence for web interfaces |
CA2722833A1 (fr) | 2008-07-29 | 2010-02-04 | Research In Motion Limited | Procede et systeme de rendu d'une representation d'une page internet sur un dispositif d'affichage |
CN102197350B (zh) | 2008-09-10 | 2014-12-03 | Opera软件股份公司 | 用于在用户代理中提供手指触摸层的方法和设备 |
US20100271288A1 (en) * | 2009-04-24 | 2010-10-28 | Sudharshan Srinivasan | Automatic synchronized scaling of views during application sharing |
CA2728361A1 (fr) | 2009-04-29 | 2010-11-04 | Torch Mobile Inc. | Memoire de sauvegarde en mosaique a base de logiciel |
US20110035274A1 (en) * | 2009-08-04 | 2011-02-10 | Google Inc. | Determining Impressions for Mobile Devices |
US9086756B2 (en) | 2009-11-18 | 2015-07-21 | Opera Software Asa | Snapping to text columns while scrolling |
US20110202829A1 (en) | 2010-02-12 | 2011-08-18 | Research In Motion Limited | Method, device and system for controlling a display according to a defined sizing parameter |
US8522158B2 (en) * | 2010-10-19 | 2013-08-27 | Apple Inc. | Systems, methods, and computer-readable media for providing a dynamic loupe for displayed information |
US20120311487A1 (en) * | 2011-05-31 | 2012-12-06 | George Ross Staikos | Automatically wrapping zoomed content |
US20130067390A1 (en) * | 2011-09-09 | 2013-03-14 | Paul J. Kwiatkowski | Programming Interface for Semantic Zoom |
-
2012
- 2012-06-22 CA CA2781298A patent/CA2781298C/fr active Active
- 2012-06-22 EP EP12173135.0A patent/EP2592574B1/fr active Active
- 2012-06-22 US US13/530,411 patent/US9824137B2/en active Active
Non-Patent Citations (1)
Title |
---|
None * |
Also Published As
Publication number | Publication date |
---|---|
EP2592574A1 (fr) | 2013-05-15 |
US20130117658A1 (en) | 2013-05-09 |
US9824137B2 (en) | 2017-11-21 |
CA2781298A1 (fr) | 2013-05-08 |
CA2781298C (fr) | 2017-01-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2592574B1 (fr) | Zoom de bloc amélioré sur un dispositif électronique mobile | |
US9311426B2 (en) | Orientation-dependent processing of input files by an electronic device | |
US10984169B2 (en) | Systems, methods, and computer-readable media for providing a dynamic loupe for displayed information | |
US20130111330A1 (en) | Accelerated compositing of fixed position elements on an electronic device | |
US10289661B2 (en) | Generating a cover for a section of a digital magazine | |
US9886519B2 (en) | Methods and systems for adjusting webpage layout | |
US10460014B2 (en) | Scrolling in large hosted data set | |
EP2508986B1 (fr) | Gestion de mémoire de sauvegarde pour le rendu des sous-régions de page Web déroulantes | |
US7581176B2 (en) | Document display system and method | |
US20120096344A1 (en) | Rendering or resizing of text and images for display on mobile / small screen devices | |
US20150363366A1 (en) | Optimized document views for mobile device interfaces | |
US10740540B2 (en) | Techniques for programmatic magnification of visible content elements of markup language documents | |
US20140006986A1 (en) | Responsive graphical user interface | |
KR20140040833A (ko) | 고정 레이아웃 전자 출판 | |
US20090313574A1 (en) | Mobile document viewer | |
CN107533568B (zh) | 确定应用缩放等级的系统和方法 | |
WO2012058226A1 (fr) | Utilisation de la structure d'un document pour fournir une pagination animée | |
KR20160084629A (ko) | 콘텐트 표시 방법 및 이를 구현하는 전자 장치 | |
AU2009100391A4 (en) | Document Display (Screen Reading) System and Method No.2 | |
CA2756539A1 (fr) | Composition acceleree d'elements en position fixe sur un dispositif electronique |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
17P | Request for examination filed |
Effective date: 20120622 |
|
AK | Designated contracting states |
Kind code of ref document: A1 Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR |
|
AX | Request for extension of the european patent |
Extension state: BA ME |
|
RAP1 | Party data changed (applicant data changed or rights of an application transferred) |
Owner name: BLACKBERRY LIMITED |
|
RAP1 | Party data changed (applicant data changed or rights of an application transferred) |
Owner name: BLACKBERRY LIMITED |
|
17Q | First examination report despatched |
Effective date: 20160212 |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: EXAMINATION IS IN PROGRESS |
|
REG | Reference to a national code |
Ref country code: DE Ref legal event code: R079 Ref document number: 602012068521 Country of ref document: DE Free format text: PREVIOUS MAIN CLASS: G06F0017300000 Ipc: G06F0016340000 |
|
GRAP | Despatch of communication of intention to grant a patent |
Free format text: ORIGINAL CODE: EPIDOSNIGR1 |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: GRANT OF PATENT IS INTENDED |
|
RIC1 | Information provided on ipc code assigned before grant |
Ipc: G06F 16/34 20190101AFI20191030BHEP |
|
INTG | Intention to grant announced |
Effective date: 20191113 |
|
GRAS | Grant fee paid |
Free format text: ORIGINAL CODE: EPIDOSNIGR3 |
|
GRAA | (expected) grant |
Free format text: ORIGINAL CODE: 0009210 |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE PATENT HAS BEEN GRANTED |
|
AK | Designated contracting states |
Kind code of ref document: B1 Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR |
|
REG | Reference to a national code |
Ref country code: GB Ref legal event code: FG4D |
|
REG | Reference to a national code |
Ref country code: DE Ref legal event code: R096 Ref document number: 602012068521 Country of ref document: DE |
|
REG | Reference to a national code |
Ref country code: AT Ref legal event code: REF Ref document number: 1246747 Country of ref document: AT Kind code of ref document: T Effective date: 20200415 Ref country code: IE Ref legal event code: FG4D |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: NO Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20200618 Ref country code: FI Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20200318 Ref country code: RS Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20200318 |
|
REG | Reference to a national code |
Ref country code: NL Ref legal event code: MP Effective date: 20200318 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: GR Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20200619 Ref country code: LV Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20200318 Ref country code: SE Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20200318 Ref country code: HR Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20200318 Ref country code: BG Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20200618 |
|
REG | Reference to a national code |
Ref country code: LT Ref legal event code: MG4D |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: NL Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20200318 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: CZ Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20200318 Ref country code: RO Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20200318 Ref country code: LT Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20200318 Ref country code: IS Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20200718 Ref country code: SK Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20200318 Ref country code: SM Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20200318 Ref country code: EE Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20200318 Ref country code: PT Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20200812 |
|
REG | Reference to a national code |
Ref country code: AT Ref legal event code: MK05 Ref document number: 1246747 Country of ref document: AT Kind code of ref document: T Effective date: 20200318 |
|
REG | Reference to a national code |
Ref country code: DE Ref legal event code: R097 Ref document number: 602012068521 Country of ref document: DE |
|
PLBE | No opposition filed within time limit |
Free format text: ORIGINAL CODE: 0009261 |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: NO OPPOSITION FILED WITHIN TIME LIMIT |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: ES Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20200318 Ref country code: DK Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20200318 Ref country code: AT Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20200318 Ref country code: MC Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20200318 Ref country code: IT Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20200318 |
|
REG | Reference to a national code |
Ref country code: CH Ref legal event code: PL |
|
26N | No opposition filed |
Effective date: 20201221 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: PL Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20200318 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: LU Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20200622 |
|
REG | Reference to a national code |
Ref country code: BE Ref legal event code: MM Effective date: 20200630 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: LI Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20200630 Ref country code: IE Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20200622 Ref country code: CH Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20200630 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: BE Free format text: LAPSE BECAUSE OF NON-PAYMENT OF DUE FEES Effective date: 20200630 Ref country code: SI Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20200318 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: TR Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20200318 Ref country code: MT Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20200318 Ref country code: CY Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20200318 |
|
PG25 | Lapsed in a contracting state [announced via postgrant information from national office to epo] |
Ref country code: MK Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20200318 Ref country code: AL Free format text: LAPSE BECAUSE OF FAILURE TO SUBMIT A TRANSLATION OF THE DESCRIPTION OR TO PAY THE FEE WITHIN THE PRESCRIBED TIME-LIMIT Effective date: 20200318 |
|
PGFP | Annual fee paid to national office [announced via postgrant information from national office to epo] |
Ref country code: FR Payment date: 20230626 Year of fee payment: 12 |
|
REG | Reference to a national code |
Ref country code: DE Ref legal event code: R081 Ref document number: 602012068521 Country of ref document: DE Owner name: MALIKIE INNOVATIONS LTD., IE Free format text: FORMER OWNER: BLACKBERRY LIMITED, WATERLOO, ONTARIO, CA |
|
PGFP | Annual fee paid to national office [announced via postgrant information from national office to epo] |
Ref country code: GB Payment date: 20240618 Year of fee payment: 13 |
|
PGFP | Annual fee paid to national office [announced via postgrant information from national office to epo] |
Ref country code: DE Payment date: 20240627 Year of fee payment: 13 |
|
REG | Reference to a national code |
Ref country code: GB Ref legal event code: 732E Free format text: REGISTERED BETWEEN 20240620 AND 20240627 |