Code Editor Visual Element Rendering and Layout Reconfiguration

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current code editors lack flexibility in displaying visual elements, as they require prior knowledge of the elements and allowable locations, restricting the ability to arbitrarily place visual elements without obstructing text or other elements.

Innovation Solution

A code editor that allows visual elements to be rendered at any arbitrary location on the display without obstructing text or other elements, by reconfiguring the layout to insert spaces between text characters or lines, enabling the placement of graphics, images, text, video, or multimedia elements in-line with or between text.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If visual elements are displayed in predetermined margins at the edge of the display screen, then visual elements can be displayed without obstructing text, but the placement of visual elements is restricted and lacks flexibility

Engineering Contradiction:
Improveflexibility in placing visual elementsVSAvoidobstruction of text view
Core Design Contradiction:
Adaptability or versatilityVSEase of operation

Solution Approach 1:

The patent applies dimensionality change by moving visual elements from a single-dimensional margin placement to a two-dimensional arbitrary location system. The code editor allows visual elements to be positioned at any coordinate (x, y) on the display screen, transforming the constraint of fixed margin placement into flexible spatial positioning across the entire display area, thereby resolving the contradiction between placement flexibility and text obstruction.

Inventive Principle:
Principle #17Another dimension (Dimensionality change)

Solution Approach 2:

The patent implements dynamics by making the positioning system adaptive and reconfigurable. Instead of static predetermined margins, the system dynamically calculates allowable locations based on text position and visual element dimensions. The code editor continuously adjusts the placement of visual elements to maintain non-obstruction while enabling arbitrary positioning, transforming a static constraint into a dynamic solution.

Inventive Principle:
Principle #15Dynamics

2Adaptability or versatility

If visual elements are placed at arbitrary locations, then placement flexibility is improved, but text or other elements may be obstructed

Engineering Contradiction:
Improvearbitrary placement capabilityVSAvoidobstruction of view
Core Design Contradiction:
Adaptability or versatilityVSLoss of information

Solution Approach 1:

The patent applies preliminary anti-action by proactively preventing obstruction before it occurs. The system calculates the bounding boxes of text lines and determines allowable placement regions for visual elements in advance. By pre-computing non-obstructing locations based on text position and visual element size, the system eliminates the need for post-placement adjustments and ensures clear visibility of both text and visual elements.

Inventive Principle:
Principle #9Preliminary anti-action

Solution Approach 2:

The patent introduces an intermediary mechanism in the form of an allowable locations data structure that mediates between arbitrary placement requests and text obstruction prevention. This intermediary layer translates user placement intentions into valid positions by filtering out obstructing locations, thereby enabling flexible placement while maintaining unobstructed views of text and visual elements.

Inventive Principle:
Principle #24Intermediary (Mediator)

3Adaptability or versatility

If spaces are inserted between text characters or lines to accommodate visual elements, then arbitrary rendering is enabled, but the complexity of text layout reconfiguration increases

Engineering Contradiction:
Improvearbitrary visual element renderingVSAvoidlayout reconfiguration complexity
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent applies segmentation by dividing the display area into distinct regions: text regions and visual element regions. The system segments the code editor display into line-by-line text blocks and calculates allowable placement zones for visual elements between or alongside these segments. This segmentation approach simplifies layout reconfiguration by treating text and visual elements as separate, independently manageable units rather than requiring complex global reflow.

Inventive Principle:
Principle #1Segmentation

Data Source

PatentUS7721196B2Arbitrary rendering of visual elements on a code editor
Publication Date: 2010.05.18 MICROSOFT TECHNOLOGY LICENSING LLC
  • US7721196B2 patent drawing
  • US7721196B2 patent drawing
  • US7721196B2 patent drawing

AI summary

Visual elements can be arbitrarily rendered in a code editor. Visual elements can be rendered at any location on a display. Visual elements can include text, images, graphics, video, and/or multi-media. Rendering of visual elements will not obstruct a view of rendered text. Nor will rendering of the visual element obstruct a view of the visual element. Visual elements can be rendered between lines of text and/or in-line with text. If a selected location will obstruct a view or either rendered text or another visual element, the rendered text and/or the other visual element is reconfigured to allow space for rendering the visual element.