#include "customgui_htmlviewer.h" static CustomGuiHtmlViewerLib *lib_HtmlViewer = nullptr; static CustomGuiHtmlViewerLib *CheckLib(Int32 offset) { return (CustomGuiHtmlViewerLib*)CheckLib(CUSTOMGUI_HTMLVIEWER,offset,(C4DLibrary**)&lib_HtmlViewer); } #define HtmlViewerCall(b) CustomGuiHtmlViewerLib *lib = CheckLib(LIBOFFSET(CustomGuiHtmlViewerLib, b)); \ if (!lib || !lib->b) return; \ (((iHtmlViewerCustomGui*)this)->*lib->b) #define HtmlViewerCallR(a,b) CustomGuiHtmlViewerLib *lib = CheckLib(LIBOFFSET(CustomGuiHtmlViewerLib, b)); \ if (!lib || !lib->b) return a; \ return (((iHtmlViewerCustomGui*)this)->*lib->b) void HtmlViewerCustomGui::SetUrl( const String &str, Int32 encoding ) { HtmlViewerCall(SetUrl)( str, encoding ); } String HtmlViewerCustomGui::GetTextArea(const String &id) { HtmlViewerCallR(String(),GetTextArea)(id); } void HtmlViewerCustomGui::SetText( const String &str) { HtmlViewerCall(SetText)( str); } void HtmlViewerCustomGui::DoAction(Int32 action) { HtmlViewerCall(DoAction)(action); } void HtmlViewerCustomGui::SetURLCallback( HtmlViewerCustomGuiURLCallback *callback, void *user_data ) { HtmlViewerCall(SetURLCallback)( callback, user_data ); } //---------------------------------------------------------------------------------------- // Convert a local filename to a proper URL for a web browser // Function result: url string // f: name of local html file // encoding: used to return the encoding (URL_ENCODING_ESCAPED or URL_ENCODING_UTF16) //---------------------------------------------------------------------------------------- String HtmlViewerCustomGui::FilenameToURL( const Filename &f, Int32 *encoding ) { CustomGuiHtmlViewerLib *lib = CheckLib(LIBOFFSET(CustomGuiHtmlViewerLib, FilenameToURL)); if (!lib || !lib->FilenameToURL) return String(); return lib->FilenameToURL(f, encoding); }