make setScaleTranslate public
BUG=skia: GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2122093002 TBR= Review-Url: https://codereview.chromium.org/2122093002
This commit is contained in:
parent
ec7f2ac728
commit
2dcb615c6f
@ -710,6 +710,32 @@ public:
|
||||
this->setTypeMask(kUnknown_Mask);
|
||||
}
|
||||
|
||||
/**
|
||||
* Initialize the matrix to be scale + post-translate.
|
||||
*/
|
||||
void setScaleTranslate(SkScalar sx, SkScalar sy, SkScalar tx, SkScalar ty) {
|
||||
fMat[kMScaleX] = sx;
|
||||
fMat[kMSkewX] = 0;
|
||||
fMat[kMTransX] = tx;
|
||||
|
||||
fMat[kMSkewY] = 0;
|
||||
fMat[kMScaleY] = sy;
|
||||
fMat[kMTransY] = ty;
|
||||
|
||||
fMat[kMPersp0] = 0;
|
||||
fMat[kMPersp1] = 0;
|
||||
fMat[kMPersp2] = 1;
|
||||
|
||||
unsigned mask = 0;
|
||||
if (sx != 1 || sy != 1) {
|
||||
mask |= kScale_Mask;
|
||||
}
|
||||
if (tx || ty) {
|
||||
mask |= kTranslate_Mask;
|
||||
}
|
||||
this->setTypeMask(mask | kRectStaysRect_Mask);
|
||||
}
|
||||
|
||||
private:
|
||||
enum {
|
||||
/** Set if the matrix will map a rectangle to another rectangle. This
|
||||
@ -748,29 +774,6 @@ private:
|
||||
|
||||
static void ComputeInv(SkScalar dst[9], const SkScalar src[9], double invDet, bool isPersp);
|
||||
|
||||
void setScaleTranslate(SkScalar sx, SkScalar sy, SkScalar tx, SkScalar ty) {
|
||||
fMat[kMScaleX] = sx;
|
||||
fMat[kMSkewX] = 0;
|
||||
fMat[kMTransX] = tx;
|
||||
|
||||
fMat[kMSkewY] = 0;
|
||||
fMat[kMScaleY] = sy;
|
||||
fMat[kMTransY] = ty;
|
||||
|
||||
fMat[kMPersp0] = 0;
|
||||
fMat[kMPersp1] = 0;
|
||||
fMat[kMPersp2] = 1;
|
||||
|
||||
unsigned mask = 0;
|
||||
if (sx != 1 || sy != 1) {
|
||||
mask |= kScale_Mask;
|
||||
}
|
||||
if (tx || ty) {
|
||||
mask |= kTranslate_Mask;
|
||||
}
|
||||
this->setTypeMask(mask | kRectStaysRect_Mask);
|
||||
}
|
||||
|
||||
uint8_t computeTypeMask() const;
|
||||
uint8_t computePerspectiveTypeMask() const;
|
||||
|
||||
|
@ -939,6 +939,11 @@ DEF_TEST(Matrix, reporter) {
|
||||
test_set9(reporter);
|
||||
|
||||
test_decompScale(reporter);
|
||||
|
||||
mat.setScaleTranslate(2, 3, 1, 4);
|
||||
mat2.setScale(2, 3);
|
||||
mat2.postTranslate(1, 4);
|
||||
REPORTER_ASSERT(reporter, mat == mat2);
|
||||
}
|
||||
|
||||
DEF_TEST(Matrix_Concat, r) {
|
||||
|
Loading…
Reference in New Issue
Block a user