Coucou a tous !
Je vais de ce pas expliciter ce texte peu clair !

Mon but ? J'ai une chaine de caractére composé de texte et de balise ( type html~ ); je veut juste afficher mon texte formaté a l'ecran . Pour ca , j'ai trouvé une fonction qui remplie semble-til correctement son rôle ( bon j'en suis au tout début, donc c'est trés rudimentaire et il manque pas mal de fonction .

Pour l'instant je me contente de formater le exte sur UNE seule ligne et avec une seule balise .

Mon probléme réside dans le fait que mon texte ne se place pas ou je le souhaite dans l'espace ( le premir mot est toujour ou il faut, mais les suivant ne sont pas a une distance normale des autre mots .)
Je sais a quoi c'est du, mais je ne vois pas trop comment le résoudre
( c'est du a la ligne
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
TraiterTexte(reste2,x+(12*pos),y);
voici le code de la fonction en entier :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
 
void cTexteDialogue::TraiterTexte(std::string temp, int x, int y)
{
	std::string::size_type pos;
	std::string::size_type pos2;
	std::string balise ;
	std::string reste ;
	std::string reste2 ;
 
	pos = temp.find('[');
 
	if (pos == std::string::npos )
	 {
       cTexteManager::GetInstance().glPrint(x,y,temp.c_str());
	 }
	if (pos == 0 )
	{
		pos2 = temp.find(']');
		balise.insert(0,temp, 1 , pos2-1 );
		TraiterBalise(balise);
 
		reste.insert(0,temp,pos2+1, std::string::npos);
		TraiterTexte(reste,x,y);
	}
	if ( pos > 0 && (  pos != std::string::npos ) )
	{
		reste.insert(0,temp,0,pos);
		TraiterTexte(reste,x,y);
 
		reste2.insert(0,temp,pos,std::string::npos);
		TraiterTexte(reste2,x+(12*pos),y);	
	}
 
}
Je peut expliquer certain passage si ce n'est pas trés clair !
Enfait il me juste savoir OU et de combien je doit me deplacer selon x .
( le *12 est une valeur arbitraire, car je ne connais la taille exacte d'un font en largeur ; mais au pire, par tatonnement je devrai trouver la constante qui me convient, une fois la bonne formule ( en fonction de TAILLE_FONT ) trouvée !
merci d'avance !
edit: mon texte est de la forme :
"AAAaaaaaaaaa [Color 255;0;0]HeHe[/Color] lol lol[Color 255;0;0] non Mais ohoo[/Color]"
ps: si je me trompe de forum, n'hésitez pas a déplacer !