summaryrefslogtreecommitdiff
path: root/lcms2mt/testbed/testcms2.h
diff options
context:
space:
mode:
authorRay Johnston <ray.johnston@artifex.com>2018-03-27 21:21:38 -0700
committerRay Johnston <ray.johnston@artifex.com>2018-03-28 22:08:40 -0700
commit59d82e831e62bdf2e44331d10c88dd7837429dad (patch)
tree72ba496a442a4165d6976e0eae79209a67743bb3 /lcms2mt/testbed/testcms2.h
parent9ff6b34e461fcbd4ef27fbb6c5c8a15071fe1370 (diff)
downloadghostpdl-59d82e831e62bdf2e44331d10c88dd7837429dad.tar.gz
Rename lcms2art to lcms2mt, Remove cmsChangeBuffersFormat
Since cmsChangeBuffersFormat is NOT threadsafe, we want it to remove it so that it would not be part of this package which is inteded for multi- threaded used. The internal use in CreateNamedColorDevicelink was replaced with the appropriate code from the removed function, but that does not cause a thread safety issue since the link returned is new and not shared when the buffer formatters are changed. Note: All internal references to lcms2art are replaced with lcms2mt
Diffstat (limited to 'lcms2mt/testbed/testcms2.h')
-rwxr-xr-xlcms2mt/testbed/testcms2.h84
1 files changed, 84 insertions, 0 deletions
diff --git a/lcms2mt/testbed/testcms2.h b/lcms2mt/testbed/testcms2.h
new file mode 100755
index 000000000..043e64b1c
--- /dev/null
+++ b/lcms2mt/testbed/testcms2.h
@@ -0,0 +1,84 @@
+//---------------------------------------------------------------------------------
+//
+// Little Color Management System
+// Copyright (c) 1998-2014 Marti Maria Saguer
+//
+// Permission is hereby granted, free of charge, to any person obtaining
+// a copy of this software and associated documentation files (the "Software"),
+// to deal in the Software without restriction, including without limitation
+// the rights to use, copy, modify, merge, publish, distribute, sublicense,
+// and/or sell copies of the Software, and to permit persons to whom the Software
+// is furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO
+// THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+//
+//---------------------------------------------------------------------------------
+//
+
+#ifndef TESTCMS2_H
+#define TESTCMS2_H
+
+#ifdef _MSC_VER
+# define _CRT_SECURE_NO_WARNINGS 1
+# include "crtdbg.h"
+# include <io.h>
+#endif
+
+#include "lcms2_internal.h"
+
+#define cmsmin(a, b) (((a) < (b)) ? (a) : (b))
+
+// Used to mark special pointers
+void DebugMemDontCheckThis(void *Ptr);
+
+
+cmsBool IsGoodVal(const char *title, cmsFloat64Number in, cmsFloat64Number out, cmsFloat64Number max);
+cmsBool IsGoodFixed15_16(const char *title, cmsFloat64Number in, cmsFloat64Number out);
+cmsBool IsGoodFixed8_8(const char *title, cmsFloat64Number in, cmsFloat64Number out);
+cmsBool IsGoodWord(const char *title, cmsUInt16Number in, cmsUInt16Number out);
+cmsBool IsGoodWordPrec(const char *title, cmsUInt16Number in, cmsUInt16Number out, cmsUInt16Number maxErr);
+
+void* PluginMemHandler(void);
+cmsContext WatchDogContext(void* usr);
+
+void ResetFatalError(void);
+void Die(const char* Reason, ...);
+void Dot(void);
+void Fail(const char* frm, ...);
+void SubTest(const char* frm, ...);
+void TestMemoryLeaks(cmsBool ok);
+void Say(const char* str);
+
+// Plug-in tests
+cmsInt32Number CheckSimpleContext(void);
+cmsInt32Number CheckAllocContext(void);
+cmsInt32Number CheckAlarmColorsContext(void);
+cmsInt32Number CheckAdaptationStateContext(void);
+cmsInt32Number CheckInterp1DPlugin(void);
+cmsInt32Number CheckInterp3DPlugin(void);
+cmsInt32Number CheckParametricCurvePlugin(void);
+cmsInt32Number CheckFormattersPlugin(void);
+cmsInt32Number CheckTagTypePlugin(void);
+cmsInt32Number CheckMPEPlugin(void);
+cmsInt32Number CheckOptimizationPlugin(void);
+cmsInt32Number CheckIntentPlugin(void);
+cmsInt32Number CheckTransformPlugin(void);
+cmsInt32Number CheckMutexPlugin(void);
+
+
+cmsInt32Number CheckOptimizationPluginLeak(void);
+
+// Zoo
+void CheckProfileZOO(cmsContext ContextID);
+
+#endif
+