PATENT DOCUMENT

Publication Number: US-9613159-B2
Application Number: US-90786810-A
Country: US
Kind Code: B2

Title: Systems, methods, and computer-readable media for integrating a fit-to-size scale factor in a sequence of scale factors

Abstract:
Systems, methods, and computer-readable media are provided for integrating a fit-to-size scale factor in a sequence of scale factors. A fit-to-size scale factor can be determined based on original dimensions of information to be displayed and on dimensions of a window in which to display the information. The determined fit-to-size scale factor can be integrated in a listing of scale factors such that when a user steps through the sequence of scale factors, the user can select from the sequence the fit-to-size scale factor with which to display the information. In some cases, a auto-resize mode can be seamlessly enabled such that the information may automatically scale to its fit-to-size scale factor when the window is re-sized.

Claims:
What is claimed is: 
     
       1. A method for integrating a fit-to-size scale factor in a sequence of scale factors, the method comprising:
 identifying a size of a display window; 
 identifying an original size of information to display; 
 identifying a sequence of scale factors to provide a user selectable sequence of scale factors; 
 determining, from the identified size of the display window and the identified original size of the information, a fit-to-size scale factor; 
 integrating the determined fit-to-size scale factor in the identified sequence of scale factors in a position corresponding to consecutively ordered scale factors to update the user selectable sequence of scale factors to include the determined fit-to-scale factor; 
 receiving an input to re-size the display window; 
 re-sizing the display window; and 
 determining a new fit-to-size scale factor based on dimensions of the re-sized window and the identified original size of the information; and 
 replacing the determined fit-to-size scale factor in the identified sequence of scale factors with the new fit-to-size scale factor and shifting the new fit-to-size scale factor to a new position within the user selectable sequence of scale factors to maintain consecutively ordered scale factors. 
 
     
     
       2. The method of  claim 1 , wherein the integrating comprises integrating the determined fit-to-size scale factor in the identified sequence of scale factors in a consecutive manner. 
     
     
       3. The method of  claim 1 , further comprising:
 determining that an auto-resize mode is disabled; 
 determining that a current scale factor is not the determined fit-to-size scale factor; and 
 displaying the information in the re-sized window using the current scale factor. 
 
     
     
       4. The method of  claim 1 , further comprising:
 displaying the information in the re-sized window at the predetermined fit-to-scale factor. 
 
     
     
       5. The method of  claim 3 , further comprising:
 determining that a current scale factor is not the new fit-to-size scale factor; and 
 displaying the information in the re-sized window using the current scale factor. 
 
     
     
       6. The method of  claim 1 , further comprising:
 determining that an auto-resize mode is enabled. 
 
     
     
       7. The method of  claim 6 , further comprising:
 displaying the information in the re-sized window using the new fit-to-size scale factor. 
 
     
     
       8. The method of  claim 6 , further comprising:
 integrating the new fit-to-size scale factor in the sequence of scale factors. 
 
     
     
       9. The method of  claim 1 , further comprising:
 determining that a current scale factor is the determined fit-to-size scale factor; and 
 associating an auto-resize mode with the information. 
 
     
     
       10. An electronic device comprising:
 a display; 
 an input interface; and 
 control circuitry operative to:
 provide a window on the display in which to display information; 
 display the information using an initial scale factor in the window; 
 receive an input from the input interface to step to a next scale factor in a sequence of scale factors; 
 determine that a fit-to-size scale factor associated with the window and with the information is between the initial scale factor and the next scale factor; and 
 display the information using the fit-to-size scale factor in the window. 
 
 
     
     
       11. The electronic device of  claim 10 , wherein the control circuitry is further operative to:
 determine that the fit-to-size scale factor is not between the initial scale factor and the next factor; and 
 display the information using the next scale factor. 
 
     
     
       12. The electronic device of  claim 10 , wherein the control circuitry is further operative to:
 receive an input to increase the scale factor of the displayed information. 
 
     
     
       13. The electronic device of  claim 10 , wherein the control circuitry is further operative to:
 receive an input to decrease the scale factor of the displayed information. 
 
     
     
       14. The electronic device of  claim 10 , wherein the control circuitry is further operative to:
 receive an input from the input interface to re-size the window; 
 re-size the window on the display; 
 identify a new fit-to-size scale factor associated with the re-sized window and with the information; and 
 display the information using the new fit-to-size scale factor in the re-sized window. 
 
     
     
       15. The electronic device of  claim 10 , wherein the control circuitry is further operative to:
 determine that the information is displayed in the window using the fit-to-size scale factor; and 
 associate an auto-resize mode with the information. 
 
     
     
       16. A method for iterating through a sequence of scale factors, the method comprising:
 displaying information in a window using an initial scale factor; 
 receiving an instruction to change the initial scale factor to a next scale factor of a sequence of scale factors that provide a user selectable sequence of consecutively ordered scale factors; 
 determining that the next scale factor comprises a fit-to-size scale factor; and 
 associating an auto-resize mode with the information in response to determining that the next scale factor comprises the fit-to-size scale factor, wherein the auto-resize mode is maintained by changing the fit-to-size scale factor in response to any changes in size to a dimension of the window, and further wherein a position of the fit-to-size scale position in the user selectable sequence of consecutively ordered scale factors is updated in response to any changes to the fit-to-size scale factor. 
 
     
     
       17. The method of  claim 16 , further comprising:
 receiving a subsequent instruction to change the next scale factor to a subsequent scale factor of the sequence of scale factors; and 
 disassociating the information with the auto-resize mode in response to receiving the subsequent instruction. 
 
     
     
       18. The method of  claim 16 , further comprising:
 receiving an instruction to re-size the window; 
 re-sizing the window in response to the instruction; 
 determining that the auto-resize mode is associated with the information; 
 identifying a new fit-to-size scale factor associated with the re-sized window and the information; and 
 displaying the information in the re-sized window using the new fit-to-size scale factor. 
 
     
     
       19. The method of  claim 16 , further comprising:
 integrating the fit-to-size scale factor in the sequence of scale factors. 
 
     
     
       20. A non-transitory computer-readable medium for integrating a fit-to-size scale factor in a sequence of scale factors, the computer-readable medium comprising computer program logic recorded thereon for:
 identifying a size of a display window; 
 identifying an original size of information to display; 
 identifying a sequence of scale factors describing a scale at which information is displayed to provide a user selectable sequence of scale factors, wherein the sequence of scale factors is stepped through in response to receiving an instruction; 
 determining, from the identified size of the display window and the identified original size of the information, a fit-to-size scale factor; 
 integrating the determined fit-to-size scale factor in the identified sequence of scale factors in a position corresponding to consecutively ordered scale factors to update the user selectable sequence of scale factors to include the determined fit-to-scale factor; 
 receiving an input to re-size the display window; 
 re-sizing the display window; and 
 determining a new fit-to-size scale factor based on dimensions of the re-sized window and the identified original size of the information; and 
 replacing the determined fit-to-size scale factor in the identified sequence of scale factors with the new fit-to-size scale factor and shifting the new fit-to-size scale factor to a new position within the user selectable sequence of scale factors to maintain consecutively ordered scale factors.

