2016-08-11 6 views
-1

私はC++でOpenGLとGLUTを使ってペイントプログラムを作成しているプロジェクトに取り組んでいます。OpenGLを使用してC++で右サイドメニューを作成する

これまでのところ、私は左側にカラーメニューを持っていましたが、右側にツールメニューを作ろうとしていますが、右側にそれを得る方法が分かりません。

これは私がこれまで持っているものです。

int inwindow(int x, int y) 
{ 
    return (x > WLEFT && x < WRIGHT && y > WBOTTOM && y < WTOP); 
} 

static float colormenu[][8] = {{Red}, {Orange}, {Yellow}, {Green}, {Cyan}, {Blue}, {Purple}, {Black}}; 

int incolormenu(int x, int y) 
{ 
    return (x >= 0 && x <= MENUWIDTH && y >= 0 && y <= HEIGHT); 
} 

int colormenuindex(int x, int y) 
{ 
    if(!incolormenu(x, y)) 
     return -1; 
    else 
     return(y/BOXHEIGHT); 
} 


static float toolmenu[][6] = {{Pencil}, {Line}, {Box}, {Rectangle}, {Circle}, {FCircle}}; 

int intoolmenu(int x, int y) 
{ 
    return (x >= 0 && x <= MENUWIDTH && y >= 0 && y <= HEIGHT); 
} 

int toolmenuindex(int x, int y) 
{ 
    if(!intoolmenu(x, y)) 
     return -1; 
    else 
     return(y/BOXHEIGHT); 
} 

void drawSketch() 
{ 
    int i; 

    glClearColor(Grey, 1); 
    glClear(GL_COLOR_BUFFER_BIT); 

    glColor3f(Black); 

    for(i = 0; i < NCOLORS; i++) 
    { 
     glColor3f(colormenu[i][R], colormenu[i][G], colormenu[i][B]); 
     glRecti(1, BOXHEIGHT * i + 1, MENUWIDTH - 1, BOXHEIGHT * (i + 1) - 1); 
    } 

    for(i = 0; i < NCOLORS; i++) 
    { 
     glColor3f(toolmenu[i][Pencil], toolmenu[i][Line], toolmenu[i][Box]); 
     glRasterPos3f(0.2, -0.8, -1.5); 
    } 

    glFlush(); 
} 
+0

glRasterPos3f'が、この場合に行うことになっている何 '? – Mars

+0

最初の 'glColor3f'のR、G、Bとは何ですか?なぜ、関連しないいくつかの値を使って2番目を呼び出すのですか?どんな結果が期待されますか? – Mars

答えて

0

サードパーティのソリューションを使用して喜んでいるが、私は本当に良い結果を次のプロジェクトを使用していた場合はわかりません。

NanoGUI Github Project

関連する問題