minimap_image_provider.cpp 904 B

12345678910111213141516171819202122232425262728293031323334
  1. #include "minimap_image_provider.h"
  2. MinimapImageProvider::MinimapImageProvider()
  3. : QQuickImageProvider(QQuickImageProvider::Image) {}
  4. QImage MinimapImageProvider::requestImage(const QString &id, QSize *size,
  5. const QSize &requested_size) {
  6. Q_UNUSED(id);
  7. if (m_minimap_image.isNull()) {
  8. QImage placeholder(64, 64, QImage::Format_RGBA8888);
  9. placeholder.fill(QColor(15, 26, 34));
  10. if (size) {
  11. *size = placeholder.size();
  12. }
  13. return placeholder;
  14. }
  15. if (size) {
  16. *size = m_minimap_image.size();
  17. }
  18. if (requested_size.isValid() && !requested_size.isEmpty()) {
  19. return m_minimap_image.scaled(requested_size, Qt::KeepAspectRatio,
  20. Qt::SmoothTransformation);
  21. }
  22. return m_minimap_image;
  23. }
  24. void MinimapImageProvider::set_minimap_image(const QImage &image) {
  25. m_minimap_image = image;
  26. }