Fix CRASH in Help screen, when pressing PageDown in pages of less than 16 lines. Bug is present in 98.0% release:(

Internal support for action shortcuts on joystick buttons, mousewheel, mouse3.
Mousewheel now scrolls lists in Save/Load, Text, Help.


git-svn-id: svn://pulkomandy.tk/GrafX2/trunk@589 416bcca6-2ee7-4201-b75f-2eb2f807beb1
This commit is contained in:
Yves Rizoud
2009-02-04 00:23:27 +00:00
parent 0c26dc6459
commit bb7f09fc8e
6 changed files with 195 additions and 72 deletions

View File

@@ -50,6 +50,8 @@
#include "sdlscreen.h"
#include "windows.h"
#include "brush.h"
#include "input.h"
#ifdef __WATCOMC__
#include <windows.h>
@@ -2893,14 +2895,14 @@ byte Bouton_Load_ou_Save(byte Load, byte Image)
case SDLK_PAGEDOWN : // Page Down
*Fichier_recherche=0;
Effacer_curseur();
Select_Page_Down(&Principal_File_list_Position,&Principal_File_list_Decalage);
Select_Page_Down(&Principal_File_list_Position,&Principal_File_list_Decalage,9);
On_vient_de_scroller_dans_le_fileselect(Scroller_de_fichiers);
Touche=0;
break;
case SDLK_PAGEUP : // Page Up
*Fichier_recherche=0;
Effacer_curseur();
Select_Page_Up(&Principal_File_list_Position,&Principal_File_list_Decalage);
Select_Page_Up(&Principal_File_list_Position,&Principal_File_list_Decalage,9);
On_vient_de_scroller_dans_le_fileselect(Scroller_de_fichiers);
Touche=0;
break;
@@ -2918,6 +2920,20 @@ byte Bouton_Load_ou_Save(byte Load, byte Image)
On_vient_de_scroller_dans_le_fileselect(Scroller_de_fichiers);
Touche=0;
break;
case TOUCHE_MOUSEWHEELDOWN :
*Fichier_recherche=0;
Effacer_curseur();
Select_Page_Down(&Principal_File_list_Position,&Principal_File_list_Decalage,3);
On_vient_de_scroller_dans_le_fileselect(Scroller_de_fichiers);
Touche=0;
break;
case TOUCHE_MOUSEWHEELUP :
*Fichier_recherche=0;
Effacer_curseur();
Select_Page_Up(&Principal_File_list_Position,&Principal_File_list_Decalage,3);
On_vient_de_scroller_dans_le_fileselect(Scroller_de_fichiers);
Touche=0;
break;
case SDLK_BACKSPACE : // Backspace
*Fichier_recherche=0;
// Si le choix ".." est bien en tête des propositions...
@@ -6146,6 +6162,37 @@ void Bouton_Texte()
A_redessiner=1;
A_previsionner=1;
}
if (Touche == TOUCHE_MOUSEWHEELUP && Debut_liste>0)
{
Position_curseur+=Debut_liste;
if (Debut_liste>=3)
Debut_liste-=3;
else
Debut_liste=0;
Position_curseur-=Debut_liste;
// On affiche à nouveau la liste
Effacer_curseur();
A_redessiner=1;
// Mise à jour du scroller
Scroller_de_fontes->Position=Debut_liste;
Fenetre_Dessiner_jauge(Scroller_de_fontes);
}
if (Touche==TOUCHE_MOUSEWHEELDOWN && Debut_liste<Fonte_nombre-NB_FONTES)
{
Position_curseur+=Debut_liste;
Debut_liste+=3;
if (Debut_liste+NB_FONTES>Fonte_nombre)
{
Debut_liste=Fonte_nombre-NB_FONTES;
}
Position_curseur-=Debut_liste;
// On affiche à nouveau la liste
Effacer_curseur();
A_redessiner=1;
// Mise à jour du scroller
Scroller_de_fontes->Position=Debut_liste;
Fenetre_Dessiner_jauge(Scroller_de_fontes);
}
if (Touche==Bouton[BOUTON_AIDE].Raccourci_gauche)
Fenetre_aide(BOUTON_TEXTE, NULL);
}