void GlueMapWindow::OnPaintBuffer(Canvas &canvas) { #ifdef ENABLE_OPENGL ExchangeBlackboard(); EnterDrawThread(); /* update terrain, topography, ... */ if (Idle()) /* still dirty: schedule a redraw to load more data */ data_timer.Schedule(500); else data_timer.Cancel(); #endif MapWindow::OnPaintBuffer(canvas); DrawMapScale(canvas, GetClientRect(), render_projection); if (IsPanning()) DrawPanInfo(canvas); #ifdef ENABLE_OPENGL LeaveDrawThread(); #endif }
void GlueMapWindow::OnPaintBuffer(Canvas &canvas) { #ifdef ENABLE_OPENGL ExchangeBlackboard(); EnterDrawThread(); /* update terrain, topography, ... */ Idle(); #endif MapWindow::OnPaintBuffer(canvas); DrawMapScale(canvas, GetClientRect(), render_projection); if (IsPanning()) DrawPanInfo(canvas); #ifdef ENABLE_OPENGL LeaveDrawThread(); #endif }