• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * Copyright 2021 Google LLC
3  *
4  * Use of this source code is governed by a BSD-style license that can be
5  * found in the LICENSE file.
6  */
7 
8 #ifndef SkBaseGpuDevice_DEFINED
9 #define SkBaseGpuDevice_DEFINED
10 
11 // NOTE: when not defined, SkGpuDevice extends SkBaseDevice directly and manages its clip stack
12 // using GrClipStack. When false, SkGpuDevice continues to extend SkClipStackDevice and uses
13 // SkClipStack and GrClipStackClip to manage the clip stack.
14 #if !defined(SK_DISABLE_NEW_GR_CLIP_STACK)
15     // For staging purposes, disable this for Android Framework
16     #if defined(SK_BUILD_FOR_ANDROID_FRAMEWORK)
17         #define SK_DISABLE_NEW_GR_CLIP_STACK
18     #endif
19 #endif
20 
21 #if !defined(SK_DISABLE_NEW_GR_CLIP_STACK)
22     #include "src/core/SkDevice.h"
23     #define BASE_DEVICE   SkBaseDevice
24 #else
25     #include "src/core/SkClipStackDevice.h"
26     #define BASE_DEVICE   SkClipStackDevice
27 #endif
28 
29 class SkBaseGpuDevice : public BASE_DEVICE {
30 public:
SkBaseGpuDevice(const SkImageInfo & ii,const SkSurfaceProps & props)31     SkBaseGpuDevice(const SkImageInfo& ii, const SkSurfaceProps& props)
32         : INHERITED(ii, props) {
33     }
34 
35     // TODO: SkGpuDevice/SkGpuDevice_nga shared stuff goes here
36 
37 protected:
38 
39 private:
40     using INHERITED = BASE_DEVICE;
41 };
42 
43 #undef BASE_DEVICE
44 
45 #endif
46