C

Qt Quick Ultralite image_cache Example

// Copyright (C) 2024 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial
#include "ImageModel.h"

ImageModelData imagePaths1[] = {ImageModelData("images/basse-terre-guadeloupe.jpg"),
                                ImageModelData("images/grand-canyon-arizona.jpg"),
                                ImageModelData("images/grand-canyon-national-park.jpg"),
                                ImageModelData("images/Jokulsarlon-glacier-lagoon-iceland.jpg")};

ImageModelData imagePaths2[] = {ImageModelData("images/reine-lofoten-islands.jpg"),
                                ImageModelData("images/sequoia-national-park.jpg"),
                                ImageModelData("images/sogn-og-fjordane.jpg"),
                                ImageModelData("images/yosemite-national-park.jpg")};

int ImageModel::count() const
{
    return 4;
}

ImageModelData ImageModel::data(int idx) const
{
    return swapImageSet ? imagePaths2[idx] : imagePaths1[idx];
}

void ImageModel::swapImages()
{
    swapImageSet = !swapImageSet;
    modelReset();
}