Back to index

lightning-sunbird  0.9+nobinonly
Functions
nsSVGLibartGradient.h File Reference
#include "libart-incs.h"
#include "nsISVGPathGeometrySource.h"
#include "nsISVGGradient.h"
#include "nsISVGLibartRegion.h"
#include "nsISVGLibartCanvas.h"
#include "nsISVGGeometrySource.h"
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

void LibartGradient (ArtRender *render, nsIDOMSVGMatrix *aMatrix, nsISVGGradient *aGrad, nsISVGLibartRegion *aRegion, nsISVGGeometrySource *aSource)

Function Documentation

void LibartGradient ( ArtRender *  render,
nsIDOMSVGMatrix aMatrix,
nsISVGGradient aGrad,
nsISVGLibartRegion aRegion,
nsISVGGeometrySource aSource 
)

Definition at line 252 of file nsSVGLibartGradient.cpp.

{
  double affine[6];
  NS_ASSERTION(aGrad, "Called LibartGradient without a gradient!");
  if (!aGrad) {
    return;
  }

  // Get the transform list (if there is one)
  nsCOMPtr<nsIDOMSVGMatrix> svgMatrix;
  aGrad->GetGradientTransform(getter_AddRefs(svgMatrix), aSource);
  NS_ASSERTION(svgMatrix, "LibartLinearGradient: GetGradientTransform returns null");

  double aTransMatrix[6];
  SVGToMatrix(svgMatrix, aTransMatrix);

  // Linear or Radial?
  PRUint32 type;
  aGrad->GetGradientType(&type);
  if (type == nsISVGGradient::SVG_LINEAR_GRADIENT)
    LibartLinearGradient(render, aGrad, aTransMatrix);
  else if (type == nsISVGGradient::SVG_RADIAL_GRADIENT)
    LibartRadialGradient(render, aGrad, aTransMatrix);

  return;
}

Here is the call graph for this function:

Here is the caller graph for this function: