amiga-news ENGLISH VERSION
.
Links| Forum| Kommentare| News melden
.
Chat| Umfragen| Newsticker| Archiv
.

[Login] [Registrieren] [Passwort vergessen?]

< Nächste MeldungVorige Meldung >
15.Mär.2021



AmigaOS 3.x: Die icon.library von Peter Keunecke
Die icon.library gehört zu den sogenanten "Shared Libraries" (Bibliotheken), die Funktionen für Aufgaben wie z.B. Zugriff auf Dateien, Grafik, Sound, Netzwerk usw. bereitstellen. Diese Shared Libraries befinden sich auf der Systempartition im Verzeichnis SYS:Libs/ (vgl. hierzu AmigaWiki).

Konkret stellt die icon.library dabei alle Funktionen für die Verarbeitung von Piktogrammen, den Icons, zur Verfügung. Diese Icons werden von der Workbench verwendet, um Anwendungsprogramme, Projekte, Disketten, Schubladen oder einen Papierkorb darzustellen, und werden in den ".info"-Dateien gespeichert, die denselben Namen tragen wie die Datei, die sie darstellen sollen. So ist beispielsweise das Icon für IBrowse, einem Webbrowser, in der Datei IBrwose.info abgelegt. Die .info-Datei enthält das Icon-Bild und seine räumliche Position innerhalb des übergeordneten Ordners.

Ab der Workbench-Version 2.x wird eine Datei ohne eine zugehörige .info-Datei durch das entsprechende Standardsystempiktogramm dargestellt. Diese Standardicons sind unter "ENVARC:sys/def_xxxx.info" abgelegt und können durch eigene Icons ersetzt werden. Sie werden nur dann angezeigt, wenn der Ordner, der sie enthält, mit der Option "Zeige alle Dateien" konfiguriert wurde. Anwenderprogramme können Merkmale, sogenannte "Tool Types", in ihren .info-Dateien enthalten, die einzelnen Textzeilen entsprechen und mit denen dem Programm Parameter übergeben werden können.

Die Farben, die das Icon verwendet, werden normalerweise nicht direkt, sondern nur als Kennziffern abgelegt und beziehen sich direkt auf die aktuelle Farbpalette des Workbench-Bildschirms. Deshalb ist die Farbgestaltung an die Farbpalette des Bildschirms gebunden, somit nicht fest und nur auf vier Farben beschränkt. Durch die NewIcons, einen Patch der icon.library, wurde es ermöglicht, Icons mit bis zu 256 Farben (AGA) dazustellen. Im Gegensatz zu den normalen Workbench-Icons beinhalten NewIcons richtige RGB-Farbinformationen. Ab AmigaOS 3.5 unterstützt die Workbench grundsätzlich Icons mit bis zu 256 Farben, praktisch angewendet zum Beispiel durch die von Matt Chaput entworfenen GlowIcons, und automatische Farbanpassung. Ebenso werden die NewIcons unterstützt, weshalb kein externer Patch mehr nötig ist. Beide unterscheiden sich in der Art, wie die Bilddaten gespeichert werden (vgl. entsprechende Artikel 1, 2).

Vor über 10 Jahren begann Peter Keunecke, diese icon.library für AmigaOS 3.x neu zu schreiben, und hat sie seitdem kontinuerlich weiterentwickelt: Sie ist vollständig in optimiertem Assemblercode geschrieben, arbeitet wesentlich schneller (Icons werden bis zu 30-mal schneller geladen), ist dafür aber bedeutend kleiner als die originale icon.library. Der Schwierigkeitsgrad bei diesem Projekt bestand in der unüberschaubaren Anzahl möglicher Systeme, auf denen diese funktionieren soll: verschiedene workbench.libraries, Verwendung von FBlit, P96 oder CGX, DOpus5, Workbench oder Scalos usw.

Das ist auch der Grund, weshalb Peters Archiv nicht nur aus der Bibliothek an sich, sondern ebenso aus etlichen Spezialversionen, Befehlen und Zusatztools besteht. Grundsätzlich gibt es drei verschiedene Bibliotheken im Archiv:
  • 68000-Version: Die Piktogramme werden auf Grundlage der aktuellen Farbpalette gezeichnet. Weder wird die direkte Darstellung unter Grafikkarten unterstützt, noch sind besondere Optimierungen in Verbindung für Programme wie FBlit, DOpus5, AfA_OS etc. enthalten.
  • 68020-Version: Benötigt weniger Speicher für die Darstellung von OS4- (AISS) und PNG-Icons. Diese werden direkt gezeichnet, ohne vorherige Transformation der Farben.
  • TC020-Version: Die True-Colour-Version stellt die OS4- und PNG-Icons in Echtfarben dar (Farben werden mit 24 Bit Farbtiefe dargestellt und erscheinen für das menschliche Auge natürlich) und verwendet "Alpha Channel Blending" (ob Bildpunkte eher durchscheinend oder fest angezeigt werden) auf Grafikkarten. Es muss keine Zeit für Farbreduktionen verwendet werden, benötigt aber mehr Speicher. Darüber hinaus unterstützt die TC020-Version alle weiteren Bildschirme wie die 68020-Version.
