skia2/src/core/SkRecords.cpp
mtklein e88b1fb7a5 Move non-trivial constructors out-of-line.
There is more than one way to skin this SkPathPriv.h cat.

These constructors are large enough that they probably shouldn't have
been inlined like this anyway.

BUG=skia:4126

Review URL: https://codereview.chromium.org/1253963004
2015-07-29 13:14:05 -07:00

33 lines
879 B
C++

/*
* Copyright 2015 Google Inc.
*
* Use of this source code is governed by a BSD-style license that can be
* found in the LICENSE file.
*/
#include "SkPathPriv.h"
#include "SkRecords.h"
namespace SkRecords {
ImmutableBitmap::ImmutableBitmap(const SkBitmap& bitmap) {
if (bitmap.isImmutable()) {
fBitmap = bitmap;
} else {
bitmap.copyTo(&fBitmap);
}
fBitmap.setImmutable();
}
PreCachedPath::PreCachedPath(const SkPath& path) : SkPath(path) {
this->updateBoundsCache();
#if 0 // Disabled to see if we ever really race on this. It costs time, chromium:496982.
SkPathPriv::FirstDirection junk;
(void)SkPathPriv::CheapComputeFirstDirection(*this, &junk);
#endif
}
TypedMatrix::TypedMatrix(const SkMatrix& matrix) : SkMatrix(matrix) {
(void)this->getType();
}
}