SkIPoint_Reference.md 20 KB

SkIPoint Reference


struct SkIPoint {

    int32_t fX;
    int32_t fY;

    static constexpr SkIPoint Make(int32_t x, int32_t y);
    int32_t x() const;
    int32_t y() const;
    bool isZero() const;
    void set(int32_t x, int32_t y);
    SkIPoint operator-() const;
    void operator+=(const SkIVector& v);
    void operator-=(const SkIVector& v);
    bool equals(int32_t x, int32_t y) const;
    friend bool operator==(const SkIPoint& a, const SkIPoint& b);
    friend bool operator!=(const SkIPoint& a, const SkIPoint& b);
    friend SkIVector operator-(const SkIPoint& a, const SkIPoint& b);
    friend SkIPoint operator+(const SkIPoint& a, const SkIVector& b);
};

SkIPoint holds two 32-bit integer coordinates.

Type Member Description

<td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>int32_t</td>
<td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a name='SkIPoint_fX'><code>fX</code></a></td>
<td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>

x-axis value used by IPoint.

<td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>int32_t</td>
<td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '><a name='SkIPoint_fY'><code>fY</code></a></td>
<td style='text-align: left; border: 2px solid #dddddd; padding: 8px; '>

y-axis value used by IPoint.


static constexpr SkIPoint Make(int32_t x, int32_t y)

Sets fX to x, fY to y.

Parameters

x integer x-axis value of constructed SkIPoint
y integer y-axis value of constructed SkIPoint

Return Value

SkIPoint (x, y)

Example

#### Example Output ~~~~ pt1 == pt2 ~~~~

See Also

set() SkPoint::iset() SkPoint::Make


int32_t x()const

Returns x-axis value of SkIPoint.

Return Value

fX

Example

#### Example Output ~~~~ pt1.fX == pt1.x() ~~~~

See Also

y() SkPoint::x()


int32_t y()const

Returns y-axis value of SkIPoint.

Return Value

fY

Example

#### Example Output ~~~~ pt1.fY == pt1.y() ~~~~

See Also

x() SkPoint::y()


bool isZero()const

Returns true if fX and fY are both zero.

Return Value

true if fX is zero and fY is zero

Example

#### Example Output ~~~~ pt.isZero() == true ~~~~

See Also

SkPoint::isZero


void set(int32_t x, int32_t y)

Sets fX to x and fY to y.

Parameters

x new value for fX
y new value for fY

Example

#### Example Output ~~~~ pt1 == pt2 ~~~~

See Also

Make


SkIPoint operator-()const

Returns SkIPoint changing the signs of fX and fY.

Return Value

SkIPoint as (-fX, -fY)

Example

#### Example Output ~~~~ pt: 0, 0 negate: 0, 0 pt: -1, -2 negate: 1, 2 pt: 2147483647, -2147483647 negate: -2147483647, 2147483647 pt: -2147483648, -2147483648 negate: -2147483648, -2147483648 ~~~~

See Also

operator-(const SkIPoint& a, const SkIPoint& b) operator-=(const SkIVector& v) SkPoint::operator-() const


void operator+=(const SkIVector& v)

Offsets IPoint by IVector v. Sets IPoint to (fX + v.fX, fY + v.fY).

Parameters

v IVector to add

Example

See Also

operator+(const SkIPoint& a, const SkIVector& b) SkPoint::operator+=(const SkVector& v)


void operator-=(const SkIVector& v)

Subtracts IVector v from IPoint. Sets IPoint to: (fX - v.fX, fY - v.fY).

Parameters

v IVector to subtract

Example

See Also

operator-(const SkIPoint& a, const SkIPoint& b) SkPoint::operator-=(const SkVector& v)


bool equals(int32_t x, int32_t y)const

Returns true if SkIPoint is equivalent to SkIPoint constructed from (x, y).

Parameters

x value compared with fX
y value compared with fY

Return Value

true if SkIPoint equals (x, y)

Example

#### Example Output ~~~~ pt: 0, 0 == pt pt: -1, -2 == pt pt: 2147483647, -1 == pt pt: -2147483648, -1 == pt ~~~~

See Also

operator==(const SkIPoint& a, const SkIPoint& b)


bool operator==(const SkIPoint& a, const SkIPoint& b)

Returns true if a is equivalent to b.

Parameters

a SkIPoint to compare
b SkIPoint to compare

Return Value

true if a.fX == b.fX and a.fY == b.fY

Example

#### Example Output ~~~~ pt: 0, 0 == pt pt: -1, -2 == pt pt: 2147483647, -1 == pt pt: -2147483648, -1 == pt ~~~~

See Also

equals() operator!=(const SkIPoint& a, const SkIPoint& b)


bool operator!=(const SkIPoint& a, const SkIPoint& b)

Returns true if a is not equivalent to b.

Parameters

a SkIPoint to compare
b SkIPoint to compare

Return Value

true if a.fX != b.fX or a.fY != b.fY

Example

#### Example Output ~~~~ pt: 0, 0 == pt pt: -1, -2 == pt pt: 2147483647, -1 == pt pt: -2147483648, -1 == pt ~~~~

See Also

operator==(const SkIPoint& a, const SkIPoint& b) equals()


SkIVector operator-(const SkIPoint& a, const SkIPoint& b)

Returns IVector from b to a; computed as (a.fX - b.fX, a.fY - b.fY).

Can also be used to subtract IVector from IVector, returning IVector.

Parameters

a IPoint or IVector to subtract from
b IVector to subtract

Return Value

IVector from b to a

Example

See Also

operator-=(const SkIVector& v)


SkIPoint operator+(const SkIPoint& a, const SkIVector& b)

Returns IPoint resulting from IPoint a offset by IVector b, computed as: (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.

Parameters

a IPoint or IVector to add to
b IPoint or IVector to add

Return Value

IPoint equal to a offset by b

Example

See Also

operator+=(const SkIVector& v)


    typedef SkIPoint SkIVector;

SkIVector provides an alternative name for SkIPoint. SkIVector and SkIPoint can be used interchangeably for all purposes.