US20100235736A1 - Virtual Magnifying Glass with on-the Fly Control Functionalities - Google Patents

Virtual Magnifying Glass with on-the Fly Control Functionalities Download PDF

Info

Publication number
US20100235736A1
US20100235736A1 US12/752,776 US75277610A US2010235736A1 US 20100235736 A1 US20100235736 A1 US 20100235736A1 US 75277610 A US75277610 A US 75277610A US 2010235736 A1 US2010235736 A1 US 2010235736A1
Authority
US
United States
Prior art keywords
magnifier
screen
touch pad
magnification
frame
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.)
Abandoned
Application number
US12/752,776
Inventor
Jacob Fleisher
Joseph K. Ngari
Kevin J. Smith
Samuel A. Mann
Scott Mitchell Mail
Michael Winser
David V. Esposito
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Priority to US12/752,776 priority Critical patent/US20100235736A1/en
Publication of US20100235736A1 publication Critical patent/US20100235736A1/en
Assigned to MICROSOFT TECHNOLOGY LICENSING, LLC reassignment MICROSOFT TECHNOLOGY LICENSING, LLC ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: MICROSOFT CORPORATION
Abandoned legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformation in the plane of the image
    • G06T3/40Scaling the whole image or part thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/048Indexing scheme relating to G06F3/048
    • G06F2203/04805Virtual magnifying lens, i.e. window or frame movable on top of displayed information to enlarge it for better reading or selection

