summaryrefslogtreecommitdiffstats
path: root/examples/graphs/3d/widgetgraphgallery/highlightseries.h
blob: 808995626d9e9da63a1c13771185251fbb4894a1 (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
36
37
38
39
// Copyright (C) 2023 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause

#ifndef HIGHLIGHTSERIES_H
#define HIGHLIGHTSERIES_H

#include <QtGraphs/qsurface3dseries.h>

#include "topographicseries.h"

class HighlightSeries : public QSurface3DSeries
{
    Q_OBJECT
public:
    Q_DISABLE_COPY_MOVE(HighlightSeries)

    explicit HighlightSeries();
    ~HighlightSeries() override;

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

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;
    float m_heightAdjustment = 5.f;
};

#endif // HIGHLIGHTSERIES_H