CG32bitImage *CSystemMap::CreateBackgroundImage (void) // CreateBackgroundImage // // Creates an image containing the map. // Caller is responsible for freeing the returned image. { int i; CG32bitImage *pImage = g_pUniverse->GetLibraryBitmapCopy(m_dwBackgroundImage); if (pImage == NULL) return NULL; int xCenter = pImage->GetWidth() / 2; int yCenter = pImage->GetHeight() / 2; // Paint all annotations if (m_Annotations.GetCount() > 0) { SViewportPaintCtx Ctx; for (i = 0; i < m_Annotations.GetCount(); i++) { SMapAnnotation *pAnnotation = &m_Annotations[i]; Ctx.iTick = pAnnotation->iTick; Ctx.iRotation = pAnnotation->iRotation; pAnnotation->pPainter->Paint(*pImage, xCenter + pAnnotation->xOffset, yCenter - pAnnotation->yOffset, Ctx); } } #ifdef DEBUG #if 0 // Test noise function CG32bitImage Alpha; Alpha.CreateBlankAlpha(pImage->GetWidth(), pImage->GetHeight()); DrawNebulosity8bit(Alpha, 0, 0, pImage->GetWidth(), pImage->GetHeight(), 256, 0, 255); pImage->Fill(0, 0, pImage->GetWidth(), pImage->GetHeight(), 0); pImage->FillMask(0, 0, pImage->GetWidth(), pImage->GetHeight(), Alpha, CG32bitPixel(255, 255, 255), 0, 0); #endif #endif return pImage; }