| @@ -29,11 +29,11 @@ class ComponentLayout; | |||||
| //============================================================================== | //============================================================================== | ||||
| /** | /** | ||||
| A rectangle whose co-ordinates can be defined in terms of absolute or | |||||
| A rectangle whose coordinates can be defined in terms of absolute or | |||||
| proportional distances. | proportional distances. | ||||
| Designed mainly for storing component positions, this gives you a lot of | Designed mainly for storing component positions, this gives you a lot of | ||||
| control over how each co-ordinate is stored, either as an absolute position, | |||||
| control over how each coordinate is stored, either as an absolute position, | |||||
| or as a proportion of the size of a parent rectangle. | or as a proportion of the size of a parent rectangle. | ||||
| It also allows you to define the anchor points by which the rectangle is | It also allows you to define the anchor points by which the rectangle is | ||||
| @@ -68,7 +68,7 @@ class PositionedRectangle | |||||
| { | { | ||||
| public: | public: | ||||
| //============================================================================== | //============================================================================== | ||||
| /** Creates an empty rectangle with all co-ordinates set to zero. | |||||
| /** Creates an empty rectangle with all coordinates set to zero. | |||||
| The default anchor point is top-left; the default | The default anchor point is top-left; the default | ||||
| */ | */ | ||||
| @@ -122,20 +122,20 @@ public: | |||||
| /** Returns a string version of this position, from which it can later be | /** Returns a string version of this position, from which it can later be | ||||
| re-generated. | re-generated. | ||||
| The format is four co-ordinates, "x y w h". | |||||
| The format is four coordinates, "x y w h". | |||||
| - If a co-ordinate is absolute, it is stored as an integer, e.g. "100". | |||||
| - If a co-ordinate is proportional to its parent's width or height, it is stored | |||||
| - If a coordinate is absolute, it is stored as an integer, e.g. "100". | |||||
| - If a coordinate is proportional to its parent's width or height, it is stored | |||||
| as a percentage, e.g. "80%". | as a percentage, e.g. "80%". | ||||
| - If the X or Y co-ordinate is relative to the parent's right or bottom edge, the | |||||
| - If the X or Y coordinate is relative to the parent's right or bottom edge, the | |||||
| number has "R" appended to it, e.g. "100R" means a distance of 100 pixels from | number has "R" appended to it, e.g. "100R" means a distance of 100 pixels from | ||||
| the parent's right-hand edge. | the parent's right-hand edge. | ||||
| - If the X or Y co-ordinate is relative to the parent's centre, the number has "C" | |||||
| - If the X or Y coordinate is relative to the parent's centre, the number has "C" | |||||
| appended to it, e.g. "-50C" would be 50 pixels left of the parent's centre. | appended to it, e.g. "-50C" would be 50 pixels left of the parent's centre. | ||||
| - If the X or Y co-ordinate should be anchored at the component's right or bottom | |||||
| - If the X or Y coordinate should be anchored at the component's right or bottom | |||||
| edge, then it has "r" appended to it. So "-50Rr" would mean that this component's | edge, then it has "r" appended to it. So "-50Rr" would mean that this component's | ||||
| right-hand edge should be 50 pixels left of the parent's right-hand edge. | right-hand edge should be 50 pixels left of the parent's right-hand edge. | ||||
| - If the X or Y co-ordinate should be anchored at the component's centre, then it | |||||
| - If the X or Y coordinate should be anchored at the component's centre, then it | |||||
| has "c" appended to it. So "-50Rc" would mean that this component's | has "c" appended to it. So "-50Rc" would mean that this component's | ||||
| centre should be 50 pixels left of the parent's right-hand edge. "40%c" means that | centre should be 50 pixels left of the parent's right-hand edge. "40%c" means that | ||||
| this component's centre should be placed 40% across the parent's width. | this component's centre should be placed 40% across the parent's width. | ||||
| @@ -198,17 +198,17 @@ public: | |||||
| } | } | ||||
| //============================================================================== | //============================================================================== | ||||
| /** Updates this object's co-ordinates to match the given rectangle. | |||||
| /** Updates this object's coordinates to match the given rectangle. | |||||
| This will set all co-ordinates based on the given rectangle, re-calculating | |||||
| This will set all coordinates based on the given rectangle, re-calculating | |||||
| any proportional distances, and using the current anchor points. | any proportional distances, and using the current anchor points. | ||||
| So for example if the x co-ordinate mode is currently proportional, this will | |||||
| So for example if the x coordinate mode is currently proportional, this will | |||||
| re-calculate x based on the rectangle's relative position within the target | re-calculate x based on the rectangle's relative position within the target | ||||
| rectangle's width. | rectangle's width. | ||||
| If the target rectangle's width or height are zero then it may not be possible | If the target rectangle's width or height are zero then it may not be possible | ||||
| to re-calculate some proportional co-ordinates. In this case, those co-ordinates | |||||
| to re-calculate some proportional coordinates. In this case, those coordinates | |||||
| will not be changed. | will not be changed. | ||||
| */ | */ | ||||
| void updateFrom (const Rectangle<int>& newPosition, | void updateFrom (const Rectangle<int>& newPosition, | ||||
| @@ -228,12 +228,12 @@ public: | |||||
| updatePosAndSize (y, h, newY, newH, yMode, hMode, target.getY(), target.getHeight()); | updatePosAndSize (y, h, newY, newH, yMode, hMode, target.getY(), target.getHeight()); | ||||
| } | } | ||||
| /** Updates this object's co-ordinates to match the bounds of this component. | |||||
| /** Updates this object's coordinates to match the bounds of this component. | |||||
| This is equivalent to calling updateFrom() with the component's bounds and | This is equivalent to calling updateFrom() with the component's bounds and | ||||
| it parent size. | it parent size. | ||||
| If the component doesn't currently have a parent, then proportional co-ordinates | |||||
| If the component doesn't currently have a parent, then proportional coordinates | |||||
| might not be updated because it would need to know the parent's size to do the | might not be updated because it would need to know the parent's size to do the | ||||
| maths for this. | maths for this. | ||||
| */ | */ | ||||
| @@ -249,18 +249,18 @@ public: | |||||
| /** Specifies the point within the rectangle, relative to which it should be positioned. */ | /** Specifies the point within the rectangle, relative to which it should be positioned. */ | ||||
| enum AnchorPoint | enum AnchorPoint | ||||
| { | { | ||||
| anchorAtLeftOrTop = 1 << 0, /**< The x or y co-ordinate specifies where the left or top edge of the rectangle should be. */ | |||||
| anchorAtRightOrBottom = 1 << 1, /**< The x or y co-ordinate specifies where the right or bottom edge of the rectangle should be. */ | |||||
| anchorAtCentre = 1 << 2 /**< The x or y co-ordinate specifies where the centre of the rectangle should be. */ | |||||
| anchorAtLeftOrTop = 1 << 0, /**< The x or y coordinate specifies where the left or top edge of the rectangle should be. */ | |||||
| anchorAtRightOrBottom = 1 << 1, /**< The x or y coordinate specifies where the right or bottom edge of the rectangle should be. */ | |||||
| anchorAtCentre = 1 << 2 /**< The x or y coordinate specifies where the centre of the rectangle should be. */ | |||||
| }; | }; | ||||
| /** Specifies how an x or y co-ordinate should be interpreted. */ | |||||
| /** Specifies how an x or y coordinate should be interpreted. */ | |||||
| enum PositionMode | enum PositionMode | ||||
| { | { | ||||
| absoluteFromParentTopLeft = 1 << 3, /**< The x or y co-ordinate specifies an absolute distance from the parent's top or left edge. */ | |||||
| absoluteFromParentBottomRight = 1 << 4, /**< The x or y co-ordinate specifies an absolute distance from the parent's bottom or right edge. */ | |||||
| absoluteFromParentCentre = 1 << 5, /**< The x or y co-ordinate specifies an absolute distance from the parent's centre. */ | |||||
| proportionOfParentSize = 1 << 6 /**< The x or y co-ordinate specifies a proportion of the parent's width or height, measured from the parent's top or left. */ | |||||
| absoluteFromParentTopLeft = 1 << 3, /**< The x or y coordinate specifies an absolute distance from the parent's top or left edge. */ | |||||
| absoluteFromParentBottomRight = 1 << 4, /**< The x or y coordinate specifies an absolute distance from the parent's bottom or right edge. */ | |||||
| absoluteFromParentCentre = 1 << 5, /**< The x or y coordinate specifies an absolute distance from the parent's centre. */ | |||||
| proportionOfParentSize = 1 << 6 /**< The x or y coordinate specifies a proportion of the parent's width or height, measured from the parent's top or left. */ | |||||
| }; | }; | ||||
| /** Specifies how the width or height should be interpreted. */ | /** Specifies how the width or height should be interpreted. */ | ||||
| @@ -272,11 +272,11 @@ public: | |||||
| }; | }; | ||||
| //============================================================================== | //============================================================================== | ||||
| /** Sets all options for all co-ordinates. | |||||
| /** Sets all options for all coordinates. | |||||
| This requires a reference rectangle to be specified, because if you're changing any | This requires a reference rectangle to be specified, because if you're changing any | ||||
| of the modes from proportional to absolute or vice-versa, then it'll need to convert | of the modes from proportional to absolute or vice-versa, then it'll need to convert | ||||
| the co-ordinates, and will need to know the parent size so it can calculate this. | |||||
| the coordinates, and will need to know the parent size so it can calculate this. | |||||
| */ | */ | ||||
| void setModes (const AnchorPoint xAnchor, const PositionMode xMode_, | void setModes (const AnchorPoint xAnchor, const PositionMode xMode_, | ||||
| const AnchorPoint yAnchor, const PositionMode yMode_, | const AnchorPoint yAnchor, const PositionMode yMode_, | ||||
| @@ -306,7 +306,7 @@ public: | |||||
| } | } | ||||
| } | } | ||||
| /** Returns the anchoring mode for the x co-ordinate. | |||||
| /** Returns the anchoring mode for the x coordinate. | |||||
| To change any of the modes, use setModes(). | To change any of the modes, use setModes(). | ||||
| */ | */ | ||||
| AnchorPoint getAnchorPointX() const noexcept | AnchorPoint getAnchorPointX() const noexcept | ||||
| @@ -314,7 +314,7 @@ public: | |||||
| return (AnchorPoint) (xMode & (anchorAtLeftOrTop | anchorAtRightOrBottom | anchorAtCentre)); | return (AnchorPoint) (xMode & (anchorAtLeftOrTop | anchorAtRightOrBottom | anchorAtCentre)); | ||||
| } | } | ||||
| /** Returns the positioning mode for the x co-ordinate. | |||||
| /** Returns the positioning mode for the x coordinate. | |||||
| To change any of the modes, use setModes(). | To change any of the modes, use setModes(). | ||||
| */ | */ | ||||
| PositionMode getPositionModeX() const noexcept | PositionMode getPositionModeX() const noexcept | ||||
| @@ -323,7 +323,7 @@ public: | |||||
| | absoluteFromParentCentre | proportionOfParentSize)); | | absoluteFromParentCentre | proportionOfParentSize)); | ||||
| } | } | ||||
| /** Returns the raw x co-ordinate. | |||||
| /** Returns the raw x coordinate. | |||||
| If the x position mode is absolute, then this will be the absolute value. If it's | If the x position mode is absolute, then this will be the absolute value. If it's | ||||
| proportional, then this will be a fractional proportion, where 1.0 means the full | proportional, then this will be a fractional proportion, where 1.0 means the full | ||||
| @@ -331,13 +331,12 @@ public: | |||||
| */ | */ | ||||
| double getX() const noexcept { return x; } | double getX() const noexcept { return x; } | ||||
| /** Sets the raw value of the x co-ordinate. | |||||
| /** Sets the raw value of the x coordinate. | |||||
| See getX() for the meaning of this value. | See getX() for the meaning of this value. | ||||
| */ | */ | ||||
| void setX (const double newX) noexcept { x = newX; } | void setX (const double newX) noexcept { x = newX; } | ||||
| /** Returns the anchoring mode for the y co-ordinate. | |||||
| /** Returns the anchoring mode for the y coordinate. | |||||
| To change any of the modes, use setModes(). | To change any of the modes, use setModes(). | ||||
| */ | */ | ||||
| AnchorPoint getAnchorPointY() const noexcept | AnchorPoint getAnchorPointY() const noexcept | ||||
| @@ -345,7 +344,7 @@ public: | |||||
| return (AnchorPoint) (yMode & (anchorAtLeftOrTop | anchorAtRightOrBottom | anchorAtCentre)); | return (AnchorPoint) (yMode & (anchorAtLeftOrTop | anchorAtRightOrBottom | anchorAtCentre)); | ||||
| } | } | ||||
| /** Returns the positioning mode for the y co-ordinate. | |||||
| /** Returns the positioning mode for the y coordinate. | |||||
| To change any of the modes, use setModes(). | To change any of the modes, use setModes(). | ||||
| */ | */ | ||||
| PositionMode getPositionModeY() const noexcept | PositionMode getPositionModeY() const noexcept | ||||
| @@ -354,7 +353,7 @@ public: | |||||
| | absoluteFromParentCentre | proportionOfParentSize)); | | absoluteFromParentCentre | proportionOfParentSize)); | ||||
| } | } | ||||
| /** Returns the raw y co-ordinate. | |||||
| /** Returns the raw y coordinate. | |||||
| If the y position mode is absolute, then this will be the absolute value. If it's | If the y position mode is absolute, then this will be the absolute value. If it's | ||||
| proportional, then this will be a fractional proportion, where 1.0 means the full | proportional, then this will be a fractional proportion, where 1.0 means the full | ||||
| @@ -362,8 +361,7 @@ public: | |||||
| */ | */ | ||||
| double getY() const noexcept { return y; } | double getY() const noexcept { return y; } | ||||
| /** Sets the raw value of the y co-ordinate. | |||||
| /** Sets the raw value of the y coordinate. | |||||
| See getY() for the meaning of this value. | See getY() for the meaning of this value. | ||||
| */ | */ | ||||
| void setY (const double newY) noexcept { y = newY; } | void setY (const double newY) noexcept { y = newY; } | ||||
| @@ -138,7 +138,7 @@ public: | |||||
| void run() override | void run() override | ||||
| { | { | ||||
| // this is the code that runs this thread - we'll loop continuously, | // this is the code that runs this thread - we'll loop continuously, | ||||
| // updating the co-ordinates of our blob. | |||||
| // updating the coordinates of our blob. | |||||
| // threadShouldExit() returns true when the stopThread() method has been | // threadShouldExit() returns true when the stopThread() method has been | ||||
| // called, so we should check it often, and exit as soon as it gets flagged. | // called, so we should check it often, and exit as soon as it gets flagged. | ||||
| @@ -148,7 +148,7 @@ Colour ColourGradient::getColourAtPosition (const double position) const noexcep | |||||
| //============================================================================== | //============================================================================== | ||||
| void ColourGradient::createLookupTable (PixelARGB* const lookupTable, const int numEntries) const noexcept | void ColourGradient::createLookupTable (PixelARGB* const lookupTable, const int numEntries) const noexcept | ||||
| { | { | ||||
| JUCE_COLOURGRADIENT_CHECK_COORDS_INITIALISED // Trying to use this object without setting its co-ordinates? | |||||
| JUCE_COLOURGRADIENT_CHECK_COORDS_INITIALISED // Trying to use this object without setting its coordinates? | |||||
| jassert (colours.size() >= 2); | jassert (colours.size() >= 2); | ||||
| jassert (numEntries > 0); | jassert (numEntries > 0); | ||||
| jassert (colours.getReference(0).position == 0); // The first colour specified has to go at position 0 | jassert (colours.getReference(0).position == 0); // The first colour specified has to go at position 0 | ||||
| @@ -180,7 +180,7 @@ void ColourGradient::createLookupTable (PixelARGB* const lookupTable, const int | |||||
| int ColourGradient::createLookupTable (const AffineTransform& transform, HeapBlock <PixelARGB>& lookupTable) const | int ColourGradient::createLookupTable (const AffineTransform& transform, HeapBlock <PixelARGB>& lookupTable) const | ||||
| { | { | ||||
| JUCE_COLOURGRADIENT_CHECK_COORDS_INITIALISED // Trying to use this object without setting its co-ordinates? | |||||
| JUCE_COLOURGRADIENT_CHECK_COORDS_INITIALISED // Trying to use this object without setting its coordinates? | |||||
| jassert (colours.size() >= 2); | jassert (colours.size() >= 2); | ||||
| const int numEntries = jlimit (1, jmax (1, (colours.size() - 1) << 8), | const int numEntries = jlimit (1, jmax (1, (colours.size() - 1) << 8), | ||||
| @@ -267,7 +267,7 @@ public: | |||||
| /** Fills a rectangle with the current colour or brush. | /** Fills a rectangle with the current colour or brush. | ||||
| This uses sub-pixel positioning so is slower than the fillRect method which | This uses sub-pixel positioning so is slower than the fillRect method which | ||||
| takes integer co-ordinates. | |||||
| takes integer coordinates. | |||||
| */ | */ | ||||
| void fillRect (float x, float y, float width, float height) const; | void fillRect (float x, float y, float width, float height) const; | ||||
| @@ -474,7 +474,7 @@ public: | |||||
| /** Draws an image. | /** Draws an image. | ||||
| This will draw the whole of an image, positioning its top-left corner at the | This will draw the whole of an image, positioning its top-left corner at the | ||||
| given co-ordinates, and keeping its size the same. This is the simplest image | |||||
| given coordinates, and keeping its size the same. This is the simplest image | |||||
| drawing method - the others give more control over the scaling and clipping | drawing method - the others give more control over the scaling and clipping | ||||
| of the images. | of the images. | ||||
| @@ -61,7 +61,7 @@ public: | |||||
| //============================================================================== | //============================================================================== | ||||
| /** Moves the origin to a new position. | /** Moves the origin to a new position. | ||||
| The co-ords are relative to the current origin, and indicate the new position | |||||
| The coordinates are relative to the current origin, and indicate the new position | |||||
| of (0, 0). | of (0, 0). | ||||
| */ | */ | ||||
| virtual void setOrigin (int x, int y) = 0; | virtual void setOrigin (int x, int y) = 0; | ||||
| @@ -181,7 +181,7 @@ public: | |||||
| the lines can be left- or right-justified, or centred horizontally in the space | the lines can be left- or right-justified, or centred horizontally in the space | ||||
| between x and (x + maxLineWidth). | between x and (x + maxLineWidth). | ||||
| The y co-ordinate is the position of the baseline of the first line of text - subsequent | |||||
| The y coordinate is the position of the baseline of the first line of text - subsequent | |||||
| lines will be placed below it, separated by a distance of font.getHeight(). | lines will be placed below it, separated by a distance of font.getHeight(). | ||||
| */ | */ | ||||
| void addJustifiedText (const Font& font, | void addJustifiedText (const Font& font, | ||||
| @@ -239,7 +239,7 @@ public: | |||||
| */ | */ | ||||
| void createPath (Path& path) const; | void createPath (Path& path) const; | ||||
| /** Looks for a glyph that contains the given co-ordinate. | |||||
| /** Looks for a glyph that contains the given coordinate. | |||||
| @returns the index of the glyph, or -1 if none were found. | @returns the index of the glyph, or -1 if none were found. | ||||
| */ | */ | ||||
| @@ -79,7 +79,7 @@ public: | |||||
| static const AffineTransform identity; | static const AffineTransform identity; | ||||
| //============================================================================== | //============================================================================== | ||||
| /** Transforms a 2D co-ordinate using this matrix. */ | |||||
| /** Transforms a 2D coordinate using this matrix. */ | |||||
| template <typename ValueType> | template <typename ValueType> | ||||
| void transformPoint (ValueType& x, ValueType& y) const noexcept | void transformPoint (ValueType& x, ValueType& y) const noexcept | ||||
| { | { | ||||
| @@ -88,7 +88,7 @@ public: | |||||
| y = static_cast <ValueType> (mat10 * oldX + mat11 * y + mat12); | y = static_cast <ValueType> (mat10 * oldX + mat11 * y + mat12); | ||||
| } | } | ||||
| /** Transforms two 2D co-ordinates using this matrix. | |||||
| /** Transforms two 2D coordinates using this matrix. | |||||
| This is just a shortcut for calling transformPoint() on each of these pairs of | This is just a shortcut for calling transformPoint() on each of these pairs of | ||||
| coordinates in turn. (And putting all the calculations into one function hopefully | coordinates in turn. (And putting all the calculations into one function hopefully | ||||
| also gives the compiler a bit more scope for pipelining it). | also gives the compiler a bit more scope for pipelining it). | ||||
| @@ -104,7 +104,7 @@ public: | |||||
| y2 = static_cast <ValueType> (mat10 * oldX2 + mat11 * y2 + mat12); | y2 = static_cast <ValueType> (mat10 * oldX2 + mat11 * y2 + mat12); | ||||
| } | } | ||||
| /** Transforms three 2D co-ordinates using this matrix. | |||||
| /** Transforms three 2D coordinates using this matrix. | |||||
| This is just a shortcut for calling transformPoint() on each of these pairs of | This is just a shortcut for calling transformPoint() on each of these pairs of | ||||
| coordinates in turn. (And putting all the calculations into one function hopefully | coordinates in turn. (And putting all the calculations into one function hopefully | ||||
| also gives the compiler a bit more scope for pipelining it). | also gives the compiler a bit more scope for pipelining it). | ||||
| @@ -146,7 +146,7 @@ public: | |||||
| /** Returns a transform which is the same as this one followed by a rotation about a given point. | /** Returns a transform which is the same as this one followed by a rotation about a given point. | ||||
| The rotation is specified by a number of radians to rotate clockwise, centred around | The rotation is specified by a number of radians to rotate clockwise, centred around | ||||
| the co-ordinates passed in. | |||||
| the coordinates passed in. | |||||
| */ | */ | ||||
| AffineTransform rotated (float angleInRadians, | AffineTransform rotated (float angleInRadians, | ||||
| float pivotX, | float pivotX, | ||||
| @@ -191,7 +191,7 @@ public: | |||||
| /** Returns a shear transform, centred around the origin (0, 0). */ | /** Returns a shear transform, centred around the origin (0, 0). */ | ||||
| static AffineTransform shear (float shearX, float shearY) noexcept; | static AffineTransform shear (float shearX, float shearY) noexcept; | ||||
| /** Returns a transform that will flip co-ordinates vertically within a window of the given height. | |||||
| /** Returns a transform that will flip coordinates vertically within a window of the given height. | |||||
| This is handy for converting between upside-down coordinate systems such as OpenGL or CoreGraphics. | This is handy for converting between upside-down coordinate systems such as OpenGL or CoreGraphics. | ||||
| */ | */ | ||||
| static AffineTransform verticalFlip (float height) noexcept; | static AffineTransform verticalFlip (float height) noexcept; | ||||
| @@ -57,7 +57,7 @@ public: | |||||
| { | { | ||||
| } | } | ||||
| /** Creates a line based on the co-ordinates of its start and end points. */ | |||||
| /** Creates a line based on the coordinates of its start and end points. */ | |||||
| Line (ValueType startX, ValueType startY, ValueType endX, ValueType endY) noexcept | Line (ValueType startX, ValueType startY, ValueType endX, ValueType endY) noexcept | ||||
| : start (startX, startY), | : start (startX, startY), | ||||
| end (endX, endY) | end (endX, endY) | ||||
| @@ -84,16 +84,16 @@ public: | |||||
| ~Line() noexcept {} | ~Line() noexcept {} | ||||
| //============================================================================== | //============================================================================== | ||||
| /** Returns the x co-ordinate of the line's start point. */ | |||||
| /** Returns the x coordinate of the line's start point. */ | |||||
| inline ValueType getStartX() const noexcept { return start.x; } | inline ValueType getStartX() const noexcept { return start.x; } | ||||
| /** Returns the y co-ordinate of the line's start point. */ | |||||
| /** Returns the y coordinate of the line's start point. */ | |||||
| inline ValueType getStartY() const noexcept { return start.y; } | inline ValueType getStartY() const noexcept { return start.y; } | ||||
| /** Returns the x co-ordinate of the line's end point. */ | |||||
| /** Returns the x coordinate of the line's end point. */ | |||||
| inline ValueType getEndX() const noexcept { return end.x; } | inline ValueType getEndX() const noexcept { return end.x; } | ||||
| /** Returns the y co-ordinate of the line's end point. */ | |||||
| /** Returns the y coordinate of the line's end point. */ | |||||
| inline ValueType getEndY() const noexcept { return end.y; } | inline ValueType getEndY() const noexcept { return end.y; } | ||||
| /** Returns the line's start point. */ | /** Returns the line's start point. */ | ||||
| @@ -128,10 +128,10 @@ public: | |||||
| /** Returns the length of the line. */ | /** Returns the length of the line. */ | ||||
| ValueType getLength() const noexcept { return start.getDistanceFrom (end); } | ValueType getLength() const noexcept { return start.getDistanceFrom (end); } | ||||
| /** Returns true if the line's start and end x co-ordinates are the same. */ | |||||
| /** Returns true if the line's start and end x coordinates are the same. */ | |||||
| bool isVertical() const noexcept { return start.x == end.x; } | bool isVertical() const noexcept { return start.x == end.x; } | ||||
| /** Returns true if the line's start and end y co-ordinates are the same. */ | |||||
| /** Returns true if the line's start and end y coordinates are the same. */ | |||||
| bool isHorizontal() const noexcept { return start.y == end.y; } | bool isHorizontal() const noexcept { return start.y == end.y; } | ||||
| /** Returns the line's angle. | /** Returns the line's angle. | ||||
| @@ -164,7 +164,7 @@ public: | |||||
| are parallel, this will just be set to the position | are parallel, this will just be set to the position | ||||
| of one of the line's endpoints. | of one of the line's endpoints. | ||||
| @returns true if the line segments intersect; false if they dont. Even if they | @returns true if the line segments intersect; false if they dont. Even if they | ||||
| don't intersect, the intersection co-ordinates returned will still | |||||
| don't intersect, the intersection coordinates returned will still | |||||
| be valid | be valid | ||||
| */ | */ | ||||
| bool intersects (const Line& line, Point<ValueType>& intersection) const noexcept | bool intersects (const Line& line, Point<ValueType>& intersection) const noexcept | ||||
| @@ -22,7 +22,7 @@ | |||||
| ============================================================================== | ============================================================================== | ||||
| */ | */ | ||||
| // tests that some co-ords aren't NaNs | |||||
| // tests that some coordinates aren't NaNs | |||||
| #define JUCE_CHECK_COORDS_ARE_VALID(x, y) \ | #define JUCE_CHECK_COORDS_ARE_VALID(x, y) \ | ||||
| jassert (x == x && y == y); | jassert (x == x && y == y); | ||||
| @@ -190,7 +190,7 @@ public: | |||||
| /** Begins a new subpath with a given starting position. | /** Begins a new subpath with a given starting position. | ||||
| This will move the path's current position to the co-ordinates passed in and | |||||
| This will move the path's current position to the coordinates passed in and | |||||
| make it ready to draw lines or curves starting from this position. | make it ready to draw lines or curves starting from this position. | ||||
| After adding whatever lines and curves are needed, you can either | After adding whatever lines and curves are needed, you can either | ||||
| @@ -203,7 +203,7 @@ public: | |||||
| /** Begins a new subpath with a given starting position. | /** Begins a new subpath with a given starting position. | ||||
| This will move the path's current position to the co-ordinates passed in and | |||||
| This will move the path's current position to the coordinates passed in and | |||||
| make it ready to draw lines or curves starting from this position. | make it ready to draw lines or curves starting from this position. | ||||
| After adding whatever lines and curves are needed, you can either | After adding whatever lines and curves are needed, you can either | ||||
| @@ -30,7 +30,7 @@ | |||||
| //============================================================================== | //============================================================================== | ||||
| /** | /** | ||||
| A pair of (x, y) co-ordinates. | |||||
| A pair of (x, y) coordinates. | |||||
| The ValueType template should be a primitive type such as int, float, double, | The ValueType template should be a primitive type such as int, float, double, | ||||
| rather than a class. | rather than a class. | ||||
| @@ -41,92 +41,106 @@ template <typename ValueType> | |||||
| class Point | class Point | ||||
| { | { | ||||
| public: | public: | ||||
| //============================================================================== | |||||
| /** Creates a point with co-ordinates (0, 0). */ | |||||
| /** Creates a point at the origin */ | |||||
| Point() noexcept : x(), y() {} | Point() noexcept : x(), y() {} | ||||
| /** Creates a copy of another point. */ | /** Creates a copy of another point. */ | ||||
| Point (const Point& other) noexcept : x (other.x), y (other.y) {} | Point (const Point& other) noexcept : x (other.x), y (other.y) {} | ||||
| /** Creates a point from an (x, y) position. */ | /** Creates a point from an (x, y) position. */ | ||||
| Point (const ValueType initialX, const ValueType initialY) noexcept : x (initialX), y (initialY) {} | |||||
| Point (ValueType initialX, ValueType initialY) noexcept : x (initialX), y (initialY) {} | |||||
| //============================================================================== | //============================================================================== | ||||
| /** Copies this point from another one. */ | /** Copies this point from another one. */ | ||||
| Point& operator= (const Point& other) noexcept { x = other.x; y = other.y; return *this; } | |||||
| Point& operator= (const Point& other) noexcept { x = other.x; y = other.y; return *this; } | |||||
| inline bool operator== (Point other) const noexcept { return x == other.x && y == other.y; } | |||||
| inline bool operator!= (Point other) const noexcept { return x != other.x || y != other.y; } | |||||
| inline bool operator== (Point other) const noexcept { return x == other.x && y == other.y; } | |||||
| inline bool operator!= (Point other) const noexcept { return x != other.x || y != other.y; } | |||||
| /** Returns true if the point is (0, 0). */ | /** Returns true if the point is (0, 0). */ | ||||
| bool isOrigin() const noexcept { return x == ValueType() && y == ValueType(); } | |||||
| bool isOrigin() const noexcept { return x == ValueType() && y == ValueType(); } | |||||
| /** Returns the point's x co-ordinate. */ | |||||
| inline ValueType getX() const noexcept { return x; } | |||||
| /** Returns the point's x coordinate. */ | |||||
| inline ValueType getX() const noexcept { return x; } | |||||
| /** Returns the point's y co-ordinate. */ | |||||
| inline ValueType getY() const noexcept { return y; } | |||||
| /** Returns the point's y coordinate. */ | |||||
| inline ValueType getY() const noexcept { return y; } | |||||
| /** Sets the point's x co-ordinate. */ | |||||
| inline void setX (const ValueType newX) noexcept { x = newX; } | |||||
| /** Sets the point's x coordinate. */ | |||||
| inline void setX (ValueType newX) noexcept { x = newX; } | |||||
| /** Sets the point's y co-ordinate. */ | |||||
| inline void setY (const ValueType newY) noexcept { y = newY; } | |||||
| /** Sets the point's y coordinate. */ | |||||
| inline void setY (ValueType newY) noexcept { y = newY; } | |||||
| /** Returns a point which has the same Y position as this one, but a new X. */ | /** Returns a point which has the same Y position as this one, but a new X. */ | ||||
| Point withX (const ValueType newX) const noexcept { return Point (newX, y); } | |||||
| Point withX (ValueType newX) const noexcept { return Point (newX, y); } | |||||
| /** Returns a point which has the same X position as this one, but a new Y. */ | /** Returns a point which has the same X position as this one, but a new Y. */ | ||||
| Point withY (const ValueType newY) const noexcept { return Point (x, newY); } | |||||
| Point withY (ValueType newY) const noexcept { return Point (x, newY); } | |||||
| /** Changes the point's x and y co-ordinates. */ | |||||
| void setXY (const ValueType newX, const ValueType newY) noexcept { x = newX; y = newY; } | |||||
| /** Changes the point's x and y coordinates. */ | |||||
| void setXY (ValueType newX, ValueType newY) noexcept { x = newX; y = newY; } | |||||
| /** Adds a pair of co-ordinates to this value. */ | |||||
| void addXY (const ValueType xToAdd, const ValueType yToAdd) noexcept { x += xToAdd; y += yToAdd; } | |||||
| /** Adds a pair of coordinates to this value. */ | |||||
| void addXY (ValueType xToAdd, ValueType yToAdd) noexcept { x += xToAdd; y += yToAdd; } | |||||
| //============================================================================== | |||||
| /** Returns a point with a given offset from this one. */ | /** Returns a point with a given offset from this one. */ | ||||
| Point translated (const ValueType xDelta, const ValueType yDelta) const noexcept { return Point (x + xDelta, y + yDelta); } | |||||
| Point translated (ValueType deltaX, ValueType deltaY) const noexcept { return Point (x + deltaX, y + deltaY); } | |||||
| /** Adds two points together */ | |||||
| Point operator+ (Point other) const noexcept { return Point (x + other.x, y + other.y); } | |||||
| /** Adds another point's coordinates to this one */ | |||||
| Point& operator+= (Point other) noexcept { x += other.x; y += other.y; return *this; } | |||||
| /** Adds two points together. */ | |||||
| Point operator+ (Point other) const noexcept { return Point (x + other.x, y + other.y); } | |||||
| /** Subtracts one points from another */ | |||||
| Point operator- (Point other) const noexcept { return Point (x - other.x, y - other.y); } | |||||
| /** Adds another point's co-ordinates to this one. */ | |||||
| Point& operator+= (Point other) noexcept { x += other.x; y += other.y; return *this; } | |||||
| /** Subtracts another point's coordinates to this one */ | |||||
| Point& operator-= (Point other) noexcept { x -= other.x; y -= other.y; return *this; } | |||||
| /** Subtracts one points from another. */ | |||||
| Point operator- (Point other) const noexcept { return Point (x - other.x, y - other.y); } | |||||
| /** Multiplies two points together */ | |||||
| Point operator* (Point other) const noexcept { return Point (x * other.x, y * other.y); } | |||||
| /** Subtracts another point's co-ordinates to this one. */ | |||||
| Point& operator-= (Point other) noexcept { x -= other.x; y -= other.y; return *this; } | |||||
| /** Multiplies another point's coordinates to this one */ | |||||
| Point& operator*= (Point other) noexcept { x *= other.x; y *= other.y; return *this; } | |||||
| /** Divides one points from another */ | |||||
| Point operator/ (Point other) const noexcept { return Point (x / other.x, y / other.y); } | |||||
| /** Divides another point's coordinates to this one */ | |||||
| Point& operator/= (Point other) noexcept { x /= other.x; y /= other.y; return *this; } | |||||
| /** Returns a point whose coordinates are multiplied by a given value. */ | /** Returns a point whose coordinates are multiplied by a given value. */ | ||||
| template <typename FloatType> | template <typename FloatType> | ||||
| Point operator* (const FloatType multiplier) const noexcept { return Point ((ValueType) (x * multiplier), (ValueType) (y * multiplier)); } | |||||
| Point operator* (FloatType multiplier) const noexcept { return Point ((ValueType) (x * multiplier), (ValueType) (y * multiplier)); } | |||||
| /** Returns a point whose coordinates are divided by a given value. */ | /** Returns a point whose coordinates are divided by a given value. */ | ||||
| template <typename FloatType> | template <typename FloatType> | ||||
| Point operator/ (const FloatType divisor) const noexcept { return Point ((ValueType) (x / divisor), (ValueType) (y / divisor)); } | |||||
| Point operator/ (FloatType divisor) const noexcept { return Point ((ValueType) (x / divisor), (ValueType) (y / divisor)); } | |||||
| /** Multiplies the point's co-ordinates by a value. */ | |||||
| /** Multiplies the point's coordinates by a value. */ | |||||
| template <typename FloatType> | template <typename FloatType> | ||||
| Point& operator*= (const FloatType multiplier) noexcept { x = (ValueType) (x * multiplier); y = (ValueType) (y * multiplier); return *this; } | |||||
| Point& operator*= (FloatType multiplier) noexcept { x = (ValueType) (x * multiplier); y = (ValueType) (y * multiplier); return *this; } | |||||
| /** Divides the point's co-ordinates by a value. */ | |||||
| /** Divides the point's coordinates by a value. */ | |||||
| template <typename FloatType> | template <typename FloatType> | ||||
| Point& operator/= (const FloatType divisor) noexcept { x = (ValueType) (x / divisor); y = (ValueType) (y / divisor); return *this; } | |||||
| Point& operator/= (FloatType divisor) noexcept { x = (ValueType) (x / divisor); y = (ValueType) (y / divisor); return *this; } | |||||
| /** Returns the inverse of this point. */ | /** Returns the inverse of this point. */ | ||||
| Point operator-() const noexcept { return Point (-x, -y); } | |||||
| Point operator-() const noexcept { return Point (-x, -y); } | |||||
| //============================================================================== | |||||
| /** This type will be double if the Point's type is double, otherwise it will be float. */ | |||||
| typedef typename TypeHelpers::SmallestFloatType<ValueType>::type FloatType; | |||||
| //============================================================================== | |||||
| /** Returns the straight-line distance between this point and the origin. */ | /** Returns the straight-line distance between this point and the origin. */ | ||||
| ValueType getDistanceFromOrigin() const noexcept { return juce_hypot (x, y); } | |||||
| ValueType getDistanceFromOrigin() const noexcept { return juce_hypot (x, y); } | |||||
| /** Returns the straight-line distance between this point and another one. */ | /** Returns the straight-line distance between this point and another one. */ | ||||
| ValueType getDistanceFrom (Point other) const noexcept { return juce_hypot (x - other.x, y - other.y); } | |||||
| /** This type will be double if the Point's type is double, otherwise it will be float. */ | |||||
| typedef typename TypeHelpers::SmallestFloatType<ValueType>::type FloatType; | |||||
| ValueType getDistanceFrom (Point other) const noexcept { return juce_hypot (x - other.x, y - other.y); } | |||||
| /** Returns the angle from this point to another one. | /** Returns the angle from this point to another one. | ||||
| @@ -134,39 +148,59 @@ public: | |||||
| where this point is the centre and the other point is on the circumference. | where this point is the centre and the other point is on the circumference. | ||||
| */ | */ | ||||
| FloatType getAngleToPoint (Point other) const noexcept | FloatType getAngleToPoint (Point other) const noexcept | ||||
| { return static_cast<FloatType> (std::atan2 (other.x - x, y - other.y)); } | |||||
| { | |||||
| return static_cast<FloatType> (std::atan2 (other.x - x, y - other.y)); | |||||
| } | |||||
| /** Returns the point that would be reached by rotating this point clockwise | |||||
| about the origin by the specified angle. | |||||
| */ | |||||
| Point rotatedAboutOrigin (ValueType angleRadians) const noexcept | |||||
| { | |||||
| return Point (x * std::cos (angleRadians) - y * std::sin (angleRadians), | |||||
| x * std::sin (angleRadians) + y * std::cos (angleRadians)); | |||||
| } | |||||
| /** Taking this point to be the centre of a circle, this returns a point on its circumference. | /** Taking this point to be the centre of a circle, this returns a point on its circumference. | ||||
| @param radius the radius of the circle. | @param radius the radius of the circle. | ||||
| @param angle the angle of the point, in radians clockwise from the 12 o'clock position. | @param angle the angle of the point, in radians clockwise from the 12 o'clock position. | ||||
| */ | */ | ||||
| Point<FloatType> getPointOnCircumference (const float radius, const float angle) const noexcept | |||||
| { return Point<FloatType> (static_cast <FloatType> (x + radius * std::sin (angle)), | |||||
| static_cast <FloatType> (y - radius * std::cos (angle))); } | |||||
| Point<FloatType> getPointOnCircumference (float radius, float angle) const noexcept | |||||
| { | |||||
| return Point<FloatType> (static_cast <FloatType> (x + radius * std::sin (angle)), | |||||
| static_cast <FloatType> (y - radius * std::cos (angle))); | |||||
| } | |||||
| /** Taking this point to be the centre of an ellipse, this returns a point on its circumference. | /** Taking this point to be the centre of an ellipse, this returns a point on its circumference. | ||||
| @param radiusX the horizontal radius of the circle. | @param radiusX the horizontal radius of the circle. | ||||
| @param radiusY the vertical radius of the circle. | @param radiusY the vertical radius of the circle. | ||||
| @param angle the angle of the point, in radians clockwise from the 12 o'clock position. | @param angle the angle of the point, in radians clockwise from the 12 o'clock position. | ||||
| */ | */ | ||||
| Point<FloatType> getPointOnCircumference (const float radiusX, const float radiusY, const float angle) const noexcept | |||||
| { return Point<FloatType> (static_cast <FloatType> (x + radiusX * std::sin (angle)), | |||||
| static_cast <FloatType> (y - radiusY * std::cos (angle))); } | |||||
| Point<FloatType> getPointOnCircumference (float radiusX, float radiusY, float angle) const noexcept | |||||
| { | |||||
| return Point<FloatType> (static_cast <FloatType> (x + radiusX * std::sin (angle)), | |||||
| static_cast <FloatType> (y - radiusY * std::cos (angle))); | |||||
| } | |||||
| /** Returns the dot-product of two points (x1 * x2 + y1 * y2). */ | |||||
| FloatType getDotProduct (Point other) const noexcept { return x * other.x + y * other.y; } | |||||
| /** Uses a transform to change the point's co-ordinates. | |||||
| //============================================================================== | |||||
| /** Uses a transform to change the point's coordinates. | |||||
| This will only compile if ValueType = float! | This will only compile if ValueType = float! | ||||
| @see AffineTransform::transformPoint | @see AffineTransform::transformPoint | ||||
| */ | */ | ||||
| void applyTransform (const AffineTransform& transform) noexcept { transform.transformPoint (x, y); } | void applyTransform (const AffineTransform& transform) noexcept { transform.transformPoint (x, y); } | ||||
| /** Returns the position of this point, if it is transformed by a given AffineTransform. */ | /** Returns the position of this point, if it is transformed by a given AffineTransform. */ | ||||
| Point transformedBy (const AffineTransform& transform) const noexcept | Point transformedBy (const AffineTransform& transform) const noexcept | ||||
| { return Point (transform.mat00 * x + transform.mat01 * y + transform.mat02, | |||||
| transform.mat10 * x + transform.mat11 * y + transform.mat12); } | |||||
| /** Returns the dot-product of two points (x1 * x2 + y1 * y2). */ | |||||
| FloatType getDotProduct (Point other) const noexcept { return x * other.x + y * other.y; } | |||||
| { | |||||
| return Point (transform.mat00 * x + transform.mat01 * y + transform.mat02, | |||||
| transform.mat10 * x + transform.mat11 * y + transform.mat12); | |||||
| } | |||||
| //============================================================================== | |||||
| /** Casts this point to a Point<int> object. */ | /** Casts this point to a Point<int> object. */ | ||||
| Point<int> toInt() const noexcept { return Point<int> (static_cast <int> (x), static_cast<int> (y)); } | Point<int> toInt() const noexcept { return Point<int> (static_cast <int> (x), static_cast<int> (y)); } | ||||
| @@ -41,7 +41,7 @@ class Rectangle | |||||
| public: | public: | ||||
| //============================================================================== | //============================================================================== | ||||
| /** Creates a rectangle of zero size. | /** Creates a rectangle of zero size. | ||||
| The default co-ordinates will be (0, 0, 0, 0). | |||||
| The default coordinates will be (0, 0, 0, 0). | |||||
| */ | */ | ||||
| Rectangle() noexcept | Rectangle() noexcept | ||||
| : w(), h() | : w(), h() | ||||
| @@ -103,10 +103,10 @@ public: | |||||
| /** Returns true if the rectangle's width and height are both zero or less */ | /** Returns true if the rectangle's width and height are both zero or less */ | ||||
| bool isEmpty() const noexcept { return w <= ValueType() || h <= ValueType(); } | bool isEmpty() const noexcept { return w <= ValueType() || h <= ValueType(); } | ||||
| /** Returns the x co-ordinate of the rectangle's left-hand-side. */ | |||||
| /** Returns the x coordinate of the rectangle's left-hand-side. */ | |||||
| inline ValueType getX() const noexcept { return pos.x; } | inline ValueType getX() const noexcept { return pos.x; } | ||||
| /** Returns the y co-ordinate of the rectangle's top edge. */ | |||||
| /** Returns the y coordinate of the rectangle's top edge. */ | |||||
| inline ValueType getY() const noexcept { return pos.y; } | inline ValueType getY() const noexcept { return pos.y; } | ||||
| /** Returns the width of the rectangle. */ | /** Returns the width of the rectangle. */ | ||||
| @@ -115,16 +115,16 @@ public: | |||||
| /** Returns the height of the rectangle. */ | /** Returns the height of the rectangle. */ | ||||
| inline ValueType getHeight() const noexcept { return h; } | inline ValueType getHeight() const noexcept { return h; } | ||||
| /** Returns the x co-ordinate of the rectangle's right-hand-side. */ | |||||
| /** Returns the x coordinate of the rectangle's right-hand-side. */ | |||||
| inline ValueType getRight() const noexcept { return pos.x + w; } | inline ValueType getRight() const noexcept { return pos.x + w; } | ||||
| /** Returns the y co-ordinate of the rectangle's bottom edge. */ | |||||
| /** Returns the y coordinate of the rectangle's bottom edge. */ | |||||
| inline ValueType getBottom() const noexcept { return pos.y + h; } | inline ValueType getBottom() const noexcept { return pos.y + h; } | ||||
| /** Returns the x co-ordinate of the rectangle's centre. */ | |||||
| /** Returns the x coordinate of the rectangle's centre. */ | |||||
| ValueType getCentreX() const noexcept { return pos.x + w / (ValueType) 2; } | ValueType getCentreX() const noexcept { return pos.x + w / (ValueType) 2; } | ||||
| /** Returns the y co-ordinate of the rectangle's centre. */ | |||||
| /** Returns the y coordinate of the rectangle's centre. */ | |||||
| ValueType getCentreY() const noexcept { return pos.y + h / (ValueType) 2; } | ValueType getCentreY() const noexcept { return pos.y + h / (ValueType) 2; } | ||||
| /** Returns the centre point of the rectangle. */ | /** Returns the centre point of the rectangle. */ | ||||
| @@ -161,7 +161,7 @@ public: | |||||
| /** Changes the rectangle's size, leaving the position of its top-left corner unchanged. */ | /** Changes the rectangle's size, leaving the position of its top-left corner unchanged. */ | ||||
| void setSize (const ValueType newWidth, const ValueType newHeight) noexcept { w = newWidth; h = newHeight; } | void setSize (const ValueType newWidth, const ValueType newHeight) noexcept { w = newWidth; h = newHeight; } | ||||
| /** Changes all the rectangle's co-ordinates. */ | |||||
| /** Changes all the rectangle's coordinates. */ | |||||
| void setBounds (const ValueType newX, const ValueType newY, | void setBounds (const ValueType newX, const ValueType newY, | ||||
| const ValueType newWidth, const ValueType newHeight) noexcept { pos.x = newX; pos.y = newY; w = newWidth; h = newHeight; } | const ValueType newWidth, const ValueType newHeight) noexcept { pos.x = newX; pos.y = newY; w = newWidth; h = newHeight; } | ||||
| @@ -250,7 +250,7 @@ public: | |||||
| Rectangle withBottom (const ValueType newBottom) const noexcept { return Rectangle (pos.x, jmin (pos.y, newBottom), w, jmax (ValueType(), newBottom - pos.y)); } | Rectangle withBottom (const ValueType newBottom) const noexcept { return Rectangle (pos.x, jmin (pos.y, newBottom), w, jmax (ValueType(), newBottom - pos.y)); } | ||||
| //============================================================================== | //============================================================================== | ||||
| /** Moves the rectangle's position by adding amount to its x and y co-ordinates. */ | |||||
| /** Moves the rectangle's position by adding amount to its x and y coordinates. */ | |||||
| void translate (const ValueType deltaX, | void translate (const ValueType deltaX, | ||||
| const ValueType deltaY) noexcept | const ValueType deltaY) noexcept | ||||
| { | { | ||||
| @@ -465,13 +465,13 @@ public: | |||||
| /** Returns true if the two rectangles are not identical. */ | /** Returns true if the two rectangles are not identical. */ | ||||
| bool operator!= (const Rectangle& other) const noexcept { return pos != other.pos || w != other.w || h != other.h; } | bool operator!= (const Rectangle& other) const noexcept { return pos != other.pos || w != other.w || h != other.h; } | ||||
| /** Returns true if this co-ordinate is inside the rectangle. */ | |||||
| /** Returns true if this coordinate is inside the rectangle. */ | |||||
| bool contains (const ValueType xCoord, const ValueType yCoord) const noexcept | bool contains (const ValueType xCoord, const ValueType yCoord) const noexcept | ||||
| { | { | ||||
| return xCoord >= pos.x && yCoord >= pos.y && xCoord < pos.x + w && yCoord < pos.y + h; | return xCoord >= pos.x && yCoord >= pos.y && xCoord < pos.x + w && yCoord < pos.y + h; | ||||
| } | } | ||||
| /** Returns true if this co-ordinate is inside the rectangle. */ | |||||
| /** Returns true if this coordinate is inside the rectangle. */ | |||||
| bool contains (const Point<ValueType> point) const noexcept | bool contains (const Point<ValueType> point) const noexcept | ||||
| { | { | ||||
| return point.x >= pos.x && point.y >= pos.y && point.x < pos.x + w && point.y < pos.y + h; | return point.x >= pos.x && point.y >= pos.y && point.x < pos.x + w && point.y < pos.y + h; | ||||
| @@ -725,7 +725,7 @@ public: | |||||
| } | } | ||||
| //============================================================================== | //============================================================================== | ||||
| /** Static utility to intersect two sets of rectangular co-ordinates. | |||||
| /** Static utility to intersect two sets of rectangular coordinates. | |||||
| Returns false if the two regions didn't overlap. | Returns false if the two regions didn't overlap. | ||||
| @see intersectRectangle | @see intersectRectangle | ||||
| */ | */ | ||||
| @@ -208,10 +208,10 @@ public: | |||||
| */ | */ | ||||
| void consolidate(); | void consolidate(); | ||||
| /** Adds an x and y value to all the co-ordinates. */ | |||||
| /** Adds an x and y value to all the coordinates. */ | |||||
| void offsetAll (int dx, int dy) noexcept; | void offsetAll (int dx, int dy) noexcept; | ||||
| /** Scales all the co-ordinates. */ | |||||
| /** Scales all the coordinates. */ | |||||
| template <typename ScaleType> | template <typename ScaleType> | ||||
| void scaleAll (ScaleType scaleFactor) noexcept | void scaleAll (ScaleType scaleFactor) noexcept | ||||
| { | { | ||||
| @@ -244,7 +244,7 @@ public: | |||||
| //============================================================================== | //============================================================================== | ||||
| /** Returns the colour of one of the pixels in the image. | /** Returns the colour of one of the pixels in the image. | ||||
| If the co-ordinates given are beyond the image's boundaries, this will | |||||
| If the coordinates given are beyond the image's boundaries, this will | |||||
| return Colours::transparentBlack. | return Colours::transparentBlack. | ||||
| @see setPixelAt, Image::BitmapData::getPixelColour | @see setPixelAt, Image::BitmapData::getPixelColour | ||||
| @@ -253,7 +253,7 @@ public: | |||||
| /** Sets the colour of one of the image's pixels. | /** Sets the colour of one of the image's pixels. | ||||
| If the co-ordinates are beyond the image's boundaries, then nothing will happen. | |||||
| If the coordinates are beyond the image's boundaries, then nothing will happen. | |||||
| Note that this won't do any alpha-blending, it'll just replace the existing pixel | Note that this won't do any alpha-blending, it'll just replace the existing pixel | ||||
| with the given one. The colour's opacity will be ignored if this image doesn't have | with the given one. The colour's opacity will be ignored if this image doesn't have | ||||
| @@ -266,10 +266,10 @@ public: | |||||
| /** Changes the opacity of a pixel. | /** Changes the opacity of a pixel. | ||||
| This only has an effect if the image has an alpha channel and if the | This only has an effect if the image has an alpha channel and if the | ||||
| given co-ordinates are inside the image's boundary. | |||||
| given coordinates are inside the image's boundary. | |||||
| The multiplier must be in the range 0 to 1.0, and the current alpha | The multiplier must be in the range 0 to 1.0, and the current alpha | ||||
| at the given co-ordinates will be multiplied by this value. | |||||
| at the given coordinates will be multiplied by this value. | |||||
| @see setPixelAt | @see setPixelAt | ||||
| */ | */ | ||||
| @@ -322,13 +322,13 @@ public: | |||||
| ~BitmapData(); | ~BitmapData(); | ||||
| /** Returns a pointer to the start of a line in the image. | /** Returns a pointer to the start of a line in the image. | ||||
| The co-ordinate you provide here isn't checked, so it's the caller's responsibility to make | |||||
| The coordinate you provide here isn't checked, so it's the caller's responsibility to make | |||||
| sure it's not out-of-range. | sure it's not out-of-range. | ||||
| */ | */ | ||||
| inline uint8* getLinePointer (int y) const noexcept { return data + y * lineStride; } | inline uint8* getLinePointer (int y) const noexcept { return data + y * lineStride; } | ||||
| /** Returns a pointer to a pixel in the image. | /** Returns a pointer to a pixel in the image. | ||||
| The co-ordinates you give here are not checked, so it's the caller's responsibility to make sure they're | |||||
| The coordinates you give here are not checked, so it's the caller's responsibility to make sure they're | |||||
| not out-of-range. | not out-of-range. | ||||
| */ | */ | ||||
| inline uint8* getPixelPointer (int x, int y) const noexcept { return data + y * lineStride + x * pixelStride; } | inline uint8* getPixelPointer (int x, int y) const noexcept { return data + y * lineStride + x * pixelStride; } | ||||
| @@ -520,8 +520,8 @@ void CoreGraphicsContext::drawVerticalLine (const int x, float top, float bottom | |||||
| #if MAC_OS_X_VERSION_MIN_REQUIRED > MAC_OS_X_VERSION_10_5 | #if MAC_OS_X_VERSION_MIN_REQUIRED > MAC_OS_X_VERSION_10_5 | ||||
| CGContextFillRect (context, CGRectMake (x, flipHeight - bottom, 1.0f, bottom - top)); | CGContextFillRect (context, CGRectMake (x, flipHeight - bottom, 1.0f, bottom - top)); | ||||
| #else | #else | ||||
| // On Leopard, unless both co-ordinates are non-integer, it disables anti-aliasing, so nudge | |||||
| // the x co-ord slightly to trick it.. | |||||
| // On Leopard, unless both coordinates are non-integer, it disables anti-aliasing, so nudge | |||||
| // the x coordinate slightly to trick it.. | |||||
| CGContextFillRect (context, CGRectMake (x + 1.0f / 256.0f, flipHeight - bottom, 1.0f + 1.0f / 256.0f, bottom - top)); | CGContextFillRect (context, CGRectMake (x + 1.0f / 256.0f, flipHeight - bottom, 1.0f + 1.0f / 256.0f, bottom - top)); | ||||
| #endif | #endif | ||||
| } | } | ||||
| @@ -538,8 +538,8 @@ void CoreGraphicsContext::drawHorizontalLine (const int y, float left, float rig | |||||
| #if MAC_OS_X_VERSION_MIN_REQUIRED > MAC_OS_X_VERSION_10_5 | #if MAC_OS_X_VERSION_MIN_REQUIRED > MAC_OS_X_VERSION_10_5 | ||||
| CGContextFillRect (context, CGRectMake (left, flipHeight - (y + 1.0f), right - left, 1.0f)); | CGContextFillRect (context, CGRectMake (left, flipHeight - (y + 1.0f), right - left, 1.0f)); | ||||
| #else | #else | ||||
| // On Leopard, unless both co-ordinates are non-integer, it disables anti-aliasing, so nudge | |||||
| // the x co-ord slightly to trick it.. | |||||
| // On Leopard, unless both coordinates are non-integer, it disables anti-aliasing, so nudge | |||||
| // the x coordinate slightly to trick it.. | |||||
| CGContextFillRect (context, CGRectMake (left, flipHeight - (y + (1.0f + 1.0f / 256.0f)), right - left, 1.0f + 1.0f / 256.0f)); | CGContextFillRect (context, CGRectMake (left, flipHeight - (y + (1.0f + 1.0f / 256.0f)), right - left, 1.0f + 1.0f / 256.0f)); | ||||
| #endif | #endif | ||||
| } | } | ||||
| @@ -131,7 +131,7 @@ public: | |||||
| //============================================================================== | //============================================================================== | ||||
| /** Adjusts the position and size of a rectangle to fit it into a space. | /** Adjusts the position and size of a rectangle to fit it into a space. | ||||
| The source rectangle co-ordinates will be adjusted so that they fit into | |||||
| The source rectangle coordinates will be adjusted so that they fit into | |||||
| the destination rectangle based on this object's flags. | the destination rectangle based on this object's flags. | ||||
| */ | */ | ||||
| void applyTo (double& sourceX, | void applyTo (double& sourceX, | ||||
| @@ -157,7 +157,7 @@ public: | |||||
| static_cast <ValueType> (w), static_cast <ValueType> (h)); | static_cast <ValueType> (w), static_cast <ValueType> (h)); | ||||
| } | } | ||||
| /** Returns the transform that should be applied to these source co-ordinates to fit them | |||||
| /** Returns the transform that should be applied to these source coordinates to fit them | |||||
| into the destination rectangle using the current flags. | into the destination rectangle using the current flags. | ||||
| */ | */ | ||||
| AffineTransform getTransformToFit (const Rectangle<float>& source, | AffineTransform getTransformToFit (const Rectangle<float>& source, | ||||
| @@ -67,7 +67,7 @@ public: | |||||
| //============================================================================== | //============================================================================== | ||||
| /** Returns the mouse position. | /** Returns the mouse position. | ||||
| The co-ordinates are relative to the top-left of the main monitor. | |||||
| The coordinates are relative to the top-left of the main monitor. | |||||
| Note that this is just a shortcut for calling getMainMouseSource().getScreenPosition(), and | Note that this is just a shortcut for calling getMainMouseSource().getScreenPosition(), and | ||||
| you should only resort to grabbing the global mouse position if there's really no | you should only resort to grabbing the global mouse position if there's really no | ||||
| @@ -76,7 +76,7 @@ public: | |||||
| static Point<int> getMousePosition(); | static Point<int> getMousePosition(); | ||||
| /** Makes the mouse pointer jump to a given location. | /** Makes the mouse pointer jump to a given location. | ||||
| The co-ordinates are relative to the top-left of the main monitor. | |||||
| The coordinates are relative to the top-left of the main monitor. | |||||
| */ | */ | ||||
| static void setMousePosition (Point<int> newPosition); | static void setMousePosition (Point<int> newPosition); | ||||
| @@ -199,7 +199,7 @@ public: | |||||
| This will drill down into top-level windows to find the child component at | This will drill down into top-level windows to find the child component at | ||||
| the given position. | the given position. | ||||
| Returns nullptr if the co-ordinates are inside a non-Juce window. | |||||
| Returns nullptr if the coordinates are inside a non-Juce window. | |||||
| */ | */ | ||||
| Component* findComponentAt (Point<int> screenPosition) const; | Component* findComponentAt (Point<int> screenPosition) const; | ||||
| @@ -73,7 +73,7 @@ public: | |||||
| /** Renders the Drawable at a given offset within the Graphics context. | /** Renders the Drawable at a given offset within the Graphics context. | ||||
| The co-ordinates passed-in are used to translate the object relative to its own | |||||
| The coordinates passed-in are used to translate the object relative to its own | |||||
| origin before drawing it - this is basically a quick way of saying: | origin before drawing it - this is basically a quick way of saying: | ||||
| @code | @code | ||||
| @@ -139,7 +139,7 @@ public: | |||||
| //============================================================================== | //============================================================================== | ||||
| /** This callback changes the given co-ordinates to impose whatever the current | |||||
| /** This callback changes the given coordinates to impose whatever the current | |||||
| constraints are set to be. | constraints are set to be. | ||||
| @param bounds the target position that should be examined and adjusted | @param bounds the target position that should be examined and adjusted | ||||
| @@ -259,7 +259,7 @@ public: | |||||
| @param width the width of the thumb area to draw in | @param width the width of the thumb area to draw in | ||||
| @param height the height of the thumb area to draw in | @param height the height of the thumb area to draw in | ||||
| @param isScrollbarVertical true if it's a vertical bar, false if horizontal | @param isScrollbarVertical true if it's a vertical bar, false if horizontal | ||||
| @param thumbStartPosition for vertical bars, the y co-ordinate of the top of the | |||||
| @param thumbStartPosition for vertical bars, the y coordinate of the top of the | |||||
| thumb, or its x position for horizontal bars | thumb, or its x position for horizontal bars | ||||
| @param thumbSize for vertical bars, the height of the thumb, or its width for | @param thumbSize for vertical bars, the height of the thumb, or its width for | ||||
| horizontal bars. This may be 0 if the thumb shouldn't be drawn. | horizontal bars. This may be 0 if the thumb shouldn't be drawn. | ||||
| @@ -287,7 +287,7 @@ public: | |||||
| /** Displays the menu at a specific location. | /** Displays the menu at a specific location. | ||||
| This is the same as show(), but uses a specific location (in global screen | This is the same as show(), but uses a specific location (in global screen | ||||
| co-ordinates) rather than the current mouse position. | |||||
| coordinates) rather than the current mouse position. | |||||
| The screenAreaToAttachTo parameter indicates a screen area to which the menu | The screenAreaToAttachTo parameter indicates a screen area to which the menu | ||||
| will be adjacent. Depending on where this is, the menu will decide which edge to | will be adjacent. Depending on where this is, the menu will decide which edge to | ||||
| @@ -57,7 +57,7 @@ public: | |||||
| ~BubbleComponent(); | ~BubbleComponent(); | ||||
| //============================================================================== | //============================================================================== | ||||
| /** A list of permitted placements for the bubble, relative to the co-ordinates | |||||
| /** A list of permitted placements for the bubble, relative to the coordinates | |||||
| at which it should be pointing. | at which it should be pointing. | ||||
| @see setAllowedPlacement | @see setAllowedPlacement | ||||
| @@ -99,9 +99,9 @@ public: | |||||
| /** Moves and resizes the bubble to point at a given point. | /** Moves and resizes the bubble to point at a given point. | ||||
| This will resize the bubble to fit its content, then position it | This will resize the bubble to fit its content, then position it | ||||
| so that the tip of the bubble points to the given co-ordinate. The co-ordinates | |||||
| so that the tip of the bubble points to the given coordinate. The coordinates | |||||
| are relative to either the bubble component's parent component if it has one, or | are relative to either the bubble component's parent component if it has one, or | ||||
| they are screen co-ordinates if not. | |||||
| they are screen coordinates if not. | |||||
| It'll put itself either above, below, or to the side of this point, depending | It'll put itself either above, below, or to the side of this point, depending | ||||
| on where there's the most space, honouring any restrictions that were set | on where there's the most space, honouring any restrictions that were set | ||||
| @@ -113,8 +113,8 @@ public: | |||||
| This will resize the bubble to fit its content, then find a position for it | This will resize the bubble to fit its content, then find a position for it | ||||
| so that it's next to, but doesn't overlap the given rectangle. The rectangle's | so that it's next to, but doesn't overlap the given rectangle. The rectangle's | ||||
| co-ordinates are relative to either the bubble component's parent component | |||||
| if it has one, or they are screen co-ordinates if not. | |||||
| coordinates are relative to either the bubble component's parent component | |||||
| if it has one, or they are screen coordinates if not. | |||||
| It'll put itself either above, below, or to the side of the component depending | It'll put itself either above, below, or to the side of the component depending | ||||
| on where there's the most space, honouring any restrictions that were set | on where there's the most space, honouring any restrictions that were set | ||||
| @@ -50,7 +50,7 @@ public: | |||||
| Your implementation of this method must find all the relevent items that lie | Your implementation of this method must find all the relevent items that lie | ||||
| within the given rectangle. and add them to the itemsFound array. | within the given rectangle. and add them to the itemsFound array. | ||||
| The co-ordinates are relative to the top-left of the lasso component's parent | |||||
| The coordinates are relative to the top-left of the lasso component's parent | |||||
| component. (i.e. they are the same as the size and position of the lasso | component. (i.e. they are the same as the size and position of the lasso | ||||
| component itself). | component itself). | ||||
| */ | */ | ||||
| @@ -133,25 +133,25 @@ public: | |||||
| MouseInputSource& source; | MouseInputSource& source; | ||||
| //============================================================================== | //============================================================================== | ||||
| /** Returns the x co-ordinate of the last place that a mouse was pressed. | |||||
| /** Returns the x coordinate of the last place that a mouse was pressed. | |||||
| The co-ordinate is relative to the component specified in MouseEvent::component. | |||||
| The coordinate is relative to the component specified in MouseEvent::component. | |||||
| @see getDistanceFromDragStart, getDistanceFromDragStartX, mouseWasClicked | @see getDistanceFromDragStart, getDistanceFromDragStartX, mouseWasClicked | ||||
| */ | */ | ||||
| int getMouseDownX() const noexcept; | int getMouseDownX() const noexcept; | ||||
| /** Returns the y co-ordinate of the last place that a mouse was pressed. | |||||
| /** Returns the y coordinate of the last place that a mouse was pressed. | |||||
| The co-ordinate is relative to the component specified in MouseEvent::component. | |||||
| The coordinate is relative to the component specified in MouseEvent::component. | |||||
| @see getDistanceFromDragStart, getDistanceFromDragStartX, mouseWasClicked | @see getDistanceFromDragStart, getDistanceFromDragStartX, mouseWasClicked | ||||
| */ | */ | ||||
| int getMouseDownY() const noexcept; | int getMouseDownY() const noexcept; | ||||
| /** Returns the co-ordinates of the last place that a mouse was pressed. | |||||
| /** Returns the coordinates of the last place that a mouse was pressed. | |||||
| The co-ordinates are relative to the component specified in MouseEvent::component. | |||||
| The coordinates are relative to the component specified in MouseEvent::component. | |||||
| @see getDistanceFromDragStart, getDistanceFromDragStartX, mouseWasClicked | @see getDistanceFromDragStart, getDistanceFromDragStartX, mouseWasClicked | ||||
| */ | */ | ||||
| @@ -228,50 +228,38 @@ public: | |||||
| */ | */ | ||||
| Point<int> getPosition() const noexcept; | Point<int> getPosition() const noexcept; | ||||
| /** Returns the mouse x position of this event, in global screen co-ordinates. | |||||
| The co-ordinates are relative to the top-left of the main monitor. | |||||
| /** Returns the mouse x position of this event, in global screen coordinates. | |||||
| The coordinates are relative to the top-left of the main monitor. | |||||
| @see getScreenPosition | @see getScreenPosition | ||||
| */ | */ | ||||
| int getScreenX() const; | int getScreenX() const; | ||||
| /** Returns the mouse y position of this event, in global screen co-ordinates. | |||||
| The co-ordinates are relative to the top-left of the main monitor. | |||||
| /** Returns the mouse y position of this event, in global screen coordinates. | |||||
| The coordinates are relative to the top-left of the main monitor. | |||||
| @see getScreenPosition | @see getScreenPosition | ||||
| */ | */ | ||||
| int getScreenY() const; | int getScreenY() const; | ||||
| /** Returns the mouse position of this event, in global screen co-ordinates. | |||||
| The co-ordinates are relative to the top-left of the main monitor. | |||||
| /** Returns the mouse position of this event, in global screen coordinates. | |||||
| The coordinates are relative to the top-left of the main monitor. | |||||
| @see getMouseDownScreenPosition | @see getMouseDownScreenPosition | ||||
| */ | */ | ||||
| Point<int> getScreenPosition() const; | Point<int> getScreenPosition() const; | ||||
| /** Returns the x co-ordinate at which the mouse button was last pressed. | |||||
| The co-ordinates are relative to the top-left of the main monitor. | |||||
| /** Returns the x coordinate at which the mouse button was last pressed. | |||||
| The coordinates are relative to the top-left of the main monitor. | |||||
| @see getMouseDownScreenPosition | @see getMouseDownScreenPosition | ||||
| */ | */ | ||||
| int getMouseDownScreenX() const; | int getMouseDownScreenX() const; | ||||
| /** Returns the y co-ordinate at which the mouse button was last pressed. | |||||
| The co-ordinates are relative to the top-left of the main monitor. | |||||
| /** Returns the y coordinate at which the mouse button was last pressed. | |||||
| The coordinates are relative to the top-left of the main monitor. | |||||
| @see getMouseDownScreenPosition | @see getMouseDownScreenPosition | ||||
| */ | */ | ||||
| int getMouseDownScreenY() const; | int getMouseDownScreenY() const; | ||||
| /** Returns the co-ordinates at which the mouse button was last pressed. | |||||
| The co-ordinates are relative to the top-left of the main monitor. | |||||
| /** Returns the coordinates at which the mouse button was last pressed. | |||||
| The coordinates are relative to the top-left of the main monitor. | |||||
| @see getScreenPosition | @see getScreenPosition | ||||
| */ | */ | ||||
| Point<int> getMouseDownScreenPosition() const; | Point<int> getMouseDownScreenPosition() const; | ||||
| @@ -149,7 +149,7 @@ public: | |||||
| Calling this method when the mouse button is currently pressed will remove the cursor | Calling this method when the mouse button is currently pressed will remove the cursor | ||||
| from the screen and allow the mouse to (seem to) move beyond the edges of the screen. | from the screen and allow the mouse to (seem to) move beyond the edges of the screen. | ||||
| This means that the co-ordinates returned to mouseDrag() will be unbounded, and this | |||||
| This means that the coordinates returned to mouseDrag() will be unbounded, and this | |||||
| can be used for things like custom slider controls or dragging objects around, where | can be used for things like custom slider controls or dragging objects around, where | ||||
| movement would be otherwise be limited by the mouse hitting the edges of the screen. | movement would be otherwise be limited by the mouse hitting the edges of the screen. | ||||
| @@ -269,11 +269,11 @@ public: | |||||
| /** Returns the position of one of the cells in the table. | /** Returns the position of one of the cells in the table. | ||||
| If relativeToComponentTopLeft is true, the co-ordinates are relative to | |||||
| If relativeToComponentTopLeft is true, the coordinates are relative to | |||||
| the table component's top-left. The row number isn't checked to see if it's | the table component's top-left. The row number isn't checked to see if it's | ||||
| in-range, but the column ID must exist or this will return an empty rectangle. | in-range, but the column ID must exist or this will return an empty rectangle. | ||||
| If relativeToComponentTopLeft is false, the co-ords are relative to the | |||||
| If relativeToComponentTopLeft is false, the coordinates are relative to the | |||||
| top-left of the table's top-left cell. | top-left of the table's top-left cell. | ||||
| */ | */ | ||||
| Rectangle<int> getCellPosition (int columnId, int rowNumber, | Rectangle<int> getCellPosition (int columnId, int rowNumber, | ||||
| @@ -420,7 +420,7 @@ public: | |||||
| String getHighlightedText() const; | String getHighlightedText() const; | ||||
| /** Finds the index of the character at a given position. | /** Finds the index of the character at a given position. | ||||
| The co-ordinates are relative to the component's top-left. | |||||
| The coordinates are relative to the component's top-left. | |||||
| */ | */ | ||||
| int getTextIndexAt (int x, int y); | int getTextIndexAt (int x, int y); | ||||
| @@ -150,7 +150,7 @@ public: | |||||
| /** Returns the rectangle that this item occupies. | /** Returns the rectangle that this item occupies. | ||||
| If relativeToTreeViewTopLeft is true, the co-ordinates are relative to the | |||||
| If relativeToTreeViewTopLeft is true, the coordinates are relative to the | |||||
| top-left of the TreeView comp, so this will depend on the scroll-position of | top-left of the TreeView comp, so this will depend on the scroll-position of | ||||
| the tree. If false, it is relative to the top-left of the topmost item in the | the tree. If false, it is relative to the top-left of the topmost item in the | ||||
| tree (so this would be unaffected by scrolling the view). | tree (so this would be unaffected by scrolling the view). | ||||
| @@ -136,7 +136,7 @@ public: | |||||
| //============================================================================== | //============================================================================== | ||||
| /** Moves and resizes the window. | /** Moves and resizes the window. | ||||
| If the native window is contained in another window, then the co-ordinates are | |||||
| If the native window is contained in another window, then the coordinates are | |||||
| relative to the parent window's origin, not the screen origin. | relative to the parent window's origin, not the screen origin. | ||||
| This should result in a callback to handleMovedOrResized(). | This should result in a callback to handleMovedOrResized(). | ||||
| @@ -145,18 +145,18 @@ public: | |||||
| /** Returns the current position and size of the window. | /** Returns the current position and size of the window. | ||||
| If the native window is contained in another window, then the co-ordinates are | |||||
| If the native window is contained in another window, then the coordinates are | |||||
| relative to the parent window's origin, not the screen origin. | relative to the parent window's origin, not the screen origin. | ||||
| */ | */ | ||||
| virtual Rectangle<int> getBounds() const = 0; | virtual Rectangle<int> getBounds() const = 0; | ||||
| /** Converts a position relative to the top-left of this component to screen co-ordinates. */ | |||||
| /** Converts a position relative to the top-left of this component to screen coordinates. */ | |||||
| virtual Point<int> localToGlobal (const Point<int>& relativePosition) = 0; | virtual Point<int> localToGlobal (const Point<int>& relativePosition) = 0; | ||||
| /** Converts a rectangle relative to the top-left of this component to screen co-ordinates. */ | |||||
| /** Converts a rectangle relative to the top-left of this component to screen coordinates. */ | |||||
| virtual Rectangle<int> localToGlobal (const Rectangle<int>& relativePosition); | virtual Rectangle<int> localToGlobal (const Rectangle<int>& relativePosition); | ||||
| /** Converts a screen co-ordinate to a position relative to the top-left of this component. */ | |||||
| /** Converts a screen coordinate to a position relative to the top-left of this component. */ | |||||
| virtual Point<int> globalToLocal (const Point<int>& screenPosition) = 0; | virtual Point<int> globalToLocal (const Point<int>& screenPosition) = 0; | ||||
| /** Converts a screen area to a position relative to the top-left of this component. */ | /** Converts a screen area to a position relative to the top-left of this component. */ | ||||
| @@ -105,7 +105,7 @@ public: | |||||
| Rectangle<int> getCharacterBounds (const CodeDocument::Position& pos) const; | Rectangle<int> getCharacterBounds (const CodeDocument::Position& pos) const; | ||||
| /** Finds the character at a given on-screen position. | /** Finds the character at a given on-screen position. | ||||
| The co-ordinates are relative to this component's top-left origin. | |||||
| The coordinates are relative to this component's top-left origin. | |||||
| */ | */ | ||||
| CodeDocument::Position getPositionAt (int x, int y); | CodeDocument::Position getPositionAt (int x, int y); | ||||
| @@ -59,7 +59,7 @@ public: | |||||
| /** Shows a message bubble at a particular position. | /** Shows a message bubble at a particular position. | ||||
| This shows the bubble with its stem pointing to the given location | This shows the bubble with its stem pointing to the given location | ||||
| (co-ordinates being relative to its parent component). | |||||
| (coordinates being relative to its parent component). | |||||
| For details about exactly how it decides where to position itself, see | For details about exactly how it decides where to position itself, see | ||||
| BubbleComponent::updatePosition(). | BubbleComponent::updatePosition(). | ||||
| @@ -50,7 +50,7 @@ public: | |||||
| // The ComponentMovementWatcher version of this method avoids calling | // The ComponentMovementWatcher version of this method avoids calling | ||||
| // us when the top-level comp is resized, but for an NSView we need to know this | // us when the top-level comp is resized, but for an NSView we need to know this | ||||
| // because with inverted co-ords, we need to update the position even if the | |||||
| // because with inverted coordinates, we need to update the position even if the | |||||
| // top-left pos hasn't changed | // top-left pos hasn't changed | ||||
| if (comp.isOnDesktop() && wasResized) | if (comp.isOnDesktop() && wasResized) | ||||
| componentMovedOrResized (wasMoved, wasResized); | componentMovedOrResized (wasMoved, wasResized); | ||||