1 /* === S I N F G =========================================================== */
2 /*! \file target_multi.cpp
3 ** \brief Template File
5 ** $Id: target_multi.cpp,v 1.1.1.1 2005/01/04 01:23:15 darco Exp $
8 ** Copyright (c) 2002 Robert B. Quattlebaum Jr.
10 ** This software and associated documentation
11 ** are CONFIDENTIAL and PROPRIETARY property of
12 ** the above-mentioned copyright holder.
14 ** You may not copy, print, publish, or in any
15 ** other way distribute this software without
16 ** a prior written agreement with
17 ** the copyright holder.
20 /* ========================================================================= */
22 /* === H E A D E R S ======================================================= */
31 #include "target_multi.h"
39 /* === U S I N G =========================================================== */
43 using namespace sinfg;
45 /* === M A C R O S ========================================================= */
47 /* === G L O B A L S ======================================================= */
49 /* === P R O C E D U R E S ================================================= */
51 /* === M E T H O D S ======================================================= */
53 Target_Multi::Target_Multi(Target_Scanline::Handle a,Target_Scanline::Handle b):
59 Target_Multi::~Target_Multi()
64 Target_Multi::set_canvas(etl::handle<Canvas> c)
67 RendDesc desc=canvas->rend_desc();
74 Target_Multi::set_rend_desc(RendDesc *d)
77 return a->set_rend_desc(d) && b->set_rend_desc(d);
83 return a->init() && b->init();
87 Target_Multi::add_frame(const sinfg::Surface *surface)
89 return a->add_frame(surface) && b->add_frame(surface);
93 Target_Multi::start_frame(ProgressCallback *cb)
95 return a->start_frame(cb) && b->start_frame(cb);
99 Target_Multi::end_frame()
106 Target_Multi::start_scanline(int scanline)
108 buffer_a=a->start_scanline(scanline);
109 buffer_b=b->start_scanline(scanline);
114 Target_Multi::end_scanline()
116 memcpy(buffer_b,buffer_a,sizeof(Color)*desc.get_w());
117 return a->end_scanline() && b->end_scanline();