SkColorFilter* SkColorCubeFilter::Create(SkData* cubeData, int cubeDimension) { if (!is_valid_3D_lut(cubeData, cubeDimension)) { return NULL; } return SkNEW_ARGS(SkColorCubeFilter, (cubeData, cubeDimension)); }
SkColorFilter* SkColorCubeFilter::Create(SkData* cubeData, int cubeDimension) { if (!is_valid_3D_lut(cubeData, cubeDimension)) { return nullptr; } return new SkColorCubeFilter(cubeData, cubeDimension); }
sk_sp<SkColorFilter> SkColorCubeFilter::Make(sk_sp<SkData> cubeData, int cubeDimension) { if (!is_valid_3D_lut(cubeData.get(), cubeDimension)) { return nullptr; } return sk_sp<SkColorFilter>(new SkColorCubeFilter(std::move(cubeData), cubeDimension)); }
SkFlattenable* SkColorCubeFilter::CreateProc(SkReadBuffer& buffer) { int cubeDimension = buffer.readInt(); SkAutoDataUnref cubeData(buffer.readByteArrayAsData()); if (!buffer.validate(is_valid_3D_lut(cubeData, cubeDimension))) { return NULL; } return Create(cubeData, cubeDimension); }
sk_sp<SkFlattenable> SkColorCubeFilter::CreateProc(SkReadBuffer& buffer) { int cubeDimension = buffer.readInt(); auto cubeData(buffer.readByteArrayAsData()); if (!buffer.validate(is_valid_3D_lut(cubeData.get(), cubeDimension))) { return nullptr; } return Make(std::move(cubeData), cubeDimension); }
SkColorCubeFilter::SkColorCubeFilter(SkReadBuffer& buffer) : fCache(buffer.readInt()) { fCubeData.reset(buffer.readByteArrayAsData()); buffer.validate(is_valid_3D_lut(fCubeData, fCache.cubeDimension())); fUniqueID = SkNextColorCubeUniqueID(); }