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