Skip to content
This repository was archived by the owner on Feb 25, 2025. It is now read-only.

Commit cae335d

Browse files
reed-at-googleSkia Commit-Bot
authored andcommitted
Add temporary Make for SkSamplingOptions
To help stage clients away from SkFilterQuality Change-Id: Icf9d192880caa16a82f9774cc99c97e096f8e678 Reviewed-on: https://skia-review.googlesource.com/c/skia/+/334162 Reviewed-by: Mike Reed <[email protected]> Commit-Queue: Mike Reed <[email protected]>
1 parent 0fc077e commit cae335d

File tree

2 files changed

+24
-1
lines changed

2 files changed

+24
-1
lines changed

include/core/SkSamplingOptions.h

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
#ifndef SkImageSampling_DEFINED
99
#define SkImageSampling_DEFINED
1010

11-
#include "include/core/SkTypes.h"
11+
#include "include/core/SkFilterQuality.h"
1212

1313
enum class SkSamplingMode {
1414
kNearest, // single sample point (nearest neighbor)
@@ -69,6 +69,9 @@ struct SkSamplingOptions {
6969
, fCubic(cubic)
7070
, fFilter({SkSamplingMode::kNearest, SkMipmapMode::kNone}) // ignored
7171
{}
72+
73+
// Soon to go away
74+
static SkSamplingOptions Make(SkFilterQuality);
7275
};
7376

7477
#endif

src/image/SkImage.cpp

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -633,3 +633,23 @@ sk_sp<SkImage> SkImage::withDefaultMipmaps() const {
633633
sk_sp<SkImage> SkMipmapBuilder::attachTo(const SkImage* src) {
634634
return src->withMipmaps(fMM);
635635
}
636+
637+
SkSamplingOptions SkSamplingOptions::Make(SkFilterQuality fq) {
638+
switch (fq) {
639+
case SkFilterQuality::kLow_SkFilterQuality:
640+
return SkSamplingOptions({
641+
SkSamplingMode::kLinear,
642+
SkMipmapMode::kNone
643+
});
644+
case SkFilterQuality::kMedium_SkFilterQuality:
645+
return SkSamplingOptions({
646+
SkSamplingMode::kLinear,
647+
SkMipmapMode::kNearest
648+
});
649+
case SkFilterQuality::kHigh_SkFilterQuality:
650+
return SkSamplingOptions({1.0f/3, 1.0f/3});
651+
case SkFilterQuality::kNone_SkFilterQuality:
652+
break; // fall out
653+
}
654+
return SkSamplingOptions(); // kNone_SkFilterQuality
655+
}

0 commit comments

Comments
 (0)