void OrthoViewportState::EnableImpl() { int viewport[4]; glGetIntegerv(GL_VIEWPORT, viewport); m_viewport_dim = Dim2(viewport[2] - viewport[0], viewport[3] - viewport[1]); glMatrixMode(GL_PROJECTION); glPushMatrix(); glLoadIdentity(); #ifndef GL_ES glOrtho(0, viewport[2], viewport[3], 0, -1, 1); #else glOrthof(0, viewport[2], viewport[3], 0, -1, 1); #endif glMatrixMode(GL_MODELVIEW); glPushMatrix(); glLoadIdentity(); }
void SetSize(int width, int height) { BeginWriteOperation(); m_impl->SetSize(Dim2(width, height)); }
/// Component-wise subtraction Dim2 operator-(const Dim2& rhs) const { return Dim2(y - rhs.y, x - rhs.x); }
/// Component-wise addition Dim2 operator+(const Dim2& rhs) const { return Dim2(y + rhs.y, x + rhs.x); }
static Dim2 FromLinear(const Dim2& size, int i) { div_t r = div(i, size.x); return Dim2(r.quot, r.rem); }
/// Component-wise multiplication Dim2 operator*(const Dim2& rhs) const { return Dim2(y * rhs.y, x * rhs.x); }