MeshLib C++ Docs
Loading...
Searching...
No Matches
MRWasmUnavailablePlugin.h
Go to the documentation of this file.
1#pragma once
2#ifdef __EMSCRIPTEN__
3#include "MRCommonPlugins/exports.h"
8#include "MRPch/MRWasm.h"
9
10namespace MR
11{
14
15
16class WasmUnavailableObjectVoxels
17{
18public:
19 constexpr static const char* TypeName() noexcept { return "ObjectVoxels"; }
20};
21
22class MRCOMMONPLUGINS_CLASS WasmUnavailableItem : public RibbonMenuItem
23{
24public:
25 WasmUnavailableItem( const std::string& name ) :
26 RibbonMenuItem( name ) {}
27
28 virtual bool action() override
29 {
30 showDownloadWindow_();
31 return false;
32 }
33
34 EMSCRIPTEN_KEEPALIVE void showDownloadWindow_()
35 {
36 #pragma clang diagnostic push
37#pragma clang diagnostic ignored "-Wdollar-in-identifier-extension"
38 EM_ASM( showDownloadWindow() );
39#pragma clang diagnostic pop
40 }
41};
42
43}
44
45#define MR_REGISTER_WASM_UNAVAILABLE_ITEM( pluginType, name )\
46 static MR::RibbonMenuItemAdderT<MR::WasmUnavailableItem> ribbonMenuItemAdder##pluginType##_(name);
47
48#endif
std::string name(const T &primitive)
Get name of a Primitives::... class (can depend on its parameters).
Definition MRFeatures.h:312
only for bindings generation
Definition MRCameraOrientationPlugin.h:8