052237f8c9
* IR: Doxygen docs, some rename * Rename irda -> infrared * Rollback collateral renames Co-authored-by: あく <alleteam@gmail.com>
48 lines
1.3 KiB
C++
48 lines
1.3 KiB
C++
/**
|
|
* @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 {
|
|
/** 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;
|
|
};
|