-
TECHNISCHER
HINTERGRUND DER ERFINDUNG
-
Technisches Gebiet der Erfindung
-
Die vorliegende Erfindung betrifft
ein System und ein Verfahren für
das Plazieren von Anmerkungen auf einem Computeranzeigeschinm bzw.
Bildschirm. Genauer gesagt betrifft die vorliegende Erfindung die
automatische Plazierung von Anmerkungen verschiedener Größe ohne Über-lapp mit gleichzeitig
angezeigten Anmerkungen.
-
Beschreibung des relevanten
Standes der Technik
-
Viele Computersysteme werden heutzutage
entwickelt, um einen Anwender oder Benutzer bei der Durchführung oder
bei der Leitung bestimmter Aufgaben in Bezug auf angezeigte Objekte
zu unterstützen. Diese
Computersysteme stellen dem Benutzer Informationen betreffend die
angezeigten Objekte zur Verfügung.
Informationen, die die angezeigten Objekte betreffen, werden mittels
Text zur Verfügung
gestellt, der den gegenwärtigen
Zustand oder andere Merkmale der angezeigten Objekte beschreibt.
Die angezeigten Objekte können
Flugzeuge, Helikopter, Schiffe, Tanker, LKWs, Züge, Busse, Autos, Maschinen,
Prozesse, Sterne, Himmelsobjekte, Planeten, Dinosaurier, Tiere,
Insekten usw. sein. Typischerweise werden diese Objekte symbolisch
in einem Computersystem dargestellt und auf einem Computerbildschirm
angezeigt. Viele Computersysteme erfordern die Plazierung der Anmerkungen
auf einem Anzeigeschirm ohne Überlappung
oder Zusammendrängen
des Texts, wobei die Anmerkungen aus Textblöcken bestehen, die verschiedene
Größen haben können. Beispielsweise
zeigen Luftverkehrssteueranzeigen Flugzeugpiktogramme mit identifizierendem
Text neben jedem Piktogramm. Diese Textblöcke haben verschiedene Größen, die
davon abhängen,
wieviel Information für
jedes Piktogramm bzw. Icon angezeigt wird. Sternenkartenanzeigen
zeigen Karten des Himmels mit identifizierendem Text neben bestimmten
Sternen und Himmelsobjekten. Andere Beispiele beinhalten Computerspiele,
graphische Statusanzeigen und Grafikprogramme, die es einem Benutzer
erlauben, graphische Objekte mit einer Maus oder einer anderen Zeigeeinrtchtung
zu identifizieren.
-
Objekte werden typischerweise unter
Verwendung eines Typs von Symbolen oder Piktogrammen auf einem Computeranzeigeschirm
dargestellt. Informationen, die dieses Objekt betreffen, werden über die
Position des Objekts auf der Anzeige und möglicherweise durch Text, der
mit dem Symbol verknüpft
ist, übermittelt. Da
nicht die gesamte Information, die ein bestimmtes Objekt be trifft,
auf dem Anzeigeschirm dargestellt werden kann, stellen die meisten
Systeme typischerweise dem Benutzer die Fähigkeit zur Verfügung, ein
bestimmtes Objekt auszuwählen
und detailliertere Informationen anzusehen. Da solche Systeme typischerweise
eine große
Anzahl von Objekten zur gleichen Zeit anzeigen, erfordern sie üblicherweise
vom Benutzer, zusätzliche Aktionen
durchzuführen,
um zusätzliche
Informationen zu erhalten. Beispielsweise erfordern sie das Auswählen des
Objekts mit einer Eingabeeinrichtung oder das Bewegen eines Cursors
auf das Objekt, wie es angezeigt wird, und das Auswählen von
"Enter" bzw. der Eingabe. Mit Auswahl eines Objekts wird zusätzliche
Information über
das ausgewählte
Objekt dargestellt. Es kann ebenso erforderlich sein, daß der Benutzer
eine andere Auswahl treffen muß,
um zusätzliche
Information von der Anzeige zu entfernen. Viele Benutzer erfordern
Informationen über
verschiedene Objekte, die gleichzeitig dargestellt werden. Das heißt, daß Information über mehr
als ein Objekt zu irgendeiner gegebenen Zeit erforderlich ist. Selbst
bei Systemen, die die Benutzerauswahl erfordern, um Anmerkungen
anzuzeigen, können
vorherige Anmerkungen teilweise oder vollständig durch spätere Auswahlvorgänge verdeckt
werden.
-
In dem Artikel "A Prolog rule-based
system for cartographic name placement", Computer Graphics Forum,
Juni 1990, Niederlande, Band 9, Nr. 2, S. 109-126, Cook, A. C. et
al., der ein automatisiertes System für die kartographische Namensplazierung
betrifft, kann jedes Merkmal auf einer Karte einen Namen haben,
der hiermit verknüpft
ist. Ein logisches Namensplazierungsprogramm erzeugt eine Liste
von möglichen
Positionen für
jeden Kennsatz. Jeder Kennsatztyp kann nur an einer von einer Anzahl
von vorbestimmten bevorzugten Positionen plaziert werden. Wenn versucht
wird, den Kennsatz zu plazieren, wird eine systematische Suche nach
allen möglichen
vorbestimmten bevorzugten Positionen durchgeführt, bis keine Konflikte zwischen
den Kennsätzen
bestehen. Sollte festgestellt werden, daß ein Kennsatz keine verfügbaren Positionen
hat, dann tritt Backtrakking bzw. Rücksetzen auf, bis ein Kennsatz
gelöscht
wird, der eine. Position freigibt für den verbleibenden Kennsatz
und der Prozeß startet
noch einmal von Beginn an.
-
Der Artikel "On the Problem of Placing
Name in a Geographic Map", International Journal of Artificial Intelligence,
Band 1, Nr. 1, April 1987, S. 121-140, von Freeman et al. beschreibt
eine im wesentlichen ähnliche Technik
wie Cook et al. für
die kartographische Namensplazierung von Punktmerkmalen, die vorbestimmte
bevorzugte Positionen benutzt. Ebenso wird die Benutzung einer Linie
beschrieben, um die Verknüpfung
eines Kennsatzes relativ mit einem Punktmerkmal darzustellen.
-
Ein übliches Verfahren für das Plazieren
von Anmerkungen oder Textblöcken
oder zusätzlicher
Informationen auf einem Anzeigeschirm ist es, daß der Entwickler einer Applikation
bzw. einer Anwendung spezifiziert, wo sie in Bezug auf das Anzeigeobjekt
plaziert werden. Typischennreise führt dies zu einer festen Orientierung
der Anmerkung in Bezug auf die Anzeigeobjekte. Ob Anmerkungen von
anderen Anmerkungen etwas verdeckt oder abgedeckt werden oder nicht,
hängt vollständig von
dem Ort der Anzeigeobjekte und ihrer Auswahlordnung ab. Diese Technik
hat verschiedene signifikante Nachteile insofern, daß wichtige
Informationen überlappen
können.
Es erfordert ebenso, daß der
Anwendungsentwickler eine geeignete Orientierung auswählt, wenn
wenig oder keine Infonmation über
die örtlichen
Beziehungen der Objekte auf dem Anzeigeschirm bekannt ist. Ebenso
kann es sein, daß zu
der Zeit, wenn der Anwendungsentwickler über die Orientierung entscheidet,
wenig oder keine Information über
die Größe der Anmerkungen
bekannt ist. Dies wird in manchen Systemen noch komplizierter, bei
denen die angezeigten Objekte dynamisch sind (d. h. wo sich die Anzeigeposition
der Objekte über
der Zeit verändert).
-
Ein anderes übliches Verfahren für das Plazieren
von Textblöcken
auf einem Anzeigeschirm teilt die Anzeige mit Hilfe eines Gitters
in Blöcke
von fester Größe. Wenn
ein Textblock auf dem Schirm plaziert werden muß, wird er in einem der Gitterblöcke plaziert.
Dieses Verfahren kann jedoch nur angewendet werden, wenn alle Textbläcke dieselbe
Größe haben.
Da viele der oben zitierten Beispiele die Plazierung von Textblöcken mit unterschiedlichen
Größen erfordern,
kann dieses Verfahren nicht verwendet werden.
-
Es besteht im Stand der Technik die
Notwendigkeit nach einem Verfahren, um Anmerkungen von verschiedenen
Größen auf
einem Computeranzeigeschinn ohne Überlapp zu plazieren.
-
ZUSAMMENFASSUNG DER ERFINDUNG
-
Gemäß einem ersten Aspekt der voriegenden
Erfindung wird ein Verfahren zur Verfügung gestellt für das Bestreben,
Anmerkungen in einem Computersystem mit einer Mehrzahl von Anzeigeobjekten,
die auf einer Anzeige positioniert sind, und mit einer Liste von
Anmerkungen, die gegenwärtig
auf der Anzeige angezeigt werden, anzuzeigen, wobei jede Anmerkung
mit jeweils einem der Mehrzahl von Anzeigeobjekten verknüpft ist,
wobei das Verfahren die Schritte aufweist:
-
- a) Auswählen
einer Anzeigeposition für
eine zusätzliche
Anmerkung, die mit einem Anzeigeobjekt verknüpft werden soll, wobei die
Anzeigeposition ein Anfangswinkel und ein Anfangsabstand von dem
Anzeigeobjekt, das mit Anmerkungen versehen werden soll, ist, und
- b) Überprüfen, ob
die zusätzliche
Anmerkung an der ausgewählten
Anzeigeposition irgendeine derzeit dargestellte Anmerkung überlappt,
und, falls es keinen Überlapp
gibt, dann Zufügen
der zusätzlichen
Anmerkung zu der Liste von Anmerkungen und Anzeigen der zusätzlichen
Anmerkung an den ausgewählten
Anzeigepositionen, und, wenn es einen Übertapp gibt, dann Auswählen einer
neuen Anzeigeposition durch Vergrößern des Winkels um einen Winkelbetrag,
bis alle Winkelbeträge überprüft wurden,
dann Erhöhen des
Abstandes um einen Abstandsbetrag und erneutes Erhöhen des
Winkels, bis eine nicht überlappende Anzeigeposition
gefunden wird oder alle Positionen überprüft wurden.
-
Vorzugsweise wird eine Anzeige zur
Verfügung
gestellt, die anzeigt, daß keine
nicht überlappende
Anzeigeposition für
die zusätzliche
Anmerkung gefunden werden konnte, nachdem alle Anzeigepositionen überprüft wurden.
-
Vorzugsweise oder alternativ wird,
wenn keine nicht überlappende
Position gefunden wurde, die Anzeigeposition mit dem geringsten Übertapp
gewählt.
-
Gemäß einem zweiten Aspekt der
vorliegenden Erfindung wird ein Computersystem zur Verfügung gestellt,
das aufweist: eine Verarbeitungseinrtchtung, eine Speichereinrichtung,
eine Anzeigeeinrichtung, eine Eingabeeinrichtung, die über einen
Systembus miteinander verbunden sind, und ein Softwaresystem für die Kommentierung
von Objekten, die auf der Anzeigeeinrichtung angezeigt werden, wobei
das Softwaresystem aufweist: eine Mehrzahl von Anzeigeobjekten,
die auf der Anzeige positioniert sind, eine Liste von Anmerkungen
bzw. Kommentaren in der Speichereinrichtung, die gegenwärtig auf
der Anzeige dargestellt bzw. angezeigt werden, wobei jede Anmerkung
in der Liste mit jeweils einem der Mehrzahl von Anzeigeobjekten
verknüpft
ist, eine zusätzliche
Anmerkung in der Speichereinrichtung, die mit einem entsprechenden
Anzeigeobjekt der Mehrzahl von Anzeigeobjekten verknüpft ist,
eine Vorrichtung zur Bestimmung der Anzeigeposition in der Speichervorrichtung
für das
Erzeugen einer Anzeigeposition der zusätzlichen Anmerkung basierend
auf einem anfänglichen
Abstand und Winkel von dem Anzeigeobjekt, das mit einer Anmerkung
versehen werden soll, eine Einrichtung für die Überlapperfassung für das Bestimmen,
ob die Anzeigeposition der zusätzlichen
Anmerkung irgendeine Anmerkung, die zur Zeit angezeigt wird, überlappt,
eine Anmerkungspositionierungseinrichtung, in der die Anzeigeposition,
die für
die zusätzliche
Anmerkung erzeugt wurde, von der Überlapperfassungseinrichtung überprüft wird
und, wenn es keinen Überlapp
gibt, dann die zusätzliche
Anmerkung zu der Liste von Anmerkungen hinzugefügt wird und an der Anzeigeposition
angezeigt wird, und wenn es einen Überlapp gibt, dann eine neue
Anzeigeposition erzeugt wird durch Variation des Winkels um einen
Winkelbetrag, bis alle Winkelbeträge getestet wurden, dann Erhöhen des
Abstandes um einen Abstandsbetrag und erneutes Erhöhen des
Winkels solange, bis eine nicht überlappende
Anzeigeposition gefunden wird oder alle Positionen überprüft wurden.
-
Ausführungsformen der vorliegenden
Erfindung sind bestrebt, eine Einrichtung für die automatische Planierung
von Anmerkungen verschiedener Größen auf
einer Anzeige zur Verfügung
zu stellen. Ausführungsformen
der Erfindung sind konstruiert für
die Implementierung auf einem Personal Computer (PC), einer Workstation,
einem Notebook, einem persönlichen
digitalen Assistenten (PDA) oder einem anderen Computersystem.
-
Ausführungsformen der Erfindung
sind bestrebt, die Anmerkungen ohne Überlapp zu planieren.
-
Ausführungsformen der Erfindung
sind bestrebt, die Anmerkungen ohne Drängen zu planieren.
-
Ausführungsformen der Erfindung
sind bestrebt, die Anmerkungen ohne Überlapp und ohne Drängen zu
planieren.
-
Ausführungsformen der Erfindung
sind bestrebt, die Positionen der Anmerkungen auf der Anzeige sehr
schnell zu bestimmen. Ausführungsformen
der vorliegenden Erfindung sind bestrebt, eine Anmerkung zwischen
vorher planierte Anmerkungen mit einem minimalen Überlapp
zu "quetschen", wenn ein Überlapp nicht
verhindert werden kann.
-
Ausführungsformen der vorliegenden
Erfindung sind bestrebt, zusätzlich
zu Textblöcken
Anmerkungen, wie z. B. Piktogramme, Pixeltabellen und graphische
Strukturen, die eine rechteckige Form haben oder die durch eine
rechteckige Box umgrenzt werden können, zu planieren. Es ist noch
ein anderes Ziel, mit der Anmerkung ein Symbol, wie z. B. einen
Pfeil oder eine Linie, für
die Verknüpfung
der Anordnung mit dem mit Anmerkungen zu versehenden Anzeigeobjekt
zu plazieren.
-
In Übereinstimmung mit einer bevorzugten
Ausführungsform
der vorliegenden Erfindung weist ein System für das Plazieren von Anmerkungen
auf der Anzeige eine Einrichtung für das Speichern der Anmerkungen
zusammen mit ihren Dimensionen und Anzeigepositionen in einer Liste
auf. Das System beinhaltet ebenso eine Einrichtung für das Bestimmen,
ob sich zwei Anmerkungen auf der Anzeige überlappen oder nicht. Schließlich beinhaltet
das System eine Einrichtung für
das Anzeigen von Anmerkungen auf einer Anzeige oder einem Teil der
Anzeige.
-
Angenommen, daß in Ausführungsformen der Erfindung
jede Anmerkung durch ein Rechteck mit einer identifizierenden Linie,
einem Pfeil oder einem anderen Symbol, das das Rechteck mit dem
zu identifizierenden Objekt verbindet, dargestellt ist. Die Anmerkungen,
die bereits auf der Anzeige plaziert wurden, werden in einer Liste
abgelegt. Jedes Element der Liste speichert den Anzeigeort und die
Dimensionen (Breite und Höhe) einer
Anmerkung. Jedes Element der Liste kann ebenso den Endpunkt des
identifizierenden Pfeils oder der Linie oder des anderen Symbols,
das das Rechteck mit dem zu identifizierenden Objekt verbindet,
sein. Ist diese Liste von Anmerkungen gegeben und die Anzeigeposition
eines neuen zu identifizierenden Objekts zusammen mit den Dimensionen
seiner Anmerkungen gegeben, so wird der Ort der zusätzlichen
Anmerkung wie folgt bestimmt. Eine kleine Linienlänge wird
für die
identifizierende Linie ausgewählt
und die Position des Rechtecks wird vorläufig an der 3-Uhr-Position
plaziert. Es wird leicht bestimmt, ob dieses Rechteck die anderen
Textblöcke
in der Liste überlappt
oder nicht, mit Hilfe von geometrischen Operationen, die bestimmen,
ob zwei Rechtecke oder ihre identifizierenden Linien sich überlappen
oder nicht. Wenn es keinen Überlapp
mit anderen Textblöcken
gibt, wird der zusätzliche
Textblock zu der Liste zugefügt
und angezeigt. Anderenfalls wird die rechteckige Umgrenzungsbox
des zusätzlichen
Textblocks vorläufig
auf die 4-Uhr-Position plaziert. Dieser Prozeß wird wiederholt, bis eine
Position für
den zusätzlichen
Textblock, die zu keinem Überlapp
führt,
gefunden wird. Alle Positionen können überprüft werden
und die Position, die von den existierenden Textblöcken am
weitesten entfernt ist, kann ausgewählt werden, um ein Drängen zu
vermeiden. Wenn keine Position gefunden wird, die einen Überlapp
vermeidet, dann wird die Länge
des identifizierenden Pfeils erhöht
und der Prozeß wird
wiederholt.
-
KURZE BESCHREIBUNG DER FIGUREN
-
Die vorhergehenden und andere Beispiele,
Aspekte und Vorteile der Erfindung werden besser verstanden mit
Hilfe der folgenden detaillierten Beschreibung unter Bezug auf die
Figuren, in denen:
-
1 ein
Blockdiagramm der bevorzugten Ausführungsform für ein System
ist, das Anmerkungen auf einer Anzeige ohne Überlapp plaziert.
-
2 ist
ein illustratives Diagramm der Liste von Textblöcken, die auf der Anzeige plaziert
wurden.
-
3A-3D sind
graphische Darstellungen der Suche nach einer Anzeigeposition, an
der ein zusätzlicher
Textblock plaziert werden soll.
-
4 ist
ein piktographisches Beispiel von Textblöcken von verschiedenen Größen, die
ohne Überlapp
auf der Anzeige plaziert wurden.
-
5 ist
ein Flußdiagramm,
das eine Ausführungsform
der vorliegenden Erfindung zeigt.
-
6 ist
ein funktioneller Überblick über die
vorliegende Erfindung.
-
7 zeigt
einen funktionellen Überblick über eine
alternative Ausführungsform,
in der die vorliegende Erfindung von einer Applikation bzw. Anwendung
verwendet wird.
-
ÜBERBLICK
-
Ein Überblick über die vorliegende Endung
wird in 6 bereitgestellt.
Die bevorzugte Ausführungsform
der vorliegenden Erfindung weist ein oder mehrere Softwaresysteme
auf. In diesem Kontext ist ein Softwaresystem eine Sammlung von
ein oder mehreren ausführbaren
Softwareprogrammen und ein oder mehreren Speicherbereichen, beispielsweise
RAM oder Festplatte oder Diskette. Allgemein ausgedrückt, soll
ein Softwaresystem so verstanden werden, daß es eine voll funktionale
Softwareverkörperung
einer Funktion oder einer Sammlung von Funktionen umfaßt, die
zu einem existierenden Computersystem hinzugefügt werden kann, um dem Computersystem
eine neue Funktion bereitzustellen. Softwaresysteme werden im allgemeinen auf
mehreren Ebenen bzw. Niveaus konstruiert. In einem System mit mehreren
Ebenen ist das Softwaresystem der untersten Ebene bzw. des untersten
Niveaus im allgemeinen das Computerbetriebssystem, das es der Hardware
ermöglicht,
Softwarebefehle auszuführen.
Zusätzliche
Ebenen bzw. Niveaus von Softwaresystemen können zur Verfügung gestellt
werden, beispielsweise Datenbanken oder graphische Benutzeroberflächen oder
Fensterverwaltungssystemfähigkeiten.
Diese Softwaresysteme stellen eine Grundlage zur Verfügung, auf die
zusätzliche
Softwaresysteme aufgebaut werden können.
-
Unter einem Softwaresystem wird somit
eine Softwareimplementierung einer Funktion verstanden, die in einem
Computersystem assembliert werden kann und neue Funktionalität bereitstellt.
Ebenso ist im allgemeinen die Schnittstelle, die von einem Softwaresystem
zu einem anderen Softwaresystem zur Verfügung gestellt wird, gut definiert.
Es sollte im Kontext der vorliegenden Erfindung verstanden werden,
daß Beschreibungen
zwischen den Softwaresystemen repräsentativ für die bevorzugten Implementierungen
sind. Die vorliegende Erfindung kann jedoch unter Verwendung irgendeiner
Kombination oder eines Teils von Softwaresystemen implementiert
werden.
-
Wie in 6 gezeigt
ist, besteht die vorliegende Erfindung aus einer Anzeige 28, die
einem Benutzer visuelle Informationen präsentiert, einer Liste aus existierenden
plazierten Anmerkungen 80, einer zusätzlichen Anmerkung 85, einer
Anzeigeobjektposition 87 und einem Anmerkungspositionierer 83. Die
zusätzliche Anmerkung
85 ist mit einem Anzeigeobjekt verknüpft und die Anzeigeobjektposition
87 stellt die Anzeigeposition des Anzeigeobjekts zur Verfügung. Die
Liste von Anmerkungen 80 enthält
Informationen oder Zeiger zu Informationen über Anmerkungen, die gegenwärtig auf
der Anzeige in dem Displaykoordinatensystem gezeigt werden. Eine
Liste von Anmerkungen 80, die auf der Anzeige plaziert wurden, wird
dem Anmerkungspositionierer 83 zusammen mit einer rusätzlichen
Anmerkung 85 und der Anzeigeobjektposition 87 des mit einer Anmerkung
zu versehenden Anzeigeobjekts zur Verfügung gestellt, so daß der Anmerkungspositionierer
83 die Anzeigeposition der zusätzlichen
Anmerkung derart bestimmen kann, daß sie nicht mit den gegenwärtig angezeigten
Anmerkungen 80 auf der Anzeige überlappt.
Der Anmerkungspositionierer 83 bestimmt einen geeigneten Platz für die zusätzliche
Anmerkung bei gegebenen Positionen und Größen der anderen Anmerkungen
auf der Anzeige (von der Liste 80) und der Anzeigeobjektposition
87, so daß die
zusätzliche
Anmerkung mit keiner der Anmerkungen in der Liste 80, die gegenwärtig angezeigt
werden, überlappt.
-
DETAILLIERTE BESCHREIBUNG
DER ERFINDUNG
-
Ein funktionaler Überblick über die vorliegende Erfindung
ist in 6 gezeigt. Die
vorliegende Erfindung kann mit einer Vielfalt von Hardware- und
Softwaresystemen implementiert werden. Zum Zwecke der Darstellung
wird die Erfindung in Bezug auf eine Implementierung, die die C-Sprache verwendet,
auf einer IBM-RISC-System/6000®-Workstation, auf der
AIX®-
und AIX X-Windows
mit dem OSF/Motif Toolkit läuft,
beschrieben. Die Prinzipien dieser Erfindung sind nicht auf diese
bestimmte Implementierung beschränkt.
-
Die bevorzugte Ausführungsform
dieser Erfindung weist einen Satz von Softwaresystemen für die Plazierung
von Bemerkungen ohne Überlapp
auf einer Anzeige auf, wie sie in dem Architekturblockdiagramm von 1 gezeigt ist. Jede Anmerkung
ist mit einem Anzeigeobjekt verknüpft. Jede Anmerkung wird durch
ein Rechteck mit einer Identifizierungslinie, einem Pfeil oder einem
anderen Symbol, das das Rechteck mit dem zu identifizierenden Objekt
verbindet, dargestellt. Das Rechteck kann einen Textblock, ein Piktogramm,
eine Pixelabbildung oder irgendeine andere graphische Struktur oder
Kombination der Strukturen, die eine rechteckige Form haben oder
die von einer rechteckigen Box umgrenzt werden können. Anmerkungen, die aus
einem Textblock und einer Linie, die den Textblock mit dem verknüpften Anzeigeobjekt
verbindet, bestehen, werden verwendet, um die vorliegende Erfindung
zu beschreiben. 1 beinhaltet
einen Prozessor 20, der mittels eines Systembusses 22 mit einem
Nur-Lese-Speicher (ROM) 24 und dem Speicher 38 verbunden ist. Der Speicher
38 kann aus irgendeinem der folgenden Elemente in Kombination oder
allein bestehen: Festplatte oder Diskette, Cachespeicher, Speicher
mit wahlfreiem Zugriff oder Nur-Lese-Speicher oder irgendeiner anderen Speichertechnologie.
Ebenso in dem Computersystem in 1 aufgenommen
ist eine Anzeige 28, durch die der Computer dem Benutzer Informationen
darstellt und Eingabeeinrichtungen, einschließlich einer Tastatur 26, einer
Maus 34 und anderer Einrichtungen, die über den Eingangs/Ausgangsanschluß 30 angeschlossen
werden können.
Andere Eingabeeinrichtungen, wie z. B. andere Zeigevorrichtungen
oder Sprachsensoren oder Bildsensoren können ebenso angeschlossen sein.
Andere Zeigeeinrichtungen beinhalten Tabletts, numerische Tastenfelder,
Touchscreens, Touchscreen-Overlays, Trackballs, Joysticks, Lichtstifte,
Daumenräder usw.
Die I/O 30 kann mit den Kommunikationsleitungen, dem Festplattenspeicher,
den Eingabeeinrichtungen, den Ausgabeeinrichtungen, anderen I/O-Ausrüstungen
oder anderen Computersystemen verbunden sein. Der Speicher 38 beinhaltet
einen Anzeigepufferspeicher 72, der Pixelintensi tätswerte
für eine
Anzeige enthält.
Die Anzeige 28 liest periodisch die Pixelwerte für den Anzeigepufferspeicher
72, der diese Werte auf einem Anzeigeschirm anzeigt.
-
Der Speicher 38 enthält eine
Liste von Anmerkungen 80, die gleichzeitig auf der Anzeige 28 dargestellt werden,
und einen Anmerkungspositionierer (AP) 83. Die Elemente der Liste
80 enthalten Informationen für jede
Anmerkung, die auf der Anzeige dargestellt wird, wie z. B. die Anzeigeposition
jeder Anmerkung und die Dimensionen ihrer rechteckigen Begrenzungsbox.
Der AP 83 ist in der Lage, alle Textblöcke in der Liste auf der Anzeige
darzustellen, und er berechnet bei einem gegebenen zusätzlichen
Textblock dessen Anzeigeposition, so daß er nicht mit den anderen
Textblökken
in der Liste überlappt.
Der AP 83 kann direkt oder über
das Betriebssystem 74 oder über
das Fensterverwaltungssystem 58 in den Anzeigepufferspeicher 72
schreiben. In der bevorzugten Ausführungsform zeigt der AP 83
die Textblöcke über ein
Fensterverwaltungssystem 58 an. Unter anderen Funktionen wandelt
das Fensterverwaltungssystem Text und Grafikobjekte, wie z. B. Linien und
Pixelabbildungen, in Muster von Pixeln um, die in dem Anzeigepufferspeicher
72 abgelegt und auf der Anzeige 28 angezeigt werden. Beispiele von
Betriebssystemen beinhalten AIX®, OS/2® und
DOS. Beispiele von Fensterverwaltungssystemen sind das X-Window-System®für AIX, der
Presentation Manager® für OS/2 und WindowsTM für DOS. Das
AP 83 Softwaresystem ist eine Sammlung von Funktionen. Diese Funktionen
werden unten im Detail beschrieben.
-
Andere im Speicher 38 gezeigte Elemente
beinhalten Treiber 76, die die elektrischen Signale, die von den
Vorrichtungen, wie z. B. der Tastatur und der Maus, erzeugt wurden,
interpretieren. Ein Arbeitsspeichergebiet 78 ist ebenso im Speicher
38 gezeigt. Das Arbeitsspeichergebiet 78 kann von irgendeinem der
im Speicher 38 gezeigten Elemente verwendet werden. Das Arbeitsspeichergebiet
kann von dem AP 83, dem Fensterverwaltungssystem 58, dem Betriebssystem
74 und von anderen Funktionen verwendet werden. Der Arbeitsspeicherbereich
78 kann zwischen den Softwaresystemen und innerhalb der Softwaresysteme
partitioniert sein. Der Arbeitsspeicherbereich 78 kann für die Kommunikation,
die Pufferspeicherung, die zeitweilige Speicherung oder die Speicherung
von Daten, während
ein Softwaresystem oder eine Funktion abläuft, verwendet werden.
-
Liste von Anmerkungen
-
Wie vorher erwähnt wurde, werden die Textblöcke, die
vorher auf der Anzeige positioniert wurden, in einer Liste abgelegt. 2 stellt die bevorzugte
Ausführungsform
der Liste dar, die aus dem folgenden besteht: einem eindeutigen
Identifizierer 201, Text 203, Textdimensionen 205, Textort 207,
identifizierender Linie 209. Das Rechteck, das die rechteckige Begrenzungsbox
des Texts darstellt (d. h. das kleinste Rechteck, das den Text vollständig umschließt) wird
durch seine Position (d. h. den Textort 207) und seine Dimensionen
(d. h. die Textdimensionen 205) spezifiziert. Die Textposition 207
kann durch einen ganzzahligen Gitterpunkt (i, j), der die Anzeigeposition
des Zentrums des Rechtecks bestimmt, spezifiziert werden. Die Dimensionen
können durch
ein Paar von ganzen Zahlen (w, h) festgelegt werden, die die Breite
und die Höhe
(in Pixeln) des Rechtecks bestimmen. Es sei bemerkt, daß andere
Ausführungsformen
der Liste möglich
sind; beispielsweise das Festlegen der Endpunkte der Diagonale des
Rechtecks oder eines Endpunkts und der Länge und der Brei te. Alles,
was von der vorliegenden Erfindung gefordert wird, ist, daß die Anzeigegröße und die
Anzeigeposition der Anmerkungen aus der Information, die in der
Liste enthalten ist, bestimmbar ist. Wie gezeigt enthält die Liste
einen eindeutigen Identifizierer 201, Text 203, Textdimensionen
205, einen Textort 207, eine Identifizierungslinie 209. Alles, was
für die
vorliegende Erfindung benötigt
wird, sind die Textdimensionen 205, der Textort 207 und die Identifizierungslinie
209. Die anderen Felder sind aus Bequemlichkeitsgründen dargestellt. Anstelle
der tatsächlichen
Information kann die Liste Zeiger auf die tatsächliche Information für jeden
der Einträge
oder irgendeine Untergruppe enthalten. Es sollte erwähnt werden,
daß 2 eine logische Ansicht
darstellt, wobei die physikalische Darstellung aus verschiedenen
Darstellungen und Datenstrukturen, wie z. B. einem Array oder einer
verknüpften
Liste oder einem Baum bestehen kann. Die Liste kann in einem Datenfile oder
in einer relationalen oder objektorientierten Datenbank gespeichert
sein. Es sollte ebenso erwähnt
werden, daß mehr
als eine Anmerkung mit jedem Anzeigeobjekt verknüpft sein kann. Somit kann ein
Anzeigeobjekt null, eine oder mehrere Anmerkungen haben.
-
Die identifizierende Linie 209 wird
durch den ganzzahligen Gitterpunkt (m, n) der Anzeigeposition des mit
einer Anmerkung zu versehenden Objekts spezifiziert. In der bevorzugten
Ausführungsfonn
wird eine Linie auf der Anzeige zwischen diesem Punkt und dem Zentrum
der rechteckigen Umrandungsbox gezeichnet. Es ist nicht erforderlich,
daß die
Linie zu dem Zentrum der Umgrenzungsbox gezogen wird, und sie kann
zu irgendeinem Punkt außerhalb
oder innerhalb der Box gezogen werden und kann mit irgendeinem Punkt
innerhalb oder außerhalb
oder auf dem Anzeigeobjekt verbunden sein. Der Zweck der Linie,
des Pfeils oder des Symbols ist es, die Information, die in der
rechteckigen Umgrenzungsbox enthalten ist (d. h. den Text), und
das Anzeigeobjekt miteinander zu verknüpfen. Das Ergebnis wird als
ein Textblock mit einer Linie oder einem Pfeil oder einem anderen
Symbol, das zu dem mit der Anmerkung zu versehenden Anzeigeobjekt
zeigt (z. B. ein Flugzeugpiktogramm, ein Stern oder irgendein anderes
Piktogramm oder graphisches Objekt, abhängig von der bestimmten Anwendung),
erscheinen.
-
Anmerkungspositionierer
(AP)
-
Wie vorher erwähnt wurde, ist der AP 83 eine
Sammlung von Funktionen, die Anmerkungen verschiedener Größen auf
einer Anzeige ohne Überlapp
positioniert. Der AP 83 kann Textblöcke in einem Fenster, einem
Darstellungsfeld oder einem gesamten Anzeigebereich abhängig von
den Anforderungen irgendeiner bestimmten Anwendung positionieren.
Die Funktionen des AP 83 werden nun unter Bezug auf Anmerkungen
beschrieben, die aus Textblöcken
mit einer Linie bestehen, die den Textblock und die verknüpften Anzeigeobjekte verknüpfen. Der
AP 83 positioniert einen zusätzlichen
Textblock, so daß er
nicht mit Textblöcken überlappt,
die bereits auf der Anzeige plaziert wurden. Der neu positionierte
Textblock wird dann zu der Liste von positionierten Textblöcken hinzugefügt. Der
AP 83 kann ebenso eine Liste von Textblöcken anzeigen, deren Anzeigepositionen
bereits bestimmt wurden oder kann die Anmerkungen anzeigen, wenn
sie zu der Liste 80 hinzugefügt wurden.
In Übereinstimmung
mit der vorliegenden Erfindung ist es für den AP 83 nicht notwendig,
die Textblöcke
und die verknüpften
Linien, wie sie in der Liste abgespeichert sind, anzuzeigen.
-
Der AP 83 oder eine Anwendung kann
die Anmerkungen anzeigen. Der AP 83 oder die Anwendung kann ein
Fensterverwaltungssystem oder ein Betriebssystem verwenden oder
kann direkt auf den Anzeigepufferspeicher schreiben, um zu veranlassen,
daß die
Textblöcke
dargestellt werden. Ein Überblick über das Fensterverwaltungssystem
wird unten bereitgestellt.
-
Gegeben sei eine Liste von Textblöcken, die
bereits auf der Anzeige ohne Überlapp
plaziert wurden und gegeben sei eine neue oder zusätzliche
Anmerkung, die auf der Anzeige zu positionieren ist, und die Anzeigeposition
des mit einer Anmerkung zu versehenden Anzeigeobjekts, dann bestimmt
der AP 83 den Anzeigeort der zusätzlichen
Anmerkung. Der AP muß als
ein Minimum die Größe des Rechtecks
für die
Anmerkung und den Ort des mit einer Anmerkung zu versehenden Anzeigeobjektes
haben. Die zusätzliche
Anmerkung 85 und die Anzeigeobjektposition 87 können zu diesen Einträgen zeigen
oder sie können
in der Lage sein, diese Einträge
aus der gegebenen Information zu bestimmen. Beispielsweise kann
die Größe des Textblocks
aus der Kenntnis der Anzahl von Linien, der Anzahl von Zeichen pro
Linie und des Zeichensatzes oder Fonts bestimmt werden. Der Text
selbst ist nicht erforderlich. Um die Größe der Begrenzungsbox zu bestimmen,
ist jedoch erforderlich, damit der AP den Text darstellen kann.
Dies trifft ebenso zu, wenn die Anmerkung aus etwas anderem als
Text besteht, wie z. B. Piktogrammen, Pixelabbildungen und graphischen
Strukturen. Damit ist beispielsweise die Höhe und Breite der Pixelabbildung
in Pixeln notwendig. Alles, was für den AP erforderlich ist,
ist daß die
zusätzliche
Anmerkung Information enthält,
die verwendet werden kann, um die Größe der Begrenzungsbox und die
Position des mit einer Anmerkung zu versehenden Anzeigeobjekts zu
bestimmen.
-
Wird nun mit dem Beispiel fortgesetzt,
wo die zusätzliche
Anmerkung aus dem identifizierenden Text und den Dimensionen der
rechteckigen Begrenzungsbox des Texts besteht, bestimmt der AP 83
den Anzeigeort des zusätzlichen
Textblocks wie folgt. Eine kleine Linienlänge wird für die Länge des identifizierenden Pfeils ausgewählt und
die Position des Textblocks wird zunächst auf der 3-Uhr-Position,
wie in 3A gezeigt ist, positioniert.
Es sei bemerkt, daß jede
Anfangslinienlänge
und jede anfängliche
Winkelorientierung für
die Anfangsstartposition ausgewertet werden kann. Wenn es keinen Überlapp
mit den anderen Textblöcken
gibt, kann der zusätzliche
Textblock zu der Liste zugefügt
werden und angezeigt werden. Anderenfalls wird der zusätzliche
Textblock zunächst
auf der 4-Uhr-Position, wie in 3B gezeigt
ist, plaziert. Es sei bemerkt, daß dieses Beispiel ein Winkelinkrement
von 30° verwendet,
jedoch ein größeres oder
kleineres Winkelinkrement ebenso verwendet werden kann. Dieser Prozeß wird wiederholt
(3C), bis eine Position
für den
zusätzlichen
Textblock gefunden wird. Wenn keine Position, die nicht zu einem Überlapp
führt,
gefunden werden kann, wird die Länge
des identifizierenden Pfeils erhöht
und der Prozeß wird,
wie in 3D gezeigt ist,
wiederholt. Jedes geeignete Längeninkrement
kann mit der vorliegenden Erfindung verwendet werden. Ein Beispiel
von Textblöcken,
die auf der Anzeige einer Sternenkartenanwendung positioniert werden,
ist in 4 gezeigt.
-
Eine Ausführungsform der vorliegenden
Erfindung ist als das Flußdiagramm
von
5 gegeben. Ein Pseudocodelisting
ist in Tabelle 1 zusammen mit den Zeilennummern gegeben, die in
den Blöcken
des Flußdiagramms
von
5 verschlüsselt sind.
Eine Beschreibung wird unten unter Bezug auf den Pseudocode von Tabelle
1 zur Verfügung
gestellt. Die Ausführungsform
besteht im wesentlichen aus zwei verschachtelten Schleifen. Die äußere Schleife
(
101,
107) iteriert bzw. wiederholt sich über die
Länge der
identifizierenden Linie, die ein Objekt mit ihrem identifizierenden
Text verbindet. Die innere Schleife (
102,
106)
iteriert über
den Uhrzeitwinkel. Die Parameter MIN_ARROW spezifizieren die Startlänge der
Identifizierungslinie, während MAX_ARROW
die Maximallänge
spezifiziert. Der Parameter INC_ARROW spezifiziert den Inkrementwert
zwischen den Iterationen der äußeren Schleife
oder das Abstandsinkrement, während
INC ANGLE den Inkrementwert (in Winkelgrad) zwischen den Iterationen
der inneren Schleife oder das Winkelinkrement spezifiziert. Die
Vanable SUCCESS_FLAG wird gesetzt, wenn eine Position gefunden wird,
an der der zusätzliche
Block nicht die anderen Textblöcke überlappt. Tabelle
1 Pseudocode für
Textpositionierer
-
Falls kein Platz für den zusätzlichen
Textblock ohne Überlapp
gefunden werden konnte, kann der gesamte Prozeß mit viel kleineren Werten
für die
Inkrementwerte der Zeilenlänge
(INC_ARROW) und dem Winkel (INC_ANGLE) wiederholt werden. Diese
Maßnahme
versucht, den Textblock zwischen die existierenden Textblöcke zu "quetschen".
Wenn dies ebenso versagt, dann kann die Position, die zu dem geringsten Überlapp
führt,
ausgewählt
werden.
-
Um ein Drängen der Textblöcke zu vermeiden,
können
alle Winkelpositionen für
eine feste Linienlänge überprüft werden.
Das heißt,
jede Schleifeniteration der inneren Schleife kann ausgewählt werden.
Die Position, die den größten Abstand
von den vorher plazierten Textblöcken
hat, kann dann als die Position für den zusätzlichen Textblock ausgewählt werden.
-
Der AP 83 beinhaltet Funktionen,
die bestimmen, ob zwei Textblöcke
auf der Anzeige überlappen
oder nicht. Diese Bestimmung wird verwirklicht durch einfache geometrische
Operationen, die bestimmen, ob sich zwei Rechtecke überlappen,
eine identifizierende Linie ein Rechteck kreuzt oder zwei identifizierende
Linien sich gegenseitig kreuzen oder nicht.
-
Der Pseudocode für diese Funktion wird in den
Tabellen II, III und IV zur Verfügung
gestellt. Diese Funktionen und ihre Äquivalente sind im Stand der
Technik bekannt. Tabelle
II Rechteck-Überlapp-Pseudocode
Tabelle
III Pseudocode für
Linien-Überlapp
-
Obgleich das AP 83 Softwaresystem
die Textblöcke
darstellen kann, ist dies für
die vorliegende Erfindung nicht erforderlich. Eine Anwendung 89
kann die vorliegende Erfindung benutzen, um den Ort der Textblöcke zu bestimmen,
die sie plazieren muß.
Dies ist in 7 dargestellt.
Beispielsweise kann die Anwendung 89 den AP 83 mit einer Liste von
Textblöcken
80 (oder wahrscheinlich einem Zeiger zu dem Speicherbereich, der
die Liste enthält),
die gegenwärtig
auf der Anzeige plaziert wurden, und einen zusätzlichen Textblock 85, der
auf der Anzeige plaziert werden muß, aufrufen. Die Anwendung
stellt Informationen betreffend den (die) zusätzlichen Textblock (blöcke) 85
(oder eine Liste von Textblöcken,
die darzustellen sind) und die Anzeigeobjektposition(en) 85, die
mit dem (den) zusätzlichen
Textblock (-blöcken)
verknüpft
ist (sind), zur Verfügung.
Der AP 83 bestimmt dann die Position des (der) zusätzlichen
Textblocks (-blöcke)
85 und gibt diese Information an die Anwendung 85 zurück. Der
AP 83 kann implementiert werden, um mehr als einen Textblock zu
handhaben, oder die Anwendung kann den AP mit einem Textblock zu
einer Zeit aufrufen. Es sei bemerkt, daß, selbst wenn der AP mit mehr
als einem Textblock zu einem Zeitpunkt aufgerufen wird, er die Anzeigepositionen
des Textblocks nacheinander bestimmt.
-
Die Anwendung 90 kann den AP 83 in
Antwort auf den Benutzer, der Anzeigeobjekte mit einer Anzeigevorrichtung,
wie z. B. einer Maus oder einer Tastatur auswählt, aufrufen. Die Anwendung
89 kann ebenso den AP 83 aufrufen, da die Position von einem oder
mehreren der Anzeigeobjekte sich auf der Anzeige verändert haben
kann. Dies ist insbesondere dort der Fall, wo dynamische Objekte
auf der Anzeige dargestellt werden, wie z. B. Flugzeuge auf einer
Luftverkehrssteueranzeige. Wenn sich die Positionen des Anzeigeobjekts verändern, könnte die
Anwendung die verknüpften
Anmerkungen von der Liste von dargestellten Anmerkungen 80 entfernen
und den AP 83 aufrufen. Der AP 83 würde dann eine geeignete Position
für die
Anmerkung bestimmen und die Anzeigeposition der Anwendung 89 zurückgeben.
Die Anwendung 89 würde
dann die Liste 80 aktualisieren und die Anzeige mit der neuen Anmerkungsposition
auf der Anzeige 28 darstellen.
-
Die Anwendung 89 oder der AP 83 kann
die zusätzlichen
Textblöcke
zu der Liste 80 hinzufügen.
Entweder die Anwendung 89 oder der AP 83 kann veranlassen, daß die Textblöcke dargestellt
werden. Die Anwendung 89 oder der AP kann ein Fenstervennraltungssystem
oder ein Betriebssystem verwenden oder direkt auf den Anzeigepufferspeicher
schreiben, um zu veranlassen, daß die Textblöcke und
die verknüpften
Linien angezeigt werden. Die vorliegende Erfindung arbeitet ebenso,
wenn die Anmerkungen OSF/Motif-Fenster und/oder Widgets bzw. Trickfenster
sind. Fenster und Widgets werden unter Verwendung von standardisierten OSF/Motif-Funktionsaufrufen
angezeigt. Wenn ein Fenster oder Widget dargestellt werden soll,
kann die Größe und die
Position in dem Positionsaufruf spezifiziert werden. Die vorliegende
Erfindung kann somit verwendet werden, um die Position eines Fensters
oder eines Widgets zu bestimmen, so daß es nicht mit bestimmten anderen
Fenstern oder Widgets überlappt.
The X Window System Programming and Applications with XT OSF/Motif,
ausgearbeitet von D. A. Young, hier durch Bezugnahme aufgenommen,
beschreibt die Konzepte von Fenstern, Widgets und Anzeigefunktionen. Tabelle
IV Pseudocode für
Rechtecklinien-Überlapp
-
Fensterverwaltungssystem
(WMS)
-
Die folgenden Abschnitte beschreiben
das Fensterverwaltungssystem mehr im Detail. Ein Fensterverwaltungssystem
stellt viele der wichtigen Merkmale von modernen Nutzer-Computer-Schnittstellen zur
Verfügung.
Ein Fensterverwaltungssystem erlaubt es, daß mehrere Anwendungen mit dem
Benutzer auf einer einzelnen Computeranzeige interagieren und stellt
Low-Level-Funktionen
für die
Anwendung zur Verfügung,
um Daten anzuzeigen und eine Eingabe von dem Benutzer aufzunehmen.
Das Fensterverwaltungssystem erlaubt es Anwendungsprogrammen, Resultate
in verschiedenen Bereichen der Anzeige zu zeigen, die Anzeigebereiche,
in denen diese Anwendungen ausgeführt werden, in der Größe zu verändern, und
Pop-Up- und Pull-Down-Menüs
aufzurufen. Das Fensterverwaltungssystem ist ein Resource-Manager
im wesentlichen der gleichen Art und Weise, wie ein Betriebssystem
ein Resource-Manager ist, nur die Typen der Ressourcen unterscheiden
sich. Das Fensterverwaltungssystem weist die Ressourcen des Anzeigebereichs
den verschiedenen Anwendungen zu, die danach streben, die Anzeige
zu verwenden, und unterstützt
in der Verwaltung dieser Anzeigebereiche, so daß die Anwendungen nicht miteinander
Wechselwirken. Das Fensterverwaltungssystem weist ebenso die Ressourcen
von Interaktionsvorrichtungen den Anwendungen zu, die eine Benutzereingabe benötigen, und
leitet dann den Fluß von
Eingabeinformationen von den Vorrichtungen zu der Ereigniswerteschlange
der geeigneten Anwendung, für
die die Eingabe bestimmt ist.
-
Toolkits bzw. Werkzeugsätze interaktiver
Techniken, die Subroutinenbibliotheken von Interaktionstechniken
sind, sind Mechanismen für
das Bilden einer Sammlung von Techniken, die für die Verwendung durch die
Anwendungsprogramme verfügbar
sind. Werkzeugsätze
mit interaktiven Techniken sind für spezifische Fensterverwaltungssysteme
verfügbar.
Basiselemente des Werkzeugsatzes können Menüs, Dialogboxen, Scrollbars
bzw. Rollbalken, Datenfile-Auswahlboxen und dergleichen sein, alles,
was bequem in Fenstern implementiert werden kann. Werkzeugsätze interaktiver
Techniken sind für
spezifische WMS verfügbar.
Weltverbreitete Werkzeugsätze
beinhalten den Andrew Window Management Systems-Werkzeugsatz, den
MaclntoshTM-Werkzeugsatz, die OSF/Motif-
und Interviews-Werkzeugsätze
für die
Verwendung mit dem X-Windows-System, ebenso XRAY und CLUE. Verschiedene
Werkzeugsätze
implementieren Open/Look auf sowohl X-Windows- als auch auf News, den Presentation
ManagerTM- und den Sun View Window Management
Systems-Werzeugsatz.
-
Das X-Window-System ist ein Industriestandardsystem,
das es Programmierern erlaubt, graphische Benutzeroberflächen zu
entwickeln. In dem X-Window-System werden Interaktionstechniken
"Widgets" genannt. Ein typischer Satz von Widgets beinhaltet eine
Dialogbox, eine Datenfile-Auswahlbox,
eine Alarmbox, eine Hilfebox, eine Listenbox, eine Nachrichtenbox,
eine Radioknopfbank, Radioknöpfe,
Auswahlknopfbank, Auswahlknöpfe,
Umschaltknopfbank, Umschaltknöpfe,
feste Menüs,
Pop-Up-Menüs,
Texteingabe, Scrollbars und Anwendungsfenster. Jedes dieser Widgets
wird normalerweise als ein Fenster implementiert. In dem X-Window-System
können
ebenso Unterfenster verwendet werden. Die Quellcodeimplementierung
jedes Widgets besteht aus einem oder mehreren Aufrufen auf dem X-Server.
Wenn somit eine Widget-Unterroutine ausgeführt wird, veranlaßt sie eine
Abfolge von Aufrufen oder Befehlen oder Anfragen, die zu dem X-Server
oder dem Fensterverwaltungssystem gesendet werden. OSF/Motif ist
ein Satz von Interaktionswerkzeugen, der mit X-Windows arbeitet,
und ist einer aus einer Anzahl von ähnlichen Widget-Sätzen, die
für X-Windows verfügbar sind.
-
Die Architektur des X-Window-Systems
basiert auf dem Client-Server-Modell. Ein einzelner Prozeß, bekannt
als der X-Server, ist für
alle Eingabe- und Ausgabeeinrichtungen verantwortlich. Der Server
erzeugt und verwaltet alle Fenster auf der Anzeige, produziert Text
und Grafiken und handhabt die Eingabeeinrichtungen, wie z. B. die
Tastatur und die Maus. Die Serverimplementierung ist unabhängig von
irgendeiner Anwendung, ist jedoch hardwarespezifisch. In der typischen
X-Windows-Umgebung
ist die Anwendung ein Client und verwendet die Dienste des X-Servers über eine
Netzwerkverbindung unter Verwendung eines asynchronen Bytestromprotokolls.
Mehrere Clients können
sich mit demselben Server verbinden. Der X-Server 60 blendet die
Details der vorrichtungsabhängigen
Implementierung des Servers von den Clients aus.
-
Der AP 83 kommuniziert mit dem Fensterverwaltungssystem über das
Fenstersysteminterface, das als Teil des Fensterverwaltungssystems
für die
Zwecke der Beschreibung der vorliegenden Erfindung betrachtet wird.
Das Interface des Fensterverwaltungssystems kann aus einem Satz
aus Bibliotheksroutinen bestehen für das Bilden von Schnittstellen
mit dem Fensterverwaltungssystem oder einem Interaktionstoolkit
höheren Niveaus
oder mit beiden. In der bevorzugten Ausführungsform benutzt AP OSF/Motif,
um eine Schnittstelle mit dem X-Windows-System zu bilden.
-
Die vorhergehenden Abschnitte haben
die Plazierung von Textblöcken
beschrieben. Die einzige Eigenschaft von Textblöcken, die wesentlich für das Funktionieren
der Erfindung ist, ist ihre rechteckige Form. Somit ist die Erfindung
in der Lage, jedes graphische Objekt, das eine rechteckige Form
hat oder das von einem Rechteck umgrenzt werden kann, zu plazieren.
Beispiele von solchen graphischen Objekten beinhalten Piktogramme,
Pixelabbildungen, Bitmaps, graphische Symbole, geometrische Formen,
Fenster und Widgets.