SkyMapDrawAbstract
#include <skymapdrawabstract.h>
Public Member Functions | |
SkyMapDrawAbstract (SkyMap *sm) | |
void | drawAngleRuler (QPainter &psky) |
void | drawObjectLabels (QList< SkyObject * > &labelObjects) |
void | drawOrientationArrows (QPainter &p) |
void | drawOverlays (QPainter &p, bool drawFov=true) |
void | drawSolverFOV (QPainter &psky) |
void | drawTelescopeSymbols (QPainter &psky) |
void | drawZoomBox (QPainter &psky) |
void | exportSkyImage (QPaintDevice *pd, bool scale=false) |
void | exportSkyImage (SkyQPainter *painter, bool scale=false) |
Static Public Member Functions | |
static bool | drawLock () |
static void | setDrawLock (bool state) |
Protected Member Functions | |
virtual | ~SkyMapDrawAbstract ()=default |
virtual void | paintEvent (QPaintEvent *e)=0 |
Protected Attributes | |
KStarsData * | m_KStarsData |
SkyMap * | m_SkyMap |
Static Protected Attributes | |
static bool | m_DrawLock = false |
Detailed Description
This class defines the methods that both rendering engines (GLPainter and QPainter) must implement.
This also allows us to add more rendering engines if required.
- Version
- 1.0
Definition at line 29 of file skymapdrawabstract.h.
Constructor & Destructor Documentation
◆ ~SkyMapDrawAbstract()
|
protectedvirtualdefault |
Virtual Destructor.
◆ SkyMapDrawAbstract()
|
explicit |
Constructor that sets data and m_SkyMap, and initializes the FPS counters.
Definition at line 50 of file skymapdrawabstract.cpp.
Member Function Documentation
◆ drawAngleRuler()
void SkyMapDrawAbstract::drawAngleRuler | ( | QPainter & | psky | ) |
Draw a dashed line from the Angular-Ruler start point to the current mouse cursor, when in Angular-Ruler mode.
- Parameters
-
psky reference to the QPainter on which to draw (this should be the Sky pixmap).
Definition at line 106 of file skymapdrawabstract.cpp.
◆ drawLock()
|
inlinestatic |
- Returns
- true if a draw is in progress or is locked, false otherwise. This is just the value of m_DrawLock
Definition at line 119 of file skymapdrawabstract.h.
◆ drawObjectLabels()
Draw "user labels".
User labels are name labels attached to objects manually with the right-click popup menu. Also adds a label to the FocusObject if the Option UseAutoLabel is true.
- Parameters
-
labelObjects QList of pointers to the objects which need labels (excluding the centered object)
- Note
- the labelObjects list is managed by the SkyMapComponents class
Definition at line 205 of file skymapdrawabstract.cpp.
◆ drawOrientationArrows()
void SkyMapDrawAbstract::drawOrientationArrows | ( | QPainter & | p | ) |
Draw north and zenith arrows to show the orientation while rotating the sky map.
- Parameters
-
p reference to the QPainter on which to draw (this should be the sky map)
Definition at line 117 of file skymapdrawabstract.cpp.
◆ drawOverlays()
void SkyMapDrawAbstract::drawOverlays | ( | QPainter & | p, |
bool | drawFov = true ) |
Draw the overlays on top of the sky map.
These include the infoboxes, field-of-view indicator, telescope symbols, zoom box and any other user-interaction graphics.
The overlays can be updated rapidly, without having to recompute the entire SkyMap. The stored Sky image is simply blitted onto the SkyMap widget, and then we call drawOverlays() to refresh the overlays.
- Parameters
-
p pointer to the Sky pixmap drawFov determines if the FOV should be drawn
Definition at line 56 of file skymapdrawabstract.cpp.
◆ drawSolverFOV()
void SkyMapDrawAbstract::drawSolverFOV | ( | QPainter & | psky | ) |
Draw FOV of solved image in Ekos Alignment Module.
- Parameters
-
psky reference to the QPainter on which to draw (this should be the Sky pixmap).
Definition at line 293 of file skymapdrawabstract.cpp.
◆ drawTelescopeSymbols()
void SkyMapDrawAbstract::drawTelescopeSymbols | ( | QPainter & | psky | ) |
Draw symbols at the position of each Telescope currently being controlled by KStars.
- Note
- The shape of the Telescope symbol is currently a hard-coded bullseye.
- Parameters
-
psky reference to the QPainter on which to draw (this should be the Sky pixmap).
Definition at line 334 of file skymapdrawabstract.cpp.
◆ drawZoomBox()
void SkyMapDrawAbstract::drawZoomBox | ( | QPainter & | psky | ) |
Draw a dotted-line rectangle which traces the potential new field-of-view in ZoomBox mode.
- Parameters
-
psky reference to the QPainter on which to draw (this should be the Sky pixmap).
Definition at line 194 of file skymapdrawabstract.cpp.
◆ exportSkyImage() [1/2]
void SkyMapDrawAbstract::exportSkyImage | ( | QPaintDevice * | pd, |
bool | scale = false ) |
Draw the current Sky map to a pixmap which is to be printed or exported to a file.
@param pd pointer to the QPaintDevice on which to draw. @param scale defines if the Sky map should be scaled. @see KStars::slotExportImage() @see KStars::slotPrint()
Definition at line 418 of file skymapdrawabstract.cpp.
◆ exportSkyImage() [2/2]
void SkyMapDrawAbstract::exportSkyImage | ( | SkyQPainter * | painter, |
bool | scale = false ) |
Draw the current Sky map using passed SkyQPainter instance.
Required when used QPaintDevice doesn't support drawing using multiple painters (e.g. QSvgGenerator which generates broken SVG output when more than one QPainter subclass is used). Passed painter should already be initialized to draw on selected QPaintDevice subclass using begin() and it won't be ended [end()] by this method.
- Parameters
-
painter pointer to the SkyQPainter already set up to paint on selected QPaintDevice subclass. scale should sky image be scaled to fit used QPaintDevice?
Definition at line 429 of file skymapdrawabstract.cpp.
◆ paintEvent()
|
protectedpure virtual |
Overridden paintEvent method.
Must be implemented by subclasses to draw the SkyMap. (This method is pure virtual)
Implemented in SkyMapGLDraw.
◆ setDrawLock()
|
static |
Acquire / release a draw lock.
This prevents other drawing from happening
Definition at line 466 of file skymapdrawabstract.cpp.
Member Data Documentation
◆ m_DrawLock
|
staticprotected |
Definition at line 150 of file skymapdrawabstract.h.
◆ m_KStarsData
|
protected |
Definition at line 148 of file skymapdrawabstract.h.
◆ m_SkyMap
|
protected |
Definition at line 149 of file skymapdrawabstract.h.
The documentation for this class was generated from the following files:
Documentation copyright © 1996-2024 The KDE developers.
Generated on Mon Nov 4 2024 16:38:45 by doxygen 1.12.0 written by Dimitri van Heesch, © 1997-2006
KDE's Doxygen guidelines are available online.