DE102019004670A1 - Automatisches Generieren und Anwenden von Grafiknutzerschnittstellenskalierungsrandbedingungen auf Grundlage von Gestaltungssemantiken - Google Patents

Automatisches Generieren und Anwenden von Grafiknutzerschnittstellenskalierungsrandbedingungen auf Grundlage von Gestaltungssemantiken Download PDF

Info

Publication number
DE102019004670A1
DE102019004670A1 DE102019004670.6A DE102019004670A DE102019004670A1 DE 102019004670 A1 DE102019004670 A1 DE 102019004670A1 DE 102019004670 A DE102019004670 A DE 102019004670A DE 102019004670 A1 DE102019004670 A1 DE 102019004670A1
Authority
DE
Germany
Prior art keywords
design
user interface
scaling
graphic user
design layout
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.)
Pending
Application number
DE102019004670.6A
Other languages
English (en)
Inventor
Swapnil Shrivastava
Hoyle Wang
Ash Huang
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Adobe Inc
Original Assignee
Adobe Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Adobe Inc filed Critical Adobe Inc
Publication of DE102019004670A1 publication Critical patent/DE102019004670A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04845Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range for image manipulation, e.g. dragging, rotation, expansion or change of colour
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/20Software design
    • G06F8/24Object-oriented
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/34Graphical or visual programming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/38Creation or generation of source code for implementing user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T11/002D [Two Dimensional] image generation
    • G06T11/60Editing figures and text; Combining figures or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/103Formatting, i.e. changing of presentation of documents
    • G06F40/106Display of layout of documents; Previewing

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • User Interface Of Digital Computer (AREA)
  • Processing Or Creating Images (AREA)

Abstract

Die vorliegende Offenbarung betrifft Systeme, Verfahren und nichttemporäre computerlesbare Medien zum Skalieren eines Grafiknutzerschnittstellengestaltungslayouts unter Nutzung von automatisch generierten semantikbewussten Skalierungsrandbedingungen. Insbesondere können die hier beschriebenen Systeme die Semantiken von Grafiknutzerschnittstellengestaltungselementen (beinhaltend beispielsweise Größe, Position, Typ und dergleichen mehr) und Relativpositionen der Gestaltungselemente (beispielsweise Hierarchie, Offsets, Einbettung und dergleichen mehr) analysieren. Die offenbarten Systeme nutzen ein Heuristikensystem für die analysierten Semantiken zum Generieren eines Satzes von automatisch definierten semantikbewussten Skalierungsrandbedingungen für jede Grafiknutzerschnittstellengestaltungsschnittstelle. Die offenbarten Systeme präsentieren zusätzlich eine Gestaltungsskalierungsschnittstelle, die dem Gestalter ermöglicht, Randbedingungen, die auf die Gestaltungselemente angewendet werden sollen, manuell auszuwählen. Die offenbarten Systeme können zwischen dem Anwenden von manuell ausgewählten und automatischen semantikbewussten Skalierungsrandbedingungen für die Gestaltungselemente umstellen.

