File indexing completed on 2025-01-26 03:34:13

0001 /*
0002     File                 : PlotPrivate.h
0003     Project              : LabPlot
0004     Description          : Plot - private implementation
0005     --------------------------------------------------------------------
0006     SPDX-FileCopyrightText: 2022-2023 Alexander Semke <alexander.semke@web.de>
0007 
0008     SPDX-License-Identifier: GPL-2.0-or-later
0009 */
0010 
0011 #ifndef PLOTPRIVATE_H
0012 #define PLOTPRIVATE_H
0013 
0014 #include "backend/worksheet/WorksheetElementPrivate.h"
0015 #include "backend/worksheet/plots/cartesian/Plot.h"
0016 
0017 class PlotPrivate : public WorksheetElementPrivate {
0018 public:
0019     explicit PlotPrivate(Plot*);
0020     virtual bool activatePlot(QPointF mouseScenePos, double maxDist = -1);
0021     Plot* const q;
0022     bool legendVisible{true};
0023 
0024 protected:
0025     void drawFillingPollygon(const QPolygonF&, QPainter*, const Background*) const;
0026     virtual void contextMenuEvent(QGraphicsSceneContextMenuEvent*) override;
0027 
0028 protected:
0029     QPixmap m_pixmap;
0030     QImage m_hoverEffectImage;
0031     QImage m_selectionEffectImage;
0032     bool m_hoverEffectImageIsDirty{false};
0033     bool m_selectionEffectImageIsDirty{false};
0034 };
0035 
0036 #endif