# external references that will be documented eventually ...
#External
 DirectWrite TrueType Windows Linux Android iOS __ANDROID_API__ AHardwareBuffer
 FreeType FreeType-based Harfbuzz
 LCD RGB sRGB BGR RGBA ARGB YUV YUVA HSV SDTV HDTV
 Unicode Unicode5 UTF-8 UTF-16 UTF-32 ASCII Unichar
 API
 BMP GIF HEIF ICO JPEG PNG WBMP WebP
 CPU
 GPU GPU-backed OpenGL Vulkan VkDevice I/O MSAA
 PDF XPS
 RFC
 NaN NaNs
 bool U16CPU int int8_t int16_t int32_t int64_t uint8_t uint16_t uint32_t uint64_t size_t
 nullptr
 malloc() calloc() assert() std::move()
 C C++ SIZE_MAX C_FILE FILE
 CSS HTML

 affine destructor multitexturing representable subclasses descender descenders grayscale kerning
 unhinted no-parameter
 
 Sa Da Sc Dc 0xAARRGGBB # temporary until figure out what to do

 SkUserConfig.h  # not external, but still thinking about how markup refers to this
 SkXXX.h        # ditto
 SkXXX_Reference # ditto
 Skia           # ditto
 SK_ABORT       # ditto
 SK_DEBUG       # ditto
 SK_RELEASE     # ditto
 SK_USE_FREETYPE_EMBOLDEN # ditto
 SK_BUILD_FOR_ANDROID_FRAMEWORK # ditto
 SK_BUILD_FOR_MAC # ditto
 SK_BUILD_FOR_IOS # ditto
 SK_SUPPORT_GPU # ditto
 SK_HAS_JPEG_LIBRARY # ditto
 SK_HAS_PNG_LIBRARY # ditto
 SK_HAS_WEBP_LIBRARY # ditto
 SK_IGNORE_GPU_DITHER # ditto
 SK_PMCOLOR_BYTE_ORDER # ditto

# FreeType related
FT_LOAD_TARGET_LIGHT
FT_LOAD_TARGET_NORMAL
FT_LOAD_TARGET_LCD
FT_LOAD_TARGET_LCD_V
FT_LOAD_NO_HINTING
FT_Load_Glyph

#External ##

# this jargon requires a substitute to space the phrase.
#Topic Little_Endian
#Substitute little endian
##

#Topic Big_Endian
#Substitute big endian
##

#Topic YUV_Component_Y
#Substitute YUV component y
##

#Topic YUV_Component_U
#Substitute YUV component u
##

#Topic YUV_Component_V
#Substitute YUV component v
##

#Topic UV_Mapping
#Substitute UV mapping
##

#Topic Multi_Sample_Anti_Aliasing
#Substitute multi-sample anti-aliasing
##

#Topic GPU_Share_Group
#Substitute GPU share group
##

#Topic Bezier_Curve
#Substitute Bezier cruve
##

#Topic Coons_Patch
#Substitute Coons patch
##

#Topic Cartesian_Coordinate
#Substitute Cartesian coordinate
##

#Topic Euclidean_Distance
#Substitute Euclidean distance
##

#Topic Euclidean_Space
#Substitute Euclidean space
##

#Topic HTML_Gray
#Substitute HTML gray
##

#Topic HTML_Silver
#Substitute HTML silver
##

#Topic HTML_Lime
#Substitute HTML lime
##

#Topic HTML_Green
#Substitute HTML green
##

#Topic HTML_Aqua
#Substitute HTML aqua
##

#Topic HTML_Fuchsia
#Substitute HTML fuchsia
##

#Topic SVG_lightgray
#Substitute SVG light gray
##

#Topic SVG_darkgray
#Substitute SVG dark gray
##

# start of topics to be documented in the future

#Topic Alias
#Alias Aliased ##
#Alias Aliasing ##
##

#Topic Arc
#Alias Arcs ##
#Topic ##

#Topic Backend_Semaphore
#Alias Backend_Semaphores ##
#Class GrBackendSemaphore
##
##

#Topic BBH_Factory
#Class SkBBHFactory
##
##


#Topic Circle
#Alias Circles ##
#Topic ##

#Topic Clip_Op
#EnumClass SkClipOp
    #Const kDifference 0
    ##
    #Const kIntersect 1
    ##
##
##

#Topic Color_Filter
#Class SkColorFilter
#Class ##
##

