Ejemplo n.º 1
0
bool QVGImagePool::reclaimSpace(VGImageFormat format,
                                VGint width, VGint height,
                                QVGPixmapData *data)
{
    Q_UNUSED(format);   // For future use in picking the best image to eject.
    Q_UNUSED(width);
    Q_UNUSED(height);

    bool succeeded = false;
    bool wasInLRU = false;
    if (data) {
        wasInLRU = data->inLRU;
        moveToHeadOfLRU(data);
    }

    QVGPixmapData *lrudata = pixmapLRU();
    if (lrudata && lrudata != data) {
        lrudata->reclaimImages();
        succeeded = true;
    }

    if (data && !wasInLRU)
        removeFromLRU(data);

    return succeeded;
}
Ejemplo n.º 2
0
bool QGLTexturePool::reclaimSpace(GLint internalformat,
                                    GLsizei width,
                                    GLsizei height,
                                    GLenum format,
                                    GLenum type,
                                    QGLPixmapData *data)
{
    Q_UNUSED(internalformat);   // For future use in picking the best texture to eject.
    Q_UNUSED(width);
    Q_UNUSED(height);
    Q_UNUSED(format);
    Q_UNUSED(type);

    bool succeeded = false;
    bool wasInLRU = false;
    if (data) {
        wasInLRU = data->inLRU;
        moveToHeadOfLRU(data);
    }

    QGLPixmapData *lrudata = pixmapLRU();
    if (lrudata && lrudata != data) {
        lrudata->reclaimTexture();
        succeeded = true;
    }

    if (data && !wasInLRU)
        removeFromLRU(data);

    return succeeded;
}
bool QVGImagePool::reclaimSpace(VGImageFormat format,
                                VGint width, VGint height,
                                QVGPixmapData *data)
{
    Q_UNUSED(format);   // For future use in picking the best image to eject.
    Q_UNUSED(width);
    Q_UNUSED(height);

    if (data)
        moveToHeadOfLRU(data);

    QVGPixmapData *lrudata = pixmapLRU();
    if (lrudata && lrudata != data) {
        lrudata->reclaimImages();
        return true;
    }

    return false;
}