Description:
BACKGROUND 
     Some electronic devices can be used to display information to a user. For example, some electronic devices can display documents or other content on a display. Displayed information can be provided in one of several sizes, as determined from a scale factor applied to the information. For example, the information can be scaled relative to a pre-defined size established for the information. A user can change the scale of displayed information by selecting one of several scale factors. For example, a user can select plus and minus options for stepping through a sequence of scale factors. Alternatively, the user can enter a specific scale factor using an input interface. In addition to a user-selected scale factor, some electronic devices can include a distinct auto-resize mode in which information can be sized to match the size of a window in which the information is provided. When the auto-resize mode is enabled, resizing a window can cause the electronic device to change the scale factor used to ensure that the displayed information is re-scaled to fit in the re-sized window. 
     SUMMARY 
     Systems, methods, and computer-readable media for integrating a fit-to-size scale factor in a sequence of scale factors are provided. 
     An electronic device can display information in a window. The information can have any suitable size in the window, as determined from a scale factor that a user can change. In addition, a user can change the dimensions of the window. When the dimensions of the window are changed, the scale factor used for the information may remain the same. In a auto-resize mode, however, the scale factor can be selected such that a height or width of displayed information may match a height or width of the window (e.g., the scale factor can be selected as the largest scale factor that ensures that the entirety of the information is displayed in the window). While in a auto-resize mode, when the dimensions of a window are changed, the scale factor used may automatically change to reflect the change in size of the window for maintaining the auto-resize mode. 
     A user can change a scale factor for displayed information by stepping through a sequence of available scale factor options. To integrate a auto-resize mode in the provided scale factor options, the electronic device can identify a fit-to-size scale factor corresponding to fitting the information in the displayed window, and can incorporate the identified fit-to-size scale factor in a sequence of scale factor options provided to the user. Then, when a user steps through the sequence of scale factor options, the electronic device can seamlessly enable the auto-resize mode when the user-selected scale factor option is the fit-to-size scale factor, and can seamlessly disable the auto-resize mode when the user-selected scale factor option is not the fit-to-size scale factor. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       The above and other aspects of the invention, its nature, and various features will be more apparent upon consideration of the following detailed description, taken in conjunction with the accompanying drawings in which like reference characters may refer to like parts, and in which: 
         FIG. 1  is an illustrative view of a window in which information may be displayed in accordance with some embodiments of the invention; 
         FIG. 2  is an illustrative view of a re-sized window in which information may be displayed in accordance with some embodiments of the invention; 
         FIG. 3  is an illustrative view of a re-sized window in which information may be displayed in accordance with some embodiments of the invention; 
         FIG. 4  is an illustrative view of the re-sized window of  FIG. 3  in accordance with some embodiments of the invention; 
         FIG. 5  is a schematic view of an illustrative sequence of scale factors through which an electronic device can cycle in response to instructions to change a scale factor in accordance with some embodiments of the invention; 
         FIG. 6  is a schematic view of another illustrative sequence of scale factors through which an electronic device can cycle in response to instructions to change a scale factor in accordance with some embodiments; 
         FIG. 7  is a flowchart of an illustrative process for integrating a fit-to-size scale factor in a sequence of scale factors in accordance with some embodiments of the invention; 
         FIG. 8  is a flowchart of an illustrative process for detecting an auto-resize mode in accordance with some embodiments of the invention; 
         FIG. 9  is a flowchart of an illustrative process for integrating a fit-to-size scale factor in a sequence of scale factors in accordance with some embodiments of the invention; 
         FIG. 10  is a flowchart of an illustrative process for iterating through a sequence of scale factors in accordance with some embodiments of the invention; and 
         FIG. 11  is a schematic view of an illustrative electronic device for displaying information in a window in accordance with some embodiments of the invention. 
     
    
    
     DETAILED DESCRIPTION 
     Systems, methods, and computer-readable media for integrating a fit-to-size scale factor in a sequence of scale factors are provided and described with reference to  FIGS. 1-11 . 
     An electronic device can display information in one or more windows of a display. Alternatively, an electronic device can display information in any other type of resizable canvas or region on a display. For the sake of simplicity, however, the following discussion will describe embodiments in the context of a window in which information is provided. The information can be displayed in any suitable size including, for example, a size determined from a scale factor. The scale factor can be defined as a percentage of the actual size of the information. For example, if the information is an image, the scale factor can include a percentage of the original image size as defined by the image&#39;s original dimensions (e.g., measured in pixels or in a distance unit).  FIG. 1  is an illustrative view of a window in which information may be displayed in accordance with some embodiments of the invention. Display  100 , provided by electronic device  1 , can include window  110  in which information  112  (e.g., an image) may be displayed. Portions of window  110  that do not include displayed information  112  can include window background  114 . 
     Display  100  can also include toolbar  120  with which a user can control the display of information  112 . For example, toolbar  120  can include scale option  122  in which a currently used scale factor can be displayed, or in which a user can specify a particular scale factor to be used. The user can change the scale factor by selecting down option  124  and up option  126 . In response to receiving a selection of one of options  124  and  126 , electronic device  1  can change the scale factor used for displayed information  112 . For example, the scale factor can change in accordance with a preset sequence of scale factors (e.g., 20%, 30%, 40%, 50%, 60%, 75%, 100%, 110%, 125%, 200%, 300%). In some cases, the sequence of scale factors can vary based on the original size of the information, a size of the window, or other factors. 
     Toolbar  120  can include fit-to-size option  128  by which electronic device  1  can display information  112  such that the entirety of height  115  of displayed information  112  may match the entirety of height  117  of window  110  and/or such that the entirety of width  116  of displayed information  112  may match the entirety of width  118  of window  110 . In particular, electronic device  1  can select as a fit-to-size scale factor the largest possible scale factor that may be used such that the entirety of displayed information  112  may be provided in window  110  (e.g., the fit-to-size scale factor may be selected as the smaller of the scale factor required to match height  115  of displayed information  112  with the entirety of height  117  of window  110  and the scale factor required to match width  116  of displayed information  112  with the entirety of width  118  of window  110 ). While a auto-resize mode is enabled, as indicated by the selection of fit-to-size option  128 , in response to any resizing of height  117  and/or width  118  of window  110 , device  1  may also automatically change the fit-to-size scale factor for information  112  so that the entirety of one of height  115  and width  116  of displayed information  112  may match the resized height  117  and/or resized width  118  of a re-sized window  110 . 
       FIG. 2  is an illustrative view of a re-sized window in which information may be displayed in accordance with some embodiments of the invention. Display  200  of device  2  can include window  210  and toolbar  220  that may have some or all of the features of the corresponding elements of display  100  of  FIG. 1 . In contrast with window  110  of display  100 , window  210  may have been expanded. To ensure that at least one of height  215  and width  216  of displayed information  212  matches at least one of a respective expanded height  217  and expanded width  218  of window  210 , the fit-to-size scale factor used for displayed information  212  can be automatically increased, for example, as indicated by scale option  222 . In particular, the scale factor indicated by scale option  222  is 45%, as opposed to the 40% scale factor used in display  100 . In addition, display  200  can indicate to a user that the auto-resize mode is still enabled by showing a selection of fit-to-size option  228 . 
     In some cases, a user can change the scale factor for displayed content to a scale factor other than a fit-to-size scale factor. For example, a user can enter a scale factor in a scale option (e.g., scale option  222  of  FIG. 2 ), or select an option for moving through a sequence of scale factors (e.g., down option  224  and up option  226  of  FIG. 2 ) such that the resulting displayed information does not match the size of a displayed window.  FIG. 3  is an illustrative view of a re-sized window in which information may be displayed in accordance with some embodiments of the invention. Display  300  of device  3  can include window  310  and toolbar  320 , which can include some or all of the features of display  200  of  FIG. 2 . In contrast with information  212  displayed in window  210  of  FIG. 2 , displayed information  312  that may be displayed in window  310  can be provided at a scale factor such that height  315  of displayed information  312  does not match height  317  of window  310  and such that width  316  of displayed information  312  does not match width  318  of window  310 . Instead, background  314  can be visible around the entire boundary of displayed information  312 . The user can direct electronic device  3  to provide display  300  using any suitable approach including, for example, by directing device  3  to reduce the scale factor of displayed information  312  on display  300 . 
     To further indicate to a user that information  312  is not scaled to fit window  310 , fit-to-size option  328  in toolbar  320  may not be selected. The scale factor indicated in scale option  322  may differ from the scale factor in scale option  222  to reflect the change in size of displayed information  312 . In particular, the scale factor indicated in scale option  322  can be 40%, while the scale factor indicated in scale option  222  of  FIG. 2  can be 45%. 
     When the auto-resize mode is disabled, the scale factor may remain constant when the window is re-sized.  FIG. 4  is an illustrative view of the re-sized window of  FIG. 3  in accordance with some embodiments of the invention. Display  400  of device  4  can include window  410  and toolbar  420 , which can include some or all of the features of corresponding elements of display  300  of  FIG. 3 . When a user re-sizes window  410 , the scale factor used for displayed information  412  can remain constant, as shown in scale option  422  of toolbar  420  (e.g., the scale factor is 40% for both option  322  of  FIG. 3  and option  422  of  FIG. 4 ). The amount of information  412  displayed, however, may be less than the amount of information  312  displayed in window  310  of  FIG. 3 . In particular, height  415  of displayed information  412  may be smaller than height  315  of displayed information  312 . In addition, width  416  of displayed information  412  may be smaller than width  316  of displayed information  312 , and the amount of information visible in width  416  may be less than the amount of the information visible in width  316  (e.g., because factor may not change when the window size scale changes). In particular, width  416  can be more than width  418  of window  410 , though height  415  can be less than height  417  of window  410 . 
     In some cases, a user can enter a scale factor by providing a scale factor directly in a scale option (e.g., scale option  122 ). In such cases, even if the provided scale factor matches a current fit-to-size scale factor, the electronic device may not enable the auto-resize mode. Instead, the electronic device can maintain the mode disabled to reflect the user input. 
     To improve a user&#39;s interaction with displayed content, it may be desirable to integrate the auto-resize mode in the sequence of scale factors. In one approach, the electronic device can integrate a fit-to-size scale factor in a pre-defined sequence of scale factors corresponding to selectable scale up and scale down options.  FIG. 5  is a schematic view of an illustrative sequence of scale factors through which an electronic device can cycle in response to instructions to change a scale factor in accordance with some embodiments of the invention. Sequence  500  can include individual scale factors  510  corresponding to a pre-defined sequence of scale factors. For example, sequence  500  can include scale factors offset by 10%, 15%, 25%, 50%, or combinations of these. 
     In addition to the pre-defined sequence of scale factors  510 , sequence  500  can include fit-to-size scale factor  512  integrated in sequence  500 . The electronic device can determine fit-to-size scale factor  512  based on the original size of the information being displayed, and the size of the window in which the information is displayed. Once the fit-to-size scale factor has been determined, it can be integrated in a proper position in sequence  500  (e.g., such that sequence  500  is a consecutively ordered sequence of scale factors). If the window is re-sized or new information (e.g., information having a different original size) is displayed in a window, the fit-to-size scale factor can change.  FIG. 6  is a schematic view of another illustrative sequence of scale factors through which an electronic device can cycle in response to instructions to change a scale factor in accordance with some embodiments. Sequence  600  can include the same set of pre-defined scale factors  610  as sequence  500  of  FIG. 5 , but a different fit-to-size scale factor  612  may replace the fit-to-size scale factor  512  of sequence  500  (e.g., 103% for fit-to-size scale factor  612  in sequence  600  may replace 77% for fit-to-size scale factor  512  in sequence  500 ). The particular position of the fit-to-size scale factor can change in sequence  600  relative to the position of the corresponding fit-to-size scale factor in sequence  500  due to the different value for the fit-to-size scale factor (e.g., such that the sequence values may be consecutive). 
     The electronic device can determine a current fit-to-size scale factor using any suitable approach. In some embodiments, the electronic device can preemptively determine a current fit-to-size scale factor based on a size of original information and a size of a window in which the information is displayed. The determined fit-to-size scale can then be integrated at an appropriate position in a sequence, as shown above in connection with  FIGS. 5 and 6 . Using this approach, a fit-to-size scale factor may be calculated each time a window is re-sized, and each time different information is displayed in the window. 
     Alternatively, the electronic device can determine a current fit-to-size scale factor each time a user provides an instruction to change a current scale factor for displayed information (e.g., when a user selects a scale factor up or down option), although the fit-to-size scale factor may not change each time the instruction is provided.  FIG. 7  is a flowchart of an illustrative process for integrating a fit-to-size scale factor in a sequence of scale factors in accordance with some embodiments of the invention. Process  700  can begin at step  702 . At step  704 , information can be displayed using an initial scale factor. For example, an electronic device can display information in a window of a particular size, and using an initial scale factor. At step  706 , the electronic device can determine whether an instruction to change the initial scale factor to a next scale factor in a sequence of scale factors has been received. For example, the electronic device can determine whether a selection of an option to scale up or scale down a scale factor was provided. If the electronic device determines that no instruction was received, process  700  can return to step  706  and continue to monitor for an instruction to change the current scale factor. 
     If, at step  706 , the electronic device instead determines that an instruction to change the current scale factor to a next scale factor in a sequence of scale factors was provided, process  700  can move to step  708 . At step  708 , a current fit-to-size scale factor can be identified. For example, the electronic device can identify the largest scale factor that can be used such that the entire displayed information can fit within the window. At step  710 , the electronic device can determine whether the identified current fit-to-size scale factor is between the initial scale factor and the next scale factor. For example, the electronic device can compare the identified current fit-to-size scale factor with the initial scale factor and the next scale factor. If the electronic device determines that the current fit-to-size scale factor is between the initial and next scale factors, process  700  can move to step  712 . At step  712 , the information can be displayed using the current fit-to-size scale factor. Process  700  can then end at step  714 . If, at step  710 , the electronic device instead determines that the current fit-to-size scale factor is not between the initial scale factor and the next scale factor in a sequence of scale factors, process  700  can move to step  716 . At step  716 , the information can be displayed using the next scale factor. Process  700  can then end at step  714 . 
     In some cases, a auto-resize mode can be enabled, such that when the window is re-sized, the scale factor used may also change to maintain a fitted display of the information in the re-sized window. When information is displayed using a auto-resize mode, the scale factor can automatically change when a window in which the information is displayed is re-sized. In particular, a auto-resize mode can be seamlessly enabled when the scale factor used for displaying information is the fit-to-size scale factor. To ensure that information is automatically re-scaled in the auto-resize mode, a flag or variable can be set for the information. For example, a “sticky fit” variable or flag can be set for or associated with the information, by which an auto-resize mode can be enabled. Then, when the scale factor reaches its destination value (e.g. after an animation of the scale factor has concluded), the electronic device can detect the sticky fit variable, and enable the auto-resize mode if the scale factor matches the fit-to-size scale factor. Then, when the window in which the information is displayed is re-sized, the electronic device can detect the auto-resize mode, and automatically change the scale factor used for the information to maintain a fit-to-size appearance. The auto-resize mode can be disassociated with information when the scale factor is changed away from a fit-to-size scale factor. 
       FIG. 8  is a flowchart of an illustrative process for detecting an auto-resize mode in accordance with some embodiments of the invention. Process  800  can begin at step  802 . At step  804 , information can be displayed using an initial scale factor. For example, an electronic device can display information in a window of a particular initial size, and using an initial scale factor. At step  806 , the electronic device can determine whether an instruction to re-size the window has been received. For example, the electronic device can determine whether a selection and dragging of a corner of the window has been detected. If the electronic device determines that no instruction to re-size the window has been received, process  800  can return to step  806 . If, at step  806 , the electronic device instead determines that an instruction to re-size the window has been received, process  800  can move to step  808 . 
     At step  808 , an electronic device can determine whether an auto-resize mode is enabled. For example, the electronic device can determine whether a Boolean variable corresponding to a auto-resize mode is equal to “Yes.” In some embodiments, before determining whether an auto-resize mode is enabled, an electronic device can first determine whether the initial scale factor corresponds to the fit-to-size scale factor for the information when displayed in the initial window size. If so, the device may proceed with determining whether an auto-resize mode is enabled. Otherwise, process  800  may proceed to step  810  without determining the status of the auto-resize mode. If the electronic device determines that the auto-resize mode has not been enabled, process  800  can move to step  810 . At step  810 , the window can be re-sized and information can be displayed in the re-sized window using the initial scale factor. Process  800  can then end at step  812 . If, at step  808 , the electronic device instead determines that an auto-resize mode is enabled, process  800  can move to step  814 . At step  814 , a new fit-to-size scale factor can be identified. For example, the electronic device can identify a new fit-to-size scale factor for the information that corresponds to the re-sized window. At step  816 , the window can be re-sized and the information can be displayed in the re-sized window using the identified new fit-to-size scale factor. Process  800  can then end at step  812 . 
     In some cases, the electronic device can support an animation of information as it changes from a first scale factor to a second scale factor. The sticky fit variable or flag associated with the information may be necessary to ensure that an auto-resize mode is properly enabled or disabled before and after the animation. For example, information can initially be displayed with a first scale factor, and a user can provide an instruction to display the information using a second scale factor. Before animating the information, the electronic device can disable the auto-resize mode, if enabled. This may be required, because no animation would be possible if the content remains fixed to boundaries of the window. A sticky fit variable can be set based on a manner in which the user provide the instruction to display the information using the scale factor. For example, the variable can be set to “yes” if the second scale factor was implicitly selected (e.g., selected using an up option), and the variable can be set to “no” if the second scale factor was explicitly selected (e.g., the user entered a value for the second scale factor). The electronic device can then smoothly animate the displayed information from the first scale factor the second scale factor, and upon reaching the second scale factor, check the sticky fit variable. If the sticky fit variable is set to “no,” it may be left as “no” and the auto-resize mode may remain disabled. Alternatively, if the sticky fit variable is set to “yes,” the second scale factor can be compared to the current fit-to-size scale factor. If they match, the auto-resize mode can be re-enabled, and the sticky fit variable can be set to “no.” If they do not match, the auto-resize mode can remain disabled, and the sticky fit variable can be set to “no.” 
     In some cases, the electronic device can integrate a fit-to-size scale factor in a sequence of scale factors associated with a continuous zooming instruction. For example, the electronic device can display information using a fit-to-size scale factor when a user provides an instruction, using a touch gesture or a scroll-wheel gesture, to step through a sequence of scale factors. In some cases, the electronic device can add a detent using the fit-to-size scale factor to indicate to a user that the fit-to-size scale factor is used (e.g., to increase a “target size” for user inputs corresponding to the fit-to-size scale factor). For example, the electronic device can add the fit-to-size scale factor to a sequence of detents associated with the information. The electronic device can, in some cases, automatically enable the auto-resize mode when information is displayed using the fit-to-size scale factor. If the information is displayed using a scale factor other than the fit-to-size scale factor, the electronic device can disable the auto-resize mode. Because the instruction to change the scale factor may be provided dynamically, the electronic device may not pre-define a sequence of scale factors. Instead, the scale factors can be determined in an ad-hoc manner, as the instruction is received. 
       FIG. 9  is a flowchart of an illustrative process for integrating a fit-to-size scale factor in a sequence of scale factors. Process  900  can begin at step  902 . At step  904 , a size of a display window can be identified. For example, an electronic device can identify dimensions of a window in which information is displayed. At step  906 , an original size of the information to display can be identified. For example, the electronic device can identify dimensions associated with the information to display. At step  908 , a sequence of scale factors can be identified. For example, the electronic device can identify various pre-defined scales at which information may be displayed, or the device can identify a sequence of scales in an ad-hoc manner. In some cases, the electronic device can step through the sequence of scale factors in response to receiving a corresponding instruction. At step  910 , a fit-to-scale factor can be determined from the identified size of the display window and the identified original size of the information to display. For example, the electronic device can identify the largest scale factor by which the entirety of the information may be displayed in the window of the identified window size. At step  912 , the determined fit-to-size scale factor can be integrated in the sequence of scale factors. For example, the fit-to-size scale factor can be integrated in consecutive numerical order in the sequence of scale factors. Process  900  can then end at step  914 . 
       FIG. 10  is a flowchart of an illustrative process for iterating through a sequence of scale factors in accordance with some embodiments of the invention. Process  1000  can begin at step  1002 . At step  1004 , information can be displayed in a window using an initial scale factor. At step  1006 , an instruction to change the initial scale factor to a next scale factor of a sequence of scale factors can be received. For example, an electronic device can receive a selection of a scale up or scale down option. At step  1008 , the electronic device can determine that the next scale factor includes a fit-to-size scale factor. For example, the electronic device can determine that the next scale factor includes a scale factor by which the information is scaled to fit in the window. At step  1010 , an auto-resize mode can be associated with the information in response to determining that the next scale factor includes a fit-to-size scale factor. Process  1000  can then end at step  1012 . 
     Any suitable electronic device can be used to display information in a window using a scale factor.  FIG. 11  is a schematic view of an illustrative electronic device  1100  for displaying information in a window in accordance with some embodiments of the invention. Electronic device  1100  may be any portable, mobile, or hand-held electronic device configured to display information in a window using a scale factor to a user wherever the user travels. Alternatively, electronic device  1100  may not be portable at all, but may instead be generally stationary. Electronic device  1100  can include, but is not limited to, a music player (e.g., an iPod™ available by Apple Inc. of Cupertino, Calif.), video player, still image player, game player, other media player, music recorder, movie or video camera or recorder, still camera, other media recorder, radio, medical equipment, domestic appliance, transportation vehicle instrument, musical instrument, calculator, cellular telephone (e.g., an iPhone™ available by Apple Inc.), other wireless communication device, personal digital assistant, remote control, pager, computer (e.g., a desktop, laptop, tablet, server, etc.), monitor, television, stereo equipment, set up box, set-top box, boom box, modem, router, printer, and combinations thereof. In some embodiments, electronic device  1100  may perform a single function (e.g., a device dedicated to displaying information in a window) and, in other embodiments, electronic device  1100  may perform multiple functions (e.g., a device that displays information in a window, plays music, and receives and transmits telephone calls). 
     Electronic device  1100  may include a processor  1102 , memory  1104 , power supply  1106 , input component  1108 , and display  1110 . Electronic device  1100  may also include a bus  1112  that may provide one or more wired or wireless communication links or paths for transferring data and/or power to, from, or between various other components of device  1100 . In some embodiments, one or more components of electronic device  1100  may be combined or omitted. Moreover, electronic device  1100  may include other components not combined or included in  FIG. 11  and/or several instances of one or more of the components shown in  FIG. 11 . 
     Memory  1104  may include one or more storage mediums, including for example, a hard-drive, flash memory, non-volatile memory, permanent memory such as read-only memory (“ROM”), semi-permanent memory such as random access memory (“RAM”), any other suitable type of storage component, or any combination thereof. Memory  1104  may include cache memory, which may be one or more different types of memory used for temporarily storing data for electronic device application programs. Memory  1104  may store media data (e.g., music and image files), software (e.g., a boot loader program, one or more application programs of an operating system for implementing functions on device  1100 , etc.), firmware, preference information (e.g., media playback preferences), lifestyle information (e.g., food preferences), exercise information (e.g., information obtained by exercise monitoring equipment), transaction information (e.g., information such as credit card information), wireless connection information (e.g., information that may enable device  1100  to establish a wireless connection), subscription information (e.g., information that keeps track of podcasts or television shows or other media a user subscribes to), contact information (e.g., telephone numbers and e-mail addresses), calendar information, any other suitable data, or any combination thereof. 
     Power supply  1106  may provide power to one or more of the components of device  1100 . In some embodiments, power supply  1106  can be coupled to a power grid (e.g., when device  1100  is not a portable device, such as a desktop computer). In some embodiments, power supply  1106  can include one or more batteries for providing power (e.g., when device  1100  is a portable device, such as a cellular telephone). As another example, power supply  1106  can be configured to generate power from a natural source (e.g., solar power using solar cells). 
     One or more input components  1108  may be provided to permit a user to interact or interface with device  1100 . For example, input component  1108  can take a variety of forms, including, but not limited to, an electronic device pad, dial, click wheel, scroll wheel, touch screen, one or more buttons (e.g., a keyboard), mouse, joy stick, track ball, microphone, camera, proximity sensor, light detector, and combinations thereof. Each input component  1108  can be configured to provide one or more dedicated control functions for making selections or issuing commands associated with operating device  1100 . 
     Electronic device  1100  may also include one or more output components that may present information (e.g., visual, audible, and/or tactile information) to a user of device  1100 . An output component of electronic device  1100  may take various forms, including, but not limited to, audio speakers, headphones, audio line-outs, visual displays, antennas, infrared ports, rumblers, vibrators, or combinations thereof. 
     For example, electronic device  1100  may include display  1110  as an output component. Display  1110  may include any suitable type of display or interface for presenting visual content to a user. In some embodiments, display  1110  may include a display embedded in device  1100  or coupled to device  1100  (e.g., a removable display). Display  1110  may include, for example, a liquid crystal display (“LCD”), a light emitting diode (“LED”) display, an organic light-emitting diode (“OLED”) display, a surface-conduction electron-emitter display (“SED”), a carbon nanotube display, a nanocrystal display, any other suitable type of display, or combination thereof. Alternatively, display  1110  can include a movable display or a projecting system for providing a display of content on a surface remote from electronic device  1100 , such as, for example, a video projector, a head-up display, or a three-dimensional (e.g., holographic) display. As another example, display  1110  may include a digital or mechanical viewfinder, such as a viewfinder of the type found in compact digital cameras, reflex cameras, or any other suitable still or video camera. In some embodiments, display  1110  may include display driver circuitry, circuitry for driving display drivers, or both. Display  1110  can be operative to present visual content provided by device  1100 . 
     It should be noted that one or more input components and one or more output components may sometimes be referred to collectively herein as an input/output (“I/O”) interface (e.g., input component  1108  and display  1110  as I/O interface  1111 ). It should also be noted that input component  1108  and display  1110  may sometimes be a single I/O component, such as a touch screen that may receive input information through a user&#39;s touch of a display screen and that may also provide visual information to a user via that same display screen. 
     Electronic device  1100  may also be provided with an enclosure or housing  1101  that may at least partially enclose one or more of the components of device  1100  for protecting them from debris and other degrading forces external to device  1100 . In some embodiments, one or more of the components may be provided within its own housing (e.g., input component  1108  may be an independent keyboard or mouse within its own housing that may wirelessly or through a wire communicate with processor  1102 , which may be provided within its own housing). 
     Processor  1102  of device  1100  may include any processing or control circuitry operative to control the operations and performance of one or more components of electronic device  1100 . For example, processor  1102  may be used to run operating system applications, firmware applications, media playback applications, media editing applications, or any other application. In some embodiments, processor  1102  may receive input signals from input component  1108  and/or drive output signals through display  1110 . 
     It is to be understood that the steps shown in each one of processes  700 - 1000  of  FIGS. 7-10 , respectively, are merely illustrative and that existing steps may be modified or omitted, additional steps may be added, and the order of certain steps may be altered. 
     Moreover, the processes described with respect to  FIGS. 7-10 , as well as any other aspects of the invention, may each be implemented in hardware or a combination of hardware and software. Embodiments of the invention can also be embodied as computer-readable code on a computer-readable medium. The computer-readable medium may be any data storage device that can store data which can thereafter be read by a computer system. Examples of the computer-readable medium include read-only memory (“ROM”), random-access memory (“RAM”), CD-ROMs, DVDs, magnetic tape, and optical data storage devices. The computer-readable medium can also be distributed over network-coupled computer systems so that the computer readable code may be stored and executed in a distributed fashion. 
     Although many of the embodiments of the present invention are described herein with respect to personal computing devices, it should be understood that the present invention is not limited to personal computing applications, but is generally applicable to other applications. 
     Insubstantial changes from the claimed subject matter as viewed by a person with ordinary skill in the art, now known or later devised, are expressly contemplated as being equivalently within the scope of the claims. Therefore, obvious substitutions now or later known to one with ordinary skill in the art are defined to be within the scope of the defined elements. 
     The above-described embodiments of the invention are presented for purposes of illustration and not of limitation.

Metadata:
Filing Date: 20101019
Publication Date: 20170404
Grant Date: 20170404
Priority Date: 20101019
Inventors: BECK NILS
CARLEN CONRAD
Assignee: APPLE INC
CPC Classifications: [{"code": "G06F16/9577", "inventive": true, "first": true, "tree": "[]"}, {"code": "G06F17/30905", "inventive": true, "first": true, "tree": "[]"}]
Family ID: 45933778