#Topic Color_Space
#Class SkColorSpace
    #Method static sk_sp<SkColorSpace> MakeSRGBLinear()
    ##
    #Method bool gammaCloseToSRGB() const
    ##
    #Method static bool Equals(const SkColorSpace* src, const SkColorSpace* dst)
    ##
##
##

#Topic Create_Color_Space_Xform_Canvas
#Method std::unique_ptr<SkCanvas> SkCreateColorSpaceXformCanvas(SkCanvas* target,
                                                                sk_sp<SkColorSpace> targetCS)
##
##

#Topic Core_Graphics
#Substitute Core Graphics
##

#Topic Core_Text
#Substitute Core Text
##

#Topic Curve
#Alias Curves ##
##

#Topic Data
#Class SkData
##
##

#Topic Debug_Canvas
#Class SkDebugCanvas
##
##

#Topic Debugging
#Method void SkDebugf(const char format[], ...)
##
##

#Topic Deferred_Display_List
#Class SkDeferredDisplayList
##
#Subtopic Recorder
#Class SkDeferredDisplayListRecorder
##
##
##

#Topic Deserial_Procs
#Struct SkDeserialProcs
#Member SkDeserialPictureProc   fPictureProc
##
#Member void*   fPictureCtx
##
#Member SkDeserialTypefaceProc   fTypefaceProc
##
#Member void*   fTypefaceCtx
##
##
##

#Topic Device
#Class SkBaseDevice
##
##

#Topic Document
#Class SkDocument
    #Method SkCanvas* beginPage(SkScalar width, SkScalar height,
                        const SkRect* content = NULL)
    ##
##
#Subtopic PDF
##
##

#Topic Draw_Layer
##

#Topic Draw_Looper
#Class SkDrawLooper
#Class ##
##

#Topic Drawable
#Class SkDrawable
    #Method void draw(SkCanvas*, const SkMatrix* = NULL)
    ##
##
##

# to be in topic Encoded_Image_Format
#EnumClass SkEncodedImageFormat
    #Const kUnknown 0
    ##
    #Const kBMP 1
    ##
    #Const kGIF 2
    ##
    #Const kICO 3
    ##
    #Const kJPEG 4
    ##
    #Const kPNG 5
    ##
    #Const kWBMP 6
    ##
    #Const kWEBP 7
    ##
    #Const kPKM 8
    ##
    #Const kKTX 9
    ##
    #Const kASTC 10
    ##
    #Const kDNG 11
    ##
    #Const kHEIF 12
    ##
##
# end of topic Encoded_Image_Format

#Topic Filter_Quality
#Enum SkFilterQuality
    #Const kNone_SkFilterQuality 0
    ##
    #Const kLow_SkFilterQuality 1
    ##
    #Const kMedium_SkFilterQuality 2
    ##
    #Const kHigh_SkFilterQuality 3
    ##
#Enum ##
#Subtopic Nearest_Neighbor
#Substitute nearest neighbor filter
##
#Subtopic Bilerp
#Substitute bilerp filter
##
#Subtopic MipMap
#Substitute mip-map filter
##
#Subtopic BiCubic
#Substitute bicubic filter
##
#Topic ##

#Topic Text_Encoding
#Enum SkTextEncoding
#Const kUTF8_SkTextEncoding 0
##
#Const kUTF16_SkTextEncoding 1
##
#Const kUTF32_SkTextEncoding 2
##
#Const kGlyphID_SkTextEncoding 3
##
TextEncoding determines whether text specifies character codes and their encoded
size, or glyph indices. Characters are encoded as specified by the
#A Unicode standard # https://unicode.org/standard/standard.html ##
.

Character codes encoded size are specified by UTF-8, UTF-16, or UTF-32.
All character code formats are able to represent all of Unicode, differing only
in the total storage required.

#A UTF-8 (RFC 3629) # https://tools.ietf.org/html/rfc3629 ##
encodes each character as one or more 8-bit bytes.

#A UTF-16 (RFC 2781) # https://tools.ietf.org/html/rfc2781 ##
encodes each character as one or two 16-bit words.

#A UTF-32 # https://www.unicode.org/versions/Unicode5.0.0/ch03.pdf ##
encodes each character as one 32-bit word.

Font_Manager uses font data to convert character code points into glyph indices.
A glyph index is a 16-bit word.
#Enum SkTextEncoding ##
#Topic Text_Encoding ##

