Bienvenue, Invité. Merci de vous connecter ou de vous inscrire.
Avez-vous perdu votre e-mail d'activation ?

Auteur Sujet: Slidebar avec des convexShape et du texte  (Lu 3995 fois)

0 Membres et 1 Invité sur ce sujet

Samuel Proulx

  • Full Member
  • ***
  • Messages: 118
    • Voir le profil
Slidebar avec des convexShape et du texte
« le: Août 29, 2012, 02:02:20 am »
Bonjour à tous et à toutes :)

Existe-t-il une solution afin de faire des subRect pour les convexShape et les Text comme les images afin de créer un effet de défilement parfaitement fluide avec des Slidebar ?

Merci et bonne journée :)

ps. bien évidemment, il s'agit de composants graphiques que j'ai fait afin d'avoir une GUI comme bon me semble en parlant de slidebar.

Laurent

  • Administrator
  • Hero Member
  • *****
  • Messages: 32498
    • Voir le profil
    • SFML's website
    • E-mail
Re : Slidebar avec des convexShape et du texte
« Réponse #1 le: Août 29, 2012, 08:27:55 am »
Non.

Il est toutefois possible de feinter avec une vue et son viewport défini de manière adéquate.
Laurent Gomila - SFML developer

Samuel Proulx

  • Full Member
  • ***
  • Messages: 118
    • Voir le profil
Re : Slidebar avec des convexShape et du texte
« Réponse #2 le: Août 29, 2012, 01:20:53 pm »
Ah effectivement, mais comment définir le viewport correctement étant donné qu'il est représenté en pourcentage ? (si on peut dire qu'entre 0 et 1 c'Est un pourcentage)

Cela signifie que je dois obtenir la résolution de la fenêtre et que je dois modifier le viewport s'il y a un Event::Resized ?

Laurent

  • Administrator
  • Hero Member
  • *****
  • Messages: 32498
    • Voir le profil
    • SFML's website
    • E-mail
Re : Slidebar avec des convexShape et du texte
« Réponse #3 le: Août 29, 2012, 01:54:12 pm »
Si le viewport était défini en pixels tu ferais comment ? Et bien fais la même chose, mais divise par la taille en plus ;)
Laurent Gomila - SFML developer

Samuel Proulx

  • Full Member
  • ***
  • Messages: 118
    • Voir le profil
Re : Slidebar avec des convexShape et du texte
« Réponse #4 le: Août 29, 2012, 03:54:52 pm »
Ah désolé, je n'avais pas regardé, mais Event::Resized a une structure contenant la nouvelle taille de la fenêtre (donc pas besoin de transmettre la nouvelle taille de la fenêtre en paramètre puisqu'elle est dans l'event).

De plus, chaque Widget dans ma GUI a déjà un pointeur vers la RenderWindow puisque chaque Widget a bien évidemment une méthode draw(). Je peux donc obtenir la taille de la fenêtre via ce pointeur lorsque la fenêtre contenant une scrollbar se fait déplacer par l'utilisateur.

En gros, j'ai pas besoin de changer quoique ce soit dans mon code youpi ! ;D ;)

Samuel Proulx

  • Full Member
  • ***
  • Messages: 118
    • Voir le profil
Re : Slidebar avec des convexShape et du texte
« Réponse #5 le: Août 29, 2012, 11:40:42 pm »
Bon. Voilà un gros problème avec la définition en pourcentage : la View fait de l'adoucissement, si on peut le dire ainsi, des pixels. Ce qui fait que le texte devient flou puisque la view a un décimal qui ne correspond pas exactement à un pixel précis puisque je fais une division entre le nombre de pixel que je veux et la taille de la fenêtre pour créer une fraction représentant un pourcentage entre 0 et 1.

Y a-t-il une solution pour que la SFML arrondisse les nombres afin de tomber sur des pixels précis plutôt que de rendre le tout flou ? (ce qui est plutôt moche... du moins sur du texte surtout quand ce ne sont pas toutes les lettres qui sont floues)

Merci et bonne journée ! :)

Laurent

  • Administrator
  • Hero Member
  • *****
  • Messages: 32498
    • Voir le profil
    • SFML's website
    • E-mail
Re : Slidebar avec des convexShape et du texte
« Réponse #6 le: Août 29, 2012, 11:47:08 pm »
Tu aurais un code complet minimal qui reproduit le problème dont tu parles ? (et par "complet et minimal" j'entends un main() simple avec un sf::Text et une sf::View, surtout pas ta GUI au grand complet)
Laurent Gomila - SFML developer

Samuel Proulx

  • Full Member
  • ***
  • Messages: 118
    • Voir le profil
Re : Slidebar avec des convexShape et du texte
« Réponse #7 le: Août 30, 2012, 12:58:17 am »
#include <iostream>

#include <SFML/Graphics.hpp>

using namespace std;
using namespace sf;

int main()
{
    RenderWindow m_app;
    m_app.create(VideoMode(800,600),"Dark Space");
    Text text;
    View view;
    view.setCenter(0,0);
    view.setSize(266.64,199.98);
    view.setViewport(FloatRect(0,0,0.3333,0.3333));
    text.setString("qwertyuiopasdfghjklzxcvbnm");
    text.setCharacterSize(14);
    while(m_app.isOpen())
    {
        Event event;
        while(m_app.pollEvent(event))
        {
        }
        m_app.clear(Color(25,25,25));
        m_app.setView(view);
        m_app.draw(text);
        m_app.setView(m_app.getDefaultView());
        m_app.display();
    }
    return 0;
}
 

Ce problème a déjà été évoqué et tu avais dit qu'avec peut-être la SFML 2.1 il y aurait un truc de clip et qu'en attendant, on doit utiliser glScissors : http://www.sfml-dev.org/old-forum-fr/viewtopic.php?p=36230

Ce problème est-il sensé être réglé depuis ou il persiste toujours ?

Samuel Proulx

  • Full Member
  • ***
  • Messages: 118
    • Voir le profil
Re : Slidebar avec des convexShape et du texte
« Réponse #8 le: Août 30, 2012, 02:41:17 am »
+

J'ai décidé d'utiliser glScissor qui s'avère tellement simple à mettre en place et de plus, il fait toutes les découpes peu importe pour quel widget correctement et sans flou contrairement à view.

Je crois que ça reste pour la sfml 2.0 la façon la plus simple de faire une scrollbar en place :)
« Modifié: Août 30, 2012, 03:46:23 am par neo007 »

Laurent

  • Administrator
  • Hero Member
  • *****
  • Messages: 32498
    • Voir le profil
    • SFML's website
    • E-mail
Re : Slidebar avec des convexShape et du texte
« Réponse #9 le: Août 30, 2012, 09:52:36 am »
Oui, ça marche aussi :)
Laurent Gomila - SFML developer