Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ (3GC) — Aviator 1.8

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

fbcall(3G)

fbend(3G)

fbget(3G)

fbput(3G)

fbstart(3G)

###############################################################################
#                                                                             #
#  Copyright © 1989-1991 by Artificial Horizons®, Inc.  All rights reserved.  #
#                                                                             #
#      This material  constitutes  the trade  secrets  and confidential,      #
#      proprietary information of Bruce Factor and Curtis Priem,  and is      #
#      under license  to Artificial Horizons, Inc.   The material is not      #
#      to be disclosed,  reproduced,  copied,  or used in any manner not      #
#      permitted under license from Artificial Horizons, Inc.   For more      #
#      information email "ahi-interest@ahi.com".                              #
#                                                                             #
###############################################################################

BLIT(3GC)             AVIATOR GRAPHICS INTERFACE CLASSES              BLIT(3GC)



NAME
        FB_CLASS__BLIT_2DS - block image 2D screen transfer class

SYNOPSIS
        #include <agi.h>
        register Fbuffer fbp;

        fbstart(fbp, FB_CLASS__BLIT_2DS)  {
        }  fbend(fbp);

DESCRIPTION
        The class FB_CLASS__BLIT_2DS is used for copying a block of raster
        pixels (source) from one part of the frame buffer to another part of
        the frame buffer (destination).

MEMBERS
        The following public members can be accessed by using routines
        fbput(3G) and fbget(3G).  These 32 bit numbers can be signed integer,
        signed 16.16 fixed point, or IEEE single precision floating point
        format.  The coordinate (0,0) is the upper left corner of the paint
        canvas, or the upper left corner of the frame buffer when running
        without a windowing system.

        FB_MEMBER__SRC_XMIN__INTEGER
        FB_MEMBER__SRC_XMIN__FIXED
        FB_MEMBER__SRC_XMIN__FLOAT
                SRC_XMIN is the left most pixel of the source raster.
        FB_MEMBER__SRC_YMIN__INTEGER
        FB_MEMBER__SRC_YMIN__FIXED
        FB_MEMBER__SRC_YMIN__FLOAT
                SRC_YMIN is the top most pixel of the source raster.
        FB_MEMBER__SRC_XMAX__INTEGER
        FB_MEMBER__SRC_XMAX__FIXED
        FB_MEMBER__SRC_XMAX__FLOAT
                SRC_XMAX is the right most pixel of the source raster.
        FB_MEMBER__SRC_YMAX__INTEGER
        FB_MEMBER__SRC_YMAX__FIXED
        FB_MEMBER__SRC_YMAX__FLOAT
                SRC_YMAX is the bottom most pixel of the source raster.
        FB_MEMBER__DST_XMIN__INTEGER
        FB_MEMBER__DST_XMIN__FIXED
        FB_MEMBER__DST_XMIN__FLOAT
                DST_XMIN is the left most pixel of the destination raster.
        FB_MEMBER__DST_YMIN__INTEGER
        FB_MEMBER__DST_YMIN__FIXED
        FB_MEMBER__DST_YMIN__FLOAT
                DST_YMIN is the top most pixel of the destination raster.
        FB_MEMBER__DST_XMAX__INTEGER
        FB_MEMBER__DST_XMAX__FIXED
        FB_MEMBER__DST_XMAX__FLOAT
                DST_XMAX is the right most pixel of the destination raster.
        FB_MEMBER__DST_YMAX__INTEGER
        FB_MEMBER__DST_YMAX__FIXED
        FB_MEMBER__DST_YMAX__FLOAT
                DST_YMAX is the bottom most pixel of the destination raster.

FUNCTIONS
        The following public functions can be called by using the fbcall(3G)
        routine:

        FB_FUNCTION__STORE
                The STORE function stores the current SRC and DST coordinates
                into the frame buffer.
        FB_FUNCTION__RENDER
                The RENDER function causes the frame buffer to blit from the
                SRC raster to the DST raster.

SEE ALSO
        fbcall(3G), fbend(3G), fbget(3G), fbput(3G), fbstart(3G)

PERFORMANCE
        INTEGER is the fastest format.

        The fastest blit is vertical of less than 2-3 (depending on frame
        buffer) lines or horizontal which are a multiple of 16 pixels (100%).
        The next fastest blits are horizontal which are not a multiple of 16
        pixels (64%).  The vertical blits of more than 2-3 lines are slower
        (54%).  The slowest blit is vertical non-aligned to 16 pixels (41%).



AGI Release 1.8         Last change: 25 December 1991

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026