#Topic Font_Hinting
#Line # glyph outline adjustment ##
#EnumClass SkFontHinting
#Const kNone 0
#Line # glyph outlines unchanged ##
    Leaves glyph outlines unchanged from their native representation.
    With FreeType, this is equivalent to the FT_LOAD_NO_HINTING
    bit-field constant supplied to FT_Load_Glyph, which indicates that the vector
    outline being loaded should not be fitted to the pixel grid but simply scaled
    to 26.6 fractional pixels.
##
#Const kSlight 1
#Line # minimal modification to improve contrast ##
    Modifies glyph outlines minimally to improve contrast.
    With FreeType, this is equivalent in spirit to the
    FT_LOAD_TARGET_LIGHT value supplied to FT_Load_Glyph. It chooses a
    lighter hinting algorithm for non-monochrome modes.
    Generated Glyphs may be fuzzy but better resemble their original shape.
##
#Const kNormal 2
#Line # glyph outlines modified to improve contrast ##
    Modifies glyph outlines to improve contrast. This is the default.
    With FreeType, this supplies FT_LOAD_TARGET_NORMAL to FT_Load_Glyph,
    choosing the default hinting algorithm, which is optimized for standard
    gray-level rendering.
##
#Const kFull 3
#Line # modifies glyph outlines for maximum contrast ##
    Modifies glyph outlines for maximum contrast. With FreeType, this selects
    FT_LOAD_TARGET_LCD or FT_LOAD_TARGET_LCD_V if kLCDRenderText_Flag is set.
    FT_LOAD_TARGET_LCD is a variant of FT_LOAD_TARGET_NORMAL optimized for
    horizontally decimated LCD displays; FT_LOAD_TARGET_LCD_V is a
    variant of FT_LOAD_TARGET_NORMAL optimized for vertically decimated LCD displays.
##
#EnumClass SkFontHinting ##
#Topic Font_Hinting ##

#Topic Font_Metrics
#Struct SkFontMetrics
#Line # values computed by Font_Manager using Typeface ##

    SkFontMetrics is filled out by SkPaint::getFontMetrics. SkFontMetrics contents
    reflect the values
    computed by Font_Manager using Typeface. Values are set to zero if they are
    not available.

    All vertical values are relative to the baseline, on a y-axis pointing down.
    Zero is on the baseline, negative values are above the baseline, and positive
    values are below the baseline.

    fUnderlineThickness and fUnderlinePosition have a bit set in fFlags if their values
    are valid, since their value may be zero.

    fStrikeoutThickness and fStrikeoutPosition have a bit set in fFlags if their values
    are valid, since their value may be zero.

    #Enum FontMetricsFlags
    #Line # valid Font_Metrics ##

    FontMetricsFlags are set in fFlags when underline and strikeout metrics are valid;
    the underline or strikeout metric may be valid and zero.
    Fonts with embedded bitmaps may not have valid underline or strikeout metrics.

        #Const kUnderlineThicknessIsValid_Flag 0x0001
        #Line # set if fUnderlineThickness is valid ##
        ##
        #Const kUnderlinePositionIsValid_Flag  0x0002
        #Line # set if fUnderlinePosition is valid ##
        ##
        #Const kStrikeoutThicknessIsValid_Flag 0x0004
        #Line # set if fStrikeoutThickness is valid ##
        ##
        #Const kStrikeoutPositionIsValid_Flag  0x0008
        #Line # set if fStrikeoutPosition is valid ##
        ##

    #Enum ##

    #Member uint32_t    fFlags
    #Line # is set to FontMetricsFlags when metrics are valid ##
    ##

    #Member SkScalar    fTop
    #Line # extent above baseline ##
        Greatest extent above the baseline for any glyph.
        Typically less than zero.
    ##

    #Member SkScalar    fAscent
    #Line # distance to reserve above baseline ##
        Recommended distance above the baseline to reserve for a line of text.
        Typically less than zero.
    ##

    #Member SkScalar    fDescent
    #Line # distance to reserve below baseline ##
        Recommended distance below the baseline to reserve for a line of text.
        Typically greater than zero.
    ##

    #Member SkScalar    fBottom
    #Line # extent below baseline ##
        Greatest extent below the baseline for any glyph.
        Typically greater than zero.
    ##

    #Member SkScalar    fLeading
    #Line # distance to add between lines ##
        Recommended distance to add between lines of text.
        Typically greater than or equal to zero.
    ##

    #Member SkScalar    fAvgCharWidth
    #Line # average character width ##
        Average character width, if it is available.
        Zero if no average width is stored in the font.
    ##

    #Member SkScalar    fMaxCharWidth
    #Line # maximum character width ##
    ##

    #Member SkScalar    fXMin
    #Line # minimum x ##
        Minimum bounding box x-axis value for all Glyphs.
        Typically less than zero.
    ##

    #Member SkScalar    fXMax
    #Line # maximum x ##
        Maximum bounding box x-axis value for all Glyphs.
        Typically greater than zero.
    ##

    #Member SkScalar    fXHeight
    #Line # height of lower-case 'x' ##
        May be zero if no lower-case height is stored in the font.
    ##

    #Member SkScalar    fCapHeight
    #Line # height of an upper-case letter ##
        May be zero if no upper-case height is stored in the font.
    ##

    #Member SkScalar    fUnderlineThickness
    #Line # underline thickness ##
        If the metric is valid, the kUnderlineThicknessIsValid_Flag is set in fFlags.
        If kUnderlineThicknessIsValid_Flag is clear, fUnderlineThickness is zero.
    ##

    #Member SkScalar    fUnderlinePosition
    #Line # underline position relative to baseline ##
       Position of the top of the underline stroke relative to the baseline.
       Typically positive when valid.

       If the metric is valid, the kUnderlinePositionIsValid_Flag is set in fFlags.
       If kUnderlinePositionIsValid_Flag is clear, fUnderlinePosition is zero.
    ##

    #Member SkScalar    fStrikeoutThickness
    #Line # strikeout thickness ##

        If the metric is valid, the kStrikeoutThicknessIsValid_Flag is set in fFlags.
        If kStrikeoutThicknessIsValid_Flag is clear, fStrikeoutThickness is zero.
    ##

    #Member SkScalar    fStrikeoutPosition
    #Line # strikeout position relative to baseline ##
        Position of the bottom of the strikeout stroke relative to the baseline.
        Typically negative when valid.

        If the metric is valid, the kStrikeoutPositionIsValid_Flag is set in fFlags.
        If kStrikeoutPositionIsValid_Flag is clear, fStrikeoutPosition is zero.
    ##

    #Method bool hasUnderlineThickness(SkScalar* thickness) const
    #Line # returns underline thickness if set ##

