randr: Add Option "Primary" to Monitor sections
This commit is contained in:
		
							parent
							
								
									053bb92145
								
							
						
					
					
						commit
						8fab7f72f2
					
				|  | @ -1389,6 +1389,10 @@ This option controls whether the video card should drive the sync signal | ||||||
| on the green color pin.  Not all cards support this option, and most | on the green color pin.  Not all cards support this option, and most | ||||||
| monitors do not require it.  The default is off. | monitors do not require it.  The default is off. | ||||||
| .TP 7 | .TP 7 | ||||||
|  | .BI "Option " "\*qPrimary\*q  " \*qbool\*q | ||||||
|  | This optional entry specifies that the monitor should be treated as the primary | ||||||
|  | monitor. (RandR 1.2-supporting drivers only) | ||||||
|  | .TP7 | ||||||
| .BI "Option " "\*qPreferredMode\*q  " \*qstring\*q | .BI "Option " "\*qPreferredMode\*q  " \*qstring\*q | ||||||
| This optional entry specifies a mode to be marked as the preferred initial mode | This optional entry specifies a mode to be marked as the preferred initial mode | ||||||
| of the monitor. | of the monitor. | ||||||
|  |  | ||||||
|  | @ -439,6 +439,7 @@ typedef enum { | ||||||
|     OPTION_IGNORE, |     OPTION_IGNORE, | ||||||
|     OPTION_ROTATE, |     OPTION_ROTATE, | ||||||
|     OPTION_PANNING, |     OPTION_PANNING, | ||||||
|  |     OPTION_PRIMARY, | ||||||
| } OutputOpts; | } OutputOpts; | ||||||
| 
 | 
 | ||||||
| static OptionInfoRec xf86OutputOptions[] = { | static OptionInfoRec xf86OutputOptions[] = { | ||||||
|  | @ -455,6 +456,7 @@ static OptionInfoRec xf86OutputOptions[] = { | ||||||
|     {OPTION_IGNORE,	    "Ignore",		OPTV_BOOLEAN, {0}, FALSE }, |     {OPTION_IGNORE,	    "Ignore",		OPTV_BOOLEAN, {0}, FALSE }, | ||||||
|     {OPTION_ROTATE,	    "Rotate",		OPTV_STRING,  {0}, FALSE }, |     {OPTION_ROTATE,	    "Rotate",		OPTV_STRING,  {0}, FALSE }, | ||||||
|     {OPTION_PANNING,	    "Panning",		OPTV_STRING,  {0}, FALSE }, |     {OPTION_PANNING,	    "Panning",		OPTV_STRING,  {0}, FALSE }, | ||||||
|  |     {OPTION_PRIMARY,	    "Primary",		OPTV_BOOLEAN, {0}, FALSE }, | ||||||
|     {-1,		    NULL,		OPTV_NONE,    {0}, FALSE }, |     {-1,		    NULL,		OPTV_NONE,    {0}, FALSE }, | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
|  | @ -587,6 +589,7 @@ xf86OutputCreate (ScrnInfoPtr		    scrn, | ||||||
|     xf86OutputPtr	output, *outputs; |     xf86OutputPtr	output, *outputs; | ||||||
|     xf86CrtcConfigPtr   xf86_config = XF86_CRTC_CONFIG_PTR(scrn); |     xf86CrtcConfigPtr   xf86_config = XF86_CRTC_CONFIG_PTR(scrn); | ||||||
|     int			len; |     int			len; | ||||||
|  |     Bool		primary; | ||||||
| 
 | 
 | ||||||
|     if (name) |     if (name) | ||||||
| 	len = strlen (name) + 1; | 	len = strlen (name) + 1; | ||||||
|  | @ -632,10 +635,22 @@ xf86OutputCreate (ScrnInfoPtr		    scrn, | ||||||
| 	xfree (output); | 	xfree (output); | ||||||
| 	return NULL; | 	return NULL; | ||||||
|     } |     } | ||||||
|      | 
 | ||||||
|     xf86_config->output = outputs; |     xf86_config->output = outputs; | ||||||
|     xf86_config->output[xf86_config->num_output++] = output; | 
 | ||||||
|      |     if (xf86GetOptValBool (output->options, OPTION_PRIMARY, &primary) && primary) | ||||||
|  |     { | ||||||
|  | 	memmove(xf86_config->output + 1, xf86_config->output, | ||||||
|  | 		xf86_config->num_output * sizeof (xf86OutputPtr)); | ||||||
|  | 	xf86_config->output[0] = output; | ||||||
|  |     } | ||||||
|  |     else | ||||||
|  |     { | ||||||
|  | 	xf86_config->output[xf86_config->num_output] = output; | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     xf86_config->num_output++; | ||||||
|  | 
 | ||||||
|     return output; |     return output; | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue