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

Side by Side Diff: samplecode/SampleApp.h

Issue 2178353005: Remove use of MakeRenderTargetDirect from view system (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: Fix Mac Created 4 years, 4 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/views/SkWindow.h ('k') | samplecode/SampleApp.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 Skia 2 * Copyright 2011 Skia
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 SampleApp_DEFINED 8 #ifndef SampleApp_DEFINED
9 #define SampleApp_DEFINED 9 #define SampleApp_DEFINED
10 10
(...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after
67 class DeviceManager : public SkRefCnt { 67 class DeviceManager : public SkRefCnt {
68 public: 68 public:
69 69
70 70
71 virtual void setUpBackend(SampleWindow* win, int msaaSampleCount, bool d eepColor) = 0; 71 virtual void setUpBackend(SampleWindow* win, int msaaSampleCount, bool d eepColor) = 0;
72 72
73 virtual void tearDownBackend(SampleWindow* win) = 0; 73 virtual void tearDownBackend(SampleWindow* win) = 0;
74 74
75 // called before drawing. should install correct device 75 // called before drawing. should install correct device
76 // type on the canvas. Will skip drawing if returns false. 76 // type on the canvas. Will skip drawing if returns false.
77 virtual SkSurface* createSurface(DeviceType dType, SampleWindow* win) = 0; 77 virtual sk_sp<SkSurface> makeSurface(DeviceType dType, SampleWindow* win ) = 0;
78 78
79 // called after drawing, should get the results onto the 79 // called after drawing, should get the results onto the
80 // screen. 80 // screen.
81 virtual void publishCanvas(DeviceType dType, 81 virtual void publishCanvas(DeviceType dType,
82 SkCanvas* canvas, 82 SkCanvas* canvas,
83 SampleWindow* win) = 0; 83 SampleWindow* win) = 0;
84 84
85 // called when window changes size, guaranteed to be called 85 // called when window changes size, guaranteed to be called
86 // at least once before first draw (after init) 86 // at least once before first draw (after init)
87 virtual void windowSizeChanged(SampleWindow* win) = 0; 87 virtual void windowSizeChanged(SampleWindow* win) = 0;
88 88
89 // return the GrContext backing gpu devices (nullptr if not built with G PU support) 89 // return the GrContext backing gpu devices (nullptr if not built with G PU support)
90 virtual GrContext* getGrContext() = 0; 90 virtual GrContext* getGrContext() = 0;
91 91
92 // return the GrRenderTarget backing gpu devices (nullptr if not built w ith GPU support) 92 // return the GrRenderTarget backing gpu devices (nullptr if not built w ith GPU support)
93 virtual GrRenderTarget* getGrRenderTarget() = 0; 93 virtual int numColorSamples() const = 0;
94 94
95 // return the color depth of the output device 95 // return the color depth of the output device
96 virtual int getColorBits() = 0; 96 virtual int getColorBits() = 0;
97 97
98 private: 98 private:
99 typedef SkRefCnt INHERITED; 99 typedef SkRefCnt INHERITED;
100 }; 100 };
101 101
102 SampleWindow(void* hwnd, int argc, char** argv, DeviceManager*); 102 SampleWindow(void* hwnd, int argc, char** argv, DeviceManager*);
103 virtual ~SampleWindow(); 103 virtual ~SampleWindow();
104 104
105 SkSurface* createSurface() override { 105 sk_sp<SkSurface> makeSurface() override {
106 SkSurface* surface = nullptr; 106 sk_sp<SkSurface> surface;
107 if (fDevManager) { 107 if (fDevManager) {
108 surface = fDevManager->createSurface(fDeviceType, this); 108 surface = fDevManager->makeSurface(fDeviceType, this);
109 } 109 }
110 if (nullptr == surface) { 110 if (!surface) {
111 surface = this->INHERITED::createSurface(); 111 surface = this->INHERITED::makeSurface();
112 } 112 }
113 return surface; 113 return surface;
114 } 114 }
115 115
116 void draw(SkCanvas*) override; 116 void draw(SkCanvas*) override;
117 117
118 void setDeviceType(DeviceType type); 118 void setDeviceType(DeviceType type);
119 void setDeviceColorType(SkColorType, sk_sp<SkColorSpace>); 119 void setDeviceColorType(SkColorType, sk_sp<SkColorSpace>);
120 void toggleRendering(); 120 void toggleRendering();
121 void toggleSlideshow(); 121 void toggleSlideshow();
(...skipping 111 matching lines...) Expand 10 before | Expand all | Expand 10 after
233 void postAnimatingEvent(); 233 void postAnimatingEvent();
234 int findByTitle(const char*); 234 int findByTitle(const char*);
235 void listTitles(); 235 void listTitles();
236 SkSize tileSize() const; 236 SkSize tileSize() const;
237 bool sendAnimatePulse(); 237 bool sendAnimatePulse();
238 238
239 typedef SkOSWindow INHERITED; 239 typedef SkOSWindow INHERITED;
240 }; 240 };
241 241
242 #endif 242 #endif
OLDNEW
« no previous file with comments | « include/views/SkWindow.h ('k') | samplecode/SampleApp.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698