summaryrefslogtreecommitdiff
path: root/include/svx/ImageMapInfo.hxx
blob: 0e12df24dd6df0e3252e6b9de6c95da8dfccc595 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*
 * This file is part of the LibreOffice project.
 *
 * This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
 *
 * This file incorporates work covered by the following license notice:
 *
 *   Licensed to the Apache Software Foundation (ASF) under one or more
 *   contributor license agreements. See the NOTICE file distributed
 *   with this work for additional information regarding copyright
 *   ownership. The ASF licenses this file to you under the Apache
 *   License, Version 2.0 (the "License"); you may not use this file
 *   except in compliance with the License. You may obtain a copy of
 *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
 */

#pragma once

#include <svx/svdobj.hxx>
#include <svx/svxdllapi.h>
#include <vcl/imap.hxx>

#define SVX_IMAPINFO_ID 2

class SVXCORE_DLLPUBLIC SvxIMapInfo final : public SdrObjUserData, public SfxListener
{
    ImageMap aImageMap;

public:
    SvxIMapInfo(const ImageMap& rImageMap)
        : SdrObjUserData(SdrInventor::StarDrawUserData, SVX_IMAPINFO_ID)
        , aImageMap(rImageMap){};

    SvxIMapInfo(const SvxIMapInfo& rIMapInfo)
        : SdrObjUserData(SdrInventor::StarDrawUserData, SVX_IMAPINFO_ID)
        , SfxListener()
        , aImageMap(rIMapInfo.aImageMap){};

    virtual std::unique_ptr<SdrObjUserData> Clone(SdrObject*) const override
    {
        return std::unique_ptr<SdrObjUserData>(new SvxIMapInfo(*this));
    }

    void SetImageMap(const ImageMap& rIMap) { aImageMap = rIMap; }
    const ImageMap& GetImageMap() const { return aImageMap; }

    static SvxIMapInfo* GetIMapInfo(const SdrObject* pObject);
    static IMapObject* GetHitIMapObject(const SdrObject* pObj, const Point& rWinPoint,
                                        const OutputDevice* pCmpWnd = nullptr);
};

/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
a href='/cgit/lo/core/commit/sw/inc/reffld.hxx?id=9a7aa3326d087c79879e435179e359dd76aa5e0a'>The -fvisibility-ms-compat hack is no longer needed for UBSan on Linux...Stephan Bergmann 2019-03-28return by unique_ptr from SwFieldType::CopyNoel Grandin 2018-12-18sw_redlinehide_4b: SwCursorShell::GotoRefMark() check visibility tooMichael Stahl 2018-11-15sw_redlinehide_3: transport layout from ExpandField() to Expand()Michael Stahl 2018-11-15sw_redlinehide_3: SwGetRefField::GetExpandedTextOfReferencedTextNodeMichael Stahl 2018-11-15sw_redlinehide_3: add second result to SwGetRefFieldMichael Stahl 2018-07-25sw: prefix members of SwGetExpField and SwGetRefFieldMiklos Vajna 2018-07-10pass SwField around by std::unique_ptrNoel Grandin 2018-02-02tdf#115319 references with Hungarian articlesLászló Németh 2017-10-23loplugin:includeform: swStephan Bergmann 2017-02-03new loplugin:unusedenumconstantsNoel Grandin 2016-09-13loplugin:override: No more need for the "MSVC dtor override" workaroundStephan Bergmann 2016-04-14loplugin:passstuffbyref in swNoel Grandin 2015-11-10loplugin:nullptr (automatic rewrite)Stephan Bergmann 2015-11-06com::sun::star->css in sw/incNoel Grandin 2015-10-12Replace "SAL_OVERRIDE" with "override" in LIBO_INTERNAL_ONLY codeStephan Bergmann 2015-05-20bin/rename-sw-abbreviations.shlibreoffice-5-0-branch-pointChristian Lohmaier 2015-05-05loplugin:staticmethodsNoel Grandin 2015-04-16Revert "make more classes dllpublic"David Tardon 2015-04-16make more classes dllpublicDavid Tardon 2014-07-11new loplugin: externalandnotdefinedNoel Grandin