Description

  • Verweis auf verwandte Anmeldungen
  • Die vorliegende Anmeldung beansprucht den Rechtsvorteil der Priorität der am 16. September 2018 eingereichten vorläufigen US-Patentanmeldung Nr. 62/731,965 mit dem Titel „Automatically Generating and Applying Graphical User Interface Resize-Constraints based on Design Semantics“, die hiermit durch Verweis in Gänze mit aufgenommen wird.
  • Hintergrund
  • Infolge des schnellen Wachstums des Internets gehen Menschen dazu über, sich Content online anzusehen. Ein Dokument, so beispielsweise eine Webpage, eine native Anwendung, eine Zeitschrift, eine Broschüre oder ein Onlinebuch sind üblicherweise für die Anzeige in einem bestimmten Medium oder Anzeigefenster (viewport) gestaltet. Oftmals wird auf das Dokument jedoch von einer Vielzahl von Anzeigevorrichtungen (oder Zielvorrichtungen), so beispielsweise von Tablet-Computern, Mobiltelefonen, PDAs, Laptop-Computern und dergleichen, zugegriffen, oder es wird für diese bereitgestellt. Diese Zielvorrichtungen besitzen verschiedene Eigenschaften, so beispielsweise die Größe oder Auflösung des Bildschirms, weshalb Bedarf an verschiedenen Zielanzeigelayouts für verschiedene Zielvorrichtungen besteht. Das digitale Veröffentlichen impliziert oftmals ein Generieren von mehreren Kopien von Anzeigelayouts zur Nutzung auf verschiedenen Vorrichtungen.
  • Als solches nutzen Gestalter herkömmliche Systeme üblicherweise zum Erstellen von mehreren Anzeigelayouts für mehrere Größen und Auflösungen des Bildschirmes. Obwohl herkömmliche Systeme verschiedene Anzeigelayouts zur Verwendung auf verschiedenen Vorrichtungen erstellen können, bringen sie oftmals eine Anzahl von technischen Nachteilen im Zusammenhang mit der Effizienz, der Genauigkeit und der Flexibilität mit sich. Herkömmliche Systeme benötigen in der Praxis eine beträchtliche Menge an Rechenleistung, Zeit, Speicher und anderen Computerressourcen. Herkömmliche Systeme benötigen beispielsweise oftmals eine übermäßige gestalterseitige Interaktion und auch Zeit zur Erstellung von mehreren Anzeigelayouts. Herkömmliche Systeme erfordern zudem oftmals, dass Gestalter einzelne Elemente in dem Anzeigelayout manuell skalieren, bewegen, entfernen und/oder erstellen.
  • Einige herkömmliche Systeme skalieren einige Elemente auf Grundlage von manuell gesetzten Regeln. Auch diese herkömmlichen Skalierungssysteme mit manuellen Regeln sind ineffizient. Die gängigsten Skalierungssysteme mit manuellen Regeln erfordern beispielsweise, dass Gestalter Skalierungsregeln für jedes Element in einem Anzeigelayout einzeln definieren. Des Weiteren erfordert das Erstellen von mehreren Anzeigelayouts oftmals, dass Entwickler durch mehrere Nutzerschnittstellen navigieren und übermäßig viel Zeit und übermäßig viele Ressourcen investieren, um die Regeln zur Skalierung der Anzeigelayouts zu bestimmen und zu setzen.
  • Herkömmliche Systeme erzeugen zudem oftmals ungenau skalierte Elemente in skalierten Anzeigelayouts. Viele herkömmliche Systeme skalieren die Elemente beispielsweise einfach auf den gleichen Maßstab wie das neue Anzeigelayout. Ein derartiges einfaches Skalieren führt oftmals zu verzerrten fertigen Elementen, da viele der skalierten Elemente im Vergleich zu den ursprünglichen Elementen andere Seitenverhältnisse aufweisen. Wie erwähnt worden ist, versuchen viele herkömmliche Skalierungssysteme, diesen Nachteil zu überwinden, indem sie erfordern, dass Gestalter einzelne Elemente manuell skalieren. Da diese herkömmlichen Skalierungssysteme jedoch auf menschliche Gestalter, die jedes Element manuell anpassen, zurückgreifen, beinhaltet das fertige Anzeigelayout oftmals falsch platzierte und/oder verzerrte Elemente, und zwar insbesondere in Anzeigelayouts, die mehrere Elemente enthalten.
  • Des Weiteren sind herkömmliche Systeme oftmals unflexibel. Herkömmliche Skalierungssysteme mit manuellen Regeln sind in der Praxis oftmals auf eine kleine Anzahl von Nutzungsfällen beschränkt. Insbesondere erfordern viele herkömmliche Skalierungssysteme mit manuellen Regeln, dass Gestalter einen neuen Satz von Regeln definieren oder Regeln aktualisieren, wenn die Gestaltung skaliert oder auf andere Weise aktualisiert wird. Zusätzlich sind herkömmliche Skalierungssysteme mit manuellen Regeln oftmals auf das Anwenden von Kantenanheftregeln beschränkt. Herkömmliche Skalierungssysteme mit manuellen Regeln können Elemente beispielsweise oftmals nur in Bezug auf die nächste Anzeigelayoutkante örtlich anheften. Herkömmliche Skalierungssysteme mit manuellen Regeln sind daher technisch beim Skalieren von Elementen oftmals beschränkt, wenn die Elemente nicht in der Nähe einer Anzeigelayoutkante befindlich sind. Zusätzlich sind herkömmliche Skalierungssysteme mit manuellen Regeln oftmals unflexibel, da sie in Fällen nicht arbeiten können, in denen die Elemente umgesetzt, erweitert oder verkleinert werden müssen.
  • Diese Probleme und Fragestellungen zusammen mit weiteren treten im Zusammenhang mit dem Generieren von skalierten Anzeigelayouts auf.
  • Zusammenfassung
  • Ausführungsformen der vorliegenden Erfindung umfassen Systeme, Verfahren und computerlesbare Medien zum automatischen Skalieren von Gestaltungen unter Nutzung von dynamisch generierten Skalierungsrandbedingungen auf Grundlage eines Satzes von Heuristiken, die Semantiken einer Gestaltung berücksichtigen. Im Ergebnis skalieren die Systeme, Verfahren und computerlesbaren Medien, wenn ein Nutzer die Größe einer Gestaltung ändert, Gestaltungselemente intelligent und automatisch (beispielsweise ohne nutzerseitige Eingabe). Insbesondere analysiert das offenbarte System Eigenschaften der Gestaltung und der Gestaltungselemente. Des Weiteren generieren die Systeme Randbedingungen dynamisch genau vor einem Skalierungsvorgang, sodass eine beliebige Änderung an einer Gestaltung automatisch angepasst wird. Die offenbarten Systeme wenden zudem neue Randbedingungen, so diese von der skalierten Gestaltung und den Gestaltungselementen benötigt werden, dynamisch an. Des Weiteren sind die Systeme flexibel und decken eine große Vielzahl von Fällen ab.
  • Illustrationshalber können die offenbarten Systeme bei einer oder mehreren Ausführungsformen eine Aufforderung dahingehend, ein Grafiknutzerschnittstellengestaltungslayout von einer ersten Größe auf eine zweite Größe zu skalieren, empfangen. Das Grafiknutzerschnittstellengestaltungslayout kann mehrere Grafiknutzerschnittstellenelemente beinhalten. Die offenbarten Systeme analysieren Semantiken des Grafiknutzerschnittstellengestaltungslayouts. Zusätzlich definieren die offenbarten Systeme automatisch einen Satz von semantikbewussten Regeln oder Randbedingungen für die mehreren Grafiknutzerschnittstellenelemente auf Grundlage der analysierten Semantiken des Grafiknutzerschnittstellengestaltungslayouts. Zudem generieren die offenbarten Systeme ein skaliertes Grafiknutzerschnittstellengestaltungslayout der zweiten Größe durch Skalieren der mehreren Grafiknutzerschnittstellenelemente entsprechend dem automatisch definierten Satz von semantikbewussten Skalierungsrandbedingungen.
  • Die nachfolgende Beschreibung führt zusätzliche Merkmale und Vorteile einer oder mehrerer Ausführungsformen der offenbarten Systeme, Computermedien und Verfahren auf. In einigen Fällen erschließen sich derartige Merkmale und Vorteile einem Fachmann aus der Beschreibung oder ergeben sich durch die praktische Umsetzung der offenbarten Ausführungsformen.
  • Figurenliste
  • Die Detailbeschreibung stellt eine oder mehrere Ausführungsformen mit zusätzlicher Spezifität und Detailliertheit unter Nutzung der begleitenden Zeichnung bereit, die nachstehend kurz beschrieben wird.
    • 1A bis 1C zeigen eine Abfolge von digitalen Gestaltungen in einer ersten Größe während eines Skalierungsvorganges und in einer zweiten Größe nach einer erfolgten Skalierung in Abhängigkeit von automatischen semantikbewussten Skalierungsrandbedingungen entsprechend einer oder mehreren Ausführungsformen.
    • 2 zeigt ein Schema eines ersten Gestaltungselementes und eines zweiten Gestaltungselementes mit repräsentativen Offsets entsprechend einer oder mehreren Ausführungsformen.
    • 3A bis 3F zeigen verschiedene Paare von Gestaltungselementen in einer ersten Größe und in einer zweiten Größe nach einer erfolgten Skalierung in Abhängigkeit von automatischen semantikbewussten Skalierungsrandbedingungen entsprechend einer oder mehreren Ausführungsformen.
    • 4A und 4B zeigen ein Zustandsdiagramm zur Darstellung von Heuristiken zum Generieren von passenden semantikbewussten Skalierungsrandbedingungen entsprechend einer oder mehreren Ausführungsformen.
    • 5A und 5B zeigen ein Paar von Gestaltungslayouts in einer Anfangsgröße und in einer zweiten Größe nach einer erfolgten Skalierung in Abhängigkeit von automatischen semantikbewussten Skalierungsrandbedingungen entsprechend einer oder mehreren Ausführungsformen.
    • 6A bis 6D zeigen verschiedene Paare von Grafiknutzerschnittstellen, die automatische semantikbewusste Skalierungsrandbedingungen und manuell ausgewählte Randbedingungen zeigen, entsprechend einer oder mehreren Ausführungsformen.
    • 7A bis 7D zeigen verschiedene Paare von Gestaltungslayouts mit komplexen Gestaltungselementen in einer Anfangsgröße und in einer zweiten Größe nach einer erfolgten Skalierung in Abhängigkeit von automatischen semantikbewussten Skalierungsrandbedingungen entsprechend einer oder mehreren Ausführungsformen.
    • 8 zeigt ein schematisches Diagramm eines Gestaltungsskalierungsrandbedingungssystems entsprechend einer oder mehreren Ausführungsformen.
    • 9 zeigt eine exemplarische Umgebung zur Implementierung eines Gestaltungsskalierungsrandbedingungssystems entsprechend einer oder mehreren Ausführungsformen.
    • 10 zeigt ein Flussdiagramm einer Abfolge von Vorgängen zur Anwendung einer automatischen semantikbewussten Randbedingung entsprechend einer oder mehreren Ausführungsformen.
    • 11 zeigt ein Blockdiagramm einer exemplarischen Rechenvorrichtung entsprechend einer oder mehreren Ausführungsformen.
  • Detailbeschreibung
  • Die vorliegende Offenbarung beschreibt eine oder mehrere Ausführungsformen eines Gestaltungsskalierungsrandbedingungssystems, das Grafiknutzerschnittstellengestaltungslayouts reaktiv skaliert und dabei Gestaltungssemantiken intakt hält, indem es semantikbewusste Skalierungsrandbedingungen auf Grundlage von detektierten Semantiken der Grafiknutzerschnittstellengestaltungslayouts dynamisch generiert und nutzt. Das Gestaltungsskalierungsrandbedingungssystem kann beispielsweise eine Aufforderung dahingehend, ein Grafiknutzerschnittstellengestaltungslayout zu skalieren, empfangen. Auf Grundlage des Empfangs der Aufforderung dahingehend, das Grafiknutzerschnittstellengestaltungslayout zu skalieren, analysiert das Gestaltungsskalierungsrandbedingungssystem die Semantiken des Grafiknutzerschnittstellengestaltungslayouts, das ein Layout und eine Hierarchie beinhaltet. Auf Grundlage der analysierten Gestaltungssemantiken kann das Gestaltungsskalierungsrandbedingungssystem semantikbewusste Skalierungsrandbedingungen für die Grafiknutzerschnittstellenelemente genau vor einem beliebigen Skalierungsvorgang dynamisch generieren. Das Gestaltungsskalierungsrandbedingungssystem kann das Grafiknutzerschnittstellengestaltungslayout, das die Grafiknutzerschnittstellenelemente innerhalb des Grafiknutzerschnittstellengestaltungslayouts beinhaltet, unter Nutzung der semantikbewussten Skalierungsrandbedingungen skalieren.
  • Illustrationshalber kann das Gestaltungsskalierungsrandbedingungssystem ein skaliertes Grafiknutzerschnittstellengestaltungslayout mit semantisch skalierten Grafiknutzerschnittstellenelementen generieren. Insbesondere kann das Gestaltungsskalierungsrandbedingungssystem eine Aufforderung dahingehend, ein Grafiknutzerschnittstellengestaltungslayout, das mehrere Grafiknutzerschnittstellenelemente beinhaltet, von einer ersten Größe auf eine zweite Größe zu skalieren, empfangen. Das Gestaltungsskalierungsrandbedingungssystem kann Semantiken des Grafiknutzerschnittstellengestaltungslayouts analysieren. Insbesondere kann das Gestaltungsskalierungsrandbedingungssystem unter anderem die Hierarchie von Elementen innerhalb einer Gestaltung (beispielsweise dasjenige, ob ein Element ein übergeordnetes (parent) oder untergeordnetes (child) Gestaltungselement ist), den Typ des Elementes (beispielsweise dasjenige, ob das Element textartig oder grafisch ist) und den Ort von Elementkanten in Bezug aufeinander identifizieren. Auf Grundlage der analysierten Semantiken kann das Gestaltungsskalierungsrandbedingungssystem einen Satz von semantikbewussten Skalierungsrandbedingungen definieren. Das Gestaltungsskalierungsrandbedingungssystem nutzt die semantikbewussten Skalierungsrandbedingungen zum Generieren eines skalierten Grafiknutzerschnittstellengestaltungslayouts der zweiten Größe. Im Ergebnis skaliert das Gestaltungsskalierungsrandbedingungssystem, wenn ein Gestalter dazu auffordert, ein Grafiknutzerschnittstellengestaltungslayout zu skalieren, alle Grafiknutzerschnittstellenelemente entsprechend den dynamisch generierten semantikbewussten Skalierungsrandbedingungen intelligent und automatisch (beispielsweise ohne nutzerseitige Eingabe).
  • Das Gestaltungsskalierungsrandbedingungssystem hält räumliche Beziehungen für Gestaltungselemente in verschiedenen Größen bereit. Insbesondere nutzt das Gestaltungsskalierungsrandbedingungssystem bei einer oder mehreren Ausführungsformen ein Heuristikensystem zum Definieren eines Satzes von semantikbewussten Skalierungsrandbedingungen für mehrere Grafiknutzerschnittstellenelemente. Insbesondere kann das Gestaltungsskalierungsrandbedingungssystem räumliche Beziehungen für grafische Nutzerschnittstellenelemente verschiedener Größen und Orte identifizieren. Das Gestaltungsskalierungsrandbedingungssystem analysiert die Semantiken des Grafiknutzerschnittstellengestaltungslayouts unter Nutzung des Heuristikensystems zum automatischen Definieren von semantikbewussten Skalierungsrandbedingungen für die Grafiknutzerschnittstellenelemente. Das Gestaltungsskalierungsrandbedingungssystem nutzt die analysierten Semantiken und das Heuristikensystem zum Bestimmen des semantisch korrekten Skalierungsverhaltens für Grafiknutzerschnittstellenelemente und Platzieren von entsprechenden semantikbewussten Skalierungsrandbedingungen bei den Elementen.
  • Das Gestaltungsskalierungsrandbedingungssystem bietet zudem einen einzigartigen Ausgleich und Workflow zwischen automatisch generierten semantikbewussten Randbedingungen und manuellen Randbedingungen. Insbesondere bewirkt das Gestaltungsskalierungsrandbedingungssystem, dass einem beliebigen Skalierungsvorgang durch automatisch generierte semantikbewusste Randbedingungen automatisch Randbedingungen auferlegt werden. Das Gestaltungsskalierungsrandbedingungssystem muss daher keine komplexen Details über die Randbedingungen präsentieren. Wählt ein Gestalter die Bearbeitung der automatisch generierten semantikbewussten Randbedingungen und schaltet auf manuelle Randbedingungen um, so legt das Gestaltungsskalierungsrandbedingungssystem eine Randbedingungsnutzerschnittstelle, die mit Randbedingungen vorbelegt ist, offen, die einem Gestalter ermöglicht, Bearbeitungen zur Änderung des reaktiven Verhaltens dieses Elementes vorzunehmen. Das Gestaltungsskalierungsrandbedingungssystem kann diese Rückmeldung sodann zur Optimierung und für den Betrieb eines heuristischen Algorithmus zum intelligenten Lernen nutzen.
  • Wie vorstehend erwähnt worden ist, muss das Gestaltungsskalierungsrandbedingungssystem keine komplexen Details über die Randbedingungen präsentieren und erfordert auch nicht, dass ein Nutzer die Randbedingungen versteht oder Anweisungen im Zusammenhang mit diesen gibt. In diesem Sinne kann das Gestaltungsskalierungsrandbedingungssystem optional Einblendungszeilen (overlay lines) zeigen, die semantikbewusste Skalierungsrandbedingungen, die auf ein Grafiknutzerschnittstellenelement angewendet werden, darstellen. Das Gestaltungsskalierungsrandbedingungssystem kann beispielsweise Einblendungszeilen präsentieren, um das Anheftverhalten von Grafiknutzerschnittstellenelementen zu zeigen. Das Gestaltungsskalierungsrandbedingungssystem kann diese Einblendungen während des Skalierungsvorganges bereitstellen, um einem Gestalter ein Verständnis der semantikbewussten Skalierungsrandbedingungen, die während der Skalierung angewendet werden, ohne optischen Mehraufwand während der Gestaltungsphase zu ermöglichen.
  • Eine oder mehrere der hier beschriebenen Ausführungsformen bieten Vorteile und lösen eines oder mehrere der vorbeschriebenen Probleme oder auch andere Probleme aus dem Stand der Technik durch ein Gestaltungsskalierungsrandbedingungssystem zum Generieren von semantikbewussten Skalierungsrandbedingungen auf Grundlage eines Satzes von Heuristiken, die Semantiken bezüglich Gestaltung, Layout und Hierarchie berücksichtigen. Das Gestaltungsskalierungsrandbedingungssystem kann beispielsweise die Effizienz beim Skalieren von Grafiknutzerschnittstellengestaltungslayouts verbessern. Insbesondere ermöglicht das Gestaltungsskalierungsrandbedingungssystem, dass Nutzer von Systemen, bei denen sie all ihre Skalierungsregeln erstellen, zu Systemen, bei denen Randbedingungen automatisch generiert und angewendet werden, wechseln. Bei einer oder mehreren Ausführungsformen bietet das Gestaltungsskalierungsrandbedingungssystem zudem Optionen, die einem Nutzer ermöglichen, eine Gestaltung oder Randbedingungen zu modifizieren oder zu verfeinern, wenn ein gewünschtes Ergebnis durch die semantikbewussten Skalierungsrandbedingungen nicht erreicht wird. Das Gestaltungsskalierungsrandbedingungssystem verbessert insbesondere die Effizienz beim Skalieren von Gestaltungslayouts durch Präsentieren der Randbedingungsnutzerschnittstelle, die Gestaltern ermöglicht, Bearbeitungen vorzunehmen und Randbedingungen zu ändern.
  • Zusätzlich verbessert das Gestaltungsskalierungsrandbedingungssystem die Genauigkeit im Vergleich zu herkömmlichen Systemen. Das Gestaltungsskalierungsrandbedingungssystem behält beispielsweise räumliche Beziehungen für Grafiknutzerschnittstellenelemente in verschiedenen Größen bei. Insbesondere nutzt das Gestaltungsskalierungsrandbedingungssystem ein System von Heuristiken zum Identifizieren des semantisch korrekten Skalierungsverhaltens für Grafiknutzerschnittstellenelemente und platziert semantikbewusste Skalierungsrandbedingungen auf Grundlage von Gestaltungssemantiken an Grafiknutzerschnittstellenelementen. Das Gestaltungsskalierungsrandbedingungssystem kann skalierte Gestaltungen generieren, die korrekt proportionierte und angeordnete Grafiknutzerschnittstellenelemente beinhalten.
  • Das Gestaltungsskalierungsrandbedingungssystem verbessert zudem die Flexibilität im Vergleich zu herkömmlichen Systemen. Das Gestaltungsskalierungsrandbedingungssystem deckt beispielsweise eine große Vielzahl von Fällen ab und passt diese automatisch an. Insbesondere kann das Gestaltungsskalierungsrandbedingungssystem Gestaltungssemantiken für eine beliebige Gestaltung analysieren. Auf Grundlage der Gestaltungssemantiken nutzt das Gestaltungsskalierungsrandbedingungssystem ein Heuristikensystem, das passende semantikbewusste Skalierungsrandbedingungen identifiziert. Das Gestaltungsskalierungsrandbedingungssystem kann zudem eine oder mehrere semantikbewusste Skalierungsrandbedingungen für jedes Element in der Gestaltung generieren. Insbesondere ist das Skalierungsrandbedingungensystem nicht auf das Anwenden von Kantenanheftregeln beschränkt. Das Skalierungsrandbedingungensystem kann vielmehr Regeln generieren, die die Form eines Elementes wie auch den Ort des Elementes relativ zu anderen Grafiknutzerschnittstellenelementen vorgegeben.
  • Wie in der vorstehenden Diskussion dargestellt ist, nutzt die vorliegende Offenbarung eine Vielzahl von Begriffen zur Beschreibung von Merkmalen und Vorteilen des Gestaltungsskalierungsrandbedingungssystems. Zusätzliche Details im Zusammenhang mit der Bedeutung dieser Begriffe werden nunmehr angegeben. Im Sinne des Vorliegenden bezeichnet der Begriff „Grafiknutzerschnittstellengestaltungslayout“ (oder „Gestaltungslayout“) eine optische Gestaltung, die eine Anordnung von optischen Elementen beinhaltet. Insbesondere bezeichnet der Begriff „Grafiknutzerschnittstellengestaltungslayout“ eine Nutzerschnittstelle, die Grafiknutzerschnittstellenelemente beinhaltet. Ein Grafiknutzerschnittstellengestaltungslayout kann beispielsweise eine Webpage, eine digitale Mitteilung oder eine Programmschnittstelle bezeichnen.
  • Im Sinne des Vorliegenden bezeichnet der Begriff „Grafiknutzerschnittstellenelemente“ (oder „Gestaltungselemente“) optische Elemente eines Grafiknutzerschnittstellengestaltungslayouts. Insbesondere bezeichnet der Begriff „Grafiknutzerschnittstellenelemente“ Gestaltungseinheiten, die Teil eines Grafiknutzerschnittstellengestaltungslayouts sind. Die Grafiknutzerschnittstellenelemente können beispielsweise Text, Bilder, Steuerungen bzw. Regelungen, Einblendungen (overlays), Kästchen (boxes), interaktive Elemente und andere Grafiknutzerschnittstellenkomponenten beinhalten.
  • Im Sinne des Vorliegenden bezeichnet der Begriff „Gestaltungssemantiken“ (oder einfach „Semantiken“) Charakteristiken oder Eigenheiten einer Gestaltung. Insbesondere bezeichnet der Begriff „Gestaltungssemantiken“ Charakteristiken eines Grafiknutzerschnittstellengestaltungslayouts. „Gestaltungssemantiken“ können beispielsweise die Gestaltung, das Layout und die Hierarchie von Grafiknutzerschnittstellenelementen in einem Gestaltungslayout bezeichnen. Insbesondere können Semantiken hierarchische Beziehungen zwischen einem übergeordneten Gestaltungselement und einem untergeordneten Gestaltungselement, Positionsbeziehungen zwischen Gestaltungselementen und beliebige andere Beziehungen zwischen Gestaltungselementen in einem Gestaltungslayout bezeichnen. Semantiken können zusätzlich Typen von Grafiknutzerschnittstellenelementen und die Relativpositionierung von Grafiknutzerschnittstellenelementen bezeichnen.
  • Im Sinne des Vorliegenden bezeichnet der Begriff „semantikbewusste Randbedingung“ (semantic-aware constraint) eine Restriktion bzw. Einschränkung, die auf ein Gestaltungslayout während des Skalierens angewendet wird. Insbesondere bezeichnet eine „semantikbewusste Randbedingung“ Regeln, die auf Grundlage der Semantiken des Gestaltungslayouts auf Grafiknutzerschnittstellenelemente angewendet werden. Eine semantikbewusste Randbedingung kann eine Regel bezeichnen, die eine Kante eines Grafiknutzerschnittstellenelementes mit einer Kante des Gestaltungslayouts oder eines anderen Grafiknutzerschnittstellenelementes verbindet. Das Gestaltungsskalierungsrandbedingungssystem kann beispielsweise eine linke, eine rechte, eine obere oder eine untere Randbedingung für ein Gestaltungselement generieren. Eine linke Randbedingung fixiert den Abstand der linken Kante eines Gestaltungselementes an der entsprechenden Kante eines übergeordneten Gestaltungselementes oder des Gestaltungslayouts. Im Ergebnis bleibt der linke Offset (das heißt der Abstand zwischen der linken Kante des Gestaltungselementes und der entsprechenden übergeordneten Kante) über den Skalierungsvorgang hinweg fest. Zusätzlich kann der Begriff „semantikbewusste Randbedingung“ Regeln bezeichnen, die die Größen von Gestaltungselementen fixieren. Das Gestaltungsskalierungsrandbedingungssystem kann beispielsweise eine Höhen- oder Breitenrandbedingung, die die Höhe oder Breite des Gestaltungselementes fixiert, an einem Gestaltungselement setzen.
  • Wie vorstehend erläutert worden ist, kann das Gestaltungsskalierungsrandbedingungssystem Gestaltungselemente entsprechend semantikbewussten Skalierungsrandbedingungen intelligent skalieren. 1A bis 1C zeigen eine exemplarische skalierte Grafiknutzerschnittstellengestaltung. Obwohl 1A bis 1C das Skalieren eines Gestaltungselementes und insbesondere eines übergeordneten Gestaltungselementes, das mehrere untergeordnete Gestaltungselemente beinhaltet, darstellen, kann das Gestaltungsskalierungsrandbedingungssystem ganze Grafiknutzerschnittstellengestaltungslayouts, die mehrere Gestaltungselemente beinhalten, skalieren.
  • 1A zeigt ein Grafiknutzerschnittstellengestaltungslayout 102 („Gestaltungslayout 102“) einer ersten Größe 112. Insbesondere beinhaltet das Gestaltungselement bzw. Gestaltungslayout 102 der ersten Größe 112 ein Überschriftgestaltungselement 104, ein Textgestaltungselement 106 und interaktive Gestaltungselemente 108a und 108b. Wie dargestellt ist, kann das Gestaltungsskalierungsrandbedingungssystem das Grafiknutzerschnittstellengestaltungslayout 102 der ersten Größe 112 als Eingabe empfangen. Das Gestaltungsskalierungsrandbedingungssystem kann ein Skalieren des Gestaltungslayouts 102 ermöglichen und die beinhalteten Gestaltungselemente sodann unter Nutzung von automatisch generierten semantikbewussten Skalierungsrandbedingungen automatisch skalieren.
  • Das Gestaltungsskalierungsrandbedingungssystem analysiert Semantiken des Grafiknutzerschnittstellengestaltungslayouts 102 und definiert einen Satz von semantikbewussten Gestaltungsrandbedingungen für das Gestaltungslayout 102. Wie in 1 B dargestellt ist, präsentiert das Gestaltungsskalierungsrandbedingungssystem in dem Gestaltungslayout 102 Anhefteinblendungen 110a-d, die den Satz von semantikbewussten Skalierungsrandbedingungen darstellen. Insbesondere zeigt 1B das Gestaltungslayout 102 einer Zwischengröße 114 beim Prozess des Skalierens. Das Gestaltungslayout 102 der Zwischengröße 114 beinhaltet obere Anhefteinblendungen 110a, rechte Anhefteinblendungen 110b, linke Anhefteinblendungen 110c und untere Anhefteinblendungen 110d (kollektiv als „Anhefteinblendungen 110a-d“ bezeichnet).
  • Wie vorstehend erläutert worden ist, kann das Gestaltungsskalierungsrandbedingungssystem eine Aufforderung dahingehend, das Gestaltungslayout 102 zu skalieren, empfangen. Ein Gestalter kann beispielsweise eine Kante des Gestaltungslayouts 102 manuell auszuwählen und an dieser ziehen (dragging), um das Gestaltungslayout 102 zu skalieren. Alternativ kann der Gestalter die Abmessungen des gewünschten skalierten Gestaltungslayouts 102 spezifizieren. Zusätzlich kann der Gestalter dazu auffordern, das übergeordnete Gestaltungselement zu skalieren, indem er eine Aufforderung dahingehend tätigt, das gesamte Grafiknutzerschnittstellengestaltungslayout 102 zu skalieren. Auf Grundlage der Aufforderung dahingehend, das Gestaltungslayout 102 zu skalieren, analysiert das Gestaltungsskalierungsrandbedingungssystem die Gestaltungssemantiken des Gestaltungslayouts 102 der ersten Größe 112. Insbesondere analysiert das Gestaltungskalierungsrandbedingungssystem Eigenschaften der Gestaltungselemente des Gestaltungslayouts 102 der ersten Größe 112 sowohl einzeln wie auch wechselseitig.
  • Unter Nutzung der detektierten Semantiken des Gestaltungslayouts 102 definiert das Gestaltungsskalierungsrandbedingungssystem einen Satz von semantikbewussten Skalierungsrandbedingungen für jedes der Gestaltungselemente in dem Gestaltungslayout 102. Das Gestaltungsskalierungsrandbedingungssystem definiert beispielsweise semantikbewusste Skalierungsrandbedingungen für jedes von dem Überschriftgestaltungselement 104, dem Textgestaltungselement 106 und den interaktiven Gestaltungselementen 108a und 108b.
  • Das Gestaltungsskalierungsrandbedingungssystem generiert die Anhefteinblendungen 110a-d zur Darstellung der semantikbewussten Skalierungsrandbedingungen. Insbesondere zeigen die Anhefteinblendungen 110a-d das Anheftverhalten der untergeordneten Gestaltungselemente. Die Anhefteinblendungen 110a-d vermitteln Gestaltern ein Verständnis für den Skalierungsvorgang ohne optischen Mehraufwand während der Gestaltungsphase. Die oberen Anhefteinblendungen 110a stellen beispielsweise angewendete obere Randbedingungen (beispielsweise ist die obere Kante des untergeordneten Gestaltungselementes an der Kante des Gestaltungslayouts 102 angeheftet) dar. Wie durch die obere Anhefteinblendung 110a und die linke Anhefteinblendung 110c mit Anwendung auf das Überschriftgestaltungselement 104 in 1B dargestellt ist, wendet das Gestaltungsskalierungsrandbedingungssystem die oberen und linken Randbedingungen auf das Überschriftgestaltungselement 104 an. Wie dargestellt ist, stellt das Gestaltungsskalierungsrandbedingungssystem eine linke Anhefteinblendung 110c und eine rechte Anhefteinblendung 110b für das Textgestaltungselement 106 bereit. Das Gestaltungsskalierungsrandbedingungssystem stellt zusätzlich eine linke Anhefteinblendung 110c und eine untere Anhefteinblendung 110d für das interaktive Gestaltungselement 108a bereit. Das Gestaltungsskalierungsrandbedingungssystem stellt eine rechte Anhefteinblendung 110b und eine untere Anhefteinblendung 110b für das interaktive Gestaltungselement 108b bereit.
  • Nach dem Skalierungsvorgang generiert das Gestaltungsskalierungsrandbedingungssystem ein skaliertes Gestaltungslayout. Wie in 1C dargestellt ist, generiert das Gestaltungsskalierungsrandbedingungssystem das Gestaltungslayout 102 einer zweiten Größe 116. Insbesondere skaliert das Gestaltungsskalierungsrandbedingungssystem die untergeordneten Gestaltungselemente in dem Gestaltungslayout 102 entsprechend dem Satz von semantikbewussten Skalierungsrandbedingungen. Beim Erweitern des Gestaltungslayouts 102 verbindet das Gestaltungsskalierungsrandbedingungssystem zudem beispielsweise die Kanten der untergeordneten Gestaltungselemente passend mit den Kanten des Gestaltungslayouts 102. Wie dargestellt ist, wendet das Gestaltungsskalierungsrandbedingungssystem eine obere Randbedingung und eine linke Randbedingung auf das Überschriftgestaltungselement 104 an. Entsprechend skaliert das Gestaltungsskalierungsrandbedingungssystem das Gestaltungslayout, indem es dem Überschriftgestaltungselement 104 des Gestaltungslayouts 102 der zweiten Größe 116 die Randbedingung auferlegt, dass derselbe Abstand von den oberen und linken Kanten des Gestaltungslayouts 102 der ersten Größe 112 gegeben ist. Auf ähnliche Weise erlegt das Gestaltungsskalierungsrandbedingungssystem dem Textgestaltungselement 106 in dem Gestaltungslayout 102 der zweiten Größe 116 die Randbedingung auf, dass derselbe Abstand von den linken und rechten Kanten des Gestaltungslayouts 102 der ersten Größe 112 gegeben ist. Das Gestaltungsskalierungsrandbedingungssystem legt den interaktiven Gestaltungselementen 108a des Gestaltungslayouts 102 der zweiten Größe 116 zudem die Randbedingung auf, dass derselbe Abstand von den linken und unteren Kanten des Gestaltungslayouts 102 der ersten Größe 112 gegeben ist. Schließlich erlegt das Gestaltungsskalierungsrandbedingungssystem den interaktiven Gestaltungselementen 108b des Gestaltungslayouts 102 der zweiten Größe 116 die Randbedingung auf, dass derselbe Abstand von den rechten und unteren Kanten des Gestaltungslayouts 102 der ersten Größe 112 gegeben ist.
  • 1A bis 1C bieten eine kurze Übersicht über ein Beispiel für das Skalieren eines Gestaltungslayouts unter Nutzung von automatischen (ohne nutzerseitige Eingabe) und dynamisch (spontan in Reaktion auf eine Skalierungsaufforderung) semantikbewussten Skalierungsrandbedingungen. Zusätzliche Details zum Prozess des Analysierens der Semantiken eines Gestaltungslayouts und des Generierens der semantikbewussten Skalierungsrandbedingungen werden nachstehend beschrieben.
  • Als Teil des Analysierens der Semantiken eines Gestaltungslayouts kann das Gestaltungsskalierungsrandbedingungssystem Offsetwerte zwischen Gestaltungselementen und/oder den Gestaltungselementen und den Begrenzungen des Gestaltungslayouts messen, um semantikbewusste Skalierungsrandbedingungen zu generieren. 2 zeigt Offsets zwischen einem ersten Gestaltungselement und einem zweiten Gestaltungselement. 2 zeigt ein schematisches Diagramm eines ersten Gestaltungselementes 202 und eines zweiten Gestaltungselementes 204. Das zweite Gestaltungselement 204 ist innerhalb des ersten Gestaltungselementes 202 eingebettet. Bei einer oder mehreren Ausführungsformen ist das erste Gestaltungselement 202 ein übergeordnetes Gestaltungselement, während das zweite Gestaltungselement 204 ein untergeordnetes Gestaltungselement ist. Bei einer oder mehreren Ausführungsformen kann das Gestaltungsskalierungsrandbedingungssystem auf einer oder mehreren der automatisch generierten semantikbewussten Randbedingungen auf Grundlage von Offsets des untergeordneten Gestaltungselementes relativ zu dem übergeordneten Gestaltungselement beruhen. Im Sinne des Vorliegenden bezeichnet der Begriff „Offset“ einen Abstand zwischen einer Kante eines Gestaltungselementes und einer Kante eines anderen Gestaltungselementes. Insbesondere bezeichnet ein Offset den Abstand zwischen einer Kante eines Gestaltungselementes und der entsprechenden Kante eines anderen Gestaltungselementes oder des Gestaltungslayouts. Ein linker Offset kann beispielsweise ein Abstand zwischen einer linken Kante eines untergeordneten Gestaltungselementes und der linken Kante eines übergeordneten Gestaltungselementes sein.
  • 2 zeigt als Beispiel einen linken Offset 206, der einen Abstand einer linken Seite des zweiten Gestaltungselementes 204 zur linken Seite des ersten Gestaltungselementes 202 definiert. Auf ähnliche Weise zeigt 2 einen oberen Offset 208, der einen Abstand einer oberen Seite des zweiten Gestaltungselementes 204 zu einer oberen Seite des ersten Gestaltungselementes 202 definiert. 2 zeigt einen rechten Offset 210, der einen Abstand einer rechten Seite des zweiten Gestaltungselementes 204 zur rechten Seite des ersten Gestaltungselementes 202 definiert. 2 zeigt schließlich einen unteren Offset 202, der einen Abstand einer unteren Seite des zweiten Gestaltungselementes 204 zur unteren Seite des ersten Gestaltungselementes 202 definiert.
  • Wie vorstehend erwähnt worden ist, kann das Gestaltungsskalierungsrandbedingungssystem semantikbewusste Skalierungsrandbedingungen nutzen, um Gestaltungselemente innerhalb eines Gestaltungslayouts automatisch der Größe nach festzulegen bzw. zu skalieren und zu bewegen. 3A bis 3F zeigen verschiedene Paare von Gestaltungselementen in einer Anfangsgröße und einer aktualisierten Größe nach einem erfolgten Skalieren in Abhängigkeit von automatischen semantikbewussten Skalierungsrandbedingungen entsprechend einer oder mehreren Implementierungen. Insbesondere zeigen 3A bis 3F Paare aus einem ersten Gestaltungselement 302 und einem zweiten Gestaltungselement 304, wobei das zweite Gestaltungselement 304 innerhalb des ersten Gestaltungselementes 302 eingebettet ist. Die in 3A bis 3F dargestellten Paare zeigen des Weiteren ein erstes Paar aus dem ersten Gestaltungselement 302 einer Anfangsgröße und dem zweiten Gestaltungselement 304 einer Anfangsgröße und ein zweites Paar aus einem skalierten ersten Gestaltungselement 302a und einem skalierten zweiten Gestaltungselement 304a. Bei wenigstens einer Ausführungsform stellt das erste Gestaltungselement 302 ein übergeordnetes Gestaltungselement dar, während das zweite Gestaltungselement 304 ein untergeordnetes Gestaltungselement darstellt. Bei wenigstens einer anderen Ausführungsform stellt das erste Gestaltungselement 302 ein Gestaltungslayout dar, das das zweite Gestaltungselement 304 beinhaltet.
  • Wie vorstehend erläutert worden ist, misst das Gestaltungsskalierungsrandbedingungssystem Offsets von Gestaltungselementen einer Anfangsgröße. 3A zeigt das erste Gestaltungselement 302 und das zweite Gestaltungselement 304 in einer Anfangsgröße. Das Gestaltungsskalierungsrandbedingungssystem misst einen linken Offset 314, einen oberen Offset 316, einen rechten Offset 318 und einen unteren Offset 320 des ersten Gestaltungselementes 302 der Anfangsgröße. Zusätzlich misst das Gestaltungsskalierungsrandbedingungssystem eine Breite 310 und eine Höhe 312 des ersten Gestaltungselementes 302 der Anfangsgröße.
  • Das Gestaltungsskalierungsrandbedingungssystem kann semantikbewusste Skalierungsrandbedingungen auf Grundlage der Offsetlängen relativ zu dem Gestaltungselement anwenden. Auf Grundlage einer Bestimmung dessen, dass ein Offset eines untergeordneten Gestaltungselementes beispielsweise kleiner als ein Schwellenanteil der Größe eines übergeordneten Gestaltungselementes ist, kann das Gestaltungsskalierungsrandbedingungssystem entsprechende semantikbewusste Skalierungsrandbedingungen anwenden. Wie in 3A dargestellt ist, bestimmt das Gestaltungsskalierungsrandbedingungssystem, dass der linke Offset 314 kleiner als ein Schwellenanteil der Breite 310 des ersten Gestaltungselementes 302 ist. Auf Grundlage dieser Bestimmung wendet das Gestaltungsskalierungsrandbedingungssystem eine linke Randbedingung an. Auf gleiche Weise wendet das Gestaltungsskalierungsrandbedingungssystem auf Grundlage einer Bestimmung dessen, dass der obere Offset 316 kleiner als ein Schwellenanteil der Höhe 312 ist, eine obere Randbedingung an.
  • Das Gestaltungsskalierungsrandbedingungssystem skaliert das zweite Gestaltungselement 304 auf Grundlage der angewendeten semantikbewussten Skalierungsrandbedingungen. 3B zeigt beispielsweise Anhefteinblendungen, die die angewendeten semantikbewussten Skalierungsrandbedingungen während eines Skalierungsvorganges darstellen. Insbesondere zeigt 3B eine obere Anhefteinblendung 308a und eine linke Anhefteinblendung 308b. Zusätzlich beinhaltet 3B ein skaliertes erstes Gestaltungselement 302a, ein skaliertes zweites Gestaltungselement 304a, einen beibehaltenen oberen Offset 316, einen beibehaltenen linken Offset 314, einen aktualisierten unteren Offset 320a und einen aktualisierten rechten Offset 318a.
  • 3B stellt die Gestaltungselemente während eines Skalierungsvorganges dar. Im Sinne des Vorliegenden bezeichnet der Begriff „Skalierungsvorgang“ die Zwischenphase zwischen dem Zeitpunkt, zu dem ein Gestaltungslayout in einer ersten Größe vorliegt, und dem Zeitpunkt, zu dem das Gestaltungslayout in einer zweiten Größe vorliegt. Das Gestaltungsskalierungsrandbedingungssystem präsentiert Anhefteinblendungen für Gestaltungselemente während eines Skalierungsvorganges. 3B zeigt das Gestaltungsskalierungsrandbedingungssystem, das das zweite Gestaltungselement 304 auf Grundlage des skalierten ersten Gestaltungselementes 302 automatisch skaliert. Insbesondere wendet das Gestaltungsskalierungsrandbedingungssystem eine obere Randbedingung und eine linke Randbedingung gemäß Darstellung durch eine obere Anhefteinblendung 308a und eine linke Anhefteinblendung 308b an. Auf Grundlage der oberen Randbedingung heftet das Gestaltungsskalierungsrandbedingungssystem die obere Kante des zweiten Gestaltungselementes 304 an der oberen Kante des ersten Gestaltungselementes 302 an. Insbesondere bleibt, wenn das Gestaltungsskalierungsrandbedingungssystem das aktualisierte erste Gestaltungselement 302a skaliert, der aktualisierte obere Offset 316 konstant. Auf ähnliche Weise heftet das Gestaltungsskalierungsrandbedingungssystem auf Grundlage der linken Randbedingung die linke Kante des zweiten Gestaltungselementes 304 an der linken Kante des ersten Gestaltungselementes 302 an. Im Ergebnis bleibt, wie dargestellt ist, wenn das Gestaltungsskalierungsrandbedingungssystem die Größe des ersten Gestaltungselementes 302 erweitert, der aktualisierte linke Offset 314 konstant.
  • Offsets für Gestaltungselementkanten, die nicht angeheftet sind, erweitern und verkleinern sich während der Skalierungsvorgänge. Wie in 3B dargestellt ist, wendet das Gestaltungsskalierungsrandbedingungssystem Randbedingungen beispielsweise nicht auf die unteren oder rechten Kanten des zweiten Gestaltungselementes 304 an. Wie dargestellt ist, bleiben der aktualisierte rechte Offset 318a und der untere Offset 320a nicht konstant. Vielmehr verlängert, wenn das Gestaltungsskalierungsrandbedingungssystem das erste Gestaltungselement 302 erweitert, um das skalierte erste Gestaltungselement 302a zu generieren, das Gestaltungsskalierungsrandbedingungssystem den rechten Offset 318 auf den aktualisierten rechten Offset 318a und verlängert den unteren Offset 320 auf den aktualisierten unteren Offset 320a.
  • 3A und 3B zeigen ein Beispiel für das Skalierungsverhalten des zweiten Gestaltungselementes 304 auf Grundlage von angewendeten oberen und linken Randbedingungen. 3C bis 3F zeigen zusätzliche Beispiele für das Skalierungsverhalten des zweiten Gestaltungselementes 304 auf Grundlage von zusätzlichen Kombinationen von semantikbewussten Skalierungsrandbedingungen.
  • Das Gestaltungsskalierungsrandbedingungssystem kann Gestaltungssemantiken für ein Gestaltungslayout genau vor einem Skalierungsvorgang dynamisch analysieren. Insbesondere erfordert das Gestaltungsskalierungsrandbedingungssystem nicht, dass Gestalter Randbedingungen anwenden oder aktualisieren, wenn sich das Gestaltungslayout ändert. Vielmehr passt das Gestaltungsskalierungsrandbedingungssystem eine beliebige Änderung der Gestaltung automatisch an und wendet nach Bedarf neue Regeln an. Bei einem Beispiel kann ein Gestalter die Gestaltungssemantiken des ersten Gestaltungselementes 302 von 3A ändern, indem er das zweite Gestaltungselement 304 verlängert, um das verlängerte zweite Gestaltungselement 304b von 3C zu generieren. Das Gestaltungsskalierungsrandbedingungssystem analysiert die Semantiken des ersten Gestaltungselementes 302 und des zweiten Gestaltungselementes 304b auf Grundlage der Änderung, um die passenden semantikbewussten Skalierungsrandbedingungen für das verlängerte zweite Gestaltungselement 304b zu generieren. Beliebige Skalierungsanpassungen, die an dem ersten Gestaltungselement 302 von 3C, das das verlängerte zweite Gestaltungselement 304b beinhaltet, vorgenommen werden, werden unter Nutzung von Randbedingungen, die unter Nutzung der dynamisch analysierten Gestaltungssemantiken angewendet werden, vorgenommen.
  • 3C zeigt das erste Gestaltungselement 302 und das zweite Gestaltungselement 304b in einer Anfangsgröße. Wie in 3C dargestellt ist, ist die rechte Kante des zweiten Gestaltungselementes 304b in enger Nachbarschaft zur rechten Kante des ersten Gestaltungselementes 302 befindlich. Das Gestaltungsskalierungsrandbedingungssystem bestimmt, dass die linken, oberen und rechten Offsets kleiner als eine Anteilsschwelle der Größe des ersten Gestaltungselementes 302 sind. Auf Grundlage dieser Erwägung wendet das Gestaltungsskalierungsrandbedingungssystem eine linke Randbedingung, eine obere Randbedingung und eine rechte Randbedingung auf das zweite Gestaltungselement 304b an.
  • 3D zeigt das erste Gestaltungselement 302 und das zweite Gestaltungselement 304b von 3C während eines Skalierungsvorganges. Insbesondere präsentiert das Gestaltungsskalierungsrandbedingungssystem eine obere Anhefteinblendung 308a, eine linke Anhefteinblendung 308b und eine rechte Anhefteinblendung 308c entsprechend den angewendeten oberen, linken und rechten Randbedingungen. Daher bleiben, wenn das Gestaltungsskalierungsrandbedingungssystem ein skaliertes erstes Gestaltungselement 302c generiert, die oberen, linken und rechten Offsets konstant, während sich der untere Offset auf Grundlage des skalierten ersten Gestaltungselementes 302c ändert. Das Gestaltungsskalierungsrandbedingungssystem generiert daher ein skaliertes erstes Gestaltungselement 304c, das weiter verlängert wird, damit die oberen, linken und rechten Offsets erhalten bleiben. Ein Vergleich von 3A und 3B mit 3C und 3E zeigt daher, wie das Gestaltungsskalierungsrandbedingungssystem semantikbewusste Skalierungsrandbedingungen auf Grundlage der Semantiken eines Gestaltungslayouts variiert.
  • 3E und 3F zeigen, dass ein Gestalter die Gestaltungssemantiken des ersten Gestaltungselementes 302 von 3A geändert hat, indem er das zweite Gestaltungselement 304 vergrößert hat, um ein vergrößertes zweites Gestaltungselement 304d von 3E zu generieren. Das Gestaltungsskalierungsrandbedingungssystem analysiert die Semantiken des ersten Gestaltungselementes 302 und des zweiten Gestaltungselementes 304d auf Grundlage der Änderung, um die passenden semantikbewussten Skalierungsrandbedingungen für das verlängerte zweite Gestaltungselement 304d zu generieren. Insbesondere wendet das Gestaltungsskalierungsrandbedingungssystem obere, linke, rechte und untere semantikbewusste Skalierungsrandbedingungen auf das zweite Gestaltungselement 304d an. Insbesondere zeigt 3E das erste Gestaltungselement 302 und das zweite Gestaltungselement 304d in der Anfangsgröße. Wie dargestellt ist, bestimmt das Gestaltungsrandbedingungssystem, dass alle Offsets (das heißt der obere, der linke, der rechte und der untere) des zweiten Gestaltungselementes 304d kleiner als der Schwellenanteil des ersten Gestaltungselementes 302 ist. Das Gestaltungsrandbedingungssystem bestimmt beispielsweise, dass jeder der oberen und unteren Offsets kleiner als der Schwellenanteil der Höhe des ersten Gestaltungselementes 302 ist. Zusätzlich bestimmt das Gestaltungsrandbedingungssystem, dass jeder der linken und rechten Offsets kleiner als der Schwellenanteil der Breite des ersten Gestaltungselementes 302 ist. Das Gestaltungsrandbedingungssystem bestimmt daher, die oberen, linken, rechten und unteren Randbedingungen auf das zweite Gestaltungselement 304d anzuwenden.
  • 3F zeigt ein skaliertes erstes Gestaltungselement 302d und ein skaliertes zweites Gestaltungselement 304e während eines oder nach einem Skalierungsvorgang. Wie in 3F gezeigt ist, stellt das Gestaltungsskalierungsrandbedingungssystem jede der angewendeten semantikbewussten Skalierungsrandbedingungen unter Nutzung von Anhefteinblendungen dar. Insbesondere zeigt das Gestaltungsrandbedingungssystem die obere Anhefteinblendung 308a, die linke Anhefteinblendung 308b, die rechte Anhefteinblendung 308c und die untere Anhefteinblendung 308d an. Wie dargestellt ist, bleiben, da das Gestaltungsskalierungsrandbedingungssystem alle Offsets auf das zweite Gestaltungselement 304 angewendet hat, alle Offsetwerte des zweiten Gestaltungselementes 304 während des Skalierungsvorganges fest/konstant. Insbesondere da alle Kanten des zweiten Gestaltungselementes 304d an den entsprechenden Kanten des ersten Gestaltungselementes 302 angeheftet sind, erweitert sich das zweite Gestaltungselement 304d mit dem ersten Gestaltungselement 302.
  • Wie vorstehend erläutert und gezeigt worden ist, kann das Gestaltungsskalierungsrandbedingungssystem semantikbewusste Skalierungsrandbedingungen auf Grundlage von analysierten Semantiken eines Grafiknutzerschnittstellengestaltungslayouts anwenden. 4A und 4B zeigen ein Zustandsdiagramm, das demonstriert, wie das Gestaltungsskalierungssystem einen Satz von Heuristiken auf Gestaltungselemente anwendet, um semantikbewusste Skalierungsrandbedingungen zu generieren. Insbesondere analysiert das Gestaltungsskalierungsrandbedingungssystem, wie vorstehend erläutert worden ist, Charakteristiken von Gestaltungselementen (beispielsweise Größe, Position, Typ und dergleichen) und Relativpositionen der Gestaltungselemente (beispielsweise Hierarchie, Offsets, Einbettung und dergleichen). Das Gestaltungsskalierungsrandbedingungssystem nutzt ein Heuristikensystem, das einen Satz von Heuristiken umfasst, für die analysierten Eigenschaften, um semantikbewusste Skalierungsrandbedingungen zu generieren.
  • Bei wenigstens einer Ausführungsform wendet das Gestaltungsskalierungsrandbedingungssystem die nachfolgenden Randbedingungsregeln (das heißt Heuristiken) auf jedes Gestaltungselement in einem Gestaltungslayout in der nachfolgenden Reihenfolge an:
    1. 1. Ist der linke Offset eines untergeordneten Gestaltungselementes kleiner als 15% seiner übergeordneten Breite, so setze man eine linke Randbedingung für das untergeordnete Gestaltungselement.
    2. 2. Ist der rechte Offset eines untergeordneten Gestaltungselementes kleiner als 15% seiner übergeordneten Breite, so setze man eine rechte Randbedingung für das untergeordnete Gestaltungselement.
    3. 3. Ist der obere Offset eines untergeordneten Gestaltungselementes kleiner als 15% seiner übergeordneten Breite, so setze man eine obere Randbedingung für das untergeordnete Gestaltungselement.
    4. 4. Ist der untere Offset eines untergeordneten Gestaltungselementes kleiner als 15% seiner übergeordneten Breite, so setze man eine untere Randbedingung für das untergeordnete Gestaltungselement. Regeln 5 und 6 gelten für untergeordnete Gestaltungselemente, die keine eingebetteten Kästchen (containers) und kein Einzelzeilentextelement sind.
    5. 5. Sind der linke Offset und der rechte Offset nahezu gleich (unterscheiden sie sich nur um 1) und sind sie kleiner als 25% der übergeordneten Breite, so setze man eine linke Randbedingung und eine rechte Randbedingung für das untergeordnete Gestaltungselement. Dies bewirkt, dass die dem untergeordneten Gestaltungselement zu eigene Breite mit der dem übergeordneten Gestaltungselement zu eigenen Breite skaliert wird.
    6. 6. Sind der obere Offset und der untere Offset nahezu gleich (unterscheiden sie sich nur um 1) und sind sie kleiner als 25% der übergeordneten Höhe, so setze man eine linke Randbedingung und eine rechte Randbedingung für das untergeordnete Gestaltungselement. Dies bewirkt, dass die dem untergeordneten Gestaltungselement zu eigene Höhe mit der dem übergeordneten Gestaltungselement zu eigenen Höhe skaliert wird. Regeln 7 und 8 gelten für textzonenbezogene untergeordnete Gestaltungselemente.
    7. 7. Ist die Breite des textzonenbezogenen untergeordneten Gestaltungselementes 66% der Breite des Übergeordneten hiervon, so setze man eine linke Randbedingung und eine rechte Randbedingung für das untergeordnete Gestaltungselement. Dies bewirkt, dass die dem untergeordneten Gestaltungselement zu eigene Breite mit der dem übergeordneten Gestaltungselement zu eigenen Breite skaliert wird.
    8. 8. Ist die Höhe des textzonenbezogenen untergeordneten Gestaltungselementes 66% der Höhe des Übergeordneten hiervon, so setze man eine obere Randbedingung und eine untere Randbedingung für das untergeordnete Gestaltungselement. Dies bewirkt, dass die dem untergeordneten Gestaltungselement zu eigene Höhe mit der dem übergeordneten Gestaltungselement zu eigenen Höhe skaliert wird. Regel 9 gilt durchweg für untergeordnete Gestaltungselemente mit Ausnahme eines Einzelzeilentextes.
    9. 9. Sind drei Kanten des untergeordneten Gestaltungselementes innerhalb eines 5%-Randes der übergeordneten Kante und ist die vierte Kante innerhalb eines 33%-Randes des Übergeordneten hiervon, so setze man obere, untere, linke und rechte Randbedingungen für das untergeordnete Gestaltungselement. Dies bewirkt, dass die dem untergeordneten Gestaltungselement zu eigenen Breiten und Höhen mit den dem übergeordneten Gestaltungselement zu eigenen Breiten und Höhen skaliert werden. Regeln 10 bis 13 gelten für alle Typen von untergeordneten Gestaltungselementen.
    10. 10. Sind die dem untergeordneten Gestaltungselement zu eigenen Breitenschranken innerhalb von 20% des linken Randes enthalten, so setze man eine linke Randbedingung.
    11. 11. Sind die dem untergeordneten Gestaltungselement zu eigenen Höhenschranken innerhalb von 20% des oberen Randes enthalten, so setze man eine obere Randbedingung.
    12. 12. Sind die dem untergeordneten Gestaltungselement zu eigenen Breitenschranken innerhalb von 20% des rechten Randes enthalten, so setze man eine rechte Randbedingung.
    13. 13. Sind die dem untergeordneten Gestaltungselement zu eigenen Höhenschranken innerhalb von 20% des unteren Randes enthalten, so setze man eine untere Randbedingung. Regeln 14 und 15 sind Catch-all-Regeln.
    14. 14. Sind nach dem Anwenden aller obigen Regeln weder linke noch rechte Randbedingungen gesetzt, so setze man eine Breitenrandbedingung.
    15. 15. Sind nach dem Anwenden aller obigen Regeln weder obere noch untere Randbedingungen gesetzt, so setze man eine Höhenrandbedingung.
  • Jede dieser Randbedingungsregeln wird nachstehend in der 4A und 4B begleitenden Beschreibung eingehender erläutert. Obwohl 4A und 4B den Prozess des Analysierens von Semantiken eines untergeordneten Gestaltungselementes in Bezug auf ein übergeordnetes Gestaltungselement beschreiben, kann das Gestaltungsskalierungssystem die Semantiken eines beliebigen Gestaltungselementes in Bezug entweder auf ein übergeordnetes Gestaltungselement oder das Gestaltungslayout analysieren.
  • Wie in 4A dargestellt und vorstehend erläutert worden ist, beginnt das Gestaltungsskalierungsrandbedingungssystem mit einer Bestimmung dessen, ob ein Offset des untergeordneten Gestaltungselementes kleiner als 15% seiner übergeordneten Breite oder Höhe ist. Als Teil von Schritt 402 berechnet die Gestaltungsskalierungsrandbedingung bzw. das Gestaltungsskalierungsrandbedingungssystem 15% der übergeordneten Höhe und berechnet 15% der übergeordneten Breite. Das Gestaltungsskalierungsrandbedingungssystem greift auf die Offsetwerte (beispielsweise oben, links, rechts und unten) für das untergeordnete Gestaltungselement zu und bestimmt, ob der Offset kleiner als 15% der entsprechenden übergeordneten Höhe oder Breite ist.
  • Wie in 4A dargestellt ist, führt das Gestaltungsskalierungsrandbedingungssystem auf Grundlage einer Bestimmung dessen, dass ein Offset kleiner als 15% der entsprechenden übergeordneten Höhe oder Breite ist, einen Schritt 404 des Setzens einer entsprechenden Seitenrandbedingung durch. Auf Grundlage einer Bestimmung dessen, dass der linke Offset beispielsweise kleiner als 15% der übergeordneten Höhe ist, setzt das Gestaltungsskalierungsrandbedingungssystem eine linke Randbedingung. Das Gestaltungsskalierungsrandbedingungssystem wiederholt diese Analyse für jeden von den rechten, oberen und unteren Offsets des untergeordneten Gestaltungselementes.
  • Das Gestaltungsskalierungsrandbedingungssystem betrachtet als Nächstes die Hierarchie der Gestaltungselemente innerhalb des Gestaltungslayouts. Insbesondere bestimmt das Gestaltungsskalierungsrandbedingungssystem als Teil von Schritt 406 von 4A, ob das untergeordnete Gestaltungselement ein eingebettetes Kästchen oder ein Einzelzeilentextelement ist. Insbesondere bestimmt das Gestaltungsskalierungsrandbedingungssystem, ob das Gestaltungselement innerhalb eines anderen, größeren Gestaltungselementes eingebettet ist. Zusätzlich bestimmt das Gestaltungsskalierungsrandbedingungssystem, ob das Gestaltungselement eine einzelne Zeile von Text umfasst.
  • Bestimmt das Gestaltungsskalierungsrandbedingungssystem, dass das untergeordnete Gestaltungselement kein eingebettetes Kästchen oder kein Einzelzeilentextelement ist, so führt das Gestaltungsskalierungsrandbedingungssystem einen Schritt 408 des Bestimmens dessen durch, ob gegenüberliegende Offets bzw. Gegenüberlageoffsets nahezu gleich und weniger als 25% der übergeordneten Breite und Höhe sind. Das Gestaltungsskalierungsrandbedingungssystem misst beispielsweise die linken und rechten Offsets des Gestaltungselementes zu den entsprechenden Kanten des übergeordneten Gestaltungselementes oder des Gestaltungslayouts. Das Gestaltungsskalierungsrandbedingungssystem misst zudem die Breite des übergeordneten Gestaltungselementes oder des Gestaltungslayouts. Sind die linken und rechten Offsets nahezu gleich und weniger als 25% der übergeordneten Breite, so geht das Gestaltungsskalierungsrandbedingungssystem zu Schritt 410 über und setzt linke und rechte Randbedingungen. Auf ähnliche Weise misst das Gestaltungsskalierungsrandbedingungssystem die oberen und unteren Offsets des Gestaltungselementes zu den entsprechenden Kanten des übergeordneten Gestaltungselementes oder Gestaltungslayouts. Das Gestaltungsskalierungsrandbedingungssystem misst die Höhe des übergeordneten Gestaltungselementes oder Gestaltungslayouts. Sind die oberen und unteren Offsets nahezu gleich und kleiner als 25% der übergeordneten Höhe, so geht das Gestaltungsskalierungsrandbedingungssystem zu Schritt 410 über und setzt obere und untere Randbedingungen.
  • Das Gestaltungsskalierungsrandbedingungssystem geht zu Schritt 412 über, wo bestimmt wird, ob das untergeordnete Gestaltungselement ein Textelement ist. Das Gestaltungsskalierungsrandbedingungssystem bestimmt, dass das untergeordnete Gestaltungselement ein Textelement ist. Das Gestaltungskalierungsrandbedingungssystem geht zu Schritt 414 über, wo bestimmt wird, ob die Breite oder Höhe der Textzone 66% der Breite oder Höhe des Übergeordneten hiervon ist. Insbesondere bestimmt das Gestaltungsskalierungsrandbedingungssystem, ob die Breite der Textzone 66% oder mehr seiner übergeordneten Breite ist. Auf Grundlage einer Bestimmung dessen, dass die Breite des untergeordneten Gestaltungselementes 66% oder mehr seiner übergeordneten Breite ist, geht das Gestaltungsrandbedingungssystem zu Schritt 416 über und setzt linke und rechte Randbedingungen bei dem untergeordneten Gestaltungselement. Auf ähnliche Weise setzt das Gestaltungsskalierungsrandbedingungssystem auf Grundlage einer Bestimmung dessen, dass die Höhe des untergeordneten Gestaltungselementes 66% oder mehr der übergeordneten Höhe ist, obere und untere Randbedingungen als Teil von Schritt 416.
  • Für Nichttextelemente bewertet das Gestaltungsskalierungsrandbedingungssystem des Weiteren, ob das untergeordnete Gestaltungselement ein Einzelzeilentext 422 ist. Bei untergeordneten Gestaltungselementen, die kein Einzelzeilentext sind, geht das Gestaltungsskalierungsrandbedingungssystem zu Schritt 424 über, wo bestimmt wird, ob drei Kanten des untergeordneten Gestaltungselementes innerhalb eines 5%-Randes der übergeordneten Kante sind und eine vierte Kante innerhalb eines 33%-Randes des Übergeordneten hiervon ist. Insbesondere identifiziert das Gestaltungsskalierungsrandbedingungssystem einen 5%-Rand der rechten und linken übergeordneten Kanten durch Berechnen von 5% der Breite des übergeordneten Gestaltungselementes. Das Gestaltungsskalierungsrandbedingungssystem identifiziert einen 5%-Rand der oberen und unteren übergeordneten Kanten durch Berechnen von 5% der Höhe des übergeordneten Gestaltungselementes. Das Gestaltungsskalierungsrandbedingungssystem führt eine ähnliche Analyse aus, um zu identifizieren, ob die vierte Kante innerhalb eines 33%-Randes des übergeordneten Gestaltungselementes ist. Auf Grundlage einer Bestimmung dessen, dass drei Kanten des übergeordneten Gestaltungselementes innerhalb eines 5%-Randes der übergeordneten Kante sind und die vierte Kante innerhalb eines 33%-Randes ist, geht das Gestaltungsskalierungsrandbedingungssystem zu Schritt 426 über und setzt obere, linke, rechte und untere Randbedingungen an dem untergeordneten Gestaltungselement.
  • Als Nächstes bewertet das Gestaltungsskalierungsrandbedingungssystem, ob die dem untergeordneten Gestaltungselement zu eigene Breite innerhalb von 20% des linken oder rechten Randes des übergeordneten Gestaltungselementes 428 enthalten ist. Auf Grundlage einer Bestimmung dessen, dass die gesamte Breite des untergeordneten Gestaltungselementes innerhalb von 20% des linken Randes enthalten ist, setzt das Gestaltungsskalierungsrandbedingungssystem eine linke Randbedingung bei Schritt 430. Auf ähnliche Weise setzt das Gestaltungsskalierungsrandbedingungssystem auf Grundlage einer Bestimmung dessen, dass die gesamte Breite des untergeordneten Gestaltungselementes innerhalb von 20% des rechten Randes enthalten ist, eine rechte Randbedingung bei Schritt 430.
  • Als Teil von Schritt 432 bewertet das Gestaltungsskalierungsrandbedingungssystem, ob die dem untergeordneten Gestaltungselement zu eigene Höhe innerhalb von 20% des oberen oder unteren Randes des übergeordneten Gestaltungselementes enthalten ist. Auf Grundlage einer Bestimmung dessen, dass die gesamte Höhe des untergeordneten Gestaltungselementes innerhalb von 20% des oberen Randes enthalten ist, setzt das Gestaltungsskalierungsrandbedingungssystem eine obere Randbedingung bei Schritt 434. Auf ähnliche Weise setzt das Gestaltungsskalierungsrandbedingungssystem, wenn das Gestaltungsskalierungsrandbedingungssystem bestimmt, dass die gesamte Höhe des untergeordneten Gestaltungselementes innerhalb von 20% des unteren Randes enthalten ist, eine untere Randbedingung bei Schritt 434.
  • Nachdem das Gestaltungsskalierungsrandbedingungssystem alle diskutierten Heuristiken angewendet hat, bewertet das Gestaltungsskalierungsrandbedingungssystem das Gestaltungselement unter Nutzung von Catch-all-Heuristiken. Insbesondere bestimmt das Gestaltungsskalierungsrandbedingungssystem, ob entweder die linke Randbedingung oder die rechte Randbedingung gesetzt ist, bei Schritt 436. Bestimmt das Gestaltungsskalierungsrandbedingungssystem, dass weder die linke Randbedingung noch die rechte Randbedingung gesetzt sind, so setzt das Gestaltungsskalierungsrandbedingungssystem eine Breitenrandbedingung bei Schritt 440. Demgegenüber setzt das Gestaltungsskalierungsrandbedingungssystem auf Grundlage einer Bestimmung dessen, dass entweder eine rechte Randbedingung oder eine linke Randbedingung gesetzt ist, keine Breitenrandbedingung bei Schritt 438.
  • Zusätzlich bestimmt das Gestaltungsskalierungsrandbedingungssystem, ob entweder die obere Randbedingung oder die untere Randbedingung gesetzt sind, bei Schritt 442. Insbesondere setzt das Gestaltungsskalierungsrandbedingungssystem auf Grundlage einer Bestimmung dessen, dass entweder eine obere Randbedingung oder eine untere Randbedingung auf das Gestaltungselement angewendet worden sind, keine Höhenrandbedingung entsprechend Schritt 446. Alternativ setzt das Gestaltungsskalierungsrandbedingungssystem, wenn das Gestaltungsskalierungsrandbedingungssystem bestimmt, dass weder eine obere noch eine untere Randbedingung gesetzt worden sind, eine Höhenrandbedingung bei Schritt 444.
  • 5A und 5B zeigen eine exemplarische Anwendung der vorbeschriebenen Heuristiken im Zusammenhang mit 4A und 4B. 5A und 5B zeigen ein exemplarisches übergeordnetes Gestaltungselement und untergeordnete Gestaltungselemente. Insbesondere zeigt 5A ein übergeordnetes Gestaltungselement 502 mit untergeordneten Gestaltungselementen 504, 506, 508, 510 und 512. 5B zeigt ein aktualisiertes übergeordnetes Gestaltungselement 502a während eines Skalierungsvorganges.
  • Das Gestaltungsskalierungsrandbedingungssystem greift auf Semantikinformation im Zusammenhang mit dem übergeordneten Gestaltungselement 502 und den untergeordneten Gestaltungselementen 504, 506, 508, 510 und 512 zu. Das Gestaltungsskalierungsrandbedingungssystem nutzt sodann das Heuristikensystem, um anwendbare semantikbewusste Skalierungsrandbedingungen für das übergeordnete Gestaltungselement 502 zu identifizieren. Insbesondere wendet das Gestaltungsskalierungsrandbedingungssystem die vorerwähnten Heuristiken an. Das Gestaltungsskalierungsrandbedingungssystem wendet beispielsweise zunächst die Regeln 1 bis 4 auf die untergeordneten Gestaltungselemente 504, 506, 508, 510 und 512 an. Mit dem Hauptaugenmerk insbesondere auf dem untergeordneten Gestaltungselement 504 bestimmt das Gestaltungsskalierungsrandbedingungssystem, dass der obere Offset der untergeordneten Gestaltungselemente 504 kleiner als 15% der dem übergeordneten Gestaltungselement 502 zu eigenen Höhe ist. Das Gestaltungsskalierungsrandbedingungssystem setzt daher eine obere Randbedingung bei dem untergeordneten Gestaltungselement 504, wodurch die obere Kante des untergeordneten Gestaltungselementes 504 mit der oberen Kante des übergeordneten Gestaltungselementes 502 verbunden wird. Das Gestaltungsskalierungsrandbedingungssystem bestimmt zudem, dass der untere Offset des untergeordneten Gestaltungselementes 504 kleiner als 15% der dem übergeordneten Gestaltungselement 502 zu eigenen Höhe ist. Daher setzt das Gestaltungsskalierungsrandbedingungssystem zudem eine untere Randbedingung bei dem untergeordneten Gestaltungselement 504. Das Gestaltungsskalierungsrandbedingungssystem bestimmt, dass weder die rechten noch die linken Offsets des untergeordneten Gestaltungselementes kleiner als 15% der Breite des übergeordneten Gestaltungselementes 502 sind. Daher setzt das Gestaltungsskalierungsrandbedingungssystem keine linken oder rechten Randbedingungen an diesem Punkt.
  • Das Gestaltungsskalierungsrandbedingungssystem wendet die Regeln 5 und 6 nicht an, da die untergeordneten Gestaltungselemente 504, 506, 508, 510 und 512 eingebettete Kästchen sind. Zusätzlich wendet das Gestaltungsskalierungsrandbedingungssystem die Regeln 7 und 8 nicht an, da die untergeordneten Gestaltungselemente 504, 506, 508, 510 und 512 keine textzonenbezogenen untergeordneten Gestaltungselemente sind. Das Gestaltungsskalierungsrandbedingungssystem wendet die Regel 9 an den untergeordneten Gestaltungselementen 504, 506, 508, 510 und 512 an. Da jedoch drei Kanten von keinem der untergeordneten Gestaltungselemente innerhalb eines 5%-Randes der übergeordneten Kante sind, wendet das Gestaltungsskalierungsrandbedingungssystem keine zusätzlichen Randbedingungen an. Schließlich setzt das Gestaltungsskalierungsrandbedingungssystem auf Grundlage der Regeln 14 und 15 Breitenrandbedingungen bei allen untergeordneten Gestaltungselementen 504, 506, 508, 510 und 512, da das Gestaltungsskalierungsrandbedingungssystem weder linke noch rechte Randbedingungen bei den untergeordneten Gestaltungselementen gesetzt hat. Auf Grundlage des angewendeten Heuristikensystems wendet das Gestaltungsskalierungsrandbedingungssystem daher obere semantikbewusste Randbedingungen, untere semantikbewusste Skalierungsrandbedingungen und breitenbezogene semantikbewusste Skalierungsrandbedingungen auf jedes der untergeordneten Gestaltungselemente 504, 506, 508, 510 und 512 an.
  • 5B zeigt ein skaliertes übergeordnetes Gestaltungselement 502a während eines Skalierungsvorganges. Wie in 5B dargestellt ist, ist das skalierte übergeordnete Gestaltungselement 502a der Breite nach kürzer als das anfängliche übergeordnete Gestaltungselement 502. Insbesondere beinhaltet das übergeordnete Gestaltungselement 502a obere Anhefteinblendungen 514 und untere Anhefteinblendungen 516, die den oberen semantikbewussten Randbedingungen und den unteren semantikbewussten Skalierungsrandbedingungen entsprechen. Bei wenigstens einer Ausführungsform führt das Gestaltungsskalierungsrandbedingungssystem breitenbezogene Anhefteinblendungen ein, um die Breitenrandbedingungen, die auf die untergeordneten Gestaltungselemente 504, 506, 508, 510 und 512 angewendet werden, darzustellen.
  • Wie vorstehend erwähnt worden ist, kann das Gestaltungsskalierungsrandbedingungssystem semantikbewusste Skalierungsrandbedingungen automatisch auf Gestaltungselemente eines Gestaltungslayouts anwenden. Zusätzlich kann das Gestaltungsskalierungsrandbedingungssystem die Anwendung von manuell ausgewählten Randbedingungen auf dieselben Gestaltungselemente des Gestaltungslayouts ermöglichen. 6A bis 6D zeigen eine Abfolge von Grafiknutzerschnittstellen, die das Skalierungsverhalten für eine Gestaltung unter Nutzung von automatisch angewendeten semantikbewussten Skalierungsrandbedingungen und manuell ausgewählten Randbedingungen zeigen. Insbesondere zeigen 6A und 6B Grafiknutzerschnittstellen, die automatisch angewendete semantikbewusste Skalierungsrandbedingungen zeigen. 6C und 6D zeigen Grafiknutzerschnittstellen, die manuell ausgewählte Randbedingungen zeigen.
  • 6A zeigt die Skalierungsrandbedingungsgrafiknutzerschnittstelle 602, die von dem Gestaltungsskalierungsrandbedingungssystem präsentiert wird, wenn das Gestaltungsskalierungsrandbedingungssystem semantikbewusste Skalierungsrandbedingungen automatisch anwendet. Insbesondere beinhaltet die Skalierungsrandbedingungsgrafiknutzerschnittstelle 602 ein erstes Gestaltungselement 604 mit einem eingebetteten zweiten Gestaltungselement 608. Zusätzlich beinhaltet die Skalierungsrandbedingungsgrafiknutzerschnittstelle 602 ein Anpassungsfeld 614, das ein Automatikauswahlelement 610, ein Manuellauswahlelement 612, ein Kantenrandbedingungenelement 616, ein Breitenrandbedingungselement 618 und ein Höhenrandbedingungselement 620 umfasst. Wie erläutert worden ist, kann das erste Gestaltungselement 604 ein übergeordnetes Gestaltungselement darstellen, das ein eingebettetes untergeordnetes zweites Gestaltungselement 608 beinhaltet. Zusätzlich kann das erste Gestaltungselement 604 ein Anzeigelayout darstellen, das das zweite Gestaltungselement 608 beinhaltet.
  • Das Gestaltungsskalierungsrandbedingungssystem kann ein ausgewähltes Gestaltungselement hervorheben und Information, die für das ausgewählte Gestaltungselement relevant ist, anzeigen. Wie in 6A gezeigt ist, präsentiert das Gestaltungsskalierungsrandbedingungssystem über die Skalierungsrandbedingungsgrafiknutzerschnittstelle 602 das erste Gestaltungselement 604 und das zweite Gestaltungselement 608 einer Anfangsgröße. Auf Grundlage einer Detektion einer gestalterseitigen Auswahl des zweiten Gestaltungselementes 608 hebt das Gestaltungsskalierungsrandbedingungssystem das zweite Gestaltungselement 608 hervor. Das Gestaltungsskalierungsrandbedingungssystem hebt das zweite Gestaltungselement 608 beispielsweise unter Nutzung von Skalierungspunkten hervor. Bei wenigstens einer oder mehreren anderen Ausführungsformen hebt das Gestaltungsskalierungsrandbedingungssystem mehr als ein Gestaltungselement auf Grundlage einer Detektion einer gestalterseitigen Interaktion mit mehreren Gestaltungselementen hervor. Auf Grundlage der gestalterseitigen Auswahl mehrerer Gestaltungselemente kann das Gestaltungsskalierungsrandbedingungssystem beispielsweise Anhefteinblendungen für und zudem Randbedingungen für alle ausgewählten mehreren Gestaltungselemente präsentieren.
  • Das Gestaltungsskalierungsrandbedingungssystem präsentiert Anpassungsoptionen für das hervorgehobene Gestaltungselement. Wie in 6A dargestellt ist, präsentiert das Gestaltungsskalierungsrandbedingungssystem reaktive Skalierungsdaten, die für das ausgewählte Gestaltungselement relevant sind, unter Nutzung des Anpassungsfeldes 614. Auf Grundlage einer gestalterseitigen Interaktion mit dem Anpassungsfeld 614 passt das Gestaltungsskalierungsrandbedingungssystem die Größe der ausgewählten Gestaltungselemente, das Skalierungsverhalten der ausgewählten Gestaltungselemente und das Aussehen (beispielsweise die Farbe, die Begrenzung, die Opazität, die Unschärfe und dergleichen mehr) der ausgewählten Gestaltungselemente an.
  • Das Gestaltungsskalierungsrandbedingungssystem präsentiert eine optische Darstellung für automatisch angewendete semantikbewusste Skalierungsrandbedingungen unter Nutzung des Anpassungsfeldes 614. Insbesondere hebt das Gestaltungsskalierungsrandbedingungssystem das Automatikauswahlelement 610 hervor, um anzugeben, dass die auf das hervorgehobene zweite Gestaltungselement 608 angewendeten Randbedingungen automatisch angewendete semantikbewusste Skalierungsrandbedingungen sind. Zusätzlich hebt das Gestaltungsskalierungsrandbedingungssystem die linke Randbedingung und die obere Randbedingung des Kantenrandbedingungenelementes 616 hervor, um darzustellen, dass das Gestaltungsskalierungsrandbedingungssystem eine linke und eine obere Randbedingung auf Grundlage von Gestaltungssemantiken auf das zweite Gestaltungselement 608 angewendet hat. Wie dargestellt ist, hebt das Gestaltungsskalierungsrandbedingungssystem zudem das Breitenrandbedingungselement 618 und das Höhenrandbedingungselement 620 hervor, um die angewendeten Breiten- und Höhenrandbedingungen darzustellen.
  • Auf Grundlage einer gestalterseitigen Aufforderung dahingehend, das erste Gestaltungselement 604 zu skalieren, aktualisiert das Gestaltungsskalierungsrandbedingungssystem die Skalierungsrandbedingungsgrafiknutzerschnittstelle 602, um das Skalierungsverhalten des zweiten Gestaltungselementes 608 zu demonstrieren. 6B zeigt ein aktualisiertes erstes Gestaltungselement 604a mit einem eingebetteten aktualisierten zweiten Gestaltungselement 608a. Zusätzlich präsentiert das Gestaltungsskalierungsrandbedingungssystem eine obere Anhefteinblendung 622 und eine linke Anhefteinblendung 624.
  • Das Gestaltungsskalierungsrandbedingungssystem kann eine gestalterseitige Aufforderung dahingehend, ein Grafiknutzerschnittstellengestaltungslayout zu skalieren, detektieren. 6B zeigt die Skalierungsrandbedingungsgrafiknutzerschnittstelle 602 während eines Skalierungsvorganges des ersten Gestaltungselementes 604 und des zweiten Gestaltungselementes 608. Wie in 6B dargestellt ist, identifiziert das Gestaltungsskalierungsrandbedingungssystem eine gestalterseitige Auswahl einer Ecke des ersten Gestaltungselementes 604. Auf Grundlage einer Ziehbewegung (dragging) an der Ecke des ersten Gestaltungselementes 604 generiert das Gestaltungsskalierungsrandbedingungssystem das aktualisierte erste Gestaltungselement 604a und das aktualisierte zweite Gestaltungselement 608a. Aktualisiert das Gestaltungsskalierungsrandbedingungssystem das erste Gestaltungselement 604a auf Grundlage einer gestalterseitigen Interaktion mit dem ersten Gestaltungselement 604a, so skaliert das Gestaltungsskalierungsrandbedingungssystem das aktualisierte zweite Gestaltungselement 608a auf Grundlage der automatisch angewendeten semantikbewussten Skalierungsrandbedingungen.
  • Obwohl 6B zeigt, dass das Gestaltungsskalierungsrandbedingungssystem eine Auswahl- und Ziehgeste als Aufforderung dahingehend, das Grafiknutzerschnittstellengestaltungslayout zu skalieren, identifiziert, kann das Gestaltungsskalierungsrandbedingungssystem zusätzliche Aufforderungen dahingehend, das Gestaltungslayout zu skalieren, empfangen. Insbesondere kann ein Gestalter mit Elementen in dem Anpassungsfeld 614 interagieren, um gewünschte Abmessungen des Gestaltungslayouts zu spezifizieren. Auf Grundlage einer gestalterseitigen Auswahl des ersten Gestaltungselementes 604 kann das Gestaltungsskalierungsrandbedingungssystem beispielsweise das Anpassungsfeld 614 aktualisieren, um für das erste Gestaltungselement 604 relevante Daten anzuzeigen. Der Gestalter kann sodann gewünschte Skalierungsabmessungen für das erste Gestaltungselement 604 eingeben.
  • Das Gestaltungsskalierungsrandbedingungssystem präsentiert Anhefteinblendungen, um das Anheftverhalten von untergeordneten Gestaltungselementen ohne übermäßigen optischen Aufwand während der Skalierungsvorganges zu zeigen. Wie in 6B dargestellt ist, präsentiert das Gestaltungsskalierungsrandbedingungssystem die obere Anhefteinblendung 622 und die linke Anhefteinblendung 624, um zu zeigen, dass das aktualisierte zweite Gestaltungselement 608a auf Grundlage einer oberen und linken Randbedingung an den linken und oberen Kanten des aktualisierten ersten Gestaltungselementes 604a angeheftet worden ist. Bei wenigstens einer weiteren Ausführungsform beinhaltet das Gestaltungsskalierungsrandbedingungssystem breiten- und höhenbezogene Anhefteinblendungen, um zu demonstrieren, dass das Gestaltungsskalierungsrandbedingungssystem zudem eine Breitenrandbedingung und eine Höhenrandbedingung auf das aktualisierte zweite Gestaltungselement 608a angewendet hat.
  • Wie vorstehend erläutert worden ist, kann das Gestaltungsskalierungsrandbedingungssystem zwischen dem auf Gestaltungselemente erfolgenden Anwenden von automatischen semantikbewussten Skalierungsrandbedingungen und manuell ausgewählten Randbedingungen umstellen. 6C und 6D zeigen exemplarische Skalierungsrandbedingungsgrafiknutzerschnittstellen 602, die Steuerungen bzw. Regelungen und Layouts für manuell ausgewählte Randbedingungen präsentieren. Insbesondere zeigt 6C das erste Gestaltungselement 604 und das zweite Gestaltungselement 608 einer Anfangsgröße. 6D zeigt das aktualisierte erste Gestaltungselement 604a und das aktualisierte zweite Gestaltungselement 608a während eines Skalierungsvorganges.
  • Wie vorstehend erläutert worden ist, kann das Gestaltungsskalierungsrandbedingungssystem einem Gestalter Optionen zum manuellen Auswählen von Randbedingungen, die auf digitale Elemente angewendet werden sollen, präsentieren. 6C zeigt die Skalierungsrandbedingungsgrafiknutzerschnittstelle 602, die das erste Gestaltungselement 604 und das zweite Gestaltungselement 608 beinhaltet. Die Skalierungsrandbedingungsgrafiknutzerschnittstelle 602 beinhaltet das Anpassungsfeld 614 mit dem Automatikauswahlelement 610, dem Manuellauswahlelement 612, dem Kantenrandbedingungenelement 6161 bzw. 616, dem Breitenrandbedingungselement 618 und dem Höhenrandbedingungselement 620.
  • Das Gestaltungsskalierungsrandbedingungssystem kann automatisch angewendete semantikbewusste Skalierungsrandbedingungen aus dem ausgewählten Gestaltungselement entfernen und manuell ausgewählte Randbedingungen anwenden. Wie in 6C dargestellt ist, kann das Gestaltungsskalierungsrandbedingungssystem, obwohl das Gestaltungsskalierungsrandbedingungssystem obere, linke, Breiten- und Höhenrandbedingungen für das zweite Gestaltungselement 608 automatisch definiert, diese automatisch angewendeten semantikbewussten Skalierungsrandbedingungen entfernen. Auf Grundlage einer nutzerseitigen Interaktion mit dem Manuellauswahlelement 612 bestimmt das Gestaltungsskalierungsrandbedingungssystem beispielsweise, manuell ausgewählte Randbedingungen auf das zweite Gestaltungselement 608 anzuwenden. Insbesondere kann der Gestalter die obere Randbedingung und die linke Randbedingung des Kantenrandbedingungenelementes 616 auswählen, um die automatisch angewendeten linken und oberen Randbedingungen zu entfernen. Zusätzlich kann der Gestalter die rechte Randbedingung und die untere Randbedingung des Kantenrandbedingungenelementes 616 auswählen. Auf Grundlage der gestalterseitigen Interaktion mit dem Kantenrandbedingungenelement 616 kann das Gestaltungsskalierungsrandbedingungssystem die Randbedingungen bestimmen, die auf das zweite Gestaltungselement 608 angewendet werden sollen. Obwohl dies nicht dargestellt ist, kann das Gestaltungsskalierungsrandbedingungssystem zudem eine gestalterseitige Interaktion mit dem Breitenrandbedingungselement 618 und dem Höhenrandbedingungselement 620 detektieren, um Breiten- und Höhenrandbedingungen hinzuzufügen oder zu entfernen.
  • Das Gestaltungsskalierungsrandbedingungssystem wendet die manuell ausgewählten Randbedingungen an und aktualisiert die Skalierungsrandbedingungsgrafiknutzerschnittstelle 602 mithilfe von Anhefteinblendungen während des Skalierungsvorganges. 6D zeigt die Skalierungsrandbedingungsgrafiknutzerschnittstelle 602 mit dem aktualisierten ersten Gestaltungselement 604a und dem aktualisierten zweiten Gestaltungselement 608a. Zusätzlich präsentiert das Gestaltungsskalierungsrandbedingungssystem eine rechte Anhefteinblendung 626 und eine untere Anhefteinblendung 628. Man beachte, dass die automatisch angewendeten Breiten- und Höhenrandbedingungen auch während des Skalierens zusätzlich zu den manuell angewendeten rechten und unteren Randbedingungen angewendet worden sind.
  • Empfängt das Gestaltungsskalierungsrandbedingungssystem eine gestalterseitige Aufforderung dahingehend, das erste Gestaltungselement 604 zu skalieren, so zeigt das Gestaltungsskalierungsrandbedingungssystem das Anheftverhalten des zweiten Gestaltungselementes 608. Insbesondere präsentiert das Gestaltungsskalierungsrandbedingungssystem das aktualisierte erste Gestaltungselement 604a, um eine Echtzeitrückmeldung für die Aufforderung dahingehend, das erste Gestaltungselement 604 zu skalieren, bereitzustellen. Zusätzlich zeigt das aktualisierte zweite Gestaltungselement 608a das Echtzeitskalierungsverhalten des zweiten Gestaltungselementes 604 auf Grundlage der manuell ausgewählten Einschränkungen (restraints) bzw. Randbedingungen. Das Gestaltungsskalierungsrandbedingungssystem generiert beispielsweise die rechte Anhefteinblendung 626 und die untere Anhefteinblendung 628, um das Anheftverhalten des aktualisierten zweiten Gestaltungselementes 608a zu demonstrieren
  • Wie in 6A bis 6D gezeigt ist, stellt das Gestaltungsskalierungsrandbedingungssystem zudem einen einzigartigen Ausgleich und Workflow zwischen automatisch generierten semantikbewussten Skalierungsrandbedingungen und manuellen Randbedingungen bereit. Insbesondere bewirkt das Gestaltungsskalierungsrandbedingungssystem, dass einem beliebigen Skalierungsvorgang durch automatisch generierte semantikbewusste Skalierungsrandbedingungen automatisch Randbedingungen auferlegt werden. Daher muss das Gestaltungsskalierungsrandbedingungssystem keine komplexen Details über die Randbedingungen präsentieren. Wählt ein Nutzer die Bearbeitung der automatisch generierten semantikbewussten Randbedingungen und schaltet eine oder mehrere auf manuelle Randbedingungen um, so legt das Gestaltungsskalierungsrandbedingungssystem eine Randbedingungen-Ul, die mit Randbedingungen vorbelebt ist, offen, wodurch ermöglicht wird, dass der Nutzer Bearbeitungen vornimmt, um das reaktive Verhalten dieses Elementes zu ändern. Das Gestaltungsskalierungsrandbedingungssystem kann diese Rückmeldung sodann dafür nutzen, einen heuristischen Algorithmus zum intelligenten Lernen zu optimieren und laufen zu lassen.
  • 7A bis 7D zeigen Paare von exemplarischen Grafiknutzerschnittstellengestaltungslayouts in einer Anfangsgröße und während eines Skalierungsvorganges. Insbesondere zeigen 7A bis 7D, dass das Gestaltungsskalierungsrand bedingungssystem Grafiknutzerschnittstellengestaltungslayouts sogar dann genau skalieren kann, wenn die Gestaltungslayouts komplexe Gestaltungselemente beinhalten.
  • 7A und 7B zeigen, dass das Gestaltungsskalierungsrandbedingungssystem ein Gestaltungslayout skaliert, das mehrere Gestaltungselemente umfasst. Insbesondere zeigt 7A ein Gestaltungslayout 702 einer Anfangsgröße. 7B zeigt ein aktualisiertes Gestaltungslayout 702a.
  • 7A zeigt das Gestaltungslayout 702, das ein Überschriftelement 704, Textgrafikelemente 706 und Bildelemente 708 beinhaltet. Auf Grundlage der analysierten Gestaltungssemantiken des Gestaltungslayouts wendet das Gestaltungsskalierungsrandbedingungssystem semantikbewusste Skalierungsrandbedingungen auf jedes der Gestaltungselemente in dem Gestaltungslayout 702 an.
  • 7B zeigt die verschiedenen Randbedingungen, die auf die Gestaltungselemente des Gestaltungslayouts angewendet werden. Insbesondere zeigt 7B ein aktualisiertes Gestaltungslayout 702a, das ein aktualisiertes Überschriftgestaltungselement 704a, aktualisierte Textgrafikelemente 706a und aktualisierte Bildelemente 708 beinhaltet. Das Gestaltungsskalierungsrandbedingungssystem wendet linke und rechte Randbedingungen auf die Textgrafikelemente 706 an, um die aktualisierten Textgrafikelemente 706a, die die Breite des aktualisierten Gestaltungslayouts 702a überspannen, zu generieren. Anstelle des Anwendens von linken und rechten Randbedingungen auf die Bildelemente 708 wendet das Gestaltungsskalierungsrandbedingungssystem Breitenrandbedingungen auf die Bildelemente 708 an, um die skalierten Bildelemente 708a zu generieren. Da die skalierten Bildelemente 708a der Breite nach fest sind, beinhaltet das Gestaltungsskalierungsrandbedingungssystem zusätzlich skalierte Bildelemente 708a in dem aktualisierten Gestaltungslayout 702a, die nicht in dem anfänglichen Gestaltungslayout 702 beinhaltet waren.
  • 7C und 7D stellen zusätzliche Beispiele für Gestaltungslayouts bereit, die verschiedene Typen von Gestaltungselementen beinhalten. Insbesondere zeigt 7C ein Gestaltungslayout 710, das ein Überschriftgestaltungselement 712, ein interaktives Medienelement 714 und ein Textgestaltungselement 718 einer Anfangsgröße beinhaltet.
  • 7D zeigt ein aktualisiertes Gestaltungslayout 710a während eines Aktualisierungsvorganges. Insbesondere beinhaltet das aktualisierte Gestaltungslayout 710a eine obere Anhefteinblendung 716a, eine linke Anhefteinblendung 716b und eine rechte Anhefteinblendung 716c für das aktualisierte Überschriftgestaltungselement 712a. Zusätzlich beinhaltet das aktualisierte Gestaltungslayout 710a ein aktualisiertes interaktives Medienelement 714a und ein aktualisiertes Textgestaltungselement 718a.
  • Das Gestaltungsskalierungsrandbedingungssystem kann einzelne Gestaltungselemente anpassen, wenn die Gestaltungselemente skaliert werden. Insbesondere kann das Gestaltungsskalierungsrandbedingungssystem Bilder erweitern oder minimieren und Text derart rekonfigurieren, dass er in Textkästchen passt. Wie in 7B dargestellt ist, erweitert das Gestaltungsskalierungsrandbedingungssystem beispielsweise das interaktive Medienelement 714 auf die Größe des aktualisierten interaktiven Medienelementes 714a. Das Gestaltungsskalierungsrandbedingungssystem maximiert den Maßstab des aktualisierten interaktiven Medienelementes 714a (das heißt, es weitet den Medieninhalt auf). Bei wenigstens einer weiteren Ausführungsform erweitert das Gestaltungsskalierungsrandbedingungssystem die Begrenzungen des aktualisierten interaktiven Medienelementes 714a und behält dabei denselben Maßstab der Medien, die innerhalb des aktualisierten interaktiven Medienelementes 714a präsentiert werden, bei. Das Gestaltungsskalierungsrandbedingungssystem kann beispielsweise eine ausgeschnittene Momentaufnahme (cropped snapshot) des interaktiven Medienelementes 714 in der Anfangsgröße anzeigen. Erweitert das Gestaltungsskalierungsrandbedingungssystem die Begrenzungen des interaktiven Medienelementes 714, so kann das Gestaltungsskalierungsrandbedingungssystem die Ausschneidung daher entfernen, um das aktualisierte interaktive Medienelement 714a desselben Maßstabes zu präsentieren. Zusätzlich reformatiert das Gestaltungsskalierungsrandbedingungssystem, wie in 7B gezeigt ist, den Text in dem aktualisierten Überschriftgestaltungselement 712a und dem aktualisierten Textgestaltungselement 718a derart, dass er in die Begrenzungen der jeweiligen Elemente passt. Bei zusätzlichen Ausführungsformen ändert das Gestaltungsskalierungsrandbedingungssystem den Font, die Fontgröße, das Spacing und das Formatieren der Textgestaltungselemente.
  • In 8 sind zusätzliche Details im Zusammenhang mit den Fähigkeiten und Komponenten des Gestaltungsskalierungsrandbedingungssystems entsprechend einer oder mehreren Ausführungsformen angegeben. Insbesondere zeigt 8 ein schematisches Diagramm einer exemplarischen Architektur des Gestaltungsskalierungsrandbedingungssystems 804 eines Contentgestaltungssystems 802, das auf einer Rechenvorrichtung 800 implementiert ist. Das Gestaltungsskalierungsrandbedingungssystem 804 kann eine oder mehrere Ausführungsformen des vorbeschriebenen Gestaltungsskalierungsrandbedingungssystems darstellen. Bei einer oder mehreren Ausführungsformen können einige oder alle der Komponenten des Gestaltungsskalierungsrandbedingungssystems 804 separat von dem Contentgestaltungssystem 802 implementiert sein. Darüber hinaus kann die Rechenvorrichtung 800 eine Vielzahl von verschiedenen Vorrichtungen beinhalten. Bei einigen Ausführungsformen sind einige oder alle der Komponenten des Gestaltungsskalierungsrandbedingungssystems 804 beispielsweise auf einer Clientvorrichtung und/oder einer Servervorrichtung implementiert.
  • Das Contentgestaltungssystem 802 vereinfacht bei einer oder mehreren Ausführungsformen allgemein das Erstellen, Modifizieren, gemeinsame Nutzen bzw. Teilen (sharing) und/oder Löschen von grafischem Content. Bei einer oder mehreren Ausführungsformen ist das Contentgestaltungssystem 802 eine Gestaltungsanwendung, so beispielsweise ADOBE® XD®. Bei anderen Ausführungsformen beinhaltet das Contentgestaltungssystem 802 mehrere Anwendungen, Funktionen und Vorgänge im Zusammenhang mit grafischem Content, so beispielsweise bei einem Anwendungspaket (application suite), einer webbasierten Anwendung und/oder bei Systemvorgängen auf der Rechenvorrichtung 800.
  • Wie in 8 dargestellt ist, beinhaltet das Gestaltungsskalierungsrandbedingungssystem 804 verschiedene Komponenten zur Durchführung der hier beschriebenen Prozesse und Merkmale. Das Gestaltungsskalierungsrandbedingungssystem 804 beinhaltet beispielsweise einen Gestaltungselementanalysierer 806, einen Randbedingungsverwalter 808, einen Skalierungsgestaltungsgenerator 810, einen Nutzerrückmeldungsverwalter 812 und eine Datenbank 820. Jede dieser Komponenten wird nachstehend beschrieben.
  • Wie vorstehend erwähnt worden ist, beinhaltet das Gestaltungsskalierungsrandbedingungssystem 804 den Gestaltungselementanalysierer 806. Bei einer oder mehreren Ausführungsformen detektiert oder identifiziert der Gestaltungselementanalysierer 806 die Gestaltungselemente in einer Gestaltung. Der Gestaltungselementanalysierer 806 kann beispielsweise Gestaltungselemente detektieren und einen Typ für jedes Gestaltungselement (beispielsweise dasjenige, ob die Gestaltungselemente Kästchen, Text sind) bestimmen. Der Gestaltungselementanalysierer 806 detektiert Beziehungen zwischen Gestaltungselementen (beispielsweise übergeordnet/untergeordnet). Zusätzlich detektiert der Gestaltungselementanalysierer 806 Gestaltungselementoffsets, Größen, Relativpositionen und dergleichen mehr. Eine zusätzliche Beschreibung im Zusammenhang mit Aufgaben, die der Gestaltungselementanalysierer 806 durchführt, ist vorstehend angegeben.
  • Wie gezeigt ist, beinhaltet das Gestaltungsskalierungsrandbedingungssystem 804 den Randbedingungsverwalter 808. Im Allgemeinen kann der Randbedingungsverwalter 808 Randbedingungen auf Grundlage der Analyse des Gestaltungselementanalysierers 808, der vorstehend beschrieben worden ist, auf Gestaltungselemente anwenden. Insbesondere greift der Randbedingungsverwalter 808 auf die Semantikinformation, die von dem Gestaltungselementanalysierer 806 extrahiert wird, zu. Der Randbedingungsverwalter 808 nutzt die vorerläuterten Heuristikregeln, um einen Satz von semantikbewussten Skalierungsrandbedingungen für jedes Gestaltungselement zu identifizieren. Zusätzlich analysiert der Randbedingungsverwalter 808 die Semantiken von Gestaltungselementen dynamisch und generiert nach Bedarf neue Sätze von semantikbewussten Skalierungsrandbedingungen. Der Randbedingungsverwalter 808 verwaltet zudem manuell ausgewählte Randbedingungen. Insbesondere identifiziert der Randbedingungsverwalter 808, ob die angewendeten Randbedingungen automatisch angewendete semantikbewusste Skalierungsrandbedingungen oder manuell ausgewählte Randbedingungen sind.
  • Wie in 8 dargestellt ist, beinhaltet das Gestaltungsskalierungsrandbedingungssystem 804 den Skalierungsgestaltungsgenerator 810. Allgemein empfängt der Skalierungsgestaltungsgenerator 810 eine nutzerseitige Eingabe zur Änderung der Größe eines Gestaltungslayouts (er empfängt beispielsweise eine nutzerseitige Eingabe zur Änderung eines Gestaltungslayouts oder Ansichtsfensters von der Größe eines Smartphones zur Größe eines Tablets). Der Skalierungsgestaltungsgenerator 810 wendet die von dem Randbedingungsverwalter 808 definierten semantikbewussten Skalierungsrandbedingungen auf jedes Gestaltungselement des Gestaltungslayouts an. Auf Grundlage der angewendeten Randbedingungen (beispielsweise manuell ausgewählt oder automatisch angewendet) und der empfangenen Aufforderung zur Skalierung generiert der Skalierungsgestaltungsgenerator 810 ein skaliertes Gestaltungslayout mit skalierten Gestaltungselementen.
  • Das Gestaltungsskalierungsrandbedingungssystem 804 beinhaltet zudem den Nutzerrückmeldungsverwalter 812. Allgemein verwaltet der Nutzerrückmeldungsverwalter 812 das Präsentieren einer Skalierungsrandbedingungsgrafiknutzerschnittstelle, das Detektieren einer Interaktion mit der Skalierungsrandbedingungsgrafiknutzerschnittstelle und das Anpassen des Gestaltungslayouts auf Grundlage einer detektierten gestalterseitigen Interaktion mit der Skalierungsrandbedingungsgrafiknutzerschnittstelle. Der Nutzerrückmeldungsverwalter 812 kann einem Nutzer ermöglichen, die Form/Größe einer Gestaltung (oder von Gestaltungselementen) zu modifizieren, zu formen, zu verformen und/oder zu manipulieren. Insbesondere präsentiert der Nutzerrückmeldungsverwalter 812 Anhefteinblendungen, die das Skalierungsverhalten von Gestaltungselementen auf Grundlage von Randbedingungen zeigen. Zusätzlich präsentiert der Nutzerrückmeldungsverwalter 812 dem Gestalter eine Option zum Umstellen zwischen der Anwendung automatischer semantikbewusster Skalierungsrandbedingungen und manuell ausgewählter Randbedingungen.
  • Das Gestaltungsskalierungsrandbedingungssystem 804 beinhaltet zudem die Datenbank 820. Die Datenbank beinhaltet Randbedingungsregeln 822 (beispielsweise die vorstehend im Zusammenhang mit 4A und 4B beschriebenen Heuristiken). Die Randbedingungsregeln 822 können einen Satz von Randbedingungsregeln beinhalten, der zum Identifizieren der passenden semantikbewussten Skalierungsrandbedingungen für Gestaltungselemente auf Grundlage von Gestaltungssemantiken genutzt wird. Insbesondere beinhalten die Randbedingungsregeln 822 die vorstehend im Zusammenhang mit 4A und 4B erläuterten Regeln.
  • Jede der Komponenten 806 bis 820 des Gestaltungsskalierungsrandbedingungssystems 804 kann Software, Hardware oder beides beinhalten. Die Komponenten 806 bis 820 können beispielsweise eine oder mehrere Anweisungen beinhalten, die auf einem computerlesbaren Speichermedium gespeichert und durch Prozessoren einer oder mehrerer Rechenvorrichtungen, so beispielsweise einer Clientvorrichtung (beispielsweise einer mobilen Clientvorrichtung) oder einer Servervorrichtung, ausführbar sind. Bei Ausführung durch den einen oder die mehreren Prozessoren können die computerausführbaren Anweisungen des Gestaltungsskalierungsrandbedingungssystems 804 veranlassen, dass eine Rechenvorrichtung das Generieren einer hier beschriebenen skalierten Grafiknutzerschnittstelle durchführt. Alternativ können die Komponenten 806 bis 820 Hardware, so beispielsweise eine Spezialzweckverarbeitungsvorrichtung, beinhalten, um eine bestimmte Funktion oder Gruppe von Funktionen wahrzunehmen. Zusätzlich können die Komponenten 806 bis 820 des Gestaltungsskalierungsrandbedingungssystems 806 eine Kombination von computerausführbaren Anweisungen und Hardware beinhalten.
  • Des Weiteren können die Komponenten 806 bis 820 des Gestaltungsskalierungsrandbedingungssystems 804 als ein oder mehrere Betriebssysteme, als eine oder mehrere eigenständige Anwendungen, als ein oder mehrere Module einer Anwendung, als ein oder mehrere Plug-ins, als eine oder mehrere Bibliotheksfunktionen oder Funktionen, die von anderen Anwendungen aufgerufen werden können, und/oder als Cloudrechenmodell implementiert sein. Daher können die Komponenten 806 bis 820 als eigenständige Anwendung, so beispielsweise als Desktop- oder Mobilanwendung, implementiert sein. Zusätzlich können die Komponenten 806 bis 820 als eine oder mehrere webbasierte Anwendungen, die auf einem Remote-Server gehostet sind, implementiert sein. Die Komponenten 806 bis 820 können zudem in einem Paket (Suite) von Mobilvorrichtungsanwendungen oder „Apps“ implementiert sein. Illustrationshalber können die Komponenten 806 bis 820 in einer Anwendung implementiert sein, darunter unter anderem in der Software ADOBE® INDESIGN® ADOBE ACROBAT®, ADOBE® ILLUSTRATOR®, ADOBE PHOTOSHOP®, ADOBE® CREATIVE CLOUD®. „ADOBE“, „INDESIGN“, „ACROBAT“, „ILLUSTRATOR“, „PHOTOSHOP“ und „CREATIVE CLOUD“ sind entweder eingetragene Marken oder Marken von Adobe Inc. in den Vereinigten Staaten und/oder anderen Ländern.
  • 9 zeigt ein schematisches Diagramm einer Umgebung 900, in der das Gestaltungsskalierungsrandbedingungssystem 804 entsprechend einer oder mehreren Ausführungsformen implementiert sein kann. Wie in 9 gezeigt ist, beinhaltet die Umgebung 900 verschiedene Rechenvorrichtungen, die eine Servervorrichtung / Servervorrichtungen 904 und eine oder mehrere Clientvorrichtungen 902 beinhaltet. Zusätzlich beinhaltet die Umgebung 900 ein Netzwerk 912. Das Netzwerk 912 kann ein beliebiges geeignetes Netzwerk sein, über das die Rechenvorrichtungen kommunizieren können. Exemplarische Netzwerke werden nachstehend anhand 11 detaillierter erläutert.
  • Wie gezeigt ist, beinhaltet die Umgebung 900 die Clientvorrichtung 902. Die Clientvorrichtung 902 kann verschiedene Typen von Clientvorrichtungen umfassen. Bei einigen Ausführungsformen beinhaltet die Clientvorrichtung 902 beispielsweise eine Mobilvorrichtung, so beispielsweise einen Laptop, einen Tablet, ein Mobiltelefon, ein Smartphone und dergleichen mehr. Bei anderen Ausführungsformen beinhaltet die Clientvorrichtung 902 eine nichtmobile Vorrichtung, so beispielsweise einen Desktop-Rechner oder Server, oder einen anderen Typ von Clientvorrichtung. Zusätzliche Details im Zusammenhang mit der Clientvorrichtung 902 werden nachstehend im Zusammenhang mit 11 erläutert.
  • Wie in 9 dargestellt ist, beinhaltet die Umgebung 900 die Servervorrichtung / die Servervorrichtungen 904. Die Servervorrichtung / die Servervorrichtungen 904 kann/können einen beliebigen Typ von Daten, darunter Gestaltungslayouts, empfangen, speichern, generieren und/oder übertragen. Die Servervorrichtung / die Servervorrichtungen 904 kann/können beispielsweise ein Gestaltungslayout von der Clientvorrichtung 902 empfangen, speichern und skalieren und das skalierte Gestaltungslayout an die Clientvorrichtung 902 übertragen. Bei einer oder mehreren Ausführungsformen umfasst/umfassen die Servervorrichtung / die Servervorrichtungen 904 einen Datenserver. Die Servervorrichtung / die Servervorrichtungen 904 können zudem einen Kommunikationsserver oder einen Webhostingserver umfassen. Zusätzliche Details im Zusammenhang mit der Servervorrichtung / den Servervorrichtungen 904 sind nachstehend im Zusammenhang mit 11 angegeben.
  • Obwohl dies nicht dargestellt ist, kann/können die Servervorrichtung / die Servervorrichtungen 904 bei einer oder mehreren Ausführungsformen zudem das Gestaltungsskalierungsrandbedingungssystem 804, beispielsweise innerhalb des Contentgestaltungsserversystems 906, gänzlich oder in Teilen beinhalten. Ist das Gestaltungsskalierungsrandbedingungssystem 804 beispielsweise auf der Servervorrichtung / den Servervorrichtungen 904 befindlich, so kann es eine Gestaltungsskalierungsrandbedingungsanwendung, die auf der Servervorrichtung / den Servervorrichtungen 904 läuft, oder einen Teil einer Softwareanwendung, die auf die Clientvorrichtung 902 heruntergeladen werden kann, umfassen. Das Gestaltungsskalierungsrandbedingungssystem 804 beinhaltet beispielsweise eine Webhostinganwendung, die ermöglicht, dass die Clientvorrichtung 902 mit Content von dem Contentgestaltungsserversystem 906, das auf der Servervorrichtung / den Servervorrichtungen 904 gehostet ist, interagiert. Auf diese Weise kann/können die Servervorrichtung / die Servervorrichtungen 904 das Skalieren von Gestaltungslayouts auf Grundlage einer Eingabe von der Clientvorrichtung 902 durchführen.
  • Wie in 9 gezeigt ist, beinhaltet die Clientvorrichtung 902 eine Contentgestaltungsanwendung 908 und die Gestaltungsskalierungsrandbedingungsanwendung 910. Insbesondere kann die Gestaltungsskalierungsrandbedingungsanwendung 910 das Gestaltungsskalierungsrandbedingungssystem 804 gänzlich oder in Teilen beinhalten. Zusätzlich kann die Gestaltungsskalierungsrandbedingungsanwendung 910 ermöglichen, dass die Clientvorrichtung 902 mit Content von dem Contentgestaltungsserversystem 906, das auf der Servervorrichtung / den Servervorrichtungen 904 gehostet ist, interagiert. Daher ermöglicht die Gestaltungsskalierungsrandbedingungsanwendung 910, dass die Clientvorrichtung 902 das Skalieren von Gestaltungslayouts durchführt.
  • Obwohl 9 eine bestimmte Anordnung der Servervorrichtung / der Servervorrichtungen 904, der Clientvorrichtung 902 und des Netzwerkes 912 zeigt, sind verschiedene zusätzliche Anordnungen möglich. Obwohl 9 beispielsweise zeigt, dass die eine oder die mehreren Clientvorrichtungen 902 mit der Servervorrichtung / den Servervorrichtungen 904 über das Netzwerk 912 kommuniziert/kommunizieren, kann bei einer oder mehreren Ausführungsformen eine einzige Clientvorrichtung direkt mit der Servervorrichtung / den Servervorrichtungen 904 unter Umgehung des Netzwerkes 912 kommunizieren.
  • Auf ähnliche Weise kann die Umgebung 900, obwohl die Umgebung 900 von 9 derart dargestellt ist, dass sie verschiedene Komponenten aufweist, auch zusätzliche oder alternative Komponenten aufweisen. Das Gestaltungsskalierungsrandbedingungssystem 804 kann beispielsweise auf mehreren Rechenvorrichtungen implementiert sein. Insbesondere kann das Gestaltungsskalierungsrandbedingungssystem 804 gänzlich durch die Servervorrichtung / die Servervorrichtungen 904 implementiert sein, oder es kann das Gestaltungsskalierungsrandbedingungssystem 804 gänzlich durch die Clientvorrichtung 902 implementiert sein. Alternativ kann das Gestaltungsskalierungsrandbedingungssystem 804 über mehrere Vorrichtungen oder Komponenten hinweg (beispielsweise unter Nutzung der Servervorrichtung / der Servervorrichtungen 904 und der einen oder der mehreren Clientvorrichtungen 902) implementiert sein.
  • 1 bis 9, der entsprechende Text und die Beispiele stellen eine Anzahl von verschiedenen Verfahren, Systemen, Vorrichtungen und nichttemporären computerlesbaren Medien des Gestaltungsskalierungsrandbedingungssystems 804 bereit. Zusätzlich zum Vorbesprochenen können eine oder mehrere Ausführungsformen auch anhand von Flussdiagrammen beschrieben werden, die Vorgänge zum Erreichen eines bestimmten Ergebnisses umfassen, so beispielsweise die in 9 gezeigten Flussdiagramme von Vorgängen. Zusätzlich können die hier beschriebenen Vorgänge wiederholt oder parallel zueinander oder parallel zu verschiedenen Instanzen derselben oder anderer Vorgänge durchgeführt werden. 10 zeigt beispielsweise ein Flussdiagramm einer Abfolge von Vorgängen 1000 zum Generieren eines skalierten Grafiknutzerschnittstellengestaltungslayouts entsprechend einer oder mehreren Ausführungsformen. Obwohl 10 Vorgänge entsprechend einer Ausführungsform darstellt, können alternative Ausführungsformen beliebige der in 10 gezeigten Vorgänge weglassen, hinzufügen, umordnen und/oder modifizieren. Die Vorgänge von 10 können als Teil eines Verfahrens durchgeführt werden. Alternativ kann ein nichttemporäres computerlesbares Medium Anweisungen umfassen, die bei Ausführung durch einen oder mehrere Prozessoren veranlassen, dass eine Rechenvorrichtung die Vorgänge von 10 durchführt. Bei wieder anderen Ausführungsformen kann ein System die Vorgänge von 10 durchführen.
  • Wie in 10 gezeigt ist, kann die Abfolge von Vorgängen 1000 einen Vorgang 1010 des Empfangens einer Aufforderung dahingehend, ein Grafiknutzerschnittstellengestaltungslayout zu skalieren, umfassen. Umfassen kann der Vorgang 1010 beispielsweise ein Empfangen einer Aufforderung dahingehend, ein Grafiknutzerschnittstellengestaltungslayout von einer ersten Größe auf eine zweite Größe zu skalieren, wobei das Grafiknutzerschnittstellengestaltungslayout mehrere Grafiknutzerschnittstellenelemente umfasst. Die zweite Größe kann größer oder kleiner als die erste Größe sein und dieselbe Form oder auch eine andere Form als die erste Größe aufweisen.
  • Die Abfolge von Vorgängen 1000 kann zudem einen Vorgang 1020 des Analysierens von Semantiken des Grafiknutzerschnittstellengestaltungslayouts beinhalten. Umfassen kann der Vorgang 1020 beispielsweise ein Identifizieren einer Hierarchie von Grafiknutzerschnittstellenelementen, ein Bestimmen eines Typs der Grafiknutzerschnittstellenelemente und/oder ein Identifizieren einer Relativpositionierung zwischen den Grafiknutzerschnittstellenelementen. Implizieren kann der Vorgang 1020 insbesondere ein Identifizieren von Überordnungs- und Unterordnungsbeziehungen zwischen den Grafiknutzerschnittstellenelementen des Grafiknutzerschnittstellengestaltungslayouts. Zudem implizieren kann der Vorgang 1020 ein Identifizieren von Offsets zwischen Kanten von untergeordneten Grafiknutzerschnittstellenelementen und entsprechenden Kanten von übergeordneten Grafiknutzerschnittstellenelementen. Zusätzlich kann der Vorgang 1020 ein Identifizieren von Typen der Grafiknutzerschnittstellenelemente umfassen. Implizieren kann der Vorgang 1020 beispielsweise ein Bestimmen dessen, ob Grafiknutzerschnittstellenelemente Text, Einzelzeilen, Einbettungen und dergleichen mehr sind.
  • Zusätzlich kann der Vorgang 1020 ein Identifizieren eines Satzes von Elementkanten eines Grafiknutzerschnittstellenelementes der mehreren Grafiknutzerschnittstellenelemente und ein Identifizieren eines Satzes von Gestaltungslayoutkanten des Grafiknutzerschnittstellengestaltungslayouts implizieren. Zusätzlich implizieren kann der Vorgang 1020 ein Messen einer Offsetlänge, wobei die Offsetlänge einen Abstand zwischen einer Elementkante des Satzes von Elementkanten und einer entsprechenden Gestaltungslayoutkante des Satzes von Gestaltungslayoutkanten umfasst. Des Weiteren beinhalten kann der Vorgang 1020 ein Bestimmen einer Länge des Grafiknutzerschnittstellenelementes zwischen gegenüberliegenden Elementkaten bzw. Gegenüberlageelementkanten des Satzes von Elementkanten und ein Bestimmen einer entsprechenden Länge des Grafiknutzerschnittstellengestaltungslayouts zwischen entsprechenden Gegenüberlagegestaltungslayoutkanten des Satzes von Gestaltungslayoutkanten.
  • Die Abfolge von Vorgängen 1000 kann einen Vorgang 1030 des automatischen Definierens eines Satzes von semantikbewussten Skalierungsrandbedingungen umfassen. Insbesondere beinhaltet der Vorgang 1030 ein automatisches Definieren eines Satzes von semantikbewussten Skalierungsrandbedingungen für die mehreren Grafiknutzerschnittstellenelemente auf Grundlage der analysierten Semantiken des Grafiknutzerschnittstellengestaltungslayouts. Implizieren kann der Vorgang 1030 speziell ein Anwenden eines Heuristikensystems auf die analysierten Semantiken des Grafiknutzerschnittstellengestaltungslayouts. Implizieren kann der Vorgang 1030 beispielsweise ein Bestimmen, dass eine Offsetlänge kleiner als ein Schwellenanteil des Grafiknutzerschnittstellengestaltungslayouts ist; und ein Definieren einer kantenbezogenen semantikbewussten Randbedingung durch Anheften der Elementkante an der entsprechenden Gestaltungslayoutkante auf Grundlage der Bestimmung dessen, dass die Offsetlänge kleiner als der Schwellenanteil des Gestaltungslayouts ist. Implizieren kann der Vorgang 1030 zudem ein Bestimmen, dass die Länge eines Grafiknutzerschnittstellenelementes einem Schwellenanteil der entsprechenden Länge des Grafiknutzerschnittstellengestaltungslayouts genügt, und ein Definieren einer gegenüberlagekantenbezogenen semantikbewussten Randbedingung (opposing edges semantic-aware contraint) durch Anheften einer jeden Gegenüberlageelementkante des Paares von Gegenüberlageelementkanten an einer entsprechenden Gegenüberlagegestaltungslayoutkante der Gegenüberlagegestaltungslayoutkanten. Implizieren kann der Vorgang 1030 ein Bestimmen, dass keine Gegenüberlagekante eines Paares von Gegenüberlageelementkanten an einem Satz von entsprechenden Gegenüberlagegestaltungslayoutkanten angeheftet ist, und ein Setzen einer längenbezogenen semantikbewussten Randbedingung an den Grafiknutzerschnittstellenelementen auf Grundlage einer Bestimmung dessen, dass keine Gegenüberlagekante des Paares von Gegenüberlageelementkanten an dem Satz von entsprechenden Gegenüberlagegestaltungslayoutkanten angeheftet ist. Implizieren kann der Vorgang 1030 zusätzlich ein Bestimmen, dass eine Offsetlänge für ein untergeordnetes Grafiknutzerschnittstellenelement kleiner als ein Schwellenanteil eines entsprechenden übergeordneten Grafiknutzerschnittstellenelementes ist, und ein Definieren einer kantenbezogenen semantikbewussten Randbedingung durch Anheften einer Kante des untergeordneten Grafiknutzerschnittstellenelementes an einer entsprechenden Kante des übergeordneten Grafiknutzerschnittstellenelementes auf Grundlage der Bestimmung dessen, dass die Offsetlänge kleiner als der Schwellenanteil ist. Implizieren kann der Vorgang 1030 zudem ein Detektieren einer nutzerseitigen Änderung an einem oder mehreren Grafiknutzerschnittstellenelementen des Grafiknutzerschnittstellengestaltungslayouts vor dem Skalieren des Grafiknutzerschnittstellengestaltungslayouts und ein dynamisches Aktualisieren des Satzes von semantikbewussten Skalierungsrandbedingungen auf Grundlage der nutzerseitigen Änderung an dem einen oder den mehreren Grafiknutzerschnittstellenelem enten.
  • Die Abfolge von Vorgängen 1000 beinhaltet zudem einen Vorgang 1040 des Generierens eines skalierten Grafiknutzerschnittstellengestaltungslayouts. Umfassen kann der Vorgang 1040 insbesondere ein Generieren eines skalierten Grafiknutzerschnittstellengestaltungslayouts der zweiten Größe durch Skalieren der mehreren Grafiknutzerschnittstellenelemente entsprechend dem automatisch definierten Satz von semantikbewussten Skalierungsrandbedingungen.
  • Beinhalten kann die Abfolge von Vorgängen 1000 zudem den Vorgang des zur Anzeige auf einer Gestaltervorrichtung erfolgenden Generierens einer Gestaltungsskalierungsschnittstelle, die das Grafiknutzerschnittstellengestaltungslayout, die mehreren Grafiknutzerschnittstellenelemente, Anhefteinblendungen zur Darstellung des Satzes von semantikbewussten Skalierungsrandbedingungen, ein Automatikrandbedingungselement und ein manuelles Randbedingungselement umfasst. Beinhalten kann dieser Vorgang zudem ein über die Gestaltungsskalierungsschnittstelle erfolgendes Präsentieren eines Satzes von automatischen Anhefteinblendungen, die den Satz von semantikbewussten Skalierungsrandbedingungen darstellen. Beinhalten kann dieser Vorgang zusätzlich ein Detektieren einer nutzerseitigen Interaktion mit dem manuellen Randbedingungselement und ein über das Grafiknutzerschnittstellenelement erfolgendes Präsentieren eines Satzes von manuellen Randbedingungen auf Grundlage der nutzerseitigen Interaktion mit dem manuellen Randbedingungselement. Beinhalten kann dieser Vorgang des Weiteren ein Detektieren einer gestalterseitigen Auswahl von wenigstens einem von dem Satz von manuellen Randbedingungen; ein Aktualisieren der Gestaltungsskalierungsschnittstelle zum Präsentieren eines Satzes von manuellen Anhefteinblendungen, die den wenigstens einen von dem Satz von manuellen Randbedingungen darstellen; und ein auf Grundlage der detektierten gestalterseitigen Interaktion erfolgendes Generieren eines manuell skalierten Grafiknutzerschnittstellengestaltungslayouts der zweiten Größe durch Skalieren der mehreren Grafiknutzerschnittstellenelemente entsprechend dem wenigstens einen von dem Satz von manuellen Randbedingungen.
  • Implizieren kann die Abfolge von Vorgängen zudem ein Präsentieren einer automatischen Anhefteinblendung zur Darstellung der kantenbezogenen semantikbewussten Randbedingung während des Skalierens und ein Entfernen der automatischen Anhefteinblendung zur Darstellung der kantenbezogenen semantikbewussten Randbedingung nach dem Generieren des skalierten Grafiknutzerschnittstellengestaltungslayouts.
  • Zusätzlich zu den vorbeschriebenen Vorgängen (oder auch alternativ hierzu) beinhalten die Vorgänge 1000 bei einigen Ausführungsformen ein Durchführen eines Schrittes zum Analysieren von Semantiken des Grafiknutzerschnittstellengestaltungslayouts und ein Durchführen eines Schrittes zum automatischen Definieren eines Satzes von semantikbewussten Skalierungsrandbedingungen für die mehreren Grafiknutzerschnittstellenelemente auf Grundlage der analysierten Semantiken des Grafiknutzerschnittstellengestaltungslayouts. Die anhand 2 und 3A bis 3F beschriebenen Vorgänge können beispielsweise die entsprechenden Vorgänge zum Durchführen eines Schrittes zum Analysieren von Semantiken des Grafiknutzerschnittstellengestaltungslayouts umfassen. Zusätzlich umfassen 4A und 4B und die zugehörige Beschreibung die entsprechenden Vorgänge zum Durchführen eines Schrittes zum automatischen Definieren eines Satzes von semantikbewussten Skalierungsrandbedingungen für die mehreren Grafiknutzerschnittstellenelemente auf Grundlage der analysierten Semantiken des Grafiknutzerschnittstellengestaltungslayouts.
  • Ausführungsformen der vorliegenden Offenbarung können einen Spezialzweck- oder Allzweckcomputer, umfassen, der Computerhardware, so beispielsweise einen oder mehrere Prozessoren und einen Systemspeicher, beinhaltet, wie nachstehend noch detaillierter erläutert wird. Ausführungsformen innerhalb des Umfanges der vorliegenden Offenbarung beinhalten zudem physische und andere computerlesbare Medien zum Tragen oder Speichern von computerausführbaren Anweisungen und/oder Datenstrukturen. Insbesondere können einer oder mehrere der hier beschriebenen Prozesse wenigstens teilweise als Anweisungen implementiert sein, die auf einem nichttemporären computerlesbaren Medium verkörpert und durch eine oder mehrere Rechenvorrichtungen (beispielsweise eine beliebige der hier beschriebenen Mediencontentzugriffsvorrichtungen) ausführbar sind. Im Allgemeinen empfängt ein Prozessor (beispielsweise ein Mikroprozessor) Anweisungen von einem nichttemporären computerlesbaren Medium (beispielsweise einer Ablage und dergleichen) und führt diese Anweisungen aus, wodurch ein oder mehrere Prozesse, darunter einer oder mehrere der hier beschriebenen Prozesse, durchgeführt werden.
  • Computerlesbare Medien können beliebige verfügbare Medien sein, auf die von einem Allzweck- oder Spezialzweckcomputersystem zugegriffen werden kann. Computerlesbare Medien, die computerausführbare Anweisungen speichern, sind nichttemporäre computerlesbare Speichermedien (Vorrichtungen). Computerlesbare Medien, die computerausführbare Anweisungen speichern, sind Übertragungsmedien. Beispiels- und nicht beschränkungshalber können Ausführungsformen der Offenbarung wenigstens zwei eindeutig verschiedene Arten von computerlesbaren Medien beinhalten, nämlich nichttemporäre computerlesbare Speichermedien (Vorrichtungen) und Übertragungsmedien.
  • Nichttemporäre computerlesbare Speichermedien (Vorrichtungen) beinhalten RAM, ROM, EEPROM, CD-ROM, SSDs (Solid State Drives) (beispielsweise auf Grundlage eines RAM), einen Flash-Speicher, einen PCM (Phase Change Memory), andere Arten von Ablagen, andere optische Plattenspeicher, magnetische Plattenspeicher oder andere magnetische Speichervorrichtungen oder ein beliebiges anderes Medium, das zum Speichern von gewünschten Programmcodemitteln in Form von computerausführbaren Anweisungen oder Datenstrukturen benutzt werden kann und auf das ein Allzweck- oder Spezialzweckcomputer zugreifen kann.
  • Ein „Netzwerk“ ist als ein oder mehrere Datenlinks definiert, die den Transport von elektronischen Daten zwischen Computersystemen und/oder Modulen und/oder anderen elektronischen Vorrichtungen ermöglichen. Wird Information über ein Netzwerk oder eine andere Kommunikationsverbindung (entweder verdrahtet, drahtlos oder durch eine Kombination aus verdrahtet/drahtlos) an einen Computer übertragen oder für diesen bereitgestellt, so betrachtet der Computer die Verbindung eigentlich als Übertragungsmedium. Beinhalten können Übertragungsmedien ein Netzwerk und/oder Datenlinks, das/die zum Tragen von gewünschten Programmcodemitteln in Form von computerausführbaren Anweisungen oder Datenstrukturen genutzt werden kann/können und auf das/die ein Allzweck- oder Spezialzweckcomputer zugreifen kann. Kombinationen des Vorbeschriebenen sollen im Umfang der computerlesbaren Medien beinhaltet sein.
  • Des Weiteren können beim Verwirklichen von verschiedenen Computersystemkomponenten Programmcodemittel in Form von computerausführbaren Anweisungen oder Datenstrukturen automatisch von Übertragungsmedien an nichttemporäre computerlesbare Speichermedien (Vorrichtungen) (oder umgekehrt) übermittelt werden. Computerausführbare Anweisungen oder Datenstrukturen, die über ein Netzwerk oder einen Datenlink empfangen werden, können beispielsweise in einem RAM innerhalb eines Netzwerkschnittstellenmoduls (beispielsweise eines „NIC“) gepuffert und sodann gegebenenfalls an einen Computersystem-RAM und/oder an weniger flüchtige Computerspeichermedien (Vorrichtungen) auf einem Computersystem übermittelt werden. Es sollte daher einsichtig sein, dass nichttemporäre computerlesbare Speichermedien (Vorrichtungen) in Computersystemkomponenten beinhaltet sein können, die ebenfalls (oder sogar primär) Übertragungsmedien nutzen.
  • Computerausführbare Anweisungen umfassen beispielsweise Anweisungen und Daten, die bei Ausführung auf einem Prozessor veranlassen, dass ein Allzweckcomputer, ein Spezialzweckcomputer oder eine Spezialzweckverarbeitungsvorrichtung eine bestimmte Funktion oder Gruppe von Funktionen wahrnehmen. Bei einigen Ausführungsformen werden computerausführbare Anweisungen auf einem Allzweckcomputer ausgeführt, um den Allzweckcomputer in einen Spezialzweckcomputer, der Elemente der Offenbarung implementiert, umzuwandeln. Die computerausführbaren Anweisungen können beispielsweise Binärdaten (binaries), Anweisungen in einem Zwischenformat, so beispielsweise in Assembler- bzw. Maschinensprache, oder sogar Quellcode sein. Obwohl der Erfindungsgegenstand in einer Sprache beschrieben worden ist, die für strukturelle Merkmale und/oder methodologische Vorgänge spezifisch ist, sollte einsichtig sein, dass der in den beigefügten Ansprüchen definierte Erfindungsgegenstand nicht unbedingt auf die vorbeschriebenen Merkmale oder Vorgänge beschränkt ist. Vielmehr sind die beschriebenen Merkmale und Vorgänge als exemplarische Formen der Implementierung der Ansprüche offenbart.
  • Einem Fachmann auf dem einschlägigen Gebiet erschließt sich, dass die Offenbarung in Netzwerkrechenumgebungen mit vielen Typen von Computersystemkonfigurationen verwirklicht sein kann, darunter PCs, Desktopcomputer, Laptop-Computer, Mitteilungsprozessoren, portable Vorrichtungen, Multiprozessorsysteme, mikroprozessorbasierte oder programmierbare Geräte der Unterhaltungselektronik, Netzwerk-PCs, Minicomputer, Mainframecomputer, Mobiltelefone, PDAs, Tablets, Pager, Router, Schalter und dergleichen. Verwirklicht sein kann die Offenbarung auch in verteilten Systemumgebungen, in denen Lokal- und Remote-Computersysteme, die (entweder durch verdrahtete Datenlinks, durch drahtlose Datenlinks oder durch eine Kombination aus verdrahteten und drahtlosen Datenlinks) durch ein Netzwerk verknüpft sind, beide gleichermaßen Aufgaben ausführen. In einer verteilten Systemumgebung können Programmmodule sowohl in Lokal- wie auch Remote-Ablagespeichervorrichtungen befindlich sein.
  • Ausführungsformen der vorliegenden Offenbarung können zudem in Cloudrechenumgebungen implementiert sein. In der vorliegenden Beschreibung ist der Begriff „Cloud Computing bzw. Cloudrechnen“ als Modell definiert, das einen bei Bedarf möglichen Netzwerkzugriff auf einen gemeinsam genutzten Vorrat (shared pool) von konfigurierbaren Rechenressourcen ermöglicht. Cloud Computing kann beispielsweise auf einem Marktplatz eingesetzt werden, um einen allgegenwärtigen und bequemen, bei Bedarf erfolgenden Zugriff auf den gemeinsam genutzten Vorrat von konfigurierbaren Rechenressourcen anzubieten. Der gemeinsam genutzte Vorrat von konfigurierbaren Rechenressourcen kann über eine Virtualisierung schnell bereitgestellt und mit geringem Verwaltungsaufwand oder durch geringen Eingriff des Dienstanbieters freigegeben und sodann entsprechend skaliert werden.
  • Ein Cloudrechenmodell kann aus verschiedenen Eigenschaften zusammengesetzt sein, so beispielsweise on-demand self-service, broad network access, resource pooling, rapid elasticity, measured service und dergleichen mehr. Ein Cloudrechenmodell kann zudem verschiedene Servicemodelle anbieten, so beispielsweise unter anderem „Software as a Service“ (SaaS), „Platform as a Service“ (PaaS ) und „Infrastructure as a Service“ (laaS). Ein Cloudrechenmodell kann zudem unter Nutzung von verschiedenen Einsatzmodellen eingesetzt werden, so beispielsweise private cloud, community cloud, public cloud, hybrid cloud und dergleichen mehr. Insbesondere bezeichnet der Begriff „Cloudrechenumgebung“ in der vorliegenden Beschreibung und in den Ansprüchen eine Umgebung, in der Cloud Computing eingesetzt wird.
  • 11 zeigt in Form eines Blockdiagramms eine exemplarische Rechenvorrichtung 1100 (beispielsweise die Rechenvorrichtung 800, die Clientvorrichtung 902 und/oder die Servervorrichtung / die Servervorrichtungen 904), die dafür konfiguriert sein kann, einen oder mehrere der vorbeschriebenen Prozesse durchzuführen. Es sollte einsichtig sein, dass das Gestaltungsskalierungsrandbedingungssystem 804 Implementierungen der Rechenvorrichtung 1100 umfassen kann. Wie in 11 gezeigt ist, kann die Rechenvorrichtung einen Prozessor 1102, eine Ablage 1104, eine Speichervorrichtung 1106, eine I/O-Schnittstelle 1108 und eine Kommunikationsschnittstelle 1110 umfassen. Des Weiteren kann die Rechenvorrichtung 1100 eine Eingabevorrichtung, so beispielsweise einen berührungsempfindlichen Bildschirm (touchscreen), eine Maus, eine Tastatur und dergleichen mehr, beinhalten. Bei bestimmten Ausführungsformen kann die Rechenvorrichtung 1100 weniger oder mehr Komponenten als die in 11 gezeigten beinhalten. Die Komponenten der in 11 gezeigten Rechenvorrichtung 1100 werden nachstehend detaillierter beschrieben.
  • Bei bestimmten Ausführungsformen beinhaltet/beinhalten der Prozessor / die Prozessoren 1102 Hardware zum Ausführen von Anweisungen, so beispielsweise von solchen, die ein Computerprogramm bilden. Beispiels- und nicht beschränkungshalber kann/können der Prozessor / die Prozessoren 1102 zum Ausführen von Anweisungen die Anweisungen aus einem internen Register, einem internen Cache, der Ablage 1104 oder der Speichervorrichtung 1106 abrufen (oder holen) und diese decodieren und ausführen.
  • Die Rechenvorrichtung 1100 beinhaltet die Ablage 1104, die mit dem Prozessor / den Prozessoren 1102 gekoppelt ist. Die Ablage 1104 kann zum Speichern von Daten, Metadaten und Programmen zur Ausführung durch den Prozessor / die Prozessoren benutzt werden. Die Ablage 1104 kann eines oder mehrere von flüchtigen und nichtflüchtigen Ablagen beinhalten, so beispielsweise einen Speicher mit wahlfreiem Zugriff („RAM“), einen Nur-Lese-Speicher („ROM“), eine Solid-State-Disk (SSD), einen Flash, einen Phasenänderungsspeicher („PCM“) oder andere Typen von Datenspeicher. Die Ablage 1104 kann eine interne oder eine verteilte Ablage sein.
  • Die Rechenvorrichtung 1100 beinhaltet eine Speichervorrichtung 1106, die einen Speicher zum Speichern von Daten oder Anweisungen beinhaltet. Beispiels- und nicht beschränkungshalber kann die Speichervorrichtung 1106 das vorbeschriebene nichttemporäre Speichermedium beinhalten. Die Speichervorrichtung 1106 kann ein Festplattenlaufwerk (HDD), einen Flash-Speicher, ein USB-Laufwerk (Universal Serial Bus USB) oder eine Kombination hieraus oder auch andere Speichervorrichtungen beinhalten.
  • Die Rechenvorrichtung 1100 beinhaltet zudem eine oder mehrere I/O-Vorrichtungen/Schnittstellen 1108 (Eingabe/Ausgabe I/O), die dafür bereitgestellt sind, einem Nutzer zu ermöglichen, eine Eingabe (beispielsweise Striche (strokes) des Nutzers) für die Rechenvorrichtung 1100 bereitzustellen, eine Ausgabe hiervon zu empfangen und auf eine andere Weise Daten an diese oder von dieser zu übertragen. Die I/O-Vorrichtungen/Schnittstellen 1108 können eine Maus, ein Tastenfeld oder eine Tastatur, einen berührungsempfindlichen Bildschirm (touch screen), eine Kamera, einen optischen Scanner, eine Netzwerkschnittstelle, ein Modem, andere bekannte I/O-Vorrichtungen oder eine Kombination derartiger I/O-Vorrichtungen/Schnittstellen 1108 beinhalten. Der berührungsempfindliche Bildschirm kann mit einer Schreibvorrichtung oder einem Finger aktiviert werden.
  • Die I/O-Vorrichtungen/Schnittstellen 1108 können eine oder mehrere Vorrichtungen beinhalten, die einem Nutzer eine Ausgabe präsentieren, darunter unter anderem eine Graphics Engine, eine Anzeige (beispielsweise einen Anzeigebildschirm), einen oder mehrere Ausgabetreiber (beispielsweise Anzeigetreiber), einen oder mehrere Lautsprecher und einen oder mehrere Audiotreiber. Bei bestimmten Ausführungsformen sind die Vorrichtungen/Schnittstellen 1108 dafür konfiguriert, grafische Daten zur Anzeige für eine Präsentation gegenüber einem Nutzer bereitzustellen. Die grafischen Daten können eine oder mehrere grafische Nutzerschnittstellen und/oder beliebigen anderen Grafikcontent, so er einer bestimmten Implementierung dient, darstellen.
  • Die Rechenvorrichtung 1100 kann des Weiteren eine Kommunikationsschnittstelle 1110 beinhalten. Die Kommunikationsschnittstelle 1110 kann Hardware, Software oder beides beinhalten. Die Kommunikationsschnittstelle 1110 stellt eine oder mehrere Schnittstellen für die Kommunikation (so beispielsweise für die paketbasierte Kommunikation) zwischen der Rechenvorrichtung und einer oder mehreren anderen Rechenvorrichtungen 1100 oder einem oder mehreren Netzwerken bereit. Beispiels- und nicht beschränkungshalber kann die Kommunikationsschnittstelle 1110 einen Netzwerkschnittstellencontroller (NIC) oder einen Netzwerkadapter zur Kommunikation mit einem Ethernet oder einem anderen drahtbasierten Netzwerk oder einen Drahtlos-NIC (WNIC) oder einen Drahtlosadapter zur Kommunikation mit einem Drahtlosnetzwerk, so beispielsweise einem Wl-Fl, beinhalten. Die Rechenvorrichtung 1100 kann des Weiteren einen Bus 1112 beinhalten. Der Bus 1112 kann Hardware, Software oder beides zur wechselseitigen Kopplung von Komponenten der Rechenvorrichtung 1100 beinhalten.
  • In der vorstehenden Beschreibung ist die Erfindung anhand spezifischer exemplarischer Ausführungsformen beschrieben worden. Verschiedene Ausführungsformen und Aspekte der Erfindung/Erfindungen sind anhand der hier erläuterten Details beschrieben worden, wobei die begleitende Zeichnung die verschiedenen Ausführungsformen darstellt. Die vorstehende Beschreibung und die Zeichnung sind für die Erfindung illustrativ und sollen nicht als erfindungsbeschränkend gedeutet werden. Es sind zahlreiche spezifische Details beschrieben worden, um ein eingehendes Verständnis der verschiedenen Ausführungsformen der vorliegenden Erfindung bereitzustellen.
  • Die vorliegende Erfindung kann auch in anderen spezifischen Formen verkörpert sein, ohne von deren Wesen oder deren wesentlichen Eigenschaften abzugehen. Die beschriebenen Ausführungsformen sollen in jeder Hinsicht als illustrativ und nicht als restriktiv betrachtet werden. Die hier beschriebenen Verfahren können beispielsweise mit weniger oder mehr Schritten/Vorgängen durchgeführt werden, oder es können die Schritte/Vorgänge in anderen Reihenfolgen durchgeführt werden. Zusätzlich können die hier beschriebenen Schritte/Vorgänge wiederholt oder parallel zueinander oder parallel zu anderen Instanzen derselben oder anderer Schritte/Vorgänge durchgeführt werden. Der Umfang der Erfindung ist daher durch die beigefügten Ansprüche und nicht durch die vorstehende Beschreibung angegeben. Alle Änderungen, die der Bedeutung und dem Äquivalenzbereich der Ansprüche entsprechen, sollen im Umfang enthalten sein.
  • ZITATE ENTHALTEN IN DER BESCHREIBUNG
  • Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
  • Zitierte Patentliteratur
    • US 62731965 [0001]

