File indexing completed on 2025-01-12 09:34:23
0001 /* Mosaic Panel Component 0002 0003 SPDX-FileCopyrightText: 2022 Jasem Mutlaq <mutlaqja@ikarustech.com> 0004 0005 SPDX-License-Identifier: GPL-2.0-or-later 0006 */ 0007 0008 #pragma once 0009 0010 #include "skycomponent.h" 0011 #include <QSharedPointer> 0012 0013 class MosaicTiles; 0014 0015 /** 0016 * @class MosaicComponent 0017 * Renders Mosaic Panel on Sky Map in either of two modes depending on scheduler. 0018 * + Scheduler Idle: Mosaic Panel is rendered in Planning mode where user can pan and adjust location in order to create jobs for the scheduler. 0019 * + Scheduler Active: Mosaic Panel is locked to the sky map and each tile shows the progress, how images captured, which tile is next and when. 0020 * @author Jasem Mutlaq 0021 * @version 1.0 0022 */ 0023 class MosaicComponent : public SkyComponent 0024 { 0025 public: 0026 /** Constructor */ 0027 explicit MosaicComponent(SkyComposite *); 0028 0029 virtual ~MosaicComponent() override = default; 0030 0031 bool selected() override; 0032 void draw(SkyPainter *skyp) override; 0033 0034 const QSharedPointer<MosaicTiles> tiles() const; 0035 0036 private: 0037 0038 QSharedPointer<MosaicTiles> m_MosaicTiles; 0039 };