]> granicus.if.org Git - imagemagick/blob - utilities/display.c
cf5b73b22486c9339c3abaceb6c982c678426d03
[imagemagick] / utilities / display.c
1 /*
2 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
3 %                                                                             %
4 %                                                                             %
5 %                                                                             %
6 %               DDDD   IIIII  SSSSS  PPPP   L       AAA   Y   Y               %
7 %               D   D    I    SS     P   P  L      A   A   Y Y                %
8 %               D   D    I     SSS   PPPP   L      AAAAA    Y                 %
9 %               D   D    I       SS  P      L      A   A    Y                 %
10 %               DDDD   IIIII  SSSSS  P      LLLLL  A   A    Y                 %
11 %                                                                             %
12 %                                                                             %
13 %                       Interactively Display an Image.                       %
14 %                                                                             %
15 %                             Software Design                                 %
16 %                               John Cristy                                   %
17 %                                July 1992                                    %
18 %                                                                             %
19 %                                                                             %
20 %  Copyright 1999-2014 ImageMagick Studio LLC, a non-profit organization      %
21 %  dedicated to making software imaging solutions freely available.           %
22 %                                                                             %
23 %  You may not use this file except in compliance with the License.  You may  %
24 %  obtain a copy of the License at                                            %
25 %                                                                             %
26 %    http://www.imagemagick.org/script/license.php                            %
27 %                                                                             %
28 %  Unless required by applicable law or agreed to in writing, software        %
29 %  distributed under the License is distributed on an "AS IS" BASIS,          %
30 %  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.   %
31 %  See the License for the specific language governing permissions and        %
32 %  limitations under the License.                                             %
33 %                                                                             %
34 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
35 %
36 %  Display is a machine architecture independent image processing
37 %  and display program.  It can display any image in the MIFF format on
38 %  any workstation display running X.  Display first determines the
39 %  hardware capabilities of the workstation.  If the number of unique
40 %  colors in the image is less than or equal to the number the workstation
41 %  can support, the image is displayed in an X window.  Otherwise the
42 %  number of colors in the image is first reduced to match the color
43 %  resolution of the workstation before it is displayed.
44 %
45 %  This means that a continuous-tone 24 bits-per-pixel image can display on a
46 %  8 bit pseudo-color device or monochrome device.  In most instances the
47 %  reduced color image closely resembles the original.  Alternatively, a
48 %  monochrome or pseudo-color image can display on a continuous-tone 24
49 %  bits-per-pixel device.
50 %
51 %
52 %
53 */
54 \f
55 /*
56   Include declarations.
57 */
58 #include "MagickWand/studio.h"
59 #include "MagickWand/MagickWand.h"
60 \f
61 /*
62 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
63 %                                                                             %
64 %                                                                             %
65 %                                                                             %
66 %  M a i n                                                                    %
67 %                                                                             %
68 %                                                                             %
69 %                                                                             %
70 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
71 %
72 %
73 */
74
75 static int DisplayMain(int argc,char **argv)
76 {
77   ExceptionInfo
78     *exception;
79
80   ImageInfo
81     *image_info;
82
83   MagickBooleanType
84     status;
85
86   MagickCoreGenesis(*argv,MagickTrue);
87   exception=AcquireExceptionInfo();
88   image_info=AcquireImageInfo();
89   status=MagickCommandGenesis(image_info,DisplayImageCommand,argc,argv,
90     (char **) NULL,exception);
91   image_info=DestroyImageInfo(image_info);
92   exception=DestroyExceptionInfo(exception);
93   MagickCoreTerminus();
94   return(status == MagickFalse ? 0 : 1);
95 }
96
97 #if !defined(MAGICKCORE_WINDOWS_SUPPORT) || defined(__CYGWIN__) || defined(__MINGW32__) || defined(__MINGW64__)
98 int main(int argc,char **argv)
99 {
100   return(DisplayMain(argc,argv));
101 }
102 #else
103 int wmain(int argc,wchar_t *argv[])
104 {
105   char
106     **utf8;
107
108   int
109     status;
110
111   register int
112     i;
113
114   utf8=NTArgvToUTF8(argc,argv);
115   status=DisplayMain(argc,utf8);
116   for (i=0; i < argc; i++)
117     utf8[i]=DestroyString(utf8[i]);
118   utf8=(char **) RelinquishMagickMemory(utf8);
119   return(status == MagickFalse ? 0 : 1);
120 }
121 #endif