Claims (20)

  1. Nichttemporäres computerlesbares Medium, auf dem Anweisungen gespeichert sind, die bei Ausführung durch wenigstens einen Prozessor eine Rechenvorrichtung veranlassen zum: Empfangen einer Aufforderung dahingehend, ein Grafiknutzerschnittstellengestaltungslayout von einer ersten Größe auf eine zweite Größe zu ändern bzw. zu skalieren, wobei das Grafiknutzerschnittstellengestaltungslayout mehrere Grafiknutzerschnittstellenelemente umfasst; Analysieren von Semantiken des Grafiknutzerschnittstellengestaltungslayouts; automatischen Definieren eines Satzes von semantikbewussten Skalierungsrandbedingungen für die mehreren Grafiknutzerschnittstellenelemente auf Grundlage der analysierten Semantiken des Grafiknutzerschnittstellengestaltungslayouts; und Generieren eines skalierten Grafiknutzerschnittstellengestaltungslayouts der zweiten Größe durch Skalieren der mehreren Grafiknutzerschnittstellenelemente entsprechend dem automatisch definierten Satz von semantikbewussten Skalierungsrandbedingungen.
  2. Nichttemporäres computerlesbares Medium nach Anspruch 1, das des Weiteren Anweisungen umfasst, die bei Ausführung durch den wenigstens einen Prozessor die Rechenvorrichtung veranlassen zum: für eine Anzeige auf einer Gestaltervorrichtung erfolgenden Generieren einer Skalierungsrandbedingungsgrafiknutzerschnittstelle, die das Grafiknutzerschnittstellengestaltungslayout, die mehreren Grafiknutzerschnittstellenelemente, ein automatisches Randbedingungselement und ein manuelles Randbedingungselement umfasst.
  3. Nichttemporäres computerlesbares Medium nach Anspruch 2, das des Weiteren Anweisungen umfasst, die bei Ausführung durch den wenigstens einen Prozessor die Rechenvorrichtung veranlassen zum: über die Skalierungsrandbedingungsgrafiknutzerschnittstelle erfolgenden Präsentieren eines Satzes von automatischen Anheftoverlays bzw. Anhefteinblendungen, die den Satz von semantikbewussten Skalierungsrandbedingungen darstellen.
  4. Nichttemporäres computerlesbares Medium nach Anspruch 3, das des Weiteren Anweisungen umfasst, die bei Ausführung durch den wenigstens einen Prozessor die Rechenvorrichtung veranlassen zum: Detektieren einer nutzerseitigen Interaktion mit dem manuellen Randbedingungselement; und über das Grafiknutzerschnittstellenelement erfolgenden Präsentieren eines Satzes von manuellen Randbedingungen auf Grundlage der nutzerseitigen Interaktion mit dem manuellen Randbedingungselement.
  5. Nichttemporäres computerlesbares Medium nach Anspruch 4, das des Weiteren Anweisungen umfasst, die bei Ausführung durch den wenigstens einen Prozessor die Rechenvorrichtung veranlassen zum: Detektieren einer gestalterseitigen Auswahl wenigstens einer manuellen Randbedingung des Satzes von manuellen Randbedingungen; Aktualisieren der Skalierungsrandbedingungsgrafiknutzerschnittstelle zum Präsentieren einer oder mehrerer manueller Anheftoverlays bzw. Anhelfeinblendungen, die die wenigstens eine manuelle Randbedingung darstellen; und auf Grundlage der detektierten gestalterseitigen Auswahl erfolgenden Generieren des skalierten Grafiknutzerschnittstellengestaltungslayouts der zweiten Größe durch Skalieren von wenigstens einem der mehreren Grafiknutzerschnittstellenelemente entsprechend der wenigstens einen manuellen Randbedingung.
  6. Nichttemporäres computerlesbares Medium nach einem der vorhergehenden Ansprüche, das des Weiteren Anweisungen umfasst, die bei Ausführung durch den wenigstens einen Prozessor die Rechenvorrichtung veranlassen zum: Analysieren der Semantiken des Grafiknutzerschnittstellengestaltungslayouts durch: Identifizieren eines Satzes von Elementkanten eines Grafiknutzerschnittstellenelementes der mehreren Grafiknutzerschnittstellenelemente; Identifizieren eines Satzes von Gestaltungslayoutkanten des Grafiknutzerschnittstellengestaltungslayouts.
  7. Nichttemporäres computerlesbares Medium nach Anspruch 6, das des Weiteren Anweisungen umfasst, die bei Ausführung durch den wenigstens einen Prozessor die Rechenvorrichtung veranlassen zum: Messen einer Offsetlänge, wobei die Offsetlänge einen Abstand zwischen einer Elementkante des Satzes von Elementkanten und einer entsprechenden Gestaltungslayoutkante des Satzes von Gestaltungslayoutkanten umfasst; Bestimmen, dass die Offsetlänge kleiner als ein Schwellenanteil des Grafiknutzerschnittstellengestaltungslayouts ist; und Definieren einer kantenbezogenen semantikbewussten Randbedingung durch Anheften der Elementkante an der entsprechenden Gestaltungslayoutkante auf Grundlage der Bestimmung dessen, dass die Offsetlänge kleiner als der Schwellenanteil des Grafiknutzerschnittstellengestaltungslayouts ist.
  8. Nichttemporäres computerlesbares Medium nach Anspruch 6 oder 7, das des Weiteren Anweisungen umfasst, die bei Ausführung durch den wenigstens einen Prozessor die Rechenvorrichtung veranlassen zum: Bestimmen einer Länge des Grafiknutzerschnittstellenelementes zwischen einem Paar von gegenüberliegenden Elementkanten bzw. Gegenüberlageelementkanten des Satzes von Elementkanten; Bestimmen einer entsprechenden Länge des Grafiknutzerschnittstellengestaltungslayouts zwischen entsprechenden Gegenüberlagegestaltungslayoutkanten des Satzes von Gestaltungslayoutkanten; Bestimmen, dass die Länge des Grafiknutzerschnittstellenelementes einem Schwellenanteil der entsprechenden Länge des Grafiknutzerschnittstellengestaltungslayouts genügt; Definieren einer gegenüberlagekantenbezogenen semantikbewussten Randbedingung durch Anheften einer jeden Gegenüberlageelementkante des Paares von Gegenüberlageelementkanten an einer entsprechenden Gegenüberlagegestaltungslayoutkante der Gegenüberlagegestaltungslayoutkanten auf Grundlage einer Bestimmung dessen, dass die Länge des Grafiknutzerschnittstellenelementes dem Schwellenanteil genügt.
  9. Nichttemporäres computerlesbares Medium nach einem der Ansprüche 6 bis 8, das des Weiteren Anweisungen umfasst, die bei Ausführung durch den wenigstens einen Prozessor die Rechenvorrichtung veranlassen zum: Bestimmen, dass keine Gegenüberlagekante eines Paares von gegenüberliegenden Elementkanten bzw. Gegenüberlageelementkanten an einem Satz von entsprechenden Gegenüberlagegestaltungslayoutkanten angeheftet ist; und Setzen einer längenbezogenen semantikbewussten Randbedingung bei den Grafiknutzerschnittstellenelementen auf Grundlage der Bestimmung dessen, dass keine Gegenüberlagekante des Paares von Gegenüberlageelementkanten an dem Satz von entsprechenden Gegenüberlagegestaltungslayoutkanten angeheftet ist.
  10. Nichttemporäres computerlesbares Medium nach einem der vorhergehenden Ansprüche, das des Weiteren Anweisungen umfasst, die bei Ausführung durch den wenigstens einen Prozessor die Rechenvorrichtung veranlassen zum: Analysieren der Semantiken des Grafiknutzerschnittstellengestaltungslayouts durch Bestimmen von Typen von Grafiknutzerschnittstellenelementen der mehreren Grafiknutzerschnittstellenelemente.
  11. System, umfassend: wenigstens einen Prozessor; ein Heuristikensystem, das Regeln zum Generieren von Randbedingungen umfasst; und ein computerlesbares Speichermedium, das Anweisungen speichert, die bei Ausführung durch den wenigstens einen Prozessor das System veranlassen zum: Empfangen einer Aufforderung dahingehend, ein Grafiknutzerschnittstellengestaltungslayout von einer ersten Größe auf eine zweite Größe zu skalieren, wobei das Grafiknutzerschnittstellengestaltungslayout mehrere Grafiknutzerschnittstellenelemente umfasst; Analysieren von Semantiken des Grafiknutzerschnittstellengestaltungslayouts durch Identifizieren einer Hierarchie von Grafiknutzerschnittstellenelementen, Bestimmen eines Typs der Grafiknutzerschnittstellenelemente und Identifizieren einer Relativpositionierung zwischen den Grafiknutzerschnittstellenelementen; automatischen Definieren eines Satzes von semantikbewussten Skalierungsrandbedingungen für die mehreren Grafiknutzerschnittstellenelemente durch Anwenden des Heuristikensystems auf die analysierten Semantiken des Grafiknutzerschnittstellengestaltungslayouts; und Generieren eines skalierten Grafiknutzerschnittstellengestaltungslayouts der zweiten Größe durch Skalieren der mehreren Grafiknutzerschnittstellenelemente entsprechend dem automatisch definierten Satz von semantikbewussten Skalieru ngsrand bedingungen.
  12. System nach Anspruch 11, wobei die Anweisungen bei Ausführung durch den wenigstens einen Prozessor das System veranlassen zum: Identifizieren der Hierarchie von Grafiknutzerschnittstellenelementen durch Identifizieren von Überordnungs- und Unterordnungsbeziehungen zwischen den Grafiknutzerschnittstellenelementen des Grafiknutzerschnittstellengestaltungslayouts.
  13. System nach Anspruch 11 oder 12, wobei die Anweisungen bei Ausführung durch den wenigstens einen Prozessor das System veranlassen zum: Identifizieren einer Relativpositionierung zwischen den Grafiknutzerschnittstellenelementen durch Identifizieren von Offsets zwischen Kanten von untergeordneten Grafiknutzerschnittstellenelementen und entsprechenden Kanten von übergeordneten Grafiknutzerschnittstellenelementen.
  14. System nach Anspruch 13, wobei die Anweisungen bei Ausführung durch den wenigstens einen Prozessor das System veranlassen zum: Bestimmen, dass eine Offsetlänge für ein untergeordnetes Grafiknutzerschnittstellenelement kleiner als ein Schwellenanteil eines entsprechenden übergeordneten Grafiknutzerschnittstellenelementes ist; und Definieren einer kantenbezogenen semantikbewussten Randbedingung durch Anheften einer Kante des untergeordneten Grafiknutzerschnittstellenelementes an einer entsprechenden Kante des übergeordneten Grafiknutzerschnittstellenelementes auf Grundlage der Bestimmung dessen, dass die Offsetlänge kleiner als der Schwellenanteil ist.
  15. System nach Anspruch 14, das des Weiteren Anweisungen umfasst, die bei Ausführung durch den wenigstens einen Prozessor das System veranlassen zum: Präsentieren einer automatischen Anhefteinblendung, die die kantenbezogene semantikbewusste Randbedingung darstellt.
  16. System nach Anspruch 15, das des Weiteren Anweisungen umfasst, die bei Ausführung durch den wenigstens einen Prozessor das System veranlassen zum: Entfernen der automatischen Anhefteinblendung, die die kantenbezogene semantikbewusste Randbedingung darstellt, nach dem Generieren des skalierten G rafiknutzerschn ittstellengestaltungslayouts.
  17. System nach einem der Ansprüche 11 bis 16, das des Weiteren Anweisungen umfasst, die bei Ausführung durch den wenigstens einen Prozessor das System veranlassen zum: Detektieren einer nutzerseitigen Änderung an einem oder mehreren Grafiknutzerschnittstellenelementen des Grafiknutzerschnittstellengestaltungslayouts vor dem Skalieren des Grafiknutzerschnittstellengestaltungslayouts; und dynamischen Aktualisieren des Satzes von semantikbewussten Skalierungsrandbedingungen auf Grundlage der nutzerseitigen Änderung an dem einen oder den mehreren Grafiknutzerschnittstellenelementen.
  18. Verfahren zum Auswählen einer semantikbewussten Randbedingung in einer Digitalmedienumgebung zum Analysieren und Skalieren von Grafikanzeigen, umfassend: Empfangen einer Aufforderung dahingehend, ein Grafiknutzerschnittstellengestaltungslayout von einer ersten Größe auf eine zweite Größe zu skalieren, wobei das Grafiknutzerschnittstellengestaltungslayout mehrere Grafiknutzerschnittstellenelemente umfasst; Durchführen eines Schrittes zum Analysieren von Semantiken des Grafiknutzerschnittstellengestaltungslayouts; Durchführen eines Schrittes zum automatischen Definieren eines Satzes von semantikbewussten Skalierungsrandbedingungen für die mehreren Grafiknutzerschnittstellenelemente auf Grundlage der analysierten Semantiken des Grafiknutzerschnittstellengestaltungslayouts; und Generieren eines skalierten Grafiknutzerschnittstellengestaltungslayouts der zweiten Größe durch Skalieren der mehreren Grafiknutzerschnittstellenelemente entsprechend dem automatisch definierten Satz von semantikbewussten Skalierungsrandbedingungen.
  19. Verfahren nach Anspruch 18, das des Weiteren umfasst: für eine Anzeige auf einer Gestaltervorrichtung erfolgendes Generieren einer Gestaltungsskalierungsschnittstelle, die das Grafiknutzerschnittstellengestaltungslayout, die mehreren Grafiknutzerschnittstellenelemente, ein automatisches Randbedingungselement und ein manuelles Randbedingungselement umfasst.
  20. Verfahren nach Anspruch 18 oder 19, das des Weiteren umfasst: Ändern einer oder mehrerer automatischer Randbedingungen des automatisch definierten Satzes von semantikbewussten Skalierungsrandbedingungen auf Grundlage einer nutzerseitigen Auswahl des manuellen Randbedingungselementes.
DE102019004670.6A 2018-09-16 2019-07-03 Automatisches Generieren und Anwenden von Grafiknutzerschnittstellenskalierungsrandbedingungen auf Grundlage von Gestaltungssemantiken Pending DE102019004670A1 (de)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201862731965P 2018-09-16 2018-09-16
US62/731,965 2018-09-16
US16/279,449 US11320975B2 (en) 2018-09-16 2019-02-19 Automatically generating and applying graphical user interface resize-constraints based on design semantics
US16/279,449 2019-02-19

Publications (1)

Publication Number Publication Date
DE102019004670A1 true DE102019004670A1 (de) 2020-03-19

Family

ID=67700322

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102019004670.6A Pending DE102019004670A1 (de) 2018-09-16 2019-07-03 Automatisches Generieren und Anwenden von Grafiknutzerschnittstellenskalierungsrandbedingungen auf Grundlage von Gestaltungssemantiken

Country Status (5)

Country Link
US (1) US11320975B2 (de)
CN (1) CN110908637A (de)
AU (1) AU2019205973B2 (de)
DE (1) DE102019004670A1 (de)
GB (1) GB2577159B (de)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
USD870745S1 (en) * 2018-05-07 2019-12-24 Google Llc Display screen or portion thereof with graphical user interface
US10846897B2 (en) 2018-11-16 2020-11-24 Cimpress Schweiz Gmbh Technology for managing graphic design using metadata relationships
US11380031B2 (en) * 2018-11-16 2022-07-05 Cimpress Schweiz Gmbh Technology for enabling elastic graphic design
US11138647B2 (en) 2018-11-16 2021-10-05 Cimpress Schweiz Gmbh Method, device, and computer-readable storage medium for managing variations of a graphic design within a framework
US11645047B2 (en) * 2019-09-13 2023-05-09 Axure Software Solutions, Inc. Focused specification generation for interactive designs
CN111651161B (zh) * 2020-07-16 2023-04-18 深圳市易鸿达软件开发有限公司 图形化界面构建方法、装置、计算机设备及存储介质
US11468224B2 (en) * 2020-08-17 2022-10-11 IT Cadre, LLC Method for resizing elements of a document
US11762531B2 (en) 2020-10-28 2023-09-19 Axure Software Solutions, Inc. Stateful widget container management for interactive designs
CN112464341B (zh) * 2020-11-25 2024-02-02 北京构力科技有限公司 基于可定义布局模板来布置构件子图的方法和电子设备
CN114764329A (zh) * 2021-01-14 2022-07-19 华为技术有限公司 一种ui界面自适应约束求解方法及相关装置
CN112947922A (zh) * 2021-01-29 2021-06-11 北京磨刀刻石科技有限公司 一种自动调节画板元素的方法、装置、设备及存储介质

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5579462A (en) * 1994-11-03 1996-11-26 Bio-Rad Laboratories User interface for spectrometer
US20080218532A1 (en) * 2007-03-08 2008-09-11 Microsoft Corporation Canvas-like authoring experience atop a layout engine
AU2007201627B2 (en) * 2007-04-13 2010-11-25 Canon Kabushiki Kaisha Gluing layout containers
AU2007201652B2 (en) * 2007-04-13 2010-09-02 Canon Kabushiki Kaisha Laying out graphical elements on a page
US8392841B1 (en) * 2009-12-08 2013-03-05 Google Inc. Web page composition tool with browser page size guide
US8347238B2 (en) * 2009-12-16 2013-01-01 Apple Inc. Device, method, and graphical user interface for managing user interface content and user interface elements by dynamic snapping of user interface elements to alignment guides
CA2716434A1 (en) * 2010-03-01 2011-09-01 Dundas Data Visualization, Inc. Systems and methods for determining positioning and sizing of graphical elements
US8694900B2 (en) * 2010-12-13 2014-04-08 Microsoft Corporation Static definition of unknown visual layout positions
US9026928B2 (en) * 2012-06-06 2015-05-05 Apple Inc. Graphical user interface layout
US9933929B1 (en) * 2012-09-26 2018-04-03 The Mathworks, Inc. Automatic layout management through static GUI analysis
US9530187B2 (en) * 2013-06-13 2016-12-27 Apple Inc. Controlling element layout on a display
US20150227265A1 (en) * 2014-02-10 2015-08-13 Packsize Llc Generating and implementing a customizable user interface
US9996898B2 (en) * 2014-05-30 2018-06-12 International Business Machines Corporation Flexible control in resizing of visual displays
WO2017200706A1 (en) * 2016-05-17 2017-11-23 Google Llc Systems and methods for automatic determination of layout constraints

