Text: tweaked and debugged the screen, Up/Down/Home/End allow easily changing the font
git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@326 416bcca6-2ee7-4201-b75f-2eb2f807beb1
This commit is contained in:
parent
3422eeff46
commit
29dae934f1
92
boutons.c
92
boutons.c
@ -5738,9 +5738,10 @@ void Dessiner_selecteur_fontes(short X, short Y, short Debut_liste, short Positi
|
||||
void Bouton_Texte()
|
||||
{
|
||||
static char Chaine[256]="";
|
||||
static int Taille_police=16;
|
||||
static int AntiAlias=0;
|
||||
static short Debut_liste=0, Position_curseur=0; // Selecteur de fonte
|
||||
static int Taille_police=32;
|
||||
static int AntiAlias=1;
|
||||
static short Debut_liste=0; // Indice de le premiere fonte dans le selector
|
||||
static short Position_curseur=0; // Indice de la ligne active dans le selector
|
||||
|
||||
byte * Nouvelle_Brosse=NULL;
|
||||
int Nouvelle_Largeur;
|
||||
@ -5751,6 +5752,7 @@ void Bouton_Texte()
|
||||
struct Fenetre_Bouton_special * Bouton_taille_texte;
|
||||
struct Fenetre_Bouton_special * Bouton_texte;
|
||||
struct Fenetre_Bouton_special * Bouton_preview;
|
||||
struct Fenetre_Bouton_scroller * Scroller_de_fontes;
|
||||
byte A_redessiner=1;
|
||||
byte A_previsionner=1;
|
||||
short Temp;
|
||||
@ -5771,7 +5773,7 @@ void Bouton_Texte()
|
||||
|
||||
// Scroller des fontes
|
||||
Fenetre_Definir_bouton_scroller(94,33,NB_FONTES*8,Fonte_nombre,NB_FONTES,Debut_liste); // 4
|
||||
|
||||
Scroller_de_fontes=Fenetre_Liste_boutons_scroller;
|
||||
// Liste des fontes disponibles
|
||||
Fenetre_Definir_bouton_special(111,32,168,NB_FONTES*8); // 5
|
||||
Fenetre_Afficher_cadre_creux(110, 31, 170, NB_FONTES*8+4);
|
||||
@ -5855,17 +5857,74 @@ void Bouton_Texte()
|
||||
Bouton_clicke=Fenetre_Bouton_clicke();
|
||||
if (Bouton_clicke==0)
|
||||
{
|
||||
if (Touche==SDLK_UP && Debut_liste>1)
|
||||
if (Touche==SDLK_UP && (Position_curseur+Debut_liste)>0)
|
||||
{
|
||||
Touche=0;
|
||||
Bouton_clicke=4;
|
||||
Fenetre_Attribut2=Debut_liste-1;
|
||||
Effacer_curseur();
|
||||
Position_curseur--;
|
||||
if (Position_curseur<0)
|
||||
{
|
||||
Debut_liste=Debut_liste+Position_curseur;
|
||||
Position_curseur=0;
|
||||
// Mise à jour du scroller
|
||||
Scroller_de_fontes->Position=Debut_liste;
|
||||
Fenetre_Dessiner_jauge(Scroller_de_fontes);
|
||||
}
|
||||
if (Touche==SDLK_DOWN && Debut_liste+1+NB_FONTES<=Fonte_nombre)
|
||||
A_redessiner=1;
|
||||
A_previsionner=1;
|
||||
}
|
||||
if (Touche==SDLK_DOWN && (Position_curseur+Debut_liste)<(Fonte_nombre-1))
|
||||
{
|
||||
Touche=0;
|
||||
Bouton_clicke=4;
|
||||
Fenetre_Attribut2=Debut_liste+1;
|
||||
Effacer_curseur();
|
||||
Position_curseur++;
|
||||
if (Position_curseur>(NB_FONTES-1))
|
||||
{
|
||||
Debut_liste=Debut_liste+Position_curseur-(NB_FONTES-1);
|
||||
Position_curseur=(NB_FONTES-1);
|
||||
// Mise à jour du scroller
|
||||
Scroller_de_fontes->Position=Debut_liste;
|
||||
Fenetre_Dessiner_jauge(Scroller_de_fontes);
|
||||
}
|
||||
A_redessiner=1;
|
||||
A_previsionner=1;
|
||||
}
|
||||
if (Touche==SDLK_HOME && (Position_curseur!=0 || Debut_liste!=0))
|
||||
{
|
||||
Touche=0;
|
||||
Effacer_curseur();
|
||||
Position_curseur=0;
|
||||
Debut_liste=0;
|
||||
// Mise à jour du scroller
|
||||
Scroller_de_fontes->Position=Debut_liste;
|
||||
Fenetre_Dessiner_jauge(Scroller_de_fontes);
|
||||
A_redessiner=1;
|
||||
A_previsionner=1;
|
||||
}
|
||||
if (Touche==SDLK_END && (Position_curseur+Debut_liste)<(Fonte_nombre-1))
|
||||
{
|
||||
Touche=0;
|
||||
Effacer_curseur();
|
||||
/*
|
||||
if (Position_curseur<(NB_FONTES-1))
|
||||
Position_curseur=(NB_FONTES-1);
|
||||
else
|
||||
{
|
||||
Position_curseur+=NB_FONTES;
|
||||
if (Position_curseur+Debut_liste >= (Fonte_nombre-1))
|
||||
Position_curseur = Fonte_nombre-1-Debut_liste;
|
||||
}*/
|
||||
Position_curseur=(Fonte_nombre-1)-Debut_liste;
|
||||
if (Position_curseur>(NB_FONTES-1))
|
||||
{
|
||||
Debut_liste=Debut_liste+Position_curseur-(NB_FONTES-1);
|
||||
Position_curseur=(NB_FONTES-1);
|
||||
// Mise à jour du scroller
|
||||
Scroller_de_fontes->Position=Debut_liste;
|
||||
Fenetre_Dessiner_jauge(Scroller_de_fontes);
|
||||
}
|
||||
A_redessiner=1;
|
||||
A_previsionner=1;
|
||||
}
|
||||
}
|
||||
switch(Bouton_clicke)
|
||||
@ -5953,22 +6012,15 @@ void Bouton_Texte()
|
||||
|
||||
|
||||
case 11: // OK
|
||||
if (Chaine[0]=='\0')
|
||||
{
|
||||
// Pas de texte saisie: on fait seulement le ménage et on sort.
|
||||
free(Nouvelle_Brosse);
|
||||
Nouvelle_Brosse=NULL;
|
||||
}
|
||||
if (!Nouvelle_Brosse)
|
||||
{
|
||||
// Pas de texte saisi, ou echec de rendu.
|
||||
// Si echec de rendu
|
||||
Fermer_fenetre();
|
||||
Desenclencher_bouton(BOUTON_TEXTE);
|
||||
Afficher_curseur();
|
||||
Erreur(0);
|
||||
return;
|
||||
}
|
||||
Effacer_curseur();
|
||||
if (Brosse) free(Brosse);
|
||||
|
||||
Brosse=Nouvelle_Brosse;
|
||||
@ -5976,10 +6028,13 @@ void Bouton_Texte()
|
||||
Brosse_Hauteur=Nouvelle_Hauteur;
|
||||
Brosse_Decalage_X=Brosse_Largeur>>1;
|
||||
Brosse_Decalage_Y=Brosse_Hauteur>>1;
|
||||
|
||||
// Fermeture
|
||||
Fermer_fenetre();
|
||||
Desenclencher_bouton(BOUTON_TEXTE);
|
||||
|
||||
// On passe en brosse:
|
||||
Afficher_curseur();
|
||||
if (AntiAlias || !TrueType_fonte(Position_curseur+Debut_liste))
|
||||
Changer_la_forme_du_pinceau(FORME_PINCEAU_BROSSE_COULEUR);
|
||||
else
|
||||
@ -5992,6 +6047,7 @@ void Bouton_Texte()
|
||||
while (Operation_en_cours!=OPERATION_DESSIN_DISCONTINU)
|
||||
Enclencher_bouton(BOUTON_DESSIN,A_DROITE);
|
||||
}
|
||||
//Afficher_curseur();
|
||||
return;
|
||||
|
||||
case 12: // Cancel
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user