Desktop Window Manager Input Redirection via Inverse Transform

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current graphical user interfaces lack a straightforward method to resize, rearrange, or transform windows and objects on a display without requiring application-specific code, and they struggle to handle transformations such as high dots per inch (DPI) displays effectively, leading to inefficiencies and ineffective changes.

Innovation Solution

The implementation of a window transformation application program interface coupled with a window manager that uses a transformation matrix to transform windows and incorporates an inverse transform for input device points, allowing for transparent input handling without modifying application code, thereby enabling arbitrary 2D or 3D transformations.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If a desktop compositor engine is used to redirect window content to an intermediate off-screen location for transformation, then window content manipulation becomes possible, but input device interaction becomes misaligned because the pointer position no longer corresponds to the transformed object position

Engineering Contradiction:
Improvewindow content manipulation capabilityVSAvoidinput device interaction accuracy
Core Design Contradiction:
Adaptability or versatilityVSEase of operation

Solution Approach 1:

The patent introduces an intermediary coordinate transformation mechanism between the input device and the transformed window content. The desktop compositor engine acts as a mediator that receives input coordinates, applies inverse transformation using the transformation matrix, and delivers corrected coordinates to the application, ensuring accurate pointer-to-object correspondence despite visual transformation

Inventive Principle:
Principle #24Intermediary (Mediator)

Solution Approach 2:

The system performs preliminary coordinate transformation by applying the inverse transformation matrix to input device coordinates before delivering them to the application. This preliminary action ensures that the coordinate system alignment is established in advance, preventing input misalignment issues

Inventive Principle:
Principle #10Preliminary action

2Adaptability or versatility

If application-specific code is used to modify or transform window presentation, then transformation capability is achieved, but code complexity and development effort increase substantially

Engineering Contradiction:
Improvetransformation capabilityVSAvoidcode complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent implements a universal transformation mechanism through the desktop compositor engine that can transform any window content regardless of the application. The transformation matrix and coordinate redirection system provide multi-functional capability across different applications and window types, eliminating the need for application-specific transformation code

Inventive Principle:
Principle #6Universality (Multi-functionality)

Solution Approach 2:

The transformation functionality is extracted from the application code and placed in the desktop compositor engine. By separating the transformation logic from the application layer and implementing it in the window manager/compositor layer, the system achieves transformation capability without increasing application code complexity

Inventive Principle:
Principle #2Taking out (Extraction)

3Productivity

If the window manager directs application content directly to the display screen, then simple data streaming is maintained, but no transformation or manipulation of content is possible

Engineering Contradiction:
Improvedata streaming efficiencyVSAvoidcontent transformation capability
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The desktop compositor engine serves as an intermediary layer between the window manager and the display screen. It receives window content from the window manager, applies transformations using the transformation matrix, and then directs the transformed content to the display, enabling both efficient data streaming and content manipulation

Inventive Principle:
Principle #24Intermediary (Mediator)

Data Source

PatentUS7412662B2Method and system for redirection of transformed windows
Publication Date: 2008.08.12 MICROSOFT TECHNOLOGY LICENSING LLC
  • US7412662B2 patent drawing
  • US7412662B2 patent drawing
  • US7412662B2 patent drawing

AI summary

Methods, systems, and computer-readable media are disclosed for redirecting an input to or from an application via a transformed window on a display device while maintaining the transformed window transparent to the application. A window transformation application program interface coupled with a window manager comprises a desktop window manager that facilitates the transparency. The desktop window manager, through the transformation API incorporates a transformation matrix that is used to transform the window from the application on the display. A mouse (or other input device) hit testing routine is incorporated into the desktop window manager to map an input device point to the transformed window, perform an inverse transform on the input device point if it is associated with the transformed window, before sending an input device message associated with the input device point on to the application. In this way, the application need not be aware of the transformation.