[ Web Proxy ]
URL:
Viewing: https://raw.githubusercontent.com/watsonryan/gnuplotpp/main/include/gnuplotpp/gnuplot_backend.hpp [Back]  [Original]

#pragma once

#include "gnuplotpp/plot.hpp"

#include 
#include 

namespace gnuplotpp {

/**
 * @brief Gnuplot-backed renderer that emits .dat/.gp artifacts and runs gnuplot.
 */
class GnuplotBackend final : public IPlotBackend {
public:
  /**
   * @brief Construct backend with a gnuplot executable name/path.
   * @param executable Command used to invoke gnuplot.
   */
  explicit GnuplotBackend(std::string executable = "gnuplot");

  /**
   * @brief Render figure to requested output formats.
   * @param fig Figure to render.
   * @param out_dir Destination directory.
   * @return Render status and generated output paths.
   */
  RenderResult render(const Figure& fig,
                      const std::filesystem::path& out_dir) override;

private:
  std::string executable_;
};

/**
 * @brief Factory helper for backend creation.
 * @param executable Command used to invoke gnuplot.
 * @return Shared backend instance.
 */
std::shared_ptr make_gnuplot_backend(std::string executable = "gnuplot");

}  // namespace gnuplotpp

Web Proxy Viewer  |  New URL  |  Original Page