[Back to GRAPHICS SWAG index] [Back to Main SWAG index] [Original]
{
=================================================================
FILENAME  : PIXFADIN.PAS
AUTHOR    : SCOTT "Lieutenant Kojak" TUNSTALL
CREATION  : 24TH NOVEMBER 1996
DATE
PURPOSE   : To demonstrate the fast blit functions of KOJAKVGA 3.
NOTES     :
I saw this 16 x 10 pixel "fade-in" first at College and thought
"ooh! Ain't that smart" (well, I'd never seen a SVGA PC before;
I'd come from Amiga-Land, 32 colours etc. etc.)
As a programming exercise I reproduced the effect with my
KOJAKVGA unit. Hope you like it.
What YOU do is:
o Specify the name of the PCX file to fade in (can be up to 320 x
  200 in size) as the command line parameter.
o Gasp with amazement as the PCX fades into your view.
  (That was sarcasm)
o Press CTRL+ALT+DEL to rid yourself of the misery.
DISCLAIMER :
Use this at your own risk. If you really must.
This program works just dandy on my PC.
-----------------------------------------------------------------
}
Uses KOJAKVGA,crt;
const BLOCK_WIDTH = 16;      { 320 MOD BLOCK_WIDTH must always be 0 }
      BLOCK_HEIGHT = 20;     { 200 MOD BLOCK_HEIGHT must always be 0 }
Var TempBitmap : pointer;
    TempPal    : PaletteType;
    xc,yc      : word;
    Count      : word;
Begin
     TempBitmap:=New64KBitmap;
     UseBitmap(TempBitmap);
     Cls;
     LoadPCX(ParamStr(1),TempPal);
     InitVGAMode;
     UsePalette(TempPal);
     Randomize;
     Repeat
           xc:=random(320 div BLOCK_WIDTH);
           yc:=random(200 div BLOCK_HEIGHT);
           { Syntax for CopyAreaToBitmap is:
             CopyAreaToBitmap(x1,y1,x2,y2,DestPtr,DestX,DestY)
           }
           CopyAreaToBitmap(xc*BLOCK_WIDTH,yc*BLOCK_HEIGHT,
           (xc*BLOCK_WIDTH)+(BLOCK_WIDTH-1),
           (yc*BLOCK_HEIGHT)+(BLOCK_HEIGHT-1),
           ptr($a000,0),xc*BLOCK_WIDTH,yc*BLOCK_HEIGHT);
           Delay(40);
     Until keypressed;
     FreeBitmap(TempBitmap);
End.
[Back to GRAPHICS SWAG index] [Back to Main SWAG index] [Original]