/*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* under the terms of the GNU General Public License version 2 only, as
* published by the Free Software Foundation. Oracle designates this
* particular file as subject to the "Classpath" exception as provided
* by Oracle in the LICENSE file that accompanied this code.
*
* This code is distributed in the hope that it will be useful, but WITHOUT
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
* version 2 for more details (a copy is included in the LICENSE file that
* accompanied this code).
*
* You should have received a copy of the GNU General Public License version
* 2 along with this work; if not, write to the Free Software Foundation,
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
*
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
* or visit www.oracle.com if you need additional information or have any
* questions.
*/
// This file is available under and governed by the GNU General Public
// License version 2 only, as published by the Free Software Foundation.
// However, the following notice accompanied the original version of this
// file:
//
//---------------------------------------------------------------------------------
//
// Little Color Management System
// Copyright (c) 1998-2010 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,
// 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.
//
//---------------------------------------------------------------------------------
//
#include "lcms2_internal.h"
// ----------------------------------------------------------------------------------
// Encoding & Decoding support functions
// ----------------------------------------------------------------------------------
// Little-Endian to Big-Endian
{
#ifndef CMS_USE_BIG_ENDIAN
#endif
return Word;
}
// Transports to properly encoded values - note that icc profiles does use big endian notation.
// 1 2 3 4
// 4 3 2 1
{
#ifndef CMS_USE_BIG_ENDIAN
#endif
return DWord;
}
// 1 2 3 4 5 6 7 8
// 8 7 6 5 4 3 2 1
{
#ifndef CMS_USE_BIG_ENDIAN
#else
#endif
}
// Auxiliar -- read 8, 16 and 32-bit numbers
{
return FALSE;
return TRUE;
}
{
return FALSE;
return TRUE;
}
{
for (i=0; i < n; i++) {
}
else {
}
}
return TRUE;
}
{
return FALSE;
return TRUE;
}
{
return FALSE;
if (n != NULL) {
*n = *(cmsFloat32Number*) &tmp;
}
return TRUE;
}
{
return FALSE;
return TRUE;
}
{
return FALSE;
if (n != NULL) {
}
return TRUE;
}
// Jun-21-2000: Some profiles (those that comes with W2K) comes
// with the media white (media black?) x 100. Add a sanity check
static
{
while (Dest -> X > 2. &&
Dest -> Y > 2. &&
Dest -> Z > 2.) {
Dest -> X /= 10.;
Dest -> Y /= 10.;
Dest -> Z /= 10.;
}
}
{
}
return TRUE;
}
{
return FALSE;
return TRUE;
}
{
tmp = _cmsAdjustEndianess16(n);
return FALSE;
return TRUE;
}
cmsBool CMSEXPORT _cmsWriteUInt16Array(cmsIOHANDLER* io, cmsUInt32Number n, const cmsUInt16Number* Array)
{
for (i=0; i < n; i++) {
}
return TRUE;
}
{
tmp = _cmsAdjustEndianess32(n);
return FALSE;
return TRUE;
}
{
tmp = *(cmsUInt32Number*) &n;
return FALSE;
return TRUE;
}
{
_cmsAdjustEndianess64(&tmp, n);
return FALSE;
return TRUE;
}
{
return FALSE;
return TRUE;
}
{
}
// from Fixed point 8.8 to double
{
}
{
}
// from Fixed point 15.16 to double
{
}
// from double to Fixed point 15.16
{
}
{
}
{
}
// Read base and return type base
{
return (cmsTagTypeSignature) 0;
}
// Setup base marker
{
}
{
if (BytesToNextAlignedPos == 0) return TRUE;
}
{
if (BytesToNextAlignedPos == 0) return TRUE;
}
// To deal with text streams. 2K at most
{
int len;
return rc;
}
// Plugin memory management -------------------------------------------------------------------------------------------------
// Specialized malloc for plug-ins, that is freed upon exit.
{
if (PluginPool == NULL)
}
// Main plug-in dispatcher
{
return FALSE;
}
return FALSE;
}
case cmsPluginMemHandlerSig:
break;
break;
case cmsPluginTagTypeSig:
break;
case cmsPluginTagSig:
break;
case cmsPluginFormattersSig:
break;
break;
break;
break;
case cmsPluginOptimizationSig:
break;
case cmsPluginTransformSig:
break;
default:
return FALSE;
}
}
// Keep a reference to the plug-in
return TRUE;
}
// Revert all plug-ins to default
{
if (PluginPool != NULL)
PluginPool = NULL;
}