1cb93a386Sopenharmony_ci/*
2cb93a386Sopenharmony_ci * Copyright 2006 The Android Open Source Project
3cb93a386Sopenharmony_ci *
4cb93a386Sopenharmony_ci * Use of this source code is governed by a BSD-style license that can be
5cb93a386Sopenharmony_ci * found in the LICENSE file.
6cb93a386Sopenharmony_ci * 2023.4.26 log adapt ohos.
7cb93a386Sopenharmony_ci * Copyright (c) 2023 Huawei Device Co., Ltd. All rights reserved.
8cb93a386Sopenharmony_ci */
9cb93a386Sopenharmony_ci
10cb93a386Sopenharmony_ci#include "include/core/SkTypes.h"
11cb93a386Sopenharmony_ci#include <stdio.h>
12cb93a386Sopenharmony_ci
13cb93a386Sopenharmony_ci#ifdef SKIA_OHOS_SHADER_REDUCE
14cb93a386Sopenharmony_ci#include <parameters.h>
15cb93a386Sopenharmony_ci#endif
16cb93a386Sopenharmony_ci
17cb93a386Sopenharmony_ci#define LOG_TAG "skia"
18cb93a386Sopenharmony_ci#include "hilog/log.h"
19cb93a386Sopenharmony_ci
20cb93a386Sopenharmony_ciextern "C" {
21cb93a386Sopenharmony_ci    int HiLogPrintArgs(LogType type, LogLevel level, unsigned int domain, const char* tag, const char* fmt, va_list ap);
22cb93a386Sopenharmony_ci}
23cb93a386Sopenharmony_ci
24cb93a386Sopenharmony_ci// Print debug output to stdout as well.  This is useful for command line
25cb93a386Sopenharmony_ci// applications (e.g. skia_launcher).
26cb93a386Sopenharmony_cibool gSkDebugToStdOut = false;
27cb93a386Sopenharmony_ci
28cb93a386Sopenharmony_civoid SkDebugf(const char format[], ...) {
29cb93a386Sopenharmony_ci    va_list args1, args2;
30cb93a386Sopenharmony_ci    va_start(args1, format);
31cb93a386Sopenharmony_ci
32cb93a386Sopenharmony_ci    if (gSkDebugToStdOut) {
33cb93a386Sopenharmony_ci        va_copy(args2, args1);
34cb93a386Sopenharmony_ci        vprintf(format, args2);
35cb93a386Sopenharmony_ci        va_end(args2);
36cb93a386Sopenharmony_ci    }
37cb93a386Sopenharmony_ci
38cb93a386Sopenharmony_ci    HiLogPrintArgs(LOG_CORE, LogLevel::LOG_DEBUG, 0xD001406, LOG_TAG, format, args1);
39cb93a386Sopenharmony_ci
40cb93a386Sopenharmony_ci    va_end(args1);
41cb93a386Sopenharmony_ci}
42cb93a386Sopenharmony_ci
43cb93a386Sopenharmony_ci#ifdef SKIA_OHOS_SHADER_REDUCE
44cb93a386Sopenharmony_cibool SkShaderReduceProperty()
45cb93a386Sopenharmony_ci{
46cb93a386Sopenharmony_ci    static bool debugProp = std::atoi(OHOS::system::GetParameter("persist.sys.skia.shader.reduce", "1").c_str()) != 0;
47cb93a386Sopenharmony_ci    return debugProp;
48cb93a386Sopenharmony_ci}
49cb93a386Sopenharmony_ci#endif