gecko-dev/gfx/2d/DWriteSettings.h
Bob Owen 700da072c4 Bug 1698946 p2: Add DWriteSettings to be used to retrieve font settings. r=jfkthame
This provides settings, which are populated from gfxVars retrieved in the
parent, so that they can be used in all processes.
IDWriteRenderingParams are created lazily, so that we don't try and create them
in processes that have win32k locked down where the API calls will fail.

Differential Revision: https://phabricator.services.mozilla.com/D120597
2021-08-05 09:13:10 +00:00

42 lines
1.1 KiB
C++

/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* vim: set ts=2 et sw=2 tw=80: */
/* 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 https://mozilla.org/MPL/2.0/. */
#ifndef MOZILLA_GFX_2D_DWRITESETTINGS_H_
#define MOZILLA_GFX_2D_DWRITESETTINGS_H_
#include <dwrite.h>
#include "mozilla/AlreadyAddRefed.h"
#include "Types.h"
namespace mozilla {
namespace gfx {
class DWriteSettings final {
public:
static void Initialize();
static DWriteSettings& Get(bool aGDISettings);
Float ClearTypeLevel();
Float EnhancedContrast();
Float Gamma();
DWRITE_PIXEL_GEOMETRY PixelGeometry();
DWRITE_RENDERING_MODE RenderingMode();
DWRITE_MEASURING_MODE MeasuringMode();
already_AddRefed<IDWriteRenderingParams> RenderingParams();
private:
explicit DWriteSettings(bool aUseGDISettings);
const bool mUseGDISettings;
};
} // namespace gfx
} // namespace mozilla
#endif // MOZILLA_GFX_2D_DWRITESETTINGS_H_