Coverage Report

Created: 2026-06-30 11:14

next uncovered line (L), next uncovered region (R), next uncovered branch (B)
/src/libreoffice/include/svx/galleryobjectcollection.hxx
Line
Count
Source
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
 * This file incorporates work covered by the following license notice:
10
 *
11
 *   Licensed to the Apache Software Foundation (ASF) under one or more
12
 *   contributor license agreements. See the NOTICE file distributed
13
 *   with this work for additional information regarding copyright
14
 *   ownership. The ASF licenses this file to you under the Apache
15
 *   License, Version 2.0 (the "License"); you may not use this file
16
 *   except in compliance with the License. You may obtain a copy of
17
 *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
18
 */
19
20
#pragma once
21
22
#include <svx/svxdllapi.h>
23
#include <svx/galmisc.hxx>
24
25
#include <vcl/bitmap.hxx>
26
#include <tools/urlobj.hxx>
27
#include <memory>
28
#include <optional>
29
#include <vector>
30
31
struct SVXCORE_DLLPUBLIC GalleryObject
32
{
33
    std::optional<INetURLObject> m_oStorageUrl;
34
    sal_uInt32 nOffset;
35
    SgaObjKind eObjKind;
36
    bool mbDelete;
37
38
    //UI visualization buffering
39
    Bitmap maPreviewBitmap;
40
    Size maPreparedSize;
41
    OUString maTitle;
42
    OUString maPath;
43
};
44
45
class UNLESS_MERGELIBS(SVXCORE_DLLPUBLIC) GalleryObjectCollection
46
{
47
private:
48
    std::vector<std::unique_ptr<GalleryObject>> m_aObjectList;
49
50
public:
51
    GalleryObjectCollection();
52
0
    std::vector<std::unique_ptr<GalleryObject>>& getObjectList() { return m_aObjectList; }
53
0
    std::unique_ptr<GalleryObject>& get(sal_uInt32 nPos) { return m_aObjectList[nPos]; }
54
0
    const std::unique_ptr<GalleryObject>& get(sal_uInt32 nPos) const { return m_aObjectList[nPos]; }
55
0
    sal_uInt32 size() const { return m_aObjectList.size(); }
56
57
    const GalleryObject* searchObjectWithURL(const INetURLObject& rURL);
58
    const GalleryObject* getForPosition(sal_uInt32 nPos) const;
59
    sal_uInt32 searchPosWithObject(const GalleryObject* pObj);
60
    const INetURLObject& getURLForPosition(sal_uInt32 nPos) const;
61
62
    void clear();
63
64
    GalleryObjectCollection(GalleryObjectCollection const&) = delete;
65
    void operator=(GalleryObjectCollection const&) = delete;
66
};
67
68
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */