summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--dgl/src/ImageBaseWidgets.cpp22
1 files changed, 17 insertions, 5 deletions
diff --git a/dgl/src/ImageBaseWidgets.cpp b/dgl/src/ImageBaseWidgets.cpp
index 213511e9..3b71eb37 100644
--- a/dgl/src/ImageBaseWidgets.cpp
+++ b/dgl/src/ImageBaseWidgets.cpp
@@ -187,12 +187,24 @@ void ImageBaseButton<ImageType>::onDisplay()
const State state = ButtonEventHandler::getState();
- if (state & kButtonStateActive)
- pData->imageDown.draw(context);
- else if (state & kButtonStateHover)
- pData->imageHover.draw(context);
+ if (ButtonEventHandler::isCheckable())
+ {
+ if (ButtonEventHandler::isChecked())
+ pData->imageDown.draw(context);
+ else if (state & kButtonStateHover)
+ pData->imageHover.draw(context);
+ else
+ pData->imageNormal.draw(context);
+ }
else
- pData->imageNormal.draw(context);
+ {
+ if (state & kButtonStateActive)
+ pData->imageDown.draw(context);
+ else if (state & kButtonStateHover)
+ pData->imageHover.draw(context);
+ else
+ pData->imageNormal.draw(context);
+ }
}
template <class ImageType>