QGIS API Documentation  3.17.0-Master (a035f434f4)
qgslinematerial_p.h
Go to the documentation of this file.
1 /***************************************************************************
2  qgslinematerial_p.h
3  --------------------------------------
4  Date : Apr 2019
5  Copyright : (C) 2019 by Martin Dobias
6  Email : wonder dot sk at gmail dot com
7  ***************************************************************************
8  * *
9  * This program is free software; you can redistribute it and/or modify *
10  * it under the terms of the GNU General Public License as published by *
11  * the Free Software Foundation; either version 2 of the License, or *
12  * (at your option) any later version. *
13  * *
14  ***************************************************************************/
15 
16 #ifndef QGSLINEMATERIAL_P_H
17 #define QGSLINEMATERIAL_P_H
18 
20 
21 //
22 // W A R N I N G
23 // -------------
24 //
25 // This file is not part of the QGIS API. It exists purely as an
26 // implementation detail. This header file may change from version to
27 // version without notice, or even be removed.
28 //
29 
30 #include <Qt3DRender/QMaterial>
31 
32 #define SIP_NO_FILE
33 
34 namespace Qt3DRender
35 {
36  class QCamera;
37 }
38 
58 class QgsLineMaterial : public Qt3DRender::QMaterial
59 {
60  Q_OBJECT
61  public:
62  QgsLineMaterial();
63 
64  void setLineColor( const QColor &color );
65  QColor lineColor() const;
66 
67  void setLineWidth( float width );
68  float lineWidth() const;
69 
70  Q_INVOKABLE void setViewportSize( const QSizeF &viewportSize );
71 
72  private:
73  Qt3DRender::QParameter *mParameterThickness = nullptr;
74  Qt3DRender::QParameter *mParameterMiterLimit = nullptr;
75  Qt3DRender::QParameter *mParameterLineColor = nullptr;
76 
77  Qt3DRender::QParameter *mParameterWindowScale = nullptr;
78 
79 };
80 
82 
83 #endif // QGSLINEMATERIAL_P_H