Definitions

  • magnification and zoom functionalities are known.
  • Such functionalities have been provided as accessibility options for the visually impaired, and for other purposes, both as features provided within particular application software, and as specialty software intended to provide magnification/zoom functionalities generally available for use at an operating system (e.g., desktop) level and with user applications.
  • an operating system e.g., desktop
  • magnifications and zoom functionalities can be useful within applications, and at an operating system (e.g., desktop) level, where it may be desired to enlarge all or a portion of screen objects or images.
  • An example of a user application providing zoom functionalities is Adobe Acrobat's .pdf document reader.
  • zoom level selections via a dropdown menu there are three pan and zoom related features: Loupe Tool, Pan & Zoom window, Dynamic Zoom tool.
  • a user controls the zoom level with a slider and controls the zoom position by clicking within a document.
  • the zoomed area is represented by a rectangle on the document which is inversely proportional in size to the zoom level; the zoomed view is shown in a separate window.
  • Pan & Zoom window feature a resizable box is moveable on a document page presented in a small window.
  • a document view provided in the background zooms and pans as the box is resized and moved.
  • the Dynamic Zoom tool the regular cursor changes to a representation of a small magnifying glass signifying that a zoom mode has been entered. In this mode, a user is able to click on the document and drag up/down to dynamically zoom in and out, and is able to pan at the lateral edges of the document.
  • Digital Image Pro offers a set of controls on a tool bar provided as part of a window for navigating images. These include a slider based zoom level, return to 100% button, panning window, and a zoom to selection button. Similar to the Adobe Pan and Zoom feature, a box whose size is inversely proportional to a selected zoom level is moveable on an image presented in a small window. A magnified view of the image portion within the box is provided in the background.
  • Zoom functionalities utilizing the input facilities of a computer mouse. For example, rolling the scroll wheel on a mouse in conjunction with pressing the CTRL key on the keyboard (CTRL+Wheel) may allow users to zoom in and out of applications.
  • CTRL+Wheel CTRL+Wheel
  • Each application has its own zooming increments, and scroll wheel zooming applies these increments.
  • Other zoom options reside within the Microsoft IntelliPointTM (mouse) software control panel, as shown in Related Art FIG. 4 .
  • Zoom In and Zoom Out commands have recently been added as options for each mouse button.
  • Some Microsoft keyboards have a Zoom control (e.g., “slider”), which operates under the control of Microsoft's IntelliTypeTM software.
  • magnification and zoom features for a particular user application, as the application can be structured from “the ground up” to accommodate those features. Also, with an application specific magnifier, interaction of the magnifier with independently executing programs and their associated windows is generally not a concern. Zooming is easily achieved in an application.
  • the application has an internal representation of the content to be displayed and if designed correctly it can display the content at different sizes or zoom levels. In Microsoft's Word,® for example, you can zoom in until only a few lines show on the screen yet the text is very clear because the fonts are based on vector graphics (mathematical descriptions of the characters instead of bitmaps).
  • magnification is performed by manipulation of a screenshot or bitmap of the output. Although this doesn't typically increase the detail beyond the applicable screen resolution, it does allow users to view user interface (UI) objects and text at larger sizes.
  • UI user interface
  • Magnifier is a display utility that makes the screen more readable for users who have impaired vision. It creates a separate window that displays a magnified portion of the screen, which portion is determined by the position of the pointing device cursor, e.g., mouse pointer.
  • a user can change the magnification level via settings in the feature's control panel. The user can move or resize the Magnifier window, or drag it to the edge of the screen and lock it into place.
  • a known screen magnification specialty application is Zoom Magic. When launched, this application opens a custom magnification window, as shown in FIG. 1 .
  • the window is sizable and moveable as a regular window. All tools/settings are available in the title bar.
  • the window magnifies whatever is immediately beneath. The mouse cursor can move over the magnified content but it cannot interact with the content.
  • FIG. 1 there is a cursor tracking mode initiated by clicking the arrow button in the window title bar. Clicking on the different red arrows will dock the window top/bottom/left/right. Center undocks the window and reverts it to a regular window.
  • This mode allows overlay of other open windows but does not allow interaction with underlying application windows within the magnification window.
  • Cursor tracking can be toggled on/off by clicking the arrow button. There is an option to keep the magnification window on top of the desktop and any other open windows, but in this mode the magnified image does not update unless the magnification window is clicked.
  • “Lens” is a tool offered by ABF Magnifying Tools (http://www.abf-soft.com/magnifying-tools.shtml) which creates a caricature of a magnifying glass, as seen in Related Art FIG. 2 .
  • the user can reposition the glass by dragging and use it to selectively zoom-in on areas of the screen.
  • a user can adjust the magnification level by clicking the + & ⁇ buttons.
  • This tool takes a static screen shot at the time of activation. If anything changes on the screen, it is not reflected in the zoomed image.
  • ZoomText 8.1 Another example of a known accessibility specialty application is ZoomText 8.1, by AI 2 (http://www.aisquared.com/index.htm).
  • AI 2 http://www.aisquared.com/index.htm.
  • UI modal control panel type user interface
  • zoomText 8.1 The magnifier/zoom features of ZoomText 8.1 have several modes:
  • a Full Screen Mode magnifies the entire screen incrementally. As the mouse nears the edges of the screen, panning is initiated automatically.
  • An Overlay Mode creates a resizable square window in the bottom right hand corner of the screen.
  • the mouse tracks in the regular (1:1) view and that movement is mirrored in the magnified view. As the mouse nears the edges of the screen, panning is initiated automatically within the zoom window.
  • a Lens Mode creates a floating resizable square window that moves with the mouse cursor.
  • a Line Mode creates a horizontal band across the screen that moves up and down with changes in the Y coordinates of the mouse cursor. Dynamic updating occurs within the magnification window to reflect changes in the screen content during use, and interaction with underlying application windows is available through the magnification window, i.e., mouse and keyboard input are permitted to pass through the magnifier to the underlying window.
  • a Docked Mode creates a resizable band (outlined in black) positioned against either the top, bottom right or left edges of the screen. Mouse movement is tracked only in the zoomed view, while the 1:1 view is locked.
  • a Freeze It tool allows the user to draw a resizable box on the screen and lock down (“freeze”) its position.
  • the predefined box view locks the zoom position to particular X and Y coordinates. If content changes within the area that is magnified, then it is reflected in the magnified content within the box.
  • Freeze mode is available only in the “Full Screen” magnifier mode. In the full Screen mode, there is no lens; the whole screen is magnified and the mouse pans to “off-screen” areas.
  • GUI graphical user interface
  • a magnification application intended for use with an operating system that provides a windows-based graphical user interface (GUI), e.g., a Microsoft's Windows® operating system
  • GUI windows-based graphical user interface
  • the magnifier is created as a conventional window, the magnification window itself becomes a part of the desktop when it is opened.
  • system calls to get desktop images for magnification will include the magnifier window itself (and not that portion of the GUI underneath it).
  • Use of such system calls to do magnification, as in the Windows XP magnifier lead to an infinity mirror effect.
  • the result from a user perspective is that he/she is precluded from obtaining a magnified view of what lies beneath the magnification window.
  • a number of available magnification applications have dealt with the above-described difficulty using a technique known as driver chaining.
  • driver chaining a technique known as driver chaining.
  • ATVs assistive technology vendors
  • DDI Display Driver Interface
  • remote control software also uses this technique to intercept information being passed to a remote computer.
  • the DDI interception technique is called driver chaining.
  • the chained driver intercepts the DDI calls from GDI to the display driver and manipulates the calls in such a way as to magnify a part of the screen.
  • the superimposed magnifier output is simply not there, so calls to copy portions of the desktop will not see it.
  • MSDN Microsoft Developers Network
  • the present invention provides software/firmware based systems and methods, executable on a data processing device (e.g., a general or special purpose computer) provided with display screen and user input device (e.g., a pointing device such as a computer mouse, trackball or touch pad, or a computer keyboard).
  • a data processing device e.g., a general or special purpose computer
  • user input device e.g., a pointing device such as a computer mouse, trackball or touch pad, or a computer keyboard.
  • a magnifier in accordance with the invention is controllable by a user to magnify selected portions of a desktop and windows open on the screen.
  • a moveable magnifier frame is provided, within which a magnified image is presented.
  • the magnified image corresponds to screen content located within a magnification region underlying the magnifier frame, magnified to a set level of magnification.
  • a magnifier in accordance with the invention is controllable, on-the-fly, through use of a user input device. At least one operational parameter of the magnifier can be adjusted, without interaction with on-screen objects and without taking focus away from the desktop or any windows open on the screen.
  • the on-the-fly controllability of the magnifier includes the ability to the ability to activate and deactivate the magnifier, adjust its magnification level, and adjust the size of its magnification frame.
  • the display screen magnifier is configured to operate by leveraging resources made available by application programming interfaces (APIs) of an operating system, namely a windows style, and a second stage screen content compositing engine associated with the windows style.
  • APIs application programming interfaces
  • a magnifier window is created which is effectively invisible to the calls to get a desktop image to be magnified.
  • This enables the magnifier to operate in an intuitive manner, permitting the viewer to view what is directly beneath the magnifier, and to interact with the magnifier, without taking focus away from open application windows and/or the desktop.
  • An embodiment of the invention makes advantageous use of windows styles made available by the APIs of Microsoft Windows® 2000 and XP operating systems. In this manner, the need for use of fragile driver chaining techniques is avoided.
  • FIG. 1 is a screen shot showing an on-screen magnification window of a Related Art magnifier product.
  • FIG. 2 is a screenshot showing another Related Art magnifier product.
  • FIG. 3 is a screen shot showing an on-screen tool bar window of a Related Art magnifier product.
  • FIG. 4 shows a control panel provided as part of software for use with a Related Art computer mouse product of the present assignee.
  • FIG. 5 is a flow-diagram illustrating a sequence of operational process steps performed by a screen magnifier embodiment of the invention.
  • FIG. 6 is a screen shot illustrating a moveable and adjustable magnification frame of the invention, including superimposed hint graphics appearing during an adjustment mode of the magnifier.
  • FIG. 7 is a diagrammatic representation of a frame bitmap generation process in accordance with an aspect of the invention.
  • FIG. 8 is a diagrammatic representation of a mask bitmap generation process in accordance with an aspect of the invention.
  • FIG. 9A is a diagrammatic view, including a representational image portion selected for magnification, showing the relationship of a magnifier frame (“MagnifierWindow Rectangle”) and an underlying magnification region (“Capture Rectangle”).
  • MagnifierWindow Rectangle a magnifier frame
  • Capture Rectangle an underlying magnification region
  • FIG. 9B is a sequence of views illustrating stages of a process of the invention for generation and presentation of a magnified image corresponding to the image portion shown in FIG. 9A .
  • FIGS. 10A-10C are diagrammatic views illustrating a process carried out by a 1.5 ⁇ “stretching” algorithm according to an aspect of the invention.
  • An on-screen magnifier includes a moveable magnifier frame within which a magnified image is presented.
  • the magnified image corresponds to screen content located within a magnification region underlying the magnifier frame, magnified to a set level of magnification.
  • a display screen magnifier in accordance with an embodiment of the invention is configured such that while it is activated, it remains on top of the desktop and any other open windows of a screen display. It passes events of a user input device (e.g., a mouse or keyboard) to windows located beneath the magnifier, and dynamically updates the magnified image to reflect changes in underlying screen content.
  • a user input device e.g., a mouse or keyboard
  • Such a display screen magnifier may be embodied in software or firmware executed on a general purpose computer or other data processing device provided with a display screen and user input device.
  • An aspect of the invention involves achieving the above-described behavior by leveraging resources made available through existing application programming interfaces (APIs) of an operating system, particularly a windows style, and a second stage screen content compositing engine associated with that windows style.
  • window style broadly encompasses any set of parameters specifying the functional and/or visual characteristics of a window which is to appear as part of a graphical user interface (GUI), including sets of parameters included within one or plural designated windows styles specified within a set of APIs.
  • GUI graphical user interface
  • the inventive approach can be used in lieu of fragile driver chaining techniques.
  • the magnifier comprises a magnify window created with the following extended window styles, which are provided as part of the APIs of Microsoft's Windows® 2000 and XP operating systems for personal computers:
  • WS_EX_TRANSPARENT This windows style specifies that the window will not be painted until windows beneath this window are painted. This allows a “snapshot” of the screen below the magnifier to be taken before the magnifier is drawn.
  • WS_EX_LAYERED When this style is used in combination with the WS_EX_TRANSPARENT style, the magnifier window will not receive user input from the mouse or keyboard; all input is passed to the applications below the magnifier.
  • the magnifier window When the magnifier window is created as a layered transparent window, pointing device (e.g., mouse) events will be passed to other windows underneath the layered window.
  • this windows style optimizes per-pixel alpha blending which can be used to give the magnifier an alpha blended frame. This characteristic can be used to give the user a visual clue that the magnifier is “floating” above the desktop.
  • WS_EX_NOACTIVATE This windows style also makes the window so that it doesn't take “focus.” That is, if the magnifier window is provided as a window that ordinarily becomes visually highlighted (e.g., a regular window provided with a title bar), the window will not become visually highlighted (e.g., lit-up) as an active window upon clicking within it with a pointing device (e.g., mouse). The user can click through the magnifier. Also, keyboard events (input) will not be captured by the magnifier. This permits the user to interact freely with an application window positioned below the magnifier. Also, with this style, the magnifier does not appear on the taskbar.
  • WS_EX_TOOLWINDOW Addition of the style makes it so the magnifier also does not show up in the alt-tab listing of open windows/applications.
  • WS_EX_TOPMOST This Windows style maintains the magnifier as the topmost window. Without it, the utility of the magnifier could be diminished by the magnifier disappearing behind other windows.
  • MSDN Microsoft Developers Network
  • FIG. 5 An operational process of a magnifier in accordance with an aspect of the invention is illustrated in FIG. 5 .
  • a timer is set so that the magnifier receives a timer message at a predetermined rate (e.g., about 15 to 24 times a second).
  • the timer interval is set at 15 milliseconds, or 67 times per second.
  • the magnifier uses the timer message to continuously update the magnifier image to reflect changes in underlying screen content occurring while the magnifier is in use (activated).
  • An update frequency in the indicated range should permit the magnified image to change relatively smoothly as the magnification frame is moved on the screen, or if there is an animation playing in a window below it, thereby emulating the appearance of an actual optical magnifying glass held and moved in front of the screen.
  • the region to be magnified is captured, the magnifier window is set to topmost and then the capture region is drawn (e.g., “stretch blit”) into the magnifier at the proper magnification level.
  • An embodiment of the invention makes advantageous use of the fact that USER32 (the Win32 window manager) implements a relatively simple composition engine for carrying out a second stage of composition of screen content when Transparent windows are created. This is a “second stage” of composition in the sense that it is different from, and in addition to, the ordinary or normal desktop composition process.
  • the normal composition process employed by Microsoft's Windows® operating systems follows what is sometimes referred to as a modified painters algorithm. Windows are painted to the desktop in reverse z order (top to bottom). Aggressive “clipping” is used to confine the areas of the screen to be redrawn to areas where content is being added or change has occurred, to thereby avoid screen flicker and reduce the amount of actual painting/drawing work.
  • Windows® creates intermediate bitmap buffers for the desktop and the transparent windows, respectively. The contents of these buffers are then “composed” to create the final output.
  • Calls to take a snapshot of the desktop e.g., GetDC(NULL)
  • StretchBlt Stretch blit
  • the desktop buffer not the desktop resulting from the second stage composition process.
  • the magnification window both enables the second stage composition process, and puts itself above the main desktop.
  • Use of the “Topmost” windows style will keep the magnifier topmost, by preventing a new window from subsequently appearing and setting itself as topmost.
  • a magnifier in accordance with the invention presents a resizable magnification frame which is moveable on the display screen and within which is presented a magnified image corresponding to screen content located in a magnification region underlying the magnification frame.
  • the magnification frame/lens is pinned to and centered on the pointing device cursor, so as to move with the same.
  • the magnification frame (which bounds the virtual “lens” of the magnifier) could be made movable independently of the pointing device cursor.
  • a computer display magnifier in accordance with an aspect of the invention “floats” above the desktop and any open windows, and does not take focus away from the desktop or any open window. As previously described, these are desirable characteristics. They present the problem, however, of how to resize the magnifier and change its magnification level. For a normal application windows this would be trivial; resizing would be achieved by clicking and dragging window borders, and the magnification level could be changed with on-screen controls. However, using methods like this results in focus being away from other open windows, which might have unintended and undesirable consequences. Settings could also be changed through a control panel page, but this approach is cumbersome and time-consuming, especially for a user who may desire the frequent intermittent assistance of a magnifier during the course of carrying out various tasks on a computer.
  • a magnifier is provided which can be toggled on and off by the user substantially instantaneously, by clicking a designated magnify button provided on a user input device (e.g., a computer mouse or keyboard).
  • the magnifier control switch may be a dedicated button (or other type of user actuable switch), or a button assigned by the user to the magnify feature.
  • the user can hold down the magnify button for a predetermined short period of time (e.g., about a half second) to enter an adjustment mode.
  • a graphic as shown in FIG. 6
  • the user can change the magnification and size of the lens.
  • the graphic which appears on the screen may provide a visual indication of suitable user inputs (e.g., mouse movements and scroll wheel rotations) for effecting adjustment of the magnifier. The user does not, however, interact with those graphics to effect the adjustments.
  • An exemplary scheme for changing the size of the magnification lens/frame is outlined below.
  • changes to a width dimension of the magnifier frame may be effected in the following manner. If the user depresses and holds down the mouse button assigned to the magnify function, and moves the mouse a predetermined distance in a predetermined direction (e.g., 50 pixels to the RIGHT), the magnifier frame can be caused to increase in size (e.g., at one or both of its right and left hand sides) at a rate corresponding to the movement of the mouse in that direction.
  • a predetermined distance e.g., 50 pixels to the RIGHT
  • the magnifier frame can be caused to decrease in size (e.g., at one or both of the right and left hand sides) at a rate corresponding to the movement of the mouse in that direction.
  • changes to a height dimension of the magnifier frame may be effected similarly. If the user depresses and holds down the designated mouse button and moves the mouse a predetermined distance in a third predetermined direction (e.g., 50 pixels DOWN), the magnifier frame will start to increase in size (e.g., at one or both of its bottom and top sides) at a rate corresponding to the movement of the mouse. If the user depresses and holds down the designated button and moves the mouse a predetermined distance in a fourth predetermined direction (e.g., 50 pixels UP), the magnifier frame will start to decrease in size (e.g., at one or both of the bottom and its top sides) at a rate corresponding to the movement of the mouse.
  • a third predetermined direction e.g., 50 pixels DOWN
  • the magnifier frame will start to increase in size (e.g., at one or both of its bottom and top sides) at a rate corresponding to the movement of the mouse.
  • a fourth predetermined direction e.g.,
  • the level of magnification may be changed in the following manner. If the user depresses the designated mouse button, then while holding the button down scrolls the mouse wheel towards herself, the magnification level will decrease within any bound set by a minimum magnification level (e.g., 1:1 magnification ratio). If the user depresses the designated mouse button, then while holding the button down scrolls the mouse wheel away from herself, the magnification level will increase (within any bound set by a maximum magnification level).
  • the magnifier level is incrementally adjustable to the following levels: 1.5 ⁇ , 2 ⁇ , 3 ⁇ , 4 ⁇ and 5 ⁇ .
  • An exemplary magnifier in accordance with the invention is implemented using extended windows styles available as part of the APIs provided by Microsoft's Windows® 2000 and XP operating systems.
  • the magnifier may be configured as a single layered (WS_EX_LAYERED), transparent (WS_EX_TRANSPARENT) window which periodically captures a portion of the screen image, stretches it, and updates its window image.
  • WS_EX_LAYERED single layered
  • WS_EX_TRANSPARENT transparent window image.
  • These particular window attributes allow the window to “float” above the desktop and any open application windows. With these style flags set, the magnifier never receives focus. Instead, software “hooks” are used to selectively obtain user input from the mouse, which is used to make adjustments to the magnifier without interrupting ongoing user tasks and application processes.
  • a computer mouse is used to provide an input button which is used in conjunction with mouse and scroll wheel movement to effect adjustments to the magnifier.
  • various other known user input devices could be used for providing on-the-fly controllability of the magnifier, including trackball devices, computer keyboards, touch pads and joysticks.
  • a mouse hook is set.
  • the mouse hook “eats” the mouse-generated input and redirects it to the magnifier window, which normally receives no input.
  • the mouse input (mouse movement and scroll wheel rotation information) is used to adjust the settings.
  • Any underlying “in focus” application receives no mouse movement or scroll wheel notifications while the mouse hook is set.
  • the hook is released as soon as the adjustment mode is exited, which occurs immediately upon release of the button, so that the application in focus can once again receive mouse input.
  • the focus application never loses focus, so there are no unintended side effects.
  • the settings are stored as three registry values: magnification level; width of magnifier, in pixels; and height of magnifier, in pixels.
  • MSDN Microsoft Developers Network
  • MagnifierWindow which implements the window procedure, creation, update timer and destruction
  • MagnifierRenderer which implements screen image capture and window rendering
  • the MagnifierWindow class creates a window with the WS_EX_LAYERED and WS_EX_TRANSPARENT styles (among others). On startup, it determines the initial magnifier size and magnification level and initializes a MagnifierRenderer object. It also creates a timer object, and on each timer tick, calls the Update( . . . ) method on the MagnifierRenderer object to update the image and position of the magnifier on the screen. The magnifier window closes itself when the user clicks the magnifier mouse button a second time and saves the size and magnification level. The HWND associated with the MagnifierWindow object is released when the WM_CLOSE message is received.
  • WM_QUIT is posted to the thread's message pump when the window is destroyed.
  • the MagniferWindow can be provided with the previously described magnifier adjustment mode, entered by depressing and holding down the designated magnifier mouse button.
  • the following is an exemplary listing of constituent methods and message handlers that may be included in the MagnifierWindow class:
  • the MagnifierRenderer class performs the screen capture and magnification rendering operations. It is associated with a window handle and given a magnification level.
  • An exemplary listing of constituent methods that may be included in the MagnifierRenderer follows:
  • MagnifierRenderer Exemplary processes and functionalities of the MagnifierRenderer are described below, with reference to FIGS. 7-10 .
  • AttachWindow( . . . ) saves the specified window handle and creates the images for the frame and lens mask.
  • the frame and lens mask images match the window width and height.
  • the frame is composed of nine individual elements. The center elements are stretched to make up a frame of the required size. Note that the shaded areas in these images represents transparent pixels.
  • a lens mask image is created in the same manner.
  • the opaque pixels in the mask represented by the non-shaded area define a region where the stretched image will appear. Note that the shaded areas in these images represented transparent pixels.
  • the MagnifierRenderer::Update( . . . ) method checks to see whether the owner window dimensions have changed, and if so, updates the frame and lens mask images to match the new size. Clients may call AttachWindow( . . . ) to explicitly cause the frame and lens mask images to be recreated.
  • the source image capture rectangle is centered at the current mouse pointer position.
  • the width of the illustrated Capture Rectangle (which defines the magnification region) is the width of the Magnifier Window Rectangle (magnifier frame) divided by the level of magnification.
  • the height of the CaptureRectangle is the height of the MagnifierWindow Rectangle divided by the level of magnification.
  • the captured image is stretched to the window size.
  • the stretched image is masked with the lens mask.
  • the frame is applied to the stretched image.
  • the magnification adjustment and frame resizing hint graphics are added to the framed image. The hint graphics appear only when the adjustment mode is active.
  • a standard Windows API can be used to stretch bit images to the magnifier frame at different levels of magnification.
  • a default magnification level of 1.5 ⁇ utilizes a different algorithm for optimizing speed and improving the appearance of the magnified image.
  • the first source pixel is copied to the first destination pixel.
  • the second source pixel is copied to the third destination pixel.
  • the second destination pixel is set as the average of the first two source pixels.
  • the stretching algorithm used by the magnifier stretches the source rows 0 , 1 , 2 , 3 , 4 , . . . into the destination rows 0 , 2 , 3 , 5 , 6 , . . . respectively as shown in FIG. 10B .
  • the algorithm then goes back through and fills in rows 1 , 4 , 7 , etc. by averaging the pixels from one row above and below the destination pixel, as depicted in FIG. 10C .

Abstract

A display screen magnifier is controllable by a user to magnify selected portions of a desktop including windows open on the screen. A moveable magnifier frame is provided, within which a magnified image is presented. The magnified image corresponds to screen content located within a magnification region underlying the magnifier frame, magnified to a set level of magnification. The magnifier is controllable through use of a user input device. At least one operational parameter of the magnifier can be adjusted, without interaction with on-screen objects and without taking focus away from the desktop or any windows open on the screen. In a particular embodiment of the invention, on-the-fly controllability of the magnifier includes its activation and deactivation, adjustment of the magnification level, and adjustment of the size of the magnifier frame.

Description

  • A portion of the disclosure of this patent document contains material which is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure, as it appears in the Patent and Trademark Office patent file or records, but otherwise reserves all copyright rights whatsoever.
  • BACKGROUND OF THE INVENTION
  • Various types of computer display screen magnification and zoom functionalities are known. In general, such magnifiers show a magnified copy of a portion of what appears on a computer's screen. Such functionalities have been provided as accessibility options for the visually impaired, and for other purposes, both as features provided within particular application software, and as specialty software intended to provide magnification/zoom functionalities generally available for use at an operating system (e.g., desktop) level and with user applications. For the visually impaired, such features may assist with the reading of small screen text and/or the discernment of icons and the like. More generally, magnifications and zoom functionalities can be useful within applications, and at an operating system (e.g., desktop) level, where it may be desired to enlarge all or a portion of screen objects or images.
  • An example of a user application providing zoom functionalities is Adobe Acrobat's .pdf document reader. In addition to standard toolbar zoom level selections via a dropdown menu, there are three pan and zoom related features: Loupe Tool, Pan & Zoom window, Dynamic Zoom tool.
  • With the Loupe Tool, a user controls the zoom level with a slider and controls the zoom position by clicking within a document. The zoomed area is represented by a rectangle on the document which is inversely proportional in size to the zoom level; the zoomed view is shown in a separate window. With the Pan & Zoom window feature, a resizable box is moveable on a document page presented in a small window. A document view provided in the background zooms and pans as the box is resized and moved. With the Dynamic Zoom tool, the regular cursor changes to a representation of a small magnifying glass signifying that a zoom mode has been entered. In this mode, a user is able to click on the document and drag up/down to dynamically zoom in and out, and is able to pan at the lateral edges of the document.
  • As a further example of a zoom feature provided as part of user application software, Digital Image Pro offers a set of controls on a tool bar provided as part of a window for navigating images. These include a slider based zoom level, return to 100% button, panning window, and a zoom to selection button. Similar to the Adobe Pan and Zoom feature, a box whose size is inversely proportional to a selected zoom level is moveable on an image presented in a small window. A magnified view of the image portion within the box is provided in the background.
  • Applications commonly implement zoom functionalities utilizing the input facilities of a computer mouse. For example, rolling the scroll wheel on a mouse in conjunction with pressing the CTRL key on the keyboard (CTRL+Wheel) may allow users to zoom in and out of applications. Each application has its own zooming increments, and scroll wheel zooming applies these increments. Other zoom options reside within the Microsoft IntelliPoint™ (mouse) software control panel, as shown in Related Art FIG. 4. On the Buttons tab, Zoom In and Zoom Out commands have recently been added as options for each mouse button. Some Microsoft keyboards have a Zoom control (e.g., “slider”), which operates under the control of Microsoft's IntelliType™ software.
  • As compared with magnifier software developed for use at an operating system (desktop) level, there is greater flexibility in the development of magnification and zoom features for a particular user application, as the application can be structured from “the ground up” to accommodate those features. Also, with an application specific magnifier, interaction of the magnifier with independently executing programs and their associated windows is generally not a concern. Zooming is easily achieved in an application. The application has an internal representation of the content to be displayed and if designed correctly it can display the content at different sizes or zoom levels. In Microsoft's Word,® for example, you can zoom in until only a few lines show on the screen yet the text is very clear because the fonts are based on vector graphics (mathematical descriptions of the characters instead of bitmaps).
  • With a magnifier designed to be generally available for use with the desktop and with any other open windows, i.e., at an operating system (OS) level, the internal representation that an application may have for zoom functionalities is not available. Rather, magnification is performed by manipulation of a screenshot or bitmap of the output. Although this doesn't typically increase the detail beyond the applicable screen resolution, it does allow users to view user interface (UI) objects and text at larger sizes. The manner in which such a magnifier interacts with the various underlying screen elements and windows is of great importance; the nature of that interaction is likely to have a significant impact on the actual and perceived usability of the feature.
  • An example of an existing OS level screen magnification feature is the “Magnifier” of Microsoft's Windows XP® operating system. Magnifier is a display utility that makes the screen more readable for users who have impaired vision. It creates a separate window that displays a magnified portion of the screen, which portion is determined by the position of the pointing device cursor, e.g., mouse pointer. A user can change the magnification level via settings in the feature's control panel. The user can move or resize the Magnifier window, or drag it to the edge of the screen and lock it into place.
  • A known screen magnification specialty application is Zoom Magic. When launched, this application opens a custom magnification window, as shown in FIG. 1. The window is sizable and moveable as a regular window. All tools/settings are available in the title bar. The window magnifies whatever is immediately beneath. The mouse cursor can move over the magnified content but it cannot interact with the content.
  • Referring to FIG. 1, there is a cursor tracking mode initiated by clicking the arrow button in the window title bar. Clicking on the different red arrows will dock the window top/bottom/left/right. Center undocks the window and reverts it to a regular window. This mode allows overlay of other open windows but does not allow interaction with underlying application windows within the magnification window. Cursor tracking can be toggled on/off by clicking the arrow button. There is an option to keep the magnification window on top of the desktop and any other open windows, but in this mode the magnified image does not update unless the magnification window is clicked.
  • “Lens” is a tool offered by ABF Magnifying Tools (http://www.abf-soft.com/magnifying-tools.shtml) which creates a caricature of a magnifying glass, as seen in Related Art FIG. 2. The user can reposition the glass by dragging and use it to selectively zoom-in on areas of the screen. A user can adjust the magnification level by clicking the + & − buttons. This tool takes a static screen shot at the time of activation. If anything changes on the screen, it is not reflected in the zoomed image.
  • Another example of a known accessibility specialty application is ZoomText 8.1, by AI2 (http://www.aisquared.com/index.htm). When application is launched, a modal control panel type user interface (UI) appears, as shown in Related Art FIG. 3.
  • The magnifier/zoom features of ZoomText 8.1 have several modes:
  • A Full Screen Mode magnifies the entire screen incrementally. As the mouse nears the edges of the screen, panning is initiated automatically.
  • An Overlay Mode creates a resizable square window in the bottom right hand corner of the screen. The mouse tracks in the regular (1:1) view and that movement is mirrored in the magnified view. As the mouse nears the edges of the screen, panning is initiated automatically within the zoom window.
  • A Lens Mode creates a floating resizable square window that moves with the mouse cursor. A Line Mode creates a horizontal band across the screen that moves up and down with changes in the Y coordinates of the mouse cursor. Dynamic updating occurs within the magnification window to reflect changes in the screen content during use, and interaction with underlying application windows is available through the magnification window, i.e., mouse and keyboard input are permitted to pass through the magnifier to the underlying window.
  • A Docked Mode creates a resizable band (outlined in black) positioned against either the top, bottom right or left edges of the screen. Mouse movement is tracked only in the zoomed view, while the 1:1 view is locked.
  • When enabled, a Freeze It tool allows the user to draw a resizable box on the screen and lock down (“freeze”) its position. The predefined box view locks the zoom position to particular X and Y coordinates. If content changes within the area that is magnified, then it is reflected in the magnified content within the box. Freeze mode is available only in the “Full Screen” magnifier mode. In the full Screen mode, there is no lens; the whole screen is magnified and the mouse pans to “off-screen” areas.
  • Known display screen magnifiers are less than ideal in terms of their simplicity and convenience, and the intuitiveness of their use. Also, the manner in which some magnifiers are implemented renders them highly fragile, i.e., susceptible to malfunction in the event of operating system/driver updates and patches.
  • It would be desirable to have a robust computer implemented display screen magnifier which behaves more like an actual optical lens magnifier in terms of being able to “float above” the computer desktop and other open windows, to provide a magnified view of what is beneath it in a natural and intuitive way, and to permit uninhibited viewing and interaction with the underlying desktop/windows.
  • Implementing a magnification application intended for use with an operating system that provides a windows-based graphical user interface (GUI), e.g., a Microsoft's Windows® operating system, presents certain challenges. If the magnifier is created as a conventional window, the magnification window itself becomes a part of the desktop when it is opened. As a result, system calls to get desktop images for magnification will include the magnifier window itself (and not that portion of the GUI underneath it). Use of such system calls to do magnification, as in the Windows XP magnifier, lead to an infinity mirror effect. The result from a user perspective is that he/she is precluded from obtaining a magnified view of what lies beneath the magnification window.
  • A number of available magnification applications, such as the previously mentioned ZoomText product, have dealt with the above-described difficulty using a technique known as driver chaining. With this approach, a selected portion of the screen content composited by the operating system is intercepted and manipulated by the kernel level magnifier before going to the video display driver. With screen reading or screen magnification software, assistive technology vendors (ATVs) essentially locate the display driver, get the information needed for it, then pass the sometimes modified Display Driver Interface (DDI) calls to the original display driver. (Certain remote control software also uses this technique to intercept information being passed to a remote computer.) The DDI interception technique is called driver chaining. The chained driver intercepts the DDI calls from GDI to the display driver and manipulates the calls in such a way as to magnify a part of the screen. As far as the Windows® operating system is concerned, the superimposed magnifier output is simply not there, so calls to copy portions of the desktop will not see it.
  • Because driver chaining intervenes with a preestablished operating system/driver relationship, it may not be officially supported by the operating system supplier, e.g., Microsoft. As a result, the technique tends to be very fragile and prone to malfunction, e.g., if the operating system is upgraded with new service packs or drivers. Additional information concerning driver chaining, and its application in screen magnifiers and other assistive technology products, can be found on the Microsoft Developers Network (MSDN), at http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnacc/html/atgdriverch ain.asp.
  • Changing settings for a computer display magnifier is slow and inconvenient through a traditional control panel. It would be highly advantageous if the user was able to perform basic magnifier control functions on-the-fly, without losing task context or requiring access to a control panel or otherwise interacting with on-screen tools/objects.
  • The ability to activate, deactivate, position and adjust the size and/or magnification level of a magnifier, without taking focus away from open windows would be highly beneficial. Magnifier settings could be easily changed if the magnifier took focus and accepted mouse/keyboard input. However, this has the problem of returning focus to the application of interest once the user is finished adjusting settings. When the application is made active and returns to the foreground, it may not be in the same state and the keyboard focus may be on a different control.
  • SUMMARY OF THE INVENTION
  • The present invention provides software/firmware based systems and methods, executable on a data processing device (e.g., a general or special purpose computer) provided with display screen and user input device (e.g., a pointing device such as a computer mouse, trackball or touch pad, or a computer keyboard). These systems and methods serve to provide a means by which a user may conveniently, selectively enlarge portions of the content of the screen display. New approaches to providing such a display screen magnifier are provided in order to address one or more shortcomings of known magnifiers as described above.
  • A magnifier in accordance with the invention is controllable by a user to magnify selected portions of a desktop and windows open on the screen. A moveable magnifier frame is provided, within which a magnified image is presented. The magnified image corresponds to screen content located within a magnification region underlying the magnifier frame, magnified to a set level of magnification.
  • A magnifier in accordance with the invention is controllable, on-the-fly, through use of a user input device. At least one operational parameter of the magnifier can be adjusted, without interaction with on-screen objects and without taking focus away from the desktop or any windows open on the screen. In a particular embodiment of the invention, the on-the-fly controllability of the magnifier includes the ability to the ability to activate and deactivate the magnifier, adjust its magnification level, and adjust the size of its magnification frame.
  • In accordance with an aspect of the invention, the display screen magnifier is configured to operate by leveraging resources made available by application programming interfaces (APIs) of an operating system, namely a windows style, and a second stage screen content compositing engine associated with the windows style.
  • In accordance with an aspect of the invention, a magnifier window is created which is effectively invisible to the calls to get a desktop image to be magnified. This enables the magnifier to operate in an intuitive manner, permitting the viewer to view what is directly beneath the magnifier, and to interact with the magnifier, without taking focus away from open application windows and/or the desktop. An embodiment of the invention makes advantageous use of windows styles made available by the APIs of Microsoft Windows® 2000 and XP operating systems. In this manner, the need for use of fragile driver chaining techniques is avoided.
  • The above and other objects, features and advantages of the present invention will be readily apparent and fully understood from the following detailed description of preferred embodiments, taken in connection with the appended drawings.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • FIG. 1 is a screen shot showing an on-screen magnification window of a Related Art magnifier product.
  • FIG. 2 is a screenshot showing another Related Art magnifier product.
  • FIG. 3 is a screen shot showing an on-screen tool bar window of a Related Art magnifier product.
  • FIG. 4 shows a control panel provided as part of software for use with a Related Art computer mouse product of the present assignee.
  • FIG. 5 is a flow-diagram illustrating a sequence of operational process steps performed by a screen magnifier embodiment of the invention.
  • FIG. 6 is a screen shot illustrating a moveable and adjustable magnification frame of the invention, including superimposed hint graphics appearing during an adjustment mode of the magnifier.
  • FIG. 7 is a diagrammatic representation of a frame bitmap generation process in accordance with an aspect of the invention.
  • FIG. 8 is a diagrammatic representation of a mask bitmap generation process in accordance with an aspect of the invention.
  • FIG. 9A is a diagrammatic view, including a representational image portion selected for magnification, showing the relationship of a magnifier frame (“MagnifierWindow Rectangle”) and an underlying magnification region (“Capture Rectangle”).
  • FIG. 9B is a sequence of views illustrating stages of a process of the invention for generation and presentation of a magnified image corresponding to the image portion shown in FIG. 9A.
  • FIGS. 10A-10C are diagrammatic views illustrating a process carried out by a 1.5× “stretching” algorithm according to an aspect of the invention.
  • DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
  • An on-screen magnifier according to the invention includes a moveable magnifier frame within which a magnified image is presented. The magnified image corresponds to screen content located within a magnification region underlying the magnifier frame, magnified to a set level of magnification.
  • A display screen magnifier in accordance with an embodiment of the invention is configured such that while it is activated, it remains on top of the desktop and any other open windows of a screen display. It passes events of a user input device (e.g., a mouse or keyboard) to windows located beneath the magnifier, and dynamically updates the magnified image to reflect changes in underlying screen content. Such a display screen magnifier may be embodied in software or firmware executed on a general purpose computer or other data processing device provided with a display screen and user input device.
  • An aspect of the invention involves achieving the above-described behavior by leveraging resources made available through existing application programming interfaces (APIs) of an operating system, particularly a windows style, and a second stage screen content compositing engine associated with that windows style. As used herein, “windows style” broadly encompasses any set of parameters specifying the functional and/or visual characteristics of a window which is to appear as part of a graphical user interface (GUI), including sets of parameters included within one or plural designated windows styles specified within a set of APIs. The inventive approach can be used in lieu of fragile driver chaining techniques.
  • In an exemplary embodiment of the invention, the magnifier comprises a magnify window created with the following extended window styles, which are provided as part of the APIs of Microsoft's Windows® 2000 and XP operating systems for personal computers:
  • WS_EX_TRANSPARENT: This windows style specifies that the window will not be painted until windows beneath this window are painted. This allows a “snapshot” of the screen below the magnifier to be taken before the magnifier is drawn.
  • WS_EX_LAYERED: When this style is used in combination with the WS_EX_TRANSPARENT style, the magnifier window will not receive user input from the mouse or keyboard; all input is passed to the applications below the magnifier. When the magnifier window is created as a layered transparent window, pointing device (e.g., mouse) events will be passed to other windows underneath the layered window. Also, this windows style optimizes per-pixel alpha blending which can be used to give the magnifier an alpha blended frame. This characteristic can be used to give the user a visual clue that the magnifier is “floating” above the desktop.
  • WS_EX_NOACTIVATE: This windows style also makes the window so that it doesn't take “focus.” That is, if the magnifier window is provided as a window that ordinarily becomes visually highlighted (e.g., a regular window provided with a title bar), the window will not become visually highlighted (e.g., lit-up) as an active window upon clicking within it with a pointing device (e.g., mouse). The user can click through the magnifier. Also, keyboard events (input) will not be captured by the magnifier. This permits the user to interact freely with an application window positioned below the magnifier. Also, with this style, the magnifier does not appear on the taskbar.
  • WS_EX_TOOLWINDOW: Addition of the style makes it so the magnifier also does not show up in the alt-tab listing of open windows/applications.
  • WS_EX_TOPMOST: This Windows style maintains the magnifier as the topmost window. Without it, the utility of the magnifier could be diminished by the magnifier disappearing behind other windows.
  • Additional information on these and other extended windows styles included in the APIs of Microsoft's Windows® operating systems can be found on the Microsoft Developers Network (MSDN), e.g., at http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/winui/windowsuserinterface/windowing/windows/windowreference/windowfun ctions/createwindowex. asp.
  • An exemplary magnifier window creation function that may be used is set forth below:
  • // Create Magnifier window
    HWND hwnd=::CreateWindowEx(
        WS_EX_NOACTIVATE | WS_EX_TRANSPARENT |
        WS_EX_LAYERED | WS_EX_TOPMOST |
        WS_EX_TOOLWINDOW,
         wndClass.lpszClassName, L“”,
         WS_POPUP | WS_VISIBLE | WS_DISABLED,
         0,0,0,0,
         NULL, NULL, hInstance, 0);
  • An operational process of a magnifier in accordance with an aspect of the invention is illustrated in FIG. 5. Once the magnifier window is activated, a timer is set so that the magnifier receives a timer message at a predetermined rate (e.g., about 15 to 24 times a second). In one embodiment, the timer interval is set at 15 milliseconds, or 67 times per second. The magnifier uses the timer message to continuously update the magnifier image to reflect changes in underlying screen content occurring while the magnifier is in use (activated). An update frequency in the indicated range should permit the magnified image to change relatively smoothly as the magnification frame is moved on the screen, or if there is an animation playing in a window below it, thereby emulating the appearance of an actual optical magnifying glass held and moved in front of the screen. As shown in FIG. 5, when a timer message is received, the region to be magnified is captured, the magnifier window is set to topmost and then the capture region is drawn (e.g., “stretch blit”) into the magnifier at the proper magnification level.
  • An embodiment of the invention makes advantageous use of the fact that USER32 (the Win32 window manager) implements a relatively simple composition engine for carrying out a second stage of composition of screen content when Transparent windows are created. This is a “second stage” of composition in the sense that it is different from, and in addition to, the ordinary or normal desktop composition process. The normal composition process employed by Microsoft's Windows® operating systems follows what is sometimes referred to as a modified painters algorithm. Windows are painted to the desktop in reverse z order (top to bottom). Aggressive “clipping” is used to confine the areas of the screen to be redrawn to areas where content is being added or change has occurred, to thereby avoid screen flicker and reduce the amount of actual painting/drawing work.
  • When a window uses drop shadows, transparency or any other effect that requires Windows® to merge the window's pixels with whatever is “behind” it, Windows® creates intermediate bitmap buffers for the desktop and the transparent windows, respectively. The contents of these buffers are then “composed” to create the final output. Calls to take a snapshot of the desktop (e.g., GetDC(NULL)), and to stretch blit (StretchBlt) from the desktop, will use the desktop buffer, not the desktop resulting from the second stage composition process. By making itself a Windows® “Transparent” window (even if its opacity is set to 100%), the magnification window both enables the second stage composition process, and puts itself above the main desktop. Use of the “Topmost” windows style will keep the magnifier topmost, by preventing a new window from subsequently appearing and setting itself as topmost.
  • A magnifier in accordance with the invention presents a resizable magnification frame which is moveable on the display screen and within which is presented a magnified image corresponding to screen content located in a magnification region underlying the magnification frame. In the principal embodiment described herein, the magnification frame/lens is pinned to and centered on the pointing device cursor, so as to move with the same. In other embodiments, the magnification frame (which bounds the virtual “lens” of the magnifier) could be made movable independently of the pointing device cursor.
  • A computer display magnifier in accordance with an aspect of the invention “floats” above the desktop and any open windows, and does not take focus away from the desktop or any open window. As previously described, these are desirable characteristics. They present the problem, however, of how to resize the magnifier and change its magnification level. For a normal application windows this would be trivial; resizing would be achieved by clicking and dragging window borders, and the magnification level could be changed with on-screen controls. However, using methods like this results in focus being away from other open windows, which might have unintended and undesirable consequences. Settings could also be changed through a control panel page, but this approach is cumbersome and time-consuming, especially for a user who may desire the frequent intermittent assistance of a magnifier during the course of carrying out various tasks on a computer.
  • In accordance with an aspect of the invention, a magnifier is provided which can be toggled on and off by the user substantially instantaneously, by clicking a designated magnify button provided on a user input device (e.g., a computer mouse or keyboard). The magnifier control switch may be a dedicated button (or other type of user actuable switch), or a button assigned by the user to the magnify feature.
  • In an exemplary embodiment, once the magnifier is displayed on the screen, the user can hold down the magnify button for a predetermined short period of time (e.g., about a half second) to enter an adjustment mode. To signal to the user that the adjustment mode is active, a graphic, as shown in FIG. 6, can be caused to appear in (e.g., fade into) the magnify lens area bounded by the magnifier frame. While in the adjustment mode, the user can change the magnification and size of the lens. As depicted in FIG. 6, the graphic which appears on the screen may provide a visual indication of suitable user inputs (e.g., mouse movements and scroll wheel rotations) for effecting adjustment of the magnifier. The user does not, however, interact with those graphics to effect the adjustments. An exemplary scheme for changing the size of the magnification lens/frame is outlined below.
  • With the magnifier activated, changes to a width dimension of the magnifier frame may be effected in the following manner. If the user depresses and holds down the mouse button assigned to the magnify function, and moves the mouse a predetermined distance in a predetermined direction (e.g., 50 pixels to the RIGHT), the magnifier frame can be caused to increase in size (e.g., at one or both of its right and left hand sides) at a rate corresponding to the movement of the mouse in that direction. If the user depresses and holds down the designated mouse button, and moves the mouse a predetermined distance in a second predetermined direction (e.g., 50 pixels to the LEFT), the magnifier frame can be caused to decrease in size (e.g., at one or both of the right and left hand sides) at a rate corresponding to the movement of the mouse in that direction.
  • With the magnifier activated, changes to a height dimension of the magnifier frame may be effected similarly. If the user depresses and holds down the designated mouse button and moves the mouse a predetermined distance in a third predetermined direction (e.g., 50 pixels DOWN), the magnifier frame will start to increase in size (e.g., at one or both of its bottom and top sides) at a rate corresponding to the movement of the mouse. If the user depresses and holds down the designated button and moves the mouse a predetermined distance in a fourth predetermined direction (e.g., 50 pixels UP), the magnifier frame will start to decrease in size (e.g., at one or both of the bottom and its top sides) at a rate corresponding to the movement of the mouse.
  • Vertical and horizontal changes to the size of the magnifier frame can be made simultaneously, by combining the mouse movements described above. The size settings of the magnifier may be preserved so that the next time the magnifier is launched, the magnifier frame/lens will be the same size that it was before it was last closed.
  • With the magnifier activated, the level of magnification may be changed in the following manner. If the user depresses the designated mouse button, then while holding the button down scrolls the mouse wheel towards herself, the magnification level will decrease within any bound set by a minimum magnification level (e.g., 1:1 magnification ratio). If the user depresses the designated mouse button, then while holding the button down scrolls the mouse wheel away from herself, the magnification level will increase (within any bound set by a maximum magnification level). In an exemplary embodiment, the magnifier level is incrementally adjustable to the following levels: 1.5×, 2×, 3×, 4× and 5×.
  • With the magnifier deactivated (off), depressing then releasing the designated mouse button will cause the magnifier to be activated and appear on the screen. A subsequent momentary depression of the button will instantly deactivate the magnifier. If, while the magnifier is deactivated, the user depresses the designated button then while holding the button down scrolls the mouse wheel toward or away from herself, the scroll events will go to the application that has focus. When the user releases the magnify button, the magnifier will be activated and appear on the screen.
  • An exemplary magnifier in accordance with the invention is implemented using extended windows styles available as part of the APIs provided by Microsoft's Windows® 2000 and XP operating systems. In particular, the magnifier may be configured as a single layered (WS_EX_LAYERED), transparent (WS_EX_TRANSPARENT) window which periodically captures a portion of the screen image, stretches it, and updates its window image. These particular window attributes allow the window to “float” above the desktop and any open application windows. With these style flags set, the magnifier never receives focus. Instead, software “hooks” are used to selectively obtain user input from the mouse, which is used to make adjustments to the magnifier without interrupting ongoing user tasks and application processes.
  • In the principal embodiment described hereinabove, a computer mouse is used to provide an input button which is used in conjunction with mouse and scroll wheel movement to effect adjustments to the magnifier. It will be understood, however, that various other known user input devices could be used for providing on-the-fly controllability of the magnifier, including trackball devices, computer keyboards, touch pads and joysticks.
  • In accordance with an exemplary embodiment of the invention, once the magnify button is held down long enough to enter the adjustment mode, a mouse hook is set. The mouse hook “eats” the mouse-generated input and redirects it to the magnifier window, which normally receives no input. The mouse input (mouse movement and scroll wheel rotation information) is used to adjust the settings. Any underlying “in focus” application receives no mouse movement or scroll wheel notifications while the mouse hook is set. The hook is released as soon as the adjustment mode is exited, which occurs immediately upon release of the button, so that the application in focus can once again receive mouse input. The focus application never loses focus, so there are no unintended side effects. In the described exemplary magnifier, the settings are stored as three registry values: magnification level; width of magnifier, in pixels; and height of magnifier, in pixels.
  • Information concerning “hooks” usable with Microsoft's Windows™ operating systems can be found on the Microsoft Developers Network (MSDN), e.g., at:
      • http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnwui/html/msdn_hoo ks32.asp.
  • See also:
  • http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/winui/windowsus erinterface/windowing/hooks.asp.
  • Software suitable for implementation of an exemplary embodiment of the inventive magnifier may be described in terms of two primary classes: MagnifierWindow, which implements the window procedure, creation, update timer and destruction; and MagnifierRenderer, which implements screen image capture and window rendering.
  • The MagnifierWindow class creates a window with the WS_EX_LAYERED and WS_EX_TRANSPARENT styles (among others). On startup, it determines the initial magnifier size and magnification level and initializes a MagnifierRenderer object. It also creates a timer object, and on each timer tick, calls the Update( . . . ) method on the MagnifierRenderer object to update the image and position of the magnifier on the screen. The magnifier window closes itself when the user clicks the magnifier mouse button a second time and saves the size and magnification level. The HWND associated with the MagnifierWindow object is released when the WM_CLOSE message is received. WM_QUIT is posted to the thread's message pump when the window is destroyed. The MagniferWindow can be provided with the previously described magnifier adjustment mode, entered by depressing and holding down the designated magnifier mouse button. The following is an exemplary listing of constituent methods and message handlers that may be included in the MagnifierWindow class:
      • Constructor: Registers the MagnifierWindow window class and creates an instance of it; loads the mouse hook dll;
      • Destructor: Checks to see if the HWND associated with the MagnifierWindow was released; unhooks the mouse hook;
      • GetHWND: Returns the HWND associated with this instance of the MagnifierWindow class (clients can send a WM_CLOSE message to this window to close the magnifier);
      • WM_CREATE: Determines the best magnifier size (percentage of activation screen resolution, or from registry setting) and magnification level (default 1.5×, or registry setting). Initializes the magnifierRenderer object and creates a window timer for updates;
      • WM_CLOSE: Destroys the update timer, saves registry settings, calls DestroyWindow;
      • WM_DESTROY: Posts a WM_QUIT message to the thread's message pump;
      • WM_NCDESTROY: Uninitializes class member variables;
      • WM_TIMER: If screensaver is running, closes magnifier; updates the on-screen-display (OSD) animation (the on-screen-display graphics that appear when the size and magnification level are being adjusted), if active; gets the current mouse pointer position and calls MagnifierRenderer::Update( . . . ) to update the magnifier image and position;
      • WM_DISPLAYCHANGE: Updates magnifier dimensions when the screen dimensions are changed;
      • WM_ERASEBKGND: No Operation. When this message is received, control is immediately returned to Windows as an optimization.
      • WM_MOUSEWHEEL: This message is only received from the mouse hook (when active); changes the magnification level;
      • WM_MOUSEMOVE: This message is only received from the mouse hook (when active); changes the magnifier window (frame) size;
      • On Magnifier ButtonDown: Enters resize mode; hooks the mouse; initializes the OSD fade-in;
      • On Magnifier ButtonUp: Exits resize mode; unhooks the mouse, initializes the OSD fade-out; if neither magnification or size was altered, exits the magnifier;
      • SetBestWindowSize: Given a desired width and height, sizes the magnifier window to the best fit; each window edge changes in increments of 2 times the current magnification (i.e. at mag=1.5, window width is changed in 6 pixel increments) in order to prevent image jitter while zooming in and out; and
      • MouseHook: Mouse hook callback; forwards mouse wheel and mouse move messages to the magnifier window. A mouse hook is used to prevent underlying applications from receiving mouse input while altering the size and magnification of the magnifier.
    MagnifierRenderer
  • The MagnifierRenderer class performs the screen capture and magnification rendering operations. It is associated with a window handle and given a magnification level. An exemplary listing of constituent methods that may be included in the MagnifierRenderer follows:
      • Constructor: default initialization;
      • AttachWindow: Associates the MagnifierRenderer object with a window handle. The width and height of the magnifier equals the width and height of the specified window at the time of the call. Images representing the magnifier frame and lens mask are generated at this time. Their width and height match the specified window's width and height. These two images are persisted for fast compositing while rendering. This method may be called repeatedly to cause the MagnifierRenderer to resize itself from the window size;
      • SetMagnification: Sets the magnification level. This method may be called at any time to change the magnification level;
      • GetMagnification: Returns the current magnification level;
      • SetOSDAlpha: Sets the opacity of the adjustment-mode on-screen-display graphic indicating suitable user inputs for adjusting the magnifier;
      • GetOSDAlpha: Gets the opacity of the adjustment-mode on-screen-display graphic;
      • Update: Moves and updates the magnifier. If the window size has changed, it creates new frame and lens mask bitmaps. If the capture bitmap doesn't change, no update occurs, saving many cycle of image update.
      • Capture: Two capture buffers are provided—current and a previous; a new current buffer is captured and a message is returned indicating whether the current and previous buffers are different;
      • Render: Stretches the current capture image, masks off the unwanted pixels, copies the frame on top;
      • CreateFrameAndMask: Creates the lens mask, frame, current capture and previous capture bitmaps, sized relative to the current window width and height;
      • GetBitmapSize: Returns the width and height of an HBITMAP in a SIZE structure;
      • GenerateBorder: Takes nine component bitmaps and fills a destination bitmap with them;
      • MaskBitmap: Masks pixels in the destination bitmap using the specified mask bitmap—destination pixels are multiplied by mask alpha values;
      • AreBitmapsDifferent: Returns whether two bitmaps are different, by comparing pixel values to determine if the capture area has changed; if the capture area has not changed the magnifier doesn't need to updated as an optimization;
      • Stretch 1×5: Stretches a bitmap by a factor of 1.5.
  • Exemplary processes and functionalities of the MagnifierRenderer are described below, with reference to FIGS. 7-10.
  • Initialization
  • Referring to FIG. 7, AttachWindow( . . . ) saves the specified window handle and creates the images for the frame and lens mask. The frame and lens mask images match the window width and height. The frame is composed of nine individual elements. The center elements are stretched to make up a frame of the required size. Note that the shaded areas in these images represents transparent pixels.
  • Referring now to FIG. 8, after the frame image is created, a lens mask image is created in the same manner. The opaque pixels in the mask represented by the non-shaded area define a region where the stretched image will appear. Note that the shaded areas in these images represented transparent pixels.
  • The MagnifierRenderer::Update( . . . ) method checks to see whether the owner window dimensions have changed, and if so, updates the frame and lens mask images to match the new size. Clients may call AttachWindow( . . . ) to explicitly cause the frame and lens mask images to be recreated.
  • Capture
  • Referring to FIG. 9A, the source image capture rectangle is centered at the current mouse pointer position. The width of the illustrated Capture Rectangle (which defines the magnification region) is the width of the Magnifier Window Rectangle (magnifier frame) divided by the level of magnification. Likewise, the height of the CaptureRectangle is the height of the MagnifierWindow Rectangle divided by the level of magnification. The Capture method copies the screen image and returns whether the captured image is different from the previously captured image. The captured image is stored for use while rendering.
  • Render
  • As shown in FIG. 9B, first the captured image is stretched to the window size. Next, the stretched image is masked with the lens mask. Next, the frame is applied to the stretched image. Upon entering the adjustment mode, the magnification adjustment and frame resizing hint graphics (preferably transparent—graphic images represent transparent pixels) are added to the framed image. The hint graphics appear only when the adjustment mode is active.
  • Update
  • If the image and position of the magnifier have changed, then a call is made to ::UpdateLayeredWindow(image & position). If only position has changed, a call is made to ::UpdateLayeredWindow(position). If only the image has changed, a call is made to ::UpdateLayeredWindow(image). The window is set to topmost in the Update( )function.
  • 1.5× Stretching Algorithm
  • A standard Windows API can be used to stretch bit images to the magnifier frame at different levels of magnification. In one embodiment of the invention, a default magnification level of 1.5× utilizes a different algorithm for optimizing speed and improving the appearance of the magnified image.
  • As shown in FIG. 10A, when stretching by a factor of 1.5, two source pixels become three pixels in the destination. The first source pixel is copied to the first destination pixel. The second source pixel is copied to the third destination pixel. The second destination pixel is set as the average of the first two source pixels.
  • The stretching algorithm used by the magnifier stretches the source rows 0, 1, 2, 3, 4, . . . into the destination rows 0, 2, 3, 5, 6, . . . respectively as shown in FIG. 10B. The algorithm then goes back through and fills in rows 1, 4, 7, etc. by averaging the pixels from one row above and below the destination pixel, as depicted in FIG. 10C.
  • The present invention has been described in terms of preferred and exemplary embodiments thereof. Numerous other embodiments, modifications and variations within the scope and spirit of the appended claims will occur to persons of ordinary skill in the art from a review of this disclosure. In the claims, any use of the labels for algorithm variables appearing in the specification is for convenience and clarity and is not intended to have any limiting effect.

Claims (21)

1-20. (canceled)
21. A machine readable storage medium containing thereon instructions which, when executed by a data processing device having a display screen and a touch pad, serve to configure the device to:
provide a display screen magnifier which is controllable by a user to magnify selected portions of a desktop including windows open on the screen;
provide a magnifier including a moveable magnifier frame within which a magnified image is presented, the image corresponding to screen content located within a magnification region underlying the magnifier frame, magnified to a set level of magnification;
activate and deactivate an adjustment mode by user selection on the touch pad, a graphic appearing on the display screen when the adjustment mode is activated, the graphic indicating that the adjustment mode is activated, the magnifier being controllable by a user through use of the touchpad;
when the adjustment mode is activated, independently adjust the magnification level of the magnifier, without user interaction with on-screen objects and without taking focus away from the desktop or any windows open on the screen; and
provide an adjuster associated with adjusting the magnification level of the magnifier, the touch pad being switchable between the magnifier and an on-screen application that has focus, the touch pad directing touch pad actions to the on-screen application that has focus when the touch pad is switched to the on-screen application that has focus.
22. A machine readable storage medium according to claim 21, wherein, when the adjustment mode is activated, a hook is caused to be set which temporarily directs input of the touch pad to the magnifier for altering the magnification level of the magnifier and a size of the magnifier frame.
23. A machine readable storage medium according to claim 21, wherein the magnified image is dynamically updated to reflect changes in underlying screen content occurring while the magnifier is activated.
24. A machine readable storage medium according to claim 21, wherein the magnifier is activated upon actuation of a switch on the touch pad, and enters the adjustment mode upon the switch being continuously actuated for a predetermined time period.
25. A machine readable storage medium according to claim 21, wherein the adjuster is also associated with adjusting a size of the magnifier frame.
26. A machine readable storage medium according to claim 21, wherein the graphic includes direction arrows associated with adjusting a size of the magnifier frame and the magnification level of the magnifier.
27. A data processing device, comprising:
a display screen; and
a touch pad device, the touch pad device being configured to provide a display screen magnifier which is controllable by a user to magnify selected portions of a desktop including windows open on the screen, the magnifier providing a moveable magnifier frame within which a magnified image is presented, the image corresponding to screen content located within a magnification region underlying the magnifier frame, magnified to a set level of magnification;
wherein the touch pad device includes an adjustment mode that is activated and deactivated by user selection;
wherein the magnifier is controllable by a user through use of the touch pad device, when the adjustment mode is activated, to independently adjust the magnification level of the magnifier, without user interaction with on-screen objects and without taking focus away from the desktop or any windows open on the screen, the touch pad being switchable between a magnifier and an on-screen application that has focus, the touch pad directing input to the on-screen application that has focus when the touch pad is switched to the on-screen application that has focus.
28. A data processing device according to claim 27, wherein the magnifier is capable of activation and deactivation through use of the touch pad device, without user interaction with on screen objects and without taking focus away from the desktop or any windows open on the screen.
29. A data processing device according to claim 27, wherein the display screen magnifier is configured by a windows style of an application programming interface of an operating system, and a second stage screen content compositing engine associated with the windows style.
30. A data processing device according to claim 27, wherein, when the adjustment mode is activated, a hook is caused to be set which temporarily directs input of the touch pad device to the magnifier for altering the magnification level of the magnifier and a size of the magnifier frame.
31. A data processing device according to claim 27, wherein the magnified image is dynamically updated to reflect changes in underlying screen content occurring while the magnifier is activated.
32. A data processing device according to claim 27, wherein the magnifier is activated upon actuation of a switch on the touch pad, and enters the adjustment mode upon the switch being continuously actuated for a predetermined time period.
33. A data processing device according to claim 27, wherein the adjustment mode is also associated with adjusting a size of the magnifier frame.
34. A data processing device according to claim 27, further comprising a graphic appearing on the display screen when the adjustment mode is activated, the graphic indicating that the adjustment mode is activated, and the graphic including direction arrows associated with adjusting a size of the magnifier frame and the magnification level of the magnifier.
35. A method of configuring a data processing device having a display screen and a touch pad device to provide a display screen magnifier which is controllable by a user to magnify selected portions of a desktop including windows open on the screen, the input device including an adjustment mode that is activated and deactivated by user selection, the method comprising:
displaying a magnifier having a moveable magnifier frame on the display screen;
magnifying an image within the magnifier to a set level of magnification, the image corresponding to screen content located within a magnification region underlying the magnifier frame; and
independently adjusting, through input by a user through use of the touch pad device when the adjustment mode is activated, the magnification level of the magnifier and the size of the magnifier frame, without user interaction with on-screen objects and without taking focus away from the desktop or any windows open on the screen, the touch pad device being switchable between the magnifier and an on-screen application that has focus, the touch pad device directing actions to the on-screen application that has focus when the touch pad device is switched to the on-screen application that has focus.
36. A method according to claim 35, wherein the magnifier is capable of activation and deactivation through use of the touch pad device, without user interaction with on screen objects and without taking focus away from the desktop or any windows open on the screen.
37. A method according to claim 35, wherein the display screen magnifier is configured by a windows style of an application programming interface of an operating system, and a second stage screen content compositing engine associated with the windows style.
38. A method according to claim 35, further comprising activating the magnifier upon actuation of a switch on the touch pad.
39. A method according to claim 35, further comprising allowing adjustment of a size of the magnifier frame.
40. A method according to claim 35, further comprising showing a graphic on the display screen, the graphic indicating that the adjustment mode is activated, the graphic including direction arrows associated with adjusting a size of the magnifier frame and the magnification level of the magnifier.
US12/752,776 2005-08-04 2010-04-01 Virtual Magnifying Glass with on-the Fly Control Functionalities Abandoned US20100235736A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US12/752,776 US20100235736A1 (en) 2005-08-04 2010-04-01 Virtual Magnifying Glass with on-the Fly Control Functionalities

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/196,511 US7694234B2 (en) 2005-08-04 2005-08-04 Virtual magnifying glass with on-the fly control functionalities
US12/752,776 US20100235736A1 (en) 2005-08-04 2010-04-01 Virtual Magnifying Glass with on-the Fly Control Functionalities

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US11/196,511 Continuation US7694234B2 (en) 2005-08-04 2005-08-04 Virtual magnifying glass with on-the fly control functionalities

Publications (1)

Publication Number Publication Date
US20100235736A1 true US20100235736A1 (en) 2010-09-16

Family

ID=37718976

Family Applications (2)

Application Number Title Priority Date Filing Date
US11/196,511 Expired - Fee Related US7694234B2 (en) 2005-08-04 2005-08-04 Virtual magnifying glass with on-the fly control functionalities
US12/752,776 Abandoned US20100235736A1 (en) 2005-08-04 2010-04-01 Virtual Magnifying Glass with on-the Fly Control Functionalities

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US11/196,511 Expired - Fee Related US7694234B2 (en) 2005-08-04 2005-08-04 Virtual magnifying glass with on-the fly control functionalities

Country Status (12)

Country Link
US (2) US7694234B2 (en)
EP (1) EP1910917A2 (en)
JP (1) JP5130215B2 (en)
KR (1) KR20080040696A (en)
CN (1) CN101238430B (en)
BR (1) BRPI0614901A2 (en)
CA (1) CA2617318A1 (en)
MX (1) MX2008001616A (en)
NO (1) NO20080374L (en)
RU (1) RU2409856C2 (en)
TW (2) TW201337784A (en)
WO (1) WO2007019193A2 (en)

Cited By (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090254853A1 (en) * 2008-04-03 2009-10-08 Donald Jacob Method of viewing a single document in multiple scaled views
US20110314414A1 (en) * 2010-06-17 2011-12-22 Freedom Scientific, Inc. System wide text viewer
US20130311941A1 (en) * 2012-05-18 2013-11-21 Research In Motion Limited Systems and Methods to Manage Zooming
US20150033183A1 (en) * 2011-01-03 2015-01-29 Freedom Scientific, Inc. View Locking Multi-Monitor Screen Magnifier
US9052820B2 (en) 2011-05-27 2015-06-09 Microsoft Technology Licensing, Llc Multi-application environment
US20150193648A1 (en) * 2012-07-13 2015-07-09 Sony Corporation Information processing apparatus, information processing method, and information processing program
US20150220255A1 (en) * 2012-08-20 2015-08-06 Canon Kabushiki Kaisha Information processing apparatus, information processing method, and related program
US9104440B2 (en) 2011-05-27 2015-08-11 Microsoft Technology Licensing, Llc Multi-application environment
US9158445B2 (en) 2011-05-27 2015-10-13 Microsoft Technology Licensing, Llc Managing an immersive interface in a multi-application immersive environment
US9229918B2 (en) 2010-12-23 2016-01-05 Microsoft Technology Licensing, Llc Presenting an application change through a tile
USD757105S1 (en) * 2013-01-09 2016-05-24 Samsung Electronics Co., Ltd. Display screen or portion thereof with graphical user interface
US20160165123A1 (en) * 2013-08-09 2016-06-09 Musashi Engineering, Inc. Focus adjustment method and device therefor
US9658766B2 (en) 2011-05-27 2017-05-23 Microsoft Technology Licensing, Llc Edge gesture
US9696888B2 (en) 2010-12-20 2017-07-04 Microsoft Technology Licensing, Llc Application-launching interface for multiple modes
US10254955B2 (en) 2011-09-10 2019-04-09 Microsoft Technology Licensing, Llc Progressively indicating new content in an application-selectable user interface
US10275436B2 (en) * 2015-06-01 2019-04-30 Apple Inc. Zoom enhancements to facilitate the use of touch screen devices
USD875777S1 (en) * 2018-05-25 2020-02-18 Apple Inc. Electronic device with animated graphical user interface
US10579250B2 (en) 2011-09-01 2020-03-03 Microsoft Technology Licensing, Llc Arranging tiles
US10705672B2 (en) 2010-03-09 2020-07-07 Freedom Scientific, Inc. Method of navigating an extended computer desktop on multiple display devices
USD895658S1 (en) 2018-04-12 2020-09-08 Reliance Worldwide Corporation Display screen or portion thereof with graphical user interface
USD904457S1 (en) * 2018-04-12 2020-12-08 Reliance Worldwide Corporation Display screen or portion thereof with animated graphical user interface
USD910709S1 (en) 2018-10-26 2021-02-16 Reliance Worldwide Corporation Display screen or portion thereof with graphical user interface
US10969944B2 (en) 2010-12-23 2021-04-06 Microsoft Technology Licensing, Llc Application reporting in an application-selectable user interface
USD980848S1 (en) 2018-04-12 2023-03-14 Streamlabs, Inc. Display screen or portion thereof with graphical user interface and icon

Families Citing this family (78)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7760187B2 (en) * 2004-07-30 2010-07-20 Apple Inc. Visual expander
US20030084087A1 (en) * 2001-10-31 2003-05-01 Microsoft Corporation Computer system with physical presence detector to optimize computer task scheduling
US7694234B2 (en) * 2005-08-04 2010-04-06 Microsoft Corporation Virtual magnifying glass with on-the fly control functionalities
US7900158B2 (en) 2005-08-04 2011-03-01 Microsoft Corporation Virtual magnifying glass with intuitive use enhancements
US7949955B2 (en) * 2005-08-04 2011-05-24 Microsoft Corporation Virtual magnifying glass system architecture
US8108785B2 (en) * 2006-01-09 2012-01-31 Microsoft Corporation Supporting user multi-tasking with clipping lists
US8312372B2 (en) * 2006-02-10 2012-11-13 Microsoft Corporation Method for confirming touch input
US7991225B2 (en) * 2006-03-03 2011-08-02 University Of Alaska Methods and systems for dynamic color equalization
US20070268317A1 (en) * 2006-05-18 2007-11-22 Dan Banay User interface system and method for selectively displaying a portion of a display screen
US7856605B2 (en) * 2006-10-26 2010-12-21 Apple Inc. Method, system, and graphical user interface for positioning an insertion marker in a touch screen display
US8570278B2 (en) 2006-10-26 2013-10-29 Apple Inc. Portable multifunction device, method, and graphical user interface for adjusting an insertion point marker
US20100023894A1 (en) * 2006-12-20 2010-01-28 France Telecom System for selecting elements displayed on a screen
US20090027421A1 (en) * 2007-07-27 2009-01-29 Franklin Servan-Schreiber Computer system with a zooming capability and method
JP2009112356A (en) * 2007-11-02 2009-05-28 Ge Medical Systems Global Technology Co Llc Ultrasonic diagnostic apparatus
US8201109B2 (en) * 2008-03-04 2012-06-12 Apple Inc. Methods and graphical user interfaces for editing on a portable multifunction device
US8650507B2 (en) * 2008-03-04 2014-02-11 Apple Inc. Selecting of text using gestures
US20090241059A1 (en) * 2008-03-20 2009-09-24 Scott David Moore Event driven smooth panning in a computer accessibility application
JP4661909B2 (en) * 2008-06-04 2011-03-30 富士ゼロックス株式会社 Information display device and program
JP2010044628A (en) * 2008-08-13 2010-02-25 Access Co Ltd Method and program for changing content display magnification
US20100077304A1 (en) * 2008-09-19 2010-03-25 Microsoft Corporation Virtual Magnification with Interactive Panning
US8887061B2 (en) * 2008-09-26 2014-11-11 Microsoft Corporation Variable screen magnifier user interface
US9395867B2 (en) 2008-10-08 2016-07-19 Blackberry Limited Method and system for displaying an image on an electronic device
JP5470861B2 (en) * 2009-01-09 2014-04-16 ソニー株式会社 Display device and display method
US8661362B2 (en) * 2009-03-16 2014-02-25 Apple Inc. Methods and graphical user interfaces for editing on a multifunction device with a touch screen display
US20100287493A1 (en) * 2009-05-06 2010-11-11 Cadence Design Systems, Inc. Method and system for viewing and editing an image in a magnified view
US20120266069A1 (en) * 2009-12-28 2012-10-18 Hillcrest Laboratories, Inc. TV Internet Browser
US20110173564A1 (en) * 2010-01-13 2011-07-14 Microsoft Corporation Extending view functionality of application
US20110197156A1 (en) * 2010-02-09 2011-08-11 Dynavox Systems, Llc System and method of providing an interactive zoom frame interface
CN102214060A (en) * 2010-04-12 2011-10-12 宏碁股份有限公司 Touch electronic device and window control method thereof
US20110261081A1 (en) * 2010-04-23 2011-10-27 Weinblatt Lee S Testing of Internet Ads
US8856682B2 (en) * 2010-05-11 2014-10-07 AI Squared Displaying a user interface in a dedicated display area
US9401099B2 (en) 2010-05-11 2016-07-26 AI Squared Dedicated on-screen closed caption display
CN102279772B (en) * 2010-06-11 2014-10-15 宏达国际电子股份有限公司 Dynamic interaction method of software objects and electronic device
US8296359B2 (en) 2010-07-12 2012-10-23 Opus Medicus, Inc. Systems and methods for networked, in-context, high resolution image viewing
US8667054B2 (en) 2010-07-12 2014-03-04 Opus Medicus, Inc. Systems and methods for networked, in-context, composed, high resolution image viewing
US8804186B2 (en) * 2010-07-13 2014-08-12 Tracer Imaging Llc Automated lenticular photographic system
US9024977B2 (en) 2010-08-02 2015-05-05 International Business Machines Corporation Resizing objects in regions of virtual universes
US8522158B2 (en) * 2010-10-19 2013-08-27 Apple Inc. Systems, methods, and computer-readable media for providing a dynamic loupe for displayed information
US20120124514A1 (en) * 2010-11-11 2012-05-17 Microsoft Corporation Presentation focus and tagging
KR101175481B1 (en) * 2010-11-18 2012-08-20 삼성메디슨 주식회사 Ultrasound system and method for providing enlarged image
WO2012083563A1 (en) * 2010-12-24 2012-06-28 天津九安医疗电子股份有限公司 Blood pressure measure system
DE202011001805U1 (en) 2011-01-22 2011-04-28 Jakob, Gerhard Magnifying glass with clamp holder for mobile navigation devices
US9092130B2 (en) 2011-05-31 2015-07-28 Apple Inc. Devices, methods, and graphical user interfaces for document manipulation
WO2013009413A1 (en) * 2011-06-06 2013-01-17 Intellitact Llc Relative touch user interface enhancements
CN102393952A (en) * 2011-07-01 2012-03-28 深圳市斯尔顿科技有限公司 Image magnifying and measuring method and device
KR101834987B1 (en) * 2011-08-08 2018-03-06 삼성전자주식회사 Apparatus and method for capturing screen in portable terminal
CN102521020B (en) * 2011-10-26 2014-05-21 华为终端有限公司 Application screen capture method and application screen capture device for mobile terminals
US9678647B2 (en) * 2012-02-28 2017-06-13 Oracle International Corporation Tooltip feedback for zoom using scroll wheel
CN103455234A (en) * 2012-06-01 2013-12-18 腾讯科技(深圳)有限公司 Method and device for displaying application program interfaces
RU2509377C2 (en) * 2012-06-05 2014-03-10 Корпорация "САМСУНГ ЭЛЕКТРОНИКС Ко., Лтд." Method and system for image viewing on display device
DE202012011321U1 (en) 2012-06-21 2013-02-19 Gerhard Jacob Alarm system against pickpockets
WO2014022919A1 (en) * 2012-08-10 2014-02-13 Transaxy Inc. System for entering data into a data processing system
TWI462013B (en) * 2012-12-10 2014-11-21 Dexin Corp Input device for magnifying display screen and method thereof
KR101416749B1 (en) * 2012-12-13 2014-07-08 주식회사 케이티 Tv representing apparatus and method for controlling access of user
CN103885575B (en) * 2012-12-19 2017-04-12 宝德科技股份有限公司 Input device and method for input device to execute amplification of display images
JP6131072B2 (en) * 2013-03-14 2017-05-17 シャープ株式会社 Display control device
EP2920680A1 (en) 2013-03-14 2015-09-23 Huawei Technologies Co., Ltd. Virtual magnifying lens touch graphic effect for mobile devices
DE202013004567U1 (en) 2013-05-16 2013-07-05 Gerhard Jacob Alarm system with smartphone, through app and receiver against pickpockets
US10108317B2 (en) * 2013-10-14 2018-10-23 Schneider Electric Software, Llc Configuring process simulation data for semantic zooming
CN104731492B (en) * 2013-12-19 2018-07-24 鸿合科技股份有限公司 A kind of magic pen and its display control method
CN104731396B (en) * 2013-12-19 2018-03-02 鸿合科技有限公司 A kind of magic pen and its display control method
KR20150105140A (en) * 2014-03-07 2015-09-16 삼성전자주식회사 Mobile device capable of enlarging content displayed thereon and method therefor
CN103942001B (en) * 2014-05-12 2017-02-15 上海卓悠网络科技有限公司 Free screen capture method of mobile terminal and mobile terminal
US9658713B2 (en) * 2014-09-22 2017-05-23 Intel Corporation Systems, methods, and applications for dynamic input mode selection based on whether an identified operating system includes an application program interface associated with the input mode
TWI583971B (en) * 2015-01-16 2017-05-21 旺矽科技股份有限公司 Operating method for inspecting equipment
KR101586321B1 (en) * 2015-03-11 2016-01-19 엘지전자 주식회사 Display device and controlling method thereof
US20160334974A1 (en) * 2015-05-14 2016-11-17 Gilad GRAY Generating graphical representations of data using multiple rendering conventions
CN106604146A (en) * 2015-10-20 2017-04-26 中兴通讯股份有限公司 Method and device for magnifying display interface of set-top box
JP7006184B2 (en) * 2017-11-27 2022-01-24 富士通株式会社 Control programs, control methods and controls
US11157130B2 (en) * 2018-02-26 2021-10-26 Adobe Inc. Cursor-based resizing for copied image portions
JP2018190469A (en) * 2018-08-22 2018-11-29 キヤノン株式会社 Image forming apparatus, computer program, and recording medium
CN110874172B (en) * 2018-08-31 2022-09-30 北京京东尚科信息技术有限公司 Method, device, medium and electronic equipment for amplifying APP interface
CN110032326A (en) * 2019-03-29 2019-07-19 网易(杭州)网络有限公司 Mobile terminal shows control method, device, equipment and the storage medium of picture
CN110096324B (en) * 2019-04-22 2022-11-25 四川易简天下科技股份有限公司 Efficient screen capture method for automatically filtering self window based on windows system
US11379113B2 (en) 2019-06-01 2022-07-05 Apple Inc. Techniques for selecting text
US11908340B2 (en) * 2019-07-24 2024-02-20 Arris Enterprises Llc Magnification enhancement of video for visually impaired viewers
JP2022546595A (en) * 2019-09-09 2022-11-04 ペイジ.エーアイ インコーポレイテッド Systems and methods for processing images of slides for digital pathology
WO2023060414A1 (en) * 2021-10-12 2023-04-20 Citrix Systems, Inc. Adjustable magnifier for virtual desktop

Citations (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5298890A (en) * 1990-04-11 1994-03-29 Oki Electric Industry Co., Ltd. Discontinuous movement system and method for mouse cursor
US5375199A (en) * 1991-06-04 1994-12-20 Digital Equipment Corporation System monitoring method and device including a graphical user interface to view and manipulate system information
US5598183A (en) * 1994-01-27 1997-01-28 Microsoft Corporation System and method for computer cursor control
US5651107A (en) * 1992-12-15 1997-07-22 Sun Microsystems, Inc. Method and apparatus for presenting information in a display system using transparent windows
US5696530A (en) * 1994-05-31 1997-12-09 Nec Corporation Method of moving enlarged image with mouse cursor and device for implementing the method
US5754348A (en) * 1996-05-14 1998-05-19 Planetweb, Inc. Method for context-preserving magnification of digital image regions
US5808601A (en) * 1995-09-12 1998-09-15 International Business Machines Corporation Interactive object selection pointer method and apparatus
US5808604A (en) * 1994-03-10 1998-09-15 Microsoft Corporation Apparatus and method for automatically positioning a cursor on a control
US5815138A (en) * 1992-10-16 1998-09-29 Fuji Photo Film Co., Ltd. Method and apparatus for controlling a cursor
US6128006A (en) * 1998-03-26 2000-10-03 Immersion Corporation Force feedback mouse wheel and other control wheels
US6184859B1 (en) * 1995-04-21 2001-02-06 Sony Corporation Picture display apparatus
US20020011990A1 (en) * 2000-04-14 2002-01-31 Majid Anwar User interface systems and methods for manipulating and viewing digital documents
US20030076363A1 (en) * 2001-10-18 2003-04-24 Murphy Killian D. Digital image magnification for internet appliance
US6572476B2 (en) * 2000-04-10 2003-06-03 Konami Corporation Game system and computer readable storage medium
US20030210262A1 (en) * 2002-05-10 2003-11-13 Tripath Imaging, Inc. Video microscopy system and multi-view virtual slide viewer capable of simultaneously acquiring and displaying various digital views of an area of interest located on a microscopic slide
US6704034B1 (en) * 2000-09-28 2004-03-09 International Business Machines Corporation Method and apparatus for providing accessibility through a context sensitive magnifying glass
US20050120310A1 (en) * 2003-11-28 2005-06-02 Masaya Sahashi Information processing apparatus and display control method
US7009600B2 (en) * 2002-09-19 2006-03-07 International Business Machines Corporation Data processing system display screen including an image alteration area
US20060061597A1 (en) * 2004-09-17 2006-03-23 Microsoft Corporation Method and system for presenting functionally-transparent, unobstrusive on-screen windows
US20070033543A1 (en) * 2005-08-04 2007-02-08 Microsoft Corporation Virtual magnifying glass with intuitive use enhancements
US20070033544A1 (en) * 2005-08-04 2007-02-08 Microsoft Corporation Virtual magnifying glass with on-the fly control functionalities
US20070033542A1 (en) * 2005-08-04 2007-02-08 Microsoft Corporation Virtual magnifying glass system architecture
US7197718B1 (en) * 1999-10-18 2007-03-27 Sharp Laboratories Of America, Inc. Interactive virtual area browser for selecting and rescaling graphical representations of displayed data
US7275219B2 (en) * 2002-02-05 2007-09-25 Idelix Software Inc. Fast and accurate rendering of pliable display technology distortions using pre-calculated texel coverages

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04142661A (en) * 1990-10-04 1992-05-15 Toshiba Corp Information processor
JP2000221874A (en) * 1999-01-29 2000-08-11 Hitachi Eng Co Ltd Map display device
JP2003050653A (en) * 2001-07-18 2003-02-21 Internatl Business Mach Corp <Ibm> Method for generating input event and information terminal equipment with the same method
JP2003287424A (en) * 2002-03-28 2003-10-10 Mitsubishi Electric Corp Navigation apparatus and map information-displaying method

Patent Citations (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5298890A (en) * 1990-04-11 1994-03-29 Oki Electric Industry Co., Ltd. Discontinuous movement system and method for mouse cursor
US5375199A (en) * 1991-06-04 1994-12-20 Digital Equipment Corporation System monitoring method and device including a graphical user interface to view and manipulate system information
US5815138A (en) * 1992-10-16 1998-09-29 Fuji Photo Film Co., Ltd. Method and apparatus for controlling a cursor
US5651107A (en) * 1992-12-15 1997-07-22 Sun Microsystems, Inc. Method and apparatus for presenting information in a display system using transparent windows
US5598183A (en) * 1994-01-27 1997-01-28 Microsoft Corporation System and method for computer cursor control
US5808604A (en) * 1994-03-10 1998-09-15 Microsoft Corporation Apparatus and method for automatically positioning a cursor on a control
US5696530A (en) * 1994-05-31 1997-12-09 Nec Corporation Method of moving enlarged image with mouse cursor and device for implementing the method
US6184859B1 (en) * 1995-04-21 2001-02-06 Sony Corporation Picture display apparatus
US5808601A (en) * 1995-09-12 1998-09-15 International Business Machines Corporation Interactive object selection pointer method and apparatus
US5754348A (en) * 1996-05-14 1998-05-19 Planetweb, Inc. Method for context-preserving magnification of digital image regions
US6590583B2 (en) * 1996-05-14 2003-07-08 Planetweb, Inc. Method for context-preserving magnification of digital image regions
US6128006A (en) * 1998-03-26 2000-10-03 Immersion Corporation Force feedback mouse wheel and other control wheels
US7197718B1 (en) * 1999-10-18 2007-03-27 Sharp Laboratories Of America, Inc. Interactive virtual area browser for selecting and rescaling graphical representations of displayed data
US6572476B2 (en) * 2000-04-10 2003-06-03 Konami Corporation Game system and computer readable storage medium
US20020011990A1 (en) * 2000-04-14 2002-01-31 Majid Anwar User interface systems and methods for manipulating and viewing digital documents
US6704034B1 (en) * 2000-09-28 2004-03-09 International Business Machines Corporation Method and apparatus for providing accessibility through a context sensitive magnifying glass
US20030076363A1 (en) * 2001-10-18 2003-04-24 Murphy Killian D. Digital image magnification for internet appliance
US7275219B2 (en) * 2002-02-05 2007-09-25 Idelix Software Inc. Fast and accurate rendering of pliable display technology distortions using pre-calculated texel coverages
US20030210262A1 (en) * 2002-05-10 2003-11-13 Tripath Imaging, Inc. Video microscopy system and multi-view virtual slide viewer capable of simultaneously acquiring and displaying various digital views of an area of interest located on a microscopic slide
US7009600B2 (en) * 2002-09-19 2006-03-07 International Business Machines Corporation Data processing system display screen including an image alteration area
US20050120310A1 (en) * 2003-11-28 2005-06-02 Masaya Sahashi Information processing apparatus and display control method
US20060061597A1 (en) * 2004-09-17 2006-03-23 Microsoft Corporation Method and system for presenting functionally-transparent, unobstrusive on-screen windows
US20070033543A1 (en) * 2005-08-04 2007-02-08 Microsoft Corporation Virtual magnifying glass with intuitive use enhancements
US20070030245A1 (en) * 2005-08-04 2007-02-08 Microsoft Corporation Virtual magnifying glass with intuitive use enhancements
US20070033544A1 (en) * 2005-08-04 2007-02-08 Microsoft Corporation Virtual magnifying glass with on-the fly control functionalities
US20070033542A1 (en) * 2005-08-04 2007-02-08 Microsoft Corporation Virtual magnifying glass system architecture

Cited By (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090254853A1 (en) * 2008-04-03 2009-10-08 Donald Jacob Method of viewing a single document in multiple scaled views
US10705672B2 (en) 2010-03-09 2020-07-07 Freedom Scientific, Inc. Method of navigating an extended computer desktop on multiple display devices
US20110314414A1 (en) * 2010-06-17 2011-12-22 Freedom Scientific, Inc. System wide text viewer
US8473861B2 (en) * 2010-06-17 2013-06-25 Freedom Scientific, Inc. System wide text viewer
US9696888B2 (en) 2010-12-20 2017-07-04 Microsoft Technology Licensing, Llc Application-launching interface for multiple modes
US9229918B2 (en) 2010-12-23 2016-01-05 Microsoft Technology Licensing, Llc Presenting an application change through a tile
US10969944B2 (en) 2010-12-23 2021-04-06 Microsoft Technology Licensing, Llc Application reporting in an application-selectable user interface
US11126333B2 (en) 2010-12-23 2021-09-21 Microsoft Technology Licensing, Llc Application reporting in an application-selectable user interface
US20150033183A1 (en) * 2011-01-03 2015-01-29 Freedom Scientific, Inc. View Locking Multi-Monitor Screen Magnifier
US9626069B2 (en) * 2011-01-03 2017-04-18 Freedom Scientific, Inc. View locking multi-monitor screen magnifier
US11698721B2 (en) 2011-05-27 2023-07-11 Microsoft Technology Licensing, Llc Managing an immersive interface in a multi-application immersive environment
US9052820B2 (en) 2011-05-27 2015-06-09 Microsoft Technology Licensing, Llc Multi-application environment
US10303325B2 (en) 2011-05-27 2019-05-28 Microsoft Technology Licensing, Llc Multi-application environment
US9104307B2 (en) 2011-05-27 2015-08-11 Microsoft Technology Licensing, Llc Multi-application environment
US9158445B2 (en) 2011-05-27 2015-10-13 Microsoft Technology Licensing, Llc Managing an immersive interface in a multi-application immersive environment
US9535597B2 (en) 2011-05-27 2017-01-03 Microsoft Technology Licensing, Llc Managing an immersive interface in a multi-application immersive environment
US9104440B2 (en) 2011-05-27 2015-08-11 Microsoft Technology Licensing, Llc Multi-application environment
US9658766B2 (en) 2011-05-27 2017-05-23 Microsoft Technology Licensing, Llc Edge gesture
US10579250B2 (en) 2011-09-01 2020-03-03 Microsoft Technology Licensing, Llc Arranging tiles
US10254955B2 (en) 2011-09-10 2019-04-09 Microsoft Technology Licensing, Llc Progressively indicating new content in an application-selectable user interface
US20130311941A1 (en) * 2012-05-18 2013-11-21 Research In Motion Limited Systems and Methods to Manage Zooming
US9435801B2 (en) * 2012-05-18 2016-09-06 Blackberry Limited Systems and methods to manage zooming
EP2850610A4 (en) * 2012-05-18 2016-01-13 Blackberry Ltd Systems and methods to manage zooming
US20150193648A1 (en) * 2012-07-13 2015-07-09 Sony Corporation Information processing apparatus, information processing method, and information processing program
US10558842B2 (en) * 2012-07-13 2020-02-11 Sony Corporation Image processing apparatus configured to generate a trail image, image processing method, and image processing system including the same
US10936850B2 (en) 2012-07-13 2021-03-02 Sony Corporation Information processing apparatus, information processing method, method, and information processing program
US20150220255A1 (en) * 2012-08-20 2015-08-06 Canon Kabushiki Kaisha Information processing apparatus, information processing method, and related program
USD757105S1 (en) * 2013-01-09 2016-05-24 Samsung Electronics Co., Ltd. Display screen or portion thereof with graphical user interface
TWI627492B (en) * 2013-08-09 2018-06-21 Musashi Engineering Inc Focus adjustment method and operation device thereof
US20160165123A1 (en) * 2013-08-09 2016-06-09 Musashi Engineering, Inc. Focus adjustment method and device therefor
US10015387B2 (en) * 2013-08-09 2018-07-03 Musahi Enginerring, Inc. Focus adjustment method and device therefor
US10275436B2 (en) * 2015-06-01 2019-04-30 Apple Inc. Zoom enhancements to facilitate the use of touch screen devices
USD916918S1 (en) 2018-04-12 2021-04-20 Reliance Worldwide Corporation Display screen or portion thereof with animated graphical user interface
USD895658S1 (en) 2018-04-12 2020-09-08 Reliance Worldwide Corporation Display screen or portion thereof with graphical user interface
USD916876S1 (en) 2018-04-12 2021-04-20 Reliance Worldwide Corporation Display screen or portion thereof with animated graphical user interface
USD916875S1 (en) 2018-04-12 2021-04-20 Reliance Worldwide Corporation Display screen or portion thereof with animated graphical user interface
USD980848S1 (en) 2018-04-12 2023-03-14 Streamlabs, Inc. Display screen or portion thereof with graphical user interface and icon
USD904457S1 (en) * 2018-04-12 2020-12-08 Reliance Worldwide Corporation Display screen or portion thereof with animated graphical user interface
USD875777S1 (en) * 2018-05-25 2020-02-18 Apple Inc. Electronic device with animated graphical user interface
USD916900S1 (en) 2018-05-25 2021-04-20 Apple Inc. Display screen or portion thereof with animated graphical user interface
USD910709S1 (en) 2018-10-26 2021-02-16 Reliance Worldwide Corporation Display screen or portion thereof with graphical user interface
USD942502S1 (en) 2018-10-26 2022-02-01 Streamlabs, Inc. Display screen or portion thereof with icon

Also Published As

Publication number Publication date
WO2007019193A2 (en) 2007-02-15
CN101238430B (en) 2010-06-16
JP2009503742A (en) 2009-01-29
RU2008104025A (en) 2009-08-10
KR20080040696A (en) 2008-05-08
BRPI0614901A2 (en) 2011-04-19
NO20080374L (en) 2008-02-27
CA2617318A1 (en) 2007-02-15
TW201337784A (en) 2013-09-16
CN101238430A (en) 2008-08-06
JP5130215B2 (en) 2013-01-30
WO2007019193A3 (en) 2008-01-03
MX2008001616A (en) 2008-02-19
US7694234B2 (en) 2010-04-06
US20070033544A1 (en) 2007-02-08
EP1910917A2 (en) 2008-04-16
RU2409856C2 (en) 2011-01-20
TW200719245A (en) 2007-05-16

Similar Documents

Publication Publication Date Title
US7694234B2 (en) Virtual magnifying glass with on-the fly control functionalities
US7949955B2 (en) Virtual magnifying glass system architecture
US7900158B2 (en) Virtual magnifying glass with intuitive use enhancements
US7274377B2 (en) Viewport panning feedback system
JP2759700B2 (en) How to run an image editor
US8074181B2 (en) Screen magnifier panning model with dynamically resizable panning regions
JP3598303B2 (en) Method of selectively displaying and activating overlapping display objects on a display, and computer system
US8504937B2 (en) Computer interface having a single window mode of operation
US7603628B2 (en) User interface for and method of managing icons on group-by-group basis using skin image
US8127248B2 (en) Computer interface having a virtual single-layer mode for viewing overlapping objects
US5815151A (en) Graphical user interface
KR100390730B1 (en) User selected display of two dimensional window in three dimensions on a computer screen
US20030189597A1 (en) Virtual desktop manager
US20070288863A1 (en) Computer interface having a virtual single-layer mode for viewing overlapping objects
US20030098886A1 (en) User interface and method for maximizing the information presented on a screen
EP2036065A2 (en) User interface system and method for selectively displaying a portion of a display screen
KR19990087910A (en) associative interaction unrelated windows
US7212210B2 (en) Method and apparatus for enlarging an output display on a display
Agarwal et al. WidgetLens: A system for adaptive content magnification of widgets

Legal Events

Date Code Title Description
STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION

AS Assignment

Owner name: MICROSOFT TECHNOLOGY LICENSING, LLC, WASHINGTON

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:MICROSOFT CORPORATION;REEL/FRAME:034766/0001

Effective date: 20141014