You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1077 lines
21 KiB

# 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 Meta_Data
#Class SkMetaData
##
##
#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
##
##