[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]