m_MatrixPolicy(policy),
48m_AdjustX(fAdjustAll),
49m_AdjustY(fAdjustAll),
50m_bEnableOffset(
false),
51m_bExactOrthoProjection(
false),
55m_bProportionalMode(
false),
56m_TypeX(eOriginLeft), m_TypeY(eOriginBottom),
57m_MinScaleX(0), m_MinScaleY(0),
58m_OutputUnitScaler(1.0)
64: m_rcVP(pane.m_rcVP),
65m_rcLimits(pane.m_rcLimits),
66m_rcVisible(pane.m_rcVisible),
67m_rcOrigVisible(pane.m_rcOrigVisible),
68m_prcClip(pane.m_prcClip),
70m_MatrixPolicy(pane.m_MatrixPolicy),
71m_AdjustX(pane.m_AdjustX),
72m_AdjustY(pane.m_AdjustY),
73m_bEnableOffset(pane.m_bEnableOffset),
74m_bExactOrthoProjection(pane.m_bExactOrthoProjection),
75m_bZoomEnX(pane.m_bZoomEnX),
76m_bZoomEnY(pane.m_bZoomEnY),
77m_ZoomFactor(pane.m_ZoomFactor),
78m_bProportionalMode(pane.m_bProportionalMode),
79m_TypeX(pane.m_TypeX),
80m_TypeY(pane.m_TypeY),
81m_MinScaleX(pane.m_MinScaleX),
82m_MinScaleY(pane.m_MinScaleY),
83m_OutputUnitScaler(pane.m_OutputUnitScaler)
200gl.
Enable(GL_SCISSOR_TEST);
229gl.
Ortho( left, right,
313 _ASSERT(factor > 0.01 && factor < 100);
389 TModelUnitleft = p_ref.
X() - new_w * left_ratio;
399 TModelUnitbottom = p_ref.
Y() - new_h * bottom_ratio;
506new_scale_x = new_scale_y =
max(scale_x, scale_y);
510 if(new_scale_x != scale_x) {
519left = (left + right - w) / 2;
528 if(new_scale_y != scale_y) {
537bottom = (top + bottom - h) / 2;
557 else if(high_shift > 0)
558shift =
min(high_shift, low_shift);
562 else if(high_shift < 0)
563shift =
max(high_shift, low_shift);
571 else if(low_shift < 0)
572shift =
max(high_shift, low_shift);
576 else if(low_shift > 0)
577shift =
max(high_shift, low_shift);
581shift = (low_shift + high_shift) / 2;
CGlRect & IntersectWith(const CGlRect &r)
int gluProjectX(GLdouble objx, GLdouble objy, GLdouble objz, const GLdouble modelMatrix[16], const GLdouble projMatrix[16], const GLint viewport[4], GLdouble *winx, GLdouble *winy, GLdouble *winz)
CVect2< TModelUnit > ProjectEx(CVect2< TModelUnit > pt)
Project in a manner that supports rendering to pdf as well (viewport may be larger than max.
void ZoomPoint(TModelUnit x, TModelUnit y, TModelUnit factor, int options=fZoomXY)
EOriginType
Specifies what point should be preserved during various coordinate space adjustments.
void ZoomInCenter(int options=fZoomXY)
const TVPRect * m_prcClip
void ZoomOutCenter(int options=fZoomXY)
virtual void Viewport(GLint x, GLint y, GLsizei width, GLsizei height)=0
void SetViewport(const TVPRect &R)
CVect2< TModelUnit > GetScale() const
virtual CMatrix4< float > GetProjectionMatrix() const =0
virtual void Enable(GLenum glstate)=0
void x_AdjustVisibleRect(void)
bool NeedsScrollY(void) const
GLdouble m_mxModelView[16]
CGlPoint< TVPUnit > TVPPoint
EProjMatrixPolicy m_MatrixPolicy
CGlPane(EProjMatrixPolicy policy=eAlwaysUpdate)
CGlPane.
TModelUnit UnProjectWidth(TVPUnit vp_w) const
TModelPoint UnProject(TVPUnit m_x, TVPUnit m_y) const
virtual CMatrix4< float > GetModelViewMatrix() const =0
void Offset(T d_x, T d_y)
static TModelUnit s_GetShift(TModelUnit low_shift, TModelUnit high_shift, bool neg_range, EOriginType type)
virtual void MatrixMode(GLenum mode)=0
TVPUnit ProjectX(TModelUnit m_x) const
IRender & GetGl()
convenience function for getting current render manager
virtual void Scissor(GLint x, GLint y, GLsizei width, GLsizei height)=0
Set clipping window: glScissor(x,y,width,height)
void x_ShiftToFitLimits(void)
bool IsZoomInAvaiable(void)
void ScrollTo(const CVect2< TModelUnit > &pos, TModelUnit pctx, TModelUnit pcty)
void ZoomAll(int options=fZoomXY)
void SetScale(TModelUnit scale_x, TModelUnit scale_y, TModelPoint p_center)
virtual void LoadIdentity()=0
TVPUnit ProjectY(TModelUnit m_y) const
TModelUnit UnProjectX(TVPUnit m_x) const
void SetScaleRefPoint(TModelUnit scale_x, TModelUnit scale_y, TModelPoint p_ref)
CGlPoint< T > CenterPoint() const
void ZoomRect(const TModelRect &r)
void SetProportional(TModelRect &vr, TModelRect &mr)
bool Open(EProjectionMode Mode)
void Scroll(TModelUnit dx, TModelUnit dy)
bool m_bExactOrthoProjection
TModelUnit m_OutputUnitScaler
TModelUnit GetZoomAllScaleY(void) const
TModelUnit UnProjectHeight(TVPUnit vp_h) const
TModelUnit UnProjectY(TVPUnit m_y) const
void x_AssertNotOpen(void) const
TModelUnit GetZoomAllScaleX(void) const
TModelUnit GetPixelDist(TModelUnit d) const
Return the scaled pixel distance. Only important for pdf rendering.
void SetVisibleRect(const TModelRect &R)
void ZoomIn(TModelUnit x, TModelUnit y, int options=fZoomXY)
EProjectionMode GetProjMode(void) const
void x_Open_SetViewport()
void x_AssertOrtho(void) const
bool IsZoomOutAvaiable(void)
bool NeedsScrollX(void) const
EProjMatrixPolicy
EProjMatrixPolicy controls CGlPane behavior in respect to obtaining projection matrices for future us...
virtual void Disable(GLenum glstate)=0
glDisable()
virtual void Ortho(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble nearVal, GLdouble farVal)=0
GLdouble m_mxProjection[16]
void ZoomOut(TModelUnit x, TModelUnit y, int options=fZoomXY)
TModelUnit GetScaleX(void) const
TModelUnit GetScaleY(void) const
int gluUnProjectX(GLdouble winx, GLdouble winy, GLdouble winz, const GLdouble modelMatrix[16], const GLdouble projMatrix[16], const GLint viewport[4], GLdouble *objx, GLdouble *objy, GLdouble *objz)
void x_CorrectScale(TModelPoint p_center)
CGlPoint< TModelUnit > TModelPoint
void x_ScaleToFitLimits(void)
void x_UpdateProjectMatrices(void)
TModelRect m_rcOrigVisible
TVPPoint Project(TModelUnit m_x, TModelUnit m_y) const
virtual void GetViewport(GLint *params)=0
CVect2< TModelUnit > UnProjectEx(const CVect2< TModelUnit > &pt)
#define END_NCBI_SCOPE
End previously defined NCBI scope.
#define BEGIN_NCBI_SCOPE
Define ncbi namespace.
double r(size_t dimension_, const Int4 *score_, const double *prob_, double theta_)
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4