11cab2921ab279367f8206cdadc9259d12e603548Derek Sollenberger 240528743dbb9ce7f39f093e0cdc47849ac8887cfDerek Sollenberger/* 31cab2921ab279367f8206cdadc9259d12e603548Derek Sollenberger * Copyright 2010 The Android Open Source Project 440528743dbb9ce7f39f093e0cdc47849ac8887cfDerek Sollenberger * 51cab2921ab279367f8206cdadc9259d12e603548Derek Sollenberger * Use of this source code is governed by a BSD-style license that can be 61cab2921ab279367f8206cdadc9259d12e603548Derek Sollenberger * found in the LICENSE file. 740528743dbb9ce7f39f093e0cdc47849ac8887cfDerek Sollenberger */ 840528743dbb9ce7f39f093e0cdc47849ac8887cfDerek Sollenberger 91cab2921ab279367f8206cdadc9259d12e603548Derek Sollenberger 1040528743dbb9ce7f39f093e0cdc47849ac8887cfDerek Sollenberger#ifndef SkTextFormatParams_DEFINES 1140528743dbb9ce7f39f093e0cdc47849ac8887cfDerek Sollenberger#define SkTextFormatParams_DEFINES 1240528743dbb9ce7f39f093e0cdc47849ac8887cfDerek Sollenberger 1340528743dbb9ce7f39f093e0cdc47849ac8887cfDerek Sollenberger#include "SkScalar.h" 1440528743dbb9ce7f39f093e0cdc47849ac8887cfDerek Sollenberger#include "SkTypes.h" 1540528743dbb9ce7f39f093e0cdc47849ac8887cfDerek Sollenberger 1640528743dbb9ce7f39f093e0cdc47849ac8887cfDerek Sollenberger// Fraction of the text size to lower a strike through line below the baseline. 1740528743dbb9ce7f39f093e0cdc47849ac8887cfDerek Sollenberger#define kStdStrikeThru_Offset (-SK_Scalar1 * 6 / 21) 1840528743dbb9ce7f39f093e0cdc47849ac8887cfDerek Sollenberger// Fraction of the text size to lower a underline below the baseline. 1940528743dbb9ce7f39f093e0cdc47849ac8887cfDerek Sollenberger#define kStdUnderline_Offset (SK_Scalar1 / 9) 2040528743dbb9ce7f39f093e0cdc47849ac8887cfDerek Sollenberger// Fraction of the text size to use for a strike through or under-line. 2140528743dbb9ce7f39f093e0cdc47849ac8887cfDerek Sollenberger#define kStdUnderline_Thickness (SK_Scalar1 / 18) 2240528743dbb9ce7f39f093e0cdc47849ac8887cfDerek Sollenberger 2340528743dbb9ce7f39f093e0cdc47849ac8887cfDerek Sollenberger// The fraction of text size to embolden fake bold text scales with text size. 2440528743dbb9ce7f39f093e0cdc47849ac8887cfDerek Sollenberger// At 9 points or below, the stroke width is increased by text size / 24. 2540528743dbb9ce7f39f093e0cdc47849ac8887cfDerek Sollenberger// At 36 points and above, it is increased by text size / 32. In between, 2640528743dbb9ce7f39f093e0cdc47849ac8887cfDerek Sollenberger// it is interpolated between those values. 2740528743dbb9ce7f39f093e0cdc47849ac8887cfDerek Sollenbergerstatic const SkScalar kStdFakeBoldInterpKeys[] = { 284f1dae40e24d57d647db01443b8bf2410514b8b5Derek Sollenberger SK_Scalar1*9, 294f1dae40e24d57d647db01443b8bf2410514b8b5Derek Sollenberger SK_Scalar1*36, 3040528743dbb9ce7f39f093e0cdc47849ac8887cfDerek Sollenberger}; 3140528743dbb9ce7f39f093e0cdc47849ac8887cfDerek Sollenbergerstatic const SkScalar kStdFakeBoldInterpValues[] = { 3240528743dbb9ce7f39f093e0cdc47849ac8887cfDerek Sollenberger SK_Scalar1/24, 3340528743dbb9ce7f39f093e0cdc47849ac8887cfDerek Sollenberger SK_Scalar1/32 3440528743dbb9ce7f39f093e0cdc47849ac8887cfDerek Sollenberger}; 3540528743dbb9ce7f39f093e0cdc47849ac8887cfDerek SollenbergerSK_COMPILE_ASSERT(SK_ARRAY_COUNT(kStdFakeBoldInterpKeys) == 3640528743dbb9ce7f39f093e0cdc47849ac8887cfDerek Sollenberger SK_ARRAY_COUNT(kStdFakeBoldInterpValues), 3740528743dbb9ce7f39f093e0cdc47849ac8887cfDerek Sollenberger mismatched_array_size); 3840528743dbb9ce7f39f093e0cdc47849ac8887cfDerek Sollenbergerstatic const int kStdFakeBoldInterpLength = 3940528743dbb9ce7f39f093e0cdc47849ac8887cfDerek Sollenberger SK_ARRAY_COUNT(kStdFakeBoldInterpKeys); 4040528743dbb9ce7f39f093e0cdc47849ac8887cfDerek Sollenberger 4140528743dbb9ce7f39f093e0cdc47849ac8887cfDerek Sollenberger#endif //SkTextFormatParams_DEFINES 42