AntTweakBar
Definitivamente hay ciertas librerías que marcan un antes y un después en la vida de un developer. AntTweakBar es una de éstas.
El debugging de una aplicación visual no volverá a ser la misma una vez que conozcan a esta pequeña librería, eso se los aseguro.
Sólamente 2 funciones participan en la inicialización:
TwInit(TW_OPENGL, NULL); // en el caso que estemos usando ogl
TwWindowSize(SCREENWIDTH, SCREENHEIGHT);
// es asi, no usa variables
Para crear una tweakbar y asignar una variable a ser ‘tweakeada’, un ejemplo de un double:
TwBar *bar;
double var;
bar = TwNewBar("TweakBar");
TwAddVarRO(bar, "Variable", TW_TYPE_DOUBLE, &var, " label='My Var' help='Change value of my var' ");
Esa es toda la inicialización necesaria. Luego, en cada frame es necesario procesar los eventos del teclado/mouse y dibujar la interface (obvio, no?).
while (true){
TwDraw();
}
Y los eventos dependerán de cada plataforma… en Win32 sería así:
// In the Windows MessageProc callback
LRESULT CALLBACK MessageProc(HWND wnd, UINT msg, WPARAM wParam, LPARAM lParam)
{
if( TwEventWin(wnd, msg, wParam, lParam) ) // send event message to AntTweakBar
return 0; // event has been handled by AntTweakBar
// else process the event message
// ...
}
Eso es todo.
Simple? Demasiado.
