void Layer::grand() { CURSEUR->gerer(sprite); if (INPUT->again(Qt::LeftButton)) { CURSEUR->init(sprite); posf = VECTOR2F(INPUT->getPixel()); } if (INPUT->pressed(Qt::LeftButton)) { if (INPUT->pressed(Qt::Key_Control)) { int max_size = std::max(sprite.getTextureRect().width, sprite.getTextureRect().height); sf::Vector2f pos_mouse = Fonction::selecPointRect(posf, VECTOR2F(INPUT->getPixel())).distance; setScale(sf::Vector2f(1.f + pos_mouse.x / max_size, 1.f + pos_mouse.y / max_size)); } else setScale(sf::Vector2f(1.f + (INPUT->getPixel().x - posf.x) / this->getSize().x, 1.f + (INPUT->getPixel().y - posf.y) / this->getSize().y)); } else if (INPUT->released(Qt::LeftButton)) { sf::Vector2f scale = sprite.getScale(); sf::Texture text = renderTexture.getTexture(); sf::Sprite spr(text); renderTexture.create(sprite.getGlobalBounds().width, sprite.getGlobalBounds().height); renderTexture.clear(sf::Color::Transparent); spr.setPosition(sprite.getPosition().x - sprite.getGlobalBounds().left, sprite.getPosition().y - sprite.getGlobalBounds().top); spr.setScale(scale); spr.setOrigin(sprite.getOrigin()); renderTexture.draw(spr, sf::BlendNone); renderTexture.display(); sprite.setTexture(renderTexture.getTexture(), true); UNDO->beginMacro(); update(); UNDO->push(*new LayerMoved(this, sf::Vector2f(0, 0))); UNDO->endMacro(); sprite.setOrigin(0, 0); sprite.setPosition(0, 0); sprite.setScale(1, 1); sf::FloatRect bounds = sprite.getGlobalBounds(); emit layerMoved(sf::Vector2f(bounds.left, bounds.top)); emit layerScaled(sf::Vector2f(bounds.width, bounds.height)); } }
void Layer::move() { if (INPUT->again(Qt::RightButton)) { posi = INPUT->getPixel(); posf = getPosition(); } if (INPUT->pressed(Qt::RightButton)) { sf::Vector2f move; if (INPUT->pressed(Qt::Key_Control)) { sf::Vector2f pos_mouse = Fonction::selecPointRect(VECTOR2F(posi), VECTOR2F(INPUT->getDeltaPixel())).distance; pos_mouse = CALL_VECTOR2F(pos_mouse, floor); move = pos_mouse + posf; setPosition(move); } else translate(VECTOR2F(INPUT->getDeltaPixel())); } else if (INPUT->released(Qt::RightButton)) if (getPosition() != posf) UNDO->push(*new LayerMoved(this, getPosition())); }
void SelectionController::move() { if (INPUT->again(Qt::RightButton)) { pos_init = INPUT->getPixel(); pos_selec = getPosition(); } if (INPUT->pressed(Qt::RightButton)) { sf::Vector2f final_pos; if (INPUT->pressed(Qt::Key_Control)) { sf::Vector2f pos_mouse = Fonction::selecPointRect(VECTOR2F(pos_init), VECTOR2F(INPUT->getPixel())).distance; pos_mouse.x = floor(pos_mouse.x); pos_mouse.y = floor(pos_mouse.y); final_pos.x = pos_mouse.x + pos_selec.x; final_pos.y = pos_mouse.y + pos_selec.y; setPosition(final_pos); } else translate(VECTOR2F(INPUT->getDeltaPixel())); } else if (INPUT->released(Qt::RightButton)) if (getPosition() != pos_selec) UNDO->push(*new SelecMoved(this, getPosition())); }
sf::Vector2f Fonction::bottomRightCorner(const sf::Vector2f& size) { return VECTOR2F(size); }
sf::Vector2f Fonction::bottomRightCorner(const sf::Image& image) { return VECTOR2F(image.getSize()); }
sf::Vector2f Fonction::bottomRightCorner(const sf::Texture& texture) { return VECTOR2F(texture.getSize()); }
VECTOR2F TPlayer::GetPosition() { return VECTOR2F(this->_x, this->_y); }