#NoExample
        ##
    ##

    #Method bool hasUnderlinePosition(SkScalar* position) const
    #Line # returns underline position if set ##

#NoExample
        ##
    ##

    #Method bool hasStrikeoutThickness(SkScalar* thickness) const
    #Line # returns strikeout thickness if set ##

#NoExample
        ##
    ##

    #Method bool hasStrikeoutPosition(SkScalar* position) const
    #Line # returns strikeout position if set ##

#NoExample
        ##
    ##

#Struct ##
#Topic ##

#Topic Font_Manager
#Topic ##

#Topic Glyph
#Subtopic ID
##
#Alias Glyphs ##
##

#Topic GPU_Context
#Substitute GPU context
#Class GrContext
#Method void abandonContext()
##
#Method void flush()
##
##
##

#Topic GPU_Surface
#Substitute GPU surface
##

#Topic GPU_Texture
#Substitute GPU texture
##

#Topic HTML_Canvas
    #Substitute HTML Canvas
    #Subtopic ArcTo
        #Substitute HTML Canvas arcTo
    ##
##

#Topic Image_Filter
#Class SkImageFilter
#Class ##
#Topic ##

#Class SkImageGenerator
##

#Topic Image_Scaling
##

#Topic ISize
#Struct SkISize
#Method int32_t width() const
##
#Method int32_t height() const
##
##
##

#Topic Left_Side_Bearing
##

#Topic Line
#Alias Lines ##
#Topic ##

# to be in Topic Malloc_Pixel_Ref
#Class SkMallocPixelRef
    #Method static sk_sp<SkPixelRef> MakeZeroed(const SkImageInfo&, size_t rowBytes)
    ##
    #Method static sk_sp<SkPixelRef> MakeAllocate(const SkImageInfo&, size_t rowBytes)
    ##
##
# end of Topic Malloc_Pixel_Ref

#Struct SkMask
##

#Topic Mask_Alpha
#Topic ##

#Topic Mask_Filter
#Class SkMaskFilter
#Class ##
#Topic ##

