mirror of https://github.com/stella-emu/stella.git
removed some superfluous redraws
This commit is contained in:
parent
7433e14cec
commit
cec27bb899
|
@ -242,15 +242,15 @@ void DataGridWidget::setRange(int lower, int upper)
|
||||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||||
void DataGridWidget::handleMouseEntered()
|
void DataGridWidget::handleMouseEntered()
|
||||||
{
|
{
|
||||||
|
if(isEnabled())
|
||||||
setFlags(Widget::FLAG_HILITED);
|
setFlags(Widget::FLAG_HILITED);
|
||||||
setDirty();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||||
void DataGridWidget::handleMouseLeft()
|
void DataGridWidget::handleMouseLeft()
|
||||||
{
|
{
|
||||||
|
if(isEnabled())
|
||||||
clearFlags(Widget::FLAG_HILITED);
|
clearFlags(Widget::FLAG_HILITED);
|
||||||
setDirty();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||||
|
|
|
@ -285,15 +285,15 @@ void RomListWidget::handleMouseWheel(int x, int y, int direction)
|
||||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||||
void RomListWidget::handleMouseEntered()
|
void RomListWidget::handleMouseEntered()
|
||||||
{
|
{
|
||||||
|
if(isEnabled())
|
||||||
setFlags(Widget::FLAG_HILITED);
|
setFlags(Widget::FLAG_HILITED);
|
||||||
setDirty();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||||
void RomListWidget::handleMouseLeft()
|
void RomListWidget::handleMouseLeft()
|
||||||
{
|
{
|
||||||
|
if(isEnabled())
|
||||||
clearFlags(Widget::FLAG_HILITED);
|
clearFlags(Widget::FLAG_HILITED);
|
||||||
setDirty();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||||
|
|
|
@ -181,15 +181,15 @@ void TiaZoomWidget::handleMouseMoved(int x, int y)
|
||||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||||
void TiaZoomWidget::handleMouseEntered()
|
void TiaZoomWidget::handleMouseEntered()
|
||||||
{
|
{
|
||||||
|
if(isEnabled())
|
||||||
setFlags(Widget::FLAG_HILITED);
|
setFlags(Widget::FLAG_HILITED);
|
||||||
setDirty();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||||
void TiaZoomWidget::handleMouseLeft()
|
void TiaZoomWidget::handleMouseLeft()
|
||||||
{
|
{
|
||||||
|
if(isEnabled())
|
||||||
clearFlags(Widget::FLAG_HILITED);
|
clearFlags(Widget::FLAG_HILITED);
|
||||||
setDirty();
|
|
||||||
myMouseMoving = false;
|
myMouseMoving = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -43,15 +43,15 @@ ToggleWidget::ToggleWidget(GuiObject* boss, const GUI::Font& font,
|
||||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||||
void ToggleWidget::handleMouseEntered()
|
void ToggleWidget::handleMouseEntered()
|
||||||
{
|
{
|
||||||
|
if(isEnabled())
|
||||||
setFlags(Widget::FLAG_HILITED);
|
setFlags(Widget::FLAG_HILITED);
|
||||||
setDirty();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||||
void ToggleWidget::handleMouseLeft()
|
void ToggleWidget::handleMouseLeft()
|
||||||
{
|
{
|
||||||
|
if(isEnabled())
|
||||||
clearFlags(Widget::FLAG_HILITED);
|
clearFlags(Widget::FLAG_HILITED);
|
||||||
setDirty();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||||
|
|
|
@ -438,19 +438,6 @@ void Dialog::drawDialog()
|
||||||
clearDirty();
|
clearDirty();
|
||||||
}
|
}
|
||||||
|
|
||||||
Widget* w = _firstWidget;
|
|
||||||
|
|
||||||
// Draw all children
|
|
||||||
w = _firstWidget;
|
|
||||||
while(w)
|
|
||||||
{
|
|
||||||
|
|
||||||
// only redraw changed widgets
|
|
||||||
if(w->needsRedraw())
|
|
||||||
w->draw();
|
|
||||||
w = w->_next;
|
|
||||||
}
|
|
||||||
|
|
||||||
// Draw outlines for focused widgets
|
// Draw outlines for focused widgets
|
||||||
// Don't change focus, since this will trigger lost and received
|
// Don't change focus, since this will trigger lost and received
|
||||||
// focus events
|
// focus events
|
||||||
|
@ -458,8 +445,20 @@ void Dialog::drawDialog()
|
||||||
{
|
{
|
||||||
_focusedWidget = Widget::setFocusForChain(this, getFocusList(),
|
_focusedWidget = Widget::setFocusForChain(this, getFocusList(),
|
||||||
_focusedWidget, 0, false);
|
_focusedWidget, 0, false);
|
||||||
if(_focusedWidget)
|
// if(_focusedWidget)
|
||||||
_focusedWidget->draw(); // make sure the highlight color is drawn initially
|
// _focusedWidget->draw(); // make sure the highlight color is drawn initially
|
||||||
|
}
|
||||||
|
|
||||||
|
Widget* w = _firstWidget;
|
||||||
|
|
||||||
|
// Draw all children
|
||||||
|
w = _firstWidget;
|
||||||
|
while(w)
|
||||||
|
{
|
||||||
|
// only redraw changed widgets
|
||||||
|
if(w->needsRedraw())
|
||||||
|
w->draw();
|
||||||
|
w = w->_next;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -51,15 +51,15 @@ void EditTextWidget::setText(const string& str, bool changed)
|
||||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||||
void EditTextWidget::handleMouseEntered()
|
void EditTextWidget::handleMouseEntered()
|
||||||
{
|
{
|
||||||
|
if(isEnabled() && isEditable())
|
||||||
setFlags(Widget::FLAG_HILITED);
|
setFlags(Widget::FLAG_HILITED);
|
||||||
setDirty();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||||
void EditTextWidget::handleMouseLeft()
|
void EditTextWidget::handleMouseLeft()
|
||||||
{
|
{
|
||||||
|
if(isEnabled() && isEditable())
|
||||||
clearFlags(Widget::FLAG_HILITED);
|
clearFlags(Widget::FLAG_HILITED);
|
||||||
setDirty();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||||
|
|
|
@ -97,8 +97,22 @@ class GuiObject : public CommandReceiver
|
||||||
virtual bool isChainDirty() const = 0;
|
virtual bool isChainDirty() const = 0;
|
||||||
virtual bool needsRedraw() { return isDirty() || isChainDirty(); };
|
virtual bool needsRedraw() { return isDirty() || isChainDirty(); };
|
||||||
|
|
||||||
void setFlags(uInt32 flags) { _flags |= flags; setDirty(); }
|
void setFlags(uInt32 flags)
|
||||||
void clearFlags(uInt32 flags) { _flags &= ~flags; setDirty(); }
|
{
|
||||||
|
uInt32 oldFlags = _flags;
|
||||||
|
|
||||||
|
_flags |= flags;
|
||||||
|
if(oldFlags != _flags)
|
||||||
|
setDirty();
|
||||||
|
}
|
||||||
|
void clearFlags(uInt32 flags)
|
||||||
|
{
|
||||||
|
uInt32 oldFlags = _flags;
|
||||||
|
|
||||||
|
_flags &= ~flags;
|
||||||
|
if(oldFlags != _flags)
|
||||||
|
setDirty();
|
||||||
|
}
|
||||||
uInt32 getFlags() const { return _flags; }
|
uInt32 getFlags() const { return _flags; }
|
||||||
|
|
||||||
bool hasBorder() const { return _flags & FLAG_BORDER; }
|
bool hasBorder() const { return _flags & FLAG_BORDER; }
|
||||||
|
|
|
@ -161,15 +161,15 @@ void PopUpWidget::handleMouseWheel(int x, int y, int direction)
|
||||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||||
void PopUpWidget::handleMouseEntered()
|
void PopUpWidget::handleMouseEntered()
|
||||||
{
|
{
|
||||||
|
if(isEnabled())
|
||||||
setFlags(Widget::FLAG_HILITED);
|
setFlags(Widget::FLAG_HILITED);
|
||||||
setDirty();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||||
void PopUpWidget::handleMouseLeft()
|
void PopUpWidget::handleMouseLeft()
|
||||||
{
|
{
|
||||||
|
if(isEnabled())
|
||||||
clearFlags(Widget::FLAG_HILITED);
|
clearFlags(Widget::FLAG_HILITED);
|
||||||
setDirty();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||||
|
|
|
@ -243,16 +243,16 @@ void ScrollBarWidget::checkBounds(int old_pos)
|
||||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||||
void ScrollBarWidget::handleMouseEntered()
|
void ScrollBarWidget::handleMouseEntered()
|
||||||
{
|
{
|
||||||
|
if(isEnabled())
|
||||||
setFlags(Widget::FLAG_HILITED);
|
setFlags(Widget::FLAG_HILITED);
|
||||||
setDirty();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||||
void ScrollBarWidget::handleMouseLeft()
|
void ScrollBarWidget::handleMouseLeft()
|
||||||
{
|
{
|
||||||
_part = Part::None;
|
_part = Part::None;
|
||||||
|
if(isEnabled())
|
||||||
clearFlags(Widget::FLAG_HILITED);
|
clearFlags(Widget::FLAG_HILITED);
|
||||||
setDirty();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||||
|
|
|
@ -53,15 +53,15 @@ void StringListWidget::setList(const StringList& list)
|
||||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||||
void StringListWidget::handleMouseEntered()
|
void StringListWidget::handleMouseEntered()
|
||||||
{
|
{
|
||||||
|
if(isEnabled())
|
||||||
setFlags(Widget::FLAG_HILITED);
|
setFlags(Widget::FLAG_HILITED);
|
||||||
setDirty();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||||
void StringListWidget::handleMouseLeft()
|
void StringListWidget::handleMouseLeft()
|
||||||
{
|
{
|
||||||
|
if(isEnabled())
|
||||||
clearFlags(Widget::FLAG_HILITED);
|
clearFlags(Widget::FLAG_HILITED);
|
||||||
setDirty();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||||
|
|
|
@ -216,15 +216,15 @@ void TabWidget::handleMouseDown(int x, int y, MouseButton b, int clickCount)
|
||||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||||
void TabWidget::handleMouseEntered()
|
void TabWidget::handleMouseEntered()
|
||||||
{
|
{
|
||||||
setFlags(Widget::FLAG_HILITED);
|
//if(isEnabled())
|
||||||
setDirty();
|
// setFlags(Widget::FLAG_HILITED);
|
||||||
}
|
}
|
||||||
|
|
||||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||||
void TabWidget::handleMouseLeft()
|
void TabWidget::handleMouseLeft()
|
||||||
{
|
{
|
||||||
clearFlags(Widget::FLAG_HILITED);
|
//if(isEnabled())
|
||||||
setDirty();
|
// clearFlags(Widget::FLAG_HILITED);
|
||||||
}
|
}
|
||||||
|
|
||||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||||
|
|
|
@ -157,6 +157,7 @@ void Widget::draw()
|
||||||
_x = oldX;
|
_x = oldX;
|
||||||
_y = oldY;
|
_y = oldY;
|
||||||
}
|
}
|
||||||
|
clearDirty();
|
||||||
|
|
||||||
// Draw all children
|
// Draw all children
|
||||||
Widget* w = _firstWidget;
|
Widget* w = _firstWidget;
|
||||||
|
@ -166,7 +167,6 @@ void Widget::draw()
|
||||||
w->draw();
|
w->draw();
|
||||||
w = w->_next;
|
w = w->_next;
|
||||||
}
|
}
|
||||||
clearDirty();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||||
|
@ -448,12 +448,14 @@ ButtonWidget::ButtonWidget(GuiObject* boss, const GUI::Font& font,
|
||||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||||
void ButtonWidget::handleMouseEntered()
|
void ButtonWidget::handleMouseEntered()
|
||||||
{
|
{
|
||||||
|
if(isEnabled())
|
||||||
setFlags(Widget::FLAG_HILITED);
|
setFlags(Widget::FLAG_HILITED);
|
||||||
}
|
}
|
||||||
|
|
||||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||||
void ButtonWidget::handleMouseLeft()
|
void ButtonWidget::handleMouseLeft()
|
||||||
{
|
{
|
||||||
|
if(isEnabled())
|
||||||
clearFlags(Widget::FLAG_HILITED);
|
clearFlags(Widget::FLAG_HILITED);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -558,12 +560,14 @@ CheckboxWidget::CheckboxWidget(GuiObject* boss, const GUI::Font& font,
|
||||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||||
void CheckboxWidget::handleMouseEntered()
|
void CheckboxWidget::handleMouseEntered()
|
||||||
{
|
{
|
||||||
|
if(isEnabled())
|
||||||
setFlags(Widget::FLAG_HILITED);
|
setFlags(Widget::FLAG_HILITED);
|
||||||
}
|
}
|
||||||
|
|
||||||
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
// - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
|
||||||
void CheckboxWidget::handleMouseLeft()
|
void CheckboxWidget::handleMouseLeft()
|
||||||
{
|
{
|
||||||
|
if(isEnabled())
|
||||||
clearFlags(Widget::FLAG_HILITED);
|
clearFlags(Widget::FLAG_HILITED);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue