aboutsummaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorCary Clark <caryclark@skia.org>2018-10-16 10:30:28 -0400
committerSkia Commit-Bot <skia-commit-bot@chromium.org>2018-10-16 17:35:54 +0000
commita90ea228ab22995e3d3798fa229a89e5cacf8f3f (patch)
treeeb370ce6bc456b40248164857ed782728a85b8af /docs
parent120007cc0bcc4aec3b2852a5c086a817f9c051b1 (diff)
downloadskqp-a90ea228ab22995e3d3798fa229a89e5cacf8f3f.tar.gz
streamline web documentation
This is the next step in reducing the amount of typing in bookmaker, and presenting a web-base interface that more closely matches the include documentation. Moving towards making xxx_Reference solely contain use documentation, and xxx_Overview (unpublished) contain theory of operation documentation. Fixed quite a few bugs along the way, and made function and member documentation tighter. TBR=caryclark@google.com Docs-Preview: https://skia.org/?cl=160640 Change-Id: I763df4d59baa5dfd0177f0523294b5316434c4b0 Reviewed-on: https://skia-review.googlesource.com/c/160640 Reviewed-by: Cary Clark <caryclark@skia.org> Commit-Queue: Cary Clark <caryclark@skia.org> Auto-Submit: Cary Clark <caryclark@skia.org>
Diffstat (limited to 'docs')
-rw-r--r--docs/SkBitmap_Reference.bmh24
-rw-r--r--docs/SkCanvas_Reference.bmh30
-rw-r--r--docs/SkColor_Reference.bmh187
-rw-r--r--docs/SkIRect_Reference.bmh8
-rw-r--r--docs/SkImage_Reference.bmh22
-rw-r--r--docs/SkMatrix_Reference.bmh28
-rw-r--r--docs/SkPaint_Reference.bmh257
-rw-r--r--docs/SkPath_Reference.bmh3
-rw-r--r--docs/SkRect_Reference.bmh4
9 files changed, 172 insertions, 391 deletions
diff --git a/docs/SkBitmap_Reference.bmh b/docs/SkBitmap_Reference.bmh
index f4ed0a394c..7faaf338cb 100644
--- a/docs/SkBitmap_Reference.bmh
+++ b/docs/SkBitmap_Reference.bmh
@@ -43,10 +43,7 @@ is useful to position one or more Bitmaps within a shared pixel array.
#Class Allocator
#Line # abstract subclass of HeapAllocator ##
#Code
- class Allocator : public SkRefCnt {
- public:
- virtual bool allocPixelRef(SkBitmap* bitmap) = 0;
- };
+#Populate
##
Abstract subclass of HeapAllocator.
@@ -79,10 +76,7 @@ or setPixelRef was called.
#Line # allocates pixel memory from heap ##
#Code
- class HeapAllocator : public Allocator {
- public:
- bool allocPixelRef(SkBitmap* bitmap) override;
- };
+#Populate
##
Subclass of SkBitmap::Allocator that returns a Pixel_Ref that allocates its pixel
@@ -877,12 +871,12 @@ void draw(SkCanvas* canvas) {
SkBitmap bitmap;
SkAlphaType alphaTypes[] = { #list_of_alpha_types#
};
- SkDebugf("%88s", "Canonical Unknown Opaque Premul Unpremul\n");
+ SkDebugf("%18s%15s%17s%18s%19s\n", "Canonical", "Unknown", "Opaque", "Premul", "Unpremul");
for (SkColorType colorType : { #list_of_color_types#
} ) {
for (SkAlphaType canonicalAlphaType : alphaTypes) {
SkColorTypeValidateAlphaType(colorType, kUnknown_SkAlphaType, &canonicalAlphaType );
- SkDebugf("%10s %10s ", colors[(int) colorType], alphas[(int) canonicalAlphaType ]);
+ SkDebugf("%12s %9s ", colors[(int) colorType], alphas[(int) canonicalAlphaType ]);
for (SkAlphaType alphaType : alphaTypes) {
bitmap.setInfo(SkImageInfo::Make(4, 4, colorType, canonicalAlphaType));
bool result = bitmap.setAlphaType(alphaType);
@@ -1309,7 +1303,7 @@ Returns ISize { width(), height() }.
SkDebugf("dimensionsAsBounds %c= bounds\n", dimensionsAsBounds == bounds ? '=' : '!');
##
-#SeeAlso height() width()
+#SeeAlso height width
##
@@ -1403,9 +1397,7 @@ canvas->drawBitmap(bitmap, 0, 0);
#Enum AllocFlags
#Line # zero pixel memory ##
#Code
- enum AllocFlags {
- kZeroPixels_AllocFlag = 1 << 0,
- };
+#Populate
##
AllocFlags provides the option to zero pixel memory when allocated.
@@ -1418,7 +1410,7 @@ AllocFlags provides the option to zero pixel memory when allocated.
#NoExample
##
-#SeeAlso tryAllocPixelsFlags allocPixelsFlags erase() eraseColor
+#SeeAlso tryAllocPixelsFlags allocPixelsFlags erase eraseColor
##
@@ -3213,7 +3205,7 @@ x---x-
#StdOut ##
##
-#SeeAlso pixmap() installPixels readPixels writePixels
+#SeeAlso pixmap installPixels readPixels writePixels
##
diff --git a/docs/SkCanvas_Reference.bmh b/docs/SkCanvas_Reference.bmh
index 4cf2ca638c..8cbb609b0c 100644
--- a/docs/SkCanvas_Reference.bmh
+++ b/docs/SkCanvas_Reference.bmh
@@ -1294,7 +1294,7 @@ void draw(SkCanvas* canvas) {
}
##
-#SeeAlso save() saveLayer saveLayerPreserveLCDTextRequests saveLayerAlpha restore() restoreToCount
+#SeeAlso save saveLayer saveLayerPreserveLCDTextRequests saveLayerAlpha restore() restoreToCount
#Method int save()
@@ -1334,7 +1334,7 @@ void draw(SkCanvas* canvas) {
}
##
-#SeeAlso saveLayer saveLayerPreserveLCDTextRequests saveLayerAlpha restore() restoreToCount
+#SeeAlso saveLayer saveLayerPreserveLCDTextRequests saveLayerAlpha restore restoreToCount
##
@@ -1358,7 +1358,7 @@ void draw(SkCanvas* canvas) {
}
##
-#SeeAlso save() saveLayer saveLayerPreserveLCDTextRequests saveLayerAlpha restoreToCount
+#SeeAlso save saveLayer saveLayerPreserveLCDTextRequests saveLayerAlpha restoreToCount
##
@@ -1390,7 +1390,7 @@ depth = 1
##
##
-#SeeAlso save() restore() restoreToCount
+#SeeAlso save restore restoreToCount
##
@@ -1424,7 +1424,7 @@ depth = 1
##
##
-#SeeAlso restore() getSaveCount save()
+#SeeAlso restore getSaveCount save
##
@@ -1498,7 +1498,7 @@ void draw(SkCanvas* canvas) {
}
##
-#SeeAlso save() restore() saveLayer saveLayerPreserveLCDTextRequests saveLayerAlpha SaveLayerRec
+#SeeAlso save restore saveLayer saveLayerPreserveLCDTextRequests saveLayerAlpha SaveLayerRec
##
@@ -1551,7 +1551,7 @@ void draw(SkCanvas* canvas) {
}
##
-#SeeAlso save() restore() saveLayerPreserveLCDTextRequests saveLayerAlpha SaveLayerRec
+#SeeAlso save restore saveLayerPreserveLCDTextRequests saveLayerAlpha SaveLayerRec
##
@@ -1608,7 +1608,7 @@ incorrect blending.
}
##
-#SeeAlso save() restore() saveLayer saveLayerAlpha SaveLayerRec
+#SeeAlso save restore saveLayer saveLayerAlpha SaveLayerRec
##
@@ -1650,7 +1650,7 @@ Call restoreToCount with returned value to restore this and subsequent saves.
canvas->restore();
##
-#SeeAlso save() restore() saveLayer saveLayerPreserveLCDTextRequests SaveLayerRec
+#SeeAlso save restore saveLayer saveLayerPreserveLCDTextRequests SaveLayerRec
##
@@ -1712,7 +1712,7 @@ void draw(SkCanvas* canvas) {
}
##
-#SeeAlso save() restore() saveLayer saveLayerPreserveLCDTextRequests saveLayerAlpha SaveLayerRec
+#SeeAlso save restore saveLayer saveLayerPreserveLCDTextRequests saveLayerAlpha SaveLayerRec
#Enum ##
@@ -1815,7 +1815,7 @@ Sets fBounds, fPaint, and fBackdrop to nullptr. Clears fSaveLayerFlags.
##
##
-#SeeAlso save() restore() saveLayer saveLayerPreserveLCDTextRequests saveLayerAlpha
+#SeeAlso save restore saveLayer saveLayerPreserveLCDTextRequests saveLayerAlpha
##
@@ -1841,7 +1841,7 @@ Sets fBounds, fPaint, and fSaveLayerFlags; sets fBackdrop to nullptr.
##
##
-#SeeAlso save() restore() saveLayer saveLayerPreserveLCDTextRequests saveLayerAlpha
+#SeeAlso save restore saveLayer saveLayerPreserveLCDTextRequests saveLayerAlpha
##
@@ -1872,7 +1872,7 @@ Sets fBounds, fPaint, fBackdrop, and fSaveLayerFlags.
##
##
-#SeeAlso save() restore() saveLayer saveLayerPreserveLCDTextRequests saveLayerAlpha
+#SeeAlso save restore saveLayer saveLayerPreserveLCDTextRequests saveLayerAlpha
##
@@ -1903,7 +1903,7 @@ Implementation is not complete; has no effect if Device is GPU-backed.
#Return SaveLayerRec fully specified ##
-#SeeAlso save() restore() saveLayer saveLayerPreserveLCDTextRequests saveLayerAlpha
+#SeeAlso save restore saveLayer saveLayerPreserveLCDTextRequests saveLayerAlpha
##
@@ -1954,7 +1954,7 @@ Outside of the circle the mandrill is brightened.
#ToDo above example needs to replace GetResourceAsImage with way to select image in fiddle ##
-#SeeAlso save() restore() saveLayer saveLayerPreserveLCDTextRequests saveLayerAlpha
+#SeeAlso save restore saveLayer saveLayerPreserveLCDTextRequests saveLayerAlpha
##
diff --git a/docs/SkColor_Reference.bmh b/docs/SkColor_Reference.bmh
index c71ad1ff52..82f6d60f2b 100644
--- a/docs/SkColor_Reference.bmh
+++ b/docs/SkColor_Reference.bmh
@@ -33,7 +33,7 @@ zero, fully transparent, to one, fully opaque.
#Line # defines Alpha as eight bits ##
#Code
-typedef uint8_t SkAlpha;
+#Populate
##
8-bit type for an alpha value. 255 is 100% opaque, zero is 100% transparent.
@@ -48,7 +48,7 @@ typedef uint8_t SkAlpha;
#Line # defines Color as 32 bits ##
#Code
-typedef uint32_t SkColor;
+#Populate
##
32-bit ARGB Color value, Unpremultiplied. Color components are always in
@@ -99,9 +99,7 @@ than the largest of r, g, and b.
#Line # returns opaque Color ##
#Code
-###$
- #define SkColorSetRGB(r, g, b) SkColorSetARGB(0xFF, r, g, b)
-$$$#
+#Populate
##
Returns Color value from 8-bit component values, with Alpha set
@@ -131,9 +129,7 @@ fully opaque to 255.
#Line # returns Alpha component ##
#Code
-###$
- #define SkColorGetA(color) (((color) >> 24) & 0xFF)
-$$$#
+#Populate
##
Returns Alpha byte from Color value.
@@ -163,9 +159,7 @@ Returns Alpha byte from Color value.
#Line # returns red component ##
#Code
-###$
- #define SkColorGetR(color) (((color) >> 16) & 0xFF)
-$$$#
+#Populate
##
Returns red component of Color, from zero to 255.
@@ -194,9 +188,7 @@ Returns red component of Color, from zero to 255.
#Line # returns green component ##
#Code
-###$
- #define SkColorGetG(color) (((color) >> 8) & 0xFF)
-$$$#
+#Populate
##
Returns green component of Color, from zero to 255.
@@ -225,9 +217,7 @@ Returns green component of Color, from zero to 255.
#Line # returns blue component ##
#Code
-###$
- #define SkColorGetB(color) (((color) >> 0) & 0xFF)
-$$$#
+#Populate
##
Returns blue component of Color, from zero to 255.
@@ -286,10 +276,10 @@ from a. Alpha component of c is ignored and is replaced by a in result.
#Subtopic Alpha_Constants
#In Constant
#Line # constants for Alpha ##
+#Filter SK_Alpha
#Code
- constexpr SkAlpha SK_AlphaTRANSPARENT = 0x00;
- constexpr SkAlpha SK_AlphaOPAQUE = 0xFF;
+#Populate
##
Alpha constants are conveniences to represent fully transparent and fully
@@ -297,19 +287,15 @@ opaque colors and masks. Their use is not required.
#Const SK_AlphaTRANSPARENT 0x00
#Line # fully transparent SkAlpha ##
-#Details Transparent
Represents fully transparent SkAlpha value. SkAlpha ranges from zero,
fully transparent; to 255, fully opaque.
##
#Const SK_AlphaOPAQUE 0xFF
#Line # fully opaque SkAlpha ##
-#Details Opaque
Represents fully opaque SkAlpha value. SkAlpha ranges from zero,
fully transparent; to 255, fully opaque.
##
-#Subtopic Transparent
-
#Example
#Image 1
#Height 128
@@ -348,17 +334,15 @@ Color the parts of the bitmap red if they mostly contain transparent pixels.
canvas->drawBitmap(bitmap, 0, 0);
##
-#SeeAlso SkAlpha SK_ColorTRANSPARENT SK_AlphaOPAQUE
-
-#Subtopic Transparent ##
# ------------------------------------------------------------------------------
-#Subtopic Opaque
-
#Example
#Image 1
#Height 128
+#Description
+Color the parts of the bitmap green if they contain fully opaque pixels.
+##
std::vector<int32_t> srcPixels;
srcPixels.resize(source.height() * source.rowBytes());
SkPixmap pixmap(SkImageInfo::MakeN32Premul(source.width(), source.height()),
@@ -378,92 +362,30 @@ Color the parts of the bitmap red if they mostly contain transparent pixels.
canvas->drawBitmap(bitmap, 0, 0);
##
-#SeeAlso SkAlpha SK_AlphaTRANSPARENT
+#SeeAlso SkAlpha SK_ColorTRANSPARENT SK_ColorBLACK
-#Subtopic Opaque ##
#Subtopic Alpha_Constants ##
#Subtopic Color_Constants
#In Constant
#Line # constants for Color ##
+#Filter SK_Color
-# ------------------------------------------------------------------------------
#Code
- constexpr SkColor SK_ColorTRANSPARENT = SkColorSetARGB(0x00, 0x00, 0x00, 0x00);
- constexpr SkColor SK_ColorBLACK = SkColorSetARGB(0xFF, 0x00, 0x00, 0x00);
- constexpr SkColor SK_ColorDKGRAY = SkColorSetARGB(0xFF, 0x44, 0x44, 0x44);
- constexpr SkColor SK_ColorGRAY = SkColorSetARGB(0xFF, 0x88, 0x88, 0x88);
- constexpr SkColor SK_ColorLTGRAY = SkColorSetARGB(0xFF, 0xCC, 0xCC, 0xCC);
- constexpr SkColor SK_ColorWHITE = SkColorSetARGB(0xFF, 0xFF, 0xFF, 0xFF);
- constexpr SkColor SK_ColorRED = SkColorSetARGB(0xFF, 0xFF, 0x00, 0x00);
- constexpr SkColor SK_ColorGREEN = SkColorSetARGB(0xFF, 0x00, 0xFF, 0x00);
- constexpr SkColor SK_ColorBLUE = SkColorSetARGB(0xFF, 0x00, 0x00, 0xFF);
- constexpr SkColor SK_ColorYELLOW = SkColorSetARGB(0xFF, 0xFF, 0xFF, 0x00);
- constexpr SkColor SK_ColorCYAN = SkColorSetARGB(0xFF, 0x00, 0xFF, 0xFF);
- constexpr SkColor SK_ColorMAGENTA = SkColorSetARGB(0xFF, 0xFF, 0x00, 0xFF);
+#Populate
##
Color names are provided as conveniences, but are not otherwise special.
The values chosen for names may not be the same as values used by
SVG, HTML, CSS, or colors named by a platform.
-#Example
-###$
-$Function
-#define SKIA_COLOR_PAIR(name) "SK_Color" #name, SK_Color##name
-$$
-void draw(SkCanvas* canvas) {
- struct ColorCompare {
- const char* fSVGName;
- SkColor fSVGColor;
- const char* fSkiaName;
- SkColor fSkiaColor;
- } colorCompare[] = { // see https://www.w3.org/TR/SVG/types.html#ColorKeywords
- {"black", SkColorSetRGB( 0, 0, 0), SKIA_COLOR_PAIR(BLACK) },
- {"darkgray", SkColorSetRGB(169, 169, 169), SKIA_COLOR_PAIR(DKGRAY) },
- {"gray", SkColorSetRGB(128, 128, 128), SKIA_COLOR_PAIR(GRAY) },
- {"lightgray", SkColorSetRGB(211, 211, 211), SKIA_COLOR_PAIR(LTGRAY) },
- {"white", SkColorSetRGB(255, 255, 255), SKIA_COLOR_PAIR(WHITE) },
- {"red", SkColorSetRGB(255, 0, 0), SKIA_COLOR_PAIR(RED) },
- {"green", SkColorSetRGB( 0, 128, 0), SKIA_COLOR_PAIR(GREEN) },
- {"blue", SkColorSetRGB( 0, 0, 255), SKIA_COLOR_PAIR(BLUE) },
- {"yellow", SkColorSetRGB(255, 255, 0), SKIA_COLOR_PAIR(YELLOW) },
- {"aqua", SkColorSetRGB( 0, 255, 255), SKIA_COLOR_PAIR(CYAN) },
- {"fuchsia", SkColorSetRGB(255, 0, 255), SKIA_COLOR_PAIR(MAGENTA) },
- };
- SkPaint paint;
- paint.setAntiAlias(true);
- paint.setTextSize(14);
- for (auto compare : colorCompare) {
- paint.setStyle(SkPaint::kFill_Style);
- paint.setColor(compare.fSVGColor);
- canvas->drawRect({5, 5, 15, 15}, paint);
- paint.setColor(SK_ColorBLACK);
- canvas->drawString(compare.fSVGName, 20, 16, paint);
- paint.setColor(compare.fSkiaColor);
- canvas->drawRect({105, 5, 115, 15}, paint);
- paint.setColor(SK_ColorBLACK);
- canvas->drawString(compare.fSkiaName, 120, 16, paint);
- paint.setStyle(SkPaint::kStroke_Style);
- canvas->drawRect({5, 5, 15, 15}, paint);
- canvas->drawRect({105, 5, 115, 15}, paint);
- canvas->translate(0, 20);
- }
-}
-$$$#
-##
-
-# ------------------------------------------------------------------------------
-
#Const SK_ColorTRANSPARENT 0x00000000
#Line # transparent Color ##
-#Details Transparent
Represents fully transparent SkColor. May be used to initialize a destination
containing a mask or a non-rectangular image.
##
#Const SK_ColorBLACK 0xFF000000
#Line # black Color ##
-#Details Black
Represents fully opaque black.
##
#Const SK_ColorDKGRAY 0xFF444444
@@ -511,11 +433,56 @@ $$$#
Represents fully opaque magenta. HTML_Fuchsia is equivalent.
##
-# ------------------------------------------------------------------------------
-
-#Subtopic Transparent
+#Example
+###$
+$Function
+#define SKIA_COLOR_PAIR(name) "SK_Color" #name, SK_Color##name
+$$
+void draw(SkCanvas* canvas) {
+ struct ColorCompare {
+ const char* fSVGName;
+ SkColor fSVGColor;
+ const char* fSkiaName;
+ SkColor fSkiaColor;
+ } colorCompare[] = { // see https://www.w3.org/TR/SVG/types.html#ColorKeywords
+ {"black", SkColorSetRGB( 0, 0, 0), SKIA_COLOR_PAIR(BLACK) },
+ {"darkgray", SkColorSetRGB(169, 169, 169), SKIA_COLOR_PAIR(DKGRAY) },
+ {"gray", SkColorSetRGB(128, 128, 128), SKIA_COLOR_PAIR(GRAY) },
+ {"lightgray", SkColorSetRGB(211, 211, 211), SKIA_COLOR_PAIR(LTGRAY) },
+ {"white", SkColorSetRGB(255, 255, 255), SKIA_COLOR_PAIR(WHITE) },
+ {"red", SkColorSetRGB(255, 0, 0), SKIA_COLOR_PAIR(RED) },
+ {"green", SkColorSetRGB( 0, 128, 0), SKIA_COLOR_PAIR(GREEN) },
+ {"blue", SkColorSetRGB( 0, 0, 255), SKIA_COLOR_PAIR(BLUE) },
+ {"yellow", SkColorSetRGB(255, 255, 0), SKIA_COLOR_PAIR(YELLOW) },
+ {"aqua", SkColorSetRGB( 0, 255, 255), SKIA_COLOR_PAIR(CYAN) },
+ {"fuchsia", SkColorSetRGB(255, 0, 255), SKIA_COLOR_PAIR(MAGENTA) },
+ };
+ SkPaint paint;
+ paint.setAntiAlias(true);
+ paint.setTextSize(14);
+ for (auto compare : colorCompare) {
+ paint.setStyle(SkPaint::kFill_Style);
+ paint.setColor(compare.fSVGColor);
+ canvas->drawRect({5, 5, 15, 15}, paint);
+ paint.setColor(SK_ColorBLACK);
+ canvas->drawString(compare.fSVGName, 20, 16, paint);
+ paint.setColor(compare.fSkiaColor);
+ canvas->drawRect({105, 5, 115, 15}, paint);
+ paint.setColor(SK_ColorBLACK);
+ canvas->drawString(compare.fSkiaName, 120, 16, paint);
+ paint.setStyle(SkPaint::kStroke_Style);
+ canvas->drawRect({5, 5, 15, 15}, paint);
+ canvas->drawRect({105, 5, 115, 15}, paint);
+ canvas->translate(0, 20);
+ }
+}
+$$$#
+##
#Example
+#Description
+SK_ColorTRANSPARENT sets Color Alpha and components to zero.
+##
#Image 3
std::vector<uint32_t> srcPixels;
constexpr int width = 256;
@@ -532,15 +499,10 @@ $$$#
canvas->drawBitmap(bitmap, 48, 48);
##
-#SeeAlso SK_AlphaTRANSPARENT SkCanvas::clear
-
-##
-
-# ------------------------------------------------------------------------------
-
-#Subtopic Black
-
#Example
+#Description
+SK_ColorBLACK sets Color Alpha to one and components to zero.
+##
std::vector<uint32_t> srcPixels;
constexpr int width = 256;
constexpr int height = 256;
@@ -556,15 +518,10 @@ $$$#
canvas->drawBitmap(bitmap, 48, 48);
##
-#SeeAlso SK_ColorTRANSPARENT
-
-##
-
-# ------------------------------------------------------------------------------
-
-#Subtopic White
-
#Example
+#Description
+SK_ColorWHITE sets Color Alpha and components to one.
+##
std::vector<uint32_t> srcPixels;
constexpr int width = 256;
constexpr int height = 256;
@@ -580,9 +537,7 @@ $$$#
canvas->drawBitmap(bitmap, 48, 48);
##
-#SeeAlso SK_ColorTRANSPARENT
-
-##
+#SeeAlso SK_ColorTRANSPARENT SkCanvas::clear SK_AlphaOPAQUE
#Subtopic Color_Constants ##
@@ -766,7 +721,7 @@ Out of range hsv values are pinned.
#Line # defines Premultiplied Color as 32 bits ##
#Code
-typedef uint32_t SkPMColor;
+#Populate
##
32-bit ARGB color value, Premultiplied. The byte order for this value is
diff --git a/docs/SkIRect_Reference.bmh b/docs/SkIRect_Reference.bmh
index 00f4f8a501..2d90880f84 100644
--- a/docs/SkIRect_Reference.bmh
+++ b/docs/SkIRect_Reference.bmh
@@ -14,8 +14,6 @@ from position, width, and height. SkIRect describes an area; if its right
is less than or equal to its left, or if its bottom is less than or equal to
its top, it is considered empty.
-#Subtopic Members
-
#Member int32_t fLeft
#Line # smaller x-axis bounds ##
May contain any value. The smaller of the horizontal values when sorted.
@@ -40,10 +38,6 @@ May contain any value. The larger of the vertical values when sorted.
When equal to or less than fTop, IRect is empty.
##
-#Subtopic Members ##
-
-#Subtopic Constructors
-
# ------------------------------------------------------------------------------
#Method static constexpr SkIRect MakeEmpty()
@@ -203,8 +197,6 @@ rect: -10, 35, 5, 60 isEmpty: false
##
-#Subtopic Constructors ##
-
#Subtopic Property
#Line # member values, center, validity ##
##
diff --git a/docs/SkImage_Reference.bmh b/docs/SkImage_Reference.bmh
index 2a8f35d251..7ca584ab43 100644
--- a/docs/SkImage_Reference.bmh
+++ b/docs/SkImage_Reference.bmh
@@ -134,7 +134,7 @@ pixels is not nullptr, and contains enough data for Image.
#Line # parameter type for MakeFromRaster ##
#Code
-typedef void* ReleaseContext;
+#Populate
##
Caller data passed to RasterReleaseProc; may be nullptr.
@@ -147,7 +147,7 @@ Caller data passed to RasterReleaseProc; may be nullptr.
#Line # parameter type for MakeFromRaster ##
#Code
-typedef void (*RasterReleaseProc)(const void* pixels, ReleaseContext);
+#Populate
##
Function called when Image no longer shares pixels. ReleaseContext is
@@ -340,7 +340,7 @@ for (int quality : { 100, 50, 10, 1} ) {
#Line # parameter type for MakeFromTexture ##
#Code
-typedef void (*TextureReleaseProc)(ReleaseContext releaseContext);
+#Populate
##
User function called when supplied texture may be deleted.
@@ -855,10 +855,7 @@ should this be moved to chrome only?
#EnumClass BitDepth
#Line # options for MakeFromPicture ##
#Code
- enum class BitDepth {
- kU8,
- kF16,
- };
+#Populate
##
#Const kU8 0
@@ -1538,10 +1535,7 @@ If origin in not nullptr, copies location of content drawn into Image.
#Enum CachingHint
#Line # options for readPixels and scalePixels ##
#Code
- enum CachingHint {
- kAllow_CachingHint,
- kDisallow_CachingHint,
- };
+#Populate
##
CachingHint selects whether Skia may internally cache Bitmaps generated by
@@ -2115,7 +2109,7 @@ By translating canvas by returned offset, Image appears stationary.
#Line # parameter type for MakeBackendTextureFromSkImage ##
#Code
-typedef std::function<void(GrBackendTexture)> BackendTextureReleaseProc;
+#Populate
##
Defines a callback function, taking one parameter of type GrBackendTexture with
@@ -2197,9 +2191,7 @@ void draw(SkCanvas* canvas) {
#Enum LegacyBitmapMode
#Deprecated soon
#Code
- enum LegacyBitmapMode {
- kRO_LegacyBitmapMode,
- };
+#Populate
##
#Const kRO_LegacyBitmapMode 0
diff --git a/docs/SkMatrix_Reference.bmh b/docs/SkMatrix_Reference.bmh
index 7843bf1b80..0d5475b40a 100644
--- a/docs/SkMatrix_Reference.bmh
+++ b/docs/SkMatrix_Reference.bmh
@@ -162,13 +162,7 @@ Sets Matrix to:
#Enum TypeMask
#Line # bit field for Matrix complexity ##
#Code
- enum TypeMask {
- kIdentity_Mask = 0,
- kTranslate_Mask = 0x01,
- kScale_Mask = 0x02,
- kAffine_Mask = 0x04,
- kPerspective_Mask = 0x08,
- };
+#Populate
##
Enum of bit fields for mask returned by getType.
@@ -613,17 +607,9 @@ for (SkScalar sx : { 1, 2 } ) {
#Subtopic MemberIndex
#In Constant
#Line # member indices ##
-
+#Filter kM
#Code
- static constexpr int kMScaleX = 0;
- static constexpr int kMSkewX = 1;
- static constexpr int kMTransX = 2;
- static constexpr int kMSkewY = 3;
- static constexpr int kMScaleY = 4;
- static constexpr int kMTransY = 5;
- static constexpr int kMPersp0 = 6;
- static constexpr int kMPersp1 = 7;
- static constexpr int kMPersp2 = 8;
+#Populate
##
Matrix organizes its values in row order. These members correspond to
@@ -687,14 +673,10 @@ for (int i : { SkMatrix::kMScaleX, SkMatrix::kMSkewX, SkMatrix::kMTransX,
#Subtopic AffineIndex
#In Constant
#Line # affine member indices ##
+#Filter KA
#Code
- static constexpr int kAScaleX = 0;
- static constexpr int kASkewY = 1;
- static constexpr int kASkewX = 2;
- static constexpr int kAScaleY = 3;
- static constexpr int kATransX = 4;
- static constexpr int kATransY = 5;
+#Populate
##
Affine arrays are in column major order to match the matrix used by
diff --git a/docs/SkPaint_Reference.bmh b/docs/SkPaint_Reference.bmh
index 8af62ba3cd..8316c9e17e 100644
--- a/docs/SkPaint_Reference.bmh
+++ b/docs/SkPaint_Reference.bmh
@@ -40,12 +40,7 @@ Paint describes a single color, a single font, a single image quality, and so on
Multiple colors are drawn either by using multiple paints or with objects like
Shader attached to Paint.
-#Subtopic Initializers
-#Line # constructors and initialization ##
-
#Method SkPaint()
-
-#In Initializers
#Line # constructs with default values ##
Constructs Paint with default values.
@@ -113,8 +108,6 @@ $$$# # restore original markup character
##
#Method SkPaint(const SkPaint& paint)
-
-#In Initializers
#Line # makes a shallow copy ##
Makes a shallow copy of Paint. Typeface, Path_Effect, Shader,
Mask_Filter, Color_Filter, Draw_Looper, and Image_Filter are shared
@@ -147,8 +140,6 @@ This prevents objects with Reference_Count from being modified once Paint refers
##
#Method SkPaint(SkPaint&& paint)
-
-#In Initializers
#Line # moves paint without copying it ##
Implements a move constructor to avoid increasing the reference counts
of objects referenced by the paint.
@@ -176,8 +167,7 @@ This prevents objects with Reference_Count from being modified once Paint refers
# ------------------------------------------------------------------------------
#Method void reset()
-
-#In Initializers
+#In Constructors
#Line # sets to default values ##
Sets all Paint contents to their initial values. This is equivalent to replacing
Paint with the result of SkPaint().
@@ -195,12 +185,9 @@ Paint with the result of SkPaint().
##
-#Subtopic Initializers ##
-
# ------------------------------------------------------------------------------
#Method ~SkPaint()
-
#Line # decreases Reference_Count of owned objects ##
Decreases Paint Reference_Count of owned objects: Typeface, Path_Effect, Shader,
Mask_Filter, Color_Filter, Draw_Looper, and Image_Filter. If the
@@ -216,9 +203,9 @@ objects containing Reference_Count go to zero, they are deleted.
#Subtopic Management
#Line # paint copying, moving, comparing ##
+##
#Method SkPaint& operator=(const SkPaint& paint)
-
#In Management
#Line # makes a shallow copy ##
Makes a shallow copy of Paint. Typeface, Path_Effect, Shader,
@@ -250,7 +237,6 @@ are increased by one. paint is unmodified.
# ------------------------------------------------------------------------------
#Method SkPaint& operator=(SkPaint&& paint)
-
#In Management
#Line # moves paint without copying it ##
Moves the paint to avoid increasing the reference counts
@@ -280,8 +266,6 @@ After the call, paint is undefined, and can be safely destructed.
# ------------------------------------------------------------------------------
#Method bool operator==(const SkPaint& a, const SkPaint& b)
-
-#In Management
#Line # compares paints for equality ##
Compares a and b, and returns true if a and b are equivalent. May return false
if Typeface, Path_Effect, Shader, Mask_Filter, Color_Filter,
@@ -313,8 +297,6 @@ After the call, paint is undefined, and can be safely destructed.
# ------------------------------------------------------------------------------
#Method bool operator!=(const SkPaint& a, const SkPaint& b)
-
-#In Management
#Line # compares paints for inequality ##
Compares a and b, and returns true if a and b are not equivalent. May return true
if Typeface, Path_Effect, Shader, Mask_Filter, Color_Filter,
@@ -343,7 +325,6 @@ After the call, paint is undefined, and can be safely destructed.
# ------------------------------------------------------------------------------
#Method uint32_t getHash() const
-
#In Management
#Line # returns a shallow hash for equality checks ##
Returns a hash generated from Paint values and pointers.
@@ -374,23 +355,17 @@ The hash returned is platform and implementation specific.
##
-#Subtopic Management ##
-
# ------------------------------------------------------------------------------
#Subtopic Hinting
#Line # glyph outline adjustment ##
+##
#Enum Hinting
#Line # level of glyph outline adjustment ##
#Code
- enum Hinting {
- kNo_Hinting = 0,
- kSlight_Hinting = 1,
- kNormal_Hinting = 2,
- kFull_Hinting = 3,
- };
+#Populate
##
Hinting adjusts the glyph outlines so that the shape provides a uniform
@@ -450,7 +425,6 @@ Set SkPaintDefaults_Hinting at compile time to change the default setting.
#Enum ##
#Method Hinting getHinting() const
-
#In Hinting
#Line # returns Hinting, glyph outline adjustment level ##
Returns level of glyph outline adjustment.
@@ -498,29 +472,16 @@ Set SkPaintDefaults_Hinting at compile time to change the default setting.
##
##
-#Subtopic Hinting ##
# ------------------------------------------------------------------------------
#Subtopic Flags
#Line # attributes represented by single bits ##
+##
#Enum Flags
#Line # values described by bits and masks ##
#Code
- enum Flags {
- kAntiAlias_Flag = 0x01,
- kDither_Flag = 0x04,
- kFakeBoldText_Flag = 0x20,
- kLinearText_Flag = 0x40,
- kSubpixelText_Flag = 0x80,
- kLCDRenderText_Flag = 0x200,
- kEmbeddedBitmapText_Flag = 0x400,
- kAutoHinting_Flag = 0x800,
- kVerticalText_Flag = 0x1000,
-
- kAllFlags = 0xFFFF,
- };
-
+#Populate
##
The bit values stored in Flags.
@@ -571,10 +532,7 @@ Flags default to all flags clear, disabling the associated feature.
Only valid for Android framework.
#Code
- enum ReserveFlags {
- kUnderlineText_ReserveFlag = 0x08,
- kStrikeThruText_ReserveFlag = 0x10,
- };
+#Populate
##
#Const kUnderlineText_ReserveFlag 0x0008
@@ -586,7 +544,6 @@ Only valid for Android framework.
##
#Method uint32_t getFlags() const
-
#In Flags
#Line # returns Flags stored in a bit field ##
Returns paint settings described by Flags. Each setting uses one
@@ -608,7 +565,6 @@ bit, and can be tested with Flags members.
##
#Method void setFlags(uint32_t flags)
-
#In Flags
#Line # sets multiple Flags in a bit field ##
Replaces Flags with flags, the union of the Flags members.
@@ -630,7 +586,6 @@ All Flags members may be cleared, or one or more may be set.
##
-#Subtopic Flags ##
# ------------------------------------------------------------------------------
#Subtopic Anti_Alias
#Alias Anti_Alias
@@ -697,6 +652,7 @@ at compile time.
}
}
##
+#Subtopic Anti_Alias ##
#Method bool isAntiAlias() const
#In Anti_alias
@@ -724,7 +680,6 @@ at compile time.
##
#Method void setAntiAlias(bool aa)
-
#In Anti_alias
#Line # sets or clears Anti_Alias ##
Requests, but does not require, that Path edge pixels draw opaque or with
@@ -748,7 +703,6 @@ at compile time.
##
-#Subtopic Anti_Alias ##
# ------------------------------------------------------------------------------
#Subtopic Dither
#Line # distributing color error ##
@@ -824,9 +778,10 @@ void draw(SkCanvas* canvas) {
canvas->drawBitmap(bm32, 0, 11, &paint);
}
##
+#SeeAlso Gradient kRGB_565_SkColorType
+#Subtopic Dither ##
#Method bool isDither() const
-
#In Dither
#Line # returns true if Dither is set ##
Returns true if color error may be distributed to smooth color transition.
@@ -852,7 +807,6 @@ void draw(SkCanvas* canvas) {
##
#Method void setDither(bool dither)
-
#In Dither
#Line # sets or clears Dither ##
Requests, but does not require, to distribute color error.
@@ -877,9 +831,6 @@ void draw(SkCanvas* canvas) {
##
-#SeeAlso Gradient kRGB_565_SkColorType
-
-#Subtopic Dither ##
# ------------------------------------------------------------------------------
#Subtopic Device_Text
#Line # increase precision of glyph position ##
@@ -936,11 +887,11 @@ kLCDRenderText_Flag or kSubpixelText_Flag (or both) at compile time.
Linear_Text selects whether text is rendered as a Glyph or as a Path.
If kLinearText_Flag is set, it has the same effect as setting Hinting to kNormal_Hinting.
If kLinearText_Flag is clear, it is the same as setting Hinting to kNo_Hinting.
+#Subtopic Linear_Text ##
#Method bool isLinearText() const
-
-#Line # returns true if text is converted to Path ##
#In Linear_Text
+#Line # returns true if text is converted to Path ##
Returns true if text is converted to Path before drawing and measuring.
Equivalent to getFlags masked with kLinearText_Flag.
@@ -970,9 +921,8 @@ If kLinearText_Flag is clear, it is the same as setting Hinting to kNo_Hinting.
##
#Method void setLinearText(bool linearText)
-
-#Line # converts to Path before draw or measure ##
#In Linear_Text
+#Line # converts to Path before draw or measure ##
Returns true if text is converted to Path before drawing and measuring.
By default, kLinearText_Flag is clear.
@@ -1004,8 +954,6 @@ If kLinearText_Flag is clear, it is the same as setting Hinting to kNo_Hinting.
#SeeAlso isLinearText Hinting
##
-#Subtopic Linear_Text ##
-
#Subtopic Subpixel_Text
#Alias Subpixel_Text ##
#Line # uses pixel transparency to represent fractional offset ##
@@ -1013,9 +961,9 @@ If kLinearText_Flag is clear, it is the same as setting Hinting to kNo_Hinting.
Flags kSubpixelText_Flag uses the pixel transparency to represent a fractional offset.
As the opaqueness
of the color increases, the edge of the glyph appears to move towards the outside of the pixel.
+#Subtopic Subpixel_Text ##
#Method bool isSubpixelText() const
-
#In Subpixel_Text
#Line # returns true if Subpixel_Text is set ##
Returns true if Glyphs at different sub-pixel positions may differ on pixel edge coverage.
@@ -1041,7 +989,6 @@ SkDebugf("paint.isSubpixelText() %c= !!(paint.getFlags() & SkPaint::kSubpixelTex
##
#Method void setSubpixelText(bool subpixelText)
-
#In Subpixel_Text
#Line # sets or clears Subpixel_Text ##
Requests, but does not require, that Glyphs respect sub-pixel positioning.
@@ -1064,8 +1011,6 @@ SkDebugf("paint.isSubpixelText() %c= !!(paint.getFlags() & SkPaint::kSubpixelTex
##
-#Subtopic Subpixel_Text ##
-
#Subtopic LCD_Text
#Line # text relying on the order of RGB stripes ##
@@ -1079,9 +1024,9 @@ create a color, and relies
on the small size of the stripe and visual perception to make the color fringing imperceptible.
LCD_Text can be enabled on devices that orient stripes horizontally or vertically, and that order
the color components as RGB or BGR.
+#Subtopic LCD_Text ##
#Method bool isLCDRenderText() const
-
#In LCD_Text
#Line # returns true if LCD_Text is set ##
Returns true if Glyphs may use LCD striping to improve glyph edges.
@@ -1107,7 +1052,6 @@ SkDebugf("paint.isLCDRenderText() %c= !!(paint.getFlags() & SkPaint::kLCDRenderT
##
#Method void setLCDRenderText(bool lcdText)
-
#In LCD_Text
#Line # sets or clears LCD_Text ##
Requests, but does not require, that Glyphs use LCD striping for glyph edges.
@@ -1131,8 +1075,6 @@ SkDebugf("paint.isLCDRenderText() %c= !!(paint.getFlags() & SkPaint::kLCDRenderT
##
-#Subtopic LCD_Text ##
-
# ------------------------------------------------------------------------------
#Subtopic Font_Embedded_Bitmaps
#Line # custom sized bitmap Glyphs ##
@@ -1179,9 +1121,9 @@ kEmbeddedBitmapText_Flag at compile time.
canvas->scale(10, 10);
canvas->drawBitmap(bitmap, -2, 1);
##
+#Subtopic Font_Embedded_Bitmaps ##
#Method bool isEmbeddedBitmapText() const
-
#In Font_Embedded_Bitmaps
#Line # returns true if Font_Embedded_Bitmaps is set ##
Returns true if Font_Engine may return Glyphs from font bitmaps instead of from outlines.
@@ -1211,7 +1153,6 @@ kEmbeddedBitmapText_Flag at compile time.
##
#Method void setEmbeddedBitmapText(bool useEmbeddedBitmapText)
-
#In Font_Embedded_Bitmaps
#Line # sets or clears Font_Embedded_Bitmaps ##
Requests, but does not require, to use bitmaps in fonts instead of outlines.
@@ -1234,7 +1175,6 @@ kEmbeddedBitmapText_Flag at compile time.
##
-#Subtopic Font_Embedded_Bitmaps ##
# ------------------------------------------------------------------------------
#Subtopic Automatic_Hinting
#Line # always adjust glyph paths ##
@@ -1246,9 +1186,9 @@ Automatic_Hinting has no effect if Hinting is set to kNo_Hinting or
kSlight_Hinting.
Automatic_Hinting only affects platforms that use FreeType as the Font_Manager.
+#Subtopic Automatic_Hinting ##
#Method bool isAutohinted() const
-
#In Automatic_Hinting
#Line # returns true if Glyphs are always hinted ##
Returns true if Hinting is set to kNormal_Hinting or kFull_Hinting, and if
@@ -1279,7 +1219,6 @@ Automatic_Hinting only affects platforms that use FreeType as the Font_Manager.
##
#Method void setAutohinted(bool useAutohinter)
-
#In Automatic_Hinting
#Line # sets Glyphs to always be hinted ##
Sets whether to always hint Glyphs.
@@ -1317,7 +1256,6 @@ Automatic_Hinting only affects platforms that use FreeType as the Font_Manager.
##
-#Subtopic Automatic_Hinting ##
# ------------------------------------------------------------------------------
#Subtopic Vertical_Text
#Line # orient text from top to bottom ##
@@ -1357,9 +1295,9 @@ void draw(SkCanvas* canvas) {
}
##
+#Subtopic Vertical_Text ##
#Method bool isVerticalText() const
-
#In Vertical_Text
#Line # returns true if Vertical_Text is set ##
Returns true if Glyphs are drawn top to bottom instead of left to right.
@@ -1385,7 +1323,6 @@ void draw(SkCanvas* canvas) {
##
#Method void setVerticalText(bool verticalText)
-
#In Vertical_Text
#Line # sets or clears Vertical_Text ##
Returns true if text advance positions the next glyph below the previous glyph instead of to the
@@ -1409,7 +1346,6 @@ void draw(SkCanvas* canvas) {
##
-#Subtopic Vertical_Text ##
# ------------------------------------------------------------------------------
#Subtopic Fake_Bold
@@ -1444,9 +1380,9 @@ void draw(SkCanvas* canvas) {
canvas->drawString("OjYy_-", 10, 115, paint);
}
##
+#Subtopic Fake_Bold ##
#Method bool isFakeBoldText() const
-
#In Fake_Bold
#Line # returns true if Fake_Bold is set ##
Returns true if approximate bold by increasing the stroke width when creating glyph bitmaps
@@ -1473,7 +1409,6 @@ void draw(SkCanvas* canvas) {
##
#Method void setFakeBoldText(bool fakeBoldText)
-
#In Fake_Bold
#Line # sets or clears Fake_Bold ##
Increases stroke width when creating glyph bitmaps to approximate a bold typeface.
@@ -1496,8 +1431,6 @@ void draw(SkCanvas* canvas) {
##
-#Subtopic Fake_Bold ##
-
# ------------------------------------------------------------------------------
#Subtopic Full_Hinting_Spacing
#Line # glyph spacing affected by hinting ##
@@ -1510,6 +1443,7 @@ FreeType as their Font_Engine.
Full_Hinting_Spacing is not related to text Kerning, where the space between
a specific pair of characters is adjusted using data in the font Kerning tables.
+#Subtopic Full_Hinting_Spacing ##
#Method bool isDevKernText() const
#Deprecated
@@ -1519,7 +1453,6 @@ a specific pair of characters is adjusted using data in the font Kerning tables.
#Deprecated
##
-#Subtopic Full_Hinting_Spacing ##
# ------------------------------------------------------------------------------
#Subtopic Filter_Quality_Methods
#Line # get and set Filter_Quality ##
@@ -1556,9 +1489,9 @@ void draw(SkCanvas* canvas) {
}
}
##
+#Subtopic Filter_Quality_Methods ##
#Method SkFilterQuality getFilterQuality() const
-
#In Filter_Quality_Methods
#Line # returns Filter_Quality, image filtering level ##
Returns Filter_Quality, the image filtering level. A lower setting
@@ -1582,7 +1515,6 @@ draws faster; a higher setting looks better when the image is scaled.
#Method void setFilterQuality(SkFilterQuality quality)
-
#In Filter_Quality_Methods
#Line # sets Filter_Quality, the image filtering level ##
Sets Filter_Quality, the image filtering level. A lower setting
@@ -1608,7 +1540,6 @@ Does not check to see if quality is valid.
##
-#Subtopic Filter_Quality_Methods ##
# ------------------------------------------------------------------------------
#Subtopic Color_Methods
#Line # get and set Color ##
@@ -1653,6 +1584,7 @@ a different arrangement.
canvas->drawCircle(65, 65, 40, paint);
}
##
+#Subtopic Color_Methods ##
#Method SkColor getColor() const
#In Color_Methods
@@ -1758,15 +1690,13 @@ a different arrangement.
##
-#Subtopic Color_Methods ##
-
#Subtopic Alpha_Methods
#Line # get and set Alpha ##
Color_Alpha sets the transparency independent of RGB: red, blue, and green.
+#Subtopic Alpha_Methods ##
#Method uint8_t getAlpha() const
-
#In Alpha_Methods
#Line # returns Color_Alpha, color opacity ##
Retrieves Alpha from the Color used when stroking and filling.
@@ -1785,7 +1715,6 @@ Color_Alpha sets the transparency independent of RGB: red, blue, and green.
##
#Method void setAlpha(U8CPU a)
-
#In Alpha_Methods
#Line # sets Color_Alpha, color opacity ##
Replaces Alpha, leaving RGB
@@ -1809,10 +1738,7 @@ Color_Alpha sets the transparency independent of RGB: red, blue, and green.
##
-#Subtopic Alpha_Methods ##
-
#Method void setARGB(U8CPU a, U8CPU r, U8CPU g, U8CPU b)
-
#In Color_Methods
#Line # sets color by component ##
Sets Color used when drawing solid fills. The color components range from 0 to 255.
@@ -1845,34 +1771,27 @@ Color_Alpha sets the transparency independent of RGB: red, blue, and green.
Style specifies if the geometry is filled, stroked, or both filled and stroked.
Some shapes ignore Style and are always drawn filled or stroked.
+#Subtopic Fill
Set Style to kFill_Style to fill the shape.
The fill covers the area inside the geometry for most shapes.
-
-Set Style to kStroke_Style to stroke the shape.
-
-# ------------------------------------------------------------------------------
-#Subtopic Fill
-#Line # fill and stroke ##
-#ToDo write up whatever generalities make sense to describe filling ##
-
-#SeeAlso Path_Fill_Type
#Subtopic Fill ##
#Subtopic Stroke
-#Line # lines and curves with width ##
+Set Style to kStroke_Style to stroke the shape.
+
The stroke covers the area described by following the shape edge with a pen or brush of
Stroke_Width. The area covered where the shape starts and stops is described by Stroke_Cap.
The area covered where the shape turns a corner is described by Stroke_Join.
The stroke is centered on the shape; it extends equally on either side of the shape edge.
+#Subtopic Stroke ##
As Stroke_Width gets smaller, the drawn path frame is thinner. Stroke_Width less than one
may have gaps, and if kAntiAlias_Flag is set, Color_Alpha will increase to visually decrease coverage.
-#Subtopic Stroke ##
-#Subtopic Hairline
-#Line # lines and curves with minimal width ##
-#Alias Hairline ## # maybe should be Stroke_Hairline ?
+#SeeAlso Path_Fill_Type Path_Effect Style_Fill Style_Stroke
+#Subtopic Style ##
+#Subtopic Hairline
Stroke_Width of zero has a special meaning and switches drawing to use Hairline.
Hairline draws the thinnest continuous frame. If kAntiAlias_Flag is clear, adjacent pixels
flow horizontally, vertically,or diagonally.
@@ -1885,19 +1804,20 @@ pixel. If kAntiAlias_Flag is set, transparency is applied twice, resulting in a
GPU-backed implementations apply transparency at a later drawing stage, avoiding double hit pixels
while stroking.
+#SeeAlso Path_Fill_Type Path_Effect Style_Fill Style_Stroke
#Subtopic Hairline ##
#Enum Style
#Line # stroke, fill, or both ##
#Code
- enum Style {
- kFill_Style,
- kStroke_Style,
- kStrokeAndFill_Style,
- };
+#Populate
+##
- static constexpr int kStyleCount = kStrokeAndFill_Style + 1;
+#Code
+#In Constant
+#Filter kStyle
+#Populate
##
Set Style to fill, stroke, or both fill and stroke geometry.
@@ -1940,7 +1860,6 @@ May be used to verify that Style is a legal value.
#Enum Style ##
#Method Style getStyle() const
-
#In Style
#Line # returns Style: stroke, fill, or both ##
Returns whether the geometry is filled, stroked, or filled and stroked.
@@ -1961,7 +1880,6 @@ May be used to verify that Style is a legal value.
##
#Method void setStyle(Style style)
-
#In Style
#Line # sets Style: stroke, fill, or both ##
Sets whether the geometry is filled, stroked, or filled and stroked.
@@ -2002,9 +1920,6 @@ May be used to verify that Style is a legal value.
#SeeAlso Style getStyle
##
-#SeeAlso Path_Fill_Type Path_Effect Style_Fill Style_Stroke
-#Subtopic Style ##
-
# ------------------------------------------------------------------------------
#Subtopic Stroke_Width
#Line # thickness perpendicular to geometry ##
@@ -2217,21 +2132,19 @@ Here are some miter limits and the angles that triggers them.
# ------------------------------------------------------------------------------
#Subtopic Stroke_Cap
#Line # decorations at ends of open strokes ##
+#Subtopic Stroke_Cap ##
#Enum Cap
#Line # start and end geometry on stroked shapes ##
#Code
- enum Cap {
- kButt_Cap,
- kRound_Cap,
- kSquare_Cap,
-
- kLast_Cap = kSquare_Cap,
- kDefault_Cap = kButt_Cap,
- };
+#Populate
+##
- static constexpr int kCapCount = kLast_Cap + 1;
+#Code
+#In Constant
+#Filter kCap
+#Populate
##
Stroke_Cap draws at the beginning and end of an open Path_Contour.
@@ -2345,10 +2258,10 @@ Stroke_Cap is kButt_Cap by default.
#SeeAlso Stroke_Cap getStrokeCap
##
-#Subtopic Stroke_Cap ##
# ------------------------------------------------------------------------------
#Subtopic Stroke_Join
#Line # decoration at corners of strokes ##
+#Subtopic Stroke_Join ##
Stroke_Join draws at the sharp corners of an open or closed Path_Contour.
@@ -2378,16 +2291,13 @@ the following curve, the pair of curves meet at Stroke_Join.
#Enum Join
#Line # corner geometry on stroked shapes ##
#Code
- enum Join {
- kMiter_Join,
- kRound_Join,
- kBevel_Join,
-
- kLast_Join = kBevel_Join,
- kDefault_Join = kMiter_Join,
- };
+#Populate
+##
- static constexpr int kJoinCount = kLast_Join + 1;
+#Code
+#In Constant
+#Filter kJoin
+#Populate
##
Join specifies how corners are drawn when a shape is stroked. Join
@@ -2505,7 +2415,6 @@ void draw(SkCanvas* canvas) {
#SeeAlso Miter_Limit
-#Subtopic Stroke_Join ##
# ------------------------------------------------------------------------------
#Subtopic Fill_Path
#Line # make Path from Path_Effect, stroking ##
@@ -2528,6 +2437,10 @@ Fill Path can specify the precision used by Stroke_Width to approximate the stro
If the Style is kStroke_Style and the Stroke_Width is zero, getFillPath
returns false since Hairline has no filled equivalent.
+#SeeAlso Style_Stroke Stroke_Width Path_Effect
+
+#Subtopic Fill_Path ##
+
#Method bool getFillPath(const SkPath& src, SkPath* dst, const SkRect* cullRect,
SkScalar resScale = 1) const
#In Fill_Path
@@ -2609,9 +2522,6 @@ returns false since Hairline has no filled equivalent.
##
-#SeeAlso Style_Stroke Stroke_Width Path_Effect
-
-#Subtopic Fill_Path ##
# ------------------------------------------------------------------------------
#Subtopic Shader_Methods
#Line # get and set Shader ##
@@ -3493,13 +3403,13 @@ Increments drawLooper Reference_Count by one.
#Enum Align
#Line # glyph locations relative to text position ##
#Code
- enum Align {
- kLeft_Align,
- kCenter_Align,
- kRight_Align,
- };
+#Populate
+##
- static constexpr int kAlignCount = 3;
+#Code
+#In Constant
+#Filter kAlign
+#Populate
##
Align adjusts the text relative to the text position.
@@ -3812,12 +3722,7 @@ Text_Skew_X defaults to 0.
#Line # character or glyph encoded size ##
#Code
- enum TextEncoding {
- kUTF8_TextEncoding,
- kUTF16_TextEncoding,
- kUTF32_TextEncoding,
- kGlyphID_TextEncoding,
- };
+#Populate
##
TextEncoding determines whether text specifies character codes and their encoded
@@ -3997,36 +3902,7 @@ void draw(SkCanvas* canvas) {
#Line # values computed by Font_Manager using Typeface ##
#Code
- struct FontMetrics {
- enum FontMetricsFlags {
- kUnderlineThicknessIsValid_Flag = 1 << 0,
- kUnderlinePositionIsValid_Flag = 1 << 1,
- kStrikeoutThicknessIsValid_Flag = 1 << 2,
- kStrikeoutPositionIsValid_Flag = 1 << 3,
- };
-
- uint32_t fFlags;
- SkScalar fTop;
- SkScalar fAscent;
- SkScalar fDescent;
- SkScalar fBottom;
- SkScalar fLeading;
- SkScalar fAvgCharWidth;
- SkScalar fMaxCharWidth;
- SkScalar fXMin;
- SkScalar fXMax;
- SkScalar fXHeight;
- SkScalar fCapHeight;
- SkScalar fUnderlineThickness;
- SkScalar fUnderlinePosition;
- SkScalar fStrikeoutThickness;
- SkScalar fStrikeoutPosition;
-
- bool hasUnderlineThickness(SkScalar* thickness) const;
- bool hasUnderlinePosition(SkScalar* position) const;
- bool hasStrikeoutThickness(SkScalar* thickness) const;
- bool hasStrikeoutPosition(SkScalar* position) const;
- };
+#Populate
##
FontMetrics is filled out by getFontMetrics. FontMetrics contents reflect the values
@@ -4047,12 +3923,7 @@ void draw(SkCanvas* canvas) {
#Line # valid Font_Metrics ##
#Code
- enum FontMetricsFlags {
- kUnderlineThicknessIsValid_Flag = 1 << 0,
- kUnderlinePositionIsValid_Flag = 1 << 1,
- kStrikeoutThicknessIsValid_Flag = 1 << 2,
- kStrikeoutPositionIsValid_Flag = 1 << 3,
- };
+ #Populate
##
FontMetricsFlags are set in fFlags when underline and strikeout metrics are valid;
diff --git a/docs/SkPath_Reference.bmh b/docs/SkPath_Reference.bmh
index 1ed7b46767..d75f9c60a8 100644
--- a/docs/SkPath_Reference.bmh
+++ b/docs/SkPath_Reference.bmh
@@ -1128,7 +1128,8 @@ after reset path is empty
#Line # returns if final Contour forms a loop ##
Returns if Contour is closed.
Contour is closed if Path Verb array was last modified by close(). When stroked,
-closed Contour draws Paint_Stroke_Join instead of Paint_Stroke_Cap at first and last Point.
+closed Contour draws Paint_Stroke_Join instead of Paint_Stroke_Cap at first and
+last Point.
#Return true if the last Contour ends with a kClose_Verb ##
diff --git a/docs/SkRect_Reference.bmh b/docs/SkRect_Reference.bmh
index 2585e0eada..d6dc20d44b 100644
--- a/docs/SkRect_Reference.bmh
+++ b/docs/SkRect_Reference.bmh
@@ -42,8 +42,6 @@ May contain any value, including infinities and NaN. The larger of the
vertical values when sorted. When equal to or less than fTop, Rect is empty.
##
-#Subtopic Constructors
-
# ------------------------------------------------------------------------------
#Method static constexpr SkRect MakeEmpty()
@@ -294,8 +292,6 @@ than fBottom.
##
-#Subtopic Constructors ##
-
#Subtopic Property
#Line # member values, center, validity ##