# to be in Topic Math
    #Method Luminosity(dstColor)
    # this permits using Luminosity() in documentation
    ##
    #Method Saturation(dstColor)
    # this permits using Saturation() in documentation
    ##
    #Method SetLuminosity(srcSaturation, dstLuminosity)
    # this permits using SetLuminosity() in documentation
    ##
    #Method SetSaturation(srcSaturation, dstSaturation)
    # this permits using SetSaturation() in documentation
    ##
    #Method SkIntToScalar(x)
    ##
    #Method SkScalarRoundToInt(x)
    ##
    #Method SkScalarFloorToInt(x)
    ##
    #Method SkScalarCeilToInt(x)
    ##
    #Method SkScalarFloorToScalar(x)
    ##
    #Method SkScalarCeilToScalar(x)
    ##
    #Method SkScalarIsFinite(x)
    ##
    #Method SkScalarIsNaN(x)
    ##
    #Method template <typename D, typename S> inline bool SkTFitsIn(S s)
    ##
    #Method float abs(float x)
    # this permits using abs(x) in documentation
    ##
    #Method float max(float x)
    # this permits using max(x) in documentation
    ##
    #Method float min(float x)
    # this permits using max(x) in documentation
    ##
    #Method float sizeof(float x)
    # this permits using sizeof(x) in documentation
    ##
    #Method float sqrt(float x)
    # this permits using sqrt(x) in documentation
    ##
    #Method static inline bool sk_64_isS32(int64_t value)
    ##
# end of Topic Math

#Topic Mip_Map
#Substitute mip map
##

#Topic Nine_Patch
##

# to be in Topic Number_Types ?
    #Typedef uint16_t SkGlyphID
    #Typedef ##
    #Topic Scalar
    #Alias Scalars ##
    #Typedef float SkScalar
    #Typedef ##
    ##
    #Const SK_MinS32FitsInFloat
    to be written
    ##
    #Const SK_MaxS32FitsInFloat
    to be written
    ##
    #Const SK_ScalarMin
    to be written
    ##
    #Const SK_ScalarMax
    to be written
    ##
    #Const SK_ScalarInfinity
    to be written
    ##
    #Const SK_ScalarNegativeInfinity
    to be written
    ##
    #Const SK_ScalarNaN
    to be written
    ##
    #Const SK_ScalarNearlyZero
    to be written
    ##
    #Const SK_MinS32
    to be written
    ##
    #Const SK_MaxS32
    to be written
    ##
    #Typedef int32_t SkUnichar
    #Typedef ##
    #Typedef unsigned U8CPU
    #Typedef ##
# end of Topic Number_Types

#Topic OS_X
#Substitute OS X
##

#Topic Oval
#Alias Ovals ##
#Topic ##

#Topic Paint_Defaults
#Const SkPaintDefaults_Flags 0
##
#Const SkPaintDefaults_Hinting 2
##
#Const SkPaintDefaults_TextSize 12
##
#Const SkPaintDefaults_MiterLimit 4
##
#Topic ##

#Topic Patch
#Alias Patches ##
#Topic ##

#Topic Path_Effect
    #Class SkPathEffect
    #Class ##
#Topic ##

# to be in Topic Path_Measure
    #Class SkPathMeasure
            #Method void dump() const
            ##
    ##
# end of Topic Path_Measure

#Topic PathOps
    #Enum SkPathOp
    ##
    #Method bool Op(const SkPath& one, const SkPath& two, SkPathOp op, SkPath* result)
    ##
#Topic ##

#Topic Picture_Recorder
    #Class SkPictureRecorder
        #Method SkCanvas* beginRecording(const SkRect& bounds,
                             SkBBHFactory* bbhFactory = NULL,
                             uint32_t recordFlags = 0)
        ##
    ##
##

#Topic Pixel
#Subtopic Storage
##
##

#Topic Pixel_Ref
#Class SkPixelRef
    #Method int width() const
    ##
    #Method int height() const
    ##
    #Method bool isImmutable() const
    ##
    #Method void setImmutable()
    ##
##
##

#Enum SkPixelGeometry
##

#Topic Point3
#Struct SkPoint3
##
#Topic ##

#Topic PostScript
#Substitute PostScript
#Subtopic Arct
#Substitute PostScript arct
##
##

#Topic Premultiply
#Alias Premultiplied ##
#Alias Premultiplies ##
##

#Topic Raster_Engine
##

