mscms: Enumerate registered standard colorspace profiles.

Saulius Krasuckas saulius2 at ar.fi.lt
Tue Jan 10 10:19:07 CST 2006


Log message:
	Saulius Krasuckas <saulius.krasuckas at gmail.com>
	mscms: Enumerate registered standard colorspace profiles before 
	*StandardColorSpaceProfile* tests.


Index: dlls/mscms/tests/profile.c
===================================================================
RCS file: /home/wine/wine/dlls/mscms/tests/profile.c,v
retrieving revision 1.23
diff -p -u -r1.23 profile.c
--- dlls/mscms/tests/profile.c	21 Dec 2005 20:28:45 -0000	1.23
+++ dlls/mscms/tests/profile.c	10 Jan 2006 15:15:35 -0000
@@ -439,6 +439,59 @@ static void test_GetCountColorProfileEle
     }
 }
 
+typedef struct colorspace_description_struct {
+    DWORD dwID;
+    char *szName;
+} colorspace_descr;
+
+#define describe_colorspace(id) {id, #id}
+
+colorspace_descr known_colorspaces[] = { 
+    describe_colorspace(SPACE_XYZ),
+    describe_colorspace(SPACE_Lab),
+    describe_colorspace(SPACE_Luv),
+    describe_colorspace(SPACE_YCbCr),
+    describe_colorspace(SPACE_Yxy),
+    describe_colorspace(SPACE_RGB),
+    describe_colorspace(SPACE_GRAY),
+    describe_colorspace(SPACE_HSV),
+    describe_colorspace(SPACE_HLS),
+    describe_colorspace(SPACE_CMYK),
+    describe_colorspace(SPACE_CMY),
+    describe_colorspace(SPACE_2_CHANNEL),
+    describe_colorspace(SPACE_3_CHANNEL),
+    describe_colorspace(SPACE_4_CHANNEL),
+    describe_colorspace(SPACE_5_CHANNEL),
+    describe_colorspace(SPACE_6_CHANNEL),
+    describe_colorspace(SPACE_7_CHANNEL),
+    describe_colorspace(SPACE_8_CHANNEL)
+};
+
+static void enum_registered_color_profiles(void)
+{
+    BOOL ret;
+    DWORD size, count, i, present;
+    CHAR profile[MAX_PATH];
+
+    size = sizeof(profile);
+    count = sizeof(known_colorspaces)/sizeof(known_colorspaces[0]);
+
+    present = 0;
+    trace("\n");
+    trace("Searching for registered standard colorspace profiles:\n");
+    for (i=0; i<count; i++)
+    {
+        ret = pGetStandardColorSpaceProfileA(NULL, known_colorspaces[i].dwID, profile, &size);
+        if (ret) 
+        {
+            present++;
+            trace(" found %s\n", known_colorspaces[i].szName);
+        }
+    }
+    trace("Total profiles found: %ld.\n", present);
+    trace("\n");
+}
+
 #define fail_GSCSPA(pMachName, dwProfID, pProfName, pdwSz, dwSz, GLE_OK)        \
 do {                                                                            \
     size = dwSz;                                                                \
@@ -1116,6 +1169,8 @@ START_TEST(profile)
 
     test_GetCountColorProfileElements();
 
+    enum_registered_color_profiles();
+
     test_GetStandardColorSpaceProfileA();
     test_GetStandardColorSpaceProfileW();
 



More information about the wine-patches mailing list