GraphicsMagick: 2 new changesets
GraphicsMagick Commits <[email protected]>
| Newsgroups | gmane.comp.video.graphicsmagick.cvs |
|---|---|
| Message-ID | <mailman.46629.1647820601.1940.graphicsmagick-commit@lists.sourceforge.net> |
changeset 4cc6ea767a60 in /hg/GraphicsMagick
details: http://hg.GraphicsMagick.org/hg/GraphicsMagick?cmd=changeset;node=4cc6ea767a60
summary: Add some more documentation regarding GraphicsMagick types.
changeset ad47a349ee9e in /hg/GraphicsMagick
details: http://hg.GraphicsMagick.org/hg/GraphicsMagick?cmd=changeset;node=ad47a349ee9e
summary: Include SyncImage() in the public documentation
diffstat:
magick/image.c | 6 +-
www/api/image.html | 166 ++++++++++++++++++++++++++++++----------------------
www/api/types.html | 90 ++++++++++++++++++++++-----
www/api/types.rst | 82 ++++++++++++++++++++-----
4 files changed, 236 insertions(+), 108 deletions(-)
diffs (truncated from 695 to 500 lines):
diff -r 4b36e9f2850b -r ad47a349ee9e magick/image.c
--- a/magick/image.c Sun Mar 20 10:12:50 2022 -0500
+++ b/magick/image.c Sun Mar 20 18:56:29 2022 -0500
@@ -3730,14 +3730,16 @@
% %
% %
% %
-+ S y n c I m a g e %
+% S y n c I m a g e %
% %
% %
% %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% Method SyncImage initializes the red, green, and blue intensities of each
-% pixel as defined by the colormap index.
+% pixel as defined by the colormap index and the current image colormap.
+% This is a helper function to update the DirectClass representation of
+% the image pixels after the PseudoClass representation has been updated.
%
% The format of the SyncImage method is:
%
diff -r 4b36e9f2850b -r ad47a349ee9e www/api/image.html
--- a/www/api/image.html Sun Mar 20 10:12:50 2022 -0500
+++ b/www/api/image.html Sun Mar 20 18:56:29 2022 -0500
@@ -39,45 +39,46 @@
<div class="contents topic" id="contents">
<p class="topic-title">Contents</p>
<ul class="simple">
-<li><a class="reference internal" href="#accessdefinition" id="id70">AccessDefinition</a></li>
-<li><a class="reference internal" href="#adddefinition" id="id71">AddDefinition</a></li>
-<li><a class="reference internal" href="#adddefinitions" id="id72">AddDefinitions</a></li>
-<li><a class="reference internal" href="#allocateimage" id="id73">AllocateImage</a></li>
-<li><a class="reference internal" href="#allocatenextimage" id="id74">AllocateNextImage</a></li>
-<li><a class="reference internal" href="#animateimages" id="id75">AnimateImages</a></li>
-<li><a class="reference internal" href="#appendimages" id="id76">AppendImages</a></li>
-<li><a class="reference internal" href="#catchimageexception" id="id77">CatchImageException</a></li>
-<li><a class="reference internal" href="#clippathimage" id="id78">ClipPathImage</a></li>
-<li><a class="reference internal" href="#compositepathimage" id="id79">CompositePathImage</a></li>
-<li><a class="reference internal" href="#cloneimage" id="id80">CloneImage</a></li>
-<li><a class="reference internal" href="#cloneimageinfo" id="id81">CloneImageInfo</a></li>
-<li><a class="reference internal" href="#destroyimage" id="id82">DestroyImage</a></li>
-<li><a class="reference internal" href="#destroyimageinfo" id="id83">DestroyImageInfo</a></li>
-<li><a class="reference internal" href="#displayimages" id="id84">DisplayImages</a></li>
-<li><a class="reference internal" href="#getimageclipmask" id="id85">GetImageClipMask</a></li>
-<li><a class="reference internal" href="#getimagecompositemask" id="id86">GetImageCompositeMask</a></li>
-<li><a class="reference internal" href="#getimageexception" id="id87">GetImageException</a></li>
-<li><a class="reference internal" href="#getimagegeometry" id="id88">GetImageGeometry</a></li>
-<li><a class="reference internal" href="#getimageinfo" id="id89">GetImageInfo</a></li>
-<li><a class="reference internal" href="#istaintimage" id="id90">IsTaintImage</a></li>
-<li><a class="reference internal" href="#modifyimage" id="id91">ModifyImage</a></li>
-<li><a class="reference internal" href="#referenceimage" id="id92">ReferenceImage</a></li>
-<li><a class="reference internal" href="#removedefinitions" id="id93">RemoveDefinitions</a></li>
-<li><a class="reference internal" href="#resetimagepage" id="id94">ResetImagePage</a></li>
-<li><a class="reference internal" href="#setimageex" id="id95">SetImageEx</a></li>
-<li><a class="reference internal" href="#setimage" id="id96">SetImage</a></li>
-<li><a class="reference internal" href="#setimagecolor" id="id97">SetImageColor</a></li>
-<li><a class="reference internal" href="#setimagecolorregion" id="id98">SetImageColorRegion</a></li>
-<li><a class="reference internal" href="#setimageclipmask" id="id99">SetImageClipMask</a></li>
-<li><a class="reference internal" href="#setimagecompositemask" id="id100">SetImageCompositeMask</a></li>
-<li><a class="reference internal" href="#setimagedepth" id="id101">SetImageDepth</a></li>
-<li><a class="reference internal" href="#setimageopacity" id="id102">SetImageOpacity</a></li>
-<li><a class="reference internal" href="#setimagetype" id="id103">SetImageType</a></li>
-<li><a class="reference internal" href="#stripimage" id="id104">StripImage</a></li>
+<li><a class="reference internal" href="#accessdefinition" id="id72">AccessDefinition</a></li>
+<li><a class="reference internal" href="#adddefinition" id="id73">AddDefinition</a></li>
+<li><a class="reference internal" href="#adddefinitions" id="id74">AddDefinitions</a></li>
+<li><a class="reference internal" href="#allocateimage" id="id75">AllocateImage</a></li>
+<li><a class="reference internal" href="#allocatenextimage" id="id76">AllocateNextImage</a></li>
+<li><a class="reference internal" href="#animateimages" id="id77">AnimateImages</a></li>
+<li><a class="reference internal" href="#appendimages" id="id78">AppendImages</a></li>
+<li><a class="reference internal" href="#catchimageexception" id="id79">CatchImageException</a></li>
+<li><a class="reference internal" href="#clippathimage" id="id80">ClipPathImage</a></li>
+<li><a class="reference internal" href="#compositepathimage" id="id81">CompositePathImage</a></li>
+<li><a class="reference internal" href="#cloneimage" id="id82">CloneImage</a></li>
+<li><a class="reference internal" href="#cloneimageinfo" id="id83">CloneImageInfo</a></li>
+<li><a class="reference internal" href="#destroyimage" id="id84">DestroyImage</a></li>
+<li><a class="reference internal" href="#destroyimageinfo" id="id85">DestroyImageInfo</a></li>
+<li><a class="reference internal" href="#displayimages" id="id86">DisplayImages</a></li>
+<li><a class="reference internal" href="#getimageclipmask" id="id87">GetImageClipMask</a></li>
+<li><a class="reference internal" href="#getimagecompositemask" id="id88">GetImageCompositeMask</a></li>
+<li><a class="reference internal" href="#getimageexception" id="id89">GetImageException</a></li>
+<li><a class="reference internal" href="#getimagegeometry" id="id90">GetImageGeometry</a></li>
+<li><a class="reference internal" href="#getimageinfo" id="id91">GetImageInfo</a></li>
+<li><a class="reference internal" href="#istaintimage" id="id92">IsTaintImage</a></li>
+<li><a class="reference internal" href="#modifyimage" id="id93">ModifyImage</a></li>
+<li><a class="reference internal" href="#referenceimage" id="id94">ReferenceImage</a></li>
+<li><a class="reference internal" href="#removedefinitions" id="id95">RemoveDefinitions</a></li>
+<li><a class="reference internal" href="#resetimagepage" id="id96">ResetImagePage</a></li>
+<li><a class="reference internal" href="#setimageex" id="id97">SetImageEx</a></li>
+<li><a class="reference internal" href="#setimage" id="id98">SetImage</a></li>
+<li><a class="reference internal" href="#setimagecolor" id="id99">SetImageColor</a></li>
+<li><a class="reference internal" href="#setimagecolorregion" id="id100">SetImageColorRegion</a></li>
+<li><a class="reference internal" href="#setimageclipmask" id="id101">SetImageClipMask</a></li>
+<li><a class="reference internal" href="#setimagecompositemask" id="id102">SetImageCompositeMask</a></li>
+<li><a class="reference internal" href="#setimagedepth" id="id103">SetImageDepth</a></li>
+<li><a class="reference internal" href="#setimageopacity" id="id104">SetImageOpacity</a></li>
+<li><a class="reference internal" href="#setimagetype" id="id105">SetImageType</a></li>
+<li><a class="reference internal" href="#stripimage" id="id106">StripImage</a></li>
+<li><a class="reference internal" href="#syncimage" id="id107">SyncImage</a></li>
</ul>
</div>
<div class="section" id="accessdefinition">
-<h1><a class="toc-backref" href="#id70">AccessDefinition</a></h1>
+<h1><a class="toc-backref" href="#id72">AccessDefinition</a></h1>
<div class="section" id="synopsis">
<h2>Synopsis</h2>
<pre class="literal-block">
@@ -105,7 +106,7 @@
</div>
</div>
<div class="section" id="adddefinition">
-<h1><a class="toc-backref" href="#id71">AddDefinition</a></h1>
+<h1><a class="toc-backref" href="#id73">AddDefinition</a></h1>
<div class="section" id="id2">
<h2>Synopsis</h2>
<pre class="literal-block">
@@ -138,7 +139,7 @@
</div>
</div>
<div class="section" id="adddefinitions">
-<h1><a class="toc-backref" href="#id72">AddDefinitions</a></h1>
+<h1><a class="toc-backref" href="#id74">AddDefinitions</a></h1>
<div class="section" id="id4">
<h2>Synopsis</h2>
<pre class="literal-block">
@@ -169,7 +170,7 @@
</div>
</div>
<div class="section" id="allocateimage">
-<h1><a class="toc-backref" href="#id73">AllocateImage</a></h1>
+<h1><a class="toc-backref" href="#id75">AllocateImage</a></h1>
<div class="section" id="id6">
<h2>Synopsis</h2>
<pre class="literal-block">
@@ -195,7 +196,7 @@
</div>
</div>
<div class="section" id="allocatenextimage">
-<h1><a class="toc-backref" href="#id74">AllocateNextImage</a></h1>
+<h1><a class="toc-backref" href="#id76">AllocateNextImage</a></h1>
<div class="section" id="id8">
<h2>Synopsis</h2>
<pre class="literal-block">
@@ -225,7 +226,7 @@
</div>
</div>
<div class="section" id="animateimages">
-<h1><a class="toc-backref" href="#id75">AnimateImages</a></h1>
+<h1><a class="toc-backref" href="#id77">AnimateImages</a></h1>
<div class="section" id="id10">
<h2>Synopsis</h2>
<pre class="literal-block">
@@ -251,7 +252,7 @@
</div>
</div>
<div class="section" id="appendimages">
-<h1><a class="toc-backref" href="#id76">AppendImages</a></h1>
+<h1><a class="toc-backref" href="#id78">AppendImages</a></h1>
<div class="section" id="id12">
<h2>Synopsis</h2>
<pre class="literal-block">
@@ -279,7 +280,7 @@
</div>
</div>
<div class="section" id="catchimageexception">
-<h1><a class="toc-backref" href="#id77">CatchImageException</a></h1>
+<h1><a class="toc-backref" href="#id79">CatchImageException</a></h1>
<div class="section" id="id14">
<h2>Synopsis</h2>
<pre class="literal-block">
@@ -303,7 +304,7 @@
</div>
</div>
<div class="section" id="clippathimage">
-<h1><a class="toc-backref" href="#id78">ClipPathImage</a></h1>
+<h1><a class="toc-backref" href="#id80">ClipPathImage</a></h1>
<div class="section" id="id16">
<h2>Synopsis</h2>
<pre class="literal-block">
@@ -333,7 +334,7 @@
</div>
</div>
<div class="section" id="compositepathimage">
-<h1><a class="toc-backref" href="#id79">CompositePathImage</a></h1>
+<h1><a class="toc-backref" href="#id81">CompositePathImage</a></h1>
<div class="section" id="id18">
<h2>Synopsis</h2>
<pre class="literal-block">
@@ -363,7 +364,7 @@
</div>
</div>
<div class="section" id="cloneimage">
-<h1><a class="toc-backref" href="#id80">CloneImage</a></h1>
+<h1><a class="toc-backref" href="#id82">CloneImage</a></h1>
<div class="section" id="id20">
<h2>Synopsis</h2>
<pre class="literal-block">
@@ -404,7 +405,7 @@
</div>
</div>
<div class="section" id="cloneimageinfo">
-<h1><a class="toc-backref" href="#id81">CloneImageInfo</a></h1>
+<h1><a class="toc-backref" href="#id83">CloneImageInfo</a></h1>
<div class="section" id="id22">
<h2>Synopsis</h2>
<pre class="literal-block">
@@ -428,7 +429,7 @@
</div>
</div>
<div class="section" id="destroyimage">
-<h1><a class="toc-backref" href="#id82">DestroyImage</a></h1>
+<h1><a class="toc-backref" href="#id84">DestroyImage</a></h1>
<div class="section" id="id24">
<h2>Synopsis</h2>
<pre class="literal-block">
@@ -455,7 +456,7 @@
</div>
</div>
<div class="section" id="destroyimageinfo">
-<h1><a class="toc-backref" href="#id83">DestroyImageInfo</a></h1>
+<h1><a class="toc-backref" href="#id85">DestroyImageInfo</a></h1>
<div class="section" id="id26">
<h2>Synopsis</h2>
<pre class="literal-block">
@@ -478,7 +479,7 @@
</div>
</div>
<div class="section" id="displayimages">
-<h1><a class="toc-backref" href="#id84">DisplayImages</a></h1>
+<h1><a class="toc-backref" href="#id86">DisplayImages</a></h1>
<div class="section" id="id28">
<h2>Synopsis</h2>
<pre class="literal-block">
@@ -504,7 +505,7 @@
</div>
</div>
<div class="section" id="getimageclipmask">
-<h1><a class="toc-backref" href="#id85">GetImageClipMask</a></h1>
+<h1><a class="toc-backref" href="#id87">GetImageClipMask</a></h1>
<div class="section" id="id30">
<h2>Synopsis</h2>
<pre class="literal-block">
@@ -541,7 +542,7 @@
</div>
</div>
<div class="section" id="getimagecompositemask">
-<h1><a class="toc-backref" href="#id86">GetImageCompositeMask</a></h1>
+<h1><a class="toc-backref" href="#id88">GetImageCompositeMask</a></h1>
<div class="section" id="id32">
<h2>Synopsis</h2>
<pre class="literal-block">
@@ -578,7 +579,7 @@
</div>
</div>
<div class="section" id="getimageexception">
-<h1><a class="toc-backref" href="#id87">GetImageException</a></h1>
+<h1><a class="toc-backref" href="#id89">GetImageException</a></h1>
<div class="section" id="id34">
<h2>Synopsis</h2>
<pre class="literal-block">
@@ -603,7 +604,7 @@
</div>
</div>
<div class="section" id="getimagegeometry">
-<h1><a class="toc-backref" href="#id88">GetImageGeometry</a></h1>
+<h1><a class="toc-backref" href="#id90">GetImageGeometry</a></h1>
<div class="section" id="id36">
<h2>Synopsis</h2>
<pre class="literal-block">
@@ -636,7 +637,7 @@
</div>
</div>
<div class="section" id="getimageinfo">
-<h1><a class="toc-backref" href="#id89">GetImageInfo</a></h1>
+<h1><a class="toc-backref" href="#id91">GetImageInfo</a></h1>
<div class="section" id="id38">
<h2>Synopsis</h2>
<pre class="literal-block">
@@ -658,7 +659,7 @@
</div>
</div>
<div class="section" id="istaintimage">
-<h1><a class="toc-backref" href="#id90">IsTaintImage</a></h1>
+<h1><a class="toc-backref" href="#id92">IsTaintImage</a></h1>
<div class="section" id="id40">
<h2>Synopsis</h2>
<pre class="literal-block">
@@ -681,7 +682,7 @@
</div>
</div>
<div class="section" id="modifyimage">
-<h1><a class="toc-backref" href="#id91">ModifyImage</a></h1>
+<h1><a class="toc-backref" href="#id93">ModifyImage</a></h1>
<div class="section" id="id42">
<h2>Synopsis</h2>
<pre class="literal-block">
@@ -707,7 +708,7 @@
</div>
</div>
<div class="section" id="referenceimage">
-<h1><a class="toc-backref" href="#id92">ReferenceImage</a></h1>
+<h1><a class="toc-backref" href="#id94">ReferenceImage</a></h1>
<div class="section" id="id44">
<h2>Synopsis</h2>
<pre class="literal-block">
@@ -730,7 +731,7 @@
</div>
</div>
<div class="section" id="removedefinitions">
-<h1><a class="toc-backref" href="#id93">RemoveDefinitions</a></h1>
+<h1><a class="toc-backref" href="#id95">RemoveDefinitions</a></h1>
<div class="section" id="id46">
<h2>Synopsis</h2>
<pre class="literal-block">
@@ -762,7 +763,7 @@
</div>
</div>
<div class="section" id="resetimagepage">
-<h1><a class="toc-backref" href="#id94">ResetImagePage</a></h1>
+<h1><a class="toc-backref" href="#id96">ResetImagePage</a></h1>
<div class="section" id="id48">
<h2>Synopsis</h2>
<pre class="literal-block">
@@ -787,7 +788,7 @@
</div>
</div>
<div class="section" id="setimageex">
-<h1><a class="toc-backref" href="#id95">SetImageEx</a></h1>
+<h1><a class="toc-backref" href="#id97">SetImageEx</a></h1>
<div class="section" id="id50">
<h2>Synopsis</h2>
<pre class="literal-block">
@@ -815,7 +816,7 @@
</div>
</div>
<div class="section" id="setimage">
-<h1><a class="toc-backref" href="#id96">SetImage</a></h1>
+<h1><a class="toc-backref" href="#id98">SetImage</a></h1>
<div class="section" id="id52">
<h2>Synopsis</h2>
<pre class="literal-block">
@@ -843,7 +844,7 @@
</div>
</div>
<div class="section" id="setimagecolor">
-<h1><a class="toc-backref" href="#id97">SetImageColor</a></h1>
+<h1><a class="toc-backref" href="#id99">SetImageColor</a></h1>
<div class="section" id="id54">
<h2>Synopsis</h2>
<pre class="literal-block">
@@ -868,7 +869,7 @@
</div>
</div>
<div class="section" id="setimagecolorregion">
-<h1><a class="toc-backref" href="#id98">SetImageColorRegion</a></h1>
+<h1><a class="toc-backref" href="#id100">SetImageColorRegion</a></h1>
<div class="section" id="id56">
<h2>Synopsis</h2>
<pre class="literal-block">
@@ -896,7 +897,7 @@
</div>
</div>
<div class="section" id="setimageclipmask">
-<h1><a class="toc-backref" href="#id99">SetImageClipMask</a></h1>
+<h1><a class="toc-backref" href="#id101">SetImageClipMask</a></h1>
<div class="section" id="id58">
<h2>Synopsis</h2>
<pre class="literal-block">
@@ -930,7 +931,7 @@
</div>
</div>
<div class="section" id="setimagecompositemask">
-<h1><a class="toc-backref" href="#id100">SetImageCompositeMask</a></h1>
+<h1><a class="toc-backref" href="#id102">SetImageCompositeMask</a></h1>
<div class="section" id="id60">
<h2>Synopsis</h2>
<pre class="literal-block">
@@ -964,7 +965,7 @@
</div>
</div>
<div class="section" id="setimagedepth">
-<h1><a class="toc-backref" href="#id101">SetImageDepth</a></h1>
+<h1><a class="toc-backref" href="#id103">SetImageDepth</a></h1>
<div class="section" id="id62">
<h2>Synopsis</h2>
<pre class="literal-block">
@@ -994,7 +995,7 @@
</div>
</div>
<div class="section" id="setimageopacity">
-<h1><a class="toc-backref" href="#id102">SetImageOpacity</a></h1>
+<h1><a class="toc-backref" href="#id104">SetImageOpacity</a></h1>
<div class="section" id="id64">
<h2>Synopsis</h2>
<pre class="literal-block">
@@ -1022,7 +1023,7 @@
</div>
</div>
<div class="section" id="setimagetype">
-<h1><a class="toc-backref" href="#id103">SetImageType</a></h1>
+<h1><a class="toc-backref" href="#id105">SetImageType</a></h1>
<div class="section" id="id66">
<h2>Synopsis</h2>
<pre class="literal-block">
@@ -1049,7 +1050,7 @@
</div>
</div>
<div class="section" id="stripimage">
-<h1><a class="toc-backref" href="#id104">StripImage</a></h1>
+<h1><a class="toc-backref" href="#id106">StripImage</a></h1>
<div class="section" id="id68">
<h2>Synopsis</h2>
<pre class="literal-block">
@@ -1070,6 +1071,31 @@
</dl>
</div>
</div>
+<div class="section" id="syncimage">
+<h1><a class="toc-backref" href="#id107">SyncImage</a></h1>
+<div class="section" id="id70">
+<h2>Synopsis</h2>
+<pre class="literal-block">
+MagickPassFail SyncImage( <a class="reference external" href="../api/types.html#image">Image</a> *image );
+</pre>
+</div>
+<div class="section" id="id71">
+<h2>Description</h2>
+<p>Method SyncImage initializes the red, green, and blue intensities of each
+pixel as defined by the colormap index and the current image colormap.
+This is a helper function to update the DirectClass representation of
+the image pixels after the PseudoClass representation has been updated.</p>
+<p>The format of the SyncImage method is:</p>
+<pre class="literal-block">
+MagickPassFail SyncImage( <a class="reference external" href="../api/types.html#image">Image</a> *image );
+</pre>
+<p>A description of each parameter follows:</p>
+<dl class="docutils">
+<dt>image:</dt>
+<dd>The image.</dd>
+</dl>
+</div>
+</div>
</div>
<hr class="docutils">
diff -r 4b36e9f2850b -r ad47a349ee9e www/api/types.html
--- a/www/api/types.html Sun Mar 20 10:12:50 2022 -0500
+++ b/www/api/types.html Sun Mar 20 18:56:29 2022 -0500
@@ -189,7 +189,27 @@
</div>
<div class="section" id="classtype">
<h1><a class="toc-backref" href="#id6">ClassType</a></h1>
-<p>ClassType enumeration specifies the image storage class.</p>
+<p>The ClassType enumeration specifies the image storage class. A
+DirectClass representation of an image is based on an array of
+PixelPacket structures in RAM and/or in a disk file where color values
+are stored "directly". A PseudoClass representation of an image is
+based on an array of IndexPacket values (also in RAM and/or in a disk
+file ) which are the index values to the Image colormap (a small array
+of PixelPacket values) where the color values corresponding to the
+pixel at the index are stored.</p>
+<p>It is possible for an image to be represented as DirectClass and
+PseudoClass simultaneously, but only one type may be claimed as the
+current representation by the Image storage_class member. It is
+normally assumed that when the Image is set to PseudoClass that the
+DirectClass representation is up to date but while updating the image,
+this is often not the case. The DirectClass representation of the
+image may be updated based on the PseudoClass representation by
+calling the SyncImage() function.</p>
+<p>As a special case, CMYK is represented by the red, green, blue, and
+opacity members of PixelPacket, and CMYKA is the same except that the
+IndexPacket values represent Opacity. CMYKA images are described as
+DirectClass even though the IndexPacket values are used (the image
+colormap is not valid).</p>
<table border="1" class="docutils">
<caption>ClassType</caption>
<colgroup>
@@ -890,6 +910,11 @@
</div>
<div class="section" id="endiantype">
<h1><a class="toc-backref" href="#id16">EndianType</a></h1>
+<p>Some formats (e.g. TIFF and DPX) allow storing data in multiple
+"endian" orders and EndianType allows controlling that. With MSB
+endian and accessing memory bytes with increasing offset, the most
+significant bytes are encountered first, while with LSB endian, the
+least significant bytes are encountered first.</p>
<pre class="literal-block">
typedef enum
{
@@ -926,6 +951,10 @@
</div>
<div class="section" id="exceptiontype">
<h1><a class="toc-backref" href="#id19">ExceptionType</a></h1>
+<p>Warnings and errors are represented by integer numbers (declared as an
+ExceptionType enumeration) with the range of warnings starting with
+WarningException, the range of errors starting with ErrorException,
+and the range of fatal errors starting with FatalErrorException.</p>
<pre class="literal-block">
typedef enum