WO2006031797A2 - Multi-application graphic display environment - Google Patents
Multi-application graphic display environment Download PDFInfo
- Publication number
- WO2006031797A2 WO2006031797A2 PCT/US2005/032530 US2005032530W WO2006031797A2 WO 2006031797 A2 WO2006031797 A2 WO 2006031797A2 US 2005032530 W US2005032530 W US 2005032530W WO 2006031797 A2 WO2006031797 A2 WO 2006031797A2
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- window
- display
- windows
- graphics
- identifier
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
- G09G5/00—Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
- G09G5/14—Display of multiple viewports
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
Definitions
- the present disclosure relates to window management in a graphical computing environment.
- Windows are commonly rectangular areas comprising graphical data associated with a particular computing application.
- Graphics information resulting from operation of applications is directed to a set of visible windows.
- a set of graphics contexts is provided having fixed associations with the applications.
- a set of variable associations is provided between the graphics contexts and the windows, so that varying the windows to which graphics information resulting from operation of the applications is directed is accomplished by varying the associations between the graphics contexts and the windows.
- Figure 1 is a block diagram of an embodiment of a data processing device.
- Figure 2 is a block diagram of an embodiment of a graphical computing environment.
- Figure 3 is a block diagram of an embodiment of windows in a graphical computing environment.
- Figure 4 is a block diagram of an embodiment of a window pixel value.
- Figure 5 is a block diagram of an embodiment of a process of determining a display pixel value.
- Figure 6 is a flow chart of an embodiment of a process of rendering window pixels as display pixels.
- Figure 7 is a flow chart of an embodiment of a process of rendering window pixels as display pixels.
- Figure 8 is a block diagram of an embodiment of a graphical computing environment.
- Figure 9 is an action diagram of an embodiment of a process of associating the contents of windows with applications.
- Figure 10 is a block diagram of an embodiment of a graphical computing environment.
- Logic may comprise signals stored in a device memory and applied to a processing device, such as a microprocessor, digital signal processor, microcontroller, and so on.
- Software is one example of such logic.
- Examples of device memories that may comprise logic include RAM (random access memory), flash memories, ROMS (read-only memories), EPROMS (erasable programmable read-only memories), mass storage, cache memories, and EEPROMS.
- Logic may also be comprised by digital and/or analog electrical hardware circuits. Logic may be formed from combinations of software and hardware.
- Figure 1 is a block diagram of an embodiment of a data processing device.
- a data processing device 102 (such as a vehicular display system) comprises a processor 104 and various types of memory.
- the types of memory may include a processor cache 106, volatile random access memory (RAM) 108, and non-volatile RAM 110 (read-only memory, magnetic and optical discs or other media, flash memory, and so on).
- the data processing device 102 may also comprise other logic and circuits 1 12 to perform processing that is not central to the present discussion.
- the data processing device 102 comprises a graphics subsystem 1 14 that includes memory 116, display logic and circuits 118, and a graphics processor 119, among other things.
- the volatile RAM 108 may comprise logic 120 that, when applied to the processor, results in collection, configuration, and display of graphics information. At any particular time, portions/versions 122 of the logic 120 may be comprised by non ⁇ volatile RAM 110. Likewise, the cache 106 may at times comprise portions/versions of the logic 120.
- FIG. 2 is a block diagram of an embodiment of a graphical computing environment.
- a graphics subsystem 114 comprises a memory 116, display logic and circuits 118, and a scissor register 218.
- the display logic and circuits 1 18 are coupled to a display 202.
- the scissor register 218 is coupled to display logic and circuits 118.
- the display 202 comprises windows 204-206 (the number of windows may be more or less than illustrated).
- the environment includes an operating system 212 to manage computing resources.
- the operating system 212 comprises a window manager 214 to manage the display and control of windows.
- a memory 220 of the data processing device which may comprise, among other elements, memories 106, 108, and 1 10, comprises various logic applications 208-210. Logic applications 208-210 are applied to one or more processors 104 to carry out various graphical computing operations, such as updating the contents of windows 204- 205.
- the memory 220 further comprises a GID buffer 216. The purpose of the GID buffer 216 is explained in more detail in conjunction with later figures.
- FIG. 3 is a block diagram of an embodiment of windows in a graphical computing environment.
- the display 202 comprises windows 304-309.
- the windows 304-309 are organized into layers.
- a layer represents a window's display priority. For example, windows in higher layers may have a lower display priority than windows in lower layers, so that when windows in the different layers having overlapping display locations, the window with the lower layer (higher display priority) will display in the overlapping locations. Windows having the same layer are not permitted to overlap.
- Each window 304-309 has a scissor rectangle, e.g. a bounding rectangle.
- One or more data structure(s) associated with a window defines a "graphics context", and may comprise content corresponding to display locations extending beyond the scissor rectangle (scrolling windows are one example). Content within the scissor rectangle is displayed, and content outside of the scissor rectangle is clipped (not displayed).
- FIG. 4 is a block diagram of an embodiment of a window pixel value.
- the window 306 comprises a pixel value 414,. among others.
- a pixel value is logic representing display characteristics for a display pixel, e.g. a basic display unit.
- One format of pixel values is the RGBA format, where bits of the pixel value represent the red, green, blue, and alpha components of the display pixel.
- the pixel value may also comprise bits (GID) representing the layer of the window comprising the pixel value.
- the pixel value may comprise other bits as well.
- FIG. 5 is a block diagram of an embodiment of a process of determining a display pixel value.
- the GID buffer 216 comprises a pixel GID value 511 (e.g. the pixel layer id) determined by successively writing corresponding pixel GID values of windows in different layers.
- Window 110 502 (a window in layer 10) comprises pixel GID value 508.
- Window I5 503 (a window in layer 5) comprises a pixel GID value 509.
- Window I2 504 (a window in layer 2) comprises pixel GID value 510.
- the pixel GID values 508-510 are corresponding, e.g. they apply to display pixels having identical locations on the display 202.
- the GID buffer 216 has pixel GID value locations for each display pixel.
- the pixel GID value 511 corresponds to the pixel GID values 508-510 of the windows.
- the pixel GID values 508-510 are written successively according to the GID display priority. In an environment where higher GID values (higher layers) have lower display priority, pixel GID value 508 is written first, then overwritten by pixel GID value 509, which is overwritten by pixel GID value 510. Pixel GID value 511 is thus assigned the value of the corresponding window pixel GID value having the highest display priority.
- Figure 6 is a flow chart of an embodiment of a process of rendering window pixels as display pixels.
- the content of a window is rendered on the display 202. If at 602 there are more pixels of the region of the contents lying within the scissor rectangle to render, the next pixel to render is identified. If there are not more pixels within the scissor rectangle to process, the process concludes at 610.
- the active GID value is the GID value (e.g. layer id) of the layer currently processed for display. If at 606 the pixel value is not equal to the active GID value, the process continues at 602. If at 606 the pixel value is equal to the active GID value, the pixel is rendered on the display 608 at 608 and processing returns to 602. Otherwise the process concludes at 610.
- FIG. 7 is a flow chart of an embodiment of a process of rendering window pixels as display pixels.
- the active layer is set to the layer furthest back (e.g. the layer with lowest display priority) having windows.
- the active window e.g. the window to process
- the active window is set to a first window of the active layer.
- each pixel GID value of the active window is written to corresponding screen positions of the GID buffer 216. If at 708 there are not more windows in the active layer, processing continues at 712. If there are more windows in the active layer, the active window is set to a next window of the active layer at 710.
- processing concludes at 716. Otherwise, at 714 the active layer is set to the next furthest back layer having windows (e.g. to the layer with windows having the next-lowest display priority). At 716 the process concludes.
- GID buffer 216 is z-buffered with identifications of display layers of the windows.
- FIG 8 is a block diagram of an embodiment of a graphical computing environment.
- the display 202 comprises windows 810 and 811.
- a first application 802 comprises a first graphics context 806 (e.g. the first application 802 is associated with and controls the content of the first graphics context 806).
- a second application 803 comprises a second graphics context 807.
- the first graphics context 806 is associated with window 810, and the second graphics context is associated with window 811.
- the first application 802 directs display content to the first window 810 by directing the content to the first graphics context 806.
- the second application 802 directs display content to the second window 811 by directing the content to the second graphics context 807.
- a trusted process may direct the association of processes (e.g. processes of applications) with windows.
- the windows may be created at the time the operating system 212 is initialized, and then left unchanged in size and position. Thus, once created, windows cannot be resized, moved, or change layers.
- many of these features may be accomplished by employing a trusted process to change the association of windows and processes. In such environments, it may prove simpler to protect the accuracy of the display information, and updating the display may be accomplished faster than in environments where the windows may be moved, sized, and arranged arbitrarily.
- a mechanism may be provided in such environments to enable applications to direct their display content to different windows.
- An application may direct its display content to a different window of the same layer, or to a window of a different layer, by providing a set of fixed associations between the graphics contexts and applications.
- a set of variable associations is provided between the graphics contexts and the windows. Varying the windows to which graphics information resulting from operation of the applications is directed is accomplished by varying the associations between the graphics contexts and the windows.
- Figure 9 is an action diagram of an embodiment of a process of associating the contents of windows with applications.
- Figure 9 demonstrates how two applications may switch the use of windows, without moving the windows or changing the layers of the windows.
- the window manager logic 214 creates the first window (window 1 ) and the second window (window 2).
- the first application (app1) creates the first graphics context (gd ) at 902.
- the second application (app2) creates the second graphics context (gc2) at 904.
- app1 signals the window manager 214 to request to attach gd to window 1 , and at 908 the window manager 214 attaches gd to window 1.
- app2 signals the window manager 214 to request to attach gc2 to window 2, and at 912 the window manager 214 attaches gc2 to window 2.
- Display content (graphics information) is sent via gd from app1 to window 1 at 914.
- Display content is sent via gc2 from app2 to window 2 at 916.
- Figure 8 represents the state of a graphics environment after act 916.
- app2 requests to unattach gc2 from window 2, and the window manager 214 unattaches gc2 from window 2 at 920.
- app1 requests to unattach gd from window 1 , and the window manager 214 unattaches gd from window 1 at 922.
- App1 requests to attach gd to window 2 at 928.
- the window manager 214 attaches gd to window 2 at 930.
- the window manager 214 attaches gc2 to window 2 at 936.
- App1 directs display information to GC1 , which directs the information to window 2 at 938.
- App2 directs display information to GC2, which directs the information to window 1 at 940.
- Figure 10 is a block diagram of an embodiment of a graphical computing environment.
- Figure 10 represents the state of the graphics environment of Figure 8 after act 940.
- the display 202 comprises windows 810 and 811.
- the first application 802 now comprises the third graphics context 1002, and the second application 803 now comprises the fourth graphics context 1003.
- the first application 802 directs display content to the second window 811 by directing the content to the third graphics context 1002.
- the second application 802 directs display content to the first window 810 by directing the content to the fourth graphics context 1003.
- the applications have switched windows, without moving the windows or changing the layers of the windows.
Abstract
Description
Claims
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP05796911.5A EP1787282B1 (en) | 2004-09-10 | 2005-09-09 | Multi-application graphic display environment |
CA002579222A CA2579222A1 (en) | 2004-09-10 | 2005-09-09 | Multi-application graphic display environment |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/938,281 | 2004-09-10 | ||
US10/938,281 US8006196B2 (en) | 2004-09-10 | 2004-09-10 | Multi-application graphic display environment |
Publications (2)
Publication Number | Publication Date |
---|---|
WO2006031797A2 true WO2006031797A2 (en) | 2006-03-23 |
WO2006031797A3 WO2006031797A3 (en) | 2007-11-29 |
Family
ID=36033403
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/US2005/032530 WO2006031797A2 (en) | 2004-09-10 | 2005-09-09 | Multi-application graphic display environment |
Country Status (4)
Country | Link |
---|---|
US (1) | US8006196B2 (en) |
EP (1) | EP1787282B1 (en) |
CA (1) | CA2579222A1 (en) |
WO (1) | WO2006031797A2 (en) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8269792B2 (en) * | 2006-11-21 | 2012-09-18 | Qualcomm Incorporated | Efficient scissoring for graphics application |
KR101465976B1 (en) * | 2007-07-31 | 2014-11-27 | 삼성전자주식회사 | Method and apparatus for controlling Universal Plug and Play device to play plurality of contents using plurality of rendering surfaces on screen |
US20110267370A1 (en) * | 2009-01-06 | 2011-11-03 | Mitsubishi Electric Corporation | Drawing layer control device |
US8365192B2 (en) * | 2011-01-14 | 2013-01-29 | Apple Inc. | Methods for managing authority designation of graphical user interfaces |
US8473961B2 (en) | 2011-01-14 | 2013-06-25 | Apple Inc. | Methods to generate security profile for restricting resources used by a program based on entitlements of the program |
US8884963B2 (en) * | 2011-05-04 | 2014-11-11 | Qualcomm Incorporated | Low resolution buffer based pixel culling |
EP2798615A4 (en) * | 2011-12-26 | 2015-09-09 | Intel Corp | Multiple scissor plane registers for rendering image data |
JP6578901B2 (en) | 2015-11-13 | 2019-09-25 | 株式会社デンソー | Display control device |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1997011431A1 (en) | 1995-09-20 | 1997-03-27 | Cohn Robert M | Non-overlapping tiling apparatus and method for multiple window displays |
Family Cites Families (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4559533A (en) * | 1983-11-03 | 1985-12-17 | Burroughs Corporation | Method of electronically moving portions of several different images on a CRT screen |
EP0212563B1 (en) * | 1985-08-14 | 1994-11-02 | Hitachi, Ltd. | Display control method for multi-window system |
JPS62276673A (en) * | 1986-05-26 | 1987-12-01 | Toshiba Corp | Multiwindow display device |
US5043923A (en) * | 1988-10-07 | 1991-08-27 | Sun Microsystems, Inc. | Apparatus for rapidly switching between frames to be presented on a computer output display |
US5101365A (en) * | 1988-10-31 | 1992-03-31 | Sun Microsystems, Inc. | Apparatus for extending windows using Z buffer memory |
US5140677A (en) * | 1990-05-11 | 1992-08-18 | International Business Machines Corporation | Computer user interface with window title bar mini-icons |
DE69115762T2 (en) * | 1990-06-19 | 1996-06-13 | Fujitsu Ltd | Method and device for the display control of multiple windows |
US5305435A (en) * | 1990-07-17 | 1994-04-19 | Hewlett-Packard Company | Computer windows management system and method for simulating off-screen document storage and retrieval |
US5511196A (en) * | 1992-11-17 | 1996-04-23 | International Business Machines Corporation | Method and system in a data processing system for the enhancement of relationships between reference objects in an object oriented environment and a data object outside an object oriented environment |
WO1994014155A1 (en) * | 1992-12-17 | 1994-06-23 | Seiko Epson Corporation | Graphics control planes for windowing and other display operations |
WO1994027240A1 (en) | 1993-05-10 | 1994-11-24 | Apple Computer, Inc. | Computer graphics system having high performance multiple layer z-buffer |
US5522025A (en) | 1993-10-25 | 1996-05-28 | Taligent, Inc. | Object-oriented window area display system |
US5781192A (en) * | 1996-01-16 | 1998-07-14 | Canon Information Systems, Inc. | Data transfer system |
US5896141A (en) * | 1996-07-26 | 1999-04-20 | Hewlett-Packard Company | System and method for virtual device access in a computer system |
US6018774A (en) * | 1997-07-03 | 2000-01-25 | Yobaby Productions, Llc | Method and system for creating messages including image information |
WO2000063768A1 (en) | 1999-04-16 | 2000-10-26 | Avid Technology, Inc. | System and method for managing the use of desktop space in graphical user interfaces |
US6803923B1 (en) * | 2000-05-16 | 2004-10-12 | Adobe Systems Incorporated | Determining composition order from layer effects |
US6996783B2 (en) | 2002-01-28 | 2006-02-07 | International Business Machines Corporation | Selectively adjusting transparency of windows within a user interface using a flashlight tool |
US7610352B2 (en) * | 2002-09-09 | 2009-10-27 | Meca Communications, Inc. | Sharing skins |
US20060020902A1 (en) * | 2004-07-22 | 2006-01-26 | International Business Machines Corporation | Interactive graphical user interfaces for computer display systems with simplified implementation for exposing completely hidden windows |
-
2004
- 2004-09-10 US US10/938,281 patent/US8006196B2/en active Active
-
2005
- 2005-09-09 EP EP05796911.5A patent/EP1787282B1/en active Active
- 2005-09-09 WO PCT/US2005/032530 patent/WO2006031797A2/en active Application Filing
- 2005-09-09 CA CA002579222A patent/CA2579222A1/en not_active Abandoned
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO1997011431A1 (en) | 1995-09-20 | 1997-03-27 | Cohn Robert M | Non-overlapping tiling apparatus and method for multiple window displays |
Also Published As
Publication number | Publication date |
---|---|
EP1787282A2 (en) | 2007-05-23 |
CA2579222A1 (en) | 2006-03-23 |
US20060055702A1 (en) | 2006-03-16 |
EP1787282A4 (en) | 2009-03-18 |
EP1787282B1 (en) | 2017-05-31 |
WO2006031797A3 (en) | 2007-11-29 |
US8006196B2 (en) | 2011-08-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1787282B1 (en) | Multi-application graphic display environment | |
US7543242B2 (en) | Method and structure for implementing layered object windows | |
US7453473B2 (en) | Method and apparatus for high-performance rendering and hit testing of a window tree | |
KR101278771B1 (en) | Interface and system for manipulating thumbnails of live windows in a window manager | |
AU2009225336B2 (en) | Method of compositing variable alpha fills supporting group opacity | |
US5245702A (en) | Method and apparatus for providing shared off-screen memory | |
US8510662B1 (en) | Effects framework for GUI components | |
CN103679785B (en) | For the newer system and method in part frame buffer zone | |
JPH0628027B2 (en) | Multi window display system | |
CN114816664A (en) | GPU virtualization | |
WO1994010639A1 (en) | Updating objects displayed in a computer system | |
WO1996013026A1 (en) | Object-oriented system for servicing windows | |
EP2851792A1 (en) | Solid state drives that cache boot data | |
US20030210267A1 (en) | Systems and methods for providing asynchronous client rendering in a graphical user interface (GUI) environment | |
EP0908812A2 (en) | Processor architecture scheme for implementing various addressing modes and method therefor | |
US5772297A (en) | 3D graphics library | |
Wynn | Using p-buffers for off-screen rendering in OpenGL | |
US20050140692A1 (en) | Interoperability between immediate-mode and compositional mode windows | |
US20060036775A1 (en) | Apparatus and methods for video graphics array (VGA) virtualization in system exploiting multiple operating systems | |
KR960002974B1 (en) | Apparatus for extending windows using z-buffer memory | |
Hoddie et al. | Drawing Graphics with Poco | |
JP2547347B2 (en) | Image display controller | |
US20040103269A1 (en) | Processor context register mapping | |
US20050151750A1 (en) | Method and apparatus for managing infinitely configurable window attribute tables | |
WO2003102869A2 (en) | Device and method for memory reallocation with panning and scrolling area of display image |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AK | Designated states |
Kind code of ref document: A2 Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BW BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE EG ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KM KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NA NG NI NO NZ OM PG PH PL PT RO RU SC SD SE SG SK SL SM SY TJ TM TN TR TT TZ UA UG US UZ VC VN YU ZA ZM ZW |
|
AL | Designated countries for regional patents |
Kind code of ref document: A2 Designated state(s): BW GH GM KE LS MW MZ NA SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LT LU LV MC NL PL PT RO SE SI SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
REEP | Request for entry into the european phase |
Ref document number: 2005796911 Country of ref document: EP |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2005796911 Country of ref document: EP |
|
WWE | Wipo information: entry into national phase |
Ref document number: 2579222 Country of ref document: CA |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
WWP | Wipo information: published in national office |
Ref document number: 2005796911 Country of ref document: EP |