From 003c0aa28132ade7b89ba5ed001bf819c8d0d381 Mon Sep 17 00:00:00 2001 From: oy Date: Sat, 6 Aug 2011 13:08:29 +0200 Subject: [PATCH] fixed aspect ratio in the editor's image preview. Closes #784 --- src/game/editor/editor.cpp | 3 +++ src/game/editor/popups.cpp | 9 +++++++++ 2 files changed, 12 insertions(+) diff --git a/src/game/editor/editor.cpp b/src/game/editor/editor.cpp index 40948d822..84308ab63 100644 --- a/src/game/editor/editor.cpp +++ b/src/game/editor/editor.cpp @@ -2417,6 +2417,9 @@ void CEditor::RenderImages(CUIRect ToolBox, CUIRect ToolBar, CUIRect View) r.w = r.h; else r.h = r.w; + float Max = (float)(max(m_Map.m_lImages[i]->m_Width, m_Map.m_lImages[i]->m_Height)); + r.w *= m_Map.m_lImages[i]->m_Width/Max; + r.h *= m_Map.m_lImages[i]->m_Height/Max; Graphics()->TextureSet(m_Map.m_lImages[i]->m_TexID); Graphics()->BlendNormal(); Graphics()->QuadsBegin(); diff --git a/src/game/editor/popups.cpp b/src/game/editor/popups.cpp index f29ae7e20..59f731fa9 100644 --- a/src/game/editor/popups.cpp +++ b/src/game/editor/popups.cpp @@ -703,7 +703,16 @@ int CEditor::PopupSelectImage(CEditor *pEditor, CUIRect View) } if(ShowImage >= 0 && ShowImage < pEditor->m_Map.m_lImages.size()) + { + if(ImageView.h < ImageView.w) + ImageView.w = ImageView.h; + else + ImageView.h = ImageView.w; + float Max = (float)(max(pEditor->m_Map.m_lImages[ShowImage]->m_Width, pEditor->m_Map.m_lImages[ShowImage]->m_Height)); + ImageView.w *= pEditor->m_Map.m_lImages[ShowImage]->m_Width/Max; + ImageView.h *= pEditor->m_Map.m_lImages[ShowImage]->m_Height/Max; pEditor->Graphics()->TextureSet(pEditor->m_Map.m_lImages[ShowImage]->m_TexID); + } else pEditor->Graphics()->TextureSet(-1); pEditor->Graphics()->QuadsBegin();