mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-11-24 13:21:05 +00:00
2b03a82ba0
This removes a lot of old cruft in thebes to instantiate Cairo scaled fonts. Instead, we only instantiate the Cairo scaled font inside Moz2D when we actually need it for DrawTargetCairo. This thus gets rid of the duplicated code we had inside both Moz2D and thebes to deal with Cairo scaled fonts. Differential Revision: https://phabricator.services.mozilla.com/D47297 --HG-- extra : moz-landing-system : lando
40 lines
1.2 KiB
C++
40 lines
1.2 KiB
C++
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
|
/* vim: set ts=8 sts=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 http://mozilla.org/MPL/2.0/. */
|
|
|
|
#ifndef mozilla_gfx_NativeFontResourceMac_h
|
|
#define mozilla_gfx_NativeFontResourceMac_h
|
|
|
|
#include "2D.h"
|
|
#include "mozilla/AlreadyAddRefed.h"
|
|
#include "ScaledFontMac.h"
|
|
|
|
namespace mozilla {
|
|
namespace gfx {
|
|
|
|
class NativeFontResourceMac final : public NativeFontResource {
|
|
public:
|
|
MOZ_DECLARE_REFCOUNTED_VIRTUAL_TYPENAME(NativeFontResourceMac, override)
|
|
|
|
static already_AddRefed<NativeFontResourceMac> Create(uint8_t* aFontData,
|
|
uint32_t aDataLength);
|
|
|
|
already_AddRefed<UnscaledFont> CreateUnscaledFont(
|
|
uint32_t aIndex, const uint8_t* aInstanceData,
|
|
uint32_t aInstanceDataLength) final;
|
|
|
|
~NativeFontResourceMac() { CFRelease(mFontRef); }
|
|
|
|
private:
|
|
explicit NativeFontResourceMac(CGFontRef aFontRef) : mFontRef(aFontRef) {}
|
|
|
|
CGFontRef mFontRef;
|
|
};
|
|
|
|
} // namespace gfx
|
|
} // namespace mozilla
|
|
|
|
#endif // mozilla_gfx_NativeFontResourceMac_h
|