Fonctions de classes de politiques par default
Bonjour,
je code une sorte de wrapper autour de Glut pour la gestion de fenêtres OpenGL.
Glut a une liste de callbacks que l'on n'est pas forcé de définir, par exemples :
Code:
1 2
| glutKeyboardFunc (keyboardFunc);
glutMouseFunc (mouseFunc); |
Pour mon wrapper j'ai décidé de coder les callbacks sous forme de classes de politiques et de créer les nouvelles classes de fenêtres comme ça :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| struct MyCallbacks {
static void keyboardFunc (uint8_t key, int x, int y) {
// on gère le clavier
}
static void mouseFunc (int button, int state, int x, int y) {
// on gère la souris
}
// etc...
};
template <typename CB>
class GlutWindow {
GlutWindow() {
//...
glutKeyboardFunc (CB::keyboardFunc);
glutMouseFunc (CB::mouseFunc);
}
};
typedef GlutWindow<MyCallbacks> MyWindow; |
Alors vous voyez surement apparaître le problème, s'il y a 15 callbacks, est-ce que je suis obligé de créer 15 fonctions dans ma politique qui resteront pour la plupart vides ?
Ou alors existe-t-il un moyen d'utiliser des fonctions par default et de ne définir que les fonctions qui serviront à quelque chose ?
Merci pour votre aide.