#include "OpenGLComposite.h" std::string OpenGLComposite::GetRuntimeStateJson() const { return mRuntimeHost ? mRuntimeHost->BuildStateJson() : "{}"; } bool OpenGLComposite::AddLayer(const std::string& shaderId, std::string& error) { if (!mRuntimeHost->AddLayer(shaderId, error)) return false; ReloadShader(); resetTemporalHistoryState(); broadcastRuntimeState(); return true; } bool OpenGLComposite::RemoveLayer(const std::string& layerId, std::string& error) { if (!mRuntimeHost->RemoveLayer(layerId, error)) return false; ReloadShader(); resetTemporalHistoryState(); broadcastRuntimeState(); return true; } bool OpenGLComposite::MoveLayer(const std::string& layerId, int direction, std::string& error) { if (!mRuntimeHost->MoveLayer(layerId, direction, error)) return false; ReloadShader(); resetTemporalHistoryState(); broadcastRuntimeState(); return true; } bool OpenGLComposite::MoveLayerToIndex(const std::string& layerId, std::size_t targetIndex, std::string& error) { if (!mRuntimeHost->MoveLayerToIndex(layerId, targetIndex, error)) return false; ReloadShader(); resetTemporalHistoryState(); broadcastRuntimeState(); return true; } bool OpenGLComposite::SetLayerBypass(const std::string& layerId, bool bypassed, std::string& error) { if (!mRuntimeHost->SetLayerBypass(layerId, bypassed, error)) return false; ReloadShader(); resetTemporalHistoryState(); broadcastRuntimeState(); return true; } bool OpenGLComposite::SetLayerShader(const std::string& layerId, const std::string& shaderId, std::string& error) { if (!mRuntimeHost->SetLayerShader(layerId, shaderId, error)) return false; ReloadShader(); resetTemporalHistoryState(); broadcastRuntimeState(); return true; } bool OpenGLComposite::UpdateLayerParameterJson(const std::string& layerId, const std::string& parameterId, const std::string& valueJson, std::string& error) { JsonValue parsedValue; if (!ParseJson(valueJson, parsedValue, error)) return false; if (!mRuntimeHost->UpdateLayerParameter(layerId, parameterId, parsedValue, error)) return false; broadcastRuntimeState(); return true; } bool OpenGLComposite::UpdateLayerParameterByControlKeyJson(const std::string& layerKey, const std::string& parameterKey, const std::string& valueJson, std::string& error) { JsonValue parsedValue; if (!ParseJson(valueJson, parsedValue, error)) return false; if (!mRuntimeHost->UpdateLayerParameterByControlKey(layerKey, parameterKey, parsedValue, error)) return false; broadcastRuntimeState(); return true; } bool OpenGLComposite::ResetLayerParameters(const std::string& layerId, std::string& error) { if (!mRuntimeHost->ResetLayerParameters(layerId, error)) return false; broadcastRuntimeState(); return true; } bool OpenGLComposite::SaveStackPreset(const std::string& presetName, std::string& error) { if (!mRuntimeHost->SaveStackPreset(presetName, error)) return false; broadcastRuntimeState(); return true; } bool OpenGLComposite::LoadStackPreset(const std::string& presetName, std::string& error) { if (!mRuntimeHost->LoadStackPreset(presetName, error)) return false; ReloadShader(); resetTemporalHistoryState(); broadcastRuntimeState(); return true; }