Line data Source code
1 : /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 : /*
3 : * This file is part of the LibreOffice project.
4 : *
5 : * This Source Code Form is subject to the terms of the Mozilla Public
6 : * License, v. 2.0. If a copy of the MPL was not distributed with this
7 : * file, You can obtain one at http://mozilla.org/MPL/2.0/.
8 : */
9 :
10 : #include "LockedCanvasContext.hxx"
11 : #include <oox/drawingml/shapegroupcontext.hxx>
12 :
13 : using namespace com::sun::star;
14 :
15 : namespace oox
16 : {
17 : namespace shape
18 : {
19 :
20 12 : LockedCanvasContext::LockedCanvasContext(ContextHandler2Helper& rParent)
21 12 : : ContextHandler2(rParent)
22 : {
23 12 : }
24 :
25 24 : LockedCanvasContext::~LockedCanvasContext()
26 : {
27 24 : }
28 :
29 36 : ::oox::core::ContextHandlerRef LockedCanvasContext::onCreateContext(sal_Int32 aElementToken, const ::oox::AttributeList& /*rAttribs*/)
30 : {
31 36 : switch (getBaseToken(aElementToken))
32 : {
33 : case XML_lockedCanvas:
34 8 : break;
35 : case XML_nvGrpSpPr:
36 6 : break;
37 : case XML_grpSpPr:
38 6 : break;
39 : case XML_sp:
40 : {
41 6 : oox::drawingml::ShapePtr pMasterShape;
42 6 : mpShape.reset(new oox::drawingml::Shape("com.sun.star.drawing.CustomShape"));
43 6 : mpShape->setLockedCanvas(true);
44 6 : return new oox::drawingml::ShapeContext(*this, pMasterShape, mpShape);
45 : }
46 : case XML_grpSp:
47 : {
48 3 : oox::drawingml::ShapePtr pMasterShape;
49 3 : mpShape.reset(new oox::drawingml::Shape("com.sun.star.drawing.GroupShape"));
50 3 : mpShape->setLockedCanvas(true);
51 3 : return new oox::drawingml::ShapeGroupContext(*this, pMasterShape, mpShape);
52 : }
53 : default:
54 : SAL_WARN("oox", "LockedCanvasContext::createFastChildContext: unhandled element:" << getBaseToken(aElementToken));
55 7 : break;
56 : }
57 27 : return 0;
58 : }
59 :
60 : }
61 246 : }
62 :
63 : /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|