102 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			C
		
	
	
	
			
		
		
	
	
			102 lines
		
	
	
		
			2.7 KiB
		
	
	
	
		
			C
		
	
	
	
/*
 | 
						|
 *
 | 
						|
 * Copyright © 2000, Compaq Computer Corporation, 
 | 
						|
 * Copyright © 2002, Hewlett Packard, Inc.
 | 
						|
 *
 | 
						|
 * Permission to use, copy, modify, distribute, and sell this software and its
 | 
						|
 * documentation for any purpose is hereby granted without fee, provided that
 | 
						|
 * the above copyright notice appear in all copies and that both that
 | 
						|
 * copyright notice and this permission notice appear in supporting
 | 
						|
 * documentation, and that the name of Compaq or HP not be used in advertising
 | 
						|
 * or publicity pertaining to distribution of the software without specific,
 | 
						|
 * written prior permission.  HP makes no representations about the
 | 
						|
 * suitability of this software for any purpose.  It is provided "as is"
 | 
						|
 * without express or implied warranty.
 | 
						|
 *
 | 
						|
 * HP DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL
 | 
						|
 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL HP
 | 
						|
 * BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
 | 
						|
 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
 | 
						|
 * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN 
 | 
						|
 * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 | 
						|
 *
 | 
						|
 * Author:  Jim Gettys, HP Labs, Hewlett-Packard, Inc.
 | 
						|
 */
 | 
						|
 | 
						|
 | 
						|
#ifdef HAVE_DIX_CONFIG_H
 | 
						|
#include <dix-config.h>
 | 
						|
#endif
 | 
						|
 | 
						|
#include "scrnintstr.h"
 | 
						|
#include "mi.h"
 | 
						|
#include <X11/extensions/randr.h>
 | 
						|
#include "randrstr.h"
 | 
						|
#include <stdio.h>
 | 
						|
 | 
						|
/*
 | 
						|
 * This function assumes that only a single depth can be
 | 
						|
 * displayed at a time, but that all visuals of that depth
 | 
						|
 * can be displayed simultaneously.  It further assumes that
 | 
						|
 * only a single size is available.  Hardware providing
 | 
						|
 * additional capabilties should use different code.
 | 
						|
 * XXX what to do here....
 | 
						|
 */
 | 
						|
 | 
						|
Bool
 | 
						|
miRRGetInfo (ScreenPtr pScreen, Rotation *rotations)
 | 
						|
{
 | 
						|
    int	i;
 | 
						|
    Bool setConfig = FALSE;
 | 
						|
    
 | 
						|
    *rotations = RR_Rotate_0;
 | 
						|
    for (i = 0; i < pScreen->numDepths; i++)
 | 
						|
    {
 | 
						|
	if (pScreen->allowedDepths[i].numVids)
 | 
						|
	{
 | 
						|
		RRScreenSizePtr		pSize;
 | 
						|
 | 
						|
		pSize = RRRegisterSize (pScreen,
 | 
						|
					pScreen->width,
 | 
						|
					pScreen->height,
 | 
						|
					pScreen->mmWidth,
 | 
						|
					pScreen->mmHeight);
 | 
						|
		if (!pSize)
 | 
						|
		    return FALSE;
 | 
						|
		if (!setConfig)
 | 
						|
		{
 | 
						|
		    RRSetCurrentConfig (pScreen, RR_Rotate_0, 0, pSize);
 | 
						|
		    setConfig = TRUE;
 | 
						|
		}
 | 
						|
	}
 | 
						|
    }
 | 
						|
    return TRUE;
 | 
						|
}
 | 
						|
 | 
						|
/*
 | 
						|
 * Any hardware that can actually change anything will need something
 | 
						|
 * different here
 | 
						|
 */
 | 
						|
Bool
 | 
						|
miRRSetConfig (ScreenPtr	pScreen,
 | 
						|
	       Rotation		rotation,
 | 
						|
	       int		rate,
 | 
						|
	       RRScreenSizePtr	pSize)
 | 
						|
{
 | 
						|
    return TRUE;
 | 
						|
}
 | 
						|
 | 
						|
 | 
						|
Bool
 | 
						|
miRandRInit (ScreenPtr pScreen)
 | 
						|
{
 | 
						|
    rrScrPrivPtr    rp;
 | 
						|
    
 | 
						|
    if (!RRScreenInit (pScreen))
 | 
						|
	return FALSE;
 | 
						|
    rp = rrGetScrPriv(pScreen);
 | 
						|
    rp->rrGetInfo = miRRGetInfo;
 | 
						|
    rp->rrSetConfig = miRRSetConfig;
 | 
						|
    return TRUE;
 | 
						|
}
 |