Abstract:
Methods and apparatuses to accelerate scrolling for buffered windows. In one aspect of the invention, a method to scroll a buffered window on a data processing system includes: determining a second region of a second pixel image of a window in a frame buffer, which corresponds to a first region of a first pixel image of the window buffered in a window buffer that is scrolled from a first position to a second position in the first pixel image of the window in the window buffer; and scrolling the second region in the frame buffer to synchronize the second pixel image in the frame buffer with the first pixel image in the window buffer. In one example according to this aspect, the second region in the frame buffer is scrolled using graphics hardware; the frame buffer is located inside a video memory under control of the graphics hardware.
Abstract:
A system and method of rendering overlapping layers in a computer display, such as a windowing system, employs front-to-back assembly of the displayed image. An arbitrary number of overlapping elements, such as windows, can be presented, without requiring temporary storage space or additional off-screen buffers. The front-to-back assembly technique minimizes the number of memory transfers performed in connection with rendering an image, and avoids unnecessary reading and processing of pixels that will not contribute to the final image. Special effects such as semi-transparency, shadows, and irregular shapes can be accommodated and processed in an efficient manner.
Abstract:
Methods and apparatuses for locating an embedded color chart in an image are described. In one exemplary method, an image that includes an embedded color chart is located without the intervention of the user. The embedded color chart is verified and used to create a color profile of the image. Furthermore, the orientation angle of the color chart is determined and the image orientation is fixed based on this angle.
Abstract:
Methods and apparatuses to accelerate scrolling for buffered windows. In one aspect of the invention, a method to scroll a buffered window on a data processing system includes: determining a second region of a second pixel image of a window in a frame buffer, which corresponds to a first region of a first pixel image of the window buffered in a window buffer that is scrolled from a first position to a second position in the first pixel image of the window in the window buffer; and scrolling the second region in the frame buffer to synchronize the second pixel image in the frame buffer with the first pixel image in the window buffer. In one example according to this aspect, the second region in the frame buffer is scrolled using graphics hardware; the frame buffer is located inside a video memory under control of the graphics hardware.
Abstract:
Methods and apparatuses to scale components of user interfaces. To scale a view component according to an arbitrary transformation, which may be represented by a scaling factor, a coordinate transformation, or other parameters, at least one embodiment of the present invention determines a new transformation for the view component so that, when the new transformation is used, the boundaries of the view components are aligned with pixel lines (and/or, other conditions are satisfied). In one aspect of the invention, a method to scale a view component of a Graphical User Interface includes: adjusting first layout parameters (e.g., coordinates of an origin, a width, a height, a coordinate of a boundary, and others), which correspond to a first transformation to scale the view component, to generate second layout parameters for the view component; and computing a second transformation from the second layout parameters to scale the view component. In one example according to this aspect, the view component is scaled using the second transformation; and a Current Transformation Matrix (CTM) is set according to the second transformation. According to the second layout parameters, the boundaries of the view component are aligned with pixel lines.
Abstract:
Methods and apparatuses for nonlinear scaling of video images. To match the aspect ratios of a video image and the target display area, at least one embodiment of the present invention scales the video image according to one or more nonlinear functions along the horizontal direction and/or the vertical direction. In one embodiment, the nonlinear functions are such that the original aspect ratio of the video image is preserved near the center region (or strip) of the image and the image is gradually stretched (or compressed) as it is mapped to the edges. In one example, the scaling is implemented by the texture mapping functionality of OpenGL using graphics hardware. In one embodiment of the present invention, the nonlinear mapping is constructed according to a polynomial mapping; and, the coefficients of the polynomial are adjustable by a user to trade off distortion between the image center and the image edges, giving the user control over the location and the amount of distortion.
Abstract:
Methods and apparatuses for per display scale factors within a multiple display system are described.In one aspect of the invention, a machine implemented method includes setting a scale factor for each window buffer equal to an extreme scale factor among a plurality of displays. The method further includes transferring data from each window buffer into a corresponding frame buffer for one of the plurality of displays by setting a scale factor of each frame buffer equal to the scale factor of the corresponding display.In one example according to this aspect, the method further includes displaying on a high resolution display and a low resolution display an image, stored in the corresponding frame buffers, with substantially the same physical size even though the displays have different scale factors and pixel densities. Also, the extreme scale factor is one of the largest scale factor or the smallest scale factor.
Abstract:
Methods and apparatuses to accelerate scrolling for buffered windows. In one aspect of the invention, a method to scroll a buffered window on a data processing system includes: determining a second region of a second pixel image of a window in a frame buffer, which corresponds to a first region of a first pixel image of the window buffered in a window buffer that is scrolled from a first position to a second position in the first pixel image of the window in the window buffer; and scrolling the second region in the frame buffer to synchronize the second pixel image in the frame buffer with the first pixel image in the window buffer. In one example according to this aspect, the second region in the frame buffer is scrolled using graphics hardware; the frame buffer is located inside a video memory under control of the graphics hardware.
Abstract:
A system and method of rendering overlapping layers in a computer display, such as a windowing system, employs front-to-back assembly of the displayed image. An arbitrary number of overlapping elements, such as windows, can be presented, without requiring temporary storage space or additional off-screen buffers. The front-to-back assembly technique minimizes the number of memory transfers performed in connection with rendering an image, and avoids unnecessary reading and processing of pixels that will not contribute to the final image. Special effects such as semi-transparency, shadows, and irregular shapes can be accommodated and processed in an efficient manner.
Abstract:
Methods and apparatuses for per display scale factors within a multiple display system are described.In one aspect of the invention, a machine implemented method includes setting a scale factor for each window buffer equal to an extreme scale factor among a plurality of displays. The method further includes transferring data from each window buffer into a corresponding frame buffer for one of the plurality of displays by setting a scale factor of each frame buffer equal to the scale factor of the corresponding display.In one example according to this aspect, the method further includes displaying on a high resolution display and a low resolution display an image, stored in the corresponding frame buffers, with substantially the same physical size even though the displays have different scale factors and pixel densities. Also, the extreme scale factor is one of the largest scale factor or the smallest scale factor.