xref: /third_party/skia/src/ports/SkFontConfigInterface.cpp (revision cb93a386)
  • Home
  • History
  • Annotate
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
  • only in /third_party/skia/src/ports/
1/*
2 * Copyright 2016 Google Inc.
3 *
4 * Use of this source code is governed by a BSD-style license that can be
5 * found in the LICENSE file.
6 */
7
8#include "include/core/SkFontMgr.h"
9#include "include/core/SkRefCnt.h"
10#include "include/ports/SkFontConfigInterface.h"
11#include "include/private/SkMutex.h"
12
13static SkMutex& font_config_interface_mutex() {
14    static SkMutex& mutex = *(new SkMutex);
15    return mutex;
16}
17static SkFontConfigInterface* gFontConfigInterface;
18
19sk_sp<SkFontConfigInterface> SkFontConfigInterface::RefGlobal() {
20    SkAutoMutexExclusive ac(font_config_interface_mutex());
21
22    if (gFontConfigInterface) {
23        return sk_ref_sp(gFontConfigInterface);
24    }
25    return sk_ref_sp(SkFontConfigInterface::GetSingletonDirectInterface());
26}
27
28void SkFontConfigInterface::SetGlobal(sk_sp<SkFontConfigInterface> fc) {
29    SkAutoMutexExclusive ac(font_config_interface_mutex());
30
31    SkSafeUnref(gFontConfigInterface);
32    gFontConfigInterface = fc.release();
33}
34

Indexes created Thu Nov 07 10:32:03 CST 2024