aboutsummaryrefslogtreecommitdiff
path: root/samplecode/SampleApp.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'samplecode/SampleApp.cpp')
-rw-r--r--samplecode/SampleApp.cpp27
1 files changed, 17 insertions, 10 deletions
diff --git a/samplecode/SampleApp.cpp b/samplecode/SampleApp.cpp
index 8d5e13d97f..455559c745 100644
--- a/samplecode/SampleApp.cpp
+++ b/samplecode/SampleApp.cpp
@@ -15,9 +15,7 @@
#include "GrContext.h"
#include "SkTypeface.h"
-#ifdef ANDROID
- #include "gl2.h"
-#endif
+#include "GrGLInterface.h"
#define TEST_GPIPEx
@@ -684,7 +682,20 @@ SkCanvas* SampleWindow::beforeChildren(SkCanvas* canvas) {
const SkBitmap& bitmap = device->accessBitmap(true);
GrRenderTarget* renderTarget;
- renderTarget = fGrContext->createRenderTargetFrom3DApiState();
+
+ GrPlatformSurfaceDesc desc;
+ desc.reset();
+ desc.fSurfaceType = kRenderTarget_GrPlatformSurfaceType;
+ desc.fWidth = bitmap.width();
+ desc.fHeight = bitmap.height();
+ desc.fConfig = kRGBA_8888_GrPixelConfig;
+ desc.fStencilBits = 8;
+ GrGLint buffer;
+ GR_GL_GetIntegerv(GR_GL_FRAMEBUFFER_BINDING, &buffer);
+ desc.fPlatformRenderTarget = buffer;
+
+ renderTarget = static_cast<GrRenderTarget*>(
+ fGrContext->createPlatformSurface(desc));
fGpuCanvas = new SkGpuCanvas(fGrContext, renderTarget);
renderTarget->unref();
@@ -1323,12 +1334,8 @@ void SampleWindow::onSizeChange() {
fZoomCenterX = SkScalarHalf(this->width());
fZoomCenterY = SkScalarHalf(this->height());
-#if defined(SK_BUILD_FOR_UNIX) || defined(ANDROID)
- if (fGrContext) {
- glViewport(0, 0, SkScalarRound(this->width()),
- SkScalarRound(this->height()));
- fGrContext->resetContext();
- }
+#ifdef ANDROID
+ postInvalDelay(this->getSinkID());
#endif
this->updateTitle(); // to refresh our config
}