mirror of
https://github.com/juce-framework/JUCE.git
synced 2026-01-09 23:34:20 +00:00
This commit is contained in:
parent
d00a1e4892
commit
76f8b86b99
12 changed files with 160 additions and 159 deletions
|
|
@ -37,7 +37,7 @@ BEGIN_JUCE_NAMESPACE
|
|||
|
||||
|
||||
//==============================================================================
|
||||
BorderSize::BorderSize()
|
||||
BorderSize::BorderSize() throw()
|
||||
: top (0),
|
||||
left (0),
|
||||
bottom (0),
|
||||
|
|
@ -45,7 +45,7 @@ BorderSize::BorderSize()
|
|||
{
|
||||
}
|
||||
|
||||
BorderSize::BorderSize (const BorderSize& other)
|
||||
BorderSize::BorderSize (const BorderSize& other) throw()
|
||||
: top (other.top),
|
||||
left (other.left),
|
||||
bottom (other.bottom),
|
||||
|
|
@ -56,7 +56,7 @@ BorderSize::BorderSize (const BorderSize& other)
|
|||
BorderSize::BorderSize (const int topGap,
|
||||
const int leftGap,
|
||||
const int bottomGap,
|
||||
const int rightGap)
|
||||
const int rightGap) throw()
|
||||
: top (topGap),
|
||||
left (leftGap),
|
||||
bottom (bottomGap),
|
||||
|
|
@ -64,7 +64,7 @@ BorderSize::BorderSize (const int topGap,
|
|||
{
|
||||
}
|
||||
|
||||
BorderSize::BorderSize (const int allGaps)
|
||||
BorderSize::BorderSize (const int allGaps) throw()
|
||||
: top (allGaps),
|
||||
left (allGaps),
|
||||
bottom (allGaps),
|
||||
|
|
@ -72,7 +72,7 @@ BorderSize::BorderSize (const int allGaps)
|
|||
{
|
||||
}
|
||||
|
||||
BorderSize::~BorderSize()
|
||||
BorderSize::~BorderSize() throw()
|
||||
{
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -52,22 +52,22 @@ public:
|
|||
|
||||
All sizes are left as 0.
|
||||
*/
|
||||
BorderSize();
|
||||
BorderSize() throw();
|
||||
|
||||
/** Creates a copy of another border. */
|
||||
BorderSize (const BorderSize& other);
|
||||
BorderSize (const BorderSize& other) throw();
|
||||
|
||||
/** Creates a border with the given gaps. */
|
||||
BorderSize (const int topGap,
|
||||
const int leftGap,
|
||||
const int bottomGap,
|
||||
const int rightGap);
|
||||
const int rightGap) throw();
|
||||
|
||||
/** Creates a border with the given gap on all sides. */
|
||||
BorderSize (const int allGaps);
|
||||
BorderSize (const int allGaps) throw();
|
||||
|
||||
/** Destructor. */
|
||||
~BorderSize();
|
||||
~BorderSize() throw();
|
||||
|
||||
//==============================================================================
|
||||
/** Returns the gap that should be left at the top of the region. */
|
||||
|
|
|
|||
|
|
@ -39,12 +39,12 @@ BEGIN_JUCE_NAMESPACE
|
|||
|
||||
|
||||
//==============================================================================
|
||||
bool juce_lineIntersection (const float x1, const float y1,
|
||||
const float x2, const float y2,
|
||||
const float x3, const float y3,
|
||||
const float x4, const float y4,
|
||||
float& intersectionX,
|
||||
float& intersectionY)
|
||||
static bool juce_lineIntersection (const float x1, const float y1,
|
||||
const float x2, const float y2,
|
||||
const float x3, const float y3,
|
||||
const float x4, const float y4,
|
||||
float& intersectionX,
|
||||
float& intersectionY) throw()
|
||||
{
|
||||
if (x2 != x3 || y2 != y3)
|
||||
{
|
||||
|
|
@ -122,7 +122,7 @@ bool juce_lineIntersection (const float x1, const float y1,
|
|||
}
|
||||
|
||||
//==============================================================================
|
||||
Line::Line()
|
||||
Line::Line() throw()
|
||||
: startX (0.0f),
|
||||
startY (0.0f),
|
||||
endX (0.0f),
|
||||
|
|
@ -130,7 +130,7 @@ Line::Line()
|
|||
{
|
||||
}
|
||||
|
||||
Line::Line (const Line& other)
|
||||
Line::Line (const Line& other) throw()
|
||||
: startX (other.startX),
|
||||
startY (other.startY),
|
||||
endX (other.endX),
|
||||
|
|
@ -139,7 +139,7 @@ Line::Line (const Line& other)
|
|||
}
|
||||
|
||||
Line::Line (const float startX_, const float startY_,
|
||||
const float endX_, const float endY_)
|
||||
const float endX_, const float endY_) throw()
|
||||
: startX (startX_),
|
||||
startY (startY_),
|
||||
endX (endX_),
|
||||
|
|
@ -148,7 +148,7 @@ Line::Line (const float startX_, const float startY_,
|
|||
}
|
||||
|
||||
Line::Line (const Point& start,
|
||||
const Point& end)
|
||||
const Point& end) throw()
|
||||
: startX (start.getX()),
|
||||
startY (start.getY()),
|
||||
endX (end.getX()),
|
||||
|
|
@ -156,7 +156,7 @@ Line::Line (const Point& start,
|
|||
{
|
||||
}
|
||||
|
||||
const Line& Line::operator= (const Line& other)
|
||||
const Line& Line::operator= (const Line& other) throw()
|
||||
{
|
||||
startX = other.startX;
|
||||
startY = other.startY;
|
||||
|
|
@ -166,42 +166,42 @@ const Line& Line::operator= (const Line& other)
|
|||
return *this;
|
||||
}
|
||||
|
||||
Line::~Line()
|
||||
Line::~Line() throw()
|
||||
{
|
||||
}
|
||||
|
||||
//==============================================================================
|
||||
const Point Line::getStart() const
|
||||
const Point Line::getStart() const throw()
|
||||
{
|
||||
return Point (startX, startY);
|
||||
}
|
||||
|
||||
const Point Line::getEnd() const
|
||||
const Point Line::getEnd() const throw()
|
||||
{
|
||||
return Point (endX, endY);
|
||||
}
|
||||
|
||||
void Line::setStart (const float newStartX,
|
||||
const float newStartY)
|
||||
const float newStartY) throw()
|
||||
{
|
||||
startX = newStartX;
|
||||
startY = newStartY;
|
||||
}
|
||||
|
||||
void Line::setStart (const Point& newStart)
|
||||
void Line::setStart (const Point& newStart) throw()
|
||||
{
|
||||
startX = newStart.getX();
|
||||
startY = newStart.getY();
|
||||
}
|
||||
|
||||
void Line::setEnd (const float newEndX,
|
||||
const float newEndY)
|
||||
const float newEndY) throw()
|
||||
{
|
||||
endX = newEndX;
|
||||
endY = newEndY;
|
||||
}
|
||||
|
||||
void Line::setEnd (const Point& newEnd)
|
||||
void Line::setEnd (const Point& newEnd) throw()
|
||||
{
|
||||
endX = newEnd.getX();
|
||||
endY = newEnd.getY();
|
||||
|
|
@ -224,26 +224,26 @@ bool Line::operator!= (const Line& other) const throw()
|
|||
}
|
||||
|
||||
//==============================================================================
|
||||
void Line::applyTransform (const AffineTransform& transform)
|
||||
void Line::applyTransform (const AffineTransform& transform) throw()
|
||||
{
|
||||
transform.transformPoint (startX, startY);
|
||||
transform.transformPoint (endX, endY);
|
||||
}
|
||||
|
||||
//==============================================================================
|
||||
float Line::getLength() const
|
||||
float Line::getLength() const throw()
|
||||
{
|
||||
return (float) juce_hypot (startX - endX,
|
||||
startY - endY);
|
||||
}
|
||||
|
||||
float Line::getAngle() const
|
||||
float Line::getAngle() const throw()
|
||||
{
|
||||
return atan2f (endX - startX,
|
||||
endY - startY);
|
||||
}
|
||||
|
||||
const Point Line::getPointAlongLine (const float distanceFromStart) const
|
||||
const Point Line::getPointAlongLine (const float distanceFromStart) const throw()
|
||||
{
|
||||
const float alpha = distanceFromStart / getLength();
|
||||
|
||||
|
|
@ -252,7 +252,7 @@ const Point Line::getPointAlongLine (const float distanceFromStart) const
|
|||
}
|
||||
|
||||
const Point Line::getPointAlongLine (const float offsetX,
|
||||
const float offsetY) const
|
||||
const float offsetY) const throw()
|
||||
{
|
||||
const float dx = endX - startX;
|
||||
const float dy = endY - startY;
|
||||
|
|
@ -265,14 +265,14 @@ const Point Line::getPointAlongLine (const float offsetX,
|
|||
startY + (float) (((dy * offsetX) + (dx * offsetY)) / length));
|
||||
}
|
||||
|
||||
const Point Line::getPointAlongLineProportionally (const float alpha) const
|
||||
const Point Line::getPointAlongLineProportionally (const float alpha) const throw()
|
||||
{
|
||||
return Point (startX + (endX - startX) * alpha,
|
||||
startY + (endY - startY) * alpha);
|
||||
}
|
||||
|
||||
float Line::getDistanceFromLine (const float x,
|
||||
const float y) const
|
||||
const float y) const throw()
|
||||
{
|
||||
const double dx = endX - startX;
|
||||
const double dy = endY - startY;
|
||||
|
|
@ -294,7 +294,7 @@ float Line::getDistanceFromLine (const float x,
|
|||
}
|
||||
|
||||
float Line::findNearestPointTo (const float x,
|
||||
const float y) const
|
||||
const float y) const throw()
|
||||
{
|
||||
const double dx = endX - startX;
|
||||
const double dy = endY - startY;
|
||||
|
|
@ -307,7 +307,7 @@ float Line::findNearestPointTo (const float x,
|
|||
(float) (((x - startX) * dx + (y - startY) * dy) / length));
|
||||
}
|
||||
|
||||
const Line Line::withShortenedStart (const float distanceToShortenBy) const
|
||||
const Line Line::withShortenedStart (const float distanceToShortenBy) const throw()
|
||||
{
|
||||
const float length = getLength();
|
||||
|
||||
|
|
@ -315,7 +315,7 @@ const Line Line::withShortenedStart (const float distanceToShortenBy) const
|
|||
getEnd());
|
||||
}
|
||||
|
||||
const Line Line::withShortenedEnd (const float distanceToShortenBy) const
|
||||
const Line Line::withShortenedEnd (const float distanceToShortenBy) const throw()
|
||||
{
|
||||
const float length = getLength();
|
||||
|
||||
|
|
@ -325,7 +325,7 @@ const Line Line::withShortenedEnd (const float distanceToShortenBy) const
|
|||
|
||||
//==============================================================================
|
||||
bool Line::clipToPath (const Path& path,
|
||||
const bool keepSectionOutsidePath)
|
||||
const bool keepSectionOutsidePath) throw()
|
||||
{
|
||||
const bool startInside = path.contains (startX, startY);
|
||||
const bool endInside = path.contains (endX, endY);
|
||||
|
|
@ -382,7 +382,7 @@ bool Line::clipToPath (const Path& path,
|
|||
//==============================================================================
|
||||
bool Line::intersects (const Line& line,
|
||||
float& intersectionX,
|
||||
float& intersectionY) const
|
||||
float& intersectionY) const throw()
|
||||
{
|
||||
return juce_lineIntersection (startX, startY,
|
||||
endX, endY,
|
||||
|
|
@ -392,20 +392,21 @@ bool Line::intersects (const Line& line,
|
|||
intersectionY);
|
||||
}
|
||||
|
||||
bool Line::isVertical() const
|
||||
bool Line::isVertical() const throw()
|
||||
{
|
||||
return startX == endX;
|
||||
}
|
||||
|
||||
bool Line::isHorizontal() const
|
||||
bool Line::isHorizontal() const throw()
|
||||
{
|
||||
return startY == endY;
|
||||
}
|
||||
|
||||
bool Line::isPointAbove (const float x, const float y) const
|
||||
bool Line::isPointAbove (const float x, const float y) const throw()
|
||||
{
|
||||
return startX != endX
|
||||
&& y < ((endY - startY) * (x - startX)) / (endX - startX) + startY;
|
||||
}
|
||||
|
||||
|
||||
END_JUCE_NAMESPACE
|
||||
|
|
|
|||
|
|
@ -50,79 +50,79 @@ class JUCE_API Line
|
|||
public:
|
||||
//==============================================================================
|
||||
/** Creates a line, using (0, 0) as its start and end points. */
|
||||
Line();
|
||||
Line() throw();
|
||||
|
||||
/** Creates a copy of another line. */
|
||||
Line (const Line& other);
|
||||
Line (const Line& other) throw();
|
||||
|
||||
/** Creates a line based on the co-ordinates of its start and end points. */
|
||||
Line (const float startX,
|
||||
const float startY,
|
||||
const float endX,
|
||||
const float endY);
|
||||
const float endY) throw();
|
||||
|
||||
/** Creates a line from its start and end points. */
|
||||
Line (const Point& start,
|
||||
const Point& end);
|
||||
const Point& end) throw();
|
||||
|
||||
/** Copies a line from another one. */
|
||||
const Line& operator= (const Line& other);
|
||||
const Line& operator= (const Line& other) throw();
|
||||
|
||||
/** Destructor. */
|
||||
~Line();
|
||||
~Line() throw();
|
||||
|
||||
//==============================================================================
|
||||
/** Returns the x co-ordinate of the line's start point. */
|
||||
inline float getStartX() const { return startX; }
|
||||
inline float getStartX() const throw() { return startX; }
|
||||
|
||||
/** Returns the y co-ordinate of the line's start point. */
|
||||
inline float getStartY() const { return startY; }
|
||||
inline float getStartY() const throw() { return startY; }
|
||||
|
||||
/** Returns the x co-ordinate of the line's end point. */
|
||||
inline float getEndX() const { return endX; }
|
||||
inline float getEndX() const throw() { return endX; }
|
||||
|
||||
/** Returns the y co-ordinate of the line's end point. */
|
||||
inline float getEndY() const { return endY; }
|
||||
inline float getEndY() const throw() { return endY; }
|
||||
|
||||
/** Returns the line's start point. */
|
||||
const Point getStart() const;
|
||||
const Point getStart() const throw();
|
||||
|
||||
/** Returns the line's end point. */
|
||||
const Point getEnd() const;
|
||||
const Point getEnd() const throw();
|
||||
|
||||
/** Changes this line's start point */
|
||||
void setStart (const float newStartX,
|
||||
const float newStartY);
|
||||
const float newStartY) throw();
|
||||
|
||||
/** Changes this line's end point */
|
||||
void setEnd (const float newEndX,
|
||||
const float newEndY);
|
||||
const float newEndY) throw();
|
||||
|
||||
/** Changes this line's start point */
|
||||
void setStart (const Point& newStart);
|
||||
void setStart (const Point& newStart) throw();
|
||||
|
||||
/** Changes this line's end point */
|
||||
void setEnd (const Point& newEnd);
|
||||
void setEnd (const Point& newEnd) throw();
|
||||
|
||||
/** Applies an affine transform to the line's start and end points. */
|
||||
void applyTransform (const AffineTransform& transform);
|
||||
void applyTransform (const AffineTransform& transform) throw();
|
||||
|
||||
//==============================================================================
|
||||
/** Returns the length of the line. */
|
||||
float getLength() const;
|
||||
float getLength() const throw();
|
||||
|
||||
/** Returns true if the line's start and end x co-ordinates are the same. */
|
||||
bool isVertical() const;
|
||||
bool isVertical() const throw();
|
||||
|
||||
/** Returns true if the line's start and end y co-ordinates are the same. */
|
||||
bool isHorizontal() const;
|
||||
bool isHorizontal() const throw();
|
||||
|
||||
/** Returns the line's angle.
|
||||
|
||||
This value is the number of radians clockwise from the 3 o'clock direction,
|
||||
where the line's start point is considered to be at the centre.
|
||||
*/
|
||||
float getAngle() const;
|
||||
float getAngle() const throw();
|
||||
|
||||
//==============================================================================
|
||||
/** Compares two lines. */
|
||||
|
|
@ -147,7 +147,7 @@ public:
|
|||
*/
|
||||
bool intersects (const Line& line,
|
||||
float& intersectionX,
|
||||
float& intersectionY) const;
|
||||
float& intersectionY) const throw();
|
||||
|
||||
//==============================================================================
|
||||
/** Returns the location of the point which is a given distance along this line.
|
||||
|
|
@ -157,7 +157,7 @@ public:
|
|||
than the line itself
|
||||
@see getPointAlongLineProportionally
|
||||
*/
|
||||
const Point getPointAlongLine (const float distanceFromStart) const;
|
||||
const Point getPointAlongLine (const float distanceFromStart) const throw();
|
||||
|
||||
/** Returns a point which is a certain distance along and to the side of this line.
|
||||
|
||||
|
|
@ -173,7 +173,7 @@ public:
|
|||
right, negative value move to the left.
|
||||
*/
|
||||
const Point getPointAlongLine (const float distanceFromStart,
|
||||
const float perpendicularDistance) const;
|
||||
const float perpendicularDistance) const throw();
|
||||
|
||||
/** Returns the location of the point which is a given distance along this line
|
||||
proportional to the line's length.
|
||||
|
|
@ -185,7 +185,7 @@ public:
|
|||
can be negative or greater than 1.0).
|
||||
@see getPointAlongLine
|
||||
*/
|
||||
const Point getPointAlongLineProportionally (const float proportionOfLength) const;
|
||||
const Point getPointAlongLineProportionally (const float proportionOfLength) const throw();
|
||||
|
||||
/** Returns the smallest distance between this line segment and a given point.
|
||||
|
||||
|
|
@ -199,7 +199,7 @@ public:
|
|||
@see getPositionAlongLineOfNearestPoint
|
||||
*/
|
||||
float getDistanceFromLine (const float x,
|
||||
const float y) const;
|
||||
const float y) const throw();
|
||||
|
||||
/** Finds the point on this line which is nearest to a given point, and
|
||||
returns its position as a proportional position along the line.
|
||||
|
|
@ -212,7 +212,7 @@ public:
|
|||
@see getDistanceFromLine, getPointAlongLineProportionally
|
||||
*/
|
||||
float findNearestPointTo (const float x,
|
||||
const float y) const;
|
||||
const float y) const throw();
|
||||
|
||||
/** Returns true if the given point lies above this line.
|
||||
|
||||
|
|
@ -220,7 +220,7 @@ public:
|
|||
coordinate of this line at the given x (assuming the line extends infinitely
|
||||
in both directions).
|
||||
*/
|
||||
bool isPointAbove (const float x, const float y) const;
|
||||
bool isPointAbove (const float x, const float y) const throw();
|
||||
|
||||
//==============================================================================
|
||||
/** Returns a shortened copy of this line.
|
||||
|
|
@ -228,14 +228,14 @@ public:
|
|||
This will chop off part of the start of this line by a certain amount, (leaving the
|
||||
end-point the same), and return the new line.
|
||||
*/
|
||||
const Line withShortenedStart (const float distanceToShortenBy) const;
|
||||
const Line withShortenedStart (const float distanceToShortenBy) const throw();
|
||||
|
||||
/** Returns a shortened copy of this line.
|
||||
|
||||
This will chop off part of the end of this line by a certain amount, (leaving the
|
||||
start-point the same), and return the new line.
|
||||
*/
|
||||
const Line withShortenedEnd (const float distanceToShortenBy) const;
|
||||
const Line withShortenedEnd (const float distanceToShortenBy) const throw();
|
||||
|
||||
/** Cuts off parts of this line to keep the parts that are either inside or
|
||||
outside a path.
|
||||
|
|
@ -251,7 +251,7 @@ public:
|
|||
@returns true if the line was changed.
|
||||
*/
|
||||
bool clipToPath (const Path& path,
|
||||
const bool keepSectionOutsidePath);
|
||||
const bool keepSectionOutsidePath) throw();
|
||||
|
||||
|
||||
//==============================================================================
|
||||
|
|
|
|||
|
|
@ -51,7 +51,7 @@ static const float closePathMarker = 100005.0f;
|
|||
//==============================================================================
|
||||
PathFlatteningIterator::PathFlatteningIterator (const Path& path_,
|
||||
const AffineTransform& transform_,
|
||||
float tolerence_)
|
||||
float tolerence_) throw()
|
||||
: x2 (0),
|
||||
y2 (0),
|
||||
closesSubPath (false),
|
||||
|
|
@ -70,12 +70,12 @@ PathFlatteningIterator::PathFlatteningIterator (const Path& path_,
|
|||
stackPos = stackBase;
|
||||
}
|
||||
|
||||
PathFlatteningIterator::~PathFlatteningIterator()
|
||||
PathFlatteningIterator::~PathFlatteningIterator() throw()
|
||||
{
|
||||
juce_free (stackBase);
|
||||
}
|
||||
|
||||
bool PathFlatteningIterator::next()
|
||||
bool PathFlatteningIterator::next() throw()
|
||||
{
|
||||
x1 = x2;
|
||||
y1 = y2;
|
||||
|
|
|
|||
|
|
@ -62,10 +62,10 @@ public:
|
|||
*/
|
||||
PathFlatteningIterator (const Path& path,
|
||||
const AffineTransform& transform = AffineTransform::identity,
|
||||
float tolerence = 9.0f);
|
||||
float tolerence = 9.0f) throw();
|
||||
|
||||
/** Destructor. */
|
||||
~PathFlatteningIterator();
|
||||
~PathFlatteningIterator() throw();
|
||||
|
||||
//==============================================================================
|
||||
/** Fetches the next line segment from the path.
|
||||
|
|
@ -75,7 +75,7 @@ public:
|
|||
|
||||
@returns false when there are no more lines to fetch.
|
||||
*/
|
||||
bool next();
|
||||
bool next() throw();
|
||||
|
||||
/** The x position of the start of the current line segment. */
|
||||
float x1;
|
||||
|
|
|
|||
|
|
@ -38,19 +38,19 @@ BEGIN_JUCE_NAMESPACE
|
|||
|
||||
|
||||
//==============================================================================
|
||||
Point::Point()
|
||||
Point::Point() throw()
|
||||
: x (0.0f),
|
||||
y (0.0f)
|
||||
{
|
||||
}
|
||||
|
||||
Point::Point (const Point& other)
|
||||
Point::Point (const Point& other) throw()
|
||||
: x (other.x),
|
||||
y (other.y)
|
||||
{
|
||||
}
|
||||
|
||||
const Point& Point::operator= (const Point& other)
|
||||
const Point& Point::operator= (const Point& other) throw()
|
||||
{
|
||||
x = other.x;
|
||||
y = other.y;
|
||||
|
|
@ -59,24 +59,24 @@ const Point& Point::operator= (const Point& other)
|
|||
}
|
||||
|
||||
Point::Point (const float x_,
|
||||
const float y_)
|
||||
const float y_) throw()
|
||||
: x (x_),
|
||||
y (y_)
|
||||
{
|
||||
}
|
||||
|
||||
Point::~Point()
|
||||
Point::~Point() throw()
|
||||
{
|
||||
}
|
||||
|
||||
void Point::setXY (const float x_,
|
||||
const float y_)
|
||||
const float y_) throw()
|
||||
{
|
||||
x = x_;
|
||||
y = y_;
|
||||
}
|
||||
|
||||
void Point::applyTransform (const AffineTransform& transform)
|
||||
void Point::applyTransform (const AffineTransform& transform) throw()
|
||||
{
|
||||
transform.transformPoint (x, y);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -48,38 +48,38 @@ class JUCE_API Point
|
|||
public:
|
||||
//==============================================================================
|
||||
/** Creates a point with co-ordinates (0, 0). */
|
||||
Point();
|
||||
Point() throw();
|
||||
|
||||
/** Creates a copy of another point. */
|
||||
Point (const Point& other);
|
||||
Point (const Point& other) throw();
|
||||
|
||||
/** Creates a point from an (x, y) position. */
|
||||
Point (const float x, const float y);
|
||||
Point (const float x, const float y) throw();
|
||||
|
||||
/** Copies this point from another one.
|
||||
@see setXY
|
||||
*/
|
||||
const Point& operator= (const Point& other);
|
||||
const Point& operator= (const Point& other) throw();
|
||||
|
||||
/** Destructor. */
|
||||
~Point();
|
||||
~Point() throw();
|
||||
|
||||
//==============================================================================
|
||||
/** Returns the point's x co-ordinate. */
|
||||
inline float getX() const { return x; }
|
||||
inline float getX() const throw() { return x; }
|
||||
|
||||
/** Returns the point's y co-ordinate. */
|
||||
inline float getY() const { return y; }
|
||||
inline float getY() const throw() { return y; }
|
||||
|
||||
/** Changes the point's x and y co-ordinates. */
|
||||
void setXY (const float x,
|
||||
const float y);
|
||||
const float y) throw();
|
||||
|
||||
/** Uses a transform to change the point's co-ordinates.
|
||||
|
||||
@see AffineTransform::transformPoint
|
||||
*/
|
||||
void applyTransform (const AffineTransform& transform);
|
||||
void applyTransform (const AffineTransform& transform) throw();
|
||||
|
||||
|
||||
//==============================================================================
|
||||
|
|
|
|||
|
|
@ -42,18 +42,18 @@ RectangleList::RectangleList() throw()
|
|||
{
|
||||
}
|
||||
|
||||
RectangleList::RectangleList (const Rectangle& rect)
|
||||
RectangleList::RectangleList (const Rectangle& rect) throw()
|
||||
{
|
||||
if (! rect.isEmpty())
|
||||
rects.add (rect);
|
||||
}
|
||||
|
||||
RectangleList::RectangleList (const RectangleList& other)
|
||||
RectangleList::RectangleList (const RectangleList& other) throw()
|
||||
: rects (other.rects)
|
||||
{
|
||||
}
|
||||
|
||||
const RectangleList& RectangleList::operator= (const RectangleList& other)
|
||||
const RectangleList& RectangleList::operator= (const RectangleList& other) throw()
|
||||
{
|
||||
if (this != &other)
|
||||
rects = other.rects;
|
||||
|
|
@ -66,7 +66,7 @@ RectangleList::~RectangleList() throw()
|
|||
}
|
||||
|
||||
//==============================================================================
|
||||
void RectangleList::clear()
|
||||
void RectangleList::clear() throw()
|
||||
{
|
||||
rects.clearQuick();
|
||||
}
|
||||
|
|
@ -85,17 +85,17 @@ bool RectangleList::isEmpty() const throw()
|
|||
}
|
||||
|
||||
//==============================================================================
|
||||
RectangleList::Iterator::Iterator (const RectangleList& list)
|
||||
RectangleList::Iterator::Iterator (const RectangleList& list) throw()
|
||||
: owner (list),
|
||||
index (list.rects.size())
|
||||
{
|
||||
}
|
||||
|
||||
RectangleList::Iterator::~Iterator()
|
||||
RectangleList::Iterator::~Iterator() throw()
|
||||
{
|
||||
}
|
||||
|
||||
bool RectangleList::Iterator::next()
|
||||
bool RectangleList::Iterator::next() throw()
|
||||
{
|
||||
if (--index >= 0)
|
||||
{
|
||||
|
|
@ -108,7 +108,7 @@ bool RectangleList::Iterator::next()
|
|||
|
||||
|
||||
//==============================================================================
|
||||
void RectangleList::add (const Rectangle& rect)
|
||||
void RectangleList::add (const Rectangle& rect) throw()
|
||||
{
|
||||
if (! rect.isEmpty())
|
||||
{
|
||||
|
|
@ -162,12 +162,12 @@ void RectangleList::add (const Rectangle& rect)
|
|||
}
|
||||
}
|
||||
|
||||
void RectangleList::addWithoutMerging (const Rectangle& rect)
|
||||
void RectangleList::addWithoutMerging (const Rectangle& rect) throw()
|
||||
{
|
||||
rects.add (rect);
|
||||
}
|
||||
|
||||
void RectangleList::add (const int x, const int y, const int w, const int h)
|
||||
void RectangleList::add (const int x, const int y, const int w, const int h) throw()
|
||||
{
|
||||
if (rects.size() == 0)
|
||||
{
|
||||
|
|
@ -180,13 +180,13 @@ void RectangleList::add (const int x, const int y, const int w, const int h)
|
|||
}
|
||||
}
|
||||
|
||||
void RectangleList::add (const RectangleList& other)
|
||||
void RectangleList::add (const RectangleList& other) throw()
|
||||
{
|
||||
for (int i = 0; i < other.rects.size(); ++i)
|
||||
add (other.rects.getReference (i));
|
||||
}
|
||||
|
||||
void RectangleList::subtract (const Rectangle& rect)
|
||||
void RectangleList::subtract (const Rectangle& rect) throw()
|
||||
{
|
||||
const int originalNumRects = rects.size();
|
||||
|
||||
|
|
@ -272,13 +272,13 @@ void RectangleList::subtract (const Rectangle& rect)
|
|||
}
|
||||
}
|
||||
|
||||
void RectangleList::subtract (const RectangleList& otherList)
|
||||
void RectangleList::subtract (const RectangleList& otherList) throw()
|
||||
{
|
||||
for (int i = otherList.rects.size(); --i >= 0;)
|
||||
subtract (otherList.rects.getReference (i));
|
||||
}
|
||||
|
||||
bool RectangleList::clipTo (const Rectangle& rect)
|
||||
bool RectangleList::clipTo (const Rectangle& rect) throw()
|
||||
{
|
||||
bool notEmpty = false;
|
||||
|
||||
|
|
@ -302,7 +302,7 @@ bool RectangleList::clipTo (const Rectangle& rect)
|
|||
return notEmpty;
|
||||
}
|
||||
|
||||
bool RectangleList::clipTo (const RectangleList& other)
|
||||
bool RectangleList::clipTo (const RectangleList& other) throw()
|
||||
{
|
||||
if (rects.size() == 0)
|
||||
return false;
|
||||
|
|
@ -327,7 +327,7 @@ bool RectangleList::clipTo (const RectangleList& other)
|
|||
return ! isEmpty();
|
||||
}
|
||||
|
||||
bool RectangleList::getIntersectionWith (const Rectangle& rect, RectangleList& destRegion) const
|
||||
bool RectangleList::getIntersectionWith (const Rectangle& rect, RectangleList& destRegion) const throw()
|
||||
{
|
||||
destRegion.clear();
|
||||
|
||||
|
|
@ -345,14 +345,14 @@ bool RectangleList::getIntersectionWith (const Rectangle& rect, RectangleList& d
|
|||
return destRegion.rects.size() > 0;
|
||||
}
|
||||
|
||||
void RectangleList::swapWith (RectangleList& otherList)
|
||||
void RectangleList::swapWith (RectangleList& otherList) throw()
|
||||
{
|
||||
rects.swapWithArray (otherList.rects);
|
||||
}
|
||||
|
||||
|
||||
//==============================================================================
|
||||
void RectangleList::consolidate()
|
||||
void RectangleList::consolidate() throw()
|
||||
{
|
||||
int i;
|
||||
for (i = 0; i < getNumRectangles() - 1; ++i)
|
||||
|
|
@ -425,7 +425,7 @@ void RectangleList::consolidate()
|
|||
}
|
||||
|
||||
//==============================================================================
|
||||
bool RectangleList::containsPoint (const int x, const int y) const
|
||||
bool RectangleList::containsPoint (const int x, const int y) const throw()
|
||||
{
|
||||
for (int i = getNumRectangles(); --i >= 0;)
|
||||
if (rects.getReference (i).contains (x, y))
|
||||
|
|
@ -434,7 +434,7 @@ bool RectangleList::containsPoint (const int x, const int y) const
|
|||
return false;
|
||||
}
|
||||
|
||||
bool RectangleList::containsRectangle (const Rectangle& rectangleToCheck) const
|
||||
bool RectangleList::containsRectangle (const Rectangle& rectangleToCheck) const throw()
|
||||
{
|
||||
if (rects.size() > 1)
|
||||
{
|
||||
|
|
@ -456,7 +456,7 @@ bool RectangleList::containsRectangle (const Rectangle& rectangleToCheck) const
|
|||
return false;
|
||||
}
|
||||
|
||||
bool RectangleList::intersectsRectangle (const Rectangle& rectangleToCheck) const
|
||||
bool RectangleList::intersectsRectangle (const Rectangle& rectangleToCheck) const throw()
|
||||
{
|
||||
for (int i = rects.size(); --i >= 0;)
|
||||
if (rects.getReference (i).intersects (rectangleToCheck))
|
||||
|
|
@ -465,7 +465,7 @@ bool RectangleList::intersectsRectangle (const Rectangle& rectangleToCheck) cons
|
|||
return false;
|
||||
}
|
||||
|
||||
bool RectangleList::intersects (const RectangleList& other) const
|
||||
bool RectangleList::intersects (const RectangleList& other) const throw()
|
||||
{
|
||||
for (int i = rects.size(); --i >= 0;)
|
||||
if (other.intersectsRectangle (rects.getReference (i)))
|
||||
|
|
@ -474,7 +474,7 @@ bool RectangleList::intersects (const RectangleList& other) const
|
|||
return false;
|
||||
}
|
||||
|
||||
const Rectangle RectangleList::getBounds() const
|
||||
const Rectangle RectangleList::getBounds() const throw()
|
||||
{
|
||||
if (rects.size() <= 1)
|
||||
{
|
||||
|
|
@ -506,7 +506,7 @@ const Rectangle RectangleList::getBounds() const
|
|||
}
|
||||
}
|
||||
|
||||
void RectangleList::offsetAll (const int dx, const int dy)
|
||||
void RectangleList::offsetAll (const int dx, const int dy) throw()
|
||||
{
|
||||
for (int i = rects.size(); --i >= 0;)
|
||||
{
|
||||
|
|
@ -518,7 +518,7 @@ void RectangleList::offsetAll (const int dx, const int dy)
|
|||
}
|
||||
|
||||
//==============================================================================
|
||||
const Path RectangleList::toPath() const
|
||||
const Path RectangleList::toPath() const throw()
|
||||
{
|
||||
Path p;
|
||||
|
||||
|
|
|
|||
|
|
@ -54,13 +54,13 @@ public:
|
|||
RectangleList() throw();
|
||||
|
||||
/** Creates a copy of another list */
|
||||
RectangleList (const RectangleList& other);
|
||||
RectangleList (const RectangleList& other) throw();
|
||||
|
||||
/** Creates a list containing just one rectangle. */
|
||||
RectangleList (const Rectangle& rect);
|
||||
RectangleList (const Rectangle& rect) throw();
|
||||
|
||||
/** Copies this list from another one. */
|
||||
const RectangleList& operator= (const RectangleList& other);
|
||||
const RectangleList& operator= (const RectangleList& other) throw();
|
||||
|
||||
/** Destructor. */
|
||||
~RectangleList() throw();
|
||||
|
|
@ -82,7 +82,7 @@ public:
|
|||
|
||||
//==============================================================================
|
||||
/** Removes all rectangles to leave an empty region. */
|
||||
void clear();
|
||||
void clear() throw();
|
||||
|
||||
/** Merges a new rectangle into the list.
|
||||
|
||||
|
|
@ -90,7 +90,7 @@ public:
|
|||
that overlap existing rectangles in the list.
|
||||
*/
|
||||
void add (const int x, const int y,
|
||||
const int w, const int h);
|
||||
const int w, const int h) throw();
|
||||
|
||||
/** Merges a new rectangle into the list.
|
||||
|
||||
|
|
@ -98,35 +98,35 @@ public:
|
|||
that overlap existing rectangles in the list, and adjacent rectangles will be
|
||||
merged into it.
|
||||
*/
|
||||
void add (const Rectangle& rect);
|
||||
void add (const Rectangle& rect) throw();
|
||||
|
||||
/** Dumbly adds a rectangle to the list without checking for overlaps.
|
||||
|
||||
This simply adds the rectangle to the end, it doesn't merge it or remove
|
||||
any overlapping bits.
|
||||
*/
|
||||
void addWithoutMerging (const Rectangle& rect);
|
||||
void addWithoutMerging (const Rectangle& rect) throw();
|
||||
|
||||
/** Merges another rectangle list into this one.
|
||||
|
||||
Any overlaps between the two lists will be clipped, so that the result is
|
||||
the union of both lists.
|
||||
*/
|
||||
void add (const RectangleList& other);
|
||||
void add (const RectangleList& other) throw();
|
||||
|
||||
/** Removes a rectangular region from the list.
|
||||
|
||||
Any rectangles in the list which overlap this will be clipped and subdivided
|
||||
if necessary.
|
||||
*/
|
||||
void subtract (const Rectangle& rect);
|
||||
void subtract (const Rectangle& rect) throw();
|
||||
|
||||
/** Removes all areas in another RectangleList from this one.
|
||||
|
||||
Any rectangles in the list which overlap this will be clipped and subdivided
|
||||
if necessary.
|
||||
*/
|
||||
void subtract (const RectangleList& otherList);
|
||||
void subtract (const RectangleList& otherList) throw();
|
||||
|
||||
/** Removes any areas of the region that lie outside a given rectangle.
|
||||
|
||||
|
|
@ -137,7 +137,7 @@ public:
|
|||
|
||||
@see getIntersectionWith
|
||||
*/
|
||||
bool clipTo (const Rectangle& rect);
|
||||
bool clipTo (const Rectangle& rect) throw();
|
||||
|
||||
/** Removes any areas of the region that lie outside a given rectangle list.
|
||||
|
||||
|
|
@ -148,7 +148,7 @@ public:
|
|||
|
||||
@see getIntersectionWith
|
||||
*/
|
||||
bool clipTo (const RectangleList& other);
|
||||
bool clipTo (const RectangleList& other) throw();
|
||||
|
||||
/** Creates a region which is the result of clipping this one to a given rectangle.
|
||||
|
||||
|
|
@ -159,21 +159,21 @@ public:
|
|||
|
||||
@see clipTo
|
||||
*/
|
||||
bool getIntersectionWith (const Rectangle& rect, RectangleList& destRegion) const;
|
||||
bool getIntersectionWith (const Rectangle& rect, RectangleList& destRegion) const throw();
|
||||
|
||||
/** Swaps the contents of this and another list.
|
||||
|
||||
This swaps their internal pointers, so is hugely faster than using copy-by-value
|
||||
to swap them.
|
||||
*/
|
||||
void swapWith (RectangleList& otherList);
|
||||
void swapWith (RectangleList& otherList) throw();
|
||||
|
||||
//==============================================================================
|
||||
/** Checks whether the region contains a given point.
|
||||
|
||||
@returns true if the point lies within one of the rectangles in the list
|
||||
*/
|
||||
bool containsPoint (const int x, const int y) const;
|
||||
bool containsPoint (const int x, const int y) const throw();
|
||||
|
||||
/** Checks whether the region contains the whole of a given rectangle.
|
||||
|
||||
|
|
@ -181,7 +181,7 @@ public:
|
|||
defined by this object
|
||||
@see intersectsRectangle, containsPoint
|
||||
*/
|
||||
bool containsRectangle (const Rectangle& rectangleToCheck) const;
|
||||
bool containsRectangle (const Rectangle& rectangleToCheck) const throw();
|
||||
|
||||
/** Checks whether the region contains any part of a given rectangle.
|
||||
|
||||
|
|
@ -189,17 +189,17 @@ public:
|
|||
defined by this object
|
||||
@see containsRectangle
|
||||
*/
|
||||
bool intersectsRectangle (const Rectangle& rectangleToCheck) const;
|
||||
bool intersectsRectangle (const Rectangle& rectangleToCheck) const throw();
|
||||
|
||||
/** Checks whether this region intersects any part of another one.
|
||||
|
||||
@see intersectsRectangle
|
||||
*/
|
||||
bool intersects (const RectangleList& other) const;
|
||||
bool intersects (const RectangleList& other) const throw();
|
||||
|
||||
//==============================================================================
|
||||
/** Returns the smallest rectangle that can enclose the whole of this region. */
|
||||
const Rectangle getBounds() const;
|
||||
const Rectangle getBounds() const throw();
|
||||
|
||||
/** Optimises the list into a minimum number of constituent rectangles.
|
||||
|
||||
|
|
@ -207,14 +207,14 @@ public:
|
|||
possible, to simplify lists that might have been fragmented by repeated
|
||||
add/subtract calls.
|
||||
*/
|
||||
void consolidate();
|
||||
void consolidate() throw();
|
||||
|
||||
/** Adds an x and y value to all the co-ordinates. */
|
||||
void offsetAll (const int dx, const int dy);
|
||||
void offsetAll (const int dx, const int dy) throw();
|
||||
|
||||
//==============================================================================
|
||||
/** Creates a Path object to represent this region. */
|
||||
const Path toPath() const;
|
||||
const Path toPath() const throw();
|
||||
|
||||
|
||||
//==============================================================================
|
||||
|
|
@ -223,15 +223,15 @@ public:
|
|||
{
|
||||
public:
|
||||
//==============================================================================
|
||||
Iterator (const RectangleList& list);
|
||||
~Iterator();
|
||||
Iterator (const RectangleList& list) throw();
|
||||
~Iterator() throw();
|
||||
|
||||
//==============================================================================
|
||||
/** Advances to the next rectangle, and returns true if it's not finished.
|
||||
|
||||
Call this before using getRectangle() to find the rectangle that was returned.
|
||||
*/
|
||||
bool next();
|
||||
bool next() throw();
|
||||
|
||||
/** Returns the current rectangle. */
|
||||
const Rectangle& getRectangle() const throw() { return current; }
|
||||
|
|
|
|||
|
|
@ -37,7 +37,7 @@ BEGIN_JUCE_NAMESPACE
|
|||
|
||||
|
||||
//==============================================================================
|
||||
ImageConvolutionKernel::ImageConvolutionKernel (const int size_)
|
||||
ImageConvolutionKernel::ImageConvolutionKernel (const int size_) throw()
|
||||
: size (size_)
|
||||
{
|
||||
values = new float* [size];
|
||||
|
|
@ -48,7 +48,7 @@ ImageConvolutionKernel::ImageConvolutionKernel (const int size_)
|
|||
clear();
|
||||
}
|
||||
|
||||
ImageConvolutionKernel::~ImageConvolutionKernel()
|
||||
ImageConvolutionKernel::~ImageConvolutionKernel() throw()
|
||||
{
|
||||
for (int i = size; --i >= 0;)
|
||||
delete[] values[i];
|
||||
|
|
@ -59,7 +59,7 @@ ImageConvolutionKernel::~ImageConvolutionKernel()
|
|||
//==============================================================================
|
||||
void ImageConvolutionKernel::setKernelValue (const int x,
|
||||
const int y,
|
||||
const float value)
|
||||
const float value) throw()
|
||||
{
|
||||
if (x >= 0 && x < size
|
||||
&& y >= 0 && y < size)
|
||||
|
|
@ -72,14 +72,14 @@ void ImageConvolutionKernel::setKernelValue (const int x,
|
|||
}
|
||||
}
|
||||
|
||||
void ImageConvolutionKernel::clear()
|
||||
void ImageConvolutionKernel::clear() throw()
|
||||
{
|
||||
for (int y = size; --y >= 0;)
|
||||
for (int x = size; --x >= 0;)
|
||||
values[x][y] = 0;
|
||||
}
|
||||
|
||||
void ImageConvolutionKernel::setOverallSum (const float desiredTotalSum)
|
||||
void ImageConvolutionKernel::setOverallSum (const float desiredTotalSum) throw()
|
||||
{
|
||||
double currentTotal = 0.0;
|
||||
|
||||
|
|
@ -90,7 +90,7 @@ void ImageConvolutionKernel::setOverallSum (const float desiredTotalSum)
|
|||
rescaleAllValues ((float) (desiredTotalSum / currentTotal));
|
||||
}
|
||||
|
||||
void ImageConvolutionKernel::rescaleAllValues (const float multiplier)
|
||||
void ImageConvolutionKernel::rescaleAllValues (const float multiplier) throw()
|
||||
{
|
||||
for (int y = size; --y >= 0;)
|
||||
for (int x = size; --x >= 0;)
|
||||
|
|
@ -98,7 +98,7 @@ void ImageConvolutionKernel::rescaleAllValues (const float multiplier)
|
|||
}
|
||||
|
||||
//==============================================================================
|
||||
void ImageConvolutionKernel::createGaussianBlur (const float radius)
|
||||
void ImageConvolutionKernel::createGaussianBlur (const float radius) throw()
|
||||
{
|
||||
const double radiusFactor = -1.0 / (radius * radius * 2);
|
||||
const int centre = size >> 1;
|
||||
|
|
|
|||
|
|
@ -50,10 +50,10 @@ public:
|
|||
@param size the length of each dimension of the kernel, so e.g. if the size
|
||||
is 5, it will create a 5x5 kernel
|
||||
*/
|
||||
ImageConvolutionKernel (const int size);
|
||||
ImageConvolutionKernel (const int size) throw();
|
||||
|
||||
/** Destructor. */
|
||||
~ImageConvolutionKernel();
|
||||
~ImageConvolutionKernel() throw();
|
||||
|
||||
//==============================================================================
|
||||
/** Resets all values in the kernel to zero.
|
||||
|
|
@ -68,16 +68,16 @@ public:
|
|||
*/
|
||||
void setKernelValue (const int x,
|
||||
const int y,
|
||||
const float value);
|
||||
const float value) throw();
|
||||
|
||||
/** Rescales all values in the kernel to make the total add up to a fixed value.
|
||||
|
||||
This will multiply all values in the kernel by (desiredTotalSum / currentTotalSum).
|
||||
*/
|
||||
void setOverallSum (const float desiredTotalSum);
|
||||
void setOverallSum (const float desiredTotalSum) throw();
|
||||
|
||||
/** Multiplies all values in the kernel by a value. */
|
||||
void rescaleAllValues (const float multiplier);
|
||||
void rescaleAllValues (const float multiplier) throw();
|
||||
|
||||
/** Intialises the kernel for a gaussian blur.
|
||||
|
||||
|
|
@ -86,7 +86,7 @@ public:
|
|||
edges. Ideally the kernel should be just larger than
|
||||
(blurRadius * 2).
|
||||
*/
|
||||
void createGaussianBlur (const float blurRadius);
|
||||
void createGaussianBlur (const float blurRadius) throw();
|
||||
|
||||
//==============================================================================
|
||||
/** Returns the size of the kernel.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue