xfree86/xv: Factor out the meat of xf86XVWindowExposures for later reuse
No fucntional change. Signed-off-by: Ville Syrjälä <ville.syrjala@nokia.com> Reviewed-by: Luc Verhaegen <luc.verhaegen@basyskom.de>
This commit is contained in:
		
							parent
							
								
									0178173f05
								
							
						
					
					
						commit
						38987aae19
					
				|  | @ -1004,6 +1004,33 @@ xf86XVRemovePortFromWindow(WindowPtr pWin, XvPortRecPrivatePtr portPriv) | |||
|      portPriv->pDraw = NULL; | ||||
| } | ||||
| 
 | ||||
| static void | ||||
| xf86XVReputOrStopPort(XvPortRecPrivatePtr pPriv, | ||||
| 		      WindowPtr pWin, | ||||
| 		      Bool AreasExposed) | ||||
| { | ||||
|     switch (pPriv->type) { | ||||
|     case XvInputMask: | ||||
| 	xf86XVReputVideo(pPriv); | ||||
| 	break; | ||||
|     case XvOutputMask: | ||||
| 	xf86XVRegetVideo(pPriv); | ||||
| 	break; | ||||
|     default:  /* overlaid still/image*/ | ||||
| 	if (pPriv->AdaptorRec->ReputImage) | ||||
| 	    xf86XVReputImage(pPriv); | ||||
| 	else if (AreasExposed) { | ||||
| 	    if (pPriv->isOn == XV_ON) { | ||||
| 		(*pPriv->AdaptorRec->StopVideo)(pPriv->pScrn, pPriv->DevPriv.ptr, FALSE); | ||||
| 		pPriv->isOn = XV_PENDING; | ||||
| 	    } | ||||
| 
 | ||||
| 	    xf86XVRemovePortFromWindow(pWin, pPriv); | ||||
| 	} | ||||
| 	break; | ||||
|     } | ||||
| } | ||||
| 
 | ||||
| /****  ScreenRec fields ****/ | ||||
| 
 | ||||
| static Bool | ||||
|  | @ -1063,32 +1090,8 @@ xf86XVWindowExposures(WindowPtr pWin, RegionPtr reg1, RegionPtr reg2) | |||
|   while(WinPriv) { | ||||
|      pPriv = WinPriv->PortRec; | ||||
| 
 | ||||
|      /* Reput anyone with a reput function */ | ||||
| 
 | ||||
|      switch(pPriv->type) { | ||||
|      case XvInputMask: | ||||
| 	xf86XVReputVideo(pPriv); | ||||
| 	break; | ||||
|      case XvOutputMask: | ||||
| 	xf86XVRegetVideo(pPriv); | ||||
| 	break; | ||||
|      default:  /* overlaid still/image*/ | ||||
| 	if (pPriv->AdaptorRec->ReputImage) | ||||
| 	   xf86XVReputImage(pPriv); | ||||
| 	else if(AreasExposed) { | ||||
| 	    if (pPriv->isOn == XV_ON) { | ||||
| 		(*pPriv->AdaptorRec->StopVideo)( | ||||
| 		    pPriv->pScrn, pPriv->DevPriv.ptr, FALSE); | ||||
| 		pPriv->isOn = XV_PENDING; | ||||
| 	    } | ||||
| 
 | ||||
| 	    WinPriv = WinPriv->next; | ||||
| 	    xf86XVRemovePortFromWindow(pWin, pPriv); | ||||
| 	    continue; | ||||
| 	} | ||||
| 	break; | ||||
|      } | ||||
|      WinPriv = WinPriv->next; | ||||
|      xf86XVReputOrStopPort(pPriv, pWin, AreasExposed); | ||||
|   } | ||||
| } | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue