ShellFileInterface.h 815 B

1234567891011121314151617181920212223242526272829303132
  1. #pragma once
  2. #include <RmlUi/Core/FileInterface.h>
  3. #include <RmlUi/Core/Types.h>
  4. /**
  5. RmlUi file interface for the shell examples.
  6. */
  7. class ShellFileInterface : public Rml::FileInterface {
  8. public:
  9. ShellFileInterface(const Rml::String& root);
  10. virtual ~ShellFileInterface();
  11. /// Opens a file.
  12. Rml::FileHandle Open(const Rml::String& path) override;
  13. /// Closes a previously opened file.
  14. void Close(Rml::FileHandle file) override;
  15. /// Reads data from a previously opened file.
  16. size_t Read(void* buffer, size_t size, Rml::FileHandle file) override;
  17. /// Seeks to a point in a previously opened file.
  18. bool Seek(Rml::FileHandle file, long offset, int origin) override;
  19. /// Returns the current position of the file pointer.
  20. size_t Tell(Rml::FileHandle file) override;
  21. private:
  22. Rml::String root;
  23. };