摘要:
An improved system for managing user inputs and z-order in a graphic user interface (GUI) environment is disclosed. A GUI element may include a plurality of keys corresponding to keys on a typical keyboard, and may serve as a replacement for the keyboard. The system permits an application having an input focus to retain the input focus while inputs are received in the GUI element, and even transient user interface elements (e.g., menus) will remain displayed in those applications after the user inputs are entered. Input pen and mouse events may first be forwarded to the input area application, which may remove the events from the normal circulation, preventing other applications from learning of the events, and then post those events to the input panel application separately.
摘要:
In one embodiment of the present invention, a method for rendering complex graphics —comprising “orientation-change graphics” for display on display devices in alternate orientations (e.g., portrait or inverse landscape); compositing of overlays; shading; texturing; anti-aliasing: alpha-blending; and/or sub-pixel manipulation technologies—is disclosed wherein the graphical processing unit (GPU) and video RAM shadow memory (VRAMSM) are bypassed and graphics are rendered in video shadow memory (VSM) by the central processing unit (CPU) and copied directly to the frame buffer. This method avoids the data flow problems of computer systems favoring system-to-video flow of data (that is, systems using an accelerated graphics port (AGP)) and leverages modern CPUs' increased computational speeds wherein the burden of rendering graphics in the CPU is no longer a significant resource cost such that the gains in graphics rendering more than offset any such CPU processing cost.
摘要:
A method for video playback switching in response to changing network conditions. The method includes accessing a server to retrieve respective index files for a low bit rate version and a high bit rate version of the video file, and instantiating a low bit rate media player and a high bit rate media. Playback of the video file is begun by the high bit rate media player streaming the high bit rate version from the server. Upon an indication of impeded network conditions, a transition point is selected, wherein the transition point indicates where downloading of the high bit rate version stops and where downloading of the low bit rate version begins. The low bit rate media player is then positioned to begin playback at the transition point. Playback of the video file is then switched to the low bit rate player upon encountering the transition point.
摘要:
A method for video playback switching in response to changing network conditions. The method includes accessing a server to retrieve respective index files for a low bit rate version and a high bit rate version of the video file, and instantiating a low bit rate media player and a high bit rate media. Playback of the video file is begun by the high bit rate media player streaming the high bit rate version from the server. Upon an indication of impeded network conditions, a transition point is selected, wherein the transition point indicates where downloading of the high bit rate version stops and where downloading of the low bit rate version begins. The low bit rate media player is then positioned to begin playback at the transition point. Playback of the video file is then switched to the low bit rate player upon encountering the transition point.
摘要:
The values of each possible component output R, G, and B may be pre-computed for all values of each possible component input Y, U, and V. Each contribution of Y, U, and V input may then be loaded into a register and added in parallel, without overflow, resulting in a computationally inexpensive RGB output from a YUV input. In one embodiment, contributions of Y, U, and V to each of R, G, and B are retrieved from pre-computed tables. The YUV contributions for each value of R, G, and B are packed into three data elements and added together in parallel, resulting in a value for an RGB output.
摘要:
The method of one embodiment for the invention is for the CPU to read a subset of consecutive pixels from RAM and cache each such pixel in the WC Cache (and load corresponding blocks into the L2 Cache). These reads and loads continue until the capacity of the L2 Cache is reached, and then these blocks (a “band”) are iteratively processed until the entire band in the L2 Cache has been written to the frame buffer via the WC Cache. Once this is complete, the process then “dumps” the L2 Cache (that is, it ignores the existing blocks and allows them to be naturally pushed out with subsequent loads) and the next band of consecutive pixels is read (and their blocks loaded). This process continues until the portrait-oriented graphic is entirely loaded.
摘要:
Ink is stored in a data structure that permits later retrieval by applications. The ink includes stroke information and property information. Properties may be associated globally with the ink strokes and/or with each stroke individually. Aspects include a data structure that supports ink for multiple applications. Using the storage system, method, and data structure, various applications may expand on ink to include additional attributes while permitting the ink to be used in applications not supporting the additional attributes. When encountering an unknown tag, the applications will skip past the end of the tag and its associated data to start reading the next tag.
摘要:
The present invention is directed to a method for rendering a composite image (comprising a primary object image and at least one graphical overlay) wherein the GPU and VRAM are bypassed altogether and the resulting displayed graphics are instead rendered in RAM by the CPU and copied directly to the frame buffer. This method not only avoids the data flow problems inherent to computer systems that favor system-to-video flow of data traffic (that is, computer systems that utilize an AGP) and avoids the “last-write” problem altogether, but which also takes advantage of modem CPUs having increased computational speeds (that are orders-of-magnitude greater than the speeds of legacy processors) and supports complex graphics functions that are necessarily performed by the CPU (and not the GPU) to achieve significant performance gains.
摘要:
A method for dividing a display into zones at system initialization for tracking which zones have any pixels revised so that, when the time comes to update the display, only the zones requiring revision (that is, those zones in which any pixel has been revised) are copied from shadow memory to the frame buffer for display on the display device. The memory for tracking these zones can be allocated at initialization and held since it is relatively small. Consequently, a significant performance gain may be achieved by avoiding the shortcomings of the existing methods in the art notwithstanding the fact that some “clean” pixels in each zone having even a single changed pixel are also rewritten to the frame buffer.
摘要:
Described is electronic ink maintained as a software object, thereby associating ink functionality with electronic ink data. The ink may be separated into words or characters, with one object per word or character. By the associated functionality, applications that deal with embedded objects in general can automatically benefit from electronic ink, including having the object's functionality render the ink data as part the application's document. Further, because the ink data is maintained as an object, the data is automatically persisted in association with the document into which it is embedded. Ink-aware applications may call on methods of the electronic ink object to adjust formatting, search recognized ink along with text, and perform other functions. Via the electronic ink object, electronic ink substantially approaches much of the behavior normally available with text data, without requiring applications to interpret the ink data.