MCPcopy Create free account
hub / github.com/davidgiven/fluxengine / lineRadialGradient

Method lineRadialGradient

dep/agg/src/agg2d.cpp:568–595  ·  view source on GitHub ↗

------------------------------------------------------------------------

Source from the content-addressed store, hash-verified

566
567//------------------------------------------------------------------------
568void Agg2D::lineRadialGradient(double x, double y, double r, Color c1, Color c2, double profile)
569{
570 int i;
571 int startGradient = 128 - int(profile * 128.0);
572 int endGradient = 128 + int(profile * 128.0);
573 if (endGradient <= startGradient) endGradient = startGradient + 1;
574 double k = 1.0 / double(endGradient - startGradient);
575 for (i = 0; i < startGradient; i++)
576 {
577 m_lineGradient[i] = c1;
578 }
579 for (; i < endGradient; i++)
580 {
581 m_lineGradient[i] = c1.gradient(c2, double(i - startGradient) * k);
582 }
583 for (; i < 256; i++)
584 {
585 m_lineGradient[i] = c2;
586 }
587 m_lineGradientD2 = worldToScreen(r);
588 worldToScreen(x, y);
589 m_lineGradientMatrix.reset();
590 m_lineGradientMatrix *= agg::trans_affine_translation(x, y);
591 m_lineGradientMatrix.invert();
592 m_lineGradientD1 = 0;
593 m_lineGradientFlag = Radial;
594 m_lineColor = Color(0,0,0); // Set some real color
595}
596
597
598//------------------------------------------------------------------------

Callers

nothing calls this directly

Calls 4

gradientMethod · 0.45
resetMethod · 0.45
invertMethod · 0.45

Tested by

no test coverage detected