63
void SkyMapDrawAbstract::drawOverlays( QPainter& p ) {
63
void SkyMapDrawAbstract::drawOverlays( QPainter& p, bool drawFov ) {
64
64
if( !KStars::Instance() )
68
68
SkyLabeler::Instance()->draw(p);
71
foreach( FOV* fov, m_KStarsData->getVisibleFOVs() ) {
72
fov->draw(p, Options::zoomFactor());
72
foreach( FOV* fov, m_KStarsData->getVisibleFOVs() ) {
73
fov->draw(p, Options::zoomFactor());
74
76
drawTelescopeSymbols( p );
313
void SkyMapDrawAbstract::exportSkyImage( QPaintDevice *pd ) {
315
void SkyMapDrawAbstract::exportSkyImage( QPaintDevice *pd, bool scale ) {
314
316
SkyQPainter p(m_SkyMap, pd); // FIXME: Really, we should be doing this differently. We shouldn't be passing m_SkyMap, but rather, this widget.
316
p.setRenderHint(QPainter::Antialiasing, Options::useAntialias() );
318
//scale image such that it fills 90% of the x or y dimension on the paint device
319
double xscale = double(p.device()->width()) / double(m_SkyMap->width());
320
double yscale = double(p.device()->height()) / double(m_SkyMap->height());
321
double scale = qMin(xscale,yscale);
323
p.scale(scale,scale);
325
p.drawSkyBackground();
326
m_KStarsData->skyComposite()->draw( &p );
318
p.setRenderHint(QPainter::SmoothPixmapTransform, true);
320
exportSkyImage(&p, scale);
325
void SkyMapDrawAbstract::exportSkyImage(SkyQPainter *painter, bool scale)
327
painter->setRenderHint(QPainter::Antialiasing, Options::useAntialias());
330
//scale sky image to fit paint device
331
double xscale = double(painter->device()->width()) / double(m_SkyMap->width());
332
double yscale = double(painter->device()->height()) / double(m_SkyMap->height());
333
double scale = qMin(xscale, yscale);
334
painter->scale(scale, scale);
337
painter->drawSkyBackground();
338
m_KStarsData->skyComposite()->draw(painter);
339
drawOverlays(*painter);
331
342
void SkyMapDrawAbstract::calculateFPS()
333
344
if(m_framecount == 25) {