Lines Matching refs:pScreenshot
653 DECLEXPORT(void) crServerVBoxScreenshotRelease(CR_SCREENSHOT *pScreenshot)
655 if (pScreenshot->fDataAllocated)
657 RTMemFree(pScreenshot->Img.pvData);
658 pScreenshot->fDataAllocated = 0;
662 DECLEXPORT(int) crServerVBoxScreenshotGet(uint32_t u32Screen, uint32_t width, uint32_t height, uint32_t pitch, void *pvBuffer, CR_SCREENSHOT *pScreenshot)
686 pScreenshot->Img.cbData = pScreen->u32LineSize * pScreen->u32Height;
689 pScreenshot->Img.pvData = RTMemAlloc(pScreenshot->Img.cbData);
690 if (!pScreenshot->Img.pvData)
695 pScreenshot->fDataAllocated = 1;
699 pScreenshot->Img.pvData = pvBuffer;
700 pScreenshot->fDataAllocated = 0;
703 pScreenshot->Img.enmFormat = GL_BGRA;
704 pScreenshot->Img.width = width;
705 pScreenshot->Img.height = height;
706 pScreenshot->Img.bpp = 32;
707 pScreenshot->Img.pitch = pitch;
714 int rc = CrFbBltGetContentsEx(hFb, &SrcRectSize, &DstRect, 1, &DstRect, &pScreenshot->Img);
718 crServerVBoxScreenshotRelease(pScreenshot);
724 pScreenshot->Img.cbData = pScreen->u32LineSize * pScreen->u32Height;
726 pScreenshot->Img.pvData = CrFbGetVRAM(hFb);
729 pScreenshot->Img.pvData = pvBuffer;
730 memcpy(pvBuffer, CrFbGetVRAM(hFb), pScreenshot->Img.cbData);
732 pScreenshot->Img.enmFormat = GL_BGRA;
733 pScreenshot->Img.width = pScreen->u32Width;
734 pScreenshot->Img.height = pScreen->u32Height;
735 pScreenshot->Img.bpp = pScreen->u16BitsPerPixel;
736 pScreenshot->Img.pitch = pScreen->u32LineSize;
738 pScreenshot->fDataAllocated = 0;
741 pScreenshot->u32Screen = u32Screen;