diff options
author | Hal Canary <halcanary@google.com> | 2018-06-13 09:59:02 -0400 |
---|---|---|
committer | Skia Commit-Bot <skia-commit-bot@chromium.org> | 2018-06-14 14:55:17 +0000 |
commit | c640d0dc96924699fdbb1a3cbdc907aa07b1cb3c (patch) | |
tree | d8973c4700da0bbe95c73bb3bc0c7d8f4589186d /include | |
parent | 4d4665436e540bd2ca393c139cbaff1eabd62ee2 (diff) |
Revert "Revert "SkTypes: extract SkTo""
This reverts commit fdcfb8b7c23fbf18f872d2c31d27978235033876.
> Original change's description:
> > SkTypes: extract SkTo
> >
> > Change-Id: I8de790d5013db2105ad885fa2683303d7c250b09
> > Reviewed-on: https://skia-review.googlesource.com/133620
> > Reviewed-by: Mike Klein <mtklein@google.com>
Change-Id: Ida74fbc5c21248a724a5edbf9fae18a33bcb23aa
Reviewed-on: https://skia-review.googlesource.com/134506
Reviewed-by: Mike Klein <mtklein@google.com>
Commit-Queue: Hal Canary <halcanary@google.com>
Diffstat (limited to 'include')
-rw-r--r-- | include/core/SkColorPriv.h | 1 | ||||
-rw-r--r-- | include/core/SkImageInfo.h | 2 | ||||
-rw-r--r-- | include/core/SkMath.h | 2 | ||||
-rw-r--r-- | include/core/SkMatrix.h | 1 | ||||
-rw-r--r-- | include/core/SkPaint.h | 1 | ||||
-rw-r--r-- | include/core/SkPath.h | 1 | ||||
-rw-r--r-- | include/core/SkStream.h | 1 | ||||
-rw-r--r-- | include/core/SkString.h | 4 | ||||
-rw-r--r-- | include/core/SkTypes.h | 15 | ||||
-rw-r--r-- | include/gpu/GrResourceKey.h | 2 | ||||
-rw-r--r-- | include/private/SkFixed.h | 4 | ||||
-rw-r--r-- | include/private/SkPathRef.h | 7 | ||||
-rw-r--r-- | include/private/SkTDArray.h | 4 | ||||
-rw-r--r-- | include/private/SkTo.h | 28 | ||||
-rw-r--r-- | include/utils/SkInterpolator.h | 2 |
15 files changed, 48 insertions, 27 deletions
diff --git a/include/core/SkColorPriv.h b/include/core/SkColorPriv.h index 0cd02e8034..188ce6a172 100644 --- a/include/core/SkColorPriv.h +++ b/include/core/SkColorPriv.h @@ -8,6 +8,7 @@ #ifndef SkColorPriv_DEFINED #define SkColorPriv_DEFINED +#include "../private/SkTo.h" #include "SkColor.h" #include "SkMath.h" diff --git a/include/core/SkImageInfo.h b/include/core/SkImageInfo.h index 01e887361f..a60f26576d 100644 --- a/include/core/SkImageInfo.h +++ b/include/core/SkImageInfo.h @@ -22,7 +22,9 @@ #include "SkMath.h" #include "SkRect.h" #include "SkSize.h" + #include "../private/SkTFitsIn.h" +#include "../private/SkTo.h" class SkReadBuffer; class SkWriteBuffer; diff --git a/include/core/SkMath.h b/include/core/SkMath.h index 7b90032973..9b20689c36 100644 --- a/include/core/SkMath.h +++ b/include/core/SkMath.h @@ -1,4 +1,3 @@ - /* * Copyright 2006 The Android Open Source Project * @@ -10,6 +9,7 @@ #ifndef SkMath_DEFINED #define SkMath_DEFINED +#include "../private/SkTo.h" #include "SkTypes.h" // 64bit -> 32bit utilities diff --git a/include/core/SkMatrix.h b/include/core/SkMatrix.h index 4fadf984a4..84f805c637 100644 --- a/include/core/SkMatrix.h +++ b/include/core/SkMatrix.h @@ -19,6 +19,7 @@ #define SkMatrix_DEFINED #include "../private/SkMacros.h" +#include "../private/SkTo.h" #include "SkRect.h" struct SkRSXform; diff --git a/include/core/SkPaint.h b/include/core/SkPaint.h index 4c82e50f00..3d471d15ff 100644 --- a/include/core/SkPaint.h +++ b/include/core/SkPaint.h @@ -18,6 +18,7 @@ #ifndef SkPaint_DEFINED #define SkPaint_DEFINED +#include "../private/SkTo.h" #include "SkBlendMode.h" #include "SkColor.h" #include "SkFilterQuality.h" diff --git a/include/core/SkPath.h b/include/core/SkPath.h index 64ab531536..9906827ba8 100644 --- a/include/core/SkPath.h +++ b/include/core/SkPath.h @@ -20,6 +20,7 @@ #include "SkMatrix.h" #include "../private/SkPathRef.h" +#include "../private/SkTo.h" class SkAutoPathBoundsUpdate; class SkData; diff --git a/include/core/SkStream.h b/include/core/SkStream.h index 2d9f9db120..d73c8a097e 100644 --- a/include/core/SkStream.h +++ b/include/core/SkStream.h @@ -8,6 +8,7 @@ #ifndef SkStream_DEFINED #define SkStream_DEFINED +#include "../private/SkTo.h" #include "SkData.h" #include "SkRefCnt.h" #include "SkScalar.h" diff --git a/include/core/SkString.h b/include/core/SkString.h index c2fd9c0e36..aa3292abfe 100644 --- a/include/core/SkString.h +++ b/include/core/SkString.h @@ -1,4 +1,3 @@ - /* * Copyright 2006 The Android Open Source Project * @@ -11,8 +10,9 @@ #define SkString_DEFINED #include "../private/SkTArray.h" -#include "SkScalar.h" +#include "../private/SkTo.h" #include "SkRefCnt.h" +#include "SkScalar.h" #include <atomic> #include <stdarg.h> diff --git a/include/core/SkTypes.h b/include/core/SkTypes.h index 2fe28fc6ce..e624d4518c 100644 --- a/include/core/SkTypes.h +++ b/include/core/SkTypes.h @@ -96,21 +96,6 @@ typedef int S16CPU; */ typedef unsigned U16CPU; -#include "../private/SkTFitsIn.h" -template <typename D, typename S> constexpr D SkTo(S s) { - return SkASSERT(SkTFitsIn<D>(s)), - static_cast<D>(s); -} -#define SkToS8(x) SkTo<int8_t>(x) -#define SkToU8(x) SkTo<uint8_t>(x) -#define SkToS16(x) SkTo<int16_t>(x) -#define SkToU16(x) SkTo<uint16_t>(x) -#define SkToS32(x) SkTo<int32_t>(x) -#define SkToU32(x) SkTo<uint32_t>(x) -#define SkToInt(x) SkTo<int>(x) -#define SkToUInt(x) SkTo<unsigned>(x) -#define SkToSizeT(x) SkTo<size_t>(x) - /** Returns 0 or 1 based on the condition */ #define SkToBool(cond) ((cond) != 0) diff --git a/include/gpu/GrResourceKey.h b/include/gpu/GrResourceKey.h index 0240387a6b..90b84d72bf 100644 --- a/include/gpu/GrResourceKey.h +++ b/include/gpu/GrResourceKey.h @@ -1,4 +1,3 @@ - /* * Copyright 2014 Google Inc. * @@ -11,6 +10,7 @@ #include "../private/SkOnce.h" #include "../private/SkTemplates.h" +#include "../private/SkTo.h" #include "GrTypes.h" #include "SkData.h" #include "SkString.h" diff --git a/include/private/SkFixed.h b/include/private/SkFixed.h index 15062f55b3..0d15e02aa9 100644 --- a/include/private/SkFixed.h +++ b/include/private/SkFixed.h @@ -8,9 +8,9 @@ #ifndef SkFixed_DEFINED #define SkFixed_DEFINED -#include "SkScalar.h" #include "SkSafe_math.h" - +#include "SkScalar.h" +#include "SkTo.h" #include "SkTypes.h" /** \file SkFixed.h diff --git a/include/private/SkPathRef.h b/include/private/SkPathRef.h index 5f64f1ae07..5a5a04118c 100644 --- a/include/private/SkPathRef.h +++ b/include/private/SkPathRef.h @@ -1,4 +1,3 @@ - /* * Copyright 2012 Google Inc. * @@ -9,14 +8,16 @@ #ifndef SkPathRef_DEFINED #define SkPathRef_DEFINED -#include "../private/SkAtomics.h" -#include "../private/SkTDArray.h" +#include "SkAtomics.h" #include "SkMatrix.h" #include "SkPoint.h" #include "SkRRect.h" #include "SkRect.h" #include "SkRefCnt.h" +#include "SkTDArray.h" #include "SkTemplates.h" +#include "SkTo.h" + #include <limits> class SkRBuffer; diff --git a/include/private/SkTDArray.h b/include/private/SkTDArray.h index b030dc5627..dd3212d0dd 100644 --- a/include/private/SkTDArray.h +++ b/include/private/SkTDArray.h @@ -1,4 +1,3 @@ - /* * Copyright 2006 The Android Open Source Project * @@ -10,8 +9,9 @@ #ifndef SkTDArray_DEFINED #define SkTDArray_DEFINED -#include "SkTypes.h" #include "SkMalloc.h" +#include "SkTo.h" +#include "SkTypes.h" template <typename T> class SkTDArray { public: diff --git a/include/private/SkTo.h b/include/private/SkTo.h new file mode 100644 index 0000000000..9b5b7fd164 --- /dev/null +++ b/include/private/SkTo.h @@ -0,0 +1,28 @@ +/* + * Copyright 2018 Google Inc. + * + * Use of this source code is governed by a BSD-style license that can be + * found in the LICENSE file. + */ +#ifndef SkTo_DEFINED +#define SkTo_DEFINED + +#include "SkTypes.h" +#include "SkTFitsIn.h" + +template <typename D, typename S> constexpr D SkTo(S s) { + return SkASSERT(SkTFitsIn<D>(s)), + static_cast<D>(s); +} + +template <typename S> constexpr int8_t SkToS8(S x) { return SkTo<int8_t>(x); } +template <typename S> constexpr uint8_t SkToU8(S x) { return SkTo<uint8_t>(x); } +template <typename S> constexpr int16_t SkToS16(S x) { return SkTo<int16_t>(x); } +template <typename S> constexpr uint16_t SkToU16(S x) { return SkTo<uint16_t>(x); } +template <typename S> constexpr int32_t SkToS32(S x) { return SkTo<int32_t>(x); } +template <typename S> constexpr uint32_t SkToU32(S x) { return SkTo<uint32_t>(x); } +template <typename S> constexpr int SkToInt(S x) { return SkTo<int>(x); } +template <typename S> constexpr unsigned SkToUInt(S x) { return SkTo<unsigned>(x); } +template <typename S> constexpr size_t SkToSizeT(S x) { return SkTo<size_t>(x); } + +#endif // SkTo_DEFINED diff --git a/include/utils/SkInterpolator.h b/include/utils/SkInterpolator.h index 31d50eeac7..f426263be7 100644 --- a/include/utils/SkInterpolator.h +++ b/include/utils/SkInterpolator.h @@ -1,4 +1,3 @@ - /* * Copyright 2006 The Android Open Source Project * @@ -10,6 +9,7 @@ #ifndef SkInterpolator_DEFINED #define SkInterpolator_DEFINED +#include "../private/SkTo.h" #include "SkScalar.h" class SK_API SkInterpolatorBase : SkNoncopyable { |