comparison mupdf-source/thirdparty/lcms2/utils/common/utils.h @ 2:b50eed0cc0ef upstream

ADD: MuPDF v1.26.7: the MuPDF source as downloaded by a default build of PyMuPDF 1.26.4. The directory name has changed: no version number in the expanded directory now.
author Franz Glasner <fzglas.hg@dom66.de>
date Mon, 15 Sep 2025 11:43:07 +0200
parents
children
comparison
equal deleted inserted replaced
1:1d09e1dec1d9 2:b50eed0cc0ef
1
2 //---------------------------------------------------------------------------------
3 //
4 // Little Color Management System
5 // Copyright (c) 1998-2023 Marti Maria Saguer
6 //
7 // Permission is hereby granted, free of charge, to any person obtaining
8 // a copy of this software and associated documentation files (the "Software"),
9 // to deal in the Software without restriction, including without limitation
10 // the rights to use, copy, modify, merge, publish, distribute, sublicense,
11 // and/or sell copies of the Software, and to permit persons to whom the Software
12 // is furnished to do so, subject to the following conditions:
13 //
14 // The above copyright notice and this permission notice shall be included in
15 // all copies or substantial portions of the Software.
16 //
17 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
18 // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO
19 // THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
20 // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
21 // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
22 // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
23 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
24 //
25 //---------------------------------------------------------------------------------
26
27 #ifndef _lcms_utils_h
28
29 // Deal with Microsoft's attempt at deprecating C standard runtime functions
30 #ifdef _MSC_VER
31 # if (_MSC_VER >= 1400)
32 # ifndef _CRT_SECURE_NO_DEPRECATE
33 # define _CRT_SECURE_NO_DEPRECATE
34 # endif
35 # ifndef _CRT_SECURE_NO_WARNINGS
36 # define _CRT_SECURE_NO_WARNINGS
37 # endif
38 # endif
39 #endif
40
41 #include "lcms2mt.h"
42
43 #include <string.h>
44 #include <stdarg.h>
45 #include <ctype.h>
46 #include <stdio.h>
47 #include <stdlib.h>
48 #include <ctype.h>
49 #include <math.h>
50 #include <wchar.h>
51
52 // Avoid warnings
53
54 #define UTILS_UNUSED_PARAMETER(x) ((void)x)
55
56 // Init the utility functions
57
58 void InitUtils(cmsContext ContextID, const char* PName);
59
60 // Fatal Error (print the message and exit(1))---------------------------------------------
61
62 extern int Verbose;
63
64 void FatalError(const char *frm, ...);
65
66 // xgetopt() interface -------------------------------------------------------------
67
68 extern int xoptind;
69 extern char *xoptarg;
70
71 int xgetopt(int argc, char *argv[], char *optionS);
72
73 // The stock profile utility -------------------------------------------------------
74
75 cmsHPROFILE OpenStockProfile(cmsContext ContextID, const char* File);
76
77 // The print info utility ----------------------------------------------------------
78
79 void PrintProfileInformation(cmsContext ContextID, cmsHPROFILE h);
80
81 // ---------------------------------------------------------------------------------
82
83 void PrintRenderingIntents(cmsContext ContextID);
84 void PrintBuiltins(void);
85
86 // ---------------------------------------------------------------------------------
87
88 cmsBool SaveMemoryBlock(const cmsUInt8Number* Buffer, cmsUInt32Number dwLen, const char* Filename);
89
90 // ---------------------------------------------------------------------------------
91
92 // Return a pixel type on depending on the number of channels
93 int PixelTypeFromChanCount(int ColorChannels);
94
95 // ------------------------------------------------------------------------------
96
97 // Return number of channels of pixel type
98 int ChanCountFromPixelType(int ColorChannels);
99
100 #define _lcms_utils_h
101 #endif