map_preview_image_provider.h 593 B

12345678910111213141516171819202122232425
  1. #pragma once
  2. #include <QImage>
  3. #include <QMap>
  4. #include <QMutex>
  5. #include <QQuickImageProvider>
  6. #include <QString>
  7. class MapPreviewImageProvider : public QQuickImageProvider {
  8. Q_OBJECT
  9. public:
  10. MapPreviewImageProvider();
  11. QImage requestImage(const QString &id, QSize *size,
  12. const QSize &requested_size) override;
  13. Q_INVOKABLE void set_preview_image(const QString &map_id,
  14. const QImage &image);
  15. Q_INVOKABLE void clear_preview(const QString &map_id);
  16. private:
  17. QMap<QString, QImage> m_preview_images;
  18. QMutex m_mutex;
  19. };