totp_input_text.h 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738
  1. #pragma once
  2. #include <gui/gui.h>
  3. #include <gui/view.h>
  4. #include <gui/modules/text_input.h>
  5. #include <furi.h>
  6. #include <furi_hal.h>
  7. #include "../../types/plugin_state.h"
  8. #include "../../types/plugin_event.h"
  9. typedef struct {
  10. char* user_input;
  11. uint8_t user_input_length;
  12. void* callback_data;
  13. } InputTextSceneCallbackResult;
  14. typedef void (*InputTextSceneCallback)(InputTextSceneCallbackResult* result);
  15. typedef struct {
  16. InputTextSceneCallback callback;
  17. char* header_text;
  18. void* callback_data;
  19. } InputTextSceneContext;
  20. #define INPUT_BUFFER_SIZE 255
  21. typedef struct {
  22. TextInput* text_input;
  23. View* text_input_view;
  24. char text_input_buffer[INPUT_BUFFER_SIZE];
  25. InputTextSceneCallback callback;
  26. void* callback_data;
  27. } InputTextSceneState;
  28. InputTextSceneState* totp_input_text_activate(InputTextSceneContext* context);
  29. void totp_input_text_render(Canvas* const canvas, InputTextSceneState* text_input_state);
  30. bool totp_input_text_handle_event(PluginEvent* const event, InputTextSceneState* text_input_state);
  31. void totp_input_text_free(InputTextSceneState* state);