+ /**
+ Change the stop colour.
+
+ @param col The new colour.
+ */
+ void SetColour(const wxColour& col);
+
+ /// Return the stop position.
+ float GetPosition() const;
+
+ /**
+ Change the stop position.
+
+ @param pos The new position, must always be in [0, 1] range.
+ */
+ void SetPosition(float pos);
+};
+
+/**
+ Represents a collection of wxGraphicGradientStop values for use with
+ CreateLinearGradientBrush and CreateRadialGradientBrush.
+
+ The stops are maintained in order of position. If two or more stops are
+ added with the same position then the one(s) added later come later.
+ This can be useful for producing discontinuities in the colour gradient.
+
+ Notice that this class is write-once, you can't modify the stops once they
+ had been added.
+
+ @library{wxcore}
+ @category{gdi}
+
+ @since 2.9.1
+*/
+class wxGraphicsGradientStops
+{
+public:
+ /**
+ Initializes the gradient stops with the given boundary colours.
+
+ Creates a wxGraphicsGradientStops instance with start colour given
+ by @a startCol and end colour given by @a endCol.
+ */
+ wxGraphicsGradientStops(wxColour startCol = wxTransparentColour,
+ wxColour endCol = wxTransparentColour);
+
+ /**
+ Add a new stop.
+ */
+ //@{
+ void Add(const wxGraphicsGradientStop& stop);
+ void Add(wxColour col, float pos);
+ //@}
+
+ /**
+ Returns the stop at the given index.
+
+ @param n The index, must be in [0, GetCount()) range.
+ */
+ wxGraphicsGradientStop Item(unsigned n) const;
+
+ /**
+ Returns the number of stops.
+ */
+ unsigned GetCount() const;
+
+ /**
+ Set the start colour to @a col
+ */
+ void SetStartColour(wxColour col);
+
+ /**
+ Returns the start colour.
+ */
+ wxColour GetStartColour() const;
+
+ /**
+ Set the end colour to @a col
+ */
+ void SetEndColour(wxColour col);
+
+ /**
+ Returns the end colour.
+ */
+ wxColour GetEndColour() const;
+};