void SkiaWindow::resizeImpl(const gfx::Size& size) { bool gpu = instance()->gpuAcceleration(); (void)gpu; #if SK_SUPPORT_GPU #if SK_ANGLE if (gpu && attachANGLE()) { m_backend = Backend::ANGLE; } else #endif // SK_ANGLE if (gpu && attachGL()) { m_backend = Backend::GL; } else #endif // SK_SUPPORT_GPU { #if SK_SUPPORT_GPU detachGL(); #endif m_backend = Backend::NONE; } #if SK_SUPPORT_GPU if (m_glCtx) createRenderTarget(size); #endif m_display->resize(size); }
// return true on success bool SkOSWindow::attach(SkBackEndTypes attachType, int msaaSampleCount, AttachmentInfo* info) { // attach doubles as "windowResize" so we need to allo // already bound states to pass through again // TODO: split out the resize functionality // SkASSERT(kNone_BackEndType == fAttached); bool result = true; switch (attachType) { case kNone_BackEndType: // nothing to do break; #if SK_SUPPORT_GPU case kNativeGL_BackEndType: result = attachGL(msaaSampleCount, info); break; #if SK_ANGLE case kANGLE_BackEndType: result = attachANGLE(msaaSampleCount, info); break; #endif // SK_ANGLE #endif // SK_SUPPORT_GPU default: SkASSERT(false); result = false; break; } if (result) { fAttached = attachType; } return result; }