for (PRInt32 i = 0; i< pdata.Count; i++) { switch (pdata.Types[i]) {
for (PRInt32 i = 0; i < pdata.Count; i++) { switch (pdata.Types[i] & PathPointTypePathTypeMask) {
nsSVGGDIPlusPathGeometry::Flatten(nsSVGPathData **aData){  *aData = nsnull;  GraphicsPath *path = GetPath();  if (!path)    return NS_ERROR_FAILURE;  PathData pdata;  path->Flatten();  path->GetPathData(&pdata);  *aData = new nsSVGPathData;  for (PRInt32 i = 0; i< pdata.Count; i++) {    switch (pdata.Types[i]) {    case PathPointTypeStart:      (*aData)->AddPoint(pdata.Points[i].X,                         pdata.Points[i].Y,                         NS_SVGPATHFLATTEN_MOVE);      break;    case PathPointTypeLine:      (*aData)->AddPoint(pdata.Points[i].X,                         pdata.Points[i].Y,                         NS_SVGPATHFLATTEN_LINE);      break;    case PathPointTypeCloseSubpath:    {      /* find beginning of current subpath */      for (PRUint32 i = (*aData)->count; i >= 0; i--)        if ((*aData)->type[i] = NS_SVGPATHFLATTEN_MOVE) {          (*aData)->AddPoint((*aData)->x[i],                             (*aData)->y[i],                             NS_SVGPATHFLATTEN_LINE);          break;        }    }    default:      /* should never happen with a flattened path */      break;    }  }  return NS_OK;}