diff options
author | 2017-11-27 10:44:06 -0500 | |
---|---|---|
committer | 2017-11-27 16:12:56 +0000 | |
commit | a560c4796f5b83a2e55cf564dc847ad6498164b0 (patch) | |
tree | 1e47f0055e1a19621046ecbc601e999e67c34465 /docs/SkIPoint_Reference.bmh | |
parent | 56536c42f561f6d8902703a33cf178deb91f9d4d (diff) |
bookmaker refresh
Add support for more operator overloads.
Add SkSurface, SkPoint, SkIPoint, SkIPoint16 docs.
(SkImage doc skeleton added, but not really started.)
Force recompile all examples.
Docs-Preview: https://skia.org/?cl=67726
Bug: skia:6898
Change-Id: If9e2d23f79d5db64146dd22588f5cac970614b8a
Reviewed-on: https://skia-review.googlesource.com/67726
Commit-Queue: Cary Clark <caryclark@google.com>
Reviewed-by: Cary Clark <caryclark@google.com>
Diffstat (limited to 'docs/SkIPoint_Reference.bmh')
-rw-r--r-- | docs/SkIPoint_Reference.bmh | 452 |
1 files changed, 452 insertions, 0 deletions
diff --git a/docs/SkIPoint_Reference.bmh b/docs/SkIPoint_Reference.bmh new file mode 100644 index 0000000000..178a14f2c3 --- /dev/null +++ b/docs/SkIPoint_Reference.bmh @@ -0,0 +1,452 @@ +#Topic IPoint +#Alias IPoints +#Alias IPoint_Reference + +#Struct SkIPoint + +SkIPoint holds two 32 bit integer coordinates + +#Topic Overview + +#Subtopic Subtopics +#ToDo manually add subtopics ## +#Table +#Legend +# topics # description ## +#Legend ## +#Table ## +## + +#Subtopic Operators +#Table +#Legend +# description # function ## +#Legend ## +# SkIPoint operator-()_const # Reverses sign of IPoint. ## +# SkIPoint operator+(const SkIPoint& a, const SkIVector& b) # Returns IPoint offset by IVector. ## +# SkIVector operator-(const SkIPoint& a, const SkIPoint& b) # Returns IVector between IPoints. ## +# bool operator!=(const SkIPoint& a, const SkIPoint& b) # Returns true if IPoints are unequal. ## +# bool operator==(const SkIPoint& a, const SkIPoint& b) # Returns true if IPoints are equal. ## +# void operator+=(const SkIVector& v) # Adds IVector to IPoint. ## +# void operator-=(const SkIVector& v) # Subtracts IVector from IPoint. ## +#Table ## +#Subtopic ## + +#Subtopic Member_Functions +#Table +#Legend +# description # function ## +#Legend ## +# Make # Constructs from integer inputs. ## +# equals() # Returns true if members are equal. ## +# isZero # Returns true if both members equal zero. ## +# set() # Sets to integer input. ## +# x() # Returns fX. ## +# y() # Returns fY. ## +#Table ## +#Subtopic ## + +#Topic ## + +#Member int32_t fX +x-axis value used by IPoint. +## + +#Member int32_t fY +y-axis value used by IPoint. +## + +# ------------------------------------------------------------------------------ + +#Method static constexpr SkIPoint Make(int32_t x, int32_t y) + +Sets fX to x, fY to y. + +#Param x integer x-axis value of constructed IPoint ## +#Param y integer y-axis value of constructed IPoint ## + +#Return IPoint (x, y) ## + +#Example +SkIPoint pt1 = {45, 66}; +SkIPoint pt2 = SkIPoint::Make(45, 66); +SkDebugf("pt1 %c= pt2\n", pt1 == pt2 ? '=' : '!'); +#StdOut +pt1 == pt2 +## +## + +#SeeAlso set() SkPoint::iset() SkPoint::Make SkIPoint16::Make + +#Method ## + +# ------------------------------------------------------------------------------ + +#Method int32_t x() const + +Returns x-axis value of IPoint. + +#Return fX ## + +#Example +SkIPoint pt1 = {45, 66}; +SkDebugf("pt1.fX %c= pt1.x()\n", pt1.fX == pt1.x() ? '=' : '!'); +#StdOut +pt1.fX == pt1.x() +## +## + +#SeeAlso y() SkPoint::x() SkIPoint16::x() + +#Method ## + +# ------------------------------------------------------------------------------ + +#Method int32_t y() const + +Returns y-axis value of IPoint. + +#Return fY ## + +#Example +SkIPoint pt1 = {45, 66}; +SkDebugf("pt1.fY %c= pt1.y()\n", pt1.fY == pt1.y() ? '=' : '!'); +#StdOut +pt1.fY == pt1.y() +## +## + +#SeeAlso x() SkPoint::y() SkIPoint16::y() + +#Method ## + +# ------------------------------------------------------------------------------ + +#Method bool isZero() const + +Returns true if fX and fY are both zero. + +#Return true if fX is zero and fY is zero ## + +#Example +SkIPoint pt = { 0, -0};
+SkDebugf("pt.isZero() == %s\n", pt.isZero() ? "true" : "false"); +#StdOut +pt.isZero() == true
+## +## + +#SeeAlso SkPoint::isZero + +#Method ## + +# ------------------------------------------------------------------------------ + +#Method void set(int32_t x, int32_t y) + +Sets fX to x and fY to y. + +#Param x new value for fX ## +#Param y new value for fY ## + +#Example +SkIPoint pt1, pt2 = { SK_MinS32, SK_MaxS32 }; +pt1.set(SK_MinS32, SK_MaxS32); +SkDebugf("pt1 %c= pt2\n", pt1 == pt2 ? '=' : '!'); +#StdOut +pt1 == pt2 +## +## + +#SeeAlso Make SkIPoint16::set + +#Method ## + +# ------------------------------------------------------------------------------ + +#Method SkIPoint operator-()_const + +Returns IPoint changing the signs of fX and fY. + +#Return IPoint as (-fX, -fY) ## + +#Example +SkIPoint test[] = { {0, -0}, {-1, -2},
+ { SK_MaxS32, SK_MinS32 },
+ { SK_NaN32, -SK_NaN32 } };
+for (const SkIPoint& pt : test) {
+ SkIPoint negPt = -pt;
+ SkDebugf("pt: %d, %d negate: %d, %d\n", pt.fX, pt.fY, negPt.fX, negPt.fY);
+} +#StdOut +pt: 0, 0 negate: 0, 0
+pt: -1, -2 negate: 1, 2
+pt: 2147483647, -2147483647 negate: -2147483647, 2147483647
+pt: -2147483648, -2147483648 negate: -2147483648, -2147483648 +## +## + +#SeeAlso operator-(const SkIPoint& a, const SkIPoint& b) operator-=(const SkIVector& v) SkPoint::operator-()_const + +#Method ## + +# ------------------------------------------------------------------------------ + +#Method void operator+=(const SkIVector& v) + +Offsets IPoint by IVector v. Sets IPoint to +#Formula +(fX + v.fX, fY + v.fY) +## +. + +#Param v IVector to add ## + +#Example +#Height 64 + auto draw_lines = [=](const SkIPoint pts[], size_t count, SkPaint& paint) -> void {
+ for (size_t i = 0; i < count - 1; ++i) {
+ SkPoint p0, p1;
+ p0.iset(pts[i]);
+ p1.iset(pts[i + 1]);
+ canvas->drawLine(p0, p1, paint);
+ }
+ };
+ SkIPoint points[] = { { 3, 1 }, { 4, 2 }, { 5, 1 }, { 7, 3 } };
+ SkPaint paint;
+ paint.setAntiAlias(true);
+ paint.setStyle(SkPaint::kStroke_Style);
+ canvas->scale(30, 15);
+ draw_lines(points, SK_ARRAY_COUNT(points), paint);
+ points[1] += {1, 1};
+ points[2] += {-1, -1};
+ paint.setColor(SK_ColorRED);
+ draw_lines(points, SK_ARRAY_COUNT(points), paint);
+## + +#SeeAlso operator+(const SkIPoint& a, const SkIVector& b) SkPoint::operator+=(const SkVector& v) + +#Method ## + +# ------------------------------------------------------------------------------ + +#Method void operator-=(const SkIVector& v) + +Subtracts IVector v from IPoint. Sets IPoint to: +#Formula +(fX - v.fX, fY - v.fY) +## +. + +#Param v IVector to subtract ## + +#Example +#Height 64 + auto draw_lines = [=](const SkIPoint pts[], size_t count, SkPaint& paint) -> void {
+ for (size_t i = 0; i < count - 1; ++i) {
+ SkPoint p0, p1;
+ p0.iset(pts[i]);
+ p1.iset(pts[i + 1]);
+ canvas->drawLine(p0, p1, paint);
+ }
+ };
+ SkIPoint points[] = { { 3, 1 }, { 4, 2 }, { 5, 1 }, { 7, 3 } };
+ SkPaint paint;
+ paint.setAntiAlias(true);
+ paint.setStyle(SkPaint::kStroke_Style);
+ canvas->scale(30, 15);
+ draw_lines(points, SK_ARRAY_COUNT(points), paint);
+ points[1] -= {1, 1};
+ points[2] -= {-1, -1};
+ paint.setColor(SK_ColorRED);
+ draw_lines(points, SK_ARRAY_COUNT(points), paint);
+## + +#SeeAlso operator-(const SkIPoint& a, const SkIPoint& b) SkPoint::operator-=(const SkVector& v) + +#Method ## + +# ------------------------------------------------------------------------------ + +#Method bool equals(int32_t x, int32_t y) const + +Returns true if IPoint is equivalent to IPoint constructed from (x, y). + +#Param x value compared with fX ## +#Param y value compared with fY ## + +#Return true if IPoint equals (x, y) ## + +#Example +SkIPoint test[] = { {0, -0}, {-1, -2}, {SK_MaxS32, -1}, {SK_NaN32, -1} };
+for (const SkIPoint& pt : test) {
+ SkDebugf("pt: %d, %d %c= pt\n", pt.fX, pt.fY, pt.equals(pt.fX, pt.fY) ? '=' : '!');
+} +#StdOut +pt: 0, 0 == pt
+pt: -1, -2 == pt
+pt: 2147483647, -1 == pt
+pt: -2147483648, -1 == pt +## +## + +#SeeAlso operator==(const SkIPoint& a, const SkIPoint& b) + +#Method ## + +# ------------------------------------------------------------------------------ + +#Method bool operator==(const SkIPoint& a, const SkIPoint& b) + +Returns true if a is equivalent to b. + +#Param a IPoint to compare ## +#Param b IPoint to compare ## + +#Return true if a.fX == b.fX and a.fY == b.fY ## + +#Example +SkIPoint test[] = { {0, -0}, {-1, -2}, {SK_MaxS32, -1}, {SK_NaN32, -1} };
+for (const SkIPoint& pt : test) {
+ SkDebugf("pt: %d, %d %c= pt\n", pt.fX, pt.fY, pt == pt ? '=' : '!');
+} +#StdOut +pt: 0, 0 == pt
+pt: -1, -2 == pt
+pt: 2147483647, -1 == pt
+pt: -2147483648, -1 == pt +## +## + +#SeeAlso equals() operator!=(const SkIPoint& a, const SkIPoint& b) + +#Method ## + +# ------------------------------------------------------------------------------ + +#Method bool operator!=(const SkIPoint& a, const SkIPoint& b) + +Returns true if a is not equivalent to b. + +#Param a IPoint to compare ## +#Param b IPoint to compare ## + +#Return true if a.fX != b.fX or a.fY != b.fY ## + +#Example +SkIPoint test[] = { {0, -0}, {-1, -2}, {SK_MaxS32, -1}, {SK_NaN32, -1} };
+for (const SkIPoint& pt : test) {
+ SkDebugf("pt: %d, %d %c= pt\n", pt.fX, pt.fY, pt != pt ? '!' : '=');
+} +#StdOut +pt: 0, 0 == pt
+pt: -1, -2 == pt
+pt: 2147483647, -1 == pt
+pt: -2147483648, -1 == pt +## +## + +#SeeAlso operator==(const SkIPoint& a, const SkIPoint& b) equals() + +#Method ## + +# ------------------------------------------------------------------------------ + +#Method SkIVector operator-(const SkIPoint& a, const SkIPoint& b) + +Returns IVector from b to a; computed as +#Formula +(a.fX - b.fX, a.fY - b.fY) +## +. + +Can also be used to subtract IVector from IVector, returning IVector. + +#Param a IPoint or IVector to subtract from ## +#Param b IVector to subtract ## + +#Return IVector from b to a ## + +#Example +#Height 64 + auto draw_lines = [=](const SkIPoint pts[], size_t count, SkPaint& paint) -> void {
+ for (size_t i = 0; i < count - 1; ++i) {
+ SkPoint p0, p1;
+ p0.iset(pts[i]);
+ p1.iset(pts[i + 1]);
+ canvas->drawLine(p0, p1, paint);
+ }
+ };
+ SkIPoint points[] = { { 3, 1 }, { 4, 2 }, { 5, 1 }, { 7, 3 } };
+ SkPaint paint;
+ paint.setAntiAlias(true);
+ paint.setStyle(SkPaint::kStroke_Style);
+ canvas->scale(30, 15);
+ draw_lines(points, SK_ARRAY_COUNT(points), paint);
+ points[1] += points[0] - points[3];
+ points[2] -= points[1] - points[0];
+ paint.setColor(SK_ColorRED);
+ draw_lines(points, SK_ARRAY_COUNT(points), paint);
+## + +#SeeAlso operator-=(const SkIVector& v) + +#Method ## + +# ------------------------------------------------------------------------------ + +#Method SkIPoint operator+(const SkIPoint& a, const SkIVector& b) + +Returns IPoint resulting from IPoint a offset by IVector b, computed as: +#Formula +(a.fX + b.fX, a.fY + b.fY) +## +. + +Can also be used to offset IPoint b by IVector a, returning IPoint. +Can also be used to add IVector to IVector, returning IVector. + +#Param a IPoint or IVector to add to ## +#Param b IPoint or IVector to add ## + +#Return IPoint equal to a offset by b ## + +#Example +#Height 128 + auto draw_lines = [=](const SkIPoint pts[], size_t count, SkPaint& paint) -> void {
+ for (size_t i = 0; i < count - 1; ++i) {
+ SkPoint p0, p1;
+ p0.iset(pts[i]);
+ p1.iset(pts[i + 1]);
+ canvas->drawLine(p0, p1, paint);
+ }
+ };
+ SkIPoint points[] = { { 3, 1 }, { 4, 2 }, { 5, 1 }, { 7, 3 } };
+ SkPaint paint;
+ paint.setAntiAlias(true);
+ paint.setStyle(SkPaint::kStroke_Style);
+ canvas->scale(30, 15);
+ draw_lines(points, SK_ARRAY_COUNT(points), paint);
+ SkIPoint mod = {4, 1};
+ for (auto& point : points) {
+ point = point + mod;
+ mod.fX -= 1;
+ mod.fY += 1;
+ }
+ paint.setColor(SK_ColorRED);
+ draw_lines(points, SK_ARRAY_COUNT(points), paint);
+## + +#SeeAlso operator+=(const SkIVector& v) + +#Method ## + +#Struct SkIPoint ## + +#Topic IPoint ## + +#Topic IVector + #Alias IVectors + #Typedef SkIPoint SkIVector + #Typedef ## +## |