5#ifndef MOSTLYHARMLESS_MOSTLYHARMLESS_WEBVIEWBASE_H
6#define MOSTLYHARMLESS_MOSTLYHARMLESS_WEBVIEWBASE_H
9#include <choc/gui/choc_WebView.h>
16 [[nodiscard]] std::optional<std::string>
getMimeType(
const std::string& filename);
50 Resource(std::string_view content, std::string mimeType_);
54 std::vector<std::uint8_t>
data;
84 std::function<std::optional<Resource>(
const std::string&)>
contentProvider{
nullptr };
91 WebviewBase(std::uint32_t initialWidth, std::uint32_t initialHeight,
Colour backgroundColour);
96 void setSize(std::uint32_t width, std::uint32_t height) override;
97 void getSize(std::uint32_t* width, std::uint32_t* height) override;
108 std::unique_ptr<Impl> m_impl;
~WebviewBase() noexcept override
void setParent(void *parentHandle) override
WebviewBase(std::uint32_t initialWidth, std::uint32_t initialHeight, Colour backgroundColour)
void setOptions(Options &&options) noexcept
choc::ui::WebView * m_internalWebview
Definition mostlyharmless_WebviewBase.h:104
void initialise() override
void getSize(std::uint32_t *width, std::uint32_t *height) override
void setSize(std::uint32_t width, std::uint32_t height) override
void onParamEvent(events::ProcToGuiParamEvent event) override=0
Contains classes and functions related to events.
Definition mostlyharmless_InputEventContext.h:4
Contains GUI related classes & functions.
Definition mostlyharmless_WebviewBase.h:10
std::optional< std::string > getMimeType(const std::string &filename)
Tries to retrieve the MIME type for a given filename.
Interface for the plugin's gui functionality.
Definition mostlyharmless_IEditor.h:19
Convenience struct representing a colour.
Definition mostlyharmless_Colour.h:12
Contains a set of options to construct the internal webview with.
Definition mostlyharmless_WebviewBase.h:64
std::optional< std::string > initScript
Definition mostlyharmless_WebviewBase.h:89
std::function< std::optional< Resource >(const std::string &)> contentProvider
Definition mostlyharmless_WebviewBase.h:84
bool enableDebug
Definition mostlyharmless_WebviewBase.h:68
Resource(std::string_view content, std::string mimeType_)
std::vector< std::uint8_t > data
Definition mostlyharmless_WebviewBase.h:54
std::string mimeType
Definition mostlyharmless_WebviewBase.h:58