Esempio n. 1
0
void Main_DrawScreen()
{
    SDL_LockSurface(g_UkncScreen);
    void* pPixels = g_UkncScreen->pixels;
    Emulator_PrepareScreenRGB32(pPixels, ScreenView_StandardRGBColors);
    Screen_UpscaleScreen(pPixels, g_ScreenMode);
    SDL_UnlockSurface(g_UkncScreen);

    // Draw UKNC screen
    SDL_Rect src, dst, rc;
    src.x = src.y = dst.x = dst.y = 0;
    src.w = dst.w = g_ScreenWidth;
    src.h = dst.w = g_ScreenHeight;
    if (g_UkncScreenWid < g_ScreenWidth)
    {
        int scrleft = (g_ScreenWidth - g_UkncScreenWid) / 2;
        src.w = dst.w = g_UkncScreenWid;
        dst.x = scrleft;
        rc.x = rc.y = 0;
        rc.w = scrleft;
        rc.h = g_ScreenHeight;
        SDL_FillRect(g_Screen, &rc, 0);
        rc.x = scrleft + g_UkncScreenWid;
        rc.y = 0;
        rc.w = g_ScreenWidth - scrleft - g_UkncScreenWid;
        rc.h = g_ScreenHeight;
        SDL_FillRect(g_Screen, &rc, 0);
    }
    if (g_UkncScreenHei < g_ScreenHeight)
    {
        src.h = dst.h = g_UkncScreenHei;
        dst.y = (g_ScreenHeight - g_UkncScreenHei) / 2;
    }
    SDL_BlitSurface(g_UkncScreen, &src, g_Screen, &dst);

    //if (g_okKeyboard)
    //    Main_DrawKeyboard();

    SDL_Flip(g_Screen);
}
Esempio n. 2
0
void QScreen::paintEvent(QPaintEvent * /*event*/)
{
    Emulator_PrepareScreenRGB32(m_image->bits(), m_mode);

    // Center image
    int cxBitmap = m_image->width();
    int cyBitmap = m_image->height();
    m_nImageLeft = (this->width() - cxBitmap) / 2;
    m_nImageTop = (this->height() - cyBitmap) / 2;

    QPainter painter(this);
    painter.drawImage(m_nImageLeft, m_nImageTop, *m_image);

    if (m_nImageLeft > 0)
    {
        painter.fillRect(0, 0, m_nImageLeft, this->height(), QColor(115,115,115));
        painter.fillRect(m_nImageLeft + cxBitmap, 0, m_nImageLeft + 1, this->height(), QColor(115,115,115));
    }
    if (m_nImageTop > 0)
    {
        painter.fillRect(0, 0, this->width(), m_nImageTop, QColor(115,115,115));
        painter.fillRect(0, m_nImageTop + cyBitmap, this->width(), m_nImageTop + 1, QColor(115,115,115));
    }
}