Split header file

This commit is contained in:
Martchus 2021-09-11 14:42:11 +02:00
parent 7441425e9d
commit f3ae226c8c
7 changed files with 42 additions and 16 deletions

View File

@ -18,9 +18,9 @@ set(META_ADD_DEFAULT_CPP_UNIT_TEST_APPLICATION OFF)
project(${META_PROJECT_NAME})
# add project files
set(HEADER_FILES qtforkawesome.h)
set(SRC_FILES qtforkawesome.cpp)
set(QT_TESTS rendering)
set(HEADER_FILES renderer.h icon.h iconfwd.h)
set(SRC_FILES renderer.cpp)
set(QT_TESTS renderer)
set(DOC_FILES README.md)
# find/download ForkAwesome's font file and icon definitions

View File

@ -32,7 +32,8 @@ The installation provides a CMake find module and a pkg-config file. Once
configured, the library is fairly simple to use:
```
#include <qtforkawesome/qtforkawesome.h>
#include <qtforkawesome/icon.h>
#include <qtforkawesome/renderer.h>
auto renderer = QtForkAwesome::Renderer();
renderer.pixmap(QtForkAwesome::Icon::Globe, QSize(64, 64), Qt::black);

14
icon.h Normal file
View File

@ -0,0 +1,14 @@
#ifndef QT_FORK_AWESOME_ICON
#define QT_FORK_AWESOME_ICON
#include "./iconfwd.h"
namespace QtForkAwesome {
enum class Icon : IconBaseType {
#include "private/icons.h"
};
} // namespace QtForkAwesome
#endif // QT_FORK_AWESOME_ICON

15
iconfwd.h Normal file
View File

@ -0,0 +1,15 @@
#ifndef QT_FORK_AWESOME_ICONFWD
#define QT_FORK_AWESOME_ICONFWD
#include <QChar>
#include <type_traits>
namespace QtForkAwesome {
using IconBaseType = std::remove_reference_t<decltype(QChar().unicode())>;
enum class Icon : IconBaseType;
} // namespace QtForkAwesome
#endif // QT_FORK_AWESOME_ICONFWD

View File

@ -1,4 +1,4 @@
#include "./qtforkawesome.h"
#include "./renderer.h"
#include "resources/config.h"

View File

@ -1,7 +1,8 @@
#ifndef QT_FORK_AWESOME_MAIN
#define QT_FORK_AWESOME_MAIN
#ifndef QT_FORK_AWESOME_RENDERER
#define QT_FORK_AWESOME_RENDERER
#include "./global.h"
#include "./iconfwd.h"
#include <QString>
@ -16,12 +17,6 @@ QT_FORWARD_DECLARE_CLASS(QPixmap)
namespace QtForkAwesome {
using IconBaseType = std::remove_reference_t<decltype(QChar().unicode())>;
enum class Icon : IconBaseType {
#include "private/icons.h"
};
class QT_FORK_AWESOME_EXPORT Renderer {
struct InternalData;
@ -40,4 +35,4 @@ private:
} // namespace QtForkAwesome
#endif // QT_FORK_AWESOME_MAIN
#endif // QT_FORK_AWESOME_RENDERER

View File

@ -1,4 +1,5 @@
#include "../qtforkawesome.h"
#include "../icon.h"
#include "../renderer.h"
#include <c++utilities/tests/testutils.h>
@ -34,4 +35,4 @@ void RendererTests::testRender()
}
QTEST_MAIN(RendererTests)
#include "rendering.moc"
#include "renderer.moc"