前回コンパイルした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.

   
© 2014 Saikoro Laboratory Blog Suffusion theme by Sayontan Sinha