5月 162011
前回コンパイルしたlibファイルはVC10用なのでbbtabletds_vc90.lib を勝手にbbtabletds_vc10.libに名前変更.
glutのプロジェクトフォルダにlibファイルとヘッダファイル(bbtablet.h)をコピーする.
で,以下のようにインクルード.
#include <windows.h> #include <stdio.h> #include <gl/glut.h> #include "bbtablet.h" #pragma comment(lib, "bbtabletds_vc10.lib")
あとは,bbTabletのホームページに書いてある通りに,ウィンドウハンドルを取得して,reshapeコールバック関数あたりで適当に初期化して,idleコールバック関数で適当に呼び出して使う.とても簡単.
HWND getCurrentHWND()
{
HDC gldc = wglGetCurrentDC();
HWND win = WindowFromDC(gldc);
return win;
}
static void reshape(int w, int h)
{
glViewport(0, 0, w, h);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluPerspective(40.0, (double)w/h, 0.1, 100.0);
static bool firstTime=true;
if (firstTime) {
void *wnd = getCurrentHWND();
bbTabletDevice &td = bbTabletDevice::getInstance( );
td = bbTabletDevice::getInstance();
td.initTablet( wnd, bbTabletDevice::SEPARATE_POINTER );
firstTime = false;
}
}
static void idle(void)
{
static bbTabletEvent evt;
bbTabletDevice &td = bbTabletDevice::getInstance();
while (td.getNextEvent(evt)){
printf("x:%d, y%d:, p:%f\n", evt.getWinX(), evt.getWinY(), evt.pressure);
}
glutPostRedisplay();
}
描画までやろうかと思ったけど,ちょっと方針転換するのでここでおしまい.
以下次回.
Follow me on Twitter
Sorry, the comment form is closed at this time.