diff options
| author | reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> | 2010-12-22 21:39:39 +0000 |
|---|---|---|
| committer | reed@google.com <reed@google.com@2bbb7eff-a529-9590-31e7-b0007b416f81> | 2010-12-22 21:39:39 +0000 |
| commit | ac10a2d039c5d52eed66e27cbbc503ab523c1cd5 (patch) | |
| tree | c5be0c3dd15052016e7d32f376507cb1ea7101dd /samplecode/SampleApp.cpp | |
| parent | ea8509cd3b1771b36054313d3ccd56679df56044 (diff) | |
add gpu backend (not hooked up yet)
git-svn-id: http://skia.googlecode.com/svn/trunk@649 2bbb7eff-a529-9590-31e7-b0007b416f81
Diffstat (limited to 'samplecode/SampleApp.cpp')
| -rw-r--r-- | samplecode/SampleApp.cpp | 40 |
1 files changed, 14 insertions, 26 deletions
diff --git a/samplecode/SampleApp.cpp b/samplecode/SampleApp.cpp index b9e7b48ca3..c33a7fc0fc 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 @@ extern SkView* create_overview(int, const SkViewFactory[]); //#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 @@ SkViewRegister::SkViewRegister(SkViewFactory fact) : fFact(fact) { #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 @@ static GrContext* get_global_grctx(SkOSWindow* oswin) { #endif } return ctx; -#else - return NULL; -#endif } ////////////////////////////////////////////////////////////////////////////// @@ -401,8 +389,7 @@ SkCanvas* SampleWindow::beforeChildren(SkCanvas* canvas) { 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 @@ SkCanvas* SampleWindow::beforeChildren(SkCanvas* canvas) { // 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) { |
