add gpu backend (not hooked up yet)
git-svn-id: http://skia.googlecode.com/svn/trunk@649 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/samplecode/SampleApp.cpp b/samplecode/SampleApp.cpp
index b9e7b48..c33a7fc 100644
--- a/samplecode/SampleApp.cpp
+++ b/samplecode/SampleApp.cpp
@@ -1,7 +1,6 @@
-#include <OpenGL/gl.h>
-
#include "SkCanvas.h"
#include "SkDevice.h"
+#include "SkGpuCanvas.h"
#include "SkGraphics.h"
#include "SkImageEncoder.h"
#include "SkPaint.h"
@@ -11,20 +10,7 @@
#include "SkWindow.h"
#include "SampleCode.h"
-
-#ifdef SUPPORT_GPU
- #include "SkGpuCanvas.h"
- #include "GrContext.h"
-
- #ifdef SK_SUPPORT_GL
- #include "GrGLConfig.h"
- #elif defined(SK_SUPPORT_D3D9)
- #include <d3d9.h>
- #endif
-#else
- typedef SkCanvas SkGpuCanvas;
- class GrContext;
-#endif
+#include "GrContext.h"
//#define DEFAULT_TO_GPU
@@ -40,6 +26,12 @@
//#define USE_OFFSCREEN
#endif
+#ifdef SK_SUPPORT_GL
+ #include "GrGLConfig.h"
+#elif defined(SK_SUPPORT_D3D9)
+ #include <d3d9.h>
+#endif
+
SkViewRegister* SkViewRegister::gHead;
SkViewRegister::SkViewRegister(SkViewFactory fact) : fFact(fact) {
static bool gOnce;
@@ -61,7 +53,6 @@
#endif
static GrContext* get_global_grctx(SkOSWindow* oswin) {
-#ifdef SUPPORT_GPU
// should be pthread-local at least
static GrContext* ctx;
if (NULL == ctx) {
@@ -79,9 +70,6 @@
#endif
}
return ctx;
-#else
- return NULL;
-#endif
}
//////////////////////////////////////////////////////////////////////////////
@@ -401,8 +389,7 @@
fPicture = new SkPicture;
canvas = fPicture->beginRecording(9999, 9999);
break;
-#ifdef SUPPORT_GPU
- case kGPU_CanvasType:
+ case kGPU_CanvasType: {
if (!alreadyGPU) {
SkDevice* device = canvas->getDevice();
const SkBitmap& bitmap = device->accessBitmap(true);
@@ -420,17 +407,18 @@
// now setup our canvas
attachD3D9();
#endif
- SkBitmap viewport;
- viewport.setConfig(SkBitmap::kARGB_8888_Config, bitmap.width(), bitmap.height());
fGpuCanvas = new SkGpuCanvas(get_global_grctx(this));
- fGpuCanvas->setBitmapDevice(viewport);
+ device = fGpuCanvas->createDevice(SkBitmap::kARGB_8888_Config,
+ bitmap.width(), bitmap.height(),
+ false, false);
+ fGpuCanvas->setDevice(device)->unref();
canvas = fGpuCanvas;
} else {
canvas = this->INHERITED::beforeChildren(canvas);
}
break;
-#endif
+ }
}
if (fUseClip) {