OWBasic Standard Library

Gruppe ICON Start INTRO Alphabetischer Index

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_XSIZEx-Größe des Icons
I_YSIZEy-Größe des Icons
I_TAGIcon-Tag (zusätzliche Informationen)
I_SIZEGröß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

Gruppe ICON Start INTRO Alphabetischer Index