Merged branch 'dev_native' into lm_sla_supports_auto
Added igl library files
This commit is contained in:
62
src/igl/opengl2/draw_rectangular_marquee.cpp
Normal file
62
src/igl/opengl2/draw_rectangular_marquee.cpp
Normal file
@@ -0,0 +1,62 @@
|
||||
// This file is part of libigl, a simple c++ geometry processing library.
|
||||
//
|
||||
// Copyright (C) 2013 Alec Jacobson <alecjacobson@gmail.com>
|
||||
//
|
||||
// This Source Code Form is subject to the terms of the Mozilla Public License
|
||||
// v. 2.0. If a copy of the MPL was not distributed with this file, You can
|
||||
// obtain one at http://mozilla.org/MPL/2.0/.
|
||||
|
||||
|
||||
#include "draw_rectangular_marquee.h"
|
||||
#include "gl.h"
|
||||
#include "glu.h"
|
||||
#include "../material_colors.h"
|
||||
|
||||
IGL_INLINE void igl::opengl2::draw_rectangular_marquee(
|
||||
const int from_x,
|
||||
const int from_y,
|
||||
const int to_x,
|
||||
const int to_y)
|
||||
{
|
||||
using namespace std;
|
||||
int l;
|
||||
glGetIntegerv(GL_LIGHTING,&l);
|
||||
int s;
|
||||
glGetIntegerv(GL_LINE_STIPPLE,&s);
|
||||
double lw;
|
||||
glGetDoublev(GL_LINE_WIDTH,&lw);
|
||||
glDisable(GL_LIGHTING);
|
||||
// Screen space for this viewport
|
||||
GLint viewport[4];
|
||||
glGetIntegerv(GL_VIEWPORT,viewport);
|
||||
const int width = viewport[2];
|
||||
const int height = viewport[3];
|
||||
glMatrixMode(GL_PROJECTION);
|
||||
glPushMatrix();
|
||||
glLoadIdentity();
|
||||
gluOrtho2D(0,width,0,height);
|
||||
glMatrixMode(GL_MODELVIEW);
|
||||
glPushMatrix();
|
||||
glLoadIdentity();
|
||||
|
||||
glEnable(GL_LINE_STIPPLE);
|
||||
glLineStipple(3,0xAAAA);
|
||||
glLineWidth(1);
|
||||
glColor4f(0.2,0.2,0.2,1);
|
||||
glBegin(GL_LINE_STRIP);
|
||||
glVertex2d(from_x,from_y);
|
||||
glVertex2d(to_x,from_y);
|
||||
glVertex2d(to_x,to_y);
|
||||
glVertex2d(from_x,to_y);
|
||||
glVertex2d(from_x,from_y);
|
||||
glEnd();
|
||||
|
||||
glPopMatrix();
|
||||
glMatrixMode(GL_PROJECTION);
|
||||
glPopMatrix();
|
||||
glMatrixMode(GL_MODELVIEW);
|
||||
glLineWidth(lw);
|
||||
(s ? glEnable(GL_LINE_STIPPLE):glDisable(GL_LINE_STIPPLE));
|
||||
(l ? glEnable(GL_LIGHTING):glDisable(GL_LIGHTING));
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user