Hangar.La tienda de software del Amiga

IconLib_46.4 46.4.604

free icon.library in optimized ASM code

Short:        free icon.library in optimized ASM code
Author:       Peter Keunecke
Uploader:     pkeunecke alice-dsl net
Type:         util/libs
Version:      46.4.604
Requires:     68000 CPU or 68020+
Architecture: m68k-amigaos >= 3.0.0

 Latest changes:
 ~~~~~~~~~~~~~~

 A new "Smart" palette based icon.library supporting
 2 additional levels of alpha channel transparency for
 the conversion of TrueColor icons into normal OS 3.5
 ColorIcons, which allows a softer fading of borders 
 over the background and also some transparent shades 
 on Hi/TrueColor screens with just one byte per pixel.  

 In comparison to loading and rendering real TrueColor
 icons like done by TC020 these converted "SmartIcons"
 can be loaded and displayed really fast and with much
 less memory consumption than real ARGB icons. "Smart"
 icons have two alpha channel levels with 37.5 % and
 62.5 % transparency which calculate their colors from
 two virtual 6x6x6 and 3x3x3 color cubes and a simple
 brightness checkerboard dithering for even more mixed
 colors. On chunky and planar screens this alpha level
 transparency is replaced by merging with gray instead.

 This Smart color reduction is still compatible to the
 OS 3.5 ColorIcon format and the new icons can also be
 displayed by other icon.libraries, but will then only 
 fade a bit into gray at the borders, as this was done
 already in the past by the 68020 library or with the
 option ConvertTrueColor. Most of my libraries are now
 also able to convert TrueColor icons into SmartIcons.
 Only the 68000 version, Smurf and Base can't do this,
 but a new packed "Cool" library is like Base + Smart.

 When TrueColor icons are loaded by the OS 3.9 IconEdit
 then you can click on the first color in the palette,
 which is the more or less "yellow" transparent color.
 This color0 should have a Red of 250 and Green of 222
 plus a Blue, which shows the number of alpha colors.
 In hexa-decimal this RGB value should contain $FADE..
 The alpha channel colors are the last of the palette
 until you are saving the converted icons. Then my own
 palette optimization will remove gaps and doublets by
 rewriting the palette with a new color order, but the
 alpha transparency fading remains working just fine.

 Unfortunately, the OS 3.2 IconEdit deletes color #0,
 which means that it destroys the alpha transparency,
 but this can still be repaired manually on 3.9 again.

 The Aros libraries are now v51 too and include all of
 the ARGB conversion routines with support for Scalos,
 except for the packed Aroz, supporting Wanderer only.
 A new ARGB icon dragging of Wanderer in the Aros 68k
 Deadwood fork works now and old planar and MWB icons
 are always converted into ARGB images with the 8 MWB
 colors and are drawn by WritePixelArray() on Wanderer.

 The icon.library of Aros 68k must be removed from the
 list of resident modules by RemLib >NIL: icon.library
 before SetPatch or replaced by tools like LoadModule.
 To load Aros deficons from ENVARC:Sys instead of ENV:
 you should make an Assign ENV: ENVARC: ADD somewhere.

 Download (classic): https://github.com/deadwood2/AROS  

 The support for Scalos on Aros 68k has beeen improved
 a lot. You have to remove all iconobject datatypes in
 Scalos:icondatatypes/Datatypes out of this directory
 except for the 2 files amigaiconobj35.datatype and
 iconobject.datatype in order to get best results with
 my icon.library, which will then do the decoding for
 all icon formats. Scalos does most of the drawing and
 can even scale the images up or down. Unfortunately,
 only the scaled icons still get invisible on Aros 68k
 when you are dragging them around. But you can switch
 the icon label text ON for icon dragging to see their
 position while you move scaled icons around. Scalos
 can also be switched to chunky or native screen modes
 and will update and remap the icons and their colors
 automatically, if the wb39.plugin and wbrexx.plugin
 are installed and the RexxMast, rexxsupport.library 
 and rexxsyslib.library of OS 3.1 exist (not the Aros
 versions), C:RexxMast was started and the RX command
 can be found in C: or maybe somwehere in your PATH.
 Of course, Scalos needs to be started standalone as a
 replacement for Wanderer in your startup-sequence, if
 you really want to get most of Scalos' functionality.

 If your Aros 68k causes some transparent holes in the
 icons on Scalos after you've clicked on them and the
 mouse pointer is moved then you can avoid this bug by
 enabling the hardware sprite support in your emulator.

 Some Scalos preferences which can cause other issues:
 "Masked click area" for icons can make it impossible
 to select scaled icons. Disable it if this happens.
 "Mark icon under mouse" might also have side effects.
 Keep Deficons opaque in case that they disappear when
 you drag them around. This icon.library supports the
 custom bob routines with "Real Transparent" dragging,
 although the Scalos code seems to have a little bug,
 because it uses the masks of the first images for the
 dragged second images when this Truecolor mode is ON.
 There is a newer scalosgfx.library from 1.4.2025 for
 April fools which is buggy and crashes sometimes. You
 better replace it by the older file from Scalos 41.8.

 Download: https://sourceforge.net/projects/scalos

 The usage of GetARGBImageData1/2 tags was probably a
 bit limited, caused by of a restriction to Scalos RTG
 screens, which now only exists for the Scalos tasks.

 Some of the fixes in the palette based libraries:

 The handling of mixed Aros icons with 1 palette based
 image and 1 ARGB TrueColor image is the same as in my
 v51 libraries now, which means that the poor looking
 palette based image is replaced by a color reduction
 and color mapping of the TrueColor image with better
 quality.

 The viewmodes and drawer flags of PNG icons are also
 set correctly now. Don't know why they were set to 0?


 Letzte Änderungen:
 ~~~~~~~~~~~~~~~~~

 Es gibt jetzt eine neue palettenbasierte "Smart" 
 icon.library als besseren Ersatz für die 68020
 Version, die es mittels zweier zusätzlicher Level 
 von Alpha-Kanal Transparenz erlaubt, die Ränder 
 der Icons auf Hi/Truecolor Bildschirmen etwas
 weicher über dem Hintergrund auszublenden und
 auch teil-transparente Schatten ermöglicht. Das
 funktioniert jetzt mit nur einem Byte pro Pixel, 
 nachdem die TrueColor Icons konvertiert wurden.

 Im Vergleich zum Laden und Anzeigen von echten
 TrueColor Icons, zB. durch TC020, können diese
 konvertierten "SmartIcons" sehr schnell geladen
 und dargestellt werden und benötigen dabei viel
 weniger Speicher als PNG, OS4 und Aros Icons.
 "SmartIcons" besitzen zwei Alpha-Kanal Bereiche
 mit 37.5% und 62.5% Transparenz und berechnen
 die Farben dafür mittels zweier virtueller 3x3x3
 und 6x6x6 Farbwürfel und einem einfachen Hellig-
 keitsdithering per Schachbrettmuster, was noch
 weitere Mischfarben ermöglicht. Auf Chunky und
 planaren Bildschirmen wird die Alpha-Transparenz
 durch ein Mischen der Farben mit Grau ersetzt.

 Diese smarte Farbreduzierung ist trotzdem immer
 noch kompatibel zum OS 3.5 ColorIcon Format und
 die neuen Icons können auch mit allen anderen OS
 v44+ icon.libraries angezeigt werden, allerdings
 werden die transparenten Iconränder und Schatten
 dann durch ein Mischen mit Grauanteilen ersetzt,
 wie dies auch schon bisher bei der 68020 Version
 oder mit der Option ConvertTruecolor passierte.
 Die meisten meiner Libraries können jetzt auch
 TrueColor Icons zu SmartIcons konvertieren. Nur
 die 68000 Version, Smurf und Base tun es nicht.
 Die gepackte "Cool" Library ist Base plus Smart.

 Wenn man TrueColor Icons in den OS 3.9 IconEdit
 lädt, kann man durch Anklicken der ersten Farbe
 in der Palette, die mehr oder weniger als gelbe
 transparente Farbe erscheint, Informationen zum
 Alpha-Kanal erhalten. Der Rotanteil sollte 250,
 der Grünanteil 222 betragen und Blau zeigt die
 Anzahl der verwendeten Alphafarben an, die ganz
 am Ende der Palette erscheinen. Der hexadezimale
 RGB-Wert der Farbe #0 sollte also $FADE.. sein.
 Wenn man diese konvertierten Icons abspeichert,
 wird meine Palettenoptimierung allerdings Lücken
 und doppelte Farben aus der Palette entfernen,
 so dass sich deren Reihenfolge ändert, aber die
 2 teil-transparenten Alpha-Kanal Level bleiben.

 Leider löscht der OS 3.2.x IconEdit die Farbe 0
 und zerstört dadurch die Alpha-Transparenz, was
 man aber mit 3.9 wieder manuell reparieren kann.

 Die Aros Libraries sind jetzt auch v51 inklusive
 der ganzen ARGB Konvertierungsroutinen und dem
 Support für Scalos, bis auf die gepackte "Aroz"
 Version, die nur Wanderer unterstützt. Eine neue
 ARGB Icon-Ziehroutine von Wanderer im Deadwood
 Aros-Zweig funktioniert nun und alte sowie MWB
 Icons werden immer in ARGB Bilder mit MWB-Farben
 konvertiert und mit WritePixelArray() angezeigt.

 Die icon.library von Aros 68k muss zunächst aus
 der Liste der residenten Module entfernt werden,
 was man mittels "RemLib >NIL: icon.library" oder
 LoadModule tun kann. Um unter Aros DefIcons von
 ENV:Sys zu laden anstelle von ENVARC:Sys, sollte
 man auch ein "Assign ENV: ENVARC: ADD" benutzen.

 Download (classic): https://github.com/deadwood2/AROS

 Die Unterstützung für Scalos auf Aros 68k wurde
 bei den Aros und ArosHB Libs deutlich verbessert.
 Man muss dazu alle iconobject datatypes bis auf
 die zwei Dateien amigaiconobj35.datatype und den
 iconobject.datatype völlig aus dem Verzeichnis
 Scalos:icondatatypes/Datatypes entfernen, damit
 meine icon.library die Dekodierung aller Icons
 übernimmt und Scalos sie nur skaliert und anzeigt.
 Skalierte Icons werden unter Aros 68k beim Ziehen
 leider unsichtbar, aber man kann Iconlabel-Text
 für das Dragging aktivieren, um die Position zu
 verfolgen. Mit meinen Libraries kann man Scalos
 auch auf Chunky und native Bildschirme umschalten
 und die Icons werden dann automatisch remapped,
 wenn man auch das wb39.plugin und wbrexx.plugin
 installiert hat und RexxMast, rexxsupport.library
 sowie rexxsyslib.library von OS 3.1 benutzt. Mit
 den Aros Dateien funktioniert es nicht. RexxMast
 muss bereits laufen und der RX-Befehl sollte im
 C: Verzeichnis liegen oder irgendwo unter PATH.
 Um alle Eigenschaften von Scalos nutzen zu können,
 muss man es als Ersatz für Wanderer starten.

 Wenn Aros 68k transparente Löcher in den Icons
 auf Scalos erzeugt, sobald man sie anklickt und
 den Mauszeiger bewegt, kann man dies verhindern,
 indem man im Emulator Hardware Sprites aktiviert,
 um den Mauszeiger zu ersetzen.

 Einige Scalos Einstellungen können noch weitere
 Probleme bereiten: "Maskierte Klickbereiche" für
 Icons können es verhindern, dass man skalierte
 Icons selektieren kann. Man sollte es abschalten.
 "Icons unter der Maus markieren oder hervorheben"
 kann auch Nebeneffekte haben. Lasse DefIcons 100%
 sichtbar, falls sie beim Ziehen verschwinden.
 Eine neuere scalosgfx.library vom 1.4.2025 ist
 instabil, crasht manchmal und sollte gegen die
 alte aus Scalos v41.8 ersetzt werden.

 Download: https://sourceforge.net/projects/scalos

 
 Description:
 ~~~~~~~~~~~

 This is an optimized replacement for the icon.library
 of AmigaOS 3.0-3.9 or Aros 68k which can exist in the
 Kickstart ROM or is loaded from the LIBS: directory.

 This shared library offers several functions to load,
 decode, display and save icon images and to configure
 settings for the execution of the associated programs
 by storing tooltypes, a default tool, stacksize, icon
 position and drawer window data in the ".info" files. 

 Supported icon types are all old and MWB planar icons
 as well as color-mapped NewIcons or OS 3.5 ColorIcons
 and also OS4 and PNG TrueColor and merged Aros icons.

 All icons can be displayed either with the blitter or
 FBlit and the Amiga chipset or on a graphics card by
 P96 or CGX in their best quality as fast as possible.


 Beschreibung:
 ~~~~~~~~~~~~

 Dies ist ein optimierter Ersatz für die icon.library
 von AmigaOS 3.0-3.9 oder Aros 68k, die im Kickstart ROM
 existiert oder aus dem LIBS: Verzeichnis geladen wird.

 Diese Shared Library enthält die Funktionen zum Laden,
 Dekodieren, Anzeigen und Speichern von Piktogrammen und
 zum Verwalten von Einstellungen für die Ausführung der
 zugehörigen Programme durch Erfassen von Tooltypes, dem
 DefaultTool, der Stackgrösse, der Icon-Position und bei
 Verzeichnissen von Fensterdaten in den ".info"-Dateien. 

 Unterstützt werden alle alten planaren und MWB-Icons,
 sowie palettenbasierte NewIcons oder OS 3.5 ColorIcons,
 als auch OS4 oder PNG TrueColor-Icons und Aros Icons. 

 Alle Icons werden entweder per Blitter oder FBlit vom
 Amiga-Chipsatz oder mit P96 bzw CGX auf Grafikkarten in
 ihrer besten Qualität so schnell wie möglich angezeigt.


 Distribution:
 ~~~~~~~~~~~~

 This program is freeware. I don't give any warranties.
 You are using this program on your own risk and you
 are responsible for any damage it could cause to your
 system. This icon.library is completely independent
 and free of the AmigaOS copyright. :)

 Donations are welcome, if you like. (See IconLib.guide)


 Verteilung:
 ~~~~~~~~~~

 Dieses Programm ist Freeware. Ich gebe keine Garantien.
 Die Benutzung erfolgt auf eigenes Risiko und der Nutzer
 trägt für jegliche Schäden an seinem System selbst die
 Verantwortung. Diese icon.library ist vollständig frei
 und unabhängig vom AmigaOS Copyright. :)

 Spenden sind willkommen, wenn's gefällt. (Siehe Guide)


 Copyright 2007-2026:
 ~~~~~~~~~~~~~~~~~~~
   Peter Keunecke

Gratis

Descargar 2.2 MB

Desde el Amiga: abre Hangar y busca IconLib_46.4.

AutorPeter Keunecke
Categoríautil/libs
Tamaño2.2 MB
Fecha2026-11-02
Param68k-amigaos >= 3.0.0
Necesita68000 CPU or 68020+
OrigenAminet