Aspects of the invention are illustrated by way of example and not limited in the accompanying figures in which like reference numerals indicate similar elements and in which:
a illustrates an exemplary snippet tool menu, in accordance with an embodiment of the invention.
Device 100 may also contain communications connection(s) 112 that allow the device to communicate with other devices. Communications connection(s) 112 is an example of communication media. Communication media typically embodies computer readable instructions, data structures, program modules or other data in a modulated data signal such as a carrier wave or other transport mechanism and includes any information delivery media. By way of example, and not limitation, communication media includes wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, RF, infrared and other wireless media. The term computer readable media as used herein includes both storage media and communication media.
Device 100 may also have input device(s) 114 such as keyboard, mouse, stylus, voice input device, touch input device, touchscreen device, interactive display device, etc. Output device(s) 116 such as a speakers, printer, etc. may also be included. One example of an output device is a display device 106. Display device 106 may be implemented with a cathode ray tube (CRT), liquid crystal display, light emitting diode display or other conventional display devices. Display devices 106 may be used to present content such as graphical user interfaces, data and windows to users. As one skilled in the art will appreciate, a window is viewable area that may include graphical user interface elements and may be used to display data.
In step 302 it determined whether or not an activate command has been received. The activate command may be received from a user and may indicate that the user desires to use a snipping tool. The activate command may be pressing a special key combination, such as Windows+PrtScn, or by the user clicking on an icon in the quicklaunch tray, or by clicking on an icon on the start menu. When no activate command is received, control returns to step 300, where the process waits for the receipt of an activate command. When an activate command is received, in step 304 a floating toolbar may be displayed on the display device. The floating toolbar may be an uppermost window such that it will not be covered by any other windows. The floating toolbar may include menu options relating to the designation of content to capture.
The type of snipping tool generated may be a function of the selection made by the user. In one embodiment of the invention, a default type of snipping tool may be a function of the type of computer device. For example, a Tablet PC computer device may have a default setting of free form, while other computer devices may use rectangular selection as a default.
Returning in
When a designating input is not received, the process returns to step 304 and waits for the receipt of an input. When a designating input is received in step 306, in step 308 the floating toolbar may be removed. In one embodiment of the invention, the floating toolbar is removed as soon as a user begins to designate a portion of content to capture. For example, the floating toolbar may be removed as soon as a stylus contacts a digitizing display surface. In another embodiment of the invention, the floating toolbar is not removed until content has been designated.
Next, in step 310 the appearance of the content other than the designated content may be altered. Altering the non-designated content may be used to draw attention to the designated content. In one embodiment of the invention, a white overlay may be applied to the non-designated content. Of course, other alterations may be made to the designated and/or non-designated content to draw attention to the designated content. Alterations may include changing color content to black and white content, changing brightness of content, or applying a variety of overlays.
After the user designates content, in step 312 a window that includes the designated content is displayed on the display device. The window may include one or more menu options that allow the user to annotate and convey the designated content.
In one embodiment of the invention, HTML content is saved such that the hyperlinks included within the HTML content are preserved. When the user designates content inside of a web browser window, it may be desirable to preserve the context of the webpage URL that the user is currently viewing. This context will be included when the user saves captured content to formats that support additional information, such as HTML, or when the user sends the captured content as an email message. This context can be included along with the captured content in the form of a hyperlink to the page that the user was viewing at the time of capture. The snipping tool can communicate with the web browser to obtain the URL information. In one embodiment, this communication can use APIs specific to the web browser in question, for example, the Internet Explorer Document Object Model (DOM). In another embodiment, active accessibility may be used. For an application to support active accessibility, the application must provide all of its on-screen content as a tree of textual information. Each node on the tree will have certain attributes, such as an accessibility role (text box, button, combination box, etc.), name, value and description. The tree can be searched using a link fingerprint. Applications will define link fingerprints that can be used by a snipping tool to find the URLs within the trees. In operation, URLs may be located by walking the tree until a node is found that satisfies all of the conditions specified in the link fingerprint. Link fingerprints may be identified by software vendors and added to an operating system registry, for example during installation.
A copy icon 506 may be used to copy the contents of window 500 to a clipboard or other memory. In some embodiments, the contents of window 500 are automatically copied to the clipboard and the clipboard contents are updated when modifications are made to the contents of window 500. An e-mail icon 508 may be used to e-mail the content included within window 500. The e-mail message may include the content as an attachment or in-line. In one embodiment of the invention, annotations made by a user are parsed in a conventional manner and the parsed annotations are used to populate the subject line of the e-mail message. The parsed annotations may also be used to name a file that will be saved or as an information tag associated with the image. In another embodiment of the invention, a title of a web page identified in the designated content is used to populate the subject line of the e-mail message. In other embodiments of the invention a title of window 500 may be used to populate the subject line of an e-mail message.
A pen icon 510 may be used to annotate the content displayed in window 500. For example, a user may wish to use a stylus to write notes and draw arrows to particular parts of the content included within window 500. One skilled in the art will appreciate that many different additional and/or alternate menu elements may be used to allow users to annotate, convey or otherwise operate on the content included within window 500. For example, an extensible Send To option may be provided that, when selected, sends the content included within window 500 to one or more editing applications. Toolbars of applications may also include at least some of the menu elements described above. For example, a browser application may include a selection menu element, such as selection menu element 402 (shown in
In some embodiments of the invention, window 500 is located and sized such that the content displayed within window 500 corresponds to the location and size of the designated content. That is, window 500 appears to be generated around the designated content, such as by fading into view, without the designated content changing size or location. Such positioning preserves the context of the surrounding content. When the designated content is located at an edge of a display, window 500 may be shifted to allow for room to insert annotations.
The size of window 500 may be expanded, such as to provide additional room for annotations. In one embodiment of the invention, the location and size of content displayed within window 500 remains stationary while the size of window 500 expands. Window 500 may be resized by a computer device to provide additional room for annotations. For example, when a user annotates content and the annotation approaches an edge of the window, the computer device may expand the window to provide additional room for annotations.
Although the subject matter has been described in language specific to structural features and/or methodological acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are disclosed as example forms of implementing the claims. 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.