Esempio n. 1
0
WgMenuItem * WgMenu::_getItemAtPos( int x, int y )
{
	WgBorder	contentBorder = _getPadding();

	x -= contentBorder.left;
	y -= contentBorder.top;

	y += m_contentOfs;

	if( y > 0 && x > 0 && x < (int) ( Geo().w - contentBorder.right ) )
	{
		WgMenuItem * pItem = m_items.First();
		while( pItem )
		{
			if( pItem->IsVisible() )
			{
				if( pItem->GetType() == SEPARATOR )
					y -= m_sepHeight;
				else
					y -= m_entryHeight;

				if( y < 0 )
				{
					return pItem;
				}
			}
			pItem = pItem->Next();
		}
	}

	return 0;
}
Esempio n. 2
0
void WgTableHook::_requestRender()
{
	if( !m_bVisible )
		return;

	WgTablePanel* pTable = Row()->Table();
	if( pTable )
		pTable->_requestRender( Geo() );
}
void WgSimpleVolumeMeter::_updateSectionPixelHeight()
{
	int totalHeight = Geo().h;
	if( m_pSkin )
		totalHeight -= m_pSkin->ContentPadding().h;

	m_sectionPixelHeight[0] = (int) (m_sectionHeight[0] * totalHeight + 0.5f);
	m_sectionPixelHeight[1] =  ((int)((m_sectionHeight[0] + m_sectionHeight[1]) * totalHeight + 0.5f)) - m_sectionPixelHeight[0];
	m_sectionPixelHeight[2] = totalHeight - m_sectionPixelHeight[1] - m_sectionPixelHeight[0];
}
Esempio n. 4
0
WgRect WgTableHook::ScreenGeo() const
{
	return Geo() + Row()->Table()->ScreenPos();
}
Esempio n. 5
0
WgCoord WgTableHook::Pos() const
{
	return Geo();
}
Esempio n. 6
0
void WgMenu::ScrollbarHook::_requestRender()
{
	m_pParent->_requestRender( Geo() );
}
int main(int argc, char * argv[]) {
	int ret = -1;
	QApplication app(argc, argv);
	GuiSkellyTon gui;

#pragma region keyboard controller
	auto keyBoardController = resourceManager.addScript_src(Script::getScriptComponentTemplate("KeyboardController",
		//start
		"    self.KeySpeed = 9                                                      \n"
		"    self.MouseSpeed = .5                                                   \n"
		"",
		//update
		"    if(Input.getKeyDown(KeyCode.R)) then                                   \n"
		"       local tmp = self.parent.getTrans().pos().getY();                    \n"
		"       tmp = tmp + Timer.deltaTime() * self.KeySpeed                       \n"
		"       self.parent.getTrans().pos().setY(tmp);                             \n"
		"     end                                                                   \n"
		"														                    \n"
		"    if(Input.getKeyDown(KeyCode.W)) then                                   \n"
		"       local tmp = self.parent.getTrans().pos().getZ();                    \n"
		"       tmp = tmp - Timer.deltaTime() * self.KeySpeed                       \n"
		"       self.parent.getTrans().pos().setZ(tmp);                             \n"
		"     end                                                                   \n"
		"														                    \n"
		"    if(Input.getKeyDown(KeyCode.S)) then                                   \n"
		"       local tmp = self.parent.getTrans().pos().getZ();                    \n"
		"       tmp = tmp + Timer.deltaTime() * self.KeySpeed                       \n"
		"       self.parent.getTrans().pos().setZ(tmp);                             \n"
		"     end                                                                   \n"
		"														                    \n"
		"    if(Input.getKeyDown(KeyCode.F)) then                                   \n"
		"       local tmp = self.parent.getTrans().pos().getY();                    \n"
		"       tmp = tmp - Timer.deltaTime() * self.KeySpeed                       \n"
		"       self.parent.getTrans().pos().setY(tmp);                             \n"
		"     end                                                                   \n"
		"														                    \n"
		"    if(Input.getKeyDown(KeyCode.D)) then                                   \n"
		"       local tmp = self.parent.getTrans().pos().getX();                    \n"
		"       tmp = tmp + Timer.deltaTime() * self.KeySpeed                       \n"
		"       self.parent.getTrans().pos().setX(tmp);                             \n"
		"     end                                                                   \n"
		"														                    \n"
		"    if(Input.getKeyDown(KeyCode.A)) then                                   \n"
		"       local tmp = self.parent.getTrans().pos().getX();                    \n"
		"       tmp = tmp - Timer.deltaTime() * self.KeySpeed                       \n"
		"       self.parent.getTrans().pos().setX(tmp);                             \n"
		"     end                                                                   \n"
		"                                                                           \n"
		"    if(Input.getKeyDown(18)) then                                          \n"
		"       local x = self.MouseSpeed * Input.getMouse().delta().getY()         \n"
		"       local y = self.MouseSpeed * Input.getMouse().delta().getX()         \n"
		"       self.parent.getCam().rotate(x,y);                                   \n"
		"    end                                                                    \n"
		"                                                                           \n"
		"                                                                           \n"
		""));

#pragma endregion



	resourceManager.WorkingDir("./../resources/");
	resourceManager.loadNeumontStuff();

	auto shader = resourceManager.getDefault<ShaderProgram>();

	auto dragon  = resourceManager.add2DTexture("dragon","flying_dragon_1.png");
	auto texture = resourceManager.add2DTexture("space","space.png");


	EditorGame * game = gui.Game();

	game->AddEntity("Bob");
	auto comp = game->currentEntity.addComponent<RenderableComponent>();
	game->currentEntity.getTrans()->pos.z =  20;
	game->currentEntity.getTrans()->pos.z =  -20;
	comp->Geo(resourceManager.getFirstMesh("NU_Cube"));
	comp->Shader(shader);
	comp->material.Diffuse(dragon);
	comp = game->currentEntity.addComponent<RenderableComponent>();
	comp->material.Diffuse(texture);
	auto sphere = resourceManager.duplicate(resourceManager.getFirstMesh("NU_Sphere"));
	sphere->scale(2,1,1);
	comp->Geo(sphere);
	comp->Shader(shader);
	game->currentEntity.addComponent<ScriptComponent>()->myScript(resourceManager.addScript_src(Script::getScriptComponentTemplate("rotator",//random
		"    self.rotSpeed = Random.RangeFloat(10,300);      \n"
		"    return true                                     \n"
		"",
		"    local x = self.parent.GetScript('rotator').parent.getTrans().rot().getX();  \n"
		"    local x = self.parent.getTrans().rot().getX();  \n"
		"    x = x + Timer.deltaTime() * self.rotSpeed       \n"
		"    self.parent.getTrans().rot().setX(x);           \n"
		//"    GameManager.getEntityFromName('Bob').getTrans().rot().setY(50)\n          "
		"")));
	(void)keyBoardController;

	game->AddEntity("Cam");
	game->currentEntity.addComponent<CameraComponent>();
	game->currentEntity.addComponent<ScriptComponent>()->myScript(keyBoardController);

	game->AddEntity("Fast Rotator");
	game->currentEntity.addComponent<RenderableComponent>();
	game->currentEntity.getRenderable()->Geo(resourceManager.getFirstMesh("NU_Sphere"));
	game->currentEntity.getRenderable()->Shader(shader);
	game->currentEntity.addComponent<ScriptComponent>()->myScript(resourceManager.getFirstScript("rotator"));
	game->currentEntity.getTrans()->pos.x = 5;
	game->currentEntity.Parent("Bob");

	game->AddEntity("Swinger");
	game->currentEntity.addComponent<RenderableComponent>();
	game->currentEntity.getRenderable()->Geo(resourceManager.getFirstMesh("NU_Arrow"));
	game->currentEntity.getRenderable()->Shader(shader);
	game->currentEntity.addComponent<ScriptComponent>()->myScript(resourceManager.getFirstScript("rotator"));
	game->currentEntity.getTrans()->pos.y = 5;
	game->currentEntity.getTrans()->scale = glm::vec3(.5f,.5f,.5f);
	game->currentEntity.Parent("Bob");

	game->AddEntity("Super Swing");
	game->currentEntity.addComponent<RenderableComponent>();
	game->currentEntity.getRenderable()->Geo(resourceManager.getFirstMesh("NU_Plane"));
	game->currentEntity.getRenderable()->Shader(shader);
	game->currentEntity.addComponent<ScriptComponent>()->myScript(resourceManager.getFirstScript("rotator"));
	game->currentEntity.getTrans()->pos.y = 2;
	game->currentEntity.getTrans()->scale = glm::vec3(.2f,.2f,.2f);
	game->currentEntity.Parent("Swinger");

	gui.init();

	gui.show();

	ret = app.exec();

	_CrtSetDbgFlag( _CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF);
	return ret;
}