NAP
fontservice.h
1 /* This Source Code Form is subject to the terms of the Mozilla Public
2  * License, v. 2.0. If a copy of the MPL was not distributed with this
3  * file, You can obtain one at https://mozilla.org/MPL/2.0/. */
4 
5 #pragma once
6 
7 // External Includes
8 #include <nap/service.h>
9 
10 namespace nap
11 {
12  // Forward Declares
13  class Font;
14 
18  class NAPAPI FontService : public Service
19  {
20  friend class FontInstance;
21  RTTI_ENABLE(Service)
22  public:
26  FontService(ServiceConfiguration* configuration);
27 
31  virtual ~FontService() override;
32 
33  protected:
37  virtual bool init(utility::ErrorState& error) override;
38 
42  virtual void shutdown() override;
43 
48  virtual void registerObjectCreators(rtti::Factory& factory) override;
49 
55  void* getHandle() const;
56 
57  private:
58  void* mFreetypeLib = nullptr;
59  };
60 }
nap::utility::ErrorState
Definition: errorstate.h:19
nap::ServiceConfiguration
Definition: service.h:28
nap::Service
Definition: templateservice.h:8
nap::rtti::Factory
Definition: factory.h:78
nap
Definition: templateapp.h:17
nap::FontService
Definition: fontservice.h:18
nap::rtti::EPropertyFileType::Font
@ Font
Points to a true type font, must be used with EPropertyMetaData::FileLink.
nap::FontInstance
Definition: font.h:121