Layout System for Interdependent Elements

Resolve Bottlenecks,
Find Innovative Solutions
Generate Solutions

Solution Overview

Problem

Conventional layout techniques are inefficient in handling elements with interdependent dimensions, particularly in reflow situations, and require multiple layout passes to validate invalidated elements, leading to unnecessary measurement calculations and inefficiencies.

Innovation Solution

The proposed solution involves performing functions on containers and elements to determine size attributes, using parameters that provide more information than conventional techniques, allowing for efficient resizing and repositioning of elements by combining measurement and layout phases into a single pass and recursively determining constraints and sizes based on available information.

Engineering Contradictions & Design Principles

VSEngineering Contradiction Analysis

1Reliability

If conventional layout techniques are used to handle elements with interdependent dimensions, then layout functionality can be provided, but multiple layout passes are required and unnecessary measurement calculations are performed

Engineering Contradiction:
Improvelayout validationVSAvoidlayout processing efficiency
Core Design Contradiction:
ReliabilityVSProductivity

Solution Approach 1:

The patent applies preliminary action by determining whether an element's layout is invalidated before performing full layout calculations. The system checks if parent container size changes actually affect child elements, and only invalidates layouts when necessary. This prevents unnecessary measurement calculations and allows single-pass layout processing for elements that don't require revalidation, thereby improving productivity while maintaining layout validation reliability.

Inventive Principle:
Principle #10Preliminary action

2Manufacturing precision

If multiple layout passes are performed to validate invalidated elements, then layout accuracy is improved, but processing time and computational overhead increase

Engineering Contradiction:
Improvelayout precisionVSAvoidlayout processing time
Core Design Contradiction:
Manufacturing precisionVSLoss of time

Solution Approach 1:

The patent implements self-service by having the layout system automatically track and manage invalidation states of elements. When a parent container's size changes, the system self-determines which child elements are affected and only re-lays out those specific elements. This self-managed invalidation tracking eliminates the need for multiple full-pass validations, reducing processing time while maintaining layout precision through targeted revalidation only when necessary.

Inventive Principle:
Principle #25Self-service

3Ease of manufacture

If conventional measurement and layout functions are performed in separate phases, then measurement optimizations are hindered, but layout functionality is provided

Engineering Contradiction:
Improvelayout functionalityVSAvoidmeasurement efficiency
Core Design Contradiction:
Ease of manufactureVSProductivity

Solution Approach 1:

The patent merges the measurement and layout phases into a single integrated function. The layout function simultaneously performs measurement calculations and position/size determination for elements. This consolidation allows measurement optimizations to be applied throughout the entire layout process rather than being restricted to a separate phase, improving measurement efficiency while maintaining complete layout functionality.

Inventive Principle:
Principle #5Merging (Combining)

Data Source

PatentUS9196226B2Computer-implemented methods and systems for laying out electronic content elements
Publication Date: 2015.11.24 ADOBE INC
  • US9196226B2 patent drawing
  • US9196226B2 patent drawing
  • US9196226B2 patent drawing

AI summary

One exemplary embodiment involves performing a function on a container to determine a value for a container size attribute, wherein a contained element is contained by the container. Performing the function on the container involves determining whether the container constrains a contained element size attribute of the contained element. Performing the function on the container further involves performing the function on the contained element to determine a value for the contained element size attribute. If the container constrains the contained element size attribute, the function is passed information identifying how the container constrains the contained element size attribute. If the container does not constrain the contained element size attribute, the function is passed information identifying that the container does not constrain the contained element size attribute. Performing the function on the container further involves determining the value of the size attribute of the container.