- GLubyte arrow_char [] = { 0, 0, 32, 48, 56, 60, 62, 63, 62, 60, 56, 48, 32, 0, 0 } ;
- int width = glutBitmapWidth ( FREEGLUT_MENU_FONT, ' ' ) ;
-
- glPushClientAttrib( GL_CLIENT_PIXEL_STORE_BIT );
-
- /*
- * Set up the pixel unpacking ways
- */
- glPixelStorei( GL_UNPACK_SWAP_BYTES, GL_FALSE );
- glPixelStorei( GL_UNPACK_LSB_FIRST, GL_FALSE );
- glPixelStorei( GL_UNPACK_ROW_LENGTH, 0 );
- glPixelStorei( GL_UNPACK_SKIP_ROWS, 0 );
- glPixelStorei( GL_UNPACK_SKIP_PIXELS, 0 );
- glPixelStorei( GL_UNPACK_ALIGNMENT, 1 );
-
- glRasterPos2i ( menu->Width - 2 - width,
- (i + 1)*FREEGLUT_MENU_HEIGHT ) ;
- glBitmap ( width, FREEGLUT_MENU_HEIGHT, 0, 0, 0.0, 0.0, arrow_char ) ;
- glPopClientAttrib();
+ int width = glutBitmapWidth ( FREEGLUT_MENU_FONT, '_' ) ;
+ int x_base = menu->Width - 2 - width;
+ int y_base = i*FREEGLUT_MENU_HEIGHT + FREEGLUT_MENU_BORDER;
+ glBegin( GL_TRIANGLES );
+ glVertex2i( x_base, y_base + 2*FREEGLUT_MENU_BORDER);
+ glVertex2i( menu->Width - 2, y_base + (FREEGLUT_MENU_HEIGHT + FREEGLUT_MENU_BORDER) / 2 );
+ glVertex2i( x_base, y_base + FREEGLUT_MENU_HEIGHT - FREEGLUT_MENU_BORDER);
+ glEnd( );