Update procedures
[shapes.git] / source / shadingtypes.cc
blob25d87bd7d548a3bb80109488fd9f816e1a762d4b
1 /* This file is part of Shapes.
3 * Shapes is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 3 of the License, or
6 * any later version.
8 * Shapes is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
13 * You should have received a copy of the GNU General Public License
14 * along with Shapes. If not, see <http://www.gnu.org/licenses/>.
16 * Copyright 2008 Henrik Tidefelt
19 #include "shadingtypes.h"
20 #include "statetypes.h"
21 #include "globals.h"
22 #include "pathtypes.h"
23 #include "pagecontentstates.h"
25 using namespace Shapes;
28 Lang::Type4Shading::Type4Shading( RefCountPtr< SimplePDF::PDF_Object > & resource, RefCountPtr< const Lang::ElementaryPath2D > mybbox )
29 : Lang::PaintedPolygon2D( Kernel::THE_NO_STATE, mybbox ), resource_( resource ), mybbox_( mybbox )
30 { }
32 Lang::Type4Shading::~Type4Shading( )
33 { }
35 void
36 Lang::Type4Shading::shipout( std::ostream & os, Kernel::PageContentStates * pdfState, const Lang::Transform2D & tf ) const
38 Kernel::Auto_qQ auto_qQ( & pdfState->graphics_, & pdfState->text_, os, false );
39 if( ! tf.isIdentity( ) )
41 auto_qQ.activate( );
42 tf.shipout( os );
43 os << " cm" << std::endl ;
45 os << pdfState->resources_->nameofShading( resource_ ) << " sh" << std::endl ;
48 RefCountPtr< const Lang::ElementaryPath2D >
49 Lang::Type4Shading::bbox( Lang::Drawable2D::BoxType boxType ) const
51 return mybbox_;
54 void
55 Lang::Type4Shading::show( std::ostream & os ) const
57 os << "Type4Shading" ;
60 void
61 Lang::Type4Shading::gcMark( Kernel::GCMarkedSet & marked )
63 // At the time of writing, there is nothing to propagate to.