Daneben gibt es noch zusätzliche Varinaten für HAM6 (hm020), HAM8 (HM020), AROS/68k, eine experimentelle FastWB-Version für die Workbench 3.1.4, 3.5, 3.9 auf langsameren Amigas und eine LD020-Version, die den ältere "Linie-für-Linie"-Zeichencode verwendet und gelegentlich schneller als die 68020-Version arbeitet. Die Varianten "hm020" und "HM020" unterstützen HAM6- und HAM8-Bildschirme auf OCS/ECS/AGA-Amigas. Die Bildschirme können bei MUI über den Bildschirmmodus ausgewählt werden.

Wie Peter erläutert, empfiehlt er auf langsameren 68000-Amigas die Verwendung der Workbench.library 45.127, da sie Icons ohne Rahmem verarbeiten kann und weniger Chip-RAM benötigt. Ebenso könne man die Workbench.library 45.194 aus dem AmigaOS 3.1.4 verwenden.

Schließlich liefert der Autor im Ordner "c" noch eine Menge an Befehlen mit, mit denen man sich die Darstellung und das Verhalten der Pikrogramme an seine eigenen Wünsche anpassen kann. So werden durch die Verwendung seiner icon.library die oben erwähnten DefIcons auf allen Workbench-Bildschirmen ab AmigaOS 3.5 als Geisterbilder, im 50%-Transparenzmodus, dargestellt. Dieser "Ghosting"-Effekt kann durch den Befehl "IconGhostingOff", wie auch alle anderen Kommandos in die Startup-Sequence geschrieben, deaktiviert werden.

Für den Normalanwender ist durch das Kopieren der korrekten Bibliothek der Hauptteil erledigt: Wie eigene Tests zeigen, wird jetzt vor allem wesentlich weniger Chip-RAM verwendet. Das Öffnen eines Ordners, der weitere 51 Ordner (GlowIcons) enthielt, dauerte allerdings auf unserem Testrechner - Amiga 1200 mit 68030-Prozessor und 64-Farben-AGA-Bildschirm (HiRes Interlaced) - im Prinzip genauso lange. Peter meinte hierzu, dass man, je geringer die Farbtiefe ist, desto weniger bei Color-Icons bewirken könne und sich der Schnelligkeitsvorteil vor allem bei TrueColor-Icons bemerkbar mache. Er empfiehlt auf solchen System die Verwendung bzw. das Testen der Option "FastColors" oder der Verwendung der schlechten Icon-Qualität unter Prefs/Workbench.

Für die korrekte und angemessene Konfiguration der unzähligen weiteren Optionen wäre allerdings ein Installations- bzw. Einstellungsprogramm nicht nur hilfreich, sondern für den vor allem nicht so versierten Anwender wünschenswert. Den Autor darauf angesprochen, meinte dieser, dass ihm bewusst sei, dass ein Installer-Skript und eine gut verständliche Anleitung fehlen, es aber schlicht unmöglich sei, jedes System richtig zu konfigurieren, da es nicht "das Standardsystem", sondern unzählige verschiedene Hard- und Software-Kombinationen gäbe.

Hauptgrund für die Erstellung der icon.library war seine grundsätzliche Freude daran, Programme schneller zu machen, was man bei der icon.library durch den normalen Gebrauch auch spüren könne. Ebenso mache es ihm schlicht Spaß, in 68k-Assembler zu programmieren. - Der Autor ist immer für Probleme oder Vorschläge offen und per E-Mail zu erreichen. (dr)

[Meldung: 15. Mär. 2021, 06:18] [Kommentare: 48 - 21. Mär. 2021, 17:17]
[Per E-Mail versenden]  [Druck-Version]  [ASCII-Version]
< Nächste MeldungVorige Meldung >

.
Impressum | Datenschutzerklärung | Netiquette | Werbung | Kontakt
Copyright © 1998-2024 by amiga-news.de - alle Rechte vorbehalten.
.