/* * Copyright 2012 Google Inc. * * Use of this source code is governed by a BSD-style license that can be * found in the LICENSE file. */ #ifndef SKOBJECTPARSER_H_ #define SKOBJECTPARSER_H_ #include "SkCanvas.h" #include "SkString.h" /** \class SkObjectParser The ObjectParser is used to return string information about parameters in each draw command. */ class SkObjectParser { public: /** Returns a string about a bitmap's bounds and colortype. @param bitmap SkBitmap */ static SkString* BitmapToString(const SkBitmap& bitmap); /** Returns a string about a image @param image SkImage */ static SkString* ImageToString(const SkImage* image); /** Returns a string representation of a boolean. @param doAA boolean */ static SkString* BoolToString(bool doAA); /** Returns a string representation of the text pointer passed in. */ static SkString* CustomTextToString(const char* text); /** Returns a string representation of an integer with the text parameter at the front of the string. @param x integer @param text */ static SkString* IntToString(int x, const char* text); /** Returns a string representation of the SkIRects coordinates. @param rect SkIRect */ static SkString* IRectToString(const SkIRect& rect); /** Returns a string representation of an SkMatrix's contents @param matrix SkMatrix */ static SkString* MatrixToString(const SkMatrix& matrix); /** Returns a string representation of an SkPaint's color @param paint SkPaint */ static SkString* PaintToString(const SkPaint& paint); /** Returns a string representation of a SkPath's points. @param path SkPath */ static SkString* PathToString(const SkPath& path); /** Returns a string representation of the points in the point array. @param pts[] Array of SkPoints @param count */ static SkString* PointsToString(const SkPoint pts[], size_t count); /** Returns a string representation of the SkCanvas PointMode enum. */ static SkString* PointModeToString(SkCanvas::PointMode mode); /** Returns a string representation of the SkRects coordinates. @param rect SkRect */ static SkString* RectToString(const SkRect& rect, const char* title = nullptr); /** Returns a string representation of an SkRRect. @param rrect SkRRect */ static SkString* RRectToString(const SkRRect& rrect, const char* title = nullptr); /** Returns a string representation of the SkRegion enum. @param op SkRegion::op enum */ static SkString* ClipOpToString(SkClipOp op); /** Returns a string representation of the SkRegion. @param region SkRegion */ static SkString* RegionToString(const SkRegion& region); /** Returns a string representation of the SkCanvas::SaveLayerFlags enum. @param flags SkCanvas::SaveLayerFlags enum */ static SkString* SaveLayerFlagsToString(uint32_t saveLayerFlags); /** Returns a string representation of an SkScalar with the text parameter at the front of the string. @param x SkScalar @param text */ static SkString* ScalarToString(SkScalar x, const char* text); /** Returns a string representation of the char pointer passed in. @param text const void* that will be cast to a char* */ static SkString* TextToString(const void* text, size_t byteLength, SkPaint::TextEncoding encoding); /** Returns a string representation of the SkCanvas::Lattice. @param lattice SkCanvas::Lattice */ static SkString* LatticeToString(const SkCanvas::Lattice& lattice); }; #endif