You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
			
				
					57 lines
				
				1.0 KiB
			
		
		
			
		
	
	
					57 lines
				
				1.0 KiB
			| 
											2 years ago
										 | // Copyright (C) 2023 MapLibre contributors
 | ||
|  | 
 | ||
|  | // SPDX-License-Identifier: BSD-2-Clause
 | ||
|  | 
 | ||
|  | #ifndef QMAPLIBRE_GL_WIDGET_H
 | ||
|  | #define QMAPLIBRE_GL_WIDGET_H
 | ||
|  | 
 | ||
|  | #include <QMapLibreWidgets/Export>
 | ||
|  | 
 | ||
|  | #include <QMapLibre/Map>
 | ||
|  | #include <QMapLibre/Settings>
 | ||
|  | 
 | ||
|  | #include <QOpenGLWidget>
 | ||
|  | 
 | ||
|  | #include <memory>
 | ||
|  | 
 | ||
|  | QT_BEGIN_NAMESPACE
 | ||
|  | 
 | ||
|  | class QKeyEvent;
 | ||
|  | class QMouseEvent;
 | ||
|  | class QWheelEvent;
 | ||
|  | 
 | ||
|  | QT_END_NAMESPACE
 | ||
|  | 
 | ||
|  | namespace QMapLibre {
 | ||
|  | 
 | ||
|  | class GLWidgetPrivate;
 | ||
|  | 
 | ||
|  | class Q_MAPLIBRE_WIDGETS_EXPORT GLWidget : public QOpenGLWidget {
 | ||
|  |     Q_OBJECT
 | ||
|  | 
 | ||
|  | public:
 | ||
|  |     explicit GLWidget(const Settings &);
 | ||
|  |     ~GLWidget() override;
 | ||
|  | 
 | ||
|  |     Map *map();
 | ||
|  | 
 | ||
|  | protected:
 | ||
|  |     // QWidget implementation.
 | ||
|  |     void mousePressEvent(QMouseEvent *event) override;
 | ||
|  |     void mouseMoveEvent(QMouseEvent *event) override;
 | ||
|  |     void wheelEvent(QWheelEvent *event) override;
 | ||
|  | 
 | ||
|  |     // Q{,Open}GLWidget implementation.
 | ||
|  |     void initializeGL() override;
 | ||
|  |     void paintGL() override;
 | ||
|  | 
 | ||
|  | private:
 | ||
|  |     Q_DISABLE_COPY(GLWidget)
 | ||
|  | 
 | ||
|  |     std::unique_ptr<GLWidgetPrivate> d_ptr;
 | ||
|  | };
 | ||
|  | 
 | ||
|  | } // namespace QMapLibre
 | ||
|  | 
 | ||
|  | #endif // QMAPLIBRE_GL_WIDGET_H
 |