Back to index

lightning-sunbird  0.9+nobinonly
Classes | Defines | Functions | Variables
nsSVGCairoGlyphGeometry.cpp File Reference
#include "nsCOMPtr.h"
#include "nsSVGCairoGlyphGeometry.h"
#include "nsISVGRendererGlyphGeometry.h"
#include "nsISVGCairoCanvas.h"
#include "nsIDOMSVGMatrix.h"
#include "nsSVGCairoRegion.h"
#include "nsISVGCairoRegion.h"
#include "nsISVGRendererRegion.h"
#include "nsISVGGlyphGeometrySource.h"
#include "nsPromiseFlatString.h"
#include "nsSVGCairoGlyphMetrics.h"
#include "nsISVGCairoGlyphMetrics.h"
#include "nsPresContext.h"
#include "nsMemory.h"
#include "cairo.h"
#include "nsISVGGradient.h"
#include "nsSVGCairoGradient.h"
#include "nsIDOMSVGRect.h"
#include "nsSVGTypeCIDs.h"
#include "nsIComponentManager.h"
#include "nsSVGUtils.h"

Go to the source code of this file.

Classes

class  nsSVGCairoGlyphGeometry
 cairo glyph geometry implementation More...

Defines

#define LOOP_CHARS(func)

Functions

nsresult NS_NewSVGCairoGlyphGeometry (nsISVGRendererGlyphGeometry **result, nsISVGGlyphGeometrySource *src)

Variables

cairo_surface_t * gSVGCairoDummySurface

Define Documentation

Value:
if (!cp) { \
      func(ctx, NS_ConvertUCS2toUTF8(text).get()); \
    } else { \
      for (PRUint32 i=0; i<text.Length(); i++) { \
        /* character actually on the path? */  \
        if (cp[i].draw == PR_FALSE) \
          continue;                   \
        cairo_matrix_t matrix; \
        cairo_get_matrix(ctx, &matrix); \
        cairo_move_to(ctx, cp[i].x, cp[i].y); \
        cairo_rotate(ctx, cp[i].angle); \
        func(ctx, NS_ConvertUCS2toUTF8(Substring(text, i, 1)).get()); \
        cairo_set_matrix(ctx, &matrix); \
      } \
    }

Definition at line 159 of file nsSVGCairoGlyphGeometry.cpp.


Function Documentation

Definition at line 123 of file nsSVGCairoGlyphGeometry.cpp.

{
  *result = nsnull;
  
  nsSVGCairoGlyphGeometry* gg = new nsSVGCairoGlyphGeometry();
  if (!gg) return NS_ERROR_OUT_OF_MEMORY;

  NS_ADDREF(gg);

  nsresult rv = gg->Init(src);

  if (NS_FAILED(rv)) {
    NS_RELEASE(gg);
    return rv;
  }
  
  *result = gg;
  return rv;
}

Here is the call graph for this function:


Variable Documentation

cairo_surface_t* gSVGCairoDummySurface

Definition at line 52 of file nsSVGRendererCairo.cpp.