C

Qt Quick Ultralite traveo_t2g_effects Example

// Copyright (C) 2026 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial

#include "traveo_t2g_effects.h"

#include <tviiextras/tviiconfiguration.h>

#include <qul/application.h>
#include <qul/qul.h>

extern "C" {

Qul::Application &_qul_app()
{
    static Qul::Application _qul_app;
    return _qul_app;
}

traveo_t2g_effects &_qul_item()
{
    static struct ::traveo_t2g_effects _qul_item;
    return _qul_item;
}

void qul_init_hardware(void)
{
    Qul::initHardware();
}

void qul_init_platform(void)
{
#ifdef APP_SAFE_RENDERER
    static SafeRendererBitmapDecoder srbDecoder;
    Qul::Application::addImageDecoder(&srbDecoder);
#endif

    Qul::initPlatform();
}

void qul_init_application(void)
{
    Qul::Application &app = _qul_app();
    Tvii::Configuration::Config config = Tvii::Configuration::defaultConfigForOTFLayer();
    Tvii::Configuration::setConfigForOTFLayer(0, config.copses, 160 * 1024, 256);
    app.setRootItem(&_qul_item());
}

uint64_t qul_update_engine(void)
{
    return _qul_app().update();
}

void qul_app_exec(void)
{
    _qul_app().exec();
}

} // extern "C"