C

Qt Quick Ultralite instrument_cluster Example

// Copyright (C) 2024 The Qt Company Ltd.
// SPDX-License-Identifier: LicenseRef-Qt-Commercial
#pragma once
#ifdef __cplusplus
#include <qul/eventqueue.h>
#include <qul/property.h>
#include <qul/singleton.h>
#else
#include <stdbool.h>
#endif

#ifdef __cplusplus
struct VehicleStatus : public Qul::Singleton<VehicleStatus>, public Qul::EventQueue<bool>
{
    void onEvent(const bool &value)
    {
        // Dummy event queue to trigger UI updates
        (void) value;
    }

    Qul::Property<int> speed;
    Qul::Property<double> tripMeter;
    Qul::Signal<void(bool leftBlinkerState)> leftBlinkerStateChange;
    Qul::Signal<void(bool rightBlinkerState)> rightBlinkerStateChange;
};
extern "C" {
#endif
void qul_application_set_speed(int speed);
void qul_application_set_trip_meter(double tripMeter);
void qul_application_set_left_blinker_state(bool state);
void qul_application_set_right_blinker_state(bool state);
void qul_application_send_value_change_event(void);
#ifdef __cplusplus
}
#endif