X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=synfig-core%2Fsrc%2Fsynfig%2Ftarget_scanline.h;h=858eb938e33a260e1275aaa134f1d3104573a880;hb=3d1c302c92906f495ffddd9bf295b20083fec3df;hp=c9e8199d9462316e1698c9fb96c680672359bd44;hpb=adfc80c126f482d7ea2bac38001a2c4a7c7df88c;p=synfig.git diff --git a/synfig-core/src/synfig/target_scanline.h b/synfig-core/src/synfig/target_scanline.h index c9e8199..858eb93 100644 --- a/synfig-core/src/synfig/target_scanline.h +++ b/synfig-core/src/synfig/target_scanline.h @@ -1,6 +1,6 @@ /* === S Y N F I G ========================================================= */ /*! \file target_scanline.h -** \brief Template Header +** \brief Template Header for the Target Scanline class ** ** $Id$ ** @@ -38,19 +38,21 @@ namespace synfig { /*! \class Target_Scanline -** \brief Render-target -** \todo writeme +** \brief This is a Target class that implements the render fucntion +* for a line by line render procedure */ class Target_Scanline : public Target { + //! Number of threads to use int threads_; + //! Current frame being rendered int curr_frame_; public: typedef etl::handle Handle; typedef etl::loose_handle LooseHandle; typedef etl::handle ConstHandle; - + //! Default constructor (threads = 2 current frame = 0) Target_Scanline(); //! Renders the canvas to the target @@ -61,7 +63,13 @@ public: ** \see end_frame(), start_scanline() */ virtual bool start_frame(ProgressCallback *cb=NULL)=0; - + //! Returns the number of peniding frames to render. If it is zero it + //! stops rendering frames. + /*! \todo Fix the calculation of frames to really render the last frame + ** When start frame= 1f and end frame = 1f it just render one frame (at 1f) + ** When start frame= 1f and end frame = 2f it just render one frame (at 1f) + ** which is a bug. + * */ virtual int next_frame(Time& time); //! Marks the end of a frame @@ -84,11 +92,11 @@ public: ** \see start_scanline() */ virtual bool end_scanline()=0; - + //! Sets the number of threads void set_threads(int x) { threads_=x; } - + //! Gets the number of threads int get_threads()const { return threads_; } - + //! Puts the rendered surface onto the target. bool add_frame(const synfig::Surface *surface); private: }; // END of class Target_Scanline