示例#1
0
文件: testApp.cpp 项目: MrMdR/julapy
//--------------------------------------------------------------
void testApp::setup()
{
//	frameRate = 25;
	frameRate = 60;
	
	ofSetVerticalSync( true );
	ofSetFrameRate( frameRate );
	ofSetCircleResolution( 100 );
	
	screenGrab.setup( "movies/" );
//	screenGrab.setPause( false );
	
	tileSaver.init( 10, 0, true );
	
	bDebug		= false;
	bFullScreen	= false;
	bSmooth		= true;
	bDrawGhost	= true;
	bPause		= false;
	bUseCamera	= true;
	
	initColors();
	initCamera();
	initLogo();
	initCv();
	initContours();
	initBox2d();
	initOpticalField();
	initCirclePacker();
}
示例#2
0
void LSidle() {

	switch (LoadingProgress++) {
        case 0: initLogo();break;
        case 1: initializeBallTables(BallResolution); break;  //table init
        case 2: Ball[0].Init(0,TextureSize,BallResolution,Shadow); break; //ball0 init
        case 3: Ball[1].Init(1,TextureSize,BallResolution,Shadow); break;
        case 4: Ball[2].Init(2,TextureSize,BallResolution,Shadow); break;
        case 5: Ball[3].Init(3,TextureSize,BallResolution,Shadow); break;
        case 6: Ball[4].Init(4,TextureSize,BallResolution,Shadow); break;
        case 7: Ball[5].Init(5,TextureSize,BallResolution,Shadow); break;
        case 8: Ball[6].Init(6,TextureSize,BallResolution,Shadow); break;
        case 9: Ball[7].Init(7,TextureSize,BallResolution,Shadow); break;
        case 10: Ball[8].Init(8,TextureSize,BallResolution,Shadow); break;
        case 11: Ball[9].Init(9,TextureSize,BallResolution,Shadow); break;
        case 12: Ball[10].Init(10,TextureSize,BallResolution,Shadow); break;
        case 13: Ball[11].Init(11,TextureSize,BallResolution,Shadow); break;
        case 14: Ball[12].Init(12,TextureSize,BallResolution,Shadow); break;
        case 15: Ball[13].Init(13,TextureSize,BallResolution,Shadow); break;
        case 16: Ball[14].Init(14,TextureSize,BallResolution,Shadow); break;
        case 17: Ball[15].Init(15,TextureSize,BallResolution,Shadow); break;
        case 18: Table.Init(TableTextureSize); break;
        case 19: Lighting.Init(AmbientLighting,TableLamps,GreenLamp,Reflections); break;
        case 20: ShotStrength.Init(); break;
        case 21: Menu.Init(DisplayTextureSize); break;
        case 22: Menu.LoadLanguage(900); break;
        case 23: Menu.LoadLanguage(901); break;
        case 24: Menu.LoadLanguage(999); break;
        case 25: Menu.Init(DisplayTextureSize); break;
        case 26: BoardLayout(); break;
        case 27: Judge.NewGame(GameType); break;
        case 28: runGame(); break;
	}
	glutPostWindowRedisplay(CurrentWindow);
}
示例#3
0
void
init_image(ModeInfo * mi)
{
	Display *display = MI_DISPLAY(mi);
	Window window = MI_WINDOW(mi);
	imagestruct *ip;
	int i;

	if (ims == NULL) {
		if ((ims = (imagestruct *) calloc(MI_NUM_SCREENS(mi),
				sizeof (imagestruct))) == NULL)
			return;
	}
	ip = &ims[MI_SCREEN(mi)];
	if (message && *message) {
		XGCValues gcv;

#ifdef USE_MB
		mode_font = getFontSet(display);
		ip->text_descent = 0;
		ip->text_ascent = getFontHeight(mode_font);
#else
		mode_font = getFont(display);
		ip->text_descent = mode_font->descent;
		ip->text_ascent = mode_font->ascent;
#endif
		if (mode_font == None) {
			return;
		}
		initStrings(mi);
		ip->black = MI_BLACK_PIXEL(mi);

		free_image(display, ip);
		ip->pixh = (ip->lines + DELTA) * ip->text_height;
		if ((ip->pixmap = XCreatePixmap(display, window,
				ip->pixw, ip->pixh, 1)) == None) {
			free_image(display, ip);
			ip->pixw = 0;
			ip->pixh = 0;
			return;
		}
#ifndef USE_MB
		gcv.font = mode_font->fid;
#endif
		gcv.background = 0;
		gcv.foreground = 1;
		gcv.graphics_exposures = False;
		if ((ip->fgGC = XCreateGC(display, ip->pixmap,
				GCForeground | GCBackground | GCGraphicsExposures
#ifndef USE_MB
				| GCFont
#endif
				, &gcv)) == None) {
			free_image(display, ip);
			ip->pixw = 0;
			ip->pixh = 0;
			return;
		}
		gcv.foreground = 0;
		if ((ip->bgGC = XCreateGC(display, ip->pixmap,
				GCForeground | GCBackground | GCGraphicsExposures
#ifndef USE_MB
				| GCFont
#endif
				, &gcv)) == None) {
			free_image(display, ip);
			ip->pixw = 0;
			ip->pixh = 0;
			return;
		}
		XFillRectangle(display, ip->pixmap, ip->bgGC,
			0, 0, ip->pixw, ip->pixh);
		XSetForeground(display, MI_GC(mi), MI_WHITE_PIXEL(mi));
		for (i = 0; i < ip->lines; i++) {
			DrawString(display, ip->pixmap, ip->fgGC,
				ip->textStart[i],
				ip->text_ascent + i * ip->text_height,
				ip->strnew[i], strlen(ip->strnew[i]));
		}
		/* don't want any exposure events from XCopyPlane */
		XSetGraphicsExposures(display, MI_GC(mi), False);
	} else if (!initLogo(mi))
		return;

	ip->width = MI_WIDTH(mi);
	ip->height = MI_HEIGHT(mi);
	if (ip->width > ip->pixw)
		ip->ncols = ip->width / ip->pixw;
	else
		ip->ncols = 1;
	if (ip->height > ip->pixh)
		ip->nrows = ip->height / ip->pixh;
	else
		ip->nrows = 1;
	ip->border.x = ip->width - ip->ncols * ip->pixw;
	ip->border.y = ip->height - ip->nrows * ip->pixh;
	ip->iconcount = MI_COUNT(mi);
	if (ip->iconcount < -MINICONS)
		ip->iconcount = NRAND(-ip->iconcount - MINICONS + 1) + MINICONS;
	else if (ip->iconcount < MINICONS)
		ip->iconcount = MINICONS;
	if (ip->iconcount > ip->ncols * ip->nrows)
		ip->iconcount = ip->ncols * ip->nrows;
	if (ip->icons != NULL)
		free(ip->icons);
	if ((ip->icons = (imagetype *) malloc(ip->iconcount *
			sizeof (imagetype))) == NULL) {
		free_image(display, ip);
		return;
	}
	for (i = 0; i < ip->iconcount; i++)
		ip->icons[i].x = -1;
	if (!(message && *message)) {
		MI_CLEARWINDOWCOLORMAP(mi, ip->bgGC, ip->black);
	}
	draw_image(mi);
}