Also Published As

Publication number Publication date
GB2577159B (en) 2021-03-10
US20200089396A1 (en) 2020-03-19
US11320975B2 (en) 2022-05-03
AU2019205973B2 (en) 2021-12-09
CN110908637A (zh) 2020-03-24
GB201910085D0 (en) 2019-08-28
GB2577159A (en) 2020-03-18
AU2019205973A1 (en) 2020-04-02

Similar Documents

Publication Publication Date Title
DE102019004670A1 (de) Automatisches Generieren und Anwenden von Grafiknutzerschnittstellenskalierungsrandbedingungen auf Grundlage von Gestaltungssemantiken
DE112015003406B4 (de) Datenherkunftssummierung
US10042533B2 (en) Graphical user interface that simplifies user creation of custom calculations for data visualizations
DE102020002153A1 (de) Einsetzen von ein Objektattribut detektierenden Modellen zum automatischen Auswählen von Versionen detektierter Objekte in Bildern
DE202011110891U1 (de) Scrollen in umfangreichen gehosteten Datenbestand
DE102019001695A1 (de) Generieren von verbesserten Digitalbildern durch selektives Transformieren von Rasterbildern in Vektorzeichnungssegmente
DE102020002301A1 (de) Automatisches Detektieren nutzerseitig angeforderter Objekte in Bildern
DE102020007571A1 (de) Einsetzen einer auf natürlicher Sprache beruhenden Verarbeitung und mehrerer Objektdetektionsmodelle zum automatischen Auswählen von Objekten in Bildern
DE102018005611A1 (de) Automatische Paarbildung von Fonts unter Verwendung des asymmetrischen Metriklernens
DE602005002835T2 (de) Verfahren zur Identifizierung von redundantem Text in elektronischen Dokumenten
DE112018002208T5 (de) System und Verfahren zum Zuordnen von Stilattributen
DE102014005958A1 (de) Drag and drop Clipboard für HTML Dokumente
DE10135445A1 (de) Integriertes Verfahren für das Schaffen einer aktualisierbaren Netzabfrage
DE202011110879U1 (de) Rich-Content in einem Textverarbeitungssystem auf Browserbasis
DE212011100021U1 (de) Vorrichtung zum Wiedergeben oder Umbemessen von Text und Bildern zur Anzeige auf Mobil-/Kleinbildschirmgeräten
DE112015003723T5 (de) Intelligenter scrubber in einer e-book-navigationsschnittstelle
DE202014010906U1 (de) Vorrichtung für zweidimensionale Dokumentennavigation
DE102016001467A1 (de) Verfahren zum intelligenten Laden von Webreferenzen im Voraus basierend auf einer Vorhersage des Benutzerverhaltens
DE102014112983A1 (de) Aktive Wissenslenkung beruhend auf Dokumententiefenanalyse
DE102016125804A1 (de) Das Einbeziehen auswählbarer Anwendungslinks in Konversationen mit persönlichen Assistenz-Modulen
US20110221764A1 (en) Laying out and cropping images in pre-defined layouts
WO2010124853A2 (de) Verfahren zur erzeugung mindestens einer anwendungsbeschreibung
DE102020002356A1 (de) Verbesserte gestalterische gemeinsame Bearbeitung unter Nutzung einer gestaltungsbasierten Rückmeldung
DE102013203831A1 (de) Verfahren und System für ein Master-Seiten-basiertes integriertes Editieren und eine dynamische Layout-Aktivierung
US20160314502A1 (en) System and method for streamlining the design and development process of multiple advertising units

Legal Events

Date Code Title Description
R012 Request for examination validly filed