US20110261053A1 - Plug-in architecture for window management and desktop compositing effects - Google Patents
Plug-in architecture for window management and desktop compositing effects Download PDFInfo
- Publication number
- US20110261053A1 US20110261053A1 US13/173,885 US201113173885A US2011261053A1 US 20110261053 A1 US20110261053 A1 US 20110261053A1 US 201113173885 A US201113173885 A US 201113173885A US 2011261053 A1 US2011261053 A1 US 2011261053A1
- Authority
- US
- United States
- Prior art keywords
- visual effect
- desktop
- window
- instructions
- events
- 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
Links
- 230000000694 effects Effects 0.000 title claims abstract description 43
- 230000000007 visual effect Effects 0.000 claims abstract description 138
- 238000000034 method Methods 0.000 claims abstract description 14
- 238000009739 binding Methods 0.000 claims description 17
- 230000027455 binding Effects 0.000 claims description 16
- 239000002131 composite material Substances 0.000 claims description 11
- 240000008042 Zea mays Species 0.000 claims 1
- 235000005824 Zea mays ssp. parviglumis Nutrition 0.000 claims 1
- 235000002017 Zea mays subsp mays Nutrition 0.000 claims 1
- 235000005822 corn Nutrition 0.000 claims 1
- 238000009877 rendering Methods 0.000 abstract description 13
- 238000013459 approach Methods 0.000 abstract description 3
- 230000001133 acceleration Effects 0.000 description 3
- 238000010586 diagram Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000005034 decoration Methods 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000001151 other effect Effects 0.000 description 1
Images
Classifications
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction 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
Definitions
- the invention relates to rendering and compositing visual effects for desktop display using a customizable plug-in architecture that enhances user functions, developer functions, customizations, and usability of the desktop.
- Graphics cards are hardware cards that can be used with a computer to generate and display output images. Graphics cards with more advanced features and capabilities such as 3D acceleration are currently being developed and sold. A graphics card with 3D acceleration provides substantial resource savings from having to render 3D graphics using processor resources only. A 3D accelerator allows programs (e.g., games where the screen image must be recomputed many times per second) to display virtual 3D objects with a greater level of detail and color. With hardware 3D acceleration, three-dimensional rendering uses the graphics processor on the graphics card instead of taking up valuable CPU resources for drawing 3D images. Advancement in graphics cards allows for further development in user interfaces and in the way users interact with their computer display.
- One aspect of the invention relates to a plug-in architecture that enables accelerated rendering and compositing of one or more graphical effects instantiated by one or more separate visual effect plug-ins.
- the plug-in architecture enables setting up visual effects, accepting graphical output requests, customizing visual effects, and/or allowing enhanced graphics rendering for desktop usage, among other things.
- the invention provides a modular approach to customizing and rendering visual effects.
- the plug-in architecture enables plug-ins to be exchanged, modified, removed, and added, among other things.
- the plug-in architecture also allows individual visual effect plug-ins to be implemented and managed independently. For example, one plug-in does not have to be aware of any other plug-ins, nor does it have to require the function of another plug-in.
- Another aspect of the invention enables one or more of the plug-ins to be grouped together to combine various desktop visual effects (e.g., cube, rotate, etc).
- One advantage to using the plug-in architecture is that it allows the collection of visual effect plug-ins to share graphics hardware resources (e.g., graphics card).
- a system may include a computing device, one or more input/output devices, a desktop manager, a plug-in architecture, one or more applications, a graphics card, an event handler, and/or a configuration editor interface (see FIG. 1 ).
- the desktop manager may use the external plug-in architecture, which stores a plurality of visual effect plug-ins, for loading and compositing the one or more respective visual effects.
- An added advantage to implementing an external plug-in architecture is that it provides third party developers an open platform from which they may easily add their own visual effect plug-ins.
- the desktop manager may include at least a window manager and compositing manager that implements all (or some) of the visual effect plug-ins associated with the plug-in architecture.
- the composite manager and/or window manager may provide visual effects instructions to the graphics card.
- the system e.g., desktop manager, plug-in architecture, graphics card, etc.
- the compositing manager (or other mechanism) may be used to combine one or more visual effects (from the plug-ins) with a currently selected window to render graphical output.
- a window manager may allow the manipulation of application windows and/or dialog windows presented on a desktop.
- the compositing manager and window manager may be implemented at a single location or at separate locations, respectively.
- the compositing manager may be configured to issue visual effects instructions to a graphics card according to one or more of the effect plug-ins.
- visual effects may be implemented by the desktop manager (e.g., the window manager and compositing manager) using the plug-in architecture.
- Any number of effect plug-ins may be used (including zero).
- the plug-ins may be stored and managed as dynamically linked libraries in a directory.
- Configuration data for the each plug-in may be stored in a registry (e.g., Gconf).
- the registry may be organized in a hierarchy (like registry in Windows).
- user's can access and modify settings related to each plug-in. For example, the function-key bindings for the various compositing operations, the speed of the effects, among other things, may be customized.
- the plug-in architecture also allows individual plug-ins to be removed without affecting operations of any other plug-ins.
- each plug-in is managed independently, one or more plug-ins may be grouped to be dependent on another plug-in. For example, if a cube plug-in is turned on, then a rotate plug-in may be helpful to manipulate the cube interface. Thus, plug-ins may be grouped together to form dependences when desired.
- the plug-in architecture provides a highly customizable open architecture that provides desktop effects to users.
- any number of effect plug-ins may be used to composite window effects including but not limited to, decoration, fade, wobble, minimize, cube, rotate, zoom, scale, move, resize, place, and switcher, among other effects.
- One or more effect plug-ins may be supplied from third party developers.
- the system and method of the invention also allows multiple effects to share graphics hardware resources.
- the nature of the plug-in architecture allows user/developers to stack any of their own plug-ins to existing and/or created plug-ins.
- One or more effects may be stacked in order to create a pipeline of effects to fully customize effects.
- the invention also provides a way to add new effects and functionality to the desktop in a more frequent and reliable way thus making it possible to keep up with how fast the graphics hardware industry is evolving.
- FIG. 1 illustrates a high-level block diagram for a system, according to an embodiment of the invention.
- FIG. 2 illustrates an exemplary configuration interface, according to an embodiment of the invention.
- FIG. 3 illustrates a flow diagram for a method related to compositing window effects, according to an embodiment of the invention.
- One aspect of the invention includes a plug-in architecture 18 that provides visual effects information for compositing and rendering desktop effects for output.
- the plug-in architecture enables setting up visual effects, accepting graphical output requests, customizing visual effects, and/or allowing enhanced graphics rendering for desktop usage, among other things.
- the invention provides a modular approach to customizing and rendering visual effects.
- the plug-in architecture 18 enables plug-ins to be exchanged, modified, removed, and added, among other things.
- FIG. 1 illustrates a high-level block diagram for a computing system, according to an embodiment of the invention.
- the system of the invention may include, among other things, a computing device 10 (e.g., PC, client computer, etc.), one or more input/output devices ( 2 , 4 , 6 , 8 ), a graphics card 12 , an event handler 14 , a desktop manager 16 , a plug-in architecture 18 , one or more applications ( 20 a , 20 b ), and/or a configuration interface 22 .
- the elements of FIG. 1 may be interconnected using commonly known hardware and/or software techniques within a computer system to enable communication between the one or more components.
- the plug-in architecture 18 may include one or more visual effect plug-ins ( 18 a , 18 b ).
- the plug-in architecture 18 may be an external component that effectively provides a modular architecture for implementing a plurality of effect plug-ins.
- the plug-in architecture also allows a plurality of plug-ins to share graphics hardware resources (e.g., desktop manager 16 , graphics card 12 ).
- effect plug-ins may be supplied from third party developers in order to expand the number and/or functionality of visual effect plug-ins that may be implemented on the system.
- Examples of effect plug-ins include, but are in no way limited to, decoration, fade, wobble, minimize, cube, rotate, zoom, scale, move, resize, place, and/or switcher.
- the plug-ins may be stored and managed as dynamically linked libraries in a directory.
- Configuration data for each plug-in may be stored in a registry (e.g., Gconf).
- the registry may be organized in a hierarchy (as shown in FIG. 1 ).
- each plug-in e.g., plug-in 1 , plug-in 2 , plug-in 3 may have configuration options that may be customized.
- one or more plug-ins may be grouped based on source, type, and/or other grouping configuration.
- the plug-in architecture also enables each plug-in to be managed independently of one another. Individual plug-ins may be removed, added, and/or modified without effecting operations of other plug-ins. For example, one plug-in may operate irrespective of another plug-in, thus it may not require the functions of any another plug-in(s).
- the plug-in architecture 18 may provide the desktop manager 16 with information regarding the one or more effect plug-ins to composite and render.
- the desktop manager 16 may include a compositing manager 16 a and a window manager 16 b (and/or some other mechanism(s)).
- the compositing manager 16 a can composite windows with visual effects based on one or more effect plug-ins instantiated from the external plug-in architecture 18 .
- the compositing manager 16 a may be used to combine one or more visual effects (e.g., plug-ins) together to display windows. This system effectively allows plug-ins to be managed and rendered at separate locations such as the plug-in architecture 18 and desktop manager 16 , respectively.
- the window manager 16 b may execute in combination with the compositing manager 16 a .
- the window manager 16 b may allow manipulation of application windows and/or dialog windows presented on a desktop display.
- Both the window manager 16 b and the compositing manager 16 a may be configured to achieve graphical effects according to the one or more effect plug-ins ( 18 a , 18 b ).
- the compositing manager 16 a may issue visual effects instruction to a graphics card 12 according to the one or more effect plug-ins ( 18 a , 18 b ).
- the system e.g., desktop manager 16 , plug-in architecture 18 , graphics card 12 , etc.
- the system may be used to composite desktop effects quickly and efficiently.
- the event handler 14 may be implemented to receive and process event information, among other things.
- the event handler 14 may be executed as part of the desktop manager 16 or implemented separately (as shown). In either implementation the event handler 14 may detect events occurring on the computer system 10 (or associated with the computer system) to determine whether the detected event(s) trigger a visual effect plug-in.
- event information may be based on input received from one or more input devices (e.g., mouse, keyboard, touch screen, and/or any other input device).
- event information may be application initiated events including, but not limited to the creation of an application window and/or closing an application window. Other event examples may exist.
- a zoom effect plug-in may be triggered based on the user pressing the “Ctrl” and “+” keys at the same time.
- a fade-in/fade-out effect may be rendered.
- the configuration interface 22 may be used to pre-configure individual plug-ins to be associated with the occurrence of one or more events. Thus, the detection of a corresponding event(s) can trigger a visual effect plug-in to be instantiated by the event handler 14 and then composited by the compositing manager 16 a .
- the configuration interface 24 enables the user to select which plug-ins to enable, customize key bindings (and mouse bindings) associated with effect plug-ins, change aspects of the visual effects, and/or install more effect plug-ins, among other things.
- the system provides a manageable visual effects platform that can be customized to user's preferences. This may be particularly beneficial for those requiring certain screen viewing and/or display attributes (e.g., magnified text, multiple desktops, etc.).
- the configuration interface 22 may be used to configure event bindings (e.g., key-bindings, mouse bindings, etc.) for each plug-in.
- event bindings e.g., key-bindings, mouse bindings, etc.
- the configuration interface 22 may be used to set default and/or customized key bindings and mouse bindings for instantiating visual effects.
- a key binding may be a set of shortcut keystrokes (e.g., Ctrl+N, Alt+C, etc.).
- the user may also choose to disable and/or enable one or more effect plug-ins.
- the configuration interface 22 may be further used to configure properties associated with each plug-in effect. For example, properties may include speed of the effect, algorithm used to place windows, opacity of windows while being moved, size of shadows, etc. Any number of effect properties may be configured for a plug-in. Properties may be plug-in specific.
- FIG. 2 is an exemplary screen shot 100 of a configuration interface 22 , according to one embodiment of the invention. The interface itself may be displayed in any number of ways and the illustration in FIG. 2 is not meant to be limiting.
- FIG. 3 discloses an exemplary method associated with the foregoing system of the invention.
- the method may initially load one or more stored effect plug-ins (operation 202 ).
- a list of plug-ins may be loaded via command line arguments (and/or other mechanism).
- the process may proceed to make use of the one or more plug-ins.
- Operation 204 detects event information (e.g., keyboard event, mouse event, application event, etc.). Detection of events is followed by a determination whether the event triggered a plug-in (operation 206 ). If an event does trigger a plug-in then the plug-in effect may be composited on the selected window or object in operation 208 . Otherwise the system may go back to operation 204 where it awaits another event. After the corresponding plug-in is composited the actual visual effect may be transmitted for rendering (at the graphics card) to the user's display and/or other output device (operation 210 ). For example, hardware instructions (or other instructions) may be transmitted to a graphics card to initiate hardware rendering of the composited visual effects.
- event information e.g., keyboard event, mouse event, application event, etc.
- Detection of events is followed by a determination whether the event triggered a plug-in (operation 206 ). If an event does trigger a plug-in then the plug-in effect may be composited on the selected window or object in operation
- a further feature of the present invention is the customizability that may be performed for managing and configuring visual effects.
- each plug-in is managed independently, one or more plug-ins may be grouped to be dependent on another plug-in. For example, if a cube plug in is turned on then a rotate plug-in may be helpful to manipulate the cube interface. Thus plug-ins may be grouped together to form dependences when desired.
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
The system and method described herein relates to a plug-in architecture that enables accelerated rendering and compositing of one or more graphical effects instantiated by one or more separate visual effect plug-ins. The plug-in architecture enables setting up visual effects, accepting graphical output requests, customizing visual effects, and/or allowing enhanced graphics rendering for desktop usage, among other things. The invention provides a modular approach to customizing and rendering visual effects. The plug-in architecture enables plug-ins to be exchanged, modified, removed, and added, among other things.
Description
- This application is a continuation of U.S. patent application Ser. No. 11/702,646, entitled “Plug-in Architecture for Window Management and Desktop Compositing Effects,” filed Feb. 6, 2007, the contents of which are hereby incorporated by reference in their entirety.
- The invention relates to rendering and compositing visual effects for desktop display using a customizable plug-in architecture that enhances user functions, developer functions, customizations, and usability of the desktop.
- Graphics cards are hardware cards that can be used with a computer to generate and display output images. Graphics cards with more advanced features and capabilities such as 3D acceleration are currently being developed and sold. A graphics card with 3D acceleration provides substantial resource savings from having to render 3D graphics using processor resources only. A 3D accelerator allows programs (e.g., games where the screen image must be recomputed many times per second) to display virtual 3D objects with a greater level of detail and color. With hardware 3D acceleration, three-dimensional rendering uses the graphics processor on the graphics card instead of taking up valuable CPU resources for drawing 3D images. Advancement in graphics cards allows for further development in user interfaces and in the way users interact with their computer display.
- At present there are no solutions that effectively provide users enhanced 3D desktop graphics that may promote usability and are customizable and easily extendable.
- One aspect of the invention relates to a plug-in architecture that enables accelerated rendering and compositing of one or more graphical effects instantiated by one or more separate visual effect plug-ins. The plug-in architecture enables setting up visual effects, accepting graphical output requests, customizing visual effects, and/or allowing enhanced graphics rendering for desktop usage, among other things. The invention provides a modular approach to customizing and rendering visual effects. The plug-in architecture enables plug-ins to be exchanged, modified, removed, and added, among other things.
- The plug-in architecture also allows individual visual effect plug-ins to be implemented and managed independently. For example, one plug-in does not have to be aware of any other plug-ins, nor does it have to require the function of another plug-in. Another aspect of the invention enables one or more of the plug-ins to be grouped together to combine various desktop visual effects (e.g., cube, rotate, etc). One advantage to using the plug-in architecture is that it allows the collection of visual effect plug-ins to share graphics hardware resources (e.g., graphics card).
- In one or more embodiments a system may include a computing device, one or more input/output devices, a desktop manager, a plug-in architecture, one or more applications, a graphics card, an event handler, and/or a configuration editor interface (see
FIG. 1 ). The desktop manager may use the external plug-in architecture, which stores a plurality of visual effect plug-ins, for loading and compositing the one or more respective visual effects. An added advantage to implementing an external plug-in architecture is that it provides third party developers an open platform from which they may easily add their own visual effect plug-ins. - The desktop manager may include at least a window manager and compositing manager that implements all (or some) of the visual effect plug-ins associated with the plug-in architecture. The composite manager and/or window manager may provide visual effects instructions to the graphics card. Together with the 3D accelerator enabled graphics card, the system (e.g., desktop manager, plug-in architecture, graphics card, etc.) may be used to composite desktop effects quickly and efficiently.
- The compositing manager (or other mechanism) may be used to combine one or more visual effects (from the plug-ins) with a currently selected window to render graphical output. A window manager may allow the manipulation of application windows and/or dialog windows presented on a desktop. The compositing manager and window manager may be implemented at a single location or at separate locations, respectively. The compositing manager may be configured to issue visual effects instructions to a graphics card according to one or more of the effect plug-ins.
- As discussed, visual effects may be implemented by the desktop manager (e.g., the window manager and compositing manager) using the plug-in architecture. Any number of effect plug-ins may be used (including zero). The plug-ins may be stored and managed as dynamically linked libraries in a directory. Configuration data for the each plug-in may be stored in a registry (e.g., Gconf). The registry may be organized in a hierarchy (like registry in Windows). Using a configuration interface, user's can access and modify settings related to each plug-in. For example, the function-key bindings for the various compositing operations, the speed of the effects, among other things, may be customized.
- The plug-in architecture also allows individual plug-ins to be removed without affecting operations of any other plug-ins. Although each plug-in is managed independently, one or more plug-ins may be grouped to be dependent on another plug-in. For example, if a cube plug-in is turned on, then a rotate plug-in may be helpful to manipulate the cube interface. Thus, plug-ins may be grouped together to form dependences when desired.
- In general, the plug-in architecture provides a highly customizable open architecture that provides desktop effects to users. Broadly, any number of effect plug-ins may be used to composite window effects including but not limited to, decoration, fade, wobble, minimize, cube, rotate, zoom, scale, move, resize, place, and switcher, among other effects. One or more effect plug-ins may be supplied from third party developers.
- The system and method of the invention also allows multiple effects to share graphics hardware resources. The nature of the plug-in architecture allows user/developers to stack any of their own plug-ins to existing and/or created plug-ins. One or more effects may be stacked in order to create a pipeline of effects to fully customize effects. The invention also provides a way to add new effects and functionality to the desktop in a more frequent and reliable way thus making it possible to keep up with how fast the graphics hardware industry is evolving.
-
FIG. 1 illustrates a high-level block diagram for a system, according to an embodiment of the invention. -
FIG. 2 illustrates an exemplary configuration interface, according to an embodiment of the invention. -
FIG. 3 illustrates a flow diagram for a method related to compositing window effects, according to an embodiment of the invention. - One aspect of the invention includes a plug-in
architecture 18 that provides visual effects information for compositing and rendering desktop effects for output. The plug-in architecture enables setting up visual effects, accepting graphical output requests, customizing visual effects, and/or allowing enhanced graphics rendering for desktop usage, among other things. The invention provides a modular approach to customizing and rendering visual effects. The plug-inarchitecture 18 enables plug-ins to be exchanged, modified, removed, and added, among other things. -
FIG. 1 illustrates a high-level block diagram for a computing system, according to an embodiment of the invention. In one or more embodiments, the system of the invention may include, among other things, a computing device 10 (e.g., PC, client computer, etc.), one or more input/output devices (2, 4, 6, 8), agraphics card 12, anevent handler 14, adesktop manager 16, a plug-inarchitecture 18, one or more applications (20 a, 20 b), and/or aconfiguration interface 22. The elements ofFIG. 1 may be interconnected using commonly known hardware and/or software techniques within a computer system to enable communication between the one or more components. - In some embodiments the plug-in
architecture 18 may include one or more visual effect plug-ins (18 a, 18 b). The plug-inarchitecture 18 may be an external component that effectively provides a modular architecture for implementing a plurality of effect plug-ins. The plug-in architecture also allows a plurality of plug-ins to share graphics hardware resources (e.g.,desktop manager 16, graphics card 12). - One or more effect plug-ins may be supplied from third party developers in order to expand the number and/or functionality of visual effect plug-ins that may be implemented on the system. Examples of effect plug-ins include, but are in no way limited to, decoration, fade, wobble, minimize, cube, rotate, zoom, scale, move, resize, place, and/or switcher.
- The plug-ins may be stored and managed as dynamically linked libraries in a directory. Configuration data for each plug-in may be stored in a registry (e.g., Gconf). The registry may be organized in a hierarchy (as shown in
FIG. 1 ). As shown inFIG. 1 , each plug-in (e.g., plug-in1, plug-in2, plug-in3 may have configuration options that may be customized. And one or more plug-ins may be grouped based on source, type, and/or other grouping configuration. The plug-in architecture also enables each plug-in to be managed independently of one another. Individual plug-ins may be removed, added, and/or modified without effecting operations of other plug-ins. For example, one plug-in may operate irrespective of another plug-in, thus it may not require the functions of any another plug-in(s). - The plug-in
architecture 18 may provide thedesktop manager 16 with information regarding the one or more effect plug-ins to composite and render. In some embodiments, thedesktop manager 16 may include acompositing manager 16 a and awindow manager 16 b (and/or some other mechanism(s)). Thecompositing manager 16 a can composite windows with visual effects based on one or more effect plug-ins instantiated from the external plug-inarchitecture 18. Thecompositing manager 16 a may be used to combine one or more visual effects (e.g., plug-ins) together to display windows. This system effectively allows plug-ins to be managed and rendered at separate locations such as the plug-inarchitecture 18 anddesktop manager 16, respectively. - The
window manager 16 b may execute in combination with thecompositing manager 16 a. Thewindow manager 16 b may allow manipulation of application windows and/or dialog windows presented on a desktop display. Both thewindow manager 16 b and thecompositing manager 16 a may be configured to achieve graphical effects according to the one or more effect plug-ins (18 a, 18 b). Thecompositing manager 16 a may issue visual effects instruction to agraphics card 12 according to the one or more effect plug-ins (18 a, 18 b). Thus, together with a 3D accelerator enabledgraphics card 12, the system (e.g.,desktop manager 16, plug-inarchitecture 18,graphics card 12, etc.) may be used to composite desktop effects quickly and efficiently. - The
event handler 14 may be implemented to receive and process event information, among other things. Theevent handler 14 may be executed as part of thedesktop manager 16 or implemented separately (as shown). In either implementation theevent handler 14 may detect events occurring on the computer system 10 (or associated with the computer system) to determine whether the detected event(s) trigger a visual effect plug-in. - In some examples, event information may be based on input received from one or more input devices (e.g., mouse, keyboard, touch screen, and/or any other input device). In another example, event information may be application initiated events including, but not limited to the creation of an application window and/or closing an application window. Other event examples may exist.
- Events may be used to trigger one or more plug-in effects stored at the plug-in
architecture 18. For example, a zoom effect plug-in may be triggered based on the user pressing the “Ctrl” and “+” keys at the same time. In another example, as windows appear and disappear a fade-in/fade-out effect may be rendered. - The
configuration interface 22 may be used to pre-configure individual plug-ins to be associated with the occurrence of one or more events. Thus, the detection of a corresponding event(s) can trigger a visual effect plug-in to be instantiated by theevent handler 14 and then composited by thecompositing manager 16 a. The configuration interface 24 enables the user to select which plug-ins to enable, customize key bindings (and mouse bindings) associated with effect plug-ins, change aspects of the visual effects, and/or install more effect plug-ins, among other things. Thus, the system provides a manageable visual effects platform that can be customized to user's preferences. This may be particularly beneficial for those requiring certain screen viewing and/or display attributes (e.g., magnified text, multiple desktops, etc.). - The
configuration interface 22 may be used to configure event bindings (e.g., key-bindings, mouse bindings, etc.) for each plug-in. For example, theconfiguration interface 22 may be used to set default and/or customized key bindings and mouse bindings for instantiating visual effects. A key binding may be a set of shortcut keystrokes (e.g., Ctrl+N, Alt+C, etc.). - The user may also choose to disable and/or enable one or more effect plug-ins. The
configuration interface 22 may be further used to configure properties associated with each plug-in effect. For example, properties may include speed of the effect, algorithm used to place windows, opacity of windows while being moved, size of shadows, etc. Any number of effect properties may be configured for a plug-in. Properties may be plug-in specific.FIG. 2 is an exemplary screen shot 100 of aconfiguration interface 22, according to one embodiment of the invention. The interface itself may be displayed in any number of ways and the illustration inFIG. 2 is not meant to be limiting. -
FIG. 3 discloses an exemplary method associated with the foregoing system of the invention. The method may initially load one or more stored effect plug-ins (operation 202). A list of plug-ins may be loaded via command line arguments (and/or other mechanism). Once the desired plug-ins and corresponding configuration information is loaded, the process may proceed to make use of the one or more plug-ins. -
Operation 204 detects event information (e.g., keyboard event, mouse event, application event, etc.). Detection of events is followed by a determination whether the event triggered a plug-in (operation 206). If an event does trigger a plug-in then the plug-in effect may be composited on the selected window or object inoperation 208. Otherwise the system may go back tooperation 204 where it awaits another event. After the corresponding plug-in is composited the actual visual effect may be transmitted for rendering (at the graphics card) to the user's display and/or other output device (operation 210). For example, hardware instructions (or other instructions) may be transmitted to a graphics card to initiate hardware rendering of the composited visual effects. - A further feature of the present invention is the customizability that may be performed for managing and configuring visual effects. Although each plug-in is managed independently, one or more plug-ins may be grouped to be dependent on another plug-in. For example, if a cube plug in is turned on then a rotate plug-in may be helpful to manipulate the cube interface. Thus plug-ins may be grouped together to form dependences when desired.
- Although the subject matter of this application has been described in conjunction with the specific embodiments outlined above, many alternatives, modifications and variations will be evident or otherwise apparent to those skilled in the art. Accordingly, the preferred embodiments as set forth above are intended to be illustrative, not limiting. Various changes may be made without departing from the spirit and scope of the following claims.
Claims (30)
1. An apparatus for window management and desktop compositing effects, comprising:
a computer readable storage medium configured to store one or more visual effect instructions to render one or more visual effects on a desktop;
a graphics card configured to execute the one or more visual effect instructions to render the one or more visual effects on the desktop; and
one or more processors coupled to the computer readable storage medium, wherein the one or more processors are configured to:
detect one or more events associated with a window displayed on the desktop;
instantiate the one or more visual effects in response to determining that the one or more visual effect instructions associate the one or more detected events with the one or more visual effects; and
issue the one or more visual effect instructions to the graphics card in response to determining that the one or more visual effect instructions associate the one or more detected events with the one or more visual effects, wherein the issued visual effect instructions cause the graphics card to combine the one or more instantiated visual effects with the window displayed on the desktop and thereby composite the displayed window and the one or more instantiated visual effects.
2. The apparatus recited in claim 1 , wherein the one or more visual effect instructions include one or more pre-configured or customized event bindings that associate the one or more detected events with the one or more visual effects.
3. The apparatus recited in claim 2 , wherein the one or more pre-configured or customized event bindings associate one or more keyboard events, mouse events, touch screen events, or application events with the one or more visual effects.
4. The apparatus recited in claim 1 , wherein the one or more instantiated visual effects include a cube visual effect to map the desktop to a three-dimensional cube and a rotate visual effect to manipulate the three-dimensional cube.
5. The apparatus recited in claim 4 , wherein the one or more visual effect instructions define a dependency between the cube visual effect and the rotate visual effect to enable manipulating the three-dimensional cube via the rotate visual effect.
6. The apparatus recited in claim 1 , wherein the issued visual effect instructions further cause the graphics card to configure a speed associated with the one or more instantiated visual effects, a location to place the composited window on the desktop, an opacity that the composited window has while being moved within the desktop, or a size associated with a shadow that the composited window has on the desktop.
7. The apparatus recited in claim 1 , further comprising a display device, wherein the issued visual effect instructions cause the graphics card to hardware render the composited window and the one or more instantiated visual effects on the display device.
8. A method for window management and desktop compositing effects, comprising:
store one or more visual effect instructions to render one or more visual effects on a desktop;
storing one or more visual effect instructions to render a visual effect on a desktop;
detecting one or more events associated with a window displayed on the desktop;
instantiating the visual effect in response to determining that the one or more visual effect instructions associate the one or more detected events with the visual effect; and
issue the one or more visual effect instructions to a graphics card in response to the one or more visual effect instructions associating the one or more detected events with the visual effect, wherein the graphics card executes the issued visual effect instructions to combine the instantiated visual effect with the window displayed on the desktop and thereby composite the displayed window and the instantiated visual effect.
9. The method recited in claim 8 , wherein the one or more visual effect instructions include one or more pre-configured or customized event bindings that associate the one or more detected events with the visual effect.
10. The method recited in claim 9 , wherein the one or more pre-configured or customized event bindings associate one or more keyboard events, mouse events, touch screen events, or application events with the visual effect.
11. The method recited in claim 8 , wherein the instantiated visual effect maps the desktop to a three-dimensional cube that can be rotated to manipulate the three-dimensional cube.
12. The method recited in claim 11 , wherein the one or more visual effect instructions define a dependency between the cube visual effect and a rotate visual effect that enables the three-dimensional cube to be rotated and manipulated.
13. The method recited in claim 8 , wherein the graphics card further executes the issued visual effect instructions to configure a speed associated with the instantiated visual effect, a location to place the composited window on the desktop, an opacity that the composited window has while being moved within the desktop, or a size associated with a shadow that the composited window has on the desktop.
14. The method recited in claim 8 , wherein the graphics card further executes the issued visual effect instructions to hardware render the composited window and the instantiated visual effect on a display device.
15. A system for window management and desktop compositing effects, wherein the system comprises one or more processors configured to:
store one or more visual effect instructions to render a visual effect on a desktop;
detect one or more events associated with a window displayed on the desktop;
instantiate the visual effect in response to determining that the one or more visual effect instructions associate the one or more detected events with the visual effect; and
issue the one or more visual effect instructions to a graphics card in response to the one or more visual effect instructions associating the one or more detected events with the visual effect, wherein the issued visual effect instructions cause the graphics card to combine the instantiated visual effect with the window displayed on the desktop and thereby composite the displayed window and the instantiated visual effect.
16. The system recited in claim 15 , wherein the one or more visual effect instructions include one or more pre-configured or customized event bindings that associate the one or more detected events with the visual effect.
17. The system recited in claim 16 , wherein the one or more pre-configured or customized event bindings associate one or more keyboard events, mouse events, touch screen events, or application events with the visual effect.
18. The system recited in claim 15 , wherein the instantiated visual effect maps the desktop to a three-dimensional cube that can be rotated to manipulate the three-dimensional cube.
19. The system recited in claim 18 , wherein the one or more visual effect instructions define a dependency between the cube visual effect and a rotate visual effect that enables the three-dimensional cube to be rotated and manipulated.
20. The system recited in claim 15 , wherein the issued visual effect instructions further cause the graphics card to configure a speed associated with the instantiated visual effect, a location to place the composited window on the desktop, an opacity that the composited window has while being moved within the desktop, or a size associated with a shadow that the corn posited window has on the desktop.
21. The system recited in claim 15 , wherein the issued visual effect instructions further cause the graphics card to hardware render the composited window and the instantiated visual effect on a display device.
22. A computer readable storage medium containing one or more visual effect instructions for window management and desktop compositing effects, wherein the one or more visual effect instructions, when executed on a processor, cause the processor to:
determine whether the one or more visual effect instructions associate a visual effect with one or more events detected in relation to a window displayed on a desktop;
instantiate the visual effect in response to determining that the one or more visual effect instructions associate the visual effect with the one or more detected events; and
combine the instantiated visual effect with the window displayed on the desktop to composite the displayed window and the instantiated visual effect.
23. The computer readable storage medium recited in claim 22 , wherein to combine the instantiated visual effect with the window displayed on the desktop, the one or more visual effect instructions, when executed on the processor, further cause the processor to issue the one or more visual effect instructions to a graphics card configured to combine the instantiated visual effect with the window displayed on the desktop and thereby composite the displayed window and the instantiated visual effect.
24. The computer readable storage medium recited in claim 22 , wherein the one or more visual effect instructions, when executed on the processor, further cause the processor to execute the one or more visual effect instructions to combine the instantiated visual effect with the window displayed on the desktop.
25. The computer readable storage medium recited in claim 22 , wherein the one or more visual effect instructions include one or more pre-configured or customized event bindings that associate the one or more detected events with the visual effect.
26. The computer readable storage medium recited in claim 25 , wherein the one or more pre-configured or customized event bindings associate one or more keyboard events, mouse events, touch screen events, or application events with the visual effect.
27. The computer readable storage medium recited in claim 22 , wherein the instantiated visual effect maps the desktop to a three-dimensional cube that can be rotated to manipulate the three-dimensional cube.
28. The computer readable storage medium recited in claim 27 , wherein the one or more visual effect instructions define a dependency between the cube visual effect and a rotate visual effect that enables the three-dimensional cube to be rotated and manipulated.
29. The computer readable storage medium recited in claim 22 , wherein the one or more visual effect instructions, when executed on the processor, further cause the processor to configure a speed associated with the instantiated visual effect, a location to place the composited window on the desktop, an opacity that the composited window has while being moved within the desktop, or a size associated with a shadow that the composited window has on the desktop.
30. The computer readable storage medium recited in claim 22 , wherein the one or more visual effect instructions, when executed on the processor, further cause the processor to hardware render the composited window and the instantiated visual effect on a display device.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/173,885 US20110261053A1 (en) | 2007-02-06 | 2011-06-30 | Plug-in architecture for window management and desktop compositing effects |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/702,646 US7996787B2 (en) | 2007-02-06 | 2007-02-06 | Plug-in architecture for window management and desktop compositing effects |
US13/173,885 US20110261053A1 (en) | 2007-02-06 | 2011-06-30 | Plug-in architecture for window management and desktop compositing effects |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US11/702,646 Continuation US7996787B2 (en) | 2007-02-06 | 2007-02-06 | Plug-in architecture for window management and desktop compositing effects |
Publications (1)
Publication Number | Publication Date |
---|---|
US20110261053A1 true US20110261053A1 (en) | 2011-10-27 |
Family
ID=39677246
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US11/702,646 Expired - Fee Related US7996787B2 (en) | 2007-02-06 | 2007-02-06 | Plug-in architecture for window management and desktop compositing effects |
US13/173,885 Abandoned US20110261053A1 (en) | 2007-02-06 | 2011-06-30 | Plug-in architecture for window management and desktop compositing effects |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US11/702,646 Expired - Fee Related US7996787B2 (en) | 2007-02-06 | 2007-02-06 | Plug-in architecture for window management and desktop compositing effects |
Country Status (1)
Country | Link |
---|---|
US (2) | US7996787B2 (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080313540A1 (en) * | 2007-06-18 | 2008-12-18 | Anna Dirks | System and method for event-based rendering of visual effects |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7716399B2 (en) * | 2007-05-25 | 2010-05-11 | Red Hat, Inc. | Method and system for data management interface with intelligent plugins that determine whether to perform the requested data operation received from an application |
US7856517B2 (en) | 2007-05-25 | 2010-12-21 | Red Hat, Inc. | Data management interface with configurable plugins that determines whether to monitor for configuration data |
US8769291B2 (en) * | 2007-07-23 | 2014-07-01 | Red Hat, Inc. | Certificate generation for a network appliance |
US8621027B2 (en) | 2007-11-16 | 2013-12-31 | Red Hat, Inc. | Automatically providing identity information for a network appliance |
US8191122B2 (en) * | 2007-11-27 | 2012-05-29 | Red Hat, Inc. | Provisioning a network appliance |
US8191123B2 (en) * | 2007-11-27 | 2012-05-29 | Red Hat, Inc. | Provisioning a network appliance |
CN102067085B (en) * | 2008-04-17 | 2014-08-13 | 微系统道格有限公司 | Method and system for virtually delivering software applications to remote clients |
US20110113361A1 (en) * | 2009-11-06 | 2011-05-12 | Apple Inc. | Adjustment presets for digital images |
US20120042310A1 (en) * | 2010-02-14 | 2012-02-16 | Nokia Corporation | Method, apparatus and computer program product for platform independent framework |
JP5833822B2 (en) * | 2010-11-25 | 2015-12-16 | パナソニックIpマネジメント株式会社 | Electronics |
US9626710B1 (en) | 2012-05-23 | 2017-04-18 | Amazon Technologies, Inc. | Best practice analysis, optimized resource use |
US10740765B1 (en) | 2012-05-23 | 2020-08-11 | Amazon Technologies, Inc. | Best practice analysis as a service |
US9219648B1 (en) | 2012-05-23 | 2015-12-22 | Amazon Technologies, Inc. | Best practice analysis, automatic remediation |
US8769059B1 (en) * | 2012-05-23 | 2014-07-01 | Amazon Technologies, Inc. | Best practice analysis, third-party plug-ins |
US9846682B1 (en) * | 2013-11-25 | 2017-12-19 | Amazon Technologies, Inc. | Cross-platform presentation of digital content |
CN105335187B (en) | 2014-08-14 | 2019-12-13 | 阿里巴巴集团控股有限公司 | Application processing method and device |
Citations (53)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5678015A (en) * | 1995-09-01 | 1997-10-14 | Silicon Graphics, Inc. | Four-dimensional graphical user interface |
US5713045A (en) * | 1995-06-29 | 1998-01-27 | Object Technology Licensing Corporation | System for processing user events with input device entity associated with event producer which further links communication from event consumer to the event producer |
US6006279A (en) * | 1997-01-21 | 1999-12-21 | Canon Information Systems, Inc. | Plug-in module host framework |
US6167404A (en) * | 1997-07-31 | 2000-12-26 | Avid Technology, Inc. | Multimedia plug-in using dynamic objects |
US6275234B1 (en) * | 1997-03-27 | 2001-08-14 | Kabushiki Kaisha Toshiba | Display control system and method for controlling display of three-dimensional graphics data |
US20010035880A1 (en) * | 2000-03-06 | 2001-11-01 | Igor Musatov | Interactive touch screen map device |
US20010040571A1 (en) * | 1998-08-26 | 2001-11-15 | John David Miller | Method and apparatus for presenting two and three-dimensional computer applications within a 3d meta-visualization |
US6363486B1 (en) * | 1998-06-05 | 2002-03-26 | Intel Corporation | Method of controlling usage of software components |
US20020064764A1 (en) * | 2000-11-29 | 2002-05-30 | Fishman Lewis R. | Multimedia analysis system and method of use therefor |
US6490370B1 (en) * | 1999-01-28 | 2002-12-03 | Koninklijke Philips Electronics N.V. | System and method for describing multimedia content |
US20030079052A1 (en) * | 2001-10-24 | 2003-04-24 | Kushnirskiy Igor Davidovich | Method and apparatus for a platform independent plug-in |
US20030110312A1 (en) * | 2001-05-30 | 2003-06-12 | Mesut Gunduc | System and method for software component plug-in framework |
US20030142136A1 (en) * | 2001-11-26 | 2003-07-31 | Carter Braxton Page | Three dimensional graphical user interface |
US20030179240A1 (en) * | 2002-03-20 | 2003-09-25 | Stephen Gest | Systems and methods for managing virtual desktops in a windowing environment |
US20040021679A1 (en) * | 2000-06-09 | 2004-02-05 | Chapman David John | Human machine interface |
US6710788B1 (en) * | 1996-12-03 | 2004-03-23 | Texas Instruments Incorporated | Graphical user interface |
US6731314B1 (en) * | 1998-08-17 | 2004-05-04 | Muse Corporation | Network-based three-dimensional multiple-user shared environment apparatus and method |
US6734873B1 (en) * | 2000-07-21 | 2004-05-11 | Viewpoint Corporation | Method and system for displaying a composited image |
US6742176B1 (en) * | 1999-06-14 | 2004-05-25 | Lycos, Inc. | Secure flexible plugin software architecture |
US20040216134A1 (en) * | 2002-09-30 | 2004-10-28 | Reiner Hammerich | Action binding |
US20040267940A1 (en) * | 2003-06-27 | 2004-12-30 | Microsoft Corporation | Media plug-in registration and dynamic loading |
US6842856B2 (en) * | 2001-05-11 | 2005-01-11 | Wind River Systems, Inc. | System and method for dynamic management of a startup sequence |
US20050088436A1 (en) * | 2003-10-23 | 2005-04-28 | Microsoft Corporation | System and method for a unified composition engine in a graphics processing system |
US20050088452A1 (en) * | 2003-10-23 | 2005-04-28 | Scott Hanggie | Dynamic window anatomy |
US20050091308A1 (en) * | 2003-09-29 | 2005-04-28 | Peter Bookman | Mobility device |
US20050229104A1 (en) * | 2004-04-09 | 2005-10-13 | Microsoft Corporation | Add-on management |
US20050243087A1 (en) * | 2004-04-30 | 2005-11-03 | Shmuel Aharon | GPU-based Finite Element |
US20050271302A1 (en) * | 2004-04-21 | 2005-12-08 | Ali Khamene | GPU-based image manipulation method for registration applications |
US7019752B1 (en) * | 2003-06-04 | 2006-03-28 | Apple Computer, Inc. | Method and apparatus for frame buffer management |
US20060082583A1 (en) * | 2004-10-14 | 2006-04-20 | Microsoft Corporation | Remote client graphics rendering |
US20060129634A1 (en) * | 2004-11-18 | 2006-06-15 | Microsoft Corporation | Multiplexing and de-multiplexing graphics streams |
US20060182411A1 (en) * | 2005-02-12 | 2006-08-17 | Patrick Loo | Architecture for an image editor used for editing images in a mobile communication device |
US20060181547A1 (en) * | 2005-02-12 | 2006-08-17 | Patrick Loo | Method and system for image editing in a mobile multimedia processor |
US20070044085A1 (en) * | 2005-08-16 | 2007-02-22 | Stamper Douglas E | Integrated software for managing add-ons |
US20070061733A1 (en) * | 2005-08-30 | 2007-03-15 | Microsoft Corporation | Pluggable window manager architecture using a scene graph system |
US7254814B1 (en) * | 2001-09-28 | 2007-08-07 | Emc Corporation | Methods and apparatus for managing plug-in services |
US20070192818A1 (en) * | 2004-10-12 | 2007-08-16 | Mikael Bourges-Sevenier | System and method for creating, distributing, and executing rich multimedia applications |
US20070247455A1 (en) * | 2006-04-21 | 2007-10-25 | Samsung Electronics Co., Ltd. | Method and apparatus for generating on-screen display using 3D graphics |
US20070250787A1 (en) * | 2006-04-21 | 2007-10-25 | Hideya Kawahara | Enhancing visual representation and other effects for application management on a device with a small screen |
US20080079736A1 (en) * | 2006-10-03 | 2008-04-03 | Maass Scott R | Dual processor accelerated graphics rendering |
US20080127217A1 (en) * | 2006-09-05 | 2008-05-29 | Oracle International Corporation | Mechanism for Developing AJax Applications Using Java Swing Framework and Method for Using the Same |
US7389417B1 (en) * | 2004-01-28 | 2008-06-17 | Microsoft Corporation | Modular user interface |
US20080163060A1 (en) * | 2007-01-03 | 2008-07-03 | Microsoft Corporation | Motion desktop |
US20080266309A1 (en) * | 2007-04-27 | 2008-10-30 | Autodesk, Inc. | Edge effect |
US7487467B1 (en) * | 2005-06-23 | 2009-02-03 | Sun Microsystems, Inc. | Visual representation and other effects for application management on a device with a small screen |
US7750913B1 (en) * | 2006-10-24 | 2010-07-06 | Adobe Systems Incorporated | System and method for implementing graphics processing unit shader programs using snippets |
US7773090B1 (en) * | 2006-06-13 | 2010-08-10 | Nvidia Corporation | Kernel mode graphics driver for dual-core computer system |
US7812841B2 (en) * | 2001-02-23 | 2010-10-12 | Fujitsu Limited | Display controlling apparatus, information terminal unit provided with display controlling apparatus, and viewpoint location controlling apparatus |
US7839419B2 (en) * | 2003-10-23 | 2010-11-23 | Microsoft Corporation | Compositing desktop window manager |
US7889205B1 (en) * | 2006-10-24 | 2011-02-15 | Adobe Systems Incorporated | Frame buffer based transparency group computation on a GPU without context switching |
US8149247B1 (en) * | 2007-11-06 | 2012-04-03 | Nvidia Corporation | Method and system for blending rendered images from multiple applications |
US8243082B1 (en) * | 2008-04-16 | 2012-08-14 | Nvidia Corporation | Method and system for accessing display configuration information in a multi-GPU system via an embedded controller |
US8613001B2 (en) * | 2006-07-12 | 2013-12-17 | Samsung Electronics Co., Ltd. | Host device having merged plug-in function and method of generating merged plug-in |
Family Cites Families (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5534887A (en) | 1994-02-18 | 1996-07-09 | International Business Machines Corporation | Locator icon mechanism |
US5771042A (en) | 1996-07-17 | 1998-06-23 | International Business Machines Corporation | Multi-size control for multiple adjacent workspaces |
US5898432A (en) | 1997-03-12 | 1999-04-27 | Mitel Corporation | Animated cursor |
US6317142B1 (en) * | 1997-04-04 | 2001-11-13 | Avid Technology, Inc. | Taxonomy of objects and a system of non-modal property inspectors |
US5903728A (en) * | 1997-05-05 | 1999-05-11 | Microsoft Corporation | Plug-in control including an independent plug-in process |
US6148336A (en) * | 1998-03-13 | 2000-11-14 | Deterministic Networks, Inc. | Ordering of multiple plugin applications using extensible layered service provider with network traffic filtering |
GB2340358B (en) * | 1998-07-31 | 2002-11-13 | Sony Uk Ltd | Video special effects |
US6560606B1 (en) * | 1999-05-04 | 2003-05-06 | Metratech | Method and apparatus for processing data with multiple processing modules and associated counters |
US6603476B1 (en) | 1999-12-17 | 2003-08-05 | International Business Machines Corporation | Method, system and program for topographically aware operating system |
US6633300B1 (en) * | 1999-12-22 | 2003-10-14 | Adobe Systems Incorporated | Method and apparatus for painting groups of objects |
US6621508B1 (en) | 2000-01-18 | 2003-09-16 | Seiko Epson Corporation | Information processing system |
EP1281115A2 (en) | 2000-03-17 | 2003-02-05 | Vizible.com Inc. | A three dimensional spatial user interface |
US6564201B1 (en) | 2000-04-25 | 2003-05-13 | Cook-Hurlbert, Inc. | Expert designer system virtual plug-in interface |
US6546263B1 (en) | 2000-06-12 | 2003-04-08 | Ericsson Inc. | Apparatus and method for compact icon display |
US7559034B1 (en) * | 2000-10-19 | 2009-07-07 | DG FastChannel, Inc. | Method and system for using a hyperlink, banner, or graphical icon to initiate the overlaying of an object on a window |
US7051284B2 (en) | 2002-05-16 | 2006-05-23 | Microsoft Corporation | Displaying information to indicate both the importance and the urgency of the information |
US20040051739A1 (en) | 2002-06-20 | 2004-03-18 | Schmickley Michael J. | Alarm graphic editor with automatic update |
US8127248B2 (en) * | 2003-06-20 | 2012-02-28 | Apple Inc. | Computer interface having a virtual single-layer mode for viewing overlapping objects |
US20050027858A1 (en) | 2003-07-16 | 2005-02-03 | Premitech A/S | System and method for measuring and monitoring performance in a computer network |
US20050091254A1 (en) | 2003-10-23 | 2005-04-28 | Stabb Charles W. | Shell browser preview display |
US7091984B1 (en) | 2004-03-11 | 2006-08-15 | Nvidia Corporation | Scalable desktop |
JP2005317114A (en) * | 2004-04-28 | 2005-11-10 | Sony Corp | Information processor, information processing method, and program |
US20060085758A1 (en) | 2004-10-18 | 2006-04-20 | Dan Backus | Desktop alert management |
US7624354B2 (en) | 2005-04-29 | 2009-11-24 | Microsoft Corporation | Efficient workspace management using content groups |
US7464341B2 (en) * | 2005-06-30 | 2008-12-09 | International Business Machines Corporation | Canceling window close commands |
US20070005734A1 (en) * | 2005-06-30 | 2007-01-04 | Microsoft Corporation | Generically extensible client application |
US20080057960A1 (en) | 2006-08-29 | 2008-03-06 | Atte Lahtiranta | Mobile communication device |
-
2007
- 2007-02-06 US US11/702,646 patent/US7996787B2/en not_active Expired - Fee Related
-
2011
- 2011-06-30 US US13/173,885 patent/US20110261053A1/en not_active Abandoned
Patent Citations (54)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5713045A (en) * | 1995-06-29 | 1998-01-27 | Object Technology Licensing Corporation | System for processing user events with input device entity associated with event producer which further links communication from event consumer to the event producer |
US5678015A (en) * | 1995-09-01 | 1997-10-14 | Silicon Graphics, Inc. | Four-dimensional graphical user interface |
US6710788B1 (en) * | 1996-12-03 | 2004-03-23 | Texas Instruments Incorporated | Graphical user interface |
US6006279A (en) * | 1997-01-21 | 1999-12-21 | Canon Information Systems, Inc. | Plug-in module host framework |
US6275234B1 (en) * | 1997-03-27 | 2001-08-14 | Kabushiki Kaisha Toshiba | Display control system and method for controlling display of three-dimensional graphics data |
US6167404A (en) * | 1997-07-31 | 2000-12-26 | Avid Technology, Inc. | Multimedia plug-in using dynamic objects |
US6363486B1 (en) * | 1998-06-05 | 2002-03-26 | Intel Corporation | Method of controlling usage of software components |
US6731314B1 (en) * | 1998-08-17 | 2004-05-04 | Muse Corporation | Network-based three-dimensional multiple-user shared environment apparatus and method |
US20010040571A1 (en) * | 1998-08-26 | 2001-11-15 | John David Miller | Method and apparatus for presenting two and three-dimensional computer applications within a 3d meta-visualization |
US6597358B2 (en) * | 1998-08-26 | 2003-07-22 | Intel Corporation | Method and apparatus for presenting two and three-dimensional computer applications within a 3D meta-visualization |
US6490370B1 (en) * | 1999-01-28 | 2002-12-03 | Koninklijke Philips Electronics N.V. | System and method for describing multimedia content |
US6742176B1 (en) * | 1999-06-14 | 2004-05-25 | Lycos, Inc. | Secure flexible plugin software architecture |
US20010035880A1 (en) * | 2000-03-06 | 2001-11-01 | Igor Musatov | Interactive touch screen map device |
US20040021679A1 (en) * | 2000-06-09 | 2004-02-05 | Chapman David John | Human machine interface |
US6734873B1 (en) * | 2000-07-21 | 2004-05-11 | Viewpoint Corporation | Method and system for displaying a composited image |
US20020064764A1 (en) * | 2000-11-29 | 2002-05-30 | Fishman Lewis R. | Multimedia analysis system and method of use therefor |
US7812841B2 (en) * | 2001-02-23 | 2010-10-12 | Fujitsu Limited | Display controlling apparatus, information terminal unit provided with display controlling apparatus, and viewpoint location controlling apparatus |
US6842856B2 (en) * | 2001-05-11 | 2005-01-11 | Wind River Systems, Inc. | System and method for dynamic management of a startup sequence |
US20030110312A1 (en) * | 2001-05-30 | 2003-06-12 | Mesut Gunduc | System and method for software component plug-in framework |
US7254814B1 (en) * | 2001-09-28 | 2007-08-07 | Emc Corporation | Methods and apparatus for managing plug-in services |
US20030079052A1 (en) * | 2001-10-24 | 2003-04-24 | Kushnirskiy Igor Davidovich | Method and apparatus for a platform independent plug-in |
US20030142136A1 (en) * | 2001-11-26 | 2003-07-31 | Carter Braxton Page | Three dimensional graphical user interface |
US20030179240A1 (en) * | 2002-03-20 | 2003-09-25 | Stephen Gest | Systems and methods for managing virtual desktops in a windowing environment |
US20040216134A1 (en) * | 2002-09-30 | 2004-10-28 | Reiner Hammerich | Action binding |
US7019752B1 (en) * | 2003-06-04 | 2006-03-28 | Apple Computer, Inc. | Method and apparatus for frame buffer management |
US20040267940A1 (en) * | 2003-06-27 | 2004-12-30 | Microsoft Corporation | Media plug-in registration and dynamic loading |
US20050091308A1 (en) * | 2003-09-29 | 2005-04-28 | Peter Bookman | Mobility device |
US20050088436A1 (en) * | 2003-10-23 | 2005-04-28 | Microsoft Corporation | System and method for a unified composition engine in a graphics processing system |
US20050088452A1 (en) * | 2003-10-23 | 2005-04-28 | Scott Hanggie | Dynamic window anatomy |
US7839419B2 (en) * | 2003-10-23 | 2010-11-23 | Microsoft Corporation | Compositing desktop window manager |
US7389417B1 (en) * | 2004-01-28 | 2008-06-17 | Microsoft Corporation | Modular user interface |
US20050229104A1 (en) * | 2004-04-09 | 2005-10-13 | Microsoft Corporation | Add-on management |
US20050271302A1 (en) * | 2004-04-21 | 2005-12-08 | Ali Khamene | GPU-based image manipulation method for registration applications |
US20050243087A1 (en) * | 2004-04-30 | 2005-11-03 | Shmuel Aharon | GPU-based Finite Element |
US20070192818A1 (en) * | 2004-10-12 | 2007-08-16 | Mikael Bourges-Sevenier | System and method for creating, distributing, and executing rich multimedia applications |
US20060082583A1 (en) * | 2004-10-14 | 2006-04-20 | Microsoft Corporation | Remote client graphics rendering |
US20060129634A1 (en) * | 2004-11-18 | 2006-06-15 | Microsoft Corporation | Multiplexing and de-multiplexing graphics streams |
US20060182411A1 (en) * | 2005-02-12 | 2006-08-17 | Patrick Loo | Architecture for an image editor used for editing images in a mobile communication device |
US20060181547A1 (en) * | 2005-02-12 | 2006-08-17 | Patrick Loo | Method and system for image editing in a mobile multimedia processor |
US7487467B1 (en) * | 2005-06-23 | 2009-02-03 | Sun Microsystems, Inc. | Visual representation and other effects for application management on a device with a small screen |
US20070044085A1 (en) * | 2005-08-16 | 2007-02-22 | Stamper Douglas E | Integrated software for managing add-ons |
US20070061733A1 (en) * | 2005-08-30 | 2007-03-15 | Microsoft Corporation | Pluggable window manager architecture using a scene graph system |
US20070247455A1 (en) * | 2006-04-21 | 2007-10-25 | Samsung Electronics Co., Ltd. | Method and apparatus for generating on-screen display using 3D graphics |
US20070250787A1 (en) * | 2006-04-21 | 2007-10-25 | Hideya Kawahara | Enhancing visual representation and other effects for application management on a device with a small screen |
US7773090B1 (en) * | 2006-06-13 | 2010-08-10 | Nvidia Corporation | Kernel mode graphics driver for dual-core computer system |
US8613001B2 (en) * | 2006-07-12 | 2013-12-17 | Samsung Electronics Co., Ltd. | Host device having merged plug-in function and method of generating merged plug-in |
US20080127217A1 (en) * | 2006-09-05 | 2008-05-29 | Oracle International Corporation | Mechanism for Developing AJax Applications Using Java Swing Framework and Method for Using the Same |
US20080079736A1 (en) * | 2006-10-03 | 2008-04-03 | Maass Scott R | Dual processor accelerated graphics rendering |
US7750913B1 (en) * | 2006-10-24 | 2010-07-06 | Adobe Systems Incorporated | System and method for implementing graphics processing unit shader programs using snippets |
US7889205B1 (en) * | 2006-10-24 | 2011-02-15 | Adobe Systems Incorporated | Frame buffer based transparency group computation on a GPU without context switching |
US20080163060A1 (en) * | 2007-01-03 | 2008-07-03 | Microsoft Corporation | Motion desktop |
US20080266309A1 (en) * | 2007-04-27 | 2008-10-30 | Autodesk, Inc. | Edge effect |
US8149247B1 (en) * | 2007-11-06 | 2012-04-03 | Nvidia Corporation | Method and system for blending rendered images from multiple applications |
US8243082B1 (en) * | 2008-04-16 | 2012-08-14 | Nvidia Corporation | Method and system for accessing display configuration information in a multi-GPU system via an embedded controller |
Non-Patent Citations (2)
Title |
---|
Chromium.org et. al. " Plugin Architecture", retreived 12/29/2015, pp 1-13 * |
Chromium.org et. al. "Getting Started: Background and Basics", retrived 12/29/2015, pp 1.6 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080313540A1 (en) * | 2007-06-18 | 2008-12-18 | Anna Dirks | System and method for event-based rendering of visual effects |
US8601371B2 (en) | 2007-06-18 | 2013-12-03 | Apple Inc. | System and method for event-based rendering of visual effects |
Also Published As
Publication number | Publication date |
---|---|
US20080189651A1 (en) | 2008-08-07 |
US7996787B2 (en) | 2011-08-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7996787B2 (en) | Plug-in architecture for window management and desktop compositing effects | |
US9032026B2 (en) | Methods and systems for providing, by a remote machine, access to a desk band associated with a resource executing on a local machine | |
US7698706B2 (en) | Methods and apparatus for implementing an integrated user interface for managing multiple virtual machines operative in a computing system | |
US8881047B2 (en) | Systems and methods for dynamic background user interface(s) | |
US8839127B2 (en) | Object transitions | |
EP3111318B1 (en) | Cross-platform rendering engine | |
US20030179240A1 (en) | Systems and methods for managing virtual desktops in a windowing environment | |
US20140351722A1 (en) | User interface elements for multiple displays | |
WO2017201655A1 (en) | Background application display method and apparatus, electronic device and computer program product | |
US20240134495A1 (en) | Desktop container peek interface | |
US20100218126A1 (en) | Content driven application state | |
CN114637559A (en) | Method, system, equipment and storage medium for displaying starting interface |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: CPTN HOLDINGS LLC, CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:NOVELL, INC.;REEL/FRAME:028841/0047 Effective date: 20110427 |
|
AS | Assignment |
Owner name: APPLE INC., CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:CPTN HOLDINGS LLC;REEL/FRAME:028856/0230 Effective date: 20120614 |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO PAY ISSUE FEE |