diff --git a/src/engine.cpp b/src/engine.cpp index fbe70f4..8c595df 100644 --- a/src/engine.cpp +++ b/src/engine.cpp @@ -82,6 +82,8 @@ void Engine::update() void Engine::start() { m_running = true; + for(int i = 0;i<5;i++) + m_sparrowshell->scrollUp(); while(!m_input->isCloseRequested() && m_running) update(); } diff --git a/src/sparrowshell.cpp b/src/sparrowshell.cpp index ffce338..854d800 100644 --- a/src/sparrowshell.cpp +++ b/src/sparrowshell.cpp @@ -39,10 +39,12 @@ void SparrowShell::out(std::string s) void SparrowShell::scrollUp(){ if (m_index + BUFFER_DISPLAYED_NUMBER < m_buffer.size()) m_index++; + std::cout << "scroll up" << std::endl; } void SparrowShell::scrollDown(){ if (m_index > 0) m_index--; + std::cout << "scroll up" << std::endl; } void SparrowShell::update() diff --git a/src/test/main.cpp b/src/test/main.cpp index b1b725a..35791bb 100644 --- a/src/test/main.cpp +++ b/src/test/main.cpp @@ -27,17 +27,16 @@ int main(){ SceneTree scene; /* Exemple creation mesh 2D - * -*/ + **/ Mesh* mesh = new Mesh(); - mesh->addRectangle2D(180, 400,5,5); + mesh->addRectangle2D(180, 400,10,64); PhongMaterial *mat = new PhongMaterial(); mat->diffuse = glm::vec3(1, 0.5, 0); mesh->setMaterial(mat); mesh->setDepth(1); mesh->initGL(); scene.addObject(scene.getRootObject(),new MeshNode(mesh)); -/* */ + /**/ /* Exemple ajout d'un objet a la scene * @@ -53,12 +52,10 @@ int main(){ Font* fonte_des_neiges = Loader::loadFont("../data/consolas.fnt","../data/consolas.png"); RESOURCE_ADD(fonte_des_neiges,Font,"shellfont"); - MeshNode* mnode/* = new MeshNode(fonte_des_neiges->getTextMesh("Hello World!")); scene.addObject(scene.getRootObject(),mnode)*/; - - mnode = new MeshNode(fonte_des_neiges->getTextMesh("WOW", glm::vec3(0.5, 0.7, 0.2))); + mnode = new MeshNode(fonte_des_neiges->getTextMesh("Portez ce vieux whisky au juge blond qui fume.", glm::vec3(0.5, 0.7, 0.2))); // mnode->setTransform(glm::rotate(glm::translate(glm::mat4(), glm::vec3(70, 30, 0)), 0.4f, glm::vec3(0, 0, 1))); utils::setPosition2D(mnode,glm::vec2(180, 400)); scene.addObject(scene.getRootObject(),mnode); @@ -80,7 +77,7 @@ int main(){ engine.outputShell("Hello World!"); engine.outputShell("Starting test :"); - for(int i = 0; i < 15; i++){ + for(int i = 0; i < 23; i++){ engine.outputShell(std::to_string(i)); } diff --git a/src/tools/utils.cpp b/src/tools/utils.cpp index 8bfc75f..054dcad 100644 --- a/src/tools/utils.cpp +++ b/src/tools/utils.cpp @@ -20,11 +20,12 @@ void utils::setPosition2D(MeshNode *mnode, glm::vec2 pos){ } void utils::resize2D(MeshNode *mnode, glm::vec2 dim, glm::vec2 new_dim){ + glm::vec2 ratio(new_dim / dim); + scale2D(mnode,ratio); +} + +void utils::scale2D(MeshNode* mnode, glm::vec2 ratio){ glm::mat4 tr = mnode->getTransform(); - glm::vec3 pos(tr[3]); - glm::vec2 ratio = new_dim / dim; - tr = glm::scale(tr, glm::vec3(1,ratio.y,1)); - glm::vec3 new_pos(tr[3]); - tr = glm::translate(tr,pos-new_pos); + tr = glm::scale(tr, glm::vec3(ratio.x,ratio.y,1)); mnode->setTransform(tr); } diff --git a/src/tools/utils.h b/src/tools/utils.h index eefd153..a56477c 100644 --- a/src/tools/utils.h +++ b/src/tools/utils.h @@ -12,6 +12,7 @@ namespace utils std::vector split(const std::string &line, char sep); void setPosition2D(MeshNode*, glm::vec2); void resize2D(MeshNode*, glm::vec2, glm::vec2); +void scale2D(MeshNode*, glm::vec2); } #endif // UTILS_H