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

Side by Side Diff: src/gpu/GrDrawTarget.h

Issue 544233002: "NULL !=" = NULL (Closed) Base URL: https://skia.googlesource.com/skia.git@are
Patch Set: rebase Created 6 years, 3 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 | « src/gpu/GrDrawState.cpp ('k') | src/gpu/GrDrawTarget.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 2010 Google Inc. 2 * Copyright 2010 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 GrDrawTarget_DEFINED 8 #ifndef GrDrawTarget_DEFINED
9 #define GrDrawTarget_DEFINED 9 #define GrDrawTarget_DEFINED
10 10
(...skipping 575 matching lines...) Expand 10 before | Expand all | Expand 10 after
586 class AutoReleaseGeometry : public ::SkNoncopyable { 586 class AutoReleaseGeometry : public ::SkNoncopyable {
587 public: 587 public:
588 AutoReleaseGeometry(GrDrawTarget* target, 588 AutoReleaseGeometry(GrDrawTarget* target,
589 int vertexCount, 589 int vertexCount,
590 int indexCount); 590 int indexCount);
591 AutoReleaseGeometry(); 591 AutoReleaseGeometry();
592 ~AutoReleaseGeometry(); 592 ~AutoReleaseGeometry();
593 bool set(GrDrawTarget* target, 593 bool set(GrDrawTarget* target,
594 int vertexCount, 594 int vertexCount,
595 int indexCount); 595 int indexCount);
596 bool succeeded() const { return NULL != fTarget; } 596 bool succeeded() const { return SkToBool(fTarget); }
597 void* vertices() const { SkASSERT(this->succeeded()); return fVertices; } 597 void* vertices() const { SkASSERT(this->succeeded()); return fVertices; }
598 void* indices() const { SkASSERT(this->succeeded()); return fIndices; } 598 void* indices() const { SkASSERT(this->succeeded()); return fIndices; }
599 SkPoint* positions() const { 599 SkPoint* positions() const {
600 return static_cast<SkPoint*>(this->vertices()); 600 return static_cast<SkPoint*>(this->vertices());
601 } 601 }
602 602
603 private: 603 private:
604 void reset(); 604 void reset();
605 605
606 GrDrawTarget* fTarget; 606 GrDrawTarget* fTarget;
(...skipping 25 matching lines...) Expand all
632 //////////////////////////////////////////////////////////////////////////// 632 ////////////////////////////////////////////////////////////////////////////
633 633
634 /** 634 /**
635 * Saves the geometry src state at construction and restores in the destruct or. It also saves 635 * Saves the geometry src state at construction and restores in the destruct or. It also saves
636 * and then restores the vertex attrib state. 636 * and then restores the vertex attrib state.
637 */ 637 */
638 class AutoGeometryPush : public ::SkNoncopyable { 638 class AutoGeometryPush : public ::SkNoncopyable {
639 public: 639 public:
640 AutoGeometryPush(GrDrawTarget* target) 640 AutoGeometryPush(GrDrawTarget* target)
641 : fAttribRestore(target->drawState()) { 641 : fAttribRestore(target->drawState()) {
642 SkASSERT(NULL != target); 642 SkASSERT(target);
643 fTarget = target; 643 fTarget = target;
644 target->pushGeometrySource(); 644 target->pushGeometrySource();
645 } 645 }
646 646
647 ~AutoGeometryPush() { fTarget->popGeometrySource(); } 647 ~AutoGeometryPush() { fTarget->popGeometrySource(); }
648 648
649 private: 649 private:
650 GrDrawTarget* fTarget; 650 GrDrawTarget* fTarget;
651 GrDrawState::AutoVertexAttribRestore fAttribRestore; 651 GrDrawState::AutoVertexAttribRestore fAttribRestore;
652 }; 652 };
653 653
654 /** 654 /**
655 * Combination of AutoGeometryPush and AutoStateRestore. The vertex attribs will be in default 655 * Combination of AutoGeometryPush and AutoStateRestore. The vertex attribs will be in default
656 * state regardless of ASRInit value. 656 * state regardless of ASRInit value.
657 */ 657 */
658 class AutoGeometryAndStatePush : public ::SkNoncopyable { 658 class AutoGeometryAndStatePush : public ::SkNoncopyable {
659 public: 659 public:
660 AutoGeometryAndStatePush(GrDrawTarget* target, 660 AutoGeometryAndStatePush(GrDrawTarget* target,
661 ASRInit init, 661 ASRInit init,
662 const SkMatrix* viewMatrix = NULL) 662 const SkMatrix* viewMatrix = NULL)
663 : fState(target, init, viewMatrix) { 663 : fState(target, init, viewMatrix) {
664 SkASSERT(NULL != target); 664 SkASSERT(target);
665 fTarget = target; 665 fTarget = target;
666 target->pushGeometrySource(); 666 target->pushGeometrySource();
667 if (kPreserve_ASRInit == init) { 667 if (kPreserve_ASRInit == init) {
668 target->drawState()->setDefaultVertexAttribs(); 668 target->drawState()->setDefaultVertexAttribs();
669 } 669 }
670 } 670 }
671 671
672 ~AutoGeometryAndStatePush() { fTarget->popGeometrySource(); } 672 ~AutoGeometryAndStatePush() { fTarget->popGeometrySource(); }
673 673
674 private: 674 private:
675 AutoStateRestore fState; 675 AutoStateRestore fState;
676 GrDrawTarget* fTarget; 676 GrDrawTarget* fTarget;
677 }; 677 };
678 678
679 /////////////////////////////////////////////////////////////////////////// 679 ///////////////////////////////////////////////////////////////////////////
680 // Draw execution tracking (for font atlases and other resources) 680 // Draw execution tracking (for font atlases and other resources)
681 class DrawToken { 681 class DrawToken {
682 public: 682 public:
683 DrawToken(GrDrawTarget* drawTarget, uint32_t drawID) : 683 DrawToken(GrDrawTarget* drawTarget, uint32_t drawID) :
684 fDrawTarget(drawTarget), fDrawID(drawID) {} 684 fDrawTarget(drawTarget), fDrawID(drawID) {}
685 685
686 bool isIssued() { return NULL != fDrawTarget && fDrawTarget->isIssued(fD rawID); } 686 bool isIssued() { return fDrawTarget && fDrawTarget->isIssued(fDrawID); }
687 687
688 private: 688 private:
689 GrDrawTarget* fDrawTarget; 689 GrDrawTarget* fDrawTarget;
690 uint32_t fDrawID; // this may wrap, but we're doing direct compa rison 690 uint32_t fDrawID; // this may wrap, but we're doing direct compa rison
691 // so that should be okay 691 // so that should be okay
692 }; 692 };
693 693
694 virtual DrawToken getCurrentDrawToken() { return DrawToken(this, 0); } 694 virtual DrawToken getCurrentDrawToken() { return DrawToken(this, 0); }
695 695
696 protected: 696 protected:
(...skipping 118 matching lines...) Expand 10 before | Expand all | Expand 10 after
815 void adjustStartIndex(int indexOffset); 815 void adjustStartIndex(int indexOffset);
816 816
817 void setDevBounds(const SkRect& bounds) { 817 void setDevBounds(const SkRect& bounds) {
818 fDevBoundsStorage = bounds; 818 fDevBoundsStorage = bounds;
819 fDevBounds = &fDevBoundsStorage; 819 fDevBounds = &fDevBoundsStorage;
820 } 820 }
821 const SkRect* getDevBounds() const { return fDevBounds; } 821 const SkRect* getDevBounds() const { return fDevBounds; }
822 822
823 // NULL if no copy of the dst is needed for the draw. 823 // NULL if no copy of the dst is needed for the draw.
824 const GrDeviceCoordTexture* getDstCopy() const { 824 const GrDeviceCoordTexture* getDstCopy() const {
825 if (NULL != fDstCopy.texture()) { 825 if (fDstCopy.texture()) {
826 return &fDstCopy; 826 return &fDstCopy;
827 } else { 827 } else {
828 return NULL; 828 return NULL;
829 } 829 }
830 } 830 }
831 831
832 private: 832 private:
833 DrawInfo() { fDevBounds = NULL; } 833 DrawInfo() { fDevBounds = NULL; }
834 834
835 friend class GrDrawTarget; 835 friend class GrDrawTarget;
(...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after
930 GrContext* fContext; 930 GrContext* fContext;
931 // To keep track that we always have at least as many debug marker adds as r emoves 931 // To keep track that we always have at least as many debug marker adds as r emoves
932 int fGpuTraceMar kerCount; 932 int fGpuTraceMar kerCount;
933 GrTraceMarkerSet fActiveTrace Markers; 933 GrTraceMarkerSet fActiveTrace Markers;
934 GrTraceMarkerSet fStoredTrace Markers; 934 GrTraceMarkerSet fStoredTrace Markers;
935 935
936 typedef SkRefCnt INHERITED; 936 typedef SkRefCnt INHERITED;
937 }; 937 };
938 938
939 #endif 939 #endif
OLDNEW
« no previous file with comments | « src/gpu/GrDrawState.cpp ('k') | src/gpu/GrDrawTarget.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698