From: <geo...@us...> - 2013-03-18 07:17:02
|
Revision: 5878 http://freeorion.svn.sourceforge.net/freeorion/revision/?rev=5878&view=rev Author: geoffthemedio Date: 2013-03-18 07:16:55 +0000 (Mon, 18 Mar 2013) Log Message: ----------- -Tech tree rendering tweaks. Zooming fonts just isn't going to look good, it seems... -minor grooming. Modified Paths: -------------- trunk/FreeOrion/UI/TechTreeWnd.cpp trunk/FreeOrion/universe/Condition.cpp Modified: trunk/FreeOrion/UI/TechTreeWnd.cpp =================================================================== --- trunk/FreeOrion/UI/TechTreeWnd.cpp 2013-03-18 00:53:04 UTC (rev 5877) +++ trunk/FreeOrion/UI/TechTreeWnd.cpp 2013-03-18 07:16:55 UTC (rev 5878) @@ -34,12 +34,12 @@ const int MAIN_PANEL_CORNER_RADIUS = 5; const float ARC_THICKNESS = 3.0; - const GG::X TECH_PANEL_WIDTH(300); - const GG::Y TECH_PANEL_HEIGHT(80); + const GG::X TECH_PANEL_WIDTH(150); + const GG::Y TECH_PANEL_HEIGHT(40); - const double MIN_SCALE = 0.1073741824; // = 1.0/(1.25)^10 - const double MAX_SCALE = 1.0; - const double ZOOM_STEP_SIZE = 1.125; + const double ZOOM_STEP_SIZE = 1.08; + const double MIN_SCALE = std::pow(ZOOM_STEP_SIZE, -25.0); + const double MAX_SCALE = std::pow(ZOOM_STEP_SIZE, 10.0); struct ToggleCategoryFunctor { ToggleCategoryFunctor(TechTreeWnd* tree_wnd, const std::string& category) : m_tree_wnd(tree_wnd), m_category(category) {} @@ -473,7 +473,7 @@ boost::shared_ptr<GG::Font> font = ClientUI::GetFont(FontSize()); //REMARK: do not use AttachChild but add child->Render() to method render, - // as the component is zoomed tech icon + // as the component is zoomed tech icon const int GRAPHIC_SIZE = Value(TECH_PANEL_HEIGHT); m_icon = new GG::StaticGraphic(GG::X0, GG::Y0, GG::X(GRAPHIC_SIZE), GG::Y(GRAPHIC_SIZE), ClientUI::TechIcon(m_tech_name), @@ -510,7 +510,7 @@ } int TechTreeWnd::LayoutPanel::TechPanel::FontSize() const -{ return ClientUI::Pts() * 2; } +{ return ClientUI::Pts(); } bool TechTreeWnd::LayoutPanel::TechPanel::InWindow(const GG::Pt& pt) const { const GG::Pt p = m_layout_panel->Convert(pt) - UpperLeft(); @@ -548,7 +548,7 @@ m_icon->Render(); - if (FontSize() * m_layout_panel->Scale() > 12) // in my tests, smaller fonts appear garbled / pixilated due to rescaling for zooming + if (FontSize() * m_layout_panel->Scale() > 8) // in my tests, smaller fonts appear garbled / pixilated due to rescaling for zooming m_tech_name_text->Render(); m_layout_panel->UndoZoom(); @@ -1102,6 +1102,7 @@ SetScale(m_scale * ZOOM_STEP_SIZE); else if (move < 0) SetScale(m_scale / ZOOM_STEP_SIZE); + std::cout << m_scale << std::endl; } void TechTreeWnd::LayoutPanel::TreeZoomInClicked() Modified: trunk/FreeOrion/universe/Condition.cpp =================================================================== --- trunk/FreeOrion/universe/Condition.cpp 2013-03-18 00:53:04 UTC (rev 5877) +++ trunk/FreeOrion/universe/Condition.cpp 2013-03-18 07:16:55 UTC (rev 5878) @@ -3215,14 +3215,14 @@ } namespace { - int NumberOnQueue(const ProductionQueue& queue, BuildType build_type, int location_id, + int NumberOnQueue(const ProductionQueue& queue, BuildType build_type, const int location_id, const std::string& name = "", int design_id = ShipDesign::INVALID_DESIGN_ID) { int retval = 0; for (ProductionQueue::const_iterator it = queue.begin(); it != queue.end(); ++it) { if (!(build_type == INVALID_BUILD_TYPE || build_type == it->item.build_type)) continue; - if (!(location_id == it->location)) + if (location_id != it->location) continue; if (build_type == BT_BUILDING) { // if looking for buildings, accept specifically named building |