示例#1
0
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
}
示例#2
0
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
}