Fix SampleApp ANGLE mode.
Review URL: https://codereview.appspot.com/7206052
git-svn-id: http://skia.googlecode.com/svn/trunk@7377 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/samplecode/SampleApp.cpp b/samplecode/SampleApp.cpp
index b59df61..dbc779f 100644
--- a/samplecode/SampleApp.cpp
+++ b/samplecode/SampleApp.cpp
@@ -252,32 +252,15 @@
virtual SkCanvas* createCanvas(SampleWindow::DeviceType dType,
SampleWindow* win) {
- switch (dType) {
- case kRaster_DeviceType:
- // fallthrough
- case kPicture_DeviceType:
- // fallthrough
-#if SK_ANGLE
- case kANGLE_DeviceType:
-#endif
- break;
#if SK_SUPPORT_GPU
- case kGPU_DeviceType:
- case kNullGPU_DeviceType:
- if (fCurContext) {
- SkAutoTUnref<SkDevice> device(new SkGpuDevice(fCurContext,
- fCurRenderTarget));
- return new SkCanvas(device);
- } else {
- return NULL;
- }
- break;
+ if (IsGpuDeviceType(dType) && NULL != fCurContext) {
+ SkAutoTUnref<SkDevice> device(new SkGpuDevice(fCurContext, fCurRenderTarget));
+ return new SkCanvas(device);
+ } else
#endif
- default:
- SkASSERT(false);
- return NULL;
+ {
+ return NULL;
}
- return NULL;
}
virtual void publishCanvas(SampleWindow::DeviceType dType,
@@ -288,7 +271,7 @@
// in case we have queued drawing calls
fCurContext->flush();
- if (kGPU_DeviceType != dType && kNullGPU_DeviceType != dType) {
+ if (!IsGpuDeviceType(dType)) {
// need to send the raster bits to the (gpu) window
fCurContext->setRenderTarget(fCurRenderTarget);
const SkBitmap& bm = win->getBitmap();
@@ -1273,30 +1256,15 @@
fPdfCanvas = new SkCanvas(pdfDevice);
pdfDevice->unref();
canvas = fPdfCanvas;
+ } else if (kPicture_DeviceType == fDeviceType) {
+ fPicture = new SkPicture;
+ canvas = fPicture->beginRecording(9999, 9999);
} else {
- switch (fDeviceType) {
- case kRaster_DeviceType:
- // fallthrough
#if SK_SUPPORT_GPU
- case kGPU_DeviceType:
- // fallthrough
-#if SK_ANGLE
- case kANGLE_DeviceType:
-#endif // SK_ANGLE
-#endif // SK_SUPPORT_GPU
- canvas = this->INHERITED::beforeChildren(canvas);
- break;
- case kPicture_DeviceType:
- fPicture = new SkPicture;
- canvas = fPicture->beginRecording(9999, 9999);
- break;
-#if SK_SUPPORT_GPU
- case kNullGPU_DeviceType:
- break;
+ if (kNullGPU_DeviceType != fDeviceType)
#endif
- default:
- SkASSERT(false);
- break;
+ {
+ canvas = this->INHERITED::beforeChildren(canvas);
}
}
@@ -2033,21 +2001,6 @@
SK_COMPILE_ASSERT(SK_ARRAY_COUNT(gDeviceTypePrefix) == SampleWindow::kDeviceTypeCnt,
array_size_mismatch);
-static const bool gDeviceTypeIsGPU[] = {
- false,
- false,
-#if SK_SUPPORT_GPU
- true,
-#if SK_ANGLE
- true,
-#endif // SK_ANGLE
- true
-#endif // SK_SUPPORT_GPU
-};
-SK_COMPILE_ASSERT(SK_ARRAY_COUNT(gDeviceTypeIsGPU) == SampleWindow::kDeviceTypeCnt,
- array_size_mismatch);
-
-
static const char* trystate_str(SkOSMenu::TriState state,
const char trueStr[], const char falseStr[]) {
if (SkOSMenu::kOnState == state) {
@@ -2116,8 +2069,9 @@
}
#if SK_SUPPORT_GPU
- if (gDeviceTypeIsGPU[fDeviceType] &&
+ if (IsGpuDeviceType(fDeviceType) &&
NULL != fDevManager &&
+ fDevManager->getGrRenderTarget() &&
fDevManager->getGrRenderTarget()->numSamples() > 0) {
title.appendf(" [MSAA: %d]",
fDevManager->getGrRenderTarget()->numSamples());