view preview.pde @ 244:c7748c19e1ff default tip

Update notes.
author Matti Hamalainen <ccr@tnsp.org>
date Tue, 23 Oct 2018 11:34:25 +0300
parents 5af8b5ddf349
children
line wrap: on
line source

// The preview window (BACKSPACE key)
// May be changed in the future

int g_preview = 0;
int g_prevx = 0;
int g_prevy = 0;
int g_phandlex = 0;
int g_phandley = 0;
boolean g_pgrab = false;
final int g_pwindow_px = 16, g_pwindow_py = 16;

int[] g_pwindow = new int[(320 + g_pwindow_px) * (256 + g_pwindow_py)];


void preview_window()
{
    if (g_preview == 0)
        return;

    int wix = X + 16;
    int ofx = g_prevx;
    int ofy = g_prevy;

    for (int y = 0; y < Y + g_pwindow_py; y++)
    {
        int ad = (ofy + y) * width;
        if (y + ofy >= 0 && y + ofy < height)
        {
            for (int x = 0; x < X + g_pwindow_px; x++)
            {
                if (x + ofx >= 0 && x + ofx < width)
                    pixels[ad + x + ofx] = g_pwindow[x + y * wix];
            }
        }
    }
}


void preview_box_drag()
{
    g_boxreconstruct = 2;
    refresh_all();
    g_repanel = -1;
    update_ui(true);
}


void update_preview_window() //done at mousereleased
{
    if (g_preview == 0)
        return;

    int wix = X + g_pwindow_px;

    for (int y = 0; y < Y + g_pwindow_py; y++)
    for (int x = 0; x < X + g_pwindow_py; x++)
    {
        if (y == 0 || y == Y + g_pwindow_py - 1 ||
            x == 0 || x == X + g_pwindow_py - 1)
            g_pwindow[y * wix + x] = g_rgb[257];
        else
        if (y < 8 || x < 8 || y >= Y + 8 || x >= X + 8)
            g_pwindow[y * wix + x] = g_rgb[g_map[0]];
        else
            g_pwindow[y * wix + x] = g_rgb[easygetcolor(x - 8, y - 8)];
    }
}