---- #contents ---- *GLUT互換モード [#h6d6b107] FLTKは[[GLUT互換:http://www.fltk.org/doc-1.3/glut.html]]のためのヘッダが用意されている (GLUT 3.7 および freeglut 2.4.0と互換性を持つ). これを使うとGLUTを使ったOpenGLアプリケーションを最小限の変更でFLTKに移行できる. つまり, #include <GL/glut.h> の代わりに #include <FL/glut.h> を使うだけである. だだし,fltk.lib,fltkgl.libをリンクすること. 互換モードではGLUTをそのまま使えるだけでなく, [[モーダルダイアログの生成]]で例を示したようなFLTKダイアログウィンドウなども使える. ***注意点 [#w584fca6] -GLUTシンボルの値 : GLUTのシンボルでその値が同じなのは GLUT_DOWN GLUT_UP GLUT_LEFT_BUTTON GLUT_MIDDLE_BUTTON GLUT_RIGHT_BUTTON GLUT_KEY_F1-GLUT_KEY_F12 だけである.たとえば,修飾キーGLUT_ACTIVE_SHIFTやGLUT_ACTIVE_CTRLはGLUTではそれぞれ1,2だが, FLTKではFL_SHIFT,FL_CTRLと同じ値になっている.単純にif文で値を比べて処理を分けている場合はよいが,数値を直接使って処理をしている場合は注意が必要である. -glutSwapBuffers関数は呼び出しても何もしない.FLTKは標準でダブルバッファの切り替えを行っているので必要ない. -いくつかの未実装のものもあるので注意.詳しくは,FLTKのマニュアルの[[GLUT Compatibility:http://www.fltk.org/doc-1.3/glut.html]]参照. -glutAddMenuEntryの第一引数がconst char*からchar*になっているので,std::stringのc_str()関数を使ってメニュー名を設定している場合は, char ch[256]; sprintf(ch, "%s", str.c_str()); glutAddMenuEntry(ch, 0); のように変更する必要がある.