summaryrefslogtreecommitdiffstats
path: root/examples/datavisualization/graphgallery/highlightseries.h
blob: c74a6b84b5f8bcca9fa0e59fde34af2275560737 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
// Copyright (C) 2023 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause

#ifndef HIGHLIGHTSERIES_H
#define HIGHLIGHTSERIES_H

#include <QtDataVisualization/qsurface3dseries.h>

#include "topographicseries.h"

class HighlightSeries : public QSurface3DSeries
{
    Q_OBJECT
public:
    explicit HighlightSeries();
    ~HighlightSeries();

    void setTopographicSeries(TopographicSeries *series);
    inline void setMinHeight(float height) { m_minHeight = height; }

public Q_SLOTS:
    void handlePositionChange(const QPoint &position);
    void handleGradientChange(float value);

private:
    int m_width = 100;
    int m_height = 100;
    int m_srcWidth = 0;
    int m_srcHeight = 0;
    QPoint m_position = {};
    TopographicSeries *m_topographicSeries = nullptr;
    float m_minHeight = 0.f;
};

#endif // HIGHLIGHTSERIES_H