Laden eines Icon-Archives
I_LOADFILE!(POINTERS%[], BUFFER%[], cat%, name$)
Die Funktion lädt das Icon-Archiv mit dem Namen name aus der Kategorie cat. Der Dateimodus wird durch die globale Variable i_mode, standardmäßig 3 (Memo), angegeben. Die Icons werden im Array BUFFER gespeichert, es sollte daher ausreichend Platz bieten. In BUFFER[0] wird die Anzahl der Icons gespeichert.
Für den Parameter POINTERS muß ein Zeiger auf ein Zeigerarray übergeben werden, in welchem die Verweise auf die Icons abgelegt werden.
Beispiel:
! icondemo3
#I_USED=1
INCLUDE StdIcon
DIM buf[2000] :! icon buffer
DIM &ptr[200] :! icon pointers
IF NOT I_LOADFILE!(*&&ptr,buf,4,"greek") THEN
PRINT "File 'greek' not found"
END 1
ENDIF |
Der Zugriff auf die Icons erfolgt über das Zeigerarray (siehe dazu die Anwendung von Zeigerarrays in der OWBasic-Dokumentation). Die folgenden Informationen zu den jeweiligen Icons stehen außerdem zur Verfügung:
I_XSIZE | x-Größe des Icons |
I_YSIZE | y-Größe des Icons |
I_TAG | Icon-Tag (zusätzliche Informationen) |
I_SIZE | Größe des Icons in Integereinheiten |
Das Icon-Tag hat keine vordefinierte Bestimmung und kann von der Anwendung nach Belieben benutzt werden. Eine Ausnahme stellen hier mittels FT_DRAW darzustellende Fonts dar.
Auf die Icons und die zusätzlichen Informationen wird folgendermaßen zugegriffen:
nr=RND(buf[0]-1)
PRINT "nr.: ";
PRINT nr
PRINT "tag: ";
PRINT ~ptr[nr][#I_TAG]
PRINT "x size: ";
PRINT ~ptr[nr][#I_XSIZE]
PRINT "y size: ";
PRINT ~ptr[nr][#I_YSIZE]
DRAWICON ~ptr[nr], 80, 10 |
|