#Topic Raster_Handle_Allocator
#Class SkRasterHandleAllocator
    #Typedef void* Handle
    ##
    #Struct Rec
    ##
    #Method static std::unique_ptr<SkCanvas> MakeCanvas(std::unique_ptr<SkRasterHandleAllocator>, const SkImageInfo&, const Rec* rec = nullptr)
    ##
##
##

#Topic Raster_Bitmap
##

#Topic Raster_Surface
##

# to be in Topic Rasterizer
#Class SkRasterizer
#Class ##
# end of Topic Rasterizer

#Topic Reference_Count
#Class SkRefCnt
#Class ##

#Template SkNVRefCnt
##
##

#Topic Smart_Pointer
#Class sk_sp
#Class ##
#Topic ##

#Topic Render_Target
#Class GrRenderTarget
##
##

#Topic Right_Side_Bearing
##

#Topic RSXform
#Struct SkRSXform
#Member SkScalar fSCos
##
#Member SkScalar fSSin
##
#Member SkScalar fTx
##
#Member SkScalar fTy
##
##
##

#Topic Serial_Procs
#Struct SkSerialProcs
#Member SkSerialPictureProc   fPictureProc
##
#Member void*   fPictureCtx
##
#Member SkSerialTypefaceProc   fTypefaceProc
##
#Member void*   fTypefaceCtx
##
##
##

#Topic Shader
#Class SkShader
    #Enum TileMode
        #Const kClamp_TileMode 0
        ##
        #Const kRepeat_TileMode 1
        ##
        #Const kMirror_TileMode 2
        ##
    ##
    #Method static sk_sp<SkShader> MakeBitmapShader(const SkBitmap& src, TileMode tmx, TileMode tmy,
                                            const SkMatrix* localMatrix = nullptr)
    ##
    #Method static sk_sp<SkShader> MakeCompose(sk_sp<SkShader> dst, sk_sp<SkShader> src,
                                       SkBlendMode mode, float lerp = 1)
    ##
#Class ##
#Topic ##

#Topic Size
#Struct SkSize
#Method int32_t width() const
##
#Method int32_t height() const
##
##
##

#Topic Sprite
#Alias Sprites ##
#Topic ##

#Topic Stream_Asset
#Class SkStreamAsset
##
#Topic ##

#Topic String
#Class SkString
#Class ##
#Topic ##

#Topic Supersampling
##

#Topic Surface_Characterization
#Class SkSurfaceCharacterization
##
##

#Topic Surface_Properties
    #Class SkSurfaceProps
        #Subtopic Legacy_Font_Host
        #Enum InitType
            #Const kLegacyFontHost_InitType 0
            ##
        ##
        #Topic ##
    ##
##

#Topic SVG
#Subtopic Canvas
##
#Subtopic Arc
##
#Subtopic Sweep_Flag
#Substitute SVG sweep-flag
##
##

#Topic Text
#Topic ##

#Topic Texture
#Class GrBackendTexture
    #Method bool isValid() const
    ##
##
##

#Topic YUV_Planes
#Class SkYUVAIndex
##
##

#Topic RenderTarget
#Class GrBackendRenderTarget
    #Method bool isValid() const
    ##
##
##

#Topic Transfer_Mode
##

#Topic Typeface
#Subtopic ID
#Typedef uint32_t SkFontID
##
##
#Class SkTypeface
    #Method SkFontID uniqueID() const
    ##
#Class ##
#Topic ##

# to be defined in types
    #Typedef intptr_t GrBackendObject
    #Typedef ##

    #EnumClass GrMipMapped
    #Const kNo 0
    ##
    #Const kYes 1
    ##
    #EnumClass ##

    #Enum GrSurfaceOrigin
    #Const kBottomLeft_GrSurfaceOrigin 0
    ##
    #Const kTopLeft_GrSurfaceOrigin 1
    ##
    #Enum ##

    #EnumClass SkBudgeted
    #Const kNo 0
    ##
    #Const kYes 1
    ##
    #EnumClass ##

    #EnumClass GrSemaphoresSubmitted
    #Const kNo 0
    ##
    #Const kYes 1
    ##
    #EnumClass ##
# end of defined in types

#Topic Unpremultiply
#Alias Unpremultiplied ##
##

#Topic Vertices
#Class SkVertices
#Class Bone
##
##
#Subtopic Colors
##
#Subtopic Texs
##
#Topic ##

#Topic Xfermode_Image_Filter
#Class SkXfermodeImageFilter
##
##