// Generated by scripts/generate.mjs from bindings/api.mjs. Do not edit.

///|
#external
pub type EffectComposer

///|
#module("@mizchi/three-mbt/postprocessing")
pub extern "js" fn EffectComposer::EffectComposer(
  renderer : WebGLRenderer,
) -> EffectComposer = "effectComposer"

///|
pub extern "js" fn EffectComposer::add_pass(
  self : EffectComposer,
  pass : Pass,
) -> Unit =
  #| (self, pass) => self.addPass(pass)

///|
pub extern "js" fn EffectComposer::insert_pass(
  self : EffectComposer,
  pass : Pass,
  index : Int,
) -> Unit =
  #| (self, pass, index) => self.insertPass(pass, index)

///|
pub extern "js" fn EffectComposer::remove_pass(
  self : EffectComposer,
  pass : Pass,
) -> Unit =
  #| (self, pass) => self.removePass(pass)

///|
pub extern "js" fn EffectComposer::passes(
  self : EffectComposer,
) -> FixedArray[Pass] =
  #| (self) => self.passes.slice()

///|
pub extern "js" fn EffectComposer::render(
  self : EffectComposer,
  delta_seconds : Double,
) -> Unit =
  #| (self, delta_seconds) => self.render(delta_seconds)

///|
pub extern "js" fn EffectComposer::set_size(
  self : EffectComposer,
  width : Int,
  height : Int,
) -> Unit =
  #| (self, width, height) => self.setSize(width, height)

///|
pub extern "js" fn EffectComposer::set_pixel_ratio(
  self : EffectComposer,
  ratio : Double,
) -> Unit =
  #| (self, ratio) => self.setPixelRatio(ratio)

///|
pub extern "js" fn EffectComposer::render_to_screen(
  self : EffectComposer,
) -> Bool =
  #| (self) => self.renderToScreen

///|
pub extern "js" fn EffectComposer::set_render_to_screen(
  self : EffectComposer,
  value : Bool,
) -> Unit =
  #| (self, value) => { self.renderToScreen = value; }

///|
pub extern "js" fn EffectComposer::read_buffer(
  self : EffectComposer,
) -> WebGLRenderTarget =
  #| (self) => self.readBuffer

///|
pub extern "js" fn EffectComposer::write_buffer(
  self : EffectComposer,
) -> WebGLRenderTarget =
  #| (self) => self.writeBuffer

///|
pub extern "js" fn EffectComposer::dispose(self : EffectComposer) -> Unit =
  #| (self) => self.dispose()