Fix rounding issue of hud dpi on some machines
authorsapier <Sapier at GMX dot net>
Sun, 27 Apr 2014 20:44:37 +0000 (22:44 +0200)
committersapier <Sapier at GMX dot net>
Sun, 27 Apr 2014 20:44:37 +0000 (22:44 +0200)
src/hud.cpp

index f5f9599036a0e00e337631047afb231b86e58163..bbec4489ead7203043c9ec5d30752a7387ca80d4 100644 (file)
@@ -49,7 +49,7 @@ Hud::Hud(video::IVideoDriver *driver, scene::ISceneManager* smgr,
        
        m_screensize       = v2u32(0, 0);
        m_displaycenter    = v2s32(0, 0);
-       m_hotbar_imagesize = HOTBAR_IMAGE_SIZE * porting::getDisplayDensity();
+       m_hotbar_imagesize = floor(HOTBAR_IMAGE_SIZE * porting::getDisplayDensity() + 0.5);
        m_padding = m_hotbar_imagesize / 12;
 
        const video::SColor hbar_color(255, 255, 255, 255);
@@ -436,7 +436,7 @@ void Hud::drawSelectionBoxes(std::vector<aabb3f> &hilightboxes) {
 
 void Hud::resizeHotbar() {
        if (m_screensize != porting::getWindowSize()) {
-               m_hotbar_imagesize = porting::getDisplayDensity() * HOTBAR_IMAGE_SIZE;
+               m_hotbar_imagesize = floor(HOTBAR_IMAGE_SIZE * porting::getDisplayDensity() + 0.5);
                m_padding = m_hotbar_imagesize / 12;
                m_screensize = porting::getWindowSize();
                m_displaycenter = v2s32(m_screensize.X/2,m_screensize.Y/2);