neoGFX
Cross-platform C++ app/game engine
Loading...
Searching...
No Matches
i_glyph.hpp
Go to the documentation of this file.
1// i_glyph.hpp
2/*
3 neogfx C++ App/Game Engine
4 Copyright (c) 2015, 2020 Leigh Johnston. All Rights Reserved.
5
6 This program is free software: you can redistribute it and / or modify
7 it under the terms of the GNU General Public License as published by
8 the Free Software Foundation, either version 3 of the License, or
9 (at your option) any later version.
10
11 This program is distributed in the hope that it will be useful,
12 but WITHOUT ANY WARRANTY; without even the implied warranty of
13 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 GNU General Public License for more details.
15
16 You should have received a copy of the GNU General Public License
17 along with this program. If not, see <http://www.gnu.org/licenses/>.
18*/
19
20#pragma once
21
22#include <neogfx/neogfx.hpp>
25
26namespace neogfx
27{
28 enum class glyph_pixel_mode : uint32_t
29 {
30 None,
31 Mono,
35 Gray = Gray8Bit,
36 LCD,
37 LCD_V,
38 BGRA
39 };
40
46
47 class i_glyph
48 {
49 public:
50 virtual ~i_glyph() = default;
51 public:
52 virtual const i_sub_texture& texture() const = 0;
53 virtual bool subpixel() const = 0;
54 virtual const glyph_metrics& metrics() const = 0;
55 virtual glyph_pixel_mode pixel_mode() const = 0;
56 };
57}
virtual const i_sub_texture & texture() const =0
virtual glyph_pixel_mode pixel_mode() const =0
virtual const glyph_metrics & metrics() const =0
virtual ~i_glyph()=default
virtual bool subpixel() const =0
glyph_pixel_mode
Definition i_glyph.hpp:29