2018-11-30 22:52:05 +03:00
|
|
|
/* -*- Mode: C++; tab-width: 20; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
2016-12-03 15:18:25 +03:00
|
|
|
|
|
|
|
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this file,
|
|
|
|
* You can obtain one at http://mozilla.org/MPL/2.0/. */
|
|
|
|
|
|
|
|
#ifndef GFX_FONT_VARIATIONS_H
|
|
|
|
#define GFX_FONT_VARIATIONS_H
|
|
|
|
|
2017-04-14 21:11:02 +03:00
|
|
|
#include "mozilla/gfx/FontVariation.h"
|
2018-02-14 14:02:05 +03:00
|
|
|
#include "nsString.h"
|
|
|
|
#include "nsTArray.h"
|
2016-12-03 15:18:25 +03:00
|
|
|
|
2017-04-14 21:11:02 +03:00
|
|
|
typedef mozilla::gfx::FontVariation gfxFontVariation;
|
2016-12-03 15:18:25 +03:00
|
|
|
|
2018-01-29 16:24:11 +03:00
|
|
|
// Structure that describes a single axis of variation in an
|
|
|
|
// OpenType Variation or Multiple-Master font.
|
2018-01-26 18:47:19 +03:00
|
|
|
struct gfxFontVariationAxis {
|
|
|
|
uint32_t mTag;
|
2018-09-12 22:34:57 +03:00
|
|
|
nsCString mName; // may be empty
|
2018-01-26 18:47:19 +03:00
|
|
|
float mMinValue;
|
|
|
|
float mMaxValue;
|
|
|
|
float mDefaultValue;
|
|
|
|
};
|
|
|
|
|
2018-01-29 16:24:11 +03:00
|
|
|
// A single <axis, value> pair that may be applied to a variation font.
|
|
|
|
struct gfxFontVariationValue {
|
|
|
|
uint32_t mAxis;
|
|
|
|
float mValue;
|
|
|
|
};
|
|
|
|
|
|
|
|
// Structure that describes a named instance of a variation font:
|
|
|
|
// a name like "Light Condensed" or "Black Ultra Extended" etc.,
|
|
|
|
// and a list of the corresponding <variation-axis, value> pairs
|
|
|
|
// to be used.
|
|
|
|
struct gfxFontVariationInstance {
|
2018-09-12 22:34:57 +03:00
|
|
|
nsCString mName;
|
2020-05-05 13:56:14 +03:00
|
|
|
CopyableTArray<gfxFontVariationValue> mValues;
|
2018-01-29 16:24:11 +03:00
|
|
|
};
|
|
|
|
|
2016-12-03 15:18:25 +03:00
|
|
|
#endif
|