CBezierChartRenderer



This class implements chart renderer which draws chart data as bezier spline connected points.

You can find more information in comments below. Overrided methods can be found in corresponding base class.

class CBezierChartRenderer :public virtual IChartRenderer
{
public:
    enum class PointState // Point states 
    {
        Normal, // Normal 
        Active // Mouse pointer is over the point 
    };
public:
    void Release() override;
    void Render(IRenderer *renderer, ITexture *texture, IChartData *data, const PointF &xrange, const PointF &yrange) override;

    CBezierChartRenderer();
    virtual ~CBezierChartRenderer() = default;

    bool isDrawPoints() const; // Return whether points should be drawn 
    bool isDrawLine() const; // Return whether lines should be drawn 
    bool isDrawBackground() const; // Return whether background should be drawn 
    float getPointSize(const PointState state) const; // Return point size depending on state 
    float getPointHole(const PointState state) const; // Return point hole size depending on state 
    Color getPointColor(const PointState state) const; // Return point color depending on state 
    Color getPointHoleColor(const PointState state) const; // Return point hole color depending on state 
    float getLineWidth() const; // Return line width 
    Color getLineColor() const; // Return line color 
    Color getBackgroundColor() const; // Return background color 
    float getTension() const; // Return tension 
    int getActivePoint() const; // Return index of active(hovered) point 
    bool isVertical() const; // Return whether drawing should be vertical 
    int getCurveRecursionLimit() const; // Return curve recursion limit 
    float getDistanceTolerance() const; // Return distance tolerance 
    float getAngleTolerance() const; // Return angle tolerance 
    float getCuspLimit() const; // Return cusp limit 
    float getCurveAngleTolerance() const; // Return curve angle tolerance 
    float getCurveCollinearityTolerance() const; // Return curve collinearity tolerance 

    bool setDrawPoints(const bool value); // Set whether points should be drawn 
    bool setDrawLine(const bool value); // Set whether lines should be drawn 
    bool setDrawBackground(const bool value); // Set whether background should be drawn 
    bool setPointSize(const PointState state, const float value); // Set point size depending on state 
    bool setPointHole(const PointState state, const float value); // Set point hole size depending on state 
    bool setPointColor(const PointState state, const Color &value); // Set point color depending on state 
    bool setPointHoleColor(const PointState state, const Color &value); // Set point hole color depending on state 
    bool setLineWidth(const float value); // Set line width 
    bool setLineColor(const Color &value); // Set line color 
    bool setBackgroundColor(const Color &value); // Set background color 
    bool setTension(const float value); // Set tension 
    bool setActivePoint(const int value); // Set index of active(hovered) point 
    bool setVertical(const bool value); // Set whether drawing should be vertical 
    bool setCurveRecursionLimit(const int value); // Set curve recursion limit 
    bool setDistanceTolerance(const float value); // Set distance tolerance 
    bool setAngleTolerance(const float value); // Set angle tolerance 
    bool setCuspLimit(const float value); // Set cusp limit 
    bool setCurveAngleTolerance(const float value); // Set curve angle tolerance 
    bool setCurveCollinearityTolerance(const float value); // Set curve collinearity tolerance 
};
Namespace: nitisa::charts
Include: Charts/Core/BezierChartRenderer.h