Lines Matching defs:pEntry

103 static DECLCALLBACK(bool) crVrScrCompositorRectsCounterCb(PVBOXVR_COMPOSITOR pCompositor, PVBOXVR_COMPOSITOR_ENTRY pEntry,
107 Assert(VBoxVrListRectsCount(&pEntry->Vr));
108 *pCounter += VBoxVrListRectsCount(&pEntry->Vr);
125 PVBOXVR_SCR_COMPOSITOR_ENTRY pEntry = VBOXVR_SCR_COMPOSITOR_ENTRY_FROM_ENTRY(pCEntry);
126 pEntry->paSrcRects = pData->paSrcRects;
127 pEntry->paDstRects = pData->paDstRects;
128 pEntry->paDstUnstretchedRects = pData->paDstUnstretchedRects;
132 int rc = VBoxVrListRectsGet(&pCEntry->Vr, cRects, pEntry->paDstUnstretchedRects);
135 if (!pEntry->Rect.xLeft && !pEntry->Rect.yTop)
137 memcpy(pEntry->paSrcRects, pEntry->paDstUnstretchedRects, cRects * sizeof(*pEntry->paSrcRects));
143 pEntry->paSrcRects[i].xLeft = (int32_t)((pEntry->paDstUnstretchedRects[i].xLeft - pEntry->Rect.xLeft));
144 pEntry->paSrcRects[i].yTop = (int32_t)((pEntry->paDstUnstretchedRects[i].yTop - pEntry->Rect.yTop));
145 pEntry->paSrcRects[i].xRight = (int32_t)((pEntry->paDstUnstretchedRects[i].xRight - pEntry->Rect.xLeft));
146 pEntry->paSrcRects[i].yBottom = (int32_t)((pEntry->paDstUnstretchedRects[i].yBottom - pEntry->Rect.yTop));
157 pEntry->paDstRects[i].xLeft = (int32_t)(pEntry->paDstUnstretchedRects[i].xLeft * pCompositor->StretchX);
158 pEntry->paDstRects[i].xRight = (int32_t)(pEntry->paDstUnstretchedRects[i].xRight * pCompositor->StretchX);
162 pEntry->paDstRects[i].yTop = (int32_t)(pEntry->paDstUnstretchedRects[i].yTop * pCompositor->StretchY);
163 pEntry->paDstRects[i].yBottom = (int32_t)(pEntry->paDstUnstretchedRects[i].yBottom * pCompositor->StretchY);
170 memcpy(pEntry->paDstRects, pEntry->paDstUnstretchedRects, cRects * sizeof(*pEntry->paDstUnstretchedRects));
182 PRTRECT pOrigRect = &pEntry->paDstRects[iOrig];
189 PRTRECT pNewRect = &pEntry->paSrcRects[iNew];
208 pEntry->cRects = cRects;
247 static int crVrScrCompositorEntryRegionsAdd(PVBOXVR_SCR_COMPOSITOR pCompositor, PVBOXVR_SCR_COMPOSITOR_ENTRY pEntry,
253 int rc = VBoxVrCompositorEntryRegionsAdd(&pCompositor->Compositor, pEntry ? &pEntry->Ce : NULL, cRegions,
270 else if ((fChangedFlags & VBOXVR_COMPOSITOR_CF_ENTRY_REGIONS_CHANGED) && pEntry)
271 CrVrScrCompositorEntrySetChanged(pEntry, true);
282 static int crVrScrCompositorEntryRegionsSet(PVBOXVR_SCR_COMPOSITOR pCompositor, PVBOXVR_SCR_COMPOSITOR_ENTRY pEntry,
286 int rc = VBoxVrCompositorEntryRegionsSet(&pCompositor->Compositor, &pEntry->Ce, cRegions, paRegions, &fChanged);
296 if (!CrVrScrCompositorEntryIsInList(pEntry))
298 pEntry->cRects = 0;
299 pEntry->paSrcRects = NULL;
300 pEntry->paDstRects = NULL;
301 pEntry->paDstUnstretchedRects = NULL;
312 static int crVrScrCompositorEntryPositionSet(PVBOXVR_SCR_COMPOSITOR pCompositor, PVBOXVR_SCR_COMPOSITOR_ENTRY pEntry,
317 if (pEntry && (pEntry->Rect.xLeft != pPos->x || pEntry->Rect.yTop != pPos->y))
319 if (VBoxVrCompositorEntryIsInList(&pEntry->Ce))
321 int rc = VBoxVrCompositorEntryRegionsTranslate(&pCompositor->Compositor, &pEntry->Ce, pPos->x - pEntry->Rect.xLeft,
322 pPos->y - pEntry->Rect.yTop, pfChanged);
332 VBoxRectMove(&pEntry->Rect, pPos->x, pPos->y);
333 CrVrScrCompositorEntrySetChanged(pEntry, true);
341 static int crVrScrCompositorEntryEnsureRegionsBounds(PVBOXVR_SCR_COMPOSITOR pCompositor, PVBOXVR_SCR_COMPOSITOR_ENTRY pEntry,
345 Rect.xLeft = RT_MAX(pCompositor->Rect.xLeft, pEntry->Rect.xLeft);
346 Rect.yTop = RT_MAX(pCompositor->Rect.yTop, pEntry->Rect.yTop);
347 Rect.xRight = RT_MIN(pCompositor->Rect.xRight, pEntry->Rect.xRight);
348 Rect.yBottom = RT_MIN(pCompositor->Rect.yBottom, pEntry->Rect.yBottom);
354 int rc = CrVrScrCompositorEntryRegionsIntersect(pCompositor, pEntry, 1, &Rect, &fChanged);
363 VBOXVREGDECL(int) CrVrScrCompositorEntryRegionsAdd(PVBOXVR_SCR_COMPOSITOR pCompositor, PVBOXVR_SCR_COMPOSITOR_ENTRY pEntry,
374 rc = crVrScrCompositorEntryPositionSet(pCompositor, pEntry, pPos, &fPosChanged);
384 if (!pEntry)
390 if (cRegions && (pEntry->Rect.xLeft || pEntry->Rect.yTop))
401 VBoxRectTranslate(&paTranslatedRects[i], pEntry->Rect.xLeft, pEntry->Rect.yTop);
407 rc = crVrScrCompositorEntryRegionsAdd(pCompositor, pEntry, cRegions, paRegions, ppReplacedScrEntry, &fChangeFlags);
414 if ((fPosChanged || (fChangeFlags & VBOXVR_COMPOSITOR_CF_ENTRY_REGIONS_CHANGED)) && pEntry)
417 rc = crVrScrCompositorEntryEnsureRegionsBounds(pCompositor, pEntry, &fAdjusted);
426 if (CrVrScrCompositorEntryIsUsed(pEntry))
463 VBOXVREGDECL(int) CrVrScrCompositorEntryRectSet(PVBOXVR_SCR_COMPOSITOR pCompositor, PVBOXVR_SCR_COMPOSITOR_ENTRY pEntry,
466 if (!memcmp(&pEntry->Rect, pRect, sizeof(*pRect)))
472 int rc = crVrScrCompositorEntryPositionSet(pCompositor, pEntry, &Point, &fChanged);
479 pEntry->Rect = *pRect;
481 if (!CrVrScrCompositorEntryIsUsed(pEntry))
484 rc = crVrScrCompositorEntryEnsureRegionsBounds(pCompositor, pEntry, NULL);
494 VBOXVREGDECL(int) CrVrScrCompositorEntryTexAssign(PVBOXVR_SCR_COMPOSITOR pCompositor, PVBOXVR_SCR_COMPOSITOR_ENTRY pEntry,
497 if (pEntry->pTex == pTex)
500 if (pEntry->pTex)
501 CrTdRelease(pEntry->pTex);
504 pEntry->pTex = pTex;
508 VBOXVREGDECL(int) CrVrScrCompositorEntryRegionsSet(PVBOXVR_SCR_COMPOSITOR pCompositor, PVBOXVR_SCR_COMPOSITOR_ENTRY pEntry,
514 bool fWasInList = CrVrScrCompositorEntryIsInList(pEntry);
516 int rc = CrVrScrCompositorEntryRemove(pCompositor, pEntry);
525 rc = crVrScrCompositorEntryPositionSet(pCompositor, pEntry, pPos, &fPosChanged);
535 if (!pEntry)
541 if (cRegions && (pEntry->Rect.xLeft || pEntry->Rect.yTop))
552 VBoxRectTranslate(&paTranslatedRects[i], pEntry->Rect.xLeft, pEntry->Rect.yTop);
558 rc = crVrScrCompositorEntryRegionsSet(pCompositor, pEntry, cRegions, paRegions, &fChanged);
561 if (fChanged && CrVrScrCompositorEntryIsUsed(pEntry))
563 rc = crVrScrCompositorEntryEnsureRegionsBounds(pCompositor, pEntry, NULL);
583 VBOXVREGDECL(int) CrVrScrCompositorEntryListIntersect(PVBOXVR_SCR_COMPOSITOR pCompositor, PVBOXVR_SCR_COMPOSITOR_ENTRY pEntry,
587 int rc = VBoxVrCompositorEntryListIntersect(&pCompositor->Compositor, &pEntry->Ce, pList2, &fChanged);
596 CrVrScrCompositorEntrySetChanged(pEntry, true);
606 VBOXVREGDECL(int) CrVrScrCompositorEntryRegionsIntersect(PVBOXVR_SCR_COMPOSITOR pCompositor, PVBOXVR_SCR_COMPOSITOR_ENTRY pEntry,
610 int rc = VBoxVrCompositorEntryRegionsIntersect(&pCompositor->Compositor, &pEntry->Ce, cRegions, paRegions, &fChanged);
630 PVBOXVR_SCR_COMPOSITOR_ENTRY pEntry;
634 while ((pEntry = CrVrScrCompositorIterNext(&Iter)) != NULL)
637 int tmpRc = CrVrScrCompositorEntryListIntersect(pCompositor, pEntry, pList2, &fTmpChanged);
660 PVBOXVR_SCR_COMPOSITOR_ENTRY pEntry;
664 while ((pEntry = CrVrScrCompositorIterNext(&Iter)) != NULL)
667 int tmpRc = CrVrScrCompositorEntryRegionsIntersect(pCompositor, pEntry, cRegions, paRegions, &fTmpChanged);
685 VBOXVREGDECL(int) CrVrScrCompositorEntryPosSet(PVBOXVR_SCR_COMPOSITOR pCompositor, PVBOXVR_SCR_COMPOSITOR_ENTRY pEntry,
688 int rc = crVrScrCompositorEntryPositionSet(pCompositor, pEntry, pPos, NULL);
695 rc = crVrScrCompositorEntryEnsureRegionsBounds(pCompositor, pEntry, NULL);
707 PCVBOXVR_SCR_COMPOSITOR_ENTRY pEntry, uint32_t *pcRegions,
711 if (CrVrScrCompositorEntryIsUsed(pEntry))
723 *pcRegions = pEntry->cRects;
725 *ppaSrcRegions = pEntry->paSrcRects;
727 *ppaDstRegions = pEntry->paDstRects;
729 *ppaDstUnstretchedRects = pEntry->paDstUnstretchedRects;
735 PCVBOXVR_SCR_COMPOSITOR_ENTRY pEntry)
737 return CRBLT_FOP_COMBINE(pCompositor->fFlags, pEntry->fFlags);
740 VBOXVREGDECL(void) CrVrScrCompositorEntryFlagsSet(PVBOXVR_SCR_COMPOSITOR_ENTRY pEntry, uint32_t fFlags)
742 if (pEntry->fFlags == fFlags)
745 pEntry->fFlags = fFlags;
746 CrVrScrCompositorEntrySetChanged(pEntry, true);
749 static void crVrScrCompositorEntryDataCleanup(PVBOXVR_SCR_COMPOSITOR_ENTRY pEntry)
751 pEntry->cRects = 0;
752 pEntry->paSrcRects = NULL;
753 pEntry->paDstRects = NULL;
754 pEntry->paDstUnstretchedRects = NULL;
757 static void crVrScrCompositorEntryDataCopy(PVBOXVR_SCR_COMPOSITOR_ENTRY pEntry, PVBOXVR_SCR_COMPOSITOR_ENTRY pToEntry)
759 pToEntry->cRects = pEntry->cRects;
760 pToEntry->paSrcRects = pEntry->paSrcRects;
761 pToEntry->paDstRects = pEntry->paDstRects;
762 pToEntry->paDstUnstretchedRects = pEntry->paDstUnstretchedRects;
763 crVrScrCompositorEntryDataCleanup(pEntry);
766 VBOXVREGDECL(int) CrVrScrCompositorEntryRemove(PVBOXVR_SCR_COMPOSITOR pCompositor, PVBOXVR_SCR_COMPOSITOR_ENTRY pEntry)
768 if (!VBoxVrCompositorEntryRemove(&pCompositor->Compositor, &pEntry->Ce))
771 CrVrScrCompositorEntrySetChanged(pEntry, true);
772 crVrScrCompositorEntryDataCleanup(pEntry);
778 VBOXVREGDECL(bool) CrVrScrCompositorEntryReplace(PVBOXVR_SCR_COMPOSITOR pCompositor, PVBOXVR_SCR_COMPOSITOR_ENTRY pEntry,
783 if (!VBoxVrCompositorEntryReplace(&pCompositor->Compositor, &pEntry->Ce, &pNewEntry->Ce))
786 CrVrScrCompositorEntrySetChanged(pEntry, true);
787 crVrScrCompositorEntryDataCopy(pEntry, pNewEntry);
794 PVBOXVR_COMPOSITOR_ENTRY pEntry,
797 PVBOXVR_SCR_COMPOSITOR_ENTRY pCEntry = VBOXVR_SCR_COMPOSITOR_ENTRY_FROM_ENTRY(pEntry);
835 PVBOXVR_SCR_COMPOSITOR_ENTRY pEntry;
836 while ((pEntry = CrVrScrCompositorIterNext(&Iter)) != NULL)
838 int rc = crVrScrCompositorEntryEnsureRegionsBounds(pCompositor, pEntry, NULL);
954 PVBOXVR_SCR_COMPOSITOR_ENTRY pEntry = VBOXVR_SCR_COMPOSITOR_ENTRY_FROM_ENTRY(pCEntry);
955 return pData->pfnVisitor(pCompositor, pEntry, pData->pvVisitor);
973 PCVBOXVR_SCR_COMPOSITOR_ENTRY pEntry;
979 while ((pEntry = CrVrScrCompositorConstIterNext(&CIter)) != NULL)
982 rc = CrVrScrCompositorEntryRegionsGet(pCompositor, pEntry, &cRects, NULL, NULL, &paRects);
989 PVBOXVR_SCR_COMPOSITOR_ENTRY pDstEntry = pfnEntryFor(pEntry, pvEntryFor);
1010 PVBOXVR_SCR_COMPOSITOR_ENTRY pEntry;
1015 while ((pEntry = CrVrScrCompositorIterNext(&CIter)) != NULL)
1019 rc = CrVrScrCompositorEntryListIntersect(pCompositor, pEntry, pVr, &fCurChanged);