void ObjectDataScreen::draw() const { next()->draw(); Rect outside = _bounds; outside.inset(-8, -4); const RgbColor light_green = GetRGBTranslateColorShade(Hue::GREEN, LIGHTEST); Rects().fill(outside, light_green); outside.inset(1, 1); Rects().fill(outside, RgbColor::black()); _text->draw_range(_bounds, 0, _typed_chars); if (_typed_chars < _text->size()) { _text->draw_cursor(_bounds, _typed_chars); } }
void DebriefingScreen::draw() const { next()->draw(); Rects().fill(_pix_bounds, RgbColor::black()); if (_score) { _score->draw_range(_score_bounds, 0, _typed_chars); } Rect interface_bounds = _message_bounds; interface_bounds.offset(_pix_bounds.left, _pix_bounds.top); draw_interface_item(_data_item, KEYBOARD_MOUSE); draw_text_in_rect(interface_bounds, _message, kLarge, GOLD); RgbColor bracket_color = GetRGBTranslateColorShade(GOLD, VERY_LIGHT); Rect bracket_bounds = _score_bounds; bracket_bounds.inset(-2, -2); draw_vbracket(Rects(), bracket_bounds, bracket_color); }
static void CALLBACK Paint(void) { glDisable(GL_SCISSOR_TEST); glClearColor(1.0,1.0,1.0,1.0); glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT); AUX_SETCOLOR(windType,AUX_BLACK); if(antialiasing) { glBlendFunc(GL_SRC_ALPHA,GL_ZERO); glEnable(GL_BLEND); glEnable(GL_POINT_SMOOTH); glEnable(GL_LINE_SMOOTH); glEnable(GL_POLYGON_SMOOTH); } if(depthTesting) glEnable(GL_DEPTH_TEST); if(fogging) { glEnable(GL_FOG); glHint(GL_FOG_HINT,(niceFogging)?GL_NICEST:GL_FASTEST); } if(lighting) { static GLfloat ambient[4]={1,0.5,0.5,0}; glEnable(GL_NORMALIZE); glNormal3f(1.0,1.0,1.0); glLightModelfv(GL_LIGHT_MODEL_AMBIENT,ambient); glEnable(GL_LIGHTING); glEnable(GL_LIGHT0); } (shading)?glShadeModel(GL_SMOOTH):glShadeModel(GL_FLAT); if(texturing) { static GLfloat modulate[1]={GL_DECAL}; static GLfloat clamp[1]={GL_CLAMP}; static GLfloat linear[1]={GL_LINEAR}; glPixelStorei(GL_UNPACK_ALIGNMENT,1); glTexImage2D(GL_TEXTURE_2D,0,3,2,2,0,GL_RGB ,GL_UNSIGNED_BYTE,(GLvoid*)texture); glTexEnvfv(GL_TEXTURE_ENV,GL_TEXTURE_ENV_MODE,modulate); glTexParameterfv(GL_TEXTURE_2D,GL_TEXTURE_WRAP_S,clamp); glTexParameterfv(GL_TEXTURE_2D,GL_TEXTURE_WRAP_T,clamp); glTexParameterfv(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,linear); glTexParameterfv(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,linear); glEnable(GL_TEXTURE_2D); } Viewport(0,0); Points(); Viewport(0,1); Lines(); Viewport(0,2); Triangles(); Viewport(0,3); Rects(); glFlush(); if(doubleBuffer) auxSwapBuffers(); }