示例#1
0
void MyKeyboardCallback(int key, int state)
{
	if (key==B3G_ESCAPE && window)
	{
		window->setRequestExit();
	}
	b3DefaultKeyboardCallback(key,state);
}
示例#2
0
static void SimpleKeyboardCallback(int key, int state)
{
    if (key==B3G_ESCAPE && gApp && gApp->m_window)
    {
        gApp->m_window->setRequestExit();
    } else
    {
        b3DefaultKeyboardCallback(key,state);
    }
}
示例#3
0
void MyKeyboardCallback(int key, int state)
{

	//printf("key=%d, state=%d\n", key, state);
	bool handled = false;
	if (gui)
	{

		handled = gui->keyboardCallback(key, state);
	}
	if (!handled && sCurrentDemo)
	{
		handled = sCurrentDemo->keyboardCallback(key,state);
	}

	//checkout: is it desired to ignore keys, if the demo already handles them?
	//if (handled)
	//	return;

	if (key=='w' && state)
	{
		wireframe=!wireframe;
		if (wireframe)
		{
			glPolygonMode( GL_FRONT_AND_BACK, GL_LINE );
		} else
		{
			glPolygonMode( GL_FRONT_AND_BACK, GL_FILL );
		}
	}
	if (key=='i' && state)
	{
		pauseSimulation = !pauseSimulation;
	}

	if (key=='s' && state)
	{
		useShadowMap=!useShadowMap;
	}

	if (key==B3G_ESCAPE && app && app->m_window)
	{
		app->m_window->setRequestExit();
	}

	b3DefaultKeyboardCallback(key,state);

}
示例#4
0
void MyKeyboardCallback(int key, int state)
{
	if (key=='w' && state)
	{
		wireframe=!wireframe;
		if (wireframe)
		{
			glPolygonMode( GL_FRONT_AND_BACK, GL_LINE );
		} else
		{
			glPolygonMode( GL_FRONT_AND_BACK, GL_FILL );
		}
	}

	if (key=='s' && state)
	{
		useShadowMap=!useShadowMap;
	}
	if (key=='g' && state)
	{
		gDrawGui = !gDrawGui;
	}

	if (key==B3G_ESCAPE && window)
	{
		window->setRequestExit();
	}
	if (key==B3G_F2)
	{
		if (state)
			exportMovie = !exportMovie;
	}
	if (key==B3G_F1)
	{
		if (state)
			exportFrame = true;
	}
	if (sDemo)
		sDemo->keyboardCallback(key,state);

	b3DefaultKeyboardCallback(key,state);
}