unleashed-firmware/applications/infrared/infrared_app_event.h

49 lines
1.3 KiB
C
Raw Normal View History

/**
* @file infrared_app_event.h
* Infrared: Scene events description
*/
#pragma once
#include <infrared.h>
#include <gui/modules/dialog_ex.h>
/** Infrared events class */
class InfraredAppEvent {
public:
/** Type of event enum */
enum class Type : uint8_t {
/** Tick event come after no other events came in 100 ms */
Tick,
/** Exit application event */
Exit,
/** Back event */
Back,
/** Menu selected event type. Provided with payload value. */
MenuSelected,
/** Button press event. Need for continuous signal sending. */
MenuSelectedPress,
/** Button release event. Need for continuous signal sending. */
MenuSelectedRelease,
/** Events from DialogEx view module */
DialogExSelected,
/** Infrared signal received event */
InfraredMessageReceived,
/** Text edit done event */
TextEditDone,
/** Popup timer finished event */
PopupTimer,
/** Button panel pressed event */
ButtonPanelPressed,
};
union {
int32_t dummy;
/** Menu selected event type payload. Selected index. */
int32_t menu_index;
/** DialogEx view module event type payload */
DialogExResult dialog_ex_result;
} payload;
/** Type of event */
Type type;
};