ScrollBar.cpp (pymol-v2.1.0.tar.bz2) | : | ScrollBar.cpp (pymol-open-source-2.2.0) | ||
---|---|---|---|---|
skipping to change at line 82 | skipping to change at line 82 | |||
if(I->BarSize < 4) | if(I->BarSize < 4) | |||
I->BarSize = DIP2PIXEL(4); | I->BarSize = DIP2PIXEL(4); | |||
I->BarRange = range - I->BarSize; | I->BarRange = range - I->BarSize; | |||
if(I->BarRange < 2) | if(I->BarRange < 2) | |||
I->BarRange = 2; | I->BarRange = 2; | |||
I->ValueMax = (float) I->ListSize - I->DisplaySize; | I->ValueMax = (float) I->ListSize - I->DisplaySize; | |||
if(I->ValueMax < 1) | if(I->ValueMax < 1) | |||
I->ValueMax = 1; | I->ValueMax = 1; | |||
if(I->Value > I->ValueMax) | if(I->Value > I->ValueMax) | |||
I->Value = (float) I->ValueMax; | I->Value = (float) I->ValueMax; | |||
else if(I->Value < 0.0) | ||||
I->Value = 0.0F; | ||||
} | } | |||
void ScrollBarFill(struct CScrollBar *I ORTHOCGOARG) | void ScrollBarFill(struct CScrollBar *I ORTHOCGOARG) | |||
{ | { | |||
if (orthoCGO) | if (orthoCGO) | |||
CGOColorv(orthoCGO, I->BackColor); | CGOColorv(orthoCGO, I->BackColor); | |||
else | else | |||
glColor3fv(I->BackColor); | glColor3fv(I->BackColor); | |||
BlockFill(I->Block ORTHOCGOARGVAR); | BlockFill(I->Block ORTHOCGOARGVAR); | |||
} | } | |||
skipping to change at line 232 | skipping to change at line 234 | |||
} else { | } else { | |||
top = (int) (0.499F + block->rect.top - (I->BarRange * value) / I->ValueMax) ; | top = (int) (0.499F + block->rect.top - (I->BarRange * value) / I->ValueMax) ; | |||
bottom = top - I->BarSize; | bottom = top - I->BarSize; | |||
left = block->rect.left + 1; | left = block->rect.left + 1; | |||
right = block->rect.right - 1; | right = block->rect.right - 1; | |||
} | } | |||
if(G->HaveGUI && G->ValidContext) { | if(G->HaveGUI && G->ValidContext) { | |||
glEnable(GL_BLEND); | glEnable(GL_BLEND); | |||
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); | ||||
if (orthoCGO){ | if (orthoCGO){ | |||
CGOAlpha(orthoCGO, alpha); | CGOAlpha(orthoCGO, alpha); | |||
CGOColor(orthoCGO, 0.8F, 0.8F, 0.8F); | CGOColor(orthoCGO, 0.8F, 0.8F, 0.8F); | |||
CGOBegin(orthoCGO, GL_TRIANGLE_STRIP); | CGOBegin(orthoCGO, GL_TRIANGLE_STRIP); | |||
CGOVertex(orthoCGO, right, top, 0.f); | CGOVertex(orthoCGO, right, top, 0.f); | |||
CGOVertex(orthoCGO, right, bottom + 1, 0.f); | CGOVertex(orthoCGO, right, bottom + 1, 0.f); | |||
CGOVertex(orthoCGO, left, top, 0.f); | CGOVertex(orthoCGO, left, top, 0.f); | |||
CGOVertex(orthoCGO, left, bottom + 1, 0.f); | CGOVertex(orthoCGO, left, bottom + 1, 0.f); | |||
CGOEnd(orthoCGO); | CGOEnd(orthoCGO); | |||
CGOAlpha(orthoCGO, 1.f); | CGOAlpha(orthoCGO, 1.f); | |||
skipping to change at line 316 | skipping to change at line 317 | |||
glVertex2i(right - 1, top - 1); | glVertex2i(right - 1, top - 1); | |||
glVertex2i(right - 1, bottom + 1); | glVertex2i(right - 1, bottom + 1); | |||
glVertex2i(left + 1, bottom + 1); | glVertex2i(left + 1, bottom + 1); | |||
glVertex2i(left + 1, top - 1); | glVertex2i(left + 1, top - 1); | |||
glEnd(); | glEnd(); | |||
} | } | |||
glDisable(GL_BLEND); | glDisable(GL_BLEND); | |||
} | } | |||
} | } | |||
void ScrollBarSetValue(struct CScrollBar *I, float value) | void ScrollBarSetValueNoCheck(struct CScrollBar *I, float value) | |||
{ | { | |||
I->Value = value; | I->Value = value; | |||
ScrollBarUpdate(I); | } | |||
void ScrollBarSetValue(struct CScrollBar *I, float value) | ||||
{ | ||||
I->Value = value > I->ValueMax ? I->ValueMax : | ||||
value < 0.0 ? 0.0 : value; | ||||
} | ||||
void ScrollBarMoveBy(struct CScrollBar *I, float value) { | ||||
ScrollBarSetValue(I, I->Value + value); | ||||
} | } | |||
float ScrollBarGetValue(struct CScrollBar *I) | float ScrollBarGetValue(struct CScrollBar *I) | |||
{ | { | |||
return (I->Value); | return (I->Value); | |||
} | } | |||
static void ScrollBarReshape(Block * block, int width, int height) | static void ScrollBarReshape(Block * block, int width, int height) | |||
{ | { | |||
} | } | |||
skipping to change at line 445 | skipping to change at line 455 | |||
static int ScrollBarDrag(Block * block, int x, int y, int mod) | static int ScrollBarDrag(Block * block, int x, int y, int mod) | |||
{ | { | |||
PyMOLGlobals *G = block->G; | PyMOLGlobals *G = block->G; | |||
CScrollBar *I = (CScrollBar *) block->reference; | CScrollBar *I = (CScrollBar *) block->reference; | |||
int displ; | int displ; | |||
if(I->HorV) | if(I->HorV) | |||
displ = I->StartPos - x; | displ = I->StartPos - x; | |||
else | else | |||
displ = y - I->StartPos; | displ = y - I->StartPos; | |||
I->Value = I->StartValue - (I->ValueMax * displ) / I->BarRange; | ScrollBarSetValue(I, I->StartValue - (I->ValueMax * displ) / I->BarRange); | |||
/* if(displ>0.0) | ||||
I->Value-=0.5; | ||||
else | ||||
I->Value+=0.5; | ||||
*/ | ||||
if(I->Value < 0.0) | ||||
I->Value = 0.0; | ||||
if(I->Value > I->ValueMax) | ||||
I->Value = I->ValueMax; | ||||
OrthoDirty(G); | OrthoDirty(G); | |||
return true; | return true; | |||
} | } | |||
static int ScrollBarRelease(Block * block, int button, int x, int y, int mod) | static int ScrollBarRelease(Block * block, int button, int x, int y, int mod) | |||
{ | { | |||
PyMOLGlobals *G = block->G; | PyMOLGlobals *G = block->G; | |||
OrthoUngrab(G); | OrthoUngrab(G); | |||
OrthoDirty(G); | OrthoDirty(G); | |||
return 0; | return 0; | |||
End of changes. 5 change blocks. | ||||
14 lines changed or deleted | 14 lines changed or added |