Add image transformation and sub-pixel ordering to Render

This commit is contained in:
Keith Packard 2002-09-26 02:56:48 +00:00
parent a2637ba1f6
commit 5d87199643

View File

@ -49,6 +49,7 @@ unsigned long kdVideoTestTime;
Bool kdEmulateMiddleButton;
Bool kdDisableZaphod;
Bool kdEnabled;
int kdSubpixelOrder;
Bool kdSwitchPending;
DDXPointRec kdOrigin;
@ -583,6 +584,23 @@ KdParseMouse (char *arg)
}
}
void
KdParseRgba (char *rgba)
{
if (!strcmp (rgba, "rgb"))
kdSubpixelOrder = SubPixelHorizontalRGB;
else if (!strcmp (rgba, "bgr"))
kdSubpixelOrder = SubPixelHorizontalBGR;
else if (!strcmp (rgba, "vrgb"))
kdSubpixelOrder = SubPixelVerticalRGB;
else if (!strcmp (rgba, "vbgr"))
kdSubpixelOrder = SubPixelVerticalBGR;
else if (!strcmp (rgba, "none"))
kdSubpixelOrder = SubPixelNone;
else
kdSubpixelOrder = SubPixelUnknown;
}
int
KdProcessArgument (int argc, char **argv, int i)
{
@ -674,6 +692,14 @@ KdProcessArgument (int argc, char **argv, int i)
UseMsg ();
return 2;
}
if (!strcmp (argv[i], "-rgba"))
{
if ((i+1) < argc)
KdParseRgba (argv[i+1]);
else
UseMsg ();
return 2;
}
#ifdef PSEUDO8
return p8ProcessArgument (argc, argv, i);
#else
@ -999,6 +1025,8 @@ KdScreenInit(int index, ScreenPtr pScreen, int argc, char **argv)
return FALSE;
}
PictureSetSubpixelOrder (pScreen, kdSubpixelOrder);
/*
* Enable the hardware
*/