Ejemplo n.º 1
0
static void optimizeNode(fz_node *node) {
	if (!node) {
		return;
	}

	switch (node->kind) {
		case FZ_NIMAGE: optimizeImage((fz_imagenode*)node); break;
		case FZ_NMETA: optimizeMeta((fz_metanode*)node); break;
		case FZ_NOVER: optimizeOver((fz_overnode*)node); break;
		case FZ_NMASK: optimizeMask((fz_masknode*)node); break;
		case FZ_NBLEND: optimizeBlend((fz_blendnode*)node); break;
		case FZ_NTRANSFORM: optimizeTransform((fz_transformnode*)node); break;
		case FZ_NCOLOR: optimizeSolid((fz_solidnode*)node); break;
		case FZ_NPATH: optimizePath((fz_pathnode*)node); break;
		case FZ_NTEXT: optimizeText((fz_textnode*)node); break;
		case FZ_NSHADE: optimizeShade((fz_shadenode*)node); break;
		case FZ_NLINK: optimizeLink((fz_linknode*)node); break;
	}
}
Ejemplo n.º 2
0
/**
 * Main Application.  Currently, drawing styles are hardcoded in this method.
 * Future work may entail reading the styles from a .properties file.
 */
int main( int argc, const char* argv[] )
{
	FILE *pfile;
	LWGEOM *lwgeom;
	char line [2048];
	char *filename;
	int layerCount;
	int styleNumber;
	LAYERSTYLE *styles;

	getStyles(&styles);

	if ( argc != 2 )
	{
		lwerror("You must specifiy a wkt filename to convert.\n");
		return -1;
	}

	if ( (pfile = fopen(argv[1], "r")) == NULL)
	{
		perror ( argv[1] );
		return -1;
	}

	filename = malloc( strlen(argv[1])+11 );
	strncpy( filename, "../images/", 10 );
	strncat( filename, argv[1], strlen(argv[1])-3 );
	strncat( filename, "png", 3 );

	printf( "generating %s\n", filename );

	layerCount = 0;
	while ( fgets ( line, sizeof line, pfile ) != NULL && !isspace(*line) )
	{

		char output[2048];
		char *ptr = output;
		char *styleName;
		int useDefaultStyle;

		ptr += sprintf( ptr, "convert -size %s xc:none ", imageSize );

		useDefaultStyle = getStyleName(&styleName, line);
		LWDEBUGF( 4, "%s", styleName );

		if (useDefaultStyle)
		{
			printf("   Warning: using Default style for layer %d\n", layerCount);
			lwgeom = lwgeom_from_ewkt( line, PARSER_CHECK_NONE );
		}
		else
			lwgeom = lwgeom_from_ewkt( line+strlen(styleName)+1, PARSER_CHECK_NONE );
		LWDEBUGF( 4, "geom = %s", lwgeom_to_ewkt((LWGEOM*)lwgeom,0) );

		styleNumber = layerCount % length(styles);
		ptr += drawGeometry( ptr, lwgeom, getStyle(styles, styleName) );

		ptr += sprintf( ptr, "-flip tmp%d.png", layerCount );

		lwfree( lwgeom );

		LWDEBUGF( 4, "%s", output );
		system(output);

		addHighlight( layerCount );
		addDropShadow( layerCount );
		layerCount++;
		free(styleName);
	}

	flattenLayers(filename);
	optimizeImage(filename);

	fclose(pfile);
	free(filename);
	freeStyles(&styles);
	return 0;
}
Ejemplo n.º 3
0
Zombie::Zombie(){

	// Initialize variables
	x = rand()%800+40; //zombies spawn at random x coord, but same y coord
	if((x > 300) && (x < 600))
	{
		x = 100;
	}
	y = 318;
	xVel = 0;
	yVel = 0;
	direction = 1;
	health = 30;
	speed = 1;
	power = 10;
	isStanding = 1;
	isAttacking = 0;
	isDying = 0;
	Dead = 0;
	points = 10;
	enable = 0;
	handicap = 0;

	spawn = Mix_LoadWAV("music/waves/zombieSpawn.wav"); //loading spawn sound clip
	die = Mix_LoadWAV("music/waves/zombieDeath.wav"); //loading death sound clip
	Mix_PlayChannel(-1, spawn, 0);
	
	clipSelect = 0;
	
	SpriteZombie = optimizeImage("sprites/zombie.bmp"); //loading image
	
	// Define sprite clips
	moving[0].y = 140;
	moving[0].h = 50;
	movingL[0].y = 140;
	movingL[0].h = 50;
	moving[1].y = 140;
	moving[1].h = 50;
	movingL[1].y = 140;
	movingL[1].h = 50;
	moving[2].y = 140;
	moving[2].h = 50;
	movingL[2].y = 140;
	movingL[2].h = 50;
	
	movingL[0].x = 8;
	movingL[0].w = 30;
	movingL[1].x = 40;
	movingL[1].w = 30;
	movingL[2].x = 78;
	movingL[2].w = 30;
	
	moving[0].x = 118;
	moving[0].w = 30;
	moving[1].x = 158;
	moving[1].w = 30;
	moving[2].x = 195;
	moving[2].w = 30;
	
	dying[0].x = 5;
	dying[0].w = 25-5;
	dying[1].x = 30;
	dying[1].w = 70-30;
	dying[2].x = 70;
	dying[2].w = 110-70;
	dying[3].x = 115;
	dying[3].w = 155-115;
	dying[4].x = 155;
	dying[4].w = 195-155;
	dying[5].x = 195;
	dying[5].w = 235-195;
	dying[6].x = 235;
	dying[6].w = 275-235;
	dying[7].x = 5;
	dying[7].w = 45-5;
	dying[8].x = 45;
	dying[8].w = 75-45;
	dying[9].x = 75;
	dying[9].w = 105-75;
	
	dying[0].y = 285;
	dying[0].h = 335-285;
	dying[1].y = 285;
	dying[1].h = 335-285;
	dying[2].y = 285;
	dying[2].h = 335-285;
	dying[3].y = 285;
	dying[3].h = 335-285;
	dying[4].y = 285;
	dying[4].h = 335-285;
	dying[5].y = 285;
	dying[5].h = 335-285;
	dying[6].y = 285;
	dying[6].h = 335-285;
	dying[7].y = 335;
	dying[7].h = 385-335;
	dying[8].y = 335;
	dying[8].h = 385-335;
	dying[9].y = 335;
	dying[9].h = 385-335;

}