QGIS API Documentation  3.8.0-Zanzibar (11aff65)
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 namespace Qt3DRender
33 {
34  class QCamera;
35 }
36 
55 class QgsLineMaterial : public Qt3DRender::QMaterial
56 {
57  Q_OBJECT
58  public:
59  QgsLineMaterial();
60 
61  void setLineColor( const QColor &color );
62  QColor lineColor() const;
63 
64  void setLineWidth( float width );
65  float lineWidth() const;
66 
67  Q_INVOKABLE void setViewportSize( const QSizeF &viewportSize );
68 
69  private:
70  Qt3DRender::QParameter *mParameterThickness = nullptr;
71  Qt3DRender::QParameter *mParameterMiterLimit = nullptr;
72  Qt3DRender::QParameter *mParameterLineColor = nullptr;
73 
74  Qt3DRender::QParameter *mParameterWindowScale = nullptr;
75 
76 };
77 
79 
80 #endif // QGSLINEMATERIAL_P_H