// GENERATED FILE - DO NOT EDIT.
// Generated by gen_overlay_fonts.py using overlay/DejaVuSansMono-Bold.ttf.
//
// Copyright 2019 The ANGLE Project Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
//
// Overlay_font_autogen.h:
//   Autogenerated overlay font data.

#include "libANGLE/Overlay.h"

namespace gl
{
namespace overlay
{
constexpr int kFontCount                    = 3;
constexpr int kFontGlyphWidths[kFontCount]  = {22, 14, 8};
constexpr int kFontGlyphHeights[kFontCount] = {43, 28, 17};
constexpr int kFontCharactersPerRow         = 32;
constexpr int kFontCharactersPerCol         = 3;
constexpr int kFontCharacters               = kFontCharactersPerRow * kFontCharactersPerCol;
constexpr int kFontImageWidth               = 22 * kFontCharactersPerRow;
constexpr int kFontImageHeight              = 43 * kFontCharactersPerCol;
constexpr int kFontLayerLarge               = 0;
constexpr int kFontLayerMedium              = 1;
constexpr int kFontLayerSmall               = 2;
}  // namespace overlay
}  // namespace gl
