///
/// HybridImageSpec.cpp
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
/// https://github.com/mrousavy/nitro
/// Copyright © Marc Rousavy @ Margelo
///

#include "HybridImageSpec.hpp"

namespace margelo::nitro::image {

  void HybridImageSpec::loadHybridMethods() {
    // load base methods/properties
    HybridObject::loadHybridMethods();
    // load custom methods/properties
    registerHybrids(this, [](Prototype& prototype) {
      prototype.registerHybridGetter("width", &HybridImageSpec::getWidth);
      prototype.registerHybridGetter("height", &HybridImageSpec::getHeight);
      prototype.registerHybridMethod("toRawPixelData", &HybridImageSpec::toRawPixelData);
      prototype.registerHybridMethod("toRawPixelDataAsync", &HybridImageSpec::toRawPixelDataAsync);
      prototype.registerHybridMethod("toEncodedImageData", &HybridImageSpec::toEncodedImageData);
      prototype.registerHybridMethod("toEncodedImageDataAsync", &HybridImageSpec::toEncodedImageDataAsync);
      prototype.registerHybridMethod("resize", &HybridImageSpec::resize);
      prototype.registerHybridMethod("resizeAsync", &HybridImageSpec::resizeAsync);
      prototype.registerHybridMethod("rotate", &HybridImageSpec::rotate);
      prototype.registerHybridMethod("rotateAsync", &HybridImageSpec::rotateAsync);
      prototype.registerHybridMethod("crop", &HybridImageSpec::crop);
      prototype.registerHybridMethod("cropAsync", &HybridImageSpec::cropAsync);
      prototype.registerHybridMethod("mirrorHorizontally", &HybridImageSpec::mirrorHorizontally);
      prototype.registerHybridMethod("mirrorHorizontallyAsync", &HybridImageSpec::mirrorHorizontallyAsync);
      prototype.registerHybridMethod("saveToFileAsync", &HybridImageSpec::saveToFileAsync);
      prototype.registerHybridMethod("saveToTemporaryFileAsync", &HybridImageSpec::saveToTemporaryFileAsync);
      prototype.registerHybridMethod("toThumbHash", &HybridImageSpec::toThumbHash);
      prototype.registerHybridMethod("toThumbHashAsync", &HybridImageSpec::toThumbHashAsync);
      prototype.registerHybridMethod("renderInto", &HybridImageSpec::renderInto);
      prototype.registerHybridMethod("renderIntoAsync", &HybridImageSpec::renderIntoAsync);
    });
  }

} // namespace margelo::nitro::image
