Graphic User Interface Control Object Stylization
A method of modifying individual graphic user interface controls according to predefined settings including the steps of identifying at least one graphic user interface control object with a plurality of states and/or event handlers, assigning a user-selectable visual modification to the control object, associating the visual modification with a state of the control object, saving the assignment to a configuration file and applying the visual modification to the control object upon display of the control object in the associated state or upon firing of the associated event handler.
Latest FREEDOM SCIENTIFIC, INC. Patents:
This application claims priority to U.S. Provisional Patent Application No. 60/766,782, entitled: “Low Vision Graphic User Interface Enhancement,” filed by the same inventors on Feb. 10, 2006.
FIELD OF INVENTIONThis invention relates to visual enhancements for graphic user interfaces.
BACKGROUND OF THE INVENTIONScreen magnification software such as that sold under the brand name MAGic® by Freedom Scientific, Inc. is suited for computer users with low vision, or anyone who spends extended periods of time in front of a computer screen. Screen magnification software enables a user to magnify the computer screen from 1 to many times its usual size. A user can choose from a number of different adjustable views that let the user see both a magnified and unmagnified portion of the screen at the same time.
Speech features are often used in conjunction with the magnification in processing the information on your screen. The software may read text that is typed or pointed to with the mouse. The software moves the magnified area of the screen so the user will always see the text being read and highlights words and lines as they are spoken.
Mouse and cursor enhancements help the user track the location of the mouse pointer and cursor on the screen. The user can choose from a wide variety of enhancement styles. The software lets the user change the color of these enhancements, apply transparency effects, adjust their size, and more.
Other features track elements of the screen, such as the mouse pointer, dialog boxes, and so on. A locator feature provides the user with a way to quickly find and move to different areas of the screen. A multi-directional panning system gives the user complete control with adjustable speed, direction, stop and start, and screen navigation controls.
Color enhancements let the user change how colors display on the screen. The user can create rules that replace one color with another or switch two colors. The user can also apply color tinting, make the screen monochrome, and invert the brightness and colors of the display.
One of the most difficult problems for a low-vision computer user is to find, read and invoke user controls such as checkboxes, radio buttons, dropdown lists and the like. A long-felt but heretofore unfulfilled need exists for a method to apply specific user preferences to these controls across individual software programs as well as system-wide.
SUMMARY OF INVENTIONThe present invention relates to providing an enhanced and customizable visual appearance to user control objects. These control objects include, but are not limited to textboxes, buttons, dropdown lists, list boxes, combo boxes, checkboxes, checkbox lists, radio buttons, and radio button lists. In addition, similar controls may be inherited into subclasses that provide enhanced functionality according to common programming methods and architectures.
An embodiment of the invention is a method of modifying individual graphic user interface controls according to predefined settings. These settings or more likely an array of settings may be preloaded by the software provider but may also be user-defined. The steps of the method include identifying at least one graphic user interface control object with a plurality of states. These states may include, but are not limited to, checked, unchecked, selected, enabled, disabled, visible and invisible. A user-selectable visual modification to the control object is assigned. Available control object properties may vary according to the type of control and may include, but are not necessarily limited to, font size, font stylization, font name, font color, foreground color, background color, border color, border thickness, border style and text alignment. This visual modification is then associated with a state of the object. For example, when a checkbox is in the “checked” state then highlight the foreground of the control in yellow. The association of the visual modification with the state of the object is saved to a default configuration file that is applied system-wide to all software applications that will call and display the control object.
In addition to an object's state, the modification of the control object's visual properties may also be applied responsive to an event handler. Control objects may have hundreds of different event handlers, but common events include key up, key down, mouse up, mouse down, mouse over, on-focus, mouse move and the like. Furthermore, the event handler that modifies the control object's visual properties may be fired from a different control. For example, if a parent window to a control comes in focus, that on-focus event handler may invoke the modification of the child control object's visual properties. The user may define that the modifications be invoked at all times, when the parent window is in focus, when the object control itself is in focus or when a mouse-over the object control event is fired, when the user invokes a keyboard command. By giving the user this level of granularity, a user may avoid being overwhelmed by excessive visual modifications of standard controls.
In another embodiment of the invention, a user's control object settings may be customized for unique software applications. This may be necessary when a software application renames similar object controls. For example, a control normally named PasswordEdit has a functional equivalent in Microsoft Corporation's Internet Explorer web browser called PasswordWndClass. Thus, in this embodiment of the invention, a software application that displays at least one control object is identified (in this example, Internet Explorer). The visual modifications applied to the PasswordEdit control object responsive to events or state in the default configuration file are now associated with PasswordWndClass when Internet Explorer is used. If a software-specific configuration file is not found for a particular software application, then the default configuration file is used.
In addition to modifying the visual properties of the control object, a visual overlay may be applied to the control object. The visual overlay may comprise vector-based predefined geometric shapes and/or bitmap images. The overlay be composted with its background according to a predetermined algorithm. User-adjustable properties for the visual overlay may include, but are not limited to, shape, dimensions, relative position, opacity, hue, saturation, contrast, brightness, midtone, tint, animation and bitmap imaging. For example, the user may specify that a particular bitmap image overlay the control in a 50% opacity responsive to an event or a state of the control object. Alternatively, a vector based rectangle may cycle through colors when a mouse-over event is fired. The combinations of control object modifications, overlays and adjustments thereto are nearly limitless which is particularly accommodating to low-vision users whose visual preferences vary greatly.
The visual modification and/or the visual overlay be toggled on and off according to user preference. For example, the user may initiate a keystroke combination that displays or hides the visual modification. In addition, a keystroke combination may cycle through a plurality of predefined visual modification and visual overlay schemes to determine which type work best for the user's needs.
For a fuller understanding of the invention, reference should be made to the following detailed description, taken in connection with the accompanying drawings, in which:
In
In
In
In
It will be seen that the advantages set forth above, and those made apparent from the foregoing description, are efficiently attained and since certain changes may be made in the above construction without departing from the scope of the invention, it is intended that all matters contained in the foregoing description or shown in the accompanying drawings shall be interpreted as illustrative and not in a limiting sense.
It is also to be understood that the following claims are intended to cover all of the generic and specific features of the invention herein described, and all statements of the scope of the invention which, as a matter of language, might be said to fall there between. Now that the invention has been described,
Claims
1. A method of modifying individual graphic user interface controls according to predefined settings comprising the steps of:
- identifying at least one graphic user interface control object with a plurality of states;
- exposing substantially all of the control object's visual properties;
- assigning a user-selectable visual modification to the control object's visual properties;
- associating the visual modification with a state of the control object;
- saving the assignment to a default configuration file; and
- applying the visual modification to the control object upon display of the control object in the associated state.
2. The method of claim 1 further comprising the step of toggling the visual modification on and off responsive to user preference.
3. The method of claim 1 wherein the graphic user interface control object is selected from the group consisting of textboxes, buttons, dropdown lists, list boxes, combo boxes, checkboxes, checkbox lists, radio buttons, and radio button lists.
4. The method of claim 1 wherein the state of the control object is selected from the group consisting of checked, unchecked, selected, enabled, disabled, visible, and invisible.
5. The method of claim 1 wherein the visual modification is applied to control object properties selected from the group consisting of font size, font stylization, font name, font color, foreground color, background color, border color, border thickness, border style and text alignment.
6. The method of claim 1 further comprising the steps of:
- identifying a software application that displays at least one control object; and
- saving the assignment to an application-specific configuration file associated with the identified software application;
- applying the application-specific configuration file for an associated executed software application; and
- defaulting to the default configuration file for a software application lacking an associated application-specific configuration file.
7. A method of modifying individual graphic user interface controls according to predefined settings comprising the steps of:
- identifying at least one graphic user interface control object;
- assigning a user-selectable visual modification to the control object;
- associating the visual modification with an event handler;
- saving the assignment to a default configuration file; and
- applying the visual modification to the control object responsive to the firing of the associated event.
8. The method of claim 7 further comprising the step of toggling the visual modification on and off responsive to user preference.
9. The method of claim 7 wherein the graphic user interface control object is selected from the group consisting of textboxes, buttons, dropdown lists, list boxes, combo boxes, checkboxes, checkbox lists, radio buttons, and radio button lists.
10. The method of claim 7 wherein the visual modification is applied to control object properties selected from the group consisting of font size, font stylization, font name, font color, foreground color, background color, border color, border thickness, border style and text alignment.
11. The method of claim 7 further comprising the steps of:
- identifying a software application that displays at least one control object; and
- saving the assignment to an application-specific configuration file associated with the identified software application;
- applying the application-specific configuration file for an associated executed software application; and
- defaulting to the default configuration file for a software application lacking an associated application-specific configuration file.
12. A method of applying visual indicia to individual graphic user interface controls comprising the steps of:
- identifying at least one graphic user interface control object with a plurality of states;
- assigning a user-selectable visual overlay to the control object;
- associating the visual overlay with a state of the control object;
- saving the assignment to a default configuration file; and
- applying the visual overlay to the control object upon display of the control object in the associated state.
13. The method of claim 12 further comprising the step of toggling the visual overlay on and off responsive to user preference.
14. The method of claim 12 wherein the graphic user interface control object is selected from the group consisting of textboxes, buttons, dropdown lists, list boxes, combo boxes, checkboxes, checkbox lists, radio buttons, and radio button lists.
15. The method of claim 12 wherein the state of the control object is selected from the group consisting of checked, unchecked, selected, enabled, disabled, visible, and invisible.
16. The method of claim 12 wherein the visual overlay is applied to the control object is selected from the group consisting of vector-based predefined geometric shapes and bitmap images.
17. The method of claim 16 wherein the visual overlay is composted with its background according to a predetermined algorithm.
18. The method of 16 wherein the visual overlay further comprises user-adjustable properties selected from the group consisting of shape, dimensions, relative position, opacity, hue, saturation, contrast, brightness, midtone, tint, animation and bitmap image.
19. The method of claim 12 further comprising the steps of:
- identifying a software application that displays at least one control object; and
- saving the assignment to an application-specific configuration file associated with the identified software application;
- applying the application-specific configuration file for an associated executed software application; and
- defaulting to the default configuration file for a software application lacking an associated application-specific configuration file.
20. A method of applying visual indicia to individual graphic user interface controls comprising the steps of:
- identifying at least one graphic user interface control object with a plurality of states;
- assigning a user-selectable visual overlay to the control object;
- associating the visual overlay with an event handler;
- saving the assignment to a default configuration file; and
- applying the visual overlay to the control object responsive to the firing of the associated event.
21. The method of claim 20 further comprising the step of toggling the visual overlay on and off responsive to user preference.
22. The method of claim 20 wherein the graphic user interface control object is selected from the group consisting of textboxes, buttons, dropdown lists, list boxes, combo boxes, checkboxes, checkbox lists, radio buttons, and radio button lists.
23. The method of claim 20 wherein the visual overlay is applied to the control object is selected from the group consisting of vector-based predefined geometric shapes and bitmap images.
24. The method of claim 23 wherein the visual overlay is composted with its background according to a predetermined algorithm.
25. The method of 23 wherein the visual overlay further comprises user-adjustable properties selected from the group consisting of shape, dimensions, relative position, opacity, hue, saturation, contrast, brightness, midtone, tint, animation and bitmap image.
26. The method of claim 20 further comprising the steps of:
- identifying a software application that displays at least one control object; and
- saving the assignment to an application-specific configuration file associated with the identified software application;
- applying the application-specific configuration file for an associated executed software application; and
- defaulting to the default configuration file for a software application lacking an associated application-specific configuration file.
Type: Application
Filed: Feb 12, 2007
Publication Date: Aug 16, 2007
Applicant: FREEDOM SCIENTIFIC, INC. (St. Petersburg, FL)
Inventors: Garald L. Voorhees (St. Petersburg, FL), Ralph Ernest Ocampo (St. Petersburg, FL)
Application Number: 11/673,671
International Classification: G06F 3/048 (20060101);