void GlCanvas::OnSize( wxSizeEvent & event ) { wxClientDC deviceContext( this ); wxGetApp().SetTargetGlCanvas( * this ); m_pViewport->OnSize( event.GetSize().GetWidth(), event.GetSize().GetHeight() ); }
void CSaveIconView::ThreadProc() { Framework::Win32::CClientDeviceContext deviceContext(m_hWnd); unsigned int nPixelFormat = ChoosePixelFormat(deviceContext, &m_PFD); SetPixelFormat(deviceContext, nPixelFormat, &m_PFD); m_hRC = wglCreateContext(deviceContext); wglMakeCurrent(deviceContext, m_hRC); glEnable(GL_TEXTURE_2D); glClearColor(1.0, 1.0, 1.0, 1.0); while(!m_threadOver) { while(m_mailBox.IsPending()) { m_mailBox.ReceiveCall(); } if(m_iconMesh) { m_iconMesh->Update(16.f / 1000.f); } Render(deviceContext); Sleep(16); } DELETEPTR(m_iconMesh); wglMakeCurrent(NULL, NULL); wglDeleteContext(m_hRC); }
static SkCanvas* createAcceleratedCanvas(const IntSize& size, ImageBufferData* data, DeferralMode deferralMode) { RefPtr<GraphicsContext3D> context3D = SharedGraphicsContext3D::get(); if (!context3D) return 0; GrContext* gr = context3D->grContext(); if (!gr) return 0; gr->resetContext(); GrTextureDesc desc; desc.fFlags = kRenderTarget_GrTextureFlagBit; desc.fSampleCnt = 0; desc.fWidth = size.width(); desc.fHeight = size.height(); desc.fConfig = kSkia8888_PM_GrPixelConfig; SkAutoTUnref<GrTexture> texture(gr->createUncachedTexture(desc, 0, 0)); if (!texture.get()) return 0; SkCanvas* canvas; SkAutoTUnref<SkDevice> device(new SkGpuDevice(gr, texture.get())); if (deferralMode == Deferred) { SkAutoTUnref<AcceleratedDeviceContext> deviceContext(new AcceleratedDeviceContext(context3D.get())); canvas = new SkDeferredCanvas(device.get(), deviceContext.get()); } else canvas = new SkCanvas(device.get()); data->m_platformContext.setAccelerated(true); #if USE(ACCELERATED_COMPOSITING) data->m_platformLayer = Canvas2DLayerChromium::create(context3D.release(), size); data->m_platformLayer->setTextureId(texture.get()->getTextureHandle()); data->m_platformLayer->setCanvas(canvas); #endif return canvas; }
virtual void Render(StyledWindow *window) const { wxAutoBufferedPaintDC deviceContext(window); auto g = std::unique_ptr<wxGraphicsContext>(wxGraphicsContext::Create(deviceContext)); ClearBackground(window, g.get()); DrawCheckbox(window, g.get()); DrawText(window, g.get()); }
SkCanvas* Canvas2DLayerBridge::skCanvas(SkDevice* device) { if (m_deferralMode == Deferred) { SkAutoTUnref<AcceleratedDeviceContext> deviceContext(new AcceleratedDeviceContext(context(), m_layer, m_useDoubleBuffering)); m_canvas = new SkDeferredCanvas(device, deviceContext.get()); } else m_canvas = new SkCanvas(device); return m_canvas; }
virtual void Render(StyledWindow* window) const { wxAutoBufferedPaintDC deviceContext(window); auto textBox = static_cast<StyledTextBox*>(window); auto g = std::unique_ptr<wxGraphicsContext>(wxGraphicsContext::Create(deviceContext)); auto context = g.get(); DrawBackground(context, textBox); DrawSelection(context, textBox); DrawText(context, textBox); DrawCursor(context, textBox); }
void GlCanvas::OnFirstPaint( wxPaintEvent & event ) { Unbind( wxEVT_PAINT, & GlCanvas::OnFirstPaint, this ); wxPaintDC deviceContext( this ); wxGetApp().InitGlContext( * this ); const wxSize clientSize = GetClientSize(); m_pViewport.reset( new Viewport( clientSize.x, clientSize.y ) ); Bind( wxEVT_SIZE, & GlCanvas::OnSize, this ); Bind( wxEVT_PAINT, & GlCanvas::OnPaint, this ); Render(); }
void GlCanvas::RenderImmediate() { wxClientDC deviceContext( this ); Render(); }
void GlCanvas::OnPaint( wxPaintEvent & event ) { wxPaintDC deviceContext( this ); Render(); }