00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #include <GLEXT/GLViewPort.h>
00022 #include <GLEXT/GLState.h>
00023
00024 int GLViewPort::width_ = 0;
00025 int GLViewPort::height_ = 0;
00026 int GLViewPort::actualWidth_ = 0;
00027 int GLViewPort::actualHeight_ = 0;
00028 float GLViewPort::widthMult_ = 0.0f;
00029 float GLViewPort::heightMult_ = 0.0f;
00030
00031 GLViewPort::GLViewPort()
00032 {
00033 }
00034
00035 GLViewPort::~GLViewPort()
00036 {
00037 }
00038
00039 void GLViewPort::draw()
00040 {
00041 glMatrixMode(GL_PROJECTION);
00042 glLoadIdentity();
00043 glViewport(0, 0, actualWidth_, actualHeight_);
00044 glOrtho(0.0, float(width_),
00045 0.0, float(height_),
00046 -4000.0, 4000.0);
00047 glMatrixMode(GL_MODELVIEW);
00048 glLoadIdentity();
00049 }
00050
00051 void GLViewPort::setWindowSize(int width, int height,
00052 int awidth, int aheight)
00053 {
00054 width_ = width;
00055 height_ = height;
00056 if (awidth != 0 && aheight != 0)
00057 {
00058 actualWidth_ = awidth;
00059 actualHeight_ = aheight;
00060 }
00061
00062 widthMult_ = (float) width_ / (float) actualWidth_;
00063 heightMult_ = (float) height_ / (float) actualHeight_;
00064 }