LibreOffice Module vcl (master)  1
VectorGraphicSearch.hxx
Go to the documentation of this file.
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 
11 #pragma once
12 
13 #include <vcl/graph.hxx>
15 #include <vcl/dllapi.h>
16 
19 
20 #include <memory>
21 
23 {
24  Begin,
25  End
26 };
27 
29 {
33 
35  : meStartPosition(SearchStartPosition::Begin)
36  , mbMatchCase(false)
37  , mbMatchWholeWord(false)
38  {
39  }
40 
41  VectorGraphicSearchOptions(SearchStartPosition eStartPosition, bool bMatchCase,
42  bool bMatchWholeWord)
43  : meStartPosition(eStartPosition)
44  , mbMatchCase(bMatchCase)
45  , mbMatchWholeWord(bMatchWholeWord)
46  {
47  }
48 };
49 
51 {
52 private:
54  std::unique_ptr<Implementation> mpImplementation;
56 
57  bool searchPDF(std::shared_ptr<VectorGraphicData> const& rData);
58 
59 public:
60  VectorGraphicSearch(Graphic const& rGraphic);
62  bool search(OUString const& rSearchString,
64  basegfx::B2DSize pageSize();
65  bool next();
66  bool previous();
67  int index();
68  std::vector<basegfx::B2DRectangle> getTextRectangles();
69 };
70 
71 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */
VectorGraphicSearchOptions(SearchStartPosition eStartPosition, bool bMatchCase, bool bMatchWholeWord)
#define VCL_DLLPUBLIC
Definition: dllapi.h:29
std::unique_ptr< Implementation > mpImplementation
SearchStartPosition meStartPosition
tuple index
SearchStartPosition