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
|
// ici on définit le type d'interface de code dont on a besoin,
// pas la lib utilisée derrière mais juste si c'est de la 2D,
// si on a besoin de précision niveau inputs, etc,
// histoire que le code de comportement puisse exploiter
// ces données sans avoir quelles sont les libs utilisées derrière.
typedef Farfelue::Interface< Farfelue::Input_MouseKeyboard , Farfelue::OutPut_2DFlatScreen > Interface; // classique : clavier + souris pour manipuler une interface 2D
//ensuite on définit les modules d'entrée et de sortie,
// dll ou autre, peu importe c'est du détail d'implémentation
Interface::input_system( "OIS" ); // on utilise la bibliothèque OIS pour acquérir clavier et souris, ça aurait pu être Win32 ou X, ou autre chose
Interface::output_system( "Win32" ); // on utilise Win32 pour l'affichage, ça aurait pu être OpenGL ou DirectX ou autre
Interface ma_fenetre("ma_fenetre"); // une fenetre
Interface mon_boutton("mon_boutton");// un boutton
// etc
/////////////////////////////////////////////////////////////////////////
// si on voulait utiliser des systemes différentes, par exemple sur un iPad :
typedef Farfelue::Interface< Farfelue::Input_MultiPoint , Farfelue::OutPut_2DFlatScreen > Interface; // multipointeurs + affichage 2D
// on encore, une interface custom pour un jeu vidéo par exemple
typedef Farfelue::Interface< Farfelue::Input_MouseKeyboard , Farfelue::OutPut_3DSolidSpace > Interface; // on veut manipuler l'interface avec l'équivalent d'un clavier/souris mais l'interface elle même sera représentée par des blocs dans un espace 3D...
// variante exemple
typedef Farfelue::Interface< Farfelue::Input_MultiTouch , Farfelue::OutPut_3DFlatSpace > Interface; // on veut manipuler l'interface avec du multi-pointeur mais l'interface elle même sera représentée par des espaces 2D dans un espace 3D... |
Partager