diff options
-rw-r--r-- | dgl/src/ImageBaseWidgets.cpp | 22 |
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> |