flipperzero-firmware/lib/app-scened-template/view_modules/popup_vm.h

68 lines
1.7 KiB
C
Raw Normal View History

#pragma once
#include "generic_view_module.h"
#include <gui/modules/popup.h>
class PopupVM : public GenericViewModule {
public:
PopupVM();
~PopupVM() final;
View* get_view() final;
void clean() final;
/**
* Set popup header text
* @param text - text to be shown
*/
void set_callback(PopupCallback callback);
/**
* Set popup context
* @param context - context pointer, will be passed to result callback
*/
void set_context(void* context);
/**
* Set popup header text
* If text is null, popup header will not be rendered
* @param text - text to be shown, can be multiline
* @param x, y - text position
* @param horizontal, vertical - text aligment
*/
void set_header(const char* text, uint8_t x, uint8_t y, Align horizontal, Align vertical);
/**
* Set popup text
* If text is null, popup text will not be rendered
* @param text - text to be shown, can be multiline
* @param x, y - text position
* @param horizontal, vertical - text aligment
*/
void set_text(const char* text, uint8_t x, uint8_t y, Align horizontal, Align vertical);
/**
* Set popup icon
* If icon position is negative, popup icon will not be rendered
* @param x, y - icon position
* @param name - icon to be shown
*/
void set_icon(int8_t x, int8_t y, const Icon* icon);
/**
* Set popup timeout
* @param timeout_in_ms - popup timeout value in milliseconds
*/
void set_timeout(uint32_t timeout_in_ms);
/**
* Enable popup timeout
*/
void enable_timeout();
/**
* Disable popup timeout
*/
void disable_timeout();
private:
Popup* popup;
};