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()
|
void Bouton_Texte()
|
||||||
{
|
{
|
||||||
static char Chaine[256]="";
|
static char Chaine[256]="";
|
||||||
static int Taille_police=16;
|
static int Taille_police=32;
|
||||||
static int AntiAlias=0;
|
static int AntiAlias=1;
|
||||||
static short Debut_liste=0, Position_curseur=0; // Selecteur de fonte
|
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;
|
byte * Nouvelle_Brosse=NULL;
|
||||||
int Nouvelle_Largeur;
|
int Nouvelle_Largeur;
|
||||||
@ -5751,6 +5752,7 @@ void Bouton_Texte()
|
|||||||
struct Fenetre_Bouton_special * Bouton_taille_texte;
|
struct Fenetre_Bouton_special * Bouton_taille_texte;
|
||||||
struct Fenetre_Bouton_special * Bouton_texte;
|
struct Fenetre_Bouton_special * Bouton_texte;
|
||||||
struct Fenetre_Bouton_special * Bouton_preview;
|
struct Fenetre_Bouton_special * Bouton_preview;
|
||||||
|
struct Fenetre_Bouton_scroller * Scroller_de_fontes;
|
||||||
byte A_redessiner=1;
|
byte A_redessiner=1;
|
||||||
byte A_previsionner=1;
|
byte A_previsionner=1;
|
||||||
short Temp;
|
short Temp;
|
||||||
@ -5771,7 +5773,7 @@ void Bouton_Texte()
|
|||||||
|
|
||||||
// Scroller des fontes
|
// Scroller des fontes
|
||||||
Fenetre_Definir_bouton_scroller(94,33,NB_FONTES*8,Fonte_nombre,NB_FONTES,Debut_liste); // 4
|
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
|
// Liste des fontes disponibles
|
||||||
Fenetre_Definir_bouton_special(111,32,168,NB_FONTES*8); // 5
|
Fenetre_Definir_bouton_special(111,32,168,NB_FONTES*8); // 5
|
||||||
Fenetre_Afficher_cadre_creux(110, 31, 170, NB_FONTES*8+4);
|
Fenetre_Afficher_cadre_creux(110, 31, 170, NB_FONTES*8+4);
|
||||||
@ -5855,17 +5857,74 @@ void Bouton_Texte()
|
|||||||
Bouton_clicke=Fenetre_Bouton_clicke();
|
Bouton_clicke=Fenetre_Bouton_clicke();
|
||||||
if (Bouton_clicke==0)
|
if (Bouton_clicke==0)
|
||||||
{
|
{
|
||||||
if (Touche==SDLK_UP && Debut_liste>1)
|
if (Touche==SDLK_UP && (Position_curseur+Debut_liste)>0)
|
||||||
{
|
{
|
||||||
Touche=0;
|
Touche=0;
|
||||||
Bouton_clicke=4;
|
Effacer_curseur();
|
||||||
Fenetre_Attribut2=Debut_liste-1;
|
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);
|
||||||
|
}
|
||||||
|
A_redessiner=1;
|
||||||
|
A_previsionner=1;
|
||||||
}
|
}
|
||||||
if (Touche==SDLK_DOWN && Debut_liste+1+NB_FONTES<=Fonte_nombre)
|
if (Touche==SDLK_DOWN && (Position_curseur+Debut_liste)<(Fonte_nombre-1))
|
||||||
{
|
{
|
||||||
Touche=0;
|
Touche=0;
|
||||||
Bouton_clicke=4;
|
Effacer_curseur();
|
||||||
Fenetre_Attribut2=Debut_liste+1;
|
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)
|
switch(Bouton_clicke)
|
||||||
@ -5953,22 +6012,15 @@ void Bouton_Texte()
|
|||||||
|
|
||||||
|
|
||||||
case 11: // OK
|
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)
|
if (!Nouvelle_Brosse)
|
||||||
{
|
{
|
||||||
// Pas de texte saisi, ou echec de rendu.
|
// Si echec de rendu
|
||||||
Fermer_fenetre();
|
Fermer_fenetre();
|
||||||
Desenclencher_bouton(BOUTON_TEXTE);
|
Desenclencher_bouton(BOUTON_TEXTE);
|
||||||
Afficher_curseur();
|
Afficher_curseur();
|
||||||
Erreur(0);
|
Erreur(0);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
Effacer_curseur();
|
|
||||||
if (Brosse) free(Brosse);
|
if (Brosse) free(Brosse);
|
||||||
|
|
||||||
Brosse=Nouvelle_Brosse;
|
Brosse=Nouvelle_Brosse;
|
||||||
@ -5976,10 +6028,13 @@ void Bouton_Texte()
|
|||||||
Brosse_Hauteur=Nouvelle_Hauteur;
|
Brosse_Hauteur=Nouvelle_Hauteur;
|
||||||
Brosse_Decalage_X=Brosse_Largeur>>1;
|
Brosse_Decalage_X=Brosse_Largeur>>1;
|
||||||
Brosse_Decalage_Y=Brosse_Hauteur>>1;
|
Brosse_Decalage_Y=Brosse_Hauteur>>1;
|
||||||
|
|
||||||
|
// Fermeture
|
||||||
Fermer_fenetre();
|
Fermer_fenetre();
|
||||||
Desenclencher_bouton(BOUTON_TEXTE);
|
Desenclencher_bouton(BOUTON_TEXTE);
|
||||||
|
|
||||||
// On passe en brosse:
|
// On passe en brosse:
|
||||||
|
Afficher_curseur();
|
||||||
if (AntiAlias || !TrueType_fonte(Position_curseur+Debut_liste))
|
if (AntiAlias || !TrueType_fonte(Position_curseur+Debut_liste))
|
||||||
Changer_la_forme_du_pinceau(FORME_PINCEAU_BROSSE_COULEUR);
|
Changer_la_forme_du_pinceau(FORME_PINCEAU_BROSSE_COULEUR);
|
||||||
else
|
else
|
||||||
@ -5992,6 +6047,7 @@ void Bouton_Texte()
|
|||||||
while (Operation_en_cours!=OPERATION_DESSIN_DISCONTINU)
|
while (Operation_en_cours!=OPERATION_DESSIN_DISCONTINU)
|
||||||
Enclencher_bouton(BOUTON_DESSIN,A_DROITE);
|
Enclencher_bouton(BOUTON_DESSIN,A_DROITE);
|
||||||
}
|
}
|
||||||
|
//Afficher_curseur();
|
||||||
return;
|
return;
|
||||||
|
|
||||||
case 12: // Cancel
|
case 12: // Cancel
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user