void MesaDriver::SwapBuffers() const { _mesa_notifySwapBuffers(m_glcontext); if (m_bitmap) { m_bglview->LockLooper(); m_bglview->DrawBitmap(m_bitmap); m_bglview->UnlockLooper(); }; }
void MesaDriver::CopySubBuffer(GLint x, GLint y, GLuint width, GLuint height) const { if (m_bitmap) { // Source bitmap and view's bitmap are same size. // Source and dest rectangle are the same. // Note (x,y) = (0,0) is the lower-left corner, have to flip Y BRect srcAndDest; srcAndDest.left = x; srcAndDest.right = x + width - 1; srcAndDest.bottom = m_bottom - y; srcAndDest.top = srcAndDest.bottom - height + 1; m_bglview->DrawBitmap(m_bitmap, srcAndDest, srcAndDest); } }
void MesaDriver::Draw(BRect updateRect) const { if (m_bitmap) m_bglview->DrawBitmap(m_bitmap, updateRect, updateRect); }