main.hpp 568 B

12345678910111213141516171819202122232425262728
  1. #pragma once
  2. #include <cstddef>
  3. #include <optional>
  4. #include <string>
  5. #include <vector>
  6. std::string viewer_name();
  7. enum class PreviewStatus {
  8. Idle,
  9. Loading,
  10. Ready,
  11. Error
  12. };
  13. struct PreviewFile {
  14. std::string name;
  15. std::string renderer;
  16. std::size_t size;
  17. PreviewStatus status = PreviewStatus::Idle;
  18. bool requiresAsyncChunk() const;
  19. };
  20. std::string extensionOf(const std::string& filename);
  21. std::optional<std::string> rendererFor(const std::string& extension);
  22. std::vector<PreviewFile> createPreviewQueue(const std::vector<std::string>& filenames);