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
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"
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
)
32 Lang::Type4Shading::~Type4Shading( )
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( ) )
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
55 Lang::Type4Shading::show( std::ostream
& os
) const
57 os
<< "Type4Shading" ;
61 Lang::Type4Shading::gcMark( Kernel::GCMarkedSet
& marked
)
63 // At the time of writing, there is nothing to propagate to.