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

Side by Side Diff: include/gpu/GrContext.h

Issue 23483042: Replace uses of GrNoncopyable by SkNoncopyable. (Closed) Base URL: https://skia.googlecode.com/svn/trunk
Patch Set: rm GrNoncopyable.h Created 7 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 | Annotate | Revision Log
« no previous file with comments | « include/gpu/GrBackendEffectFactory.h ('k') | include/gpu/GrContextFactory.h » ('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 GrContext_DEFINED 8 #ifndef GrContext_DEFINED
9 #define GrContext_DEFINED 9 #define GrContext_DEFINED
10 10
11 #include "GrClipData.h"
11 #include "GrColor.h" 12 #include "GrColor.h"
12 #include "GrClipData.h"
13 #include "SkMatrix.h"
14 #include "GrPaint.h" 13 #include "GrPaint.h"
15 #include "GrPathRendererChain.h" 14 #include "GrPathRendererChain.h"
16 #include "GrPoint.h" 15 #include "GrPoint.h"
17 #include "GrRenderTarget.h" 16 #include "GrRenderTarget.h"
18 #include "GrTexture.h" 17 #include "GrTexture.h"
18 #include "SkMatrix.h"
19 #include "SkTypes.h"
19 20
20 class GrAARectRenderer; 21 class GrAARectRenderer;
21 class GrAutoScratchTexture; 22 class GrAutoScratchTexture;
22 class GrDrawState; 23 class GrDrawState;
23 class GrDrawTarget; 24 class GrDrawTarget;
24 class GrEffect; 25 class GrEffect;
25 class GrFontCache; 26 class GrFontCache;
26 class GrGpu; 27 class GrGpu;
27 class GrIndexBuffer; 28 class GrIndexBuffer;
28 class GrIndexBufferAllocPool; 29 class GrIndexBufferAllocPool;
(...skipping 594 matching lines...) Expand 10 before | Expand all | Expand 10 after
623 * This is only necessary when a client wants to access the object directly 624 * This is only necessary when a client wants to access the object directly
624 * using the backend API directly. GrContext will detect when it must 625 * using the backend API directly. GrContext will detect when it must
625 * perform a resolve to a GrTexture used as the source of a draw or before 626 * perform a resolve to a GrTexture used as the source of a draw or before
626 * reading pixels back from a GrTexture or GrRenderTarget. 627 * reading pixels back from a GrTexture or GrRenderTarget.
627 */ 628 */
628 void resolveRenderTarget(GrRenderTarget* target); 629 void resolveRenderTarget(GrRenderTarget* target);
629 630
630 /////////////////////////////////////////////////////////////////////////// 631 ///////////////////////////////////////////////////////////////////////////
631 // Helpers 632 // Helpers
632 633
633 class AutoRenderTarget : public ::GrNoncopyable { 634 class AutoRenderTarget : public ::SkNoncopyable {
634 public: 635 public:
635 AutoRenderTarget(GrContext* context, GrRenderTarget* target) { 636 AutoRenderTarget(GrContext* context, GrRenderTarget* target) {
636 fPrevTarget = context->getRenderTarget(); 637 fPrevTarget = context->getRenderTarget();
637 SkSafeRef(fPrevTarget); 638 SkSafeRef(fPrevTarget);
638 context->setRenderTarget(target); 639 context->setRenderTarget(target);
639 fContext = context; 640 fContext = context;
640 } 641 }
641 AutoRenderTarget(GrContext* context) { 642 AutoRenderTarget(GrContext* context) {
642 fPrevTarget = context->getRenderTarget(); 643 fPrevTarget = context->getRenderTarget();
643 SkSafeRef(fPrevTarget); 644 SkSafeRef(fPrevTarget);
(...skipping 17 matching lines...) Expand all
661 * A GrPaint is setup with GrEffects. The stages will have access to the pre -matrix source 662 * A GrPaint is setup with GrEffects. The stages will have access to the pre -matrix source
662 * geometry positions when the draw is executed. Later on a decision is made to transform the 663 * geometry positions when the draw is executed. Later on a decision is made to transform the
663 * geometry to device space on the CPU. The effects now need to know that th e space in which 664 * geometry to device space on the CPU. The effects now need to know that th e space in which
664 * the geometry will be specified has changed. 665 * the geometry will be specified has changed.
665 * 666 *
666 * Note that when restore is called (or in the destructor) the context's mat rix will be 667 * Note that when restore is called (or in the destructor) the context's mat rix will be
667 * restored. However, the paint will not be restored. The caller must make a copy of the 668 * restored. However, the paint will not be restored. The caller must make a copy of the
668 * paint if necessary. Hint: use SkTCopyOnFirstWrite if the AutoMatrix is co nditionally 669 * paint if necessary. Hint: use SkTCopyOnFirstWrite if the AutoMatrix is co nditionally
669 * initialized. 670 * initialized.
670 */ 671 */
671 class AutoMatrix : GrNoncopyable { 672 class AutoMatrix : public ::SkNoncopyable {
672 public: 673 public:
673 AutoMatrix() : fContext(NULL) {} 674 AutoMatrix() : fContext(NULL) {}
674 675
675 ~AutoMatrix() { this->restore(); } 676 ~AutoMatrix() { this->restore(); }
676 677
677 /** 678 /**
678 * Initializes by pre-concat'ing the context's current matrix with the p reConcat param. 679 * Initializes by pre-concat'ing the context's current matrix with the p reConcat param.
679 */ 680 */
680 void setPreConcat(GrContext* context, const SkMatrix& preConcat, GrPaint * paint = NULL) { 681 void setPreConcat(GrContext* context, const SkMatrix& preConcat, GrPaint * paint = NULL) {
681 SkASSERT(NULL != context); 682 SkASSERT(NULL != context);
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after
754 fContext->setMatrix(fMatrix); 755 fContext->setMatrix(fMatrix);
755 fContext = NULL; 756 fContext = NULL;
756 } 757 }
757 } 758 }
758 759
759 private: 760 private:
760 GrContext* fContext; 761 GrContext* fContext;
761 SkMatrix fMatrix; 762 SkMatrix fMatrix;
762 }; 763 };
763 764
764 class AutoClip : GrNoncopyable { 765 class AutoClip : public ::SkNoncopyable {
765 public: 766 public:
766 // This enum exists to require a caller of the constructor to acknowledg e that the clip will 767 // This enum exists to require a caller of the constructor to acknowledg e that the clip will
767 // initially be wide open. It also could be extended if there are other desirable initial 768 // initially be wide open. It also could be extended if there are other desirable initial
768 // clip states. 769 // clip states.
769 enum InitialClip { 770 enum InitialClip {
770 kWideOpen_InitialClip, 771 kWideOpen_InitialClip,
771 }; 772 };
772 773
773 AutoClip(GrContext* context, InitialClip initialState) 774 AutoClip(GrContext* context, InitialClip initialState)
774 : fContext(context) { 775 : fContext(context) {
(...skipping 158 matching lines...) Expand 10 before | Expand all | Expand 10 after
933 */ 934 */
934 static bool OverbudgetCB(void* data); 935 static bool OverbudgetCB(void* data);
935 936
936 typedef SkRefCnt INHERITED; 937 typedef SkRefCnt INHERITED;
937 }; 938 };
938 939
939 /** 940 /**
940 * Gets and locks a scratch texture from a descriptor using either exact or appr oximate criteria. 941 * Gets and locks a scratch texture from a descriptor using either exact or appr oximate criteria.
941 * Unlocks texture in the destructor. 942 * Unlocks texture in the destructor.
942 */ 943 */
943 class GrAutoScratchTexture : ::GrNoncopyable { 944 class GrAutoScratchTexture : public ::SkNoncopyable {
944 public: 945 public:
945 GrAutoScratchTexture() 946 GrAutoScratchTexture()
946 : fContext(NULL) 947 : fContext(NULL)
947 , fTexture(NULL) { 948 , fTexture(NULL) {
948 } 949 }
949 950
950 GrAutoScratchTexture(GrContext* context, 951 GrAutoScratchTexture(GrContext* context,
951 const GrTextureDesc& desc, 952 const GrTextureDesc& desc,
952 GrContext::ScratchTexMatch match = GrContext::kApprox_S cratchTexMatch) 953 GrContext::ScratchTexMatch match = GrContext::kApprox_S cratchTexMatch)
953 : fContext(NULL) 954 : fContext(NULL)
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after
1016 } 1017 }
1017 1018
1018 GrTexture* texture() { return fTexture; } 1019 GrTexture* texture() { return fTexture; }
1019 1020
1020 private: 1021 private:
1021 GrContext* fContext; 1022 GrContext* fContext;
1022 GrTexture* fTexture; 1023 GrTexture* fTexture;
1023 }; 1024 };
1024 1025
1025 #endif 1026 #endif
OLDNEW
« no previous file with comments | « include/gpu/GrBackendEffectFactory.h ('k') | include/gpu/GrContextFactory.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698