Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(202)

Unified Diff: third_party/qcms/qcmstypes.h

Issue 9702032: Adding qcms to use for handling ICC tagged images. (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Add qcms to third_party Created 8 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « third_party/qcms/qcmsint.h ('k') | third_party/qcms/transform.c » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: third_party/qcms/qcmstypes.h
diff --git a/third_party/qcms/qcmstypes.h b/third_party/qcms/qcmstypes.h
new file mode 100644
index 0000000000000000000000000000000000000000..56d8de3d15e8b61629a49a64c5ad9c8374a095cc
--- /dev/null
+++ b/third_party/qcms/qcmstypes.h
@@ -0,0 +1,105 @@
+// qcms
+// Copyright (C) 2009 Mozilla Foundation
+//
+// 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 QCMS_TYPES_H
+#define QCMS_TYPES_H
+
+#ifdef MOZ_QCMS
+
+#include "prtypes.h"
+
+/* prtypes.h defines IS_LITTLE_ENDIAN and IS_BIG ENDIAN */
+
+#if defined (__SVR4) && defined (__sun)
+/* int_types.h gets included somehow, so avoid redefining the types differently */
+#include <sys/int_types.h>
+#elif defined (_AIX)
+#include <sys/types.h>
+#elif !defined(ANDROID) && !defined(__OpenBSD__)
+typedef PRInt8 int8_t;
+typedef PRUint8 uint8_t;
+typedef PRInt16 int16_t;
+typedef PRUint16 uint16_t;
+typedef PRInt32 int32_t;
+typedef PRUint32 uint32_t;
+typedef PRInt64 int64_t;
+typedef PRUint64 uint64_t;
+
+#ifdef __OS2__
+/* OS/2's stdlib typdefs uintptr_t. So we'll just include that so we don't collide */
+#include <stdlib.h>
+#elif !defined(__intptr_t_defined) && !defined(_UINTPTR_T_DEFINED)
+typedef PRUptrdiff uintptr_t;
+#endif
+#endif
+
+#else // MOZ_QCMS
+
+#if BYTE_ORDER == LITTLE_ENDIAN
+#define IS_LITTLE_ENDIAN
+#elif BYTE_ORDER == BIG_ENDIAN
+#define IS_BIG_ENDIAN
+#endif
+
+/* all of the platforms that we use _MSC_VER on are little endian
+ * so this is sufficient for now */
+#ifdef _MSC_VER
+#define IS_LITTLE_ENDIAN
+#endif
+
+#ifdef __OS2__
+#define IS_LITTLE_ENDIAN
+#endif
+
+#if !defined(IS_LITTLE_ENDIAN) && !defined(IS_BIG_ENDIAN)
+#error Unknown endianess
+#endif
+
+#if defined (_SVR4) || defined (SVR4) || defined (__OpenBSD__) || defined (_sgi) || defined (__sun) || defined (sun) || defined (__digital__)
+# include <inttypes.h>
+#elif defined (_MSC_VER)
+typedef __int8 int8_t;
+typedef unsigned __int8 uint8_t;
+typedef __int16 int16_t;
+typedef unsigned __int16 uint16_t;
+typedef __int32 int32_t;
+typedef unsigned __int32 uint32_t;
+typedef __int64 int64_t;
+typedef unsigned __int64 uint64_t;
+#ifdef _WIN64
+typedef unsigned __int64 uintptr_t;
+#else
+typedef unsigned long uintptr_t;
+#endif
+
+#elif defined (_AIX)
+# include <sys/inttypes.h>
+#else
+# include <stdint.h>
+#endif
+
+#endif
+
+typedef qcms_bool bool;
+#define true 1
+#define false 0
+
+#endif
« no previous file with comments | « third_party/qcms/qcmsint.h ('k') | third_party/qcms/transform.c » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698