# synfig::Target_Scanline Class Reference

Render-target. More...

`#include <target_scanline.h>`

Inheritance diagram for synfig::Target_Scanline:

List of all members.

## Public Types

typedef etl::handle < Target_Scanline > | Handle
typedef etl::loose_handle < Target_Scanline > | LooseHandle
typedef etl::handle< const Target_Scanline > | ConstHandle

## Public Member Functions

| Target_Scanline ()
virtual bool | render (ProgressCallback *cb=NULL)
| Renders the canvas to the target.
virtual bool | start_frame (ProgressCallback *cb=NULL)=0
| Marks the start of a frame.
virtual int | next_frame (Time &time)
virtual void | end_frame ()=0
| Marks the end of a frame.
virtual Color * | start_scanline (int scanline)=0
| Marks the start of a scanline.
virtual bool | end_scanline ()=0
| Marks the end of a scanline.
void | set_threads (int x)
int | get_threads () const
bool | add_frame (const synfig::Surface *surface)

## Detailed Description

Render-target.

Todo:
  writeme

## Member Typedef Documentation

typedef etl::handle<Target_Scanline> synfig::Target_Scanline::Handle

Reimplemented from synfig::Target.

typedef etl::loose_handle<Target_Scanline> synfig::Target_Scanline::LooseHandle

Reimplemented from synfig::Target.

typedef etl::handle<const Target_Scanline> synfig::Target_Scanline::ConstHandle

Reimplemented from synfig::Target.

## Constructor & Destructor Documentation

Target_Scanline::Target_Scanline | ( |  | ) |

## Member Function Documentation

bool synfig::Target_Scanline::render | ( | ProgressCallback * | cb = `NULL` | ) | `[virtual]`

Renders the canvas to the target.

Implements synfig::Target.

References _, synfig::Context::accelerated_render(), add_frame(), synfig::SuperCallback::amount_complete(), synfig::ProgressCallback::amount_complete(), synfig::Color::blend(), synfig::Target::canvas, synfig::Canvas::create(), synfig::Target::desc, end_frame(), end_scanline(), synfig::ProgressCallback::error(), synfig::Target::get_avoid_time_sync(), synfig::RendDesc::get_bg_color(), synfig::RendDesc::get_frame_end(), synfig::RendDesc::get_frame_start(), synfig::RendDesc::get_h(), synfig::Target::get_quality(), synfig::Target::get_remove_alpha(), synfig::RendDesc::get_time_end(), synfig::RendDesc::get_time_start(), synfig::RendDesc::get_w(), synfig::info(), synfig::Target::init(), next_frame(), synfig::optimize_layers(), PIXEL_RENDERING_LIMIT, synfig::render(), synfig::render_threaded(), synfig::RendDesc::set_frame_end(), synfig::RendDesc::set_subwindow(), start_frame(), and start_scanline().

virtual bool synfig::Target_Scanline::start_frame | ( | ProgressCallback * | cb = `NULL` | ) | `[pure virtual]`

Marks the start of a frame.

Returns:
  `true` on success, `false` upon an error.

See also:
  end_frame(), start_scanline()

Implemented in bmp, dv_trgt, ffmpeg_trgt, gif, imagemagick_trgt, jpeg_trgt, Target_LibAVCodec, magickpp_trgt, mng_trgt, exr_trgt, png_trgt, ppm, yuv, synfig::Target_Multi, and synfig::Target_Null.

Referenced by add_frame(), and render().

int Target_Scanline::next_frame | ( | Time & | time | ) | `[virtual]`

References synfig::Target::desc, synfig::RendDesc::get_frame_end(), synfig::RendDesc::get_frame_start(), synfig::RendDesc::get_time_end(), synfig::RendDesc::get_time_start(), and synfig::RendDesc::set_frame_end().

Referenced by render().

virtual void synfig::Target_Scanline::end_frame | ( |  | ) | `[pure virtual]`

Marks the end of a frame.

See also:
  start_frame()

Implemented in bmp, dv_trgt, ffmpeg_trgt, gif, imagemagick_trgt, jpeg_trgt, Target_LibAVCodec, magickpp_trgt, mng_trgt, exr_trgt, png_trgt, ppm, yuv, synfig::Target_Multi, and synfig::Target_Null.

Referenced by add_frame(), and render().

virtual Color* synfig::Target_Scanline::start_scanline | ( | int | scanline | ) | `[pure virtual]`

Marks the start of a scanline.

Parameters:

  | scanline | Which scanline is going to be rendered.

Returns:
  The address where the target wants the scanline to be written.

Warning:
  Must be called after start_frame()

See also:
  end_scanline(), start_frame()

Implemented in bmp, dv_trgt, ffmpeg_trgt, gif, imagemagick_trgt, jpeg_trgt, Target_LibAVCodec, magickpp_trgt, mng_trgt, exr_trgt, png_trgt, ppm, yuv, synfig::Target_Multi, and synfig::Target_Null.

Referenced by add_frame(), and render().

virtual bool synfig::Target_Scanline::end_scanline | ( |  | ) | `[pure virtual]`

Marks the end of a scanline.

Takes the data that was put at the address returned to by start_scanline() and does whatever it is supposed to do with it.

Returns:
  `true` on success, `false` on failure.

See also:
  start_scanline()

Implemented in bmp, dv_trgt, ffmpeg_trgt, gif, imagemagick_trgt, jpeg_trgt, Target_LibAVCodec, magickpp_trgt, mng_trgt, exr_trgt, png_trgt, ppm, yuv, synfig::Target_Multi, and synfig::Target_Null.

Referenced by add_frame(), and render().

void synfig::Target_Scanline::set_threads | ( | int | x | ) | `[inline]`

int synfig::Target_Scanline::get_threads | ( |  | ) | const`[inline]`

bool Target_Scanline::add_frame | ( | const synfig::Surface * | surface | ) |

Reimplemented in synfig::Target_Multi.

References synfig::Color::blend(), synfig::Target::desc, end_frame(), end_scanline(), synfig::RendDesc::get_bg_color(), synfig::Target::get_remove_alpha(), start_frame(), and start_scanline().

Referenced by render().

The documentation for this class was generated from the following files:

- target_scanline.h
- target_scanline.cpp