// \89æ\91\9c\82Ì\8d\82\82³\82Æ\88Ü\93x\82Ì\94ä\97¦\82Ì\83X\83P\81[\83\8a\83\93\83O\82Ì\8aî\8f\80\82Æ\82È\82é\81B
const double mapHeight = m_mapImage.height();
m_ratioForImageCoordFromWorldCoord = mapHeight / k_worldHeight;
+
+ SIZE size;
+ size.cx = LONG( m_mapImage.width() * 0.5 );
+ size.cy = LONG( m_mapImage.height() * 0.5 );
+ m_mapImageMipmap1.stretchCopy( m_mapImage, size );
+ size.cx = LONG( m_mapImage.width() * k_minScale );
+ size.cy = LONG( m_mapImage.height() * k_minScale );
+ m_mapImageMipmap2.stretchCopy( m_mapImage, size );
return true;
}
::SaveDC( hdc );
if ( m_viewScale < 1.0 ) {
- // \8fk\8f¬\89æ\91\9c\95`\89æ\83R\83X\83g\82ð\8cy\8c¸\82·\82é\88×\82É\83L\83\83\83b\83V\83\85\82ð\8dì\90¬\81B
- // \95p\94É\82É\8fk\8f¬\94ä\97¦\82ð\95Ï\8dX\82·\82é\8e\9e\82¾\82¯\83R\83X\83g\82ª\8d\82\82\95t\82\82ª\81A
- // \96w\82Ç\82Ì\8fê\8d\87\82É\82¨\82¢\82ÄCPU\95\89\89×\82ª\8cy\8c¸\82³\82ê\82é\81B
- if ( !m_reducedMapImageCache.isCompatible(mapSize) ) {
- m_reducedMapImageCache.stretchCopy( m_mapImage, mapSize );
+ if ( 0.5 <= m_viewScale ) {
+ mapImage = &m_mapImageMipmap1;
+ }
+ else {
+ mapImage = &m_mapImageMipmap2;
}
- mapImage = &m_reducedMapImageCache;
}
::SetStretchBltMode( hdc, COLORONCOLOR );
private:
GVOImage m_mapImage;
- GVOImage m_reducedMapImageCache; //!<@brief \8fk\8f¬\89æ\91\9c\83L\83\83\83b\83V\83\85
+ GVOImage m_mapImageMipmap1;
+ GVOImage m_mapImageMipmap2;
POINT m_focusPointInWorldCoord;
SIZE m_viewSize;