[Scummvm-cvs-logs] CVS: scummvm/gui widget.cpp,1.21,1.22 widget.h,1.19,1.20
Max Horn
fingolfin at users.sourceforge.net
Fri Jul 26 08:35:04 CEST 2002
Update of /cvsroot/scummvm/scummvm/gui
In directory usw-pr-cvs1:/tmp/cvs-serv22913
Modified Files:
widget.cpp widget.h
Log Message:
fixed crash on some systems by setting defaults for the slider value range
Index: widget.cpp
===================================================================
RCS file: /cvsroot/scummvm/scummvm/gui/widget.cpp,v
retrieving revision 1.21
retrieving revision 1.22
diff -u -d -r1.21 -r1.22
--- widget.cpp 26 Jul 2002 00:41:07 -0000 1.21
+++ widget.cpp 26 Jul 2002 15:34:04 -0000 1.22
@@ -189,7 +189,8 @@
#pragma mark -
SliderWidget::SliderWidget(Dialog *boss, int x, int y, int w, int h, const char *label, uint32 cmd, uint8 hotkey)
- : ButtonWidget(boss, x, y, w, h, label, cmd, hotkey), _value(0), _old_value(1)
+ : ButtonWidget(boss, x, y, w, h, label, cmd, hotkey),
+ _value(0), _old_value(1), _valueMin(0), _valueMax(100)
{
_flags = WIDGET_ENABLED | WIDGET_TRACK_MOUSE | WIDGET_CLEARBG;
_type = kSliderWidget;
@@ -219,18 +220,18 @@
// Remove old 'bar' if necessary
if (_value != _old_value) {
- gui->fillRect(_x + 2 + ((_w - 5) * (_old_value - _valueMin) / _valueDelta), _y + 2, 2, _h - 4, gui->_bgcolor);
+ gui->fillRect(_x + 2 + ((_w - 5) * (_old_value - _valueMin) / (_valueMax - _valueMin)), _y + 2, 2, _h - 4, gui->_bgcolor);
_old_value = _value;
}
// Draw the 'bar'
- gui->fillRect(_x + 2 + ((_w - 5) * (_value - _valueMin) / _valueDelta), _y + 2, 2, _h - 4, hilite ? gui->_textcolorhi : gui->_textcolor);
+ gui->fillRect(_x + 2 + ((_w - 5) * (_value - _valueMin) / (_valueMax - _valueMin)), _y + 2, 2, _h - 4, hilite ? gui->_textcolorhi : gui->_textcolor);
}
void SliderWidget::handleMouseDown(int x, int y, int button) {
int barx;
- barx = 2 + ((_w - 5) * (_value - _valueMin) / _valueDelta);
+ barx = 2 + ((_w - 5) * (_value - _valueMin) / (_valueMax - _valueMin));
// only start dragging if mouse is over bar
if (x > (barx - 3) && x < (barx + 3))
Index: widget.h
===================================================================
RCS file: /cvsroot/scummvm/scummvm/gui/widget.h,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -d -r1.19 -r1.20
--- widget.h 26 Jul 2002 00:41:07 -0000 1.19
+++ widget.h 26 Jul 2002 15:34:04 -0000 1.20
@@ -171,16 +171,16 @@
class SliderWidget : public ButtonWidget {
protected:
int _value, _old_value;
- int _valueMin, _valueMax, _valueDelta;
+ int _valueMin, _valueMax;
bool _isDragging;
public:
SliderWidget(Dialog *boss, int x, int y, int w, int h, const char *label, uint32 cmd = 0, uint8 hotkey = 0);
void setValue(uint8 value) { _value = value; }
uint8 getValue() const { return _value; }
- void setMinValue(int value) { _valueMin = value; _valueDelta = _valueMax - _valueMin; }
+ void setMinValue(int value) { _valueMin = value; }
int getMinValue() const { return _valueMin; }
- void setMaxValue(int value) { _valueMax = value; _valueDelta = _valueMax - _valueMin; }
+ void setMaxValue(int value) { _valueMax = value; }
int getMaxValue() const { return _valueMax; }
void handleMouseMoved(int x, int y, int button);
More information about the Scummvm-git-logs
mailing list