Esempio n. 1
0
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);
    }
}
Esempio n. 2
0
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);
}
Esempio n. 3
0
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();
}