summaryrefslogtreecommitdiff
path: root/vcl/inc/font
diff options
context:
space:
mode:
authorChris Sherlock <chris.sherlock79@gmail.com>2021-09-05 13:35:13 +1000
committerMike Kaganski <mike.kaganski@collabora.com>2021-09-18 07:52:10 +0200
commitd596eb99c887b52ab99c38665cf1cacbcd24b029 (patch)
tree2dcd68a1b338362c1eeeba5ad7b663c75eebfe16 /vcl/inc/font
parent1f9a792a391f0811bbb5f570ad5c84d13312c539 (diff)
vcl: rename ImplDeviceFontList to PhysicalFontFaceCollection and test
- renamed ImplDeviceFontList to PhysicalFontFaceCollection and moved to own header file - wrote unit test for PhysicalFontFaceCollection Note that this is part of a series of patches where I also move font files into the relevant font directories, and into the vcl::font namespace. Change-Id: I43669137bcd9a9b2a9417b2369a5cb1b93b93733 Reviewed-on: https://gerrit.libreoffice.org/c/core/+/121663 Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com> Tested-by: Jenkins
Diffstat (limited to 'vcl/inc/font')
-rw-r--r--vcl/inc/font/PhysicalFontFaceCollection.hxx50
1 files changed, 50 insertions, 0 deletions
diff --git a/vcl/inc/font/PhysicalFontFaceCollection.hxx b/vcl/inc/font/PhysicalFontFaceCollection.hxx
new file mode 100644
index 000000000000..9b4622690bfb
--- /dev/null
+++ b/vcl/inc/font/PhysicalFontFaceCollection.hxx
@@ -0,0 +1,50 @@
+/* -*- 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 <sal/config.h>
+
+#include <vcl/dllapi.h>
+
+#include <PhysicalFontFace.hxx>
+
+#include <vector>
+
+/**
+ A PhysicalFontFaceCollection is created by a PhysicalFontCollection and
+ becomes invalid when original PhysicalFontCollection is modified.
+ */
+
+namespace vcl::font
+{
+class PhysicalFontFaceCollection
+{
+private:
+ std::vector<rtl::Reference<PhysicalFontFace>> maDevFontVector;
+
+public:
+ PhysicalFontFaceCollection() { maDevFontVector.reserve(1024); }
+ void Add(PhysicalFontFace* pFace) { maDevFontVector.push_back(pFace); }
+ PhysicalFontFace* Get(int nIndex) const { return maDevFontVector[nIndex].get(); }
+ int Count() const { return maDevFontVector.size(); }
+};
+}
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab cinoptions=b1,g0,N-s cinkeys+=0=break: */