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(); }
描画までやろうかと思ったけど,ちょっと方針転換するのでここでおしまい.
以下次回.
Sorry, the comment form is closed at this time.