//-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- void RivGridBoxGenerator::updateFromBackgroundColor(const cvf::Color3f& backgroundColor) { double adjustmentFactor = 0.3; float gridR = 0.0; float gridG = 0.0; float gridB = 0.0; if (backgroundColor.r() + backgroundColor.g() + backgroundColor.b() > 1.5f) { gridR = backgroundColor.r() - (backgroundColor.r() * adjustmentFactor); gridG = backgroundColor.g() - (backgroundColor.g() * adjustmentFactor); gridB = backgroundColor.b() - (backgroundColor.b() * adjustmentFactor); m_gridLegendColor = cvf::Color3f::fromByteColor(10, 10, 10); } else { gridR = backgroundColor.r() + (1.0 - backgroundColor.r()) * adjustmentFactor; gridG = backgroundColor.g() + (1.0 - backgroundColor.g()) * adjustmentFactor; gridB = backgroundColor.b() + (1.0 - backgroundColor.b()) * adjustmentFactor; m_gridLegendColor = cvf::Color3f::WHITE; } m_gridColor.set(gridR, gridG, gridB); }
//-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- cvf::Color3f RimSummaryCurveAppearanceCalculator::gradeColor(const cvf::Color3f& color, float factor) { CVF_ASSERT(-1.0 <= factor && factor <= 1.0); cvf::Vec3f orgC(color.r(), color.g(), color.b()); cvf::Vec3f targetC; if(factor < 0) { targetC = cvf::Vec3f(0, 0, 0); } else { targetC = cvf::Vec3f(1, 1, 1); } cvf::Vec3f newColor = ((float)fabs(factor)) * (targetC - orgC) + orgC; return cvf::Color3f(newColor[0], newColor[1], newColor[2]); }
//-------------------------------------------------------------------------------------------------- /// //-------------------------------------------------------------------------------------------------- void XmlElementImpl::setAttributeColor(const String& attributeName, const cvf::Color3f& color) { String valString = String::number(color.r()) + " " + String::number(color.g()) + " " + String::number(color.b()); setAttributeString(attributeName, valString); }