CSS Style Values as Objects for Complex Gradients

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Current Cascading Style Sheets (CSS) technologies are limited in expressing complex presentation styles, as they only accept scalar or simple array values, making it difficult to apply arbitrary and complex designs such as linear gradients or polygonal shapes, which are not easily expressible with string values.

Innovation Solution

Allowing CSS property values to be defined as complex objects with subcomponents, enabling the use of class declarations that describe presentation qualities, which can be instantiated and applied to UI objects, thereby overcoming the limitations of scalar values.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Adaptability or versatility

If CSS property values are limited to scalar or simple array values, then the syntax remains simple and easy to parse, but the ability to express complex presentation styles such as linear gradients and polygonal shapes is severely limited

Engineering Contradiction:
Improveability to express complex presentation stylesVSAvoidcomplexity of style value structure
Core Design Contradiction:
Adaptability or versatilityVSDevice complexity

Solution Approach 1:

The patent implements nested object structures where style values can contain subcomponents that further define presentation properties. For example, a gradient style object can contain multiple color stops with positions and colors, creating a nested structure that enables complex visual effects while maintaining organized syntax.

Inventive Principle:
Principle #7Nested doll (Nesting)

Solution Approach 2:

The patent transitions from one-dimensional scalar values to multi-dimensional object structures. Style values are no longer just single numbers or strings but become complex objects with multiple properties (position, color, shape, gradient entries), adding dimensional complexity to express arbitrary designs.

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

2Adaptability or versatility

If CSS property values are defined as complex objects with subcomponents, then the expressiveness and flexibility of style definitions is improved, but the parsing complexity and processing overhead increase

Engineering Contradiction:
Improveflexibility of style definitionsVSAvoidparsing complexity
Core Design Contradiction:
Adaptability or versatilityVSDifficulty of detecting and measuring

Solution Approach 1:

The patent segments complex style definitions into discrete, named components. Each subcomponent (such as gradient entries, color stops, or shape parameters) is a separate object with a specific purpose, making the overall structure more manageable and easier to parse systematically through the DOM tree.

Inventive Principle:
Principle #1Segmentation

Solution Approach 2:

The patent uses class declarations that can be copied and instantiated multiple times. A single class definition can be reused across different style properties, reducing the need to redefine complex structures repeatedly and simplifying parsing by recognizing patterns across identical structures.

Inventive Principle:
Principle #26Copying

3Productivity

If scalar values are used for CSS properties, then the processing speed is faster and the implementation is simpler, but the ability to apply arbitrary and complex designs is restricted

Engineering Contradiction:
Improveprocessing speedVSAvoidability to apply arbitrary designs
Core Design Contradiction:
ProductivityVSAdaptability or versatility

Solution Approach 1:

The patent introduces dynamic style values that can adapt to different requirements. Instead of fixed scalar values, the system uses objects that can be dynamically instantiated, configured, and applied based on the specific design needs, allowing arbitrary designs while maintaining performance through efficient object instantiation and application.

Inventive Principle:
Principle #15Dynamics

Data Source

PatentUS7827481B1Defining style values as objects
Publication Date: 2010.11.02 ADOBE INC
  • US7827481B1 patent drawing
  • US7827481B1 patent drawing
  • US7827481B1 patent drawing

AI summary

A method, system, and computer program product for presenting a User Interface (UI), the method includes receiving input defining a value of a presentation property of a UI object as a name of a class declaration, and producing code that when executed, instantiates an object based on the class declaration, the execution of the code applying the object as a style of the UI object.