1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100
|
#include "AppHdr.h"
#ifdef USE_TILE
#include "glwrapper.h"
/////////////////////////////////////////////////////////////////////////////
// VColour
VColour VColour::white(255, 255, 255, 255);
VColour VColour::black(0, 0, 0, 255);
VColour VColour::transparent(0, 0, 0, 0);
bool VColour::operator==(const VColour &vc) const
{
return (r == vc.r && g == vc.g && b == vc.b && a == vc.a);
}
bool VColour::operator!=(const VColour &vc) const
{
return (r != vc.r || g != vc.g || b != vc.b || a != vc.a);
}
/////////////////////////////////////////////////////////////////////////////
// GLState
// Note: these defaults should match the OpenGL defaults
GLState::GLState() :
array_vertex(false),
array_texcoord(false),
array_colour(false),
blend(false),
texture(false),
depthtest(false),
alphatest(false),
alpharef(0),
colour(VColour::white)
{
}
GLState::GLState(const GLState &state) :
array_vertex(state.array_vertex),
array_texcoord(state.array_texcoord),
array_colour(state.array_colour),
blend(state.blend),
texture(state.texture),
depthtest(state.depthtest),
alphatest(state.alphatest),
alpharef(state.alpharef),
colour(state.colour)
{
}
const GLState &GLState::operator=(const GLState &state)
{
array_vertex = state.array_vertex;
array_texcoord = state.array_texcoord;
array_colour = state.array_colour;
blend = state.blend;
texture = state.texture;
depthtest = state.depthtest;
alphatest = state.alphatest;
alpharef = state.alpharef;
colour = state.colour;
return (*this);
}
bool GLState::operator==(const GLState &state) const
{
return (array_vertex == state.array_vertex
&& array_texcoord == state.array_texcoord
&& array_colour == state.array_colour
&& blend == state.blend
&& texture == state.texture
&& depthtest == state.depthtest
&& alphatest == state.alphatest
&& alpharef == state.alpharef
&& colour == state.colour);
}
/////////////////////////////////////////////////////////////////////////////
// GLStateManager
#ifdef ASSERTS
bool GLStateManager::_valid(int num_verts, drawing_modes mode)
{
switch (mode)
{
case GLW_RECTANGLE:
return (num_verts % 4 == 0);
case GLW_LINES:
return (num_verts % 2 == 0);
default:
return (false);
}
}
#endif // ASSERTS
#endif // USE_TILE
|