Zu Ihrer Unterstützung ist unten das Autodoc für die neue V40-Funktion WriteChunkyPixels beigefügt. Alle CD32-Entwickler sollten das volle OS V40 auf ihren Entwicklungsmaschinen haben, sowie V40 Autodocs, Includes, Libs and fds. Archive der V40-Workbench-Disk, V40-Kickfiles und V40-Entwicklungsdateien können von unserer nichtöffentlichen Entwickler-Konferenz bei BIX (US), ADPS (Europa) und CIX (UK) herunter geladen werden. graphics.library/WriteChunkyPixels graphics.library/WriteChunkyPixels NAME WriteChunkyPixels -- schreibt den Farben-Kennwert (pen number value) einer rechteckigen Gruppe von Pixeln, beginnend am mit x,y gekennzeichneten Ort und weiterlaufend bis zu einer anderen x,y-Position innerhalb eines bestimmten Rastports. (V40) SYNOPSIS WriteChunkyPixels(rp,xstart,ystart,xstop,ystop,array,bytesperrow) A0 D0 D1 D2 D3 A2 D4 VOID WriteChunkyPixels(struct RastPort *, LONG, LONG, LONG, LONG, UBYTE *, LONG); FUNKTION Für jedes Pixel in einem rechteckigen Bereich decodieren der Farb- Kennwert-Nummer (pen number) aus einer linearen Anordnung (linear array) von Kennwert-Nummern in die Bit-Ebenen, die zur Beschreibung eines bestimmten Rastports verwendet werden. EINGABEN rp - Zeiger auf eine RastPort-Strukture (xstart,ystart) - Anfangspunkt im RastPort (xstop,ystop) - Endpunkt im RastPort array - Zeiger auf ein Array von UBYTEs, von dem die Pixel-Daten zu holen sind. bytesperrow - Die Zahl der Bytes pro Reihe im Quell-Array. Sie sollte mindestens so groß sein wie die Zahl der Pixel, die je Linie geschrieben werden. RÜCKGABE ANMERKUNG xstop muss >= xstart sein ystop muss >= ystart sein Das Quell-Array kann im FAST RAM liegen. ===chunky-to-planar Umwandlungs-HW: GfxBase->ChunkyToPlanarPtr ist entweder NULL oder ein Zeiger auf ein HW-Register, das zur Unterstützung im Prozess der Umwandlung aus 8-Bit-Chunky-Pixeldaten in das Bit-Plane-Format der Custom- Chips des Amiga zur Bilddarstellung verwendet wird. Wenn NULL zurück gegeben wird, ist solche Hardware nicht vorhanden. Wenn ein Erweiterungsgerät Hardware zur Verfügung stellt, welche kompatibel arbeitet, dann kann es während des Bootens die HW-Adresse in diesen Zeiger installieren und das System verwendet sie. Dieser Zeiger kann zum direkten Zugang zur Umwandlung Chunky-to-Planar verwendet werden, wenn mehr gewünscht wird als die einfache Chunky- Pixel-Kopie, die mit WriteChunkyPixels() ausgeführt wird. Wenn die Hardware direkt verwendet wird, sollte nur auf sie zugegriffen werden, wenn dieser Auftrag (task) den Blitter kontrolliert (über OwnBlitter()), denn dies ist der notwendige Ausschluss (locking), um die Anwendung dieses Gerätes zu vermitteln. Die Hardware kann als Gerät angesehen werden, welches 32 8-Bit-Pixel akzeptiert und 8 Langworte an Bitplane-Daten ausgibt. Um korrekt zu arbeiten, müssen genau 8 Langworte (die 32 Pixel enthalten) Chunky-Daten nach *(GfxBase->ChunkyToPlanarPtr) geschrieben werden. Nachdem die Daten geschrieben wurden, können die Bitplane- Daten (beginnend mit Ebene (plane) 0) als jeweils ein Langwort zurück gelesen werden. Es nicht erforderlich alle 8 Langworte zurück zu lesen, wenn die Bitplanes höherer Ordnung nicht benötigt werden. Da (zur Zeit) WriteChunkyPixels nicht besonders schnell auf Systemen ohne die chunky-to-planar-Hardware ist, können zeitkritische Anwendungen (Spiele usw.) ihre eigenen angepassten Umwandlungs- Routinen anwenden, wenn GfxBase->ChunkyToPlanarPtr NULL ist und andernfalls WriteChunkyPixels() aufrufen. Dieser Zeiger ist nur vorhanden in GfxBase in der Version >= 40 der graphics.library, deshalb sollte das geprüft werden, ehe der Zeiger gelesen wird. BUGS Nicht besonders schnell auf Systemen ohne Hardware zur Chunky-to-Planar-Umwandlung. SIEHE AUCH WritePixel() graphics/rastport.h
Nähste Seite
Vorige Seite