From f8b1ebc35b6872c2805a22481b7c23b85486fb46 Mon Sep 17 00:00:00 2001 From: "mike@reedtribe.org" Date: Mon, 10 Dec 2012 03:27:47 +0000 Subject: add helpers for isTranslate and isScaleTranslate special-case determinant for isScaleTranslate git-svn-id: http://skia.googlecode.com/svn/trunk@6725 2bbb7eff-a529-9590-31e7-b0007b416f81 --- include/utils/SkMatrix44.h | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) (limited to 'include/utils') diff --git a/include/utils/SkMatrix44.h b/include/utils/SkMatrix44.h index 2e1872e644..af61a11c68 100644 --- a/include/utils/SkMatrix44.h +++ b/include/utils/SkMatrix44.h @@ -150,8 +150,25 @@ public: return (TypeMask)fTypeMask; } + /** + * Return true if the matrix is identity. + */ inline bool isIdentity() const { - return 0 == this->getType(); + return kIdentity_Mask == this->getType(); + } + + /** + * Return true if the matrix contains translate or is identity. + */ + inline bool isTranslate() const { + return !(this->getType() & ~kTranslate_Mask); + } + + /** + * Return true if the matrix only contains scale or translate or is identity. + */ + inline bool isScaleTranslate() const { + return !(this->getType() & ~(kScale_Mask | kTranslate_Mask)); } void setIdentity(); -- cgit v1.2.3