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

Side by Side Diff: samplecode/SampleApp.h

Issue 1919993002: Added --deepColor option to SampleApp, triggers creation of a ten-bit/channel buffer on Windows. (Closed) Base URL: https://skia.googlesource.com/skia.git@master
Patch Set: Rebase Created 4 years, 7 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
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 * SampleApp ports can subclass this manager class if they want to: 67 * SampleApp ports can subclass this manager class if they want to:
68 * * filter the types of devices supported 68 * * filter the types of devices supported
69 * * customize plugging of SkBaseDevice objects into an SkCanvas 69 * * customize plugging of SkBaseDevice objects into an SkCanvas
70 * * customize publishing the results of draw to the OS window 70 * * customize publishing the results of draw to the OS window
71 * * manage GrContext / GrRenderTarget lifetimes 71 * * manage GrContext / GrRenderTarget lifetimes
72 */ 72 */
73 class DeviceManager : public SkRefCnt { 73 class DeviceManager : public SkRefCnt {
74 public: 74 public:
75 75
76 76
77 virtual void setUpBackend(SampleWindow* win, int msaaSampleCount) = 0; 77 virtual void setUpBackend(SampleWindow* win, int msaaSampleCount, bool d eepColor) = 0;
78 78
79 virtual void tearDownBackend(SampleWindow* win) = 0; 79 virtual void tearDownBackend(SampleWindow* win) = 0;
80 80
81 // called before drawing. should install correct device 81 // called before drawing. should install correct device
82 // type on the canvas. Will skip drawing if returns false. 82 // type on the canvas. Will skip drawing if returns false.
83 virtual SkSurface* createSurface(DeviceType dType, SampleWindow* win) = 0; 83 virtual SkSurface* createSurface(DeviceType dType, SampleWindow* win) = 0;
84 84
85 // called after drawing, should get the results onto the 85 // called after drawing, should get the results onto the
86 // screen. 86 // screen.
87 virtual void publishCanvas(DeviceType dType, 87 virtual void publishCanvas(DeviceType dType,
88 SkCanvas* canvas, 88 SkCanvas* canvas,
89 SampleWindow* win) = 0; 89 SampleWindow* win) = 0;
90 90
91 // called when window changes size, guaranteed to be called 91 // called when window changes size, guaranteed to be called
92 // at least once before first draw (after init) 92 // at least once before first draw (after init)
93 virtual void windowSizeChanged(SampleWindow* win) = 0; 93 virtual void windowSizeChanged(SampleWindow* win) = 0;
94 94
95 // return the GrContext backing gpu devices (nullptr if not built with G PU support) 95 // return the GrContext backing gpu devices (nullptr if not built with G PU support)
96 virtual GrContext* getGrContext() = 0; 96 virtual GrContext* getGrContext() = 0;
97 97
98 // return the GrRenderTarget backing gpu devices (nullptr if not built w ith GPU support) 98 // return the GrRenderTarget backing gpu devices (nullptr if not built w ith GPU support)
99 virtual GrRenderTarget* getGrRenderTarget() = 0; 99 virtual GrRenderTarget* getGrRenderTarget() = 0;
100
101 // return the color depth of the output device
102 virtual int getColorBits() = 0;
103
100 private: 104 private:
101 typedef SkRefCnt INHERITED; 105 typedef SkRefCnt INHERITED;
102 }; 106 };
103 107
104 SampleWindow(void* hwnd, int argc, char** argv, DeviceManager*); 108 SampleWindow(void* hwnd, int argc, char** argv, DeviceManager*);
105 virtual ~SampleWindow(); 109 virtual ~SampleWindow();
106 110
107 SkSurface* createSurface() override { 111 SkSurface* createSurface() override {
108 SkSurface* surface = nullptr; 112 SkSurface* surface = nullptr;
109 if (fDevManager) { 113 if (fDevManager) {
(...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after
205 209
206 SkOSMenu::TriState fLCDState; 210 SkOSMenu::TriState fLCDState;
207 SkOSMenu::TriState fAAState; 211 SkOSMenu::TriState fAAState;
208 SkOSMenu::TriState fSubpixelState; 212 SkOSMenu::TriState fSubpixelState;
209 int fHintingState; 213 int fHintingState;
210 int fPixelGeometryIndex; 214 int fPixelGeometryIndex;
211 int fFilterQualityIndex; 215 int fFilterQualityIndex;
212 unsigned fFlipAxis; 216 unsigned fFlipAxis;
213 217
214 int fMSAASampleCount; 218 int fMSAASampleCount;
219 bool fDeepColor;
215 220
216 SkScalar fZoomCenterX, fZoomCenterY; 221 SkScalar fZoomCenterX, fZoomCenterY;
217 222
218 //Stores global settings 223 //Stores global settings
219 SkOSMenu* fAppMenu; // We pass ownership to SkWindow, when we call addMenu 224 SkOSMenu* fAppMenu; // We pass ownership to SkWindow, when we call addMenu
220 //Stores slide specific settings 225 //Stores slide specific settings
221 SkOSMenu* fSlideMenu; // We pass ownership to SkWindow, when we call addMenu 226 SkOSMenu* fSlideMenu; // We pass ownership to SkWindow, when we call addMenu
222 227
223 void loadView(SkView*); 228 void loadView(SkView*);
224 void updateTitle(); 229 void updateTitle();
225 bool getRawTitle(SkString*); 230 bool getRawTitle(SkString*);
226 231
227 bool zoomIn(); 232 bool zoomIn();
228 bool zoomOut(); 233 bool zoomOut();
229 void updatePointer(int x, int y); 234 void updatePointer(int x, int y);
230 void magnify(SkCanvas* canvas); 235 void magnify(SkCanvas* canvas);
231 void showZoomer(SkCanvas* canvas); 236 void showZoomer(SkCanvas* canvas);
232 void updateMatrix(); 237 void updateMatrix();
233 void postAnimatingEvent(); 238 void postAnimatingEvent();
234 int findByTitle(const char*); 239 int findByTitle(const char*);
235 void listTitles(); 240 void listTitles();
236 SkSize tileSize() const; 241 SkSize tileSize() const;
237 bool sendAnimatePulse(); 242 bool sendAnimatePulse();
238 243
239 typedef SkOSWindow INHERITED; 244 typedef SkOSWindow INHERITED;
240 }; 245 };
241 246
242 #endif 247 #endif
OLDNEW
« no previous file with comments | « platform_tools/android/apps/visualbench/src/main/jni/SkOSWindow_AndroidNative.cpp ('k') | samplecode/SampleApp.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698