ScrollBar.h (pymol-open-source-2.2.0) | : | ScrollBar.h (pymol-open-source-2.3.0) | ||
---|---|---|---|---|
skipping to change at line 21 | skipping to change at line 21 | |||
I* Additional authors of this source file include: | I* Additional authors of this source file include: | |||
-* | -* | |||
-* | -* | |||
-* | -* | |||
Z* ------------------------------------------------------------------- | Z* ------------------------------------------------------------------- | |||
*/ | */ | |||
#ifndef _H_ScrollBar | #ifndef _H_ScrollBar | |||
#define _H_ScrollBar | #define _H_ScrollBar | |||
#include "PyMOLGlobals.h" | #include "PyMOLGlobals.h" | |||
#include "LangUtil.h" | ||||
struct CScrollBar; | class ScrollBar : public Block { | |||
private: | ||||
bool m_HorV {}; | ||||
float m_BarColor[3] = { 0.5f, 0.5f, 0.5f }; | ||||
int m_ListSize { 10 }; | ||||
int m_DisplaySize { 7 }; | ||||
int m_BarSize {}; | ||||
int m_StartPos {}; | ||||
float m_ExactBarSize {}; | ||||
float m_StartValue {}; | ||||
int m_BarRange {}; | ||||
int m_BarMin {}; | ||||
int m_BarMax {}; | ||||
int Grabbed {}; | ||||
float m_Value { 0.0f }; | ||||
float m_ValueMax { 0.0f }; | ||||
struct CScrollBar *ScrollBarNew(PyMOLGlobals * G, int horizontal); | void drawImpl(bool fill, CGO *orthoCGO); | |||
void ScrollBarFree(struct CScrollBar *I); | void update(); | |||
void ScrollBarSetBox(struct CScrollBar *I, int top, int left, int bottom, int ri | ||||
ght); | public: | |||
void ScrollBarDoDraw(struct CScrollBar *I ORTHOCGOARG); | ScrollBar(PyMOLGlobals * G, int horizontal) | |||
void ScrollBarDoDrawNoFill(struct CScrollBar *I ORTHOCGOARG); | : Block(G) | |||
void ScrollBarFill(struct CScrollBar *I ORTHOCGOARG); | , m_HorV(horizontal){ | |||
void ScrollBarSetLimits(struct CScrollBar *I, int list_size, int display_size); | BackColor[0] = 0.1f; | |||
void ScrollBarSetValue(struct CScrollBar *I, float value); | BackColor[1] = 0.1f; | |||
void ScrollBarSetValueNoCheck(struct CScrollBar *I, float value); | BackColor[2] = 0.1f; | |||
void ScrollBarMoveBy(struct CScrollBar *I, float value); | } | |||
void ScrollBarDoRelease(struct CScrollBar *I, int button, int x, int y, int mod) | ||||
; | virtual int release(int button, int x, int y, int mod) override; | |||
void ScrollBarDoClick(struct CScrollBar *I, int button, int x, int y, int mod); | virtual int click(int button, int x, int y, int mod) override; | |||
void ScrollBarDoDrag(struct CScrollBar *I, int x, int y, int mod); | virtual int drag(int x, int y, int mod) override; | |||
Block *ScrollBarGetBlock(struct CScrollBar *); | virtual void draw(CGO *orthoCGO) override { drawImpl(true, orthoCGO); } | |||
float ScrollBarGetValue(struct CScrollBar *I); | virtual void reshape(int width, int height) override {}; | |||
void ScrollBarMaxOut(struct CScrollBar *I); | ||||
int ScrollBarIsMaxed(struct CScrollBar *I); | void maxOut() { m_Value = m_ValueMax; }; | |||
void ScrollBarDrawHandle(struct CScrollBar *I, float alpha ORTHOCGOARG); | bool isMaxed() const; | |||
int ScrollBarGrabbed(struct CScrollBar *I); | void fill(CGO *orthoCGO); | |||
void ScrollBarDrawImpl(Block * block, short fill ORTHOCGOARG); | void setValueNoCheck(float _value) { m_Value = _value; } | |||
void setValue(float _value){ m_Value = pymol::clamp(_value, 0.0f, m_ValueMax); | ||||
} | ||||
void drawNoFill(CGO *orthoCGO) { drawImpl(false, orthoCGO); } | ||||
int grabbed() { return OrthoGrabbedBy(m_G, this); } | ||||
float getValue() const { return m_Value; } | ||||
void setLimits(int list_size, int display_size); | ||||
void moveBy(float value) { setValue(m_Value + value); } | ||||
void drawHandle(float alpha, CGO *orthoCGO); | ||||
void setBox(int top, int left, int bottom, int right); | ||||
}; | ||||
#endif | #endif | |||
End of changes. 3 change blocks. | ||||
23 lines changed or deleted | 49 lines changed or added |