void FleetButton::RenderUnpressed() { GG::Pt ul = UpperLeft(), lr = LowerRight(); const double midX = static_cast<double>(Value(ul.x + lr.x))/2.0; const double midY = static_cast<double>(Value(ul.y + lr.y))/2.0; if (m_selected && m_selection_texture) { double sel_ind_scale = GetOptionsDB().Get<double>("UI.fleet-selection-indicator-size"); double sel_ind_half_size = Value(Width()) * sel_ind_scale / 2.0; GG::Pt sel_ul = GG::Pt(GG::X(static_cast<int>(midX - sel_ind_half_size)), GG::Y(static_cast<int>(midY - sel_ind_half_size))); GG::Pt sel_lr = GG::Pt(GG::X(static_cast<int>(midX + sel_ind_half_size)), GG::Y(static_cast<int>(midY + sel_ind_half_size))); glColor(GG::CLR_WHITE); m_selection_texture->OrthoBlit(sel_ul, sel_lr); } glColor(Color()); if (m_vertex_components.empty()) { if (m_size_icon) m_size_icon->OrthoBlit(ul); for (std::vector<boost::shared_ptr<GG::Texture> >::iterator it = m_head_icons.begin(); it != m_head_icons.end(); ++it) (*it)->OrthoBlit(ul); } else { std::vector<double> vertsXY; vertsXY.push_back(midX + m_vertex_components[0]); vertsXY.push_back(midY + m_vertex_components[1]); vertsXY.push_back(midX + m_vertex_components[2]); vertsXY.push_back(midY + m_vertex_components[3]); vertsXY.push_back(midX + m_vertex_components[4]); vertsXY.push_back(midY + m_vertex_components[5]); vertsXY.push_back(midX + m_vertex_components[6]); vertsXY.push_back(midY + m_vertex_components[7]); for (std::vector<boost::shared_ptr<GG::Texture> >::iterator it = m_head_icons.begin(); it != m_head_icons.end(); ++it) RenderTexturedQuad(vertsXY, *it); RenderTexturedQuad(vertsXY, m_size_icon); } // Scanlines for not currently-visible objects? int empire_id = HumanClientApp::GetApp()->EmpireID(); if (!scanline_shader || empire_id == ALL_EMPIRES || !GetOptionsDB().Get<bool>("UI.system-fog-of-war")) return; bool at_least_one_fleet_visible = false; for (std::vector<int>::const_iterator it = m_fleets.begin(); it != m_fleets.end(); ++it) { if (GetUniverse().GetObjectVisibilityByEmpire(*it, empire_id) >= VIS_BASIC_VISIBILITY) { at_least_one_fleet_visible = true; break; } } if (at_least_one_fleet_visible) return; float fog_scanline_spacing = static_cast<float>(GetOptionsDB().Get<double>("UI.system-fog-of-war-spacing")); scanline_shader->Use(); scanline_shader->Bind("scanline_spacing", fog_scanline_spacing); CircleArc(ul, lr, 0.0, TWO_PI, true); scanline_shader->stopUse(); }
void InventoryContainerElement::Render() { RenderTexturedQuad(GetX(), GetY(), _texture, 32, 32); _inventoryItem = nullptr; if(_inventoryItem != nullptr) RenderTexturedQuad(GetX(), GetY(), _inventoryItem->entity->GetComponent<RenderComponent>(COMPONENT_RENDER)->GetTexture(), 32, 32); }