1// LAF OS Library
2// Copyright (c) 2019-2020 Igara Studio S.A.
3//
4// This file is released under the terms of the MIT license.
5// Read LICENSE.txt for more information.
6
7#ifndef OS_FONT_STYLE_SET_H_INCLUDED
8#define OS_FONT_STYLE_SET_H_INCLUDED
9#pragma once
10
11#include "os/ref.h"
12#include "os/typeface.h"
13
14namespace os {
15
16 class FontStyle;
17
18 class FontStyleSet : public RefCount {
19 protected:
20 virtual ~FontStyleSet() { }
21 public:
22 virtual int count() = 0;
23 virtual void getStyle(int index,
24 FontStyle& style,
25 std::string& name) = 0;
26 virtual Ref<Typeface> typeface(int index) = 0;
27 virtual Ref<Typeface> matchStyle(const FontStyle& style) = 0;
28 };
29
30} // namespace os
31
32#endif
33