----
#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);
のように変更する必要がある.

トップ   編集 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS