📄 glpane.hpp
字号:
GLint m_mxVP[4]; GLdouble m_mxProjection[16]; GLdouble m_mxModelView[16]; };class CGlPaneGuard{public: CGlPaneGuard(CGlPane& pane, CGlPane::EProjectionMode mode) : m_Pane(pane) { m_Pane.Open(mode); } ~CGlPaneGuard() { m_Pane.Close(); }private: CGlPane& m_Pane; // forbidden CGlPaneGuard(const CGlPaneGuard&); CGlPaneGuard& operator=(const CGlPaneGuard&);};inline TVPRect& CGlPane::GetViewport(void){ return m_rcVP;}inline const TVPRect& CGlPane::GetViewport(void) const{ return m_rcVP;}inline void CGlPane::SetModelLimitsRect(const TModelRect& R){ m_rcLimits = m_rcOrigVisible = R;}inline TModelRect& CGlPane::GetModelLimitsRect(void){ return m_rcLimits;}inline const TModelRect& CGlPane::GetModelLimitsRect(void) const{ return m_rcLimits;}inline TModelRect& CGlPane::GetVisibleRect(void){ return m_rcVisible;}inline const TModelRect& CGlPane::GetVisibleRect(void) const{ return m_rcVisible;}inline void CGlPane::SetProportionalMode(bool set){ m_bProportionalMode = set;}inline bool CGlPane::IsProportionalMode(void) const{ return m_bProportionalMode;}inline void CGlPane::SetOriginType(EOriginType type_x, EOriginType type_y){ m_TypeX = type_x; m_TypeY = type_y;}inline void CGlPane::SetAdjustmentPolicy(int adjust_x, int adjust_y){ m_AdjustX = adjust_x; m_AdjustY = adjust_y;}inline void CGlPane::SetAdjustToLimits(bool adjust_x, bool adjust_y){ m_AdjustX = adjust_x ? fAdjustAll : 0; m_AdjustY = adjust_y ? fAdjustAll : 0;}inline void CGlPane::SetClipRect(const TVPRect* rc_clip){ m_prcClip = rc_clip;}inline void CGlPane::EnableOffset(bool b_en){ m_bEnableOffset = b_en;}inline TModelUnit CGlPane::GetOffsetX() const{ return m_bEnableOffset ? m_rcVisible.Left() : 0;}inline TModelUnit CGlPane::GetOffsetY() const{ return m_bEnableOffset ? m_rcVisible.Bottom() : 0;}inline TModelPoint CGlPane::GetOffset() const{ if(m_bEnableOffset) return TModelPoint(m_rcVisible.Left(), m_rcVisible.Bottom()); else return TModelPoint(0, 0);}inline bool CGlPane::OpenOrtho() { return Open(eOrtho);}inline bool CGlPane::OpenPixels() { return Open(ePixels);}inline CGlPane::EProjectionMode CGlPane::GetProjMode(void) const{ return m_Mode;}inline void CGlPane::SetMinScaleX(TModelUnit scale){ m_MinScaleX = scale;}inline void CGlPane::SetMinScaleY(TModelUnit scale){ m_MinScaleY = scale;}inline TModelUnit CGlPane::GetMinScaleX(void) const{ return m_MinScaleX;}inline TModelUnit CGlPane::GetMinScaleY(void) const{ return m_MinScaleY;} inline void CGlPane::EnableZoom(bool en_x, bool en_y){ m_bZoomEnX = en_x; m_bZoomEnY = en_y;}inline void CGlPane::SetZoomFactor(TModelUnit factor){ _ASSERT(factor > 0); m_ZoomFactor = factor;}inline void CGlPane::ZoomIn(TModelPoint p, int options){ ZoomPoint(p.X(), p.Y(), m_ZoomFactor, options);}inline void CGlPane::ZoomIn(TModelUnit x, TModelUnit y, int options){ ZoomPoint(x, y, m_ZoomFactor);}inline void CGlPane::ZoomOut(TModelPoint p, int options){ ZoomPoint(p.X(), p.Y(), 1 / m_ZoomFactor, options);}inline void CGlPane::ZoomOut(TModelUnit x, TModelUnit y, int options){ ZoomPoint(x, y, 1 / m_ZoomFactor, options);}inline void CGlPane::ZoomPoint(TModelPoint p, TModelUnit factor, int options){ ZoomPoint(p.X(), p.Y(), factor, options);}inline void CGlPane::AdjustToLimits(void){ x_ShiftToFitLimits();}END_NCBI_SCOPE/* @} *//* * =========================================================================== * $Log: glpane.hpp,v $ * Revision 1000.4 2004/06/01 19:50:09 gouriano * PRODUCTION: UPGRADED [GCC34_MSVC7] Dev-tree R1.11 * * Revision 1.11 2004/05/11 18:54:22 dicuccio * Added doxygne modules info * * Revision 1.10 2004/04/20 14:08:37 rsmith * trailing commas at the ends of lists are non-standard and give warnings on some platforms. * * Revision 1.9 2004/04/07 12:38:26 dicuccio * Added CGlPaneGuard * * Revision 1.8 2003/12/08 15:07:36 yazhuk * Workaround for OpenGL rounding/precision problems * * Revision 1.7 2003/12/01 16:30:45 yazhuk * Added EOrientation enumeration. * * Revision 1.6 2003/11/17 20:27:57 yazhuk * Introduced zoom options - added EZoomOptions and modified zoom functions. * * Revision 1.5 2003/10/29 22:23:15 yazhuk * Added clipping capabilities * * Revision 1.4 2003/10/22 18:25:59 lebedev * SetScale method with reference point added * * Revision 1.3 2003/10/20 15:43:14 yazhuk * Replaced boolean flags with EAdjustmentPolicy enumeration. * * Revision 1.2 2003/10/15 21:12:45 yazhuk * Introduced projection matrix updating policy * * Revision 1.1 2003/10/08 12:53:02 dicuccio * Moved from gui/graph library * * Revision 1.10 2003/09/30 16:55:26 yazhuk * Added overloaded version of SetScale() * * Revision 1.9 2003/09/25 20:35:12 yazhuk * Added support for Visible rect adjustment * * Revision 1.8 2003/09/24 19:52:11 yazhuk * Enforced coding policy. Added eOriginCenter. Added "force" argument to * ZoomAll() * * Revision 1.7 2003/09/14 16:03:50 dicuccio * Restored export specifier * * Revision 1.6 2003/09/10 21:51:24 yazhuk * GCC compilation fixes * * Revision 1.5 2003/09/10 20:33:24 yazhuk * Added GetScale() functions * * Revision 1.4 2003/09/04 13:58:42 dicuccio * Added export specifiers. Inlined destructors of interface classes * * Revision 1.3 2003/08/28 19:19:15 yazhuk * Implemented specification of the port origin and autoadjustment of visible * rect * * Revision 1.2 2003/08/10 14:11:18 dicuccio * Compilation fixes for gcc * * Revision 1.1 2003/08/08 16:01:35 yazhuk * Initial revision. * * =========================================================================== */#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -