#if SVG_SUPPORT
#import "KCanvasRenderingStyle.h" // for all the CAP_BUTT contstants, etc.
namespace WebCore {
class IntRect;
class RenderStyle;
class RenderObject;
#ifndef NDEBUG
void debugDumpCGImageToFile(NSString *filename, CGImageRef image, int width, int height);
void debugDumpCGLayerToFile(NSString *filename, CGLayerRef layer, int width, int height);
void debugDumpCIImageToFile(NSString *filename, CIImage *ciImage, int width, int height);
#endif
CFStringRef CFStringFromCGPath(CGPathRef path);
CFStringRef CFStringFromCGAffineTransform(CGAffineTransform t);
CGAffineTransform CGAffineTransformMakeMapBetweenRects(CGRect source, CGRect dest);
void applyStrokeStyleToContext(CGContextRef, const KRenderingStrokePainter&);
void applyStrokeStyleToContext(CGContextRef, RenderStyle*, const RenderObject*);
static inline CGLineCap CGLineCapFromKC(KCCapStyle cap)
{
if (cap == CAP_BUTT)
return kCGLineCapButt;
else if (cap == CAP_ROUND)
return kCGLineCapRound;
else if (cap == CAP_SQUARE)
return kCGLineCapSquare;
return kCGLineCapButt;
}
static inline CGLineJoin CGLineJoinFromKC(KCJoinStyle join)
{
if (join == JOIN_MITER)
return kCGLineJoinMiter;
else if (join == JOIN_ROUND)
return kCGLineJoinRound;
else if (join == JOIN_BEVEL)
return kCGLineJoinBevel;
return kCGLineJoinMiter;
}
static inline CGPoint CGPointSubtractPoints(CGPoint a, CGPoint b)
{
return CGPointMake(a.x - b.x, a.y - b.y);
}
}
#endif // SVG_SUPPORT