file_select.h 834 B

12345678910111213141516171819202122232425262728293031
  1. /**
  2. * @file file_select.h
  3. * GUI: FileSelect view module API
  4. */
  5. #pragma once
  6. #include <gui/view.h>
  7. #ifdef __cplusplus
  8. extern "C" {
  9. #endif
  10. typedef struct FileSelect FileSelect;
  11. typedef void (*FileSelectCallback)(bool result, void* context);
  12. FileSelect* file_select_alloc();
  13. void file_select_free(FileSelect* file_select);
  14. View* file_select_get_view(FileSelect* file_select);
  15. void file_select_set_callback(FileSelect* file_select, FileSelectCallback callback, void* context);
  16. void file_select_set_filter(FileSelect* file_select, const char* path, const char* extension);
  17. void file_select_set_result_buffer(FileSelect* file_select, char* buffer, uint8_t buffer_size);
  18. bool file_select_init(FileSelect* file_select);
  19. void file_select_set_selected_file(FileSelect* file_select, const char* filename);
  20. #ifdef __cplusplus
  21. }
  22. #endif