Ejemplo n.º 1
0
/*===========================================================================*/
void _main(void) {
#define bsize (100*20+4) // Size of a bitmap for a 160x100 screen.
    int i;
    LCD_BUFFER lcd;
    static const SCR_RECT theScreen = {{0,0,159,99}};
    unsigned char sscreen[bsize];
    unsigned char sscreen2[bsize];

    LCD_save(lcd);

    BitmapGet(&theScreen,sscreen);
    memset(sscreen2,0,bsize);
    ((BITMAP*)sscreen2)->NumRows=((BITMAP*)sscreen)->NumRows;
    ((BITMAP*)sscreen2)->NumCols=((BITMAP*)sscreen)->NumCols;
    GKeyFlush();
    for (i = 0; (i <= 360) && (!kbhit()); i++)
    {
        RotateSpriteX8_R(((BITMAP*)sscreen)->Data,((BITMAP*)sscreen2)->Data,160,100,80,50,i);
        ClrScr();
        FastCopyScreen160to240_R(100,((BITMAP*)sscreen2)->Data,LCD_MEM);
    }

    LCD_restore(lcd);
    GKeyFlush();
    ST_helpMsg(EXTGRAPH_VERSION_PWDSTR);
#undef bsize
}
Ejemplo n.º 2
0
int main()
{
	COUNT numFlags;
	INDEX input;
	COUNT inputNum;
	BITMAP_WORD * flags;

	printf("Enter a number of flags\n");
	scanf("%ld", &numFlags);

	printf("Need %ld bytes\n", BitmapSize( numFlags ) * sizeof( BITMAP_WORD ) );

	flags = malloc( BitmapSize( numFlags ) * sizeof( BITMAP_WORD ) );
	
	do
	{
		BitmapPrint( flags, numFlags );
		printf("1 Set, 2 Clear, 3 Find First Flag, 4 Get Flag, 5 Quit\n");
		scanf("%ld", & input );
		switch( input )
		{
			case 1:
				printf("what index?");
				scanf("%ld",&inputNum);
				BitmapOn( flags, inputNum );
				break;
			case 2:
				printf("what index?");
				scanf("%ld",&inputNum);
				BitmapOff( flags, inputNum );
				break;
			case 3:
				printf("looking for flag\n");
				printf("first flag was %d\n", (int) BitmapGetFirstFlag( flags, numFlags ));
				break;
			case 4:
				printf("what index?");
				scanf("%ld",&inputNum);
				if( BitmapGet( flags, inputNum ) ) {
					printf("SET\n");
				} else {
					printf("CLEAR\n");
				}
				break;
			case 5:
				printf("have a good day\n");
				break;
			default:
				continue;
		}
	}while( input != 5 );
	return 0;
}