📄 glviewport.hpp
字号:
/* * =========================================================================== * PRODUCTION $Log: glviewport.hpp,v $ * PRODUCTION Revision 1000.1 2004/06/01 19:50:32 gouriano * PRODUCTION PRODUCTION: UPGRADED [GCC34_MSVC7] Dev-tree R1.4 * PRODUCTION * =========================================================================== */#ifndef GUI_OPENGL___GLVIEWPORT__HPP#define GUI_OPENGL___GLVIEWPORT__HPP/* $Id: glviewport.hpp,v 1000.1 2004/06/01 19:50:32 gouriano Exp $ * =========================================================================== * * PUBLIC DOMAIN NOTICE * National Center for Biotechnology Information * * This software/database is a "United States Government Work" under the * terms of the United States Copyright Act. It was written as part of * the author's official duties as a United States Government employee and * thus cannot be copyrighted. This software/database is freely available * to the public for use. The National Library of Medicine and the U.S. * Government have not placed any restriction on its use or reproduction. * * Although all reasonable efforts have been taken to ensure the accuracy * and reliability of the software and data, the NLM and the U.S. * Government do not and cannot warrant the performance or results that * may be obtained by using this software or data. The NLM and the U.S. * Government disclaim all warranties, express or implied, including * warranties of performance, merchantability or fitness for any particular * purpose. * * Please cite the author in any work or product based on this material. * * =========================================================================== * * Authors: Mike DiCuccio * * File Description: * */#include <corelib/ncbistd.hpp>#include <gui/opengl.h>#include <gui/gui.hpp>/** @addtogroup GUI_OPENGL * * @{ */BEGIN_NCBI_SCOPE//// class CGlViewport provides a simple abstraction for viewports in OpenGL//// Remember that, in OpenGL, the position (0, 0) is the lower left corner, not// the upper left corner (inverted with respect to most windowing systems)//class NCBI_GUIOPENGL_EXPORT CGlViewport{public: CGlViewport(); CGlViewport(GLint x, GLint y, GLint w, GLint h); // make the viewport current. The boolean parameter controls whether the // previous viewport settings are saved via glPushAttrib(GL_VIEWPORT_BIT). // The default is to overwrite the current settings; if 'true' is passed // in, be sure to call ReleaseCurrent() when completed. void MakeCurrent(bool save_viewport = false); // release the current viewport. This is a NULL op unless 'true' is passed // in, at which point this call is equivalent to glPopAttrib() void ReleaseCurrent(bool restore_viewport = false); // // access the dimensions of the viewport // GLint GetX (void) const; GLint GetY (void) const; GLint GetWidth (void) const; GLint GetHeight(void) const; void SetX (GLint i); void SetY (GLint i); void SetWidth (GLint i); void SetHeight(GLint i);private: // the actual viewport params. GLint m_X; GLint m_Y; GLint m_Width; GLint m_Height;};//// inlined accessors//inlineGLint CGlViewport::GetX(void) const{ return m_X;}inlineGLint CGlViewport::GetY(void) const{ return m_Y;}inlineGLint CGlViewport::GetWidth(void) const{ return m_Width;}inlineGLint CGlViewport::GetHeight(void) const{ return m_Height;}inlinevoid CGlViewport::SetX(GLint i){ m_X = i;}inlinevoid CGlViewport::SetY(GLint i){ m_Y = i;}inlinevoid CGlViewport::SetWidth(GLint i){ m_Width = i;}inlinevoid CGlViewport::SetHeight(GLint i){ m_Height = i;}END_NCBI_SCOPE/* @} *//* * =========================================================================== * $Log: glviewport.hpp,v $ * Revision 1000.1 2004/06/01 19:50:32 gouriano * PRODUCTION: UPGRADED [GCC34_MSVC7] Dev-tree R1.4 * * Revision 1.4 2004/05/11 18:54:22 dicuccio * Added doxygne modules info * * Revision 1.3 2004/05/03 12:43:59 dicuccio * Added #include for gui/gui.hpp * * Revision 1.2 2003/06/03 19:36:38 dicuccio * Added export specifiers. Fixed errant #include of <GL/...> files * * Revision 1.1 2003/06/03 17:42:54 dicuccio * Added texture support. Added classes to handle OpenGL camera setup, viewport * specification * * =========================================================================== */#endif // GUI_OPENGL___GLVIEWPORT__HPP
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -