summaryrefslogtreecommitdiff
path: root/decode_render.c
diff options
context:
space:
mode:
Diffstat (limited to 'decode_render.c')
-rw-r--r--decode_render.c33
1 files changed, 31 insertions, 2 deletions
diff --git a/decode_render.c b/decode_render.c
index 5f62d39..8c254a8 100644
--- a/decode_render.c
+++ b/decode_render.c
@@ -540,8 +540,8 @@ InitializeRENDER(const unsigned char *buf)
DefineType(TRIANGLE, RECORD, "TRIANGLE", PrintTRIANGLE);
DefineType(TRAPEZOID, RECORD, "TRAPEZOID", PrintTRAPEZOID);
DefineType(FILTERALIAS, BUILTIN, "FILTERALIAS", PrintFILTERALIAS);
- DefineType(RENDERTRANSFORM, BUILTIN, "RENDERTRANSFORM",
- PrintRENDERTRANSFORM);
+
+ InitializeCommonRenderTypes();
InitializeExtensionDecoder(RENDERRequest, render_decode_req,
render_decode_reply);
@@ -550,3 +550,32 @@ InitializeRENDER(const unsigned char *buf)
InitializeExtensionErrorDecoder(errcode, render_decode_error);
}
}
+
+/*
+ Types originally defined by Render but now shared with other extensions
+ which may need to initialize the definitions even if the client hasn't
+ made any Render extension calls
+*/
+void
+InitializeCommonRenderTypes(void)
+{
+ static Boolean initialized;
+ TYPE p;
+
+ if (initialized)
+ return;
+ initialized = true;
+
+ DefineType(RENDERTRANSFORM, BUILTIN, "RENDERTRANSFORM",
+ PrintRENDERTRANSFORM);
+
+ /* Subpixel orders included in 0.6 */
+ p = DefineType(SUBPIXEL, ENUMERATED, "SUBPIXEL",
+ (PrintProcType) PrintENUMERATED);
+ DefineEValue(p, 0L, "Unknown");
+ DefineEValue(p, 1L, "SubPixelHorizontalRGB");
+ DefineEValue(p, 2L, "SubPixelHorizontalBGR");
+ DefineEValue(p, 3L, "SubPixelVerticalRGB");
+ DefineEValue(p, 4L, "SubPixelVerticalBGR");
+ DefineEValue(p, 5L, "SubPixelNone");
+}