Main Page   Modules   Class Hierarchy   Compound List   File List   Compound Members   File Members   Related Pages   Examples  

node/fade.cpp

Go to the documentation of this file.
00001 #include "fade.h"
00002 
00007 #include <glt/glu.h>
00008 #include <glt/rgb.h>
00009 #include <glt/error.h>
00010 
00011 GltFadeViewport::GltFadeViewport()
00012 : _border(false), _borderColor(black)
00013 {
00014     color().alpha() = 0.0;
00015 }
00016 
00017 GltFadeViewport::~GltFadeViewport()
00018 {
00019 }
00020 
00021 bool      &GltFadeViewport::border()      { return _border; }
00022 GltColor  &GltFadeViewport::borderColor() { return _borderColor; }
00023 
00024 void 
00025 GltFadeViewport::draw() const
00026 {
00027     GLERROR
00028 
00029     glMatrixMode(GL_MODELVIEW);
00030     glPushMatrix();
00031     glLoadIdentity();
00032     glMatrixMode(GL_PROJECTION);
00033     glPushMatrix();
00034     glLoadIdentity();
00035 
00036     // Use the current OpenGL viewport for
00037     // viewing system
00038 
00039     GltViewport viewport(true);
00040 
00041     gluOrtho2D(0,viewport.width(),0,viewport.height());
00042 
00043     glPushAttrib(GL_ENABLE_BIT | GL_DEPTH_BUFFER_BIT);
00044 
00045         glDisable(GL_CULL_FACE);
00046         glDisable(GL_LIGHTING);
00047         glDisable(GL_DEPTH_TEST);
00048         glDepthMask(GL_FALSE);
00049 
00050         // Use desired viewport for fading
00051 
00052         if (color().alpha()!=0.0)
00053         {
00054             glEnable(GL_BLEND);
00055             glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);      
00056             color().glColor();
00057             viewport.drawQuad();
00058         }
00059 
00060         if (_border)
00061         {
00062             glDisable(GL_BLEND);
00063             _borderColor.glColor();
00064             viewport.drawLines();
00065         }
00066 
00067     glPopAttrib();
00068 
00069     glPopMatrix();
00070     glMatrixMode(GL_MODELVIEW);
00071     glPopMatrix();
00072 
00073     GLERROR
00074 }

Generated on Tue Nov 5 11:11:05 2002 for GLT by doxygen1.2.18