File indexing completed on 2024-04-14 03:42:31

0001 /*
0002     SPDX-FileCopyrightText: 2015-2017 Pavel Mraz
0003 
0004     SPDX-FileCopyrightText: 2017 Jasem Mutlaq
0005 
0006     SPDX-License-Identifier: GPL-2.0-or-later
0007 */
0008 
0009 #pragma once
0010 
0011 #include "healpix.h"
0012 #include "hipsmanager.h"
0013 #include "scanrender.h"
0014 
0015 #include <memory>
0016 
0017 class Projector;
0018 
0019 class HIPSRenderer : public QObject
0020 {
0021   Q_OBJECT
0022 public:
0023   explicit HIPSRenderer();
0024   //void render(mapView_t *view, CSkPainter *painter, QImage *pDest);
0025   bool render(uint16_t w, uint16_t h, QImage *hipsImage, const Projector *m_proj);
0026   void renderRec(bool allsky, int level, int pix, QImage *pDest);
0027   bool renderPix(bool allsky, int level, int pix, QImage *pDest);
0028 
0029 signals:
0030 
0031 public slots:
0032 
0033 private:  
0034   int m_blocks { 0 };
0035   int m_rendered { 0 };
0036   int m_size { 0 };
0037   QSet<int>  m_renderedMap;
0038   std::unique_ptr<HEALPix> m_HEALpix;
0039   std::unique_ptr<ScanRender> m_scanRender;
0040   const Projector *m_projector;
0041   QColor gridColor;
0042 };