Simplify specification of default interface
Review URL: http://codereview.appspot.com/5036045/
git-svn-id: http://skia.googlecode.com/svn/trunk@2276 2bbb7eff-a529-9590-31e7-b0007b416f81
diff --git a/samplecode/SampleApp.cpp b/samplecode/SampleApp.cpp
index 7dbec17..bed5459 100644
--- a/samplecode/SampleApp.cpp
+++ b/samplecode/SampleApp.cpp
@@ -81,11 +81,13 @@
DefaultDeviceManager() {
fGrRenderTarget = NULL;
fGrContext = NULL;
+ fGL = NULL;
}
virtual ~DefaultDeviceManager() {
SkSafeUnref(fGrRenderTarget);
SkSafeUnref(fGrContext);
+ SkSafeUnref(fGL);
}
virtual void init(SampleWindow* win) {
@@ -93,7 +95,10 @@
if (NULL == fGrContext) {
fGrContext = GrContext::Create(kOpenGL_Shaders_GrEngine, NULL);
}
- if (NULL == fGrContext) {
+ if (NULL == fGL) {
+ fGL = GrGLDefaultInterface();
+ }
+ if (NULL == fGrContext || NULL == fGL) {
SkDebugf("Failed to setup 3D");
win->detachGL();
}
@@ -153,12 +158,10 @@
desc.fWidth = SkScalarRound(win->width());
desc.fHeight = SkScalarRound(win->height());
desc.fConfig = kRGBA_8888_GrPixelConfig;
- const GrGLInterface* gl = GrGLGetDefaultGLInterface();
- GrAssert(NULL != gl);
- GR_GL_GetIntegerv(gl, GR_GL_STENCIL_BITS, &desc.fStencilBits);
- GR_GL_GetIntegerv(gl, GR_GL_SAMPLES, &desc.fSampleCnt);
+ GR_GL_GetIntegerv(fGL, GR_GL_STENCIL_BITS, &desc.fStencilBits);
+ GR_GL_GetIntegerv(fGL, GR_GL_SAMPLES, &desc.fSampleCnt);
GrGLint buffer;
- GR_GL_GetIntegerv(gl, GR_GL_FRAMEBUFFER_BINDING, &buffer);
+ GR_GL_GetIntegerv(fGL, GR_GL_FRAMEBUFFER_BINDING, &buffer);
desc.fPlatformRenderTarget = buffer;
SkSafeUnref(fGrRenderTarget);
@@ -172,6 +175,7 @@
}
private:
GrContext* fGrContext;
+ const GrGLInterface* fGL;
GrRenderTarget* fGrRenderTarget;
};
@@ -1032,19 +1036,19 @@
canvas->translate(-cx, -cy);
}
if (fPerspAnim) {
- fPerspAnimTime += SampleCode::GetAnimSecondsDelta();
-
- static const SkScalar gAnimPeriod = 10 * SK_Scalar1;
- static const SkScalar gAnimMag = SK_Scalar1 / 1000;
- SkScalar t = SkScalarMod(fPerspAnimTime, gAnimPeriod);
- if (SkScalarFloorToInt(SkScalarDiv(fPerspAnimTime, gAnimPeriod)) & 0x1) {
- t = gAnimPeriod - t;
- }
- t = 2 * t - gAnimPeriod;
- t = SkScalarMul(SkScalarDiv(t, gAnimPeriod), gAnimMag);
- SkMatrix m;
- m.reset();
- m.setPerspY(t);
+ fPerspAnimTime += SampleCode::GetAnimSecondsDelta();
+
+ static const SkScalar gAnimPeriod = 10 * SK_Scalar1;
+ static const SkScalar gAnimMag = SK_Scalar1 / 1000;
+ SkScalar t = SkScalarMod(fPerspAnimTime, gAnimPeriod);
+ if (SkScalarFloorToInt(SkScalarDiv(fPerspAnimTime, gAnimPeriod)) & 0x1) {
+ t = gAnimPeriod - t;
+ }
+ t = 2 * t - gAnimPeriod;
+ t = SkScalarMul(SkScalarDiv(t, gAnimPeriod), gAnimMag);
+ SkMatrix m;
+ m.reset();
+ m.setPerspY(t);
canvas->concat(m);
}