Author: Carlos Lopez <[email protected]>
Date:   Tue Nov 27 20:54:30 2012 +0100

Revert "Target_Scanline: Add a virtual method to create a surface instance. It 
would use the current render method to decide which type of surface to create. 
It has to be override by specific targets to make use of the proper surface 
backend."
This reverts commit dcc781c8cb5a2c535404ca44552956b6fc473608.

Current strategy doesn't use that method.

---

 synfig-core/src/synfig/target_scanline.cpp |   80 +++++++++-------------------
 synfig-core/src/synfig/target_scanline.h   |    5 --
 2 files changed, 25 insertions(+), 60 deletions(-)

diff --git a/synfig-core/src/synfig/target_scanline.cpp 
b/synfig-core/src/synfig/target_scanline.cpp
index 0fc332c..eea4a79 100644
--- a/synfig-core/src/synfig/target_scanline.cpp
+++ b/synfig-core/src/synfig/target_scanline.cpp
@@ -237,30 +237,23 @@ synfig::Target_Scanline::render(ProgressCallback *cb)
                                }else //use normal rendering...
                                {
                                #endif
-                                       Surface* surface(create_surface());
-                                       if(surface)
+                                       Surface surface;
+
+                                       
if(!context.accelerated_render(&surface,quality,desc,0))
                                        {
-                                               
if(!context.accelerated_render(surface,quality,desc,0))
-                                               {
-                                                       // For some reason, the 
accelerated renderer failed.
-                                                       
if(cb)cb->error(_("Accelerated Renderer Failure"));
-                                                       return false;
-                                               }
-                                               else
-                                               {
-                                                       // Put the surface we 
renderer
-                                                       // onto the target.
-                                                       if(!add_frame(surface))
-                                                       {
-                                                               
if(cb)cb->error(_("Unable to put surface on target"));
-                                                               return false;
-                                                       }
-                                               }
+                                               // For some reason, the 
accelerated renderer failed.
+                                               if(cb)cb->error(_("Accelerated 
Renderer Failure"));
+                                               return false;
                                        }
                                        else
                                        {
-                                               if(cb)cb->error(_("Not 
supported render method"));
-                                               return false;                   
                        
+                                               // Put the surface we renderer
+                                               // onto the target.
+                                               if(!add_frame(&surface))
+                                               {
+                                                       
if(cb)cb->error(_("Unable to put surface on target"));
+                                                       return false;
+                                               }
                                        }
                                #if USE_PIXELRENDERING_LIMIT
                                }
@@ -392,31 +385,23 @@ synfig::Target_Scanline::render(ProgressCallback *cb)
                        }else
                        {
                        #endif
-                               Surface* surface(create_surface());
-                               if(surface)
+                               Surface surface;
+
+                               
if(!context.accelerated_render(&surface,quality,desc,cb))
                                {
-                                       
if(!context.accelerated_render(surface,quality,desc,cb))
-                                       {
-                                               if(cb)cb->error(_("Accelerated 
Renderer Failure"));
-                                               return false;
-                                       }
-                                       else
-                                       {
-                                               // Put the surface we renderer
-                                               // onto the target.
-                                               if(!add_frame(surface))
-                                               {
-                                                       
if(cb)cb->error(_("Unable to put surface on target"));
-                                                       return false;
-                                               }
-                                       }
+                                       if(cb)cb->error(_("Accelerated Renderer 
Failure"));
+                                       return false;
                                }
                                else
                                {
-                                       if(cb)cb->error(_("Not supported render 
method"));
-                                       return false;                           
                
+                                       // Put the surface we renderer
+                                       // onto the target.
+                                       if(!add_frame(&surface))
+                                       {
+                                               if(cb)cb->error(_("Unable to 
put surface on target"));
+                                               return false;
+                                       }
                                }
-
                        #if USE_PIXELRENDERING_LIMIT
                        }
                        #endif
@@ -442,21 +427,6 @@ synfig::Target_Scanline::render(ProgressCallback *cb)
        return true;
 }
 
-Surface*
-Target_Scanline::create_surface()
-{
-       RenderMethod m(get_render_method());
-       switch(m)
-       {
-               case SOFTWARE:
-                       return new Surface;
-               break;
-               default:
-                       return NULL;
-               break;
-       }
-}
-
 bool
 Target_Scanline::add_frame(const Surface *surface)
 {
diff --git a/synfig-core/src/synfig/target_scanline.h 
b/synfig-core/src/synfig/target_scanline.h
index 6b8b4a9..b02d19d 100644
--- a/synfig-core/src/synfig/target_scanline.h
+++ b/synfig-core/src/synfig/target_scanline.h
@@ -55,11 +55,6 @@ public:
 
        //! Renders the canvas to the target
        virtual bool render(ProgressCallback *cb=NULL);
-       
-       //! Obtain a surface pointer based on the render method
-       //! this function has to be overrrided by the derived targets 
-       //! to create the proper Cairo backend surface for each target type.
-       virtual Surface* create_surface(); 
 
        //! Marks the start of a frame
        /*! \return \c true on success, \c false upon an error.


------------------------------------------------------------------------------
Keep yourself connected to Go Parallel: 
VERIFY Test and improve your parallel project with help from experts 
and peers. http://goparallel.sourceforge.net
_______________________________________________
Synfig-devl mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/synfig-devl

Reply via email to