Qt Quick Ultralite image_loading Example

/****************************************************************************** ** ** Copyright (C) 2020 The Qt Company Ltd. ** Contact: https://www.qt.io/licensing/ ** ** This file is part of the Qt Quick Ultralite module. ** ** $QT_BEGIN_LICENSE:COMM$ ** ** Commercial License Usage ** Licensees holding valid commercial Qt licenses may use this file in ** accordance with the commercial license agreement provided with the ** Software or, alternatively, in accordance with the terms contained in ** a written agreement between you and The Qt Company. For licensing terms ** and conditions see http://www.qt.io/terms-conditions. For further ** information use the contact form at http://www.qt.io/contact-us. ** ** $QT_END_LICENSE$ ** ******************************************************************************/
#include "image_loading.h" #include "myimageloader.h" #include <qul/application.h> #include <cstdio> #include <FreeRTOS.h> #include <task.h> #ifndef QUL_STACK_SIZE #error QUL_STACK_SIZE must be defined. #endif static void Qul_Thread(void *argument); int main() { Qul::initPlatform(); if (xTaskCreate(Qul_Thread, "Qul_Thread", QUL_STACK_SIZE, 0, 4, 0) != pdPASS) { std::printf("Task creation failed!.\r\n"); configASSERT(false); } vTaskStartScheduler(); // Should not reach this point configASSERT(false); } static void Qul_Thread(void *argument) { (void) argument; MyImageProvider myImageProvider; Qul::Application app = {}; app.addImageProvider("myimageprovider", &myImageProvider); static struct ::image_loading item; app.setRootItem(&item); app.exec(); } extern "C" { void vApplicationStackOverflowHook(TaskHandle_t xTask, signed char *pcTaskName) { (void) xTask; (void) pcTaskName; std::printf("vApplicationStackOverflowHook"); configASSERT(false); } void vApplicationMallocFailedHook(void) { std::printf("vApplicationMallocFailedHook"); configASSERT(false); } }