Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(142)

Side by Side Diff: include/core/SkMatrix44.h

Issue 2085653003: Enable flattening and unflattening of SkColorSpace (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: Fix unit tests Created 4 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « include/core/SkColorSpace.h ('k') | src/core/SkColorSpace.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright 2011 Google Inc. 2 * Copyright 2011 Google Inc.
3 * 3 *
4 * Use of this source code is governed by a BSD-style license that can be 4 * Use of this source code is governed by a BSD-style license that can be
5 * found in the LICENSE file. 5 * found in the LICENSE file.
6 */ 6 */
7 7
8 #ifndef SkMatrix44_DEFINED 8 #ifndef SkMatrix44_DEFINED
9 #define SkMatrix44_DEFINED 9 #define SkMatrix44_DEFINED
10 10
(...skipping 421 matching lines...) Expand 10 before | Expand all | Expand 10 after
432 private: 432 private:
433 SkMScalar fMat[4][4]; 433 SkMScalar fMat[4][4];
434 mutable unsigned fTypeMask; 434 mutable unsigned fTypeMask;
435 435
436 enum { 436 enum {
437 kUnknown_Mask = 0x80, 437 kUnknown_Mask = 0x80,
438 438
439 kAllPublic_Masks = 0xF 439 kAllPublic_Masks = 0xF
440 }; 440 };
441 441
442 /** Efficiently reads 12 matrix entries, ignoring the last col.
443 * This is typically useful when we know the last col is (0, 0, 0, 1).
444 */
445 void as4x3ColMajorf(float[]) const;
446
447 /* This sets the top-left of the matrix and clears the
448 * perspective components (with [3][3] set to 1). */
449 void set4x3ColMajorf(const float[]);
450
442 SkMScalar transX() const { return fMat[3][0]; } 451 SkMScalar transX() const { return fMat[3][0]; }
443 SkMScalar transY() const { return fMat[3][1]; } 452 SkMScalar transY() const { return fMat[3][1]; }
444 SkMScalar transZ() const { return fMat[3][2]; } 453 SkMScalar transZ() const { return fMat[3][2]; }
445 454
446 SkMScalar scaleX() const { return fMat[0][0]; } 455 SkMScalar scaleX() const { return fMat[0][0]; }
447 SkMScalar scaleY() const { return fMat[1][1]; } 456 SkMScalar scaleY() const { return fMat[1][1]; }
448 SkMScalar scaleZ() const { return fMat[2][2]; } 457 SkMScalar scaleZ() const { return fMat[2][2]; }
449 458
450 SkMScalar perspX() const { return fMat[0][3]; } 459 SkMScalar perspX() const { return fMat[0][3]; }
451 SkMScalar perspY() const { return fMat[1][3]; } 460 SkMScalar perspY() const { return fMat[1][3]; }
(...skipping 10 matching lines...) Expand all
462 fTypeMask = mask; 471 fTypeMask = mask;
463 } 472 }
464 473
465 /** 474 /**
466 * Does not take the time to 'compute' the typemask. Only returns true if 475 * Does not take the time to 'compute' the typemask. Only returns true if
467 * we already know that this matrix is identity. 476 * we already know that this matrix is identity.
468 */ 477 */
469 inline bool isTriviallyIdentity() const { 478 inline bool isTriviallyIdentity() const {
470 return 0 == fTypeMask; 479 return 0 == fTypeMask;
471 } 480 }
481
482 friend class SkColorSpace;
472 }; 483 };
473 484
474 #endif 485 #endif
OLDNEW
« no previous file with comments | « include/core/SkColorSpace.h ('k') | src/core/SkColorSpace.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698