├── .gitattributes
├── .gitignore
├── LICENSE
├── ObjectViewer.pro
├── README.md
├── UML
├── ClassDiagram.png
└── MODELIO
│ └── ObjectViewerProject.zip
├── images.qrc
├── includes
├── ImageMagick
│ ├── Magick++.h
│ ├── Magick++
│ │ ├── Blob.h
│ │ ├── BlobRef.h
│ │ ├── CoderInfo.h
│ │ ├── Color.h
│ │ ├── Drawable.h
│ │ ├── Exception.h
│ │ ├── Functions.h
│ │ ├── Geometry.h
│ │ ├── Image.h
│ │ ├── ImageRef.h
│ │ ├── Include.h
│ │ ├── Montage.h
│ │ ├── Options.h
│ │ ├── Pixels.h
│ │ ├── STL.h
│ │ ├── Thread.h
│ │ └── TypeMetric.h
│ ├── magick
│ │ ├── ImageMagick.h
│ │ ├── MagickCore.h
│ │ ├── PreRvIcccm.h
│ │ ├── accelerate-private.h
│ │ ├── accelerate.h
│ │ ├── animate-private.h
│ │ ├── animate.h
│ │ ├── annotate.h
│ │ ├── api.h
│ │ ├── artifact.h
│ │ ├── attribute.h
│ │ ├── blob-private.h
│ │ ├── blob.h
│ │ ├── cache-private.h
│ │ ├── cache-view.h
│ │ ├── cache.h
│ │ ├── channel.h
│ │ ├── cipher.h
│ │ ├── client.h
│ │ ├── coder.h
│ │ ├── color-private.h
│ │ ├── color.h
│ │ ├── colormap-private.h
│ │ ├── colormap.h
│ │ ├── colorspace-private.h
│ │ ├── colorspace.h
│ │ ├── compare.h
│ │ ├── composite-private.h
│ │ ├── composite.h
│ │ ├── compress.h
│ │ ├── configure.h
│ │ ├── constitute.h
│ │ ├── decorate.h
│ │ ├── delegate-private.h
│ │ ├── delegate.h
│ │ ├── deprecate.h
│ │ ├── display-private.h
│ │ ├── display.h
│ │ ├── distort.h
│ │ ├── distribute-cache-private.h
│ │ ├── distribute-cache.h
│ │ ├── draw-private.h
│ │ ├── draw.h
│ │ ├── effect.h
│ │ ├── enhance.h
│ │ ├── exception-private.h
│ │ ├── exception.h
│ │ ├── feature.h
│ │ ├── fourier.h
│ │ ├── fx-private.h
│ │ ├── fx.h
│ │ ├── gem-private.h
│ │ ├── gem.h
│ │ ├── geometry.h
│ │ ├── hashmap.h
│ │ ├── histogram.h
│ │ ├── identify.h
│ │ ├── image-private.h
│ │ ├── image-view.h
│ │ ├── image.h
│ │ ├── layer.h
│ │ ├── list.h
│ │ ├── locale_.h
│ │ ├── log.h
│ │ ├── mac.h
│ │ ├── magic.h
│ │ ├── magick-baseconfig.h
│ │ ├── magick-config.h
│ │ ├── magick-type.h
│ │ ├── magick.h
│ │ ├── matrix.h
│ │ ├── memory-private.h
│ │ ├── memory_.h
│ │ ├── method-attribute.h
│ │ ├── methods.h
│ │ ├── mime-private.h
│ │ ├── mime.h
│ │ ├── module.h
│ │ ├── monitor-private.h
│ │ ├── monitor.h
│ │ ├── montage.h
│ │ ├── morphology-private.h
│ │ ├── morphology.h
│ │ ├── nt-base.h
│ │ ├── nt-feature.h
│ │ ├── opencl-private.h
│ │ ├── opencl.h
│ │ ├── option.h
│ │ ├── paint.h
│ │ ├── pixel-accessor.h
│ │ ├── pixel-private.h
│ │ ├── pixel.h
│ │ ├── policy.h
│ │ ├── prepress.h
│ │ ├── profile.h
│ │ ├── property.h
│ │ ├── quantize.h
│ │ ├── quantum-private.h
│ │ ├── quantum.h
│ │ ├── random-private.h
│ │ ├── random_.h
│ │ ├── registry.h
│ │ ├── resample-private.h
│ │ ├── resample.h
│ │ ├── resize-private.h
│ │ ├── resize.h
│ │ ├── resource_.h
│ │ ├── segment.h
│ │ ├── semaphore-private.h
│ │ ├── semaphore.h
│ │ ├── shear.h
│ │ ├── signature-private.h
│ │ ├── signature.h
│ │ ├── splay-tree.h
│ │ ├── static.h
│ │ ├── statistic.h
│ │ ├── stream-private.h
│ │ ├── stream.h
│ │ ├── string-private.h
│ │ ├── string_.h
│ │ ├── studio.h
│ │ ├── thread-private.h
│ │ ├── thread_.h
│ │ ├── threshold.h
│ │ ├── timer.h
│ │ ├── token-private.h
│ │ ├── token.h
│ │ ├── transform.h
│ │ ├── type.h
│ │ ├── utility-private.h
│ │ ├── utility.h
│ │ ├── version-private.h
│ │ ├── version.h
│ │ ├── vms.h
│ │ ├── widget.h
│ │ ├── xml-tree.h
│ │ ├── xwindow-private.h
│ │ └── xwindow.h
│ └── wand
│ │ ├── MagickWand.h
│ │ ├── animate.h
│ │ ├── compare.h
│ │ ├── composite.h
│ │ ├── conjure.h
│ │ ├── convert.h
│ │ ├── deprecate.h
│ │ ├── display.h
│ │ ├── drawing-wand.h
│ │ ├── identify.h
│ │ ├── import.h
│ │ ├── magick-image.h
│ │ ├── magick-property.h
│ │ ├── magick-wand-private.h
│ │ ├── magick-wand.h
│ │ ├── magick_wand.h
│ │ ├── method-attribute.h
│ │ ├── mogrify-private.h
│ │ ├── mogrify.h
│ │ ├── montage.h
│ │ ├── pixel-iterator.h
│ │ ├── pixel-wand-private.h
│ │ ├── pixel-wand.h
│ │ ├── stream.h
│ │ ├── studio.h
│ │ ├── wand-config.h
│ │ ├── wand-view.h
│ │ └── wand.h
└── assimp
│ ├── Compiler
│ ├── poppack1.h
│ └── pushpack1.h
│ ├── DefaultLogger.hpp
│ ├── Exporter.hpp
│ ├── IOStream.hpp
│ ├── IOSystem.hpp
│ ├── Importer.hpp
│ ├── LogStream.hpp
│ ├── Logger.hpp
│ ├── NullLogger.hpp
│ ├── ProgressHandler.hpp
│ ├── ai_assert.h
│ ├── anim.h
│ ├── camera.h
│ ├── cexport.h
│ ├── cfileio.h
│ ├── cimport.h
│ ├── color4.h
│ ├── color4.inl
│ ├── config.h
│ ├── defs.h
│ ├── importerdesc.h
│ ├── light.h
│ ├── material.h
│ ├── material.inl
│ ├── matrix3x3.h
│ ├── matrix3x3.inl
│ ├── matrix4x4.h
│ ├── matrix4x4.inl
│ ├── mesh.h
│ ├── postprocess.h
│ ├── quaternion.h
│ ├── quaternion.inl
│ ├── scene.h
│ ├── texture.h
│ ├── types.h
│ ├── vector2.h
│ ├── vector2.inl
│ ├── vector3.h
│ ├── vector3.inl
│ └── version.h
├── libs
├── CORE_RL_Magick++_.lib
└── assimp.lib
├── resources
├── images
│ └── splash.png
├── shaders
│ ├── basic.frag
│ ├── basic.vert
│ └── lighting
│ │ ├── normal-mapping.frag
│ │ ├── normal-mapping.vert
│ │ ├── per-fragment-blinn-phong.frag
│ │ ├── per-fragment-blinn-phong.vert
│ │ ├── per-fragment-phong.frag
│ │ ├── per-fragment-phong.vert
│ │ ├── per-vertex-phong.frag
│ │ ├── per-vertex-phong.vert
│ │ ├── point-light.vert
│ │ ├── rim-lighting.frag
│ │ └── rim-lighting.vert
└── textures
│ ├── crate.jpg
│ ├── grass.png
│ ├── rock.png
│ ├── snowrocks.png
│ └── white.png
├── shaders.qrc
├── src
├── helpers
│ ├── MathUtils.h
│ ├── opengluniformbuffer.cpp
│ ├── opengluniformbuffer.h
│ ├── shaders.cpp
│ └── shaders.h
├── main.cpp
├── materials
│ ├── abstractmaterialmanager.cpp
│ ├── abstractmaterialmanager.h
│ ├── abstracttexturemanager.cpp
│ ├── abstracttexturemanager.h
│ ├── material.cpp
│ ├── material.h
│ ├── materialmanager.cpp
│ ├── materialmanager.h
│ ├── texture.cpp
│ ├── texture.h
│ ├── texturemanager.cpp
│ └── texturemanager.h
├── objects
│ ├── abstractmeshmanager.cpp
│ ├── abstractmeshmanager.h
│ ├── abstractmodel.cpp
│ ├── abstractmodel.h
│ ├── abstractmodelmanager.cpp
│ ├── abstractmodelmanager.h
│ ├── abstractscene.cpp
│ ├── abstractscene.h
│ ├── camera.cpp
│ ├── camera.h
│ ├── camera_p.h
│ ├── light.cpp
│ ├── light.h
│ ├── mesh.cpp
│ ├── mesh.h
│ ├── meshmanager.cpp
│ ├── meshmanager.h
│ ├── model.cpp
│ ├── model.h
│ ├── modelloader.cpp
│ ├── modelloader.h
│ ├── modelmanager.cpp
│ ├── modelmanager.h
│ ├── object3d.cpp
│ ├── object3d.h
│ ├── scene.cpp
│ └── scene.h
└── ui
│ ├── mainwindow.cpp
│ ├── mainwindow.h
│ ├── window.cpp
│ └── window.h
└── textures.qrc
/.gitattributes:
--------------------------------------------------------------------------------
1 | # Auto detect text files and perform LF normalization
2 | * text=auto
3 |
4 | # Custom for Visual Studio
5 | *.cs diff=csharp
6 | *.sln merge=union
7 | *.csproj merge=union
8 | *.vbproj merge=union
9 | *.fsproj merge=union
10 | *.dbproj merge=union
11 |
12 | # Standard to msysgit
13 | *.doc diff=astextplain
14 | *.DOC diff=astextplain
15 | *.docx diff=astextplain
16 | *.DOCX diff=astextplain
17 | *.dot diff=astextplain
18 | *.DOT diff=astextplain
19 | *.pdf diff=astextplain
20 | *.PDF diff=astextplain
21 | *.rtf diff=astextplain
22 | *.RTF diff=astextplain
23 |
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | # C++ objects and libs
2 |
3 | *.slo
4 | *.lo
5 | *.o
6 | *.a
7 | *.la
8 | *.lai
9 | *.so
10 | *.dll
11 | *.dylib
12 |
13 | # Qt-es
14 |
15 | *.pro.user
16 | *.pro.user.*
17 | moc_*.cpp
18 | qrc_*.cpp
19 | Makefile
20 | *-build-*
21 |
22 | build/tmp/*
23 | build/debug/*
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | The MIT License (MIT)
2 |
3 | Copyright (c) 2013
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy of
6 | this software and associated documentation files (the "Software"), to deal in
7 | the Software without restriction, including without limitation the rights to
8 | use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
9 | the Software, and to permit persons to whom the Software is furnished to do so,
10 | subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
17 | FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
18 | COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
19 | IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
20 | CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
21 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 | ObjectViewer
2 | ============
3 |
4 | ### Linux
5 |
6 | 
7 |
8 | 
9 |
10 | ### Windows
11 |
12 | 
13 |
14 | 
15 |
--------------------------------------------------------------------------------
/UML/ClassDiagram.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hardware/ObjectViewer/718922e00a6f3e83510e6091f7630ac3c0e5066b/UML/ClassDiagram.png
--------------------------------------------------------------------------------
/UML/MODELIO/ObjectViewerProject.zip:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hardware/ObjectViewer/718922e00a6f3e83510e6091f7630ac3c0e5066b/UML/MODELIO/ObjectViewerProject.zip
--------------------------------------------------------------------------------
/images.qrc:
--------------------------------------------------------------------------------
1 |
2 |
3 | resources/images/splash.png
4 |
5 |
6 |
--------------------------------------------------------------------------------
/includes/ImageMagick/Magick++.h:
--------------------------------------------------------------------------------
1 | // This may look like C code, but it is really -*- C++ -*-
2 | //
3 | // Copyright Bob Friesenhahn, 1999, 2000
4 | //
5 | // Simplified includes for Magick++.
6 | // Inclusion of this header is sufficient to use all Magick++ APIs.
7 | //
8 | #ifndef MagickPlusPlus_Header
9 | #include "Magick++/Include.h"
10 | #include "Magick++/Image.h"
11 | #include "Magick++/Pixels.h"
12 | #include "Magick++/STL.h"
13 | #define MagickPlusPlus_Header
14 | #endif // MagickPlusPlus_Header
15 |
--------------------------------------------------------------------------------
/includes/ImageMagick/Magick++/BlobRef.h:
--------------------------------------------------------------------------------
1 | // This may look like C code, but it is really -*- C++ -*-
2 | //
3 | // Copyright Bob Friesenhahn, 1999, 2000, 2001, 2002
4 | //
5 | // Blob reference class
6 | //
7 | // This is an internal implementation class that should not be
8 | // accessed by users.
9 | //
10 |
11 | #if !defined(Magick_Blob_header)
12 | #define Magick_Blob_header
13 |
14 | #include "Include.h"
15 | #include "Thread.h"
16 | #include "Blob.h"
17 |
18 | namespace Magick
19 | {
20 |
21 | class BlobRef {
22 | public:
23 | // There are no public methods in this class
24 |
25 | // Construct with data, making private copy of data
26 | BlobRef ( const void* data_, size_t length_ );
27 |
28 | // Destructor (actually destroys data)
29 | ~BlobRef ( void );
30 |
31 | private:
32 | // Copy constructor and assignment are not supported
33 | BlobRef (const BlobRef&);
34 | BlobRef& operator= (const BlobRef&);
35 |
36 | public:
37 | void * _data; // Blob data
38 | size_t _length; // Blob length
39 | Blob::Allocator _allocator; // Memory allocation system in use
40 | ::ssize_t _refCount; // Reference count
41 | MutexLock _mutexLock; // Mutex lock
42 | };
43 |
44 | } // namespace Magick
45 |
46 | #endif // Magick_Blob_header
47 |
--------------------------------------------------------------------------------
/includes/ImageMagick/Magick++/CoderInfo.h:
--------------------------------------------------------------------------------
1 | // This may look like C code, but it is really -*- C++ -*-
2 | //
3 | // Copyright Bob Friesenhahn, 2001, 2002
4 | //
5 | // CoderInfo Definition
6 | //
7 | // Container for image format support information.
8 | //
9 |
10 | #if !defined (Magick_CoderInfo_header)
11 | #define Magick_CoderInfo_header 1
12 |
13 | #include "Include.h"
14 | #include
15 |
16 | namespace Magick
17 | {
18 | class MagickPPExport CoderInfo
19 | {
20 | public:
21 |
22 | enum MatchType {
23 | AnyMatch, // match any coder
24 | TrueMatch, // match coder if true
25 | FalseMatch // match coder if false
26 | };
27 |
28 | // Default constructor
29 | CoderInfo ( void );
30 |
31 | // Copy constructor
32 | CoderInfo ( const CoderInfo &coder_ );
33 |
34 | // Construct with coder name
35 | CoderInfo ( const std::string &name_ );
36 |
37 | // Destructor
38 | ~CoderInfo ( void );
39 |
40 | // Format description
41 | std::string description( void ) const;
42 |
43 | // Format supports multiple frames
44 | bool isMultiFrame( void ) const;
45 |
46 | // Format is readable
47 | bool isReadable( void ) const;
48 |
49 | // Format is writeable
50 | bool isWritable( void ) const;
51 |
52 | // Format mime type
53 | std::string mimeType( void ) const;
54 |
55 | // Format name
56 | std::string name( void ) const;
57 |
58 | // Assignment operator
59 | CoderInfo& operator= ( const CoderInfo &coder_ );
60 |
61 | //
62 | // Implemementation methods
63 | //
64 | CoderInfo ( const MagickCore::MagickInfo *magickInfo_ );
65 |
66 | private:
67 |
68 | std::string _name;
69 | std::string _description;
70 | std::string _mimeType;
71 | bool _isReadable;
72 | bool _isWritable;
73 | bool _isMultiFrame;
74 |
75 | };
76 | } // namespace Magick
77 |
78 | //
79 | // Inlines
80 | //
81 |
82 |
83 | #endif // Magick_CoderInfo_header
84 |
--------------------------------------------------------------------------------
/includes/ImageMagick/Magick++/Functions.h:
--------------------------------------------------------------------------------
1 | // This may look like C code, but it is really -*- C++ -*-
2 | //
3 | // Copyright Bob Friesenhahn, 1999, 2000, 2001, 2003
4 | //
5 | // Simple C++ function wrappers for often used or otherwise
6 | // inconvenient ImageMagick equivalents
7 | //
8 |
9 | #if !defined(Magick_Functions_header)
10 | #define Magick_Functions_header
11 |
12 | #include "Include.h"
13 | #include
14 |
15 | namespace Magick
16 | {
17 | void MagickPPExport CloneString( char **destination_, const std::string &source_ );
18 |
19 | }
20 | #endif // Magick_Functions_header
21 |
--------------------------------------------------------------------------------
/includes/ImageMagick/Magick++/ImageRef.h:
--------------------------------------------------------------------------------
1 | // This may look like C code, but it is really -*- C++ -*-
2 | //
3 | // Copyright Bob Friesenhahn, 1999, 2000, 2001, 2002
4 | //
5 | // Definition of an Image reference
6 | //
7 | // This is a private implementation class which should never be
8 | // referenced by any user code.
9 | //
10 |
11 | #if !defined(Magick_ImageRef_header)
12 | #define Magick_ImageRef_header
13 |
14 | #include "Include.h"
15 | #include "Thread.h"
16 |
17 | namespace Magick
18 | {
19 | class Options;
20 |
21 | //
22 | // Reference counted access to Image *
23 | //
24 | class MagickPPExport ImageRef {
25 | friend class Image;
26 | private:
27 | // Construct with an image pointer and default options
28 | ImageRef ( MagickCore::Image * image_ );
29 | // Construct with an image pointer and options
30 | ImageRef ( MagickCore::Image * image_, const Options * options_ );
31 | // Construct with null image and default options
32 | ImageRef ( void );
33 | // Destroy image and options
34 | ~ImageRef ( void );
35 |
36 | // Copy constructor and assignment are not supported
37 | ImageRef(const ImageRef&);
38 | ImageRef& operator=(const ImageRef&);
39 |
40 | void image ( MagickCore::Image * image_ );
41 | MagickCore::Image *& image ( void );
42 |
43 | void options ( Options * options_ );
44 | Options * options ( void );
45 |
46 | void id ( const ::ssize_t id_ );
47 | ::ssize_t id ( void ) const;
48 |
49 | MagickCore::Image * _image; // ImageMagick Image
50 | Options * _options; // User-specified options
51 | ::ssize_t _id; // Registry ID (-1 if not registered)
52 | ::ssize_t _refCount; // Reference count
53 | MutexLock _mutexLock;// Mutex lock
54 | };
55 |
56 | } // end of namespace Magick
57 |
58 | //
59 | // Inlines
60 | //
61 |
62 | // Retrieve image from reference
63 | inline MagickCore::Image *& Magick::ImageRef::image ( void )
64 | {
65 | return _image;
66 | }
67 |
68 | // Retrieve Options from reference
69 | inline Magick::Options * Magick::ImageRef::options ( void )
70 | {
71 | return _options;
72 | }
73 |
74 | // Retrieve registration id from reference
75 | inline ::ssize_t Magick::ImageRef::id ( void ) const
76 | {
77 | return _id;
78 | }
79 |
80 | #endif // Magick_ImageRef_header
81 |
--------------------------------------------------------------------------------
/includes/ImageMagick/Magick++/TypeMetric.h:
--------------------------------------------------------------------------------
1 | // This may look like C code, but it is really -*- C++ -*-
2 | //
3 | // Copyright Bob Friesenhahn, 2001, 2002
4 | //
5 | // TypeMetric Definition
6 | //
7 | // Container for font type metrics
8 | //
9 |
10 | #if !defined (Magick_TypeMetric_header)
11 | #define Magick_TypeMetric_header
12 |
13 | #include "Include.h"
14 |
15 | namespace Magick
16 | {
17 | class MagickPPExport TypeMetric
18 | {
19 | friend class Image;
20 | public:
21 |
22 | TypeMetric ( void );
23 | ~TypeMetric ( void );
24 |
25 | // Ascent, the distance in pixels from the text baseline to the
26 | // highest/upper grid coordinate used to place an outline point.
27 | double ascent ( void ) const;
28 |
29 | // Descent, the distance in pixels from the baseline to the lowest
30 | // grid coordinate used to place an outline point. Always a
31 | // negative value.
32 | double descent ( void ) const;
33 |
34 | // Text width in pixels.
35 | double textWidth ( void ) const;
36 |
37 | // Text height in pixels.
38 | double textHeight ( void ) const;
39 |
40 | // Maximum horizontal advance in pixels.
41 | double maxHorizontalAdvance ( void ) const;
42 |
43 | //
44 | // Public methods below this point are for Magick++ use only.
45 | //
46 |
47 | private:
48 | MagickCore::TypeMetric _typeMetric;
49 | };
50 | } // namespace Magick
51 |
52 | //
53 | // Inlines
54 | //
55 |
56 |
57 | #endif // Magick_TypeMetric_header
58 |
--------------------------------------------------------------------------------
/includes/ImageMagick/magick/ImageMagick.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 1999-2013 ImageMagick Studio LLC, a non-profit organization
3 | dedicated to making software imaging solutions freely available.
4 |
5 | You may not use this file except in compliance with the License.
6 | obtain a copy of the License at
7 |
8 | http://www.imagemagick.org/script/license.php
9 |
10 | Unless required by applicable law or agreed to in writing, software
11 | distributed under the License is distributed on an "AS IS" BASIS,
12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | See the License for the specific language governing permissions and
14 | limitations under the License.
15 |
16 | Deprecated as of ImageMagick 6.2.3.
17 |
18 | MagickCore Application Programming Interface declarations.
19 | */
20 |
21 | #ifndef _MAGICKCORE_IMAGEMAGICK_DEPRECATED_H
22 | #define _MAGICKCORE_IMAGEMAGICK_DEPRECATED_H
23 |
24 | #if defined(__cplusplus) || defined(c_plusplus)
25 | extern "C" {
26 | #endif
27 |
28 | #include "magick/MagickCore.h"
29 |
30 | #if defined(__cplusplus) || defined(c_plusplus)
31 | }
32 | #endif
33 |
34 | #endif
35 |
--------------------------------------------------------------------------------
/includes/ImageMagick/magick/accelerate.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 1999-2013 ImageMagick Studio LLC, a non-profit organization
3 | dedicated to making software imaging solutions freely available.
4 |
5 | You may not use this file except in compliance with the License.
6 | obtain a copy of the License at
7 |
8 | http://www.imagemagick.org/script/license.php
9 |
10 | Unless required by applicable law or agreed to in writing, software
11 | distributed under the License is distributed on an "AS IS" BASIS,
12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | See the License for the specific language governing permissions and
14 | limitations under the License.
15 |
16 | MagickCore acceleration methods.
17 | */
18 | #ifndef _MAGICKCORE_ACCELERATE_H
19 | #define _MAGICKCORE_ACCELERATE_H
20 |
21 | #if defined(__cplusplus) || defined(c_plusplus)
22 | extern "C" {
23 | #endif
24 |
25 | #include "morphology.h"
26 | #include "resample.h"
27 | #include "resize.h"
28 | #include "statistic.h"
29 |
30 | extern MagickExport MagickBooleanType
31 | AccelerateContrastImage(Image *,const MagickBooleanType,ExceptionInfo *),
32 | AccelerateConvolveImage(const Image *,const KernelInfo *,Image *,
33 | ExceptionInfo *),
34 | AccelerateEqualizeImage(Image *,const ChannelType,ExceptionInfo *),
35 | AccelerateFunctionImage(Image *,const ChannelType,const MagickFunction,
36 | const size_t,const double *,ExceptionInfo *);
37 |
38 | extern MagickExport Image
39 | *AccelerateBlurImage(const Image *,const ChannelType,const double,
40 | const double,ExceptionInfo *),
41 | *AccelerateConvolveImageChannel(const Image *,const ChannelType,
42 | const KernelInfo *,ExceptionInfo *),
43 | *AccelerateDespeckleImage(const Image *,ExceptionInfo *),
44 | *AccelerateRadialBlurImage(const Image *,const ChannelType,const double,
45 | ExceptionInfo *),
46 | *AccelerateResizeImage(const Image *,const size_t,const size_t,
47 | const ResizeFilter *,ExceptionInfo *),
48 | *AccelerateUnsharpMaskImage(const Image *,const ChannelType,const double,
49 | const double,const double,const double,ExceptionInfo *);
50 |
51 |
52 | #if defined(__cplusplus) || defined(c_plusplus)
53 | }
54 | #endif
55 |
56 | #endif
57 |
--------------------------------------------------------------------------------
/includes/ImageMagick/magick/animate-private.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 1999-2013 ImageMagick Studio LLC, a non-profit organization
3 | dedicated to making software imaging solutions freely available.
4 |
5 | You may not use this file except in compliance with the License.
6 | obtain a copy of the License at
7 |
8 | http://www.imagemagick.org/script/license.php
9 |
10 | Unless required by applicable law or agreed to in writing, software
11 | distributed under the License is distributed on an "AS IS" BASIS,
12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | See the License for the specific language governing permissions and
14 | limitations under the License.
15 |
16 | MagickCore private methods to interactively animate an image sequence.
17 | */
18 | #ifndef _MAGICKCORE_ANIMATE_PRIVATE_H
19 | #define _MAGICKCORE_ANIMATE_PRIVATE_H
20 |
21 | #if defined(__cplusplus) || defined(c_plusplus)
22 | extern "C" {
23 | #endif
24 |
25 | #if defined(MAGICKCORE_X11_DELEGATE)
26 | #include "magick/xwindow-private.h"
27 |
28 | extern MagickExport Image
29 | *XAnimateImages(Display *,XResourceInfo *,char **,const int,Image *);
30 |
31 | extern MagickExport void
32 | XAnimateBackgroundImage(Display *,XResourceInfo *,Image *);
33 | #endif
34 |
35 | #if defined(__cplusplus) || defined(c_plusplus)
36 | }
37 | #endif
38 |
39 | #endif
40 |
--------------------------------------------------------------------------------
/includes/ImageMagick/magick/animate.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 1999-2013 ImageMagick Studio LLC, a non-profit organization
3 | dedicated to making software imaging solutions freely available.
4 |
5 | You may not use this file except in compliance with the License.
6 | obtain a copy of the License at
7 |
8 | http://www.imagemagick.org/script/license.php
9 |
10 | Unless required by applicable law or agreed to in writing, software
11 | distributed under the License is distributed on an "AS IS" BASIS,
12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | See the License for the specific language governing permissions and
14 | limitations under the License.
15 |
16 | MagickCore methods to interactively animate an image sequence.
17 | */
18 | #ifndef _MAGICKCORE_ANIMATE_H
19 | #define _MAGICKCORE_ANIMATE_H
20 |
21 | #if defined(__cplusplus) || defined(c_plusplus)
22 | extern "C" {
23 | #endif
24 |
25 | extern MagickExport MagickBooleanType
26 | AnimateImages(const ImageInfo *,Image *);
27 |
28 | #if defined(__cplusplus) || defined(c_plusplus)
29 | }
30 | #endif
31 |
32 | #endif
33 |
--------------------------------------------------------------------------------
/includes/ImageMagick/magick/annotate.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 1999-2013 ImageMagick Studio LLC, a non-profit organization
3 | dedicated to making software imaging solutions freely available.
4 |
5 | You may not use this file except in compliance with the License.
6 | obtain a copy of the License at
7 |
8 | http://www.imagemagick.org/script/license.php
9 |
10 | Unless required by applicable law or agreed to in writing, software
11 | distributed under the License is distributed on an "AS IS" BASIS,
12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | See the License for the specific language governing permissions and
14 | limitations under the License.
15 |
16 | MagickCore image annotation methods.
17 | */
18 | #ifndef _MAGICKCORE_ANNOTATE_H
19 | #define _MAGICKCORE_ANNOTATE_H
20 |
21 | #if defined(__cplusplus) || defined(c_plusplus)
22 | extern "C" {
23 | #endif
24 |
25 | #include "draw.h"
26 |
27 | extern MagickExport MagickBooleanType
28 | AnnotateComponentGenesis(void),
29 | AnnotateImage(Image *,const DrawInfo *),
30 | GetMultilineTypeMetrics(Image *,const DrawInfo *,TypeMetric *),
31 | GetTypeMetrics(Image *,const DrawInfo *,TypeMetric *);
32 |
33 | extern MagickExport ssize_t
34 | FormatMagickCaption(Image *,DrawInfo *,const MagickBooleanType,TypeMetric *,
35 | char **);
36 |
37 | extern MagickExport void
38 | AnnotateComponentTerminus(void);
39 |
40 | #if defined(__cplusplus) || defined(c_plusplus)
41 | }
42 | #endif
43 |
44 | #endif
45 |
--------------------------------------------------------------------------------
/includes/ImageMagick/magick/api.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 1999-2013 ImageMagick Studio LLC, a non-profit organization
3 | dedicated to making software imaging solutions freely available.
4 |
5 | You may not use this file except in compliance with the License.
6 | obtain a copy of the License at
7 |
8 | http://www.imagemagick.org/script/license.php
9 |
10 | Unless required by applicable law or agreed to in writing, software
11 | distributed under the License is distributed on an "AS IS" BASIS,
12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | See the License for the specific language governing permissions and
14 | limitations under the License.
15 |
16 | Deprecated as of ImageMagick 6.2.3.
17 |
18 | MagickCore Application Programming Interface declarations.
19 | */
20 |
21 | #ifndef _MAGICKCORE_API_DEPRECATED_H
22 | #define _MAGICKCORE_API_DEPRECATED_H
23 |
24 | #if defined(__cplusplus) || defined(c_plusplus)
25 | extern "C" {
26 | #endif
27 |
28 | #include "magick/MagickCore.h"
29 |
30 | #if defined(__cplusplus) || defined(c_plusplus)
31 | }
32 | #endif
33 |
34 | #endif
35 |
--------------------------------------------------------------------------------
/includes/ImageMagick/magick/artifact.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 1999-2013 ImageMagick Studio LLC, a non-profit organization
3 | dedicated to making software imaging solutions freely available.
4 |
5 | You may not use this file except in compliance with the License.
6 | obtain a copy of the License at
7 |
8 | http://www.imagemagick.org/script/license.php
9 |
10 | Unless required by applicable law or agreed to in writing, software
11 | distributed under the License is distributed on an "AS IS" BASIS,
12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | See the License for the specific language governing permissions and
14 | limitations under the License.
15 |
16 | MagickCore artifact methods.
17 | */
18 | #ifndef _MAGICKCORE_ARTIFACT_H
19 | #define _MAGICKCORE_ARTIFACT_H
20 |
21 | #if defined(__cplusplus) || defined(c_plusplus)
22 | extern "C" {
23 | #endif
24 |
25 | extern MagickExport char
26 | *GetNextImageArtifact(const Image *),
27 | *RemoveImageArtifact(Image *,const char *);
28 |
29 | extern MagickExport const char
30 | *GetImageArtifact(const Image *,const char *);
31 |
32 | extern MagickExport MagickBooleanType
33 | CloneImageArtifacts(Image *,const Image *),
34 | DefineImageArtifact(Image *,const char *),
35 | DeleteImageArtifact(Image *,const char *),
36 | SetImageArtifact(Image *,const char *,const char *);
37 |
38 | extern MagickExport void
39 | DestroyImageArtifacts(Image *),
40 | ResetImageArtifactIterator(const Image *);
41 |
42 | #if defined(__cplusplus) || defined(c_plusplus)
43 | }
44 | #endif
45 |
46 | #endif
47 |
--------------------------------------------------------------------------------
/includes/ImageMagick/magick/attribute.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 1999-2013 ImageMagick Studio LLC, a non-profit organization
3 | dedicated to making software imaging solutions freely available.
4 |
5 | You may not use this file except in compliance with the License.
6 | obtain a copy of the License at
7 |
8 | http://www.imagemagick.org/script/license.php
9 |
10 | Unless required by applicable law or agreed to in writing, software
11 | distributed under the License is distributed on an "AS IS" BASIS,
12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | See the License for the specific language governing permissions and
14 | limitations under the License.
15 |
16 | MagickCore methods to set or get image attributes.
17 | */
18 | #ifndef _MAGICKCORE_ATTRIBUTE_H
19 | #define _MAGICKCORE_ATTRIBUTE_H
20 |
21 | #if defined(__cplusplus) || defined(c_plusplus)
22 | extern "C" {
23 | #endif
24 |
25 | #include "image.h"
26 | #include "exception.h"
27 |
28 | extern MagickExport ImageType
29 | GetImageType(const Image *,ExceptionInfo *);
30 |
31 | extern MagickExport MagickBooleanType
32 | IsGrayImage(const Image *,ExceptionInfo *),
33 | IsMonochromeImage(const Image *,ExceptionInfo *),
34 | IsOpaqueImage(const Image *,ExceptionInfo *),
35 | SetImageChannelDepth(Image *,const ChannelType,const size_t),
36 | SetImageDepth(Image *,const size_t),
37 | SetImageType(Image *,const ImageType);
38 |
39 | extern MagickExport RectangleInfo
40 | GetImageBoundingBox(const Image *,ExceptionInfo *exception);
41 |
42 | extern MagickExport size_t
43 | GetImageChannelDepth(const Image *,const ChannelType,ExceptionInfo *),
44 | GetImageDepth(const Image *,ExceptionInfo *),
45 | GetImageQuantumDepth(const Image *,const MagickBooleanType);
46 |
47 | #if defined(__cplusplus) || defined(c_plusplus)
48 | }
49 | #endif
50 |
51 | #endif
52 |
--------------------------------------------------------------------------------
/includes/ImageMagick/magick/channel.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 1999-2013 ImageMagick Studio LLC, a non-profit organization
3 | dedicated to making software imaging solutions freely available.
4 |
5 | You may not use this file except in compliance with the License.
6 | obtain a copy of the License at
7 |
8 | http://www.imagemagick.org/script/license.php
9 |
10 | Unless required by applicable law or agreed to in writing, software
11 | distributed under the License is distributed on an "AS IS" BASIS,
12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | See the License for the specific language governing permissions and
14 | limitations under the License.
15 |
16 | MagickCore image channel methods.
17 | */
18 | #ifndef _MAGICKCORE_CHANNEL_H
19 | #define _MAGICKCORE_CHANNEL_H
20 |
21 | #if defined(__cplusplus) || defined(c_plusplus)
22 | extern "C" {
23 | #endif
24 |
25 | #include "image.h"
26 |
27 | extern MagickExport Image
28 | *CombineImages(const Image *,const ChannelType,ExceptionInfo *),
29 | *SeparateImage(const Image *,const ChannelType,ExceptionInfo *),
30 | *SeparateImages(const Image *,const ChannelType,ExceptionInfo *);
31 |
32 | extern MagickExport MagickBooleanType
33 | GetImageAlphaChannel(const Image *),
34 | SeparateImageChannel(Image *,const ChannelType),
35 | SetImageAlphaChannel(Image *,const AlphaChannelType);
36 |
37 | #if defined(__cplusplus) || defined(c_plusplus)
38 | }
39 | #endif
40 |
41 | #endif
42 |
--------------------------------------------------------------------------------
/includes/ImageMagick/magick/cipher.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 1999-2013 ImageMagick Studio LLC, a non-profit organization
3 | dedicated to making software imaging solutions freely available.
4 |
5 | You may not use this file except in compliance with the License.
6 | obtain a copy of the License at
7 |
8 | http://www.imagemagick.org/script/license.php
9 |
10 | Unless required by applicable law or agreed to in writing, software
11 | distributed under the License is distributed on an "AS IS" BASIS,
12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | See the License for the specific language governing permissions and
14 | limitations under the License.
15 |
16 | MagickCore cipher methods.
17 | */
18 | #ifndef _MAGICKCORE_CIPHER_H
19 | #define _MAGICKCORE_CIPHER_H
20 |
21 | #if defined(__cplusplus) || defined(c_plusplus)
22 | extern "C" {
23 | #endif
24 |
25 | extern MagickExport MagickBooleanType
26 | DecipherImage(Image *,const char *,ExceptionInfo *),
27 | EncipherImage(Image *,const char *,ExceptionInfo *),
28 | PasskeyDecipherImage(Image *,const StringInfo *,ExceptionInfo *),
29 | PasskeyEncipherImage(Image *,const StringInfo *,ExceptionInfo *);
30 |
31 | #if defined(__cplusplus) || defined(c_plusplus)
32 | }
33 | #endif
34 |
35 | #endif
36 |
--------------------------------------------------------------------------------
/includes/ImageMagick/magick/client.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 1999-2013 ImageMagick Studio LLC, a non-profit organization
3 | dedicated to making software imaging solutions freely available.
4 |
5 | You may not use this file except in compliance with the License.
6 | obtain a copy of the License at
7 |
8 | http://www.imagemagick.org/script/license.php
9 |
10 | Unless required by applicable law or agreed to in writing, software
11 | distributed under the License is distributed on an "AS IS" BASIS,
12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | See the License for the specific language governing permissions and
14 | limitations under the License.
15 |
16 | MagickCore client methods.
17 | */
18 | #ifndef _MAGICKCORE_CLIENT_H
19 | #define _MAGICKCORE_CLIENT_H
20 |
21 | #if defined(__cplusplus) || defined(c_plusplus)
22 | extern "C" {
23 | #endif
24 |
25 | extern MagickExport const char
26 | *GetClientPath(void),
27 | *GetClientName(void),
28 | *SetClientName(const char *),
29 | *SetClientPath(const char *);
30 |
31 | #if defined(__cplusplus) || defined(c_plusplus)
32 | }
33 | #endif
34 |
35 | #endif
36 |
--------------------------------------------------------------------------------
/includes/ImageMagick/magick/coder.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 1999-2013 ImageMagick Studio LLC, a non-profit organization
3 | dedicated to making software imaging solutions freely available.
4 |
5 | You may not use this file except in compliance with the License.
6 | obtain a copy of the License at
7 |
8 | http://www.imagemagick.org/script/license.php
9 |
10 | Unless required by applicable law or agreed to in writing, software
11 | distributed under the License is distributed on an "AS IS" BASIS,
12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | See the License for the specific language governing permissions and
14 | limitations under the License.
15 |
16 | MagickCore image coder methods.
17 | */
18 | #ifndef _MAGICKCORE_CODER_H
19 | #define _MAGICKCORE_CODER_H
20 |
21 | #if defined(__cplusplus) || defined(c_plusplus)
22 | extern "C" {
23 | #endif
24 |
25 | typedef struct _CoderInfo
26 | {
27 | char
28 | *path,
29 | *magick,
30 | *name;
31 |
32 | MagickBooleanType
33 | exempt,
34 | stealth;
35 |
36 | struct _CoderInfo
37 | *previous,
38 | *next; /* deprecated, use GetCoderInfoList() */
39 |
40 | size_t
41 | signature;
42 | } CoderInfo;
43 |
44 | extern MagickExport char
45 | **GetCoderList(const char *,size_t *,ExceptionInfo *);
46 |
47 | extern MagickExport const CoderInfo
48 | *GetCoderInfo(const char *,ExceptionInfo *),
49 | **GetCoderInfoList(const char *,size_t *,ExceptionInfo *);
50 |
51 | extern MagickExport MagickBooleanType
52 | CoderComponentGenesis(void),
53 | ListCoderInfo(FILE *,ExceptionInfo *);
54 |
55 | MagickExport void
56 | CoderComponentTerminus(void);
57 |
58 | #if defined(__cplusplus) || defined(c_plusplus)
59 | }
60 | #endif
61 |
62 | #endif
63 |
--------------------------------------------------------------------------------
/includes/ImageMagick/magick/colormap-private.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 1999-2013 ImageMagick Studio LLC, a non-profit organization
3 | dedicated to making software imaging solutions freely available.
4 |
5 | You may not use this file except in compliance with the License.
6 | obtain a copy of the License at
7 |
8 | http://www.imagemagick.org/script/license.php
9 |
10 | Unless required by applicable law or agreed to in writing, software
11 | distributed under the License is distributed on an "AS IS" BASIS,
12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | See the License for the specific language governing permissions and
14 | limitations under the License.
15 |
16 | MagickCore image colormap methods.
17 | */
18 | #ifndef _MAGICKCORE_COLORMAP_PRIVATE_H
19 | #define _MAGICKCORE_COLORMAP_PRIVATE_H
20 |
21 | #if defined(__cplusplus) || defined(c_plusplus)
22 | extern "C" {
23 | #endif
24 |
25 | #include "magick/image.h"
26 | #include "magick/color.h"
27 | #include "magick/exception-private.h"
28 |
29 | static inline IndexPacket ConstrainColormapIndex(Image *image,
30 | const size_t index)
31 | {
32 | if (index < image->colors)
33 | return((IndexPacket) index);
34 | (void) ThrowMagickException(&image->exception,GetMagickModule(),
35 | CorruptImageError,"InvalidColormapIndex","`%s'",image->filename);
36 | return((IndexPacket) 0);
37 | }
38 |
39 | #if defined(__cplusplus) || defined(c_plusplus)
40 | }
41 | #endif
42 |
43 | #endif
44 |
--------------------------------------------------------------------------------
/includes/ImageMagick/magick/colormap.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 1999-2013 ImageMagick Studio LLC, a non-profit organization
3 | dedicated to making software imaging solutions freely available.
4 |
5 | You may not use this file except in compliance with the License.
6 | obtain a copy of the License at
7 |
8 | http://www.imagemagick.org/script/license.php
9 |
10 | Unless required by applicable law or agreed to in writing, software
11 | distributed under the License is distributed on an "AS IS" BASIS,
12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | See the License for the specific language governing permissions and
14 | limitations under the License.
15 |
16 | MagickCore image colormap methods.
17 | */
18 | #ifndef _MAGICKCORE_COLORMAP_H
19 | #define _MAGICKCORE_COLORMAP_H
20 |
21 | #if defined(__cplusplus) || defined(c_plusplus)
22 | extern "C" {
23 | #endif
24 |
25 | extern MagickExport MagickBooleanType
26 | AcquireImageColormap(Image *,const size_t),
27 | CycleColormapImage(Image *,const ssize_t),
28 | SortColormapByIntensity(Image *);
29 |
30 | #if defined(__cplusplus) || defined(c_plusplus)
31 | }
32 | #endif
33 |
34 | #endif
35 |
--------------------------------------------------------------------------------
/includes/ImageMagick/magick/compare.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 1999-2013 ImageMagick Studio LLC, a non-profit organization
3 | dedicated to making software imaging solutions freely available.
4 |
5 | You may not use this file except in compliance with the License.
6 | obtain a copy of the License at
7 |
8 | http://www.imagemagick.org/script/license.php
9 |
10 | Unless required by applicable law or agreed to in writing, software
11 | distributed under the License is distributed on an "AS IS" BASIS,
12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | See the License for the specific language governing permissions and
14 | limitations under the License.
15 |
16 | MagickCore image compare methods.
17 | */
18 | #ifndef _MAGICKCORE_COMPARE_H
19 | #define _MAGICKCORE_COMPARE_H
20 |
21 | #if defined(__cplusplus) || defined(c_plusplus)
22 | extern "C" {
23 | #endif
24 |
25 | #include "image.h"
26 |
27 | typedef enum
28 | {
29 | UndefinedMetric,
30 | AbsoluteErrorMetric,
31 | MeanAbsoluteErrorMetric,
32 | MeanErrorPerPixelMetric,
33 | MeanSquaredErrorMetric,
34 | PeakAbsoluteErrorMetric,
35 | PeakSignalToNoiseRatioMetric,
36 | RootMeanSquaredErrorMetric,
37 | NormalizedCrossCorrelationErrorMetric,
38 | FuzzErrorMetric,
39 | UndefinedErrorMetric = 0
40 | } MetricType;
41 |
42 | extern MagickExport double
43 | *GetImageChannelDistortions(Image *,const Image *,const MetricType,
44 | ExceptionInfo *);
45 |
46 | extern MagickExport Image
47 | *CompareImageChannels(Image *,const Image *,const ChannelType,
48 | const MetricType,double *,ExceptionInfo *),
49 | *CompareImages(Image *,const Image *,const MetricType,double *,
50 | ExceptionInfo *),
51 | *SimilarityImage(Image *,const Image *,RectangleInfo *,double *,
52 | ExceptionInfo *),
53 | *SimilarityMetricImage(Image *,const Image *,const MetricType,
54 | RectangleInfo *,double *,ExceptionInfo *);
55 |
56 | extern MagickExport MagickBooleanType
57 | GetImageChannelDistortion(Image *,const Image *,const ChannelType,
58 | const MetricType,double *,ExceptionInfo *),
59 | GetImageDistortion(Image *,const Image *,const MetricType,double *,
60 | ExceptionInfo *),
61 | IsImagesEqual(Image *,const Image *);
62 |
63 | #if defined(__cplusplus) || defined(c_plusplus)
64 | }
65 | #endif
66 |
67 | #endif
68 |
--------------------------------------------------------------------------------
/includes/ImageMagick/magick/compress.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 1999-2013 ImageMagick Studio LLC, a non-profit organization
3 | dedicated to making software imaging solutions freely available.
4 |
5 | You may not use this file except in compliance with the License.
6 | obtain a copy of the License at
7 |
8 | http://www.imagemagick.org/script/license.php
9 |
10 | Unless required by applicable law or agreed to in writing, software
11 | distributed under the License is distributed on an "AS IS" BASIS,
12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | See the License for the specific language governing permissions and
14 | limitations under the License.
15 |
16 | MagickCore image compression/decompression methods.
17 | */
18 | #ifndef _MAGICKCORE_COMPRESS_H
19 | #define _MAGICKCORE_COMPRESS_H
20 |
21 | #if defined(__cplusplus) || defined(c_plusplus)
22 | extern "C" {
23 | #endif
24 |
25 | typedef enum
26 | {
27 | UndefinedCompression,
28 | NoCompression,
29 | BZipCompression,
30 | DXT1Compression,
31 | DXT3Compression,
32 | DXT5Compression,
33 | FaxCompression,
34 | Group4Compression,
35 | JPEGCompression,
36 | JPEG2000Compression, /* ISO/IEC std 15444-1 */
37 | LosslessJPEGCompression,
38 | LZWCompression,
39 | RLECompression,
40 | ZipCompression,
41 | ZipSCompression,
42 | PizCompression,
43 | Pxr24Compression,
44 | B44Compression,
45 | B44ACompression,
46 | LZMACompression, /* Lempel-Ziv-Markov chain algorithm */
47 | JBIG1Compression, /* ISO/IEC std 11544 / ITU-T rec T.82 */
48 | JBIG2Compression /* ISO/IEC std 14492 / ITU-T rec T.88 */
49 | } CompressionType;
50 |
51 | typedef struct _Ascii85Info
52 | Ascii85Info;
53 |
54 | extern MagickExport MagickBooleanType
55 | HuffmanDecodeImage(Image *),
56 | HuffmanEncodeImage(const ImageInfo *,Image *,Image *),
57 | LZWEncodeImage(Image *,const size_t,unsigned char *),
58 | PackbitsEncodeImage(Image *,const size_t,unsigned char *),
59 | ZLIBEncodeImage(Image *,const size_t,unsigned char *);
60 |
61 | extern MagickExport void
62 | Ascii85Encode(Image *,const unsigned char),
63 | Ascii85Flush(Image *),
64 | Ascii85Initialize(Image *);
65 |
66 | #if defined(__cplusplus) || defined(c_plusplus)
67 | }
68 | #endif
69 |
70 | #endif
71 |
--------------------------------------------------------------------------------
/includes/ImageMagick/magick/configure.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 1999-2013 ImageMagick Studio LLC, a non-profit organization
3 | dedicated to making software imaging solutions freely available.
4 |
5 | You may not use this file except in compliance with the License.
6 | obtain a copy of the License at
7 |
8 | http://www.imagemagick.org/script/license.php
9 |
10 | Unless required by applicable law or agreed to in writing, software
11 | distributed under the License is distributed on an "AS IS" BASIS,
12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | See the License for the specific language governing permissions and
14 | limitations under the License.
15 |
16 | MagickCore configure methods.
17 | */
18 | #ifndef _MAGICKCORE_CONFIGURE_H
19 | #define _MAGICKCORE_CONFIGURE_H
20 |
21 | #if defined(__cplusplus) || defined(c_plusplus)
22 | extern "C" {
23 | #endif
24 |
25 | #include "hashmap.h"
26 |
27 | typedef struct _ConfigureInfo
28 | {
29 | char
30 | *path,
31 | *name,
32 | *value;
33 |
34 | MagickBooleanType
35 | exempt,
36 | stealth;
37 |
38 | struct _ConfigureInfo
39 | *previous,
40 | *next; /* deprecated, use GetConfigureInfoList() */
41 |
42 | size_t
43 | signature;
44 | } ConfigureInfo;
45 |
46 | extern MagickExport char
47 | **GetConfigureList(const char *,size_t *,ExceptionInfo *),
48 | *GetConfigureOption(const char *);
49 |
50 | extern MagickExport const char
51 | *GetConfigureValue(const ConfigureInfo *);
52 |
53 | extern MagickExport const ConfigureInfo
54 | *GetConfigureInfo(const char *,ExceptionInfo *),
55 | **GetConfigureInfoList(const char *,size_t *,ExceptionInfo *);
56 |
57 | extern MagickExport LinkedListInfo
58 | *DestroyConfigureOptions(LinkedListInfo *),
59 | *GetConfigurePaths(const char *,ExceptionInfo *),
60 | *GetConfigureOptions(const char *,ExceptionInfo *);
61 |
62 | extern MagickExport MagickBooleanType
63 | ConfigureComponentGenesis(void),
64 | ListConfigureInfo(FILE *,ExceptionInfo *);
65 |
66 | extern MagickExport void
67 | ConfigureComponentTerminus(void);
68 |
69 | #if defined(__cplusplus) || defined(c_plusplus)
70 | }
71 | #endif
72 |
73 | #endif
74 |
--------------------------------------------------------------------------------
/includes/ImageMagick/magick/constitute.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 1999-2013 ImageMagick Studio LLC, a non-profit organization
3 | dedicated to making software imaging solutions freely available.
4 |
5 | You may not use this file except in compliance with the License.
6 | obtain a copy of the License at
7 |
8 | http://www.imagemagick.org/script/license.php
9 |
10 | Unless required by applicable law or agreed to in writing, software
11 | distributed under the License is distributed on an "AS IS" BASIS,
12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | See the License for the specific language governing permissions and
14 | limitations under the License.
15 |
16 | MagickCore image constitute methods.
17 | */
18 | #ifndef _MAGICKCORE_CONSTITUTE_H
19 | #define _MAGICKCORE_CONSTITUTE_H
20 |
21 | #if defined(__cplusplus) || defined(c_plusplus)
22 | extern "C" {
23 | #endif
24 |
25 | typedef enum
26 | {
27 | UndefinedPixel,
28 | CharPixel,
29 | DoublePixel,
30 | FloatPixel,
31 | IntegerPixel,
32 | LongPixel,
33 | QuantumPixel,
34 | ShortPixel
35 | } StorageType;
36 |
37 | extern MagickExport Image
38 | *ConstituteImage(const size_t,const size_t,const char *,const StorageType,
39 | const void *,ExceptionInfo *),
40 | *PingImage(const ImageInfo *,ExceptionInfo *),
41 | *PingImages(const ImageInfo *,ExceptionInfo *),
42 | *ReadImage(const ImageInfo *,ExceptionInfo *),
43 | *ReadImages(const ImageInfo *,ExceptionInfo *),
44 | *ReadInlineImage(const ImageInfo *,const char *,ExceptionInfo *);
45 |
46 | extern MagickExport MagickBooleanType
47 | ConstituteComponentGenesis(void),
48 | WriteImage(const ImageInfo *,Image *),
49 | WriteImages(const ImageInfo *,Image *,const char *,ExceptionInfo *);
50 |
51 | extern MagickExport void
52 | ConstituteComponentTerminus(void);
53 |
54 | #if defined(__cplusplus) || defined(c_plusplus)
55 | }
56 | #endif
57 |
58 | #endif
59 |
--------------------------------------------------------------------------------
/includes/ImageMagick/magick/decorate.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 1999-2013 ImageMagick Studio LLC, a non-profit organization
3 | dedicated to making software imaging solutions freely available.
4 |
5 | You may not use this file except in compliance with the License.
6 | obtain a copy of the License at
7 |
8 | http://www.imagemagick.org/script/license.php
9 |
10 | Unless required by applicable law or agreed to in writing, software
11 | distributed under the License is distributed on an "AS IS" BASIS,
12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | See the License for the specific language governing permissions and
14 | limitations under the License.
15 |
16 | MagickCore image decorate methods.
17 | */
18 | #ifndef _MAGICKCORE_DECORATE_H
19 | #define _MAGICKCORE_DECORATE_H
20 |
21 | #if defined(__cplusplus) || defined(c_plusplus)
22 | extern "C" {
23 | #endif
24 |
25 | typedef struct _FrameInfo
26 | {
27 | size_t
28 | width,
29 | height;
30 |
31 | ssize_t
32 | x,
33 | y,
34 | inner_bevel,
35 | outer_bevel;
36 | } FrameInfo;
37 |
38 | extern MagickExport Image
39 | *BorderImage(const Image *,const RectangleInfo *,ExceptionInfo *),
40 | *FrameImage(const Image *,const FrameInfo *,ExceptionInfo *);
41 |
42 | extern MagickExport MagickBooleanType
43 | RaiseImage(Image *,const RectangleInfo *,const MagickBooleanType);
44 |
45 | #if defined(__cplusplus) || defined(c_plusplus)
46 | }
47 | #endif
48 |
49 | #endif
50 |
--------------------------------------------------------------------------------
/includes/ImageMagick/magick/delegate-private.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 1999-2013 ImageMagick Studio LLC, a non-profit organization
3 | dedicated to making software imaging solutions freely available.
4 |
5 | You may not use this file except in compliance with the License.
6 | obtain a copy of the License at
7 |
8 | http://www.imagemagick.org/script/license.php
9 |
10 | Unless required by applicable law or agreed to in writing, software
11 | distributed under the License is distributed on an "AS IS" BASIS,
12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | See the License for the specific language governing permissions and
14 | limitations under the License.
15 |
16 | MagickCore delegates private methods.
17 | */
18 | #ifndef _MAGICKCORE_DELEGATE_PRIVATE_H
19 | #define _MAGICKCORE_DELEGATE_PRIVATE_H
20 |
21 | #if defined(__cplusplus) || defined(c_plusplus)
22 | extern "C" {
23 | #endif
24 |
25 | #if defined(MAGICKCORE_GS_DELEGATE)
26 | #include "ghostscript/iapi.h"
27 | #include "ghostscript/ierrors.h"
28 | #endif
29 |
30 | #ifndef gs_main_instance_DEFINED
31 | # define gs_main_instance_DEFINED
32 | typedef struct gs_main_instance_s
33 | gs_main_instance;
34 | #endif
35 |
36 | #if !defined(MagickDLLCall)
37 | # if defined(MAGICKCORE_WINDOWS_SUPPORT)
38 | # define MagickDLLCall __stdcall
39 | # else
40 | # define MagickDLLCall
41 | # endif
42 | #endif
43 |
44 | typedef struct _GhostInfo
45 | {
46 | int
47 | (MagickDLLCall *exit)(gs_main_instance *);
48 |
49 | int
50 | (MagickDLLCall *init_with_args)(gs_main_instance *,int,char **);
51 |
52 | int
53 | (MagickDLLCall *new_instance)(gs_main_instance **,void *);
54 |
55 | int
56 | (MagickDLLCall *run_string)(gs_main_instance *,const char *,int,int *);
57 |
58 | void
59 | (MagickDLLCall *delete_instance)(gs_main_instance *);
60 | } GhostInfo;
61 |
62 | #if defined(__cplusplus) || defined(c_plusplus)
63 | }
64 | #endif
65 |
66 | #endif
67 |
--------------------------------------------------------------------------------
/includes/ImageMagick/magick/display-private.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 1999-2013 ImageMagick Studio LLC, a non-profit organization
3 | dedicated to making software imaging solutions freely available.
4 |
5 | You may not use this file except in compliance with the License.
6 | obtain a copy of the License at
7 |
8 | http://www.imagemagick.org/script/license.php
9 |
10 | Unless required by applicable law or agreed to in writing, software
11 | distributed under the License is distributed on an "AS IS" BASIS,
12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | See the License for the specific language governing permissions and
14 | limitations under the License.
15 |
16 | MagickCore methods to interactively display and edit an image.
17 | */
18 | #ifndef _MAGICKCORE_DISPLAY_PRIVATE_H
19 | #define _MAGICKCORE_DISPLAY_PRIVATE_H
20 |
21 | #if defined(__cplusplus) || defined(c_plusplus)
22 | extern "C" {
23 | #endif
24 |
25 | #if defined(MAGICKCORE_X11_DELEGATE)
26 | #include "magick/xwindow-private.h"
27 |
28 | extern MagickExport Image
29 | *XDisplayImage(Display *,XResourceInfo *,char **,int,Image **,size_t *);
30 |
31 | extern MagickExport MagickBooleanType XDisplayBackgroundImage(Display *,
32 | XResourceInfo *,Image *);
33 | #endif
34 |
35 | #if defined(__cplusplus) || defined(c_plusplus)
36 | }
37 | #endif
38 |
39 | #endif
40 |
--------------------------------------------------------------------------------
/includes/ImageMagick/magick/display.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 1999-2013 ImageMagick Studio LLC, a non-profit organization
3 | dedicated to making software imaging solutions freely available.
4 |
5 | You may not use this file except in compliance with the License.
6 | obtain a copy of the License at
7 |
8 | http://www.imagemagick.org/script/license.php
9 |
10 | Unless required by applicable law or agreed to in writing, software
11 | distributed under the License is distributed on an "AS IS" BASIS,
12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | See the License for the specific language governing permissions and
14 | limitations under the License.
15 |
16 | MagickCore methods to interactively display and edit an image.
17 | */
18 | #ifndef _MAGICKCORE_DISPLAY_H
19 | #define _MAGICKCORE_DISPLAY_H
20 |
21 | #if defined(__cplusplus) || defined(c_plusplus)
22 | extern "C" {
23 | #endif
24 |
25 | extern MagickExport MagickBooleanType
26 | DisplayImages(const ImageInfo *,Image *),
27 | RemoteDisplayCommand(const ImageInfo *,const char *,const char *,
28 | ExceptionInfo *);
29 |
30 | #if defined(__cplusplus) || defined(c_plusplus)
31 | }
32 | #endif
33 |
34 | #endif
35 |
--------------------------------------------------------------------------------
/includes/ImageMagick/magick/distribute-cache.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 1999-2013 ImageMagick Studio LLC, a non-profit organization
3 | dedicated to making software imaging solutions freely available.
4 |
5 | You may not use this file except in compliance with the License.
6 | obtain a copy of the License at
7 |
8 | http://www.imagemagick.org/script/license.php
9 |
10 | Unless required by applicable law or agreed to in writing, software
11 | distributed under the License is distributed on an "AS IS" BASIS,
12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | See the License for the specific language governing permissions and
14 | limitations under the License.
15 |
16 | MagickCore distributed cache methods.
17 | */
18 | #ifndef _MAGICKCORE_DISTRIBUTE_CACHE_H
19 | #define _MAGICKCORE_DISTRIBUTE_CACHE_H
20 |
21 | #if defined(__cplusplus) || defined(c_plusplus)
22 | extern "C" {
23 | #endif
24 |
25 | #include "exception.h"
26 |
27 | extern MagickExport void
28 | DistributePixelCacheServer(const int,ExceptionInfo *);
29 |
30 | #if defined(__cplusplus) || defined(c_plusplus)
31 | }
32 | #endif
33 |
34 | #endif
35 |
--------------------------------------------------------------------------------
/includes/ImageMagick/magick/draw-private.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 1999-2013 ImageMagick Studio LLC, a non-profit organization
3 | dedicated to making software imaging solutions freely available.
4 |
5 | You may not use this file except in compliance with the License.
6 | obtain a copy of the License at
7 |
8 | http://www.imagemagick.org/script/license.php
9 |
10 | Unless required by applicable law or agreed to in writing, software
11 | distributed under the License is distributed on an "AS IS" BASIS,
12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | See the License for the specific language governing permissions and
14 | limitations under the License.
15 |
16 | MagickCore private image drawing methods.
17 | */
18 | #ifndef _MAGICKCORE_DRAW_PRIVATE_H
19 | #define _MAGICKCORE_DRAW_PRIVATE_H
20 |
21 | #if defined(__cplusplus) || defined(c_plusplus)
22 | extern "C" {
23 | #endif
24 |
25 | #include "magick/cache.h"
26 | #include "magick/image.h"
27 | #include "magick/memory_.h"
28 |
29 | static inline MagickBooleanType GetFillColor(const DrawInfo *draw_info,
30 | const ssize_t x,const ssize_t y,PixelPacket *pixel)
31 | {
32 | Image
33 | *pattern;
34 |
35 | MagickBooleanType
36 | status;
37 |
38 | pattern=draw_info->fill_pattern;
39 | if (pattern == (Image *) NULL)
40 | {
41 | *pixel=draw_info->fill;
42 | return(MagickTrue);
43 | }
44 | status=GetOneVirtualMethodPixel(pattern,TileVirtualPixelMethod,
45 | x+pattern->tile_offset.x,y+pattern->tile_offset.y,pixel,
46 | &pattern->exception);
47 | if (pattern->matte == MagickFalse)
48 | pixel->opacity=OpaqueOpacity;
49 | return(status);
50 | }
51 |
52 | static inline MagickBooleanType GetStrokeColor(const DrawInfo *draw_info,
53 | const ssize_t x,const ssize_t y,PixelPacket *pixel)
54 | {
55 | Image
56 | *pattern;
57 |
58 | MagickBooleanType
59 | status;
60 |
61 | pattern=draw_info->stroke_pattern;
62 | if (pattern == (Image *) NULL)
63 | {
64 | *pixel=draw_info->stroke;
65 | return(MagickTrue);
66 | }
67 | status=GetOneVirtualMethodPixel(pattern,TileVirtualPixelMethod,
68 | x+pattern->tile_offset.x,y+pattern->tile_offset.y,pixel,
69 | &pattern->exception);
70 | if (pattern->matte == MagickFalse)
71 | pixel->opacity=OpaqueOpacity;
72 | return(status);
73 | }
74 |
75 | #if defined(__cplusplus) || defined(c_plusplus)
76 | }
77 | #endif
78 |
79 | #endif
80 |
--------------------------------------------------------------------------------
/includes/ImageMagick/magick/feature.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 1999-2013 ImageMagick Studio LLC, a non-profit organization
3 | dedicated to making software imaging solutions freely available.
4 |
5 | You may not use this file except in compliance with the License.
6 | obtain a copy of the License at
7 |
8 | http://www.imagemagick.org/script/license.php
9 |
10 | Unless required by applicable law or agreed to in writing, software
11 | distributed under the License is distributed on an "AS IS" BASIS,
12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | See the License for the specific language governing permissions and
14 | limitations under the License.
15 |
16 | MagickCore feature methods.
17 | */
18 | #ifndef _MAGICKCORE_FEATURE_H
19 | #define _MAGICKCORE_FEATURE_H
20 |
21 | #if defined(__cplusplus) || defined(c_plusplus)
22 | extern "C" {
23 | #endif
24 |
25 | /*
26 | Haralick texture features.
27 | */
28 | typedef struct _ChannelFeatures
29 | {
30 | double
31 | angular_second_moment[4],
32 | contrast[4],
33 | correlation[4],
34 | variance_sum_of_squares[4],
35 | inverse_difference_moment[4],
36 | sum_average[4],
37 | sum_variance[4],
38 | sum_entropy[4],
39 | entropy[4],
40 | difference_variance[4],
41 | difference_entropy[4],
42 | measure_of_correlation_1[4],
43 | measure_of_correlation_2[4],
44 | maximum_correlation_coefficient[4];
45 | } ChannelFeatures;
46 |
47 | extern MagickExport ChannelFeatures
48 | *GetImageChannelFeatures(const Image *,const size_t,ExceptionInfo *);
49 |
50 | #if defined(__cplusplus) || defined(c_plusplus)
51 | }
52 | #endif
53 |
54 | #endif
55 |
--------------------------------------------------------------------------------
/includes/ImageMagick/magick/fourier.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 1999-2013 ImageMagick Studio LLC, a non-profit organization
3 | dedicated to making software imaging solutions freely available.
4 |
5 | You may not use this file except in compliance with the License.
6 | obtain a copy of the License at
7 |
8 | http://www.imagemagick.org/script/license.php
9 |
10 | Unless required by applicable law or agreed to in writing, software
11 | distributed under the License is distributed on an "AS IS" BASIS,
12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | See the License for the specific language governing permissions and
14 | limitations under the License.
15 |
16 | MagickCore discrete Fourier transform (DFT) methods.
17 | */
18 | #ifndef _MAGICKCORE_FFT_H
19 | #define _MAGICKCORE_FFT_H
20 |
21 | #if defined(__cplusplus) || defined(c_plusplus)
22 | extern "C" {
23 | #endif
24 |
25 | typedef enum
26 | {
27 | UndefinedComplexOperator,
28 | AddComplexOperator,
29 | ConjugateComplexOperator,
30 | DivideComplexOperator,
31 | MagnitudePhaseComplexOperator,
32 | MultiplyComplexOperator,
33 | RealImaginaryComplexOperator,
34 | SubtractComplexOperator
35 | } ComplexOperator;
36 |
37 | extern MagickExport Image
38 | *ComplexImages(const Image *,const ComplexOperator,ExceptionInfo *),
39 | *ForwardFourierTransformImage(const Image *,const MagickBooleanType,
40 | ExceptionInfo *),
41 | *InverseFourierTransformImage(const Image *,const Image *,
42 | const MagickBooleanType,ExceptionInfo *);
43 |
44 | #if defined(__cplusplus) || defined(c_plusplus)
45 | }
46 | #endif
47 |
48 | #endif
49 |
--------------------------------------------------------------------------------
/includes/ImageMagick/magick/fx-private.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 1999-2013 ImageMagick Studio LLC, a non-profit organization
3 | dedicated to making software imaging solutions freely available.
4 |
5 | You may not use this file except in compliance with the License.
6 | obtain a copy of the License at
7 |
8 | http://www.imagemagick.org/script/license.php
9 |
10 | Unless required by applicable law or agreed to in writing, software
11 | distributed under the License is distributed on an "AS IS" BASIS,
12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | See the License for the specific language governing permissions and
14 | limitations under the License.
15 |
16 | MagickCore private image f/x methods.
17 | */
18 | #ifndef _MAGICKCORE_FX_PRIVATE_H
19 | #define _MAGICKCORE_FX_PRIVATE_H
20 |
21 | #if defined(__cplusplus) || defined(c_plusplus)
22 | extern "C" {
23 | #endif
24 |
25 | typedef struct _FxInfo
26 | FxInfo;
27 |
28 | extern MagickExport FxInfo
29 | *AcquireFxInfo(const Image *,const char *),
30 | *DestroyFxInfo(FxInfo *);
31 |
32 | extern MagickExport MagickBooleanType
33 | FxEvaluateExpression(FxInfo *,MagickRealType *,ExceptionInfo *),
34 | FxEvaluateChannelExpression(FxInfo *,const ChannelType,const ssize_t,
35 | const ssize_t,MagickRealType *,ExceptionInfo *);
36 |
37 | #if defined(__cplusplus) || defined(c_plusplus)
38 | }
39 | #endif
40 |
41 | #endif
42 |
--------------------------------------------------------------------------------
/includes/ImageMagick/magick/histogram.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 1999-2013 ImageMagick Studio LLC, a non-profit organization
3 | dedicated to making software imaging solutions freely available.
4 |
5 | You may not use this file except in compliance with the License.
6 | obtain a copy of the License at
7 |
8 | http://www.imagemagick.org/script/license.php
9 |
10 | Unless required by applicable law or agreed to in writing, software
11 | distributed under the License is distributed on an "AS IS" BASIS,
12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | See the License for the specific language governing permissions and
14 | limitations under the License.
15 |
16 | MagickCore histogram methods.
17 | */
18 | #ifndef _MAGICKCORE_HISTOGRAM_H
19 | #define _MAGICKCORE_HISTOGRAM_H
20 |
21 | #if defined(__cplusplus) || defined(c_plusplus)
22 | extern "C" {
23 | #endif
24 |
25 | typedef struct _ColorPacket
26 | {
27 | PixelPacket
28 | pixel;
29 |
30 | IndexPacket
31 | index;
32 |
33 | MagickSizeType
34 | count;
35 | } ColorPacket;
36 |
37 | extern MagickExport ColorPacket
38 | *GetImageHistogram(const Image *,size_t *,ExceptionInfo *);
39 |
40 | extern MagickExport Image
41 | *UniqueImageColors(const Image *,ExceptionInfo *);
42 |
43 | extern MagickExport MagickBooleanType
44 | IsHistogramImage(const Image *,ExceptionInfo *),
45 | IsPaletteImage(const Image *,ExceptionInfo *),
46 | MinMaxStretchImage(Image *,const ChannelType,const double,const double);
47 |
48 | extern MagickExport size_t
49 | GetNumberColors(const Image *,FILE *,ExceptionInfo *);
50 |
51 | #if defined(__cplusplus) || defined(c_plusplus)
52 | }
53 | #endif
54 |
55 | #endif
56 |
--------------------------------------------------------------------------------
/includes/ImageMagick/magick/identify.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 1999-2013 ImageMagick Studio LLC, a non-profit organization
3 | dedicated to making software imaging solutions freely available.
4 |
5 | You may not use this file except in compliance with the License.
6 | obtain a copy of the License at
7 |
8 | http://www.imagemagick.org/script/license.php
9 |
10 | Unless required by applicable law or agreed to in writing, software
11 | distributed under the License is distributed on an "AS IS" BASIS,
12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | See the License for the specific language governing permissions and
14 | limitations under the License.
15 |
16 | MagickCore image identify method.
17 | */
18 | #ifndef _MAGICKCORE_IDENTIFY_H
19 | #define _MAGICKCORE_IDENTIFY_H
20 |
21 | #if defined(__cplusplus) || defined(c_plusplus)
22 | extern "C" {
23 | #endif
24 |
25 | extern MagickExport MagickBooleanType
26 | IdentifyImage(Image *,FILE *,const MagickBooleanType);
27 |
28 | #if defined(__cplusplus) || defined(c_plusplus)
29 | }
30 | #endif
31 |
32 | #endif
33 |
--------------------------------------------------------------------------------
/includes/ImageMagick/magick/layer.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 1999-2013 ImageMagick Studio LLC, a non-profit organization
3 | dedicated to making software imaging solutions freely available.
4 |
5 | You may not use this file except in compliance with the License.
6 | obtain a copy of the License at
7 |
8 | http://www.imagemagick.org/script/license.php
9 |
10 | Unless required by applicable law or agreed to in writing, software
11 | distributed under the License is distributed on an "AS IS" BASIS,
12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | See the License for the specific language governing permissions and
14 | limitations under the License.
15 |
16 | MagickCore image layer methods.
17 | */
18 | #ifndef _MAGICKCORE_LAYER_H
19 | #define _MAGICKCORE_LAYER_H
20 |
21 | #if defined(__cplusplus) || defined(c_plusplus)
22 | extern "C" {
23 | #endif
24 |
25 | typedef enum
26 | {
27 | UnrecognizedDispose,
28 | UndefinedDispose = 0,
29 | NoneDispose = 1,
30 | BackgroundDispose = 2,
31 | PreviousDispose = 3
32 | } DisposeType;
33 |
34 | typedef enum
35 | {
36 | UndefinedLayer,
37 | CoalesceLayer,
38 | CompareAnyLayer,
39 | CompareClearLayer,
40 | CompareOverlayLayer,
41 | DisposeLayer,
42 | OptimizeLayer,
43 | OptimizeImageLayer,
44 | OptimizePlusLayer,
45 | OptimizeTransLayer,
46 | RemoveDupsLayer,
47 | RemoveZeroLayer,
48 | CompositeLayer,
49 | MergeLayer,
50 | FlattenLayer,
51 | MosaicLayer,
52 | TrimBoundsLayer
53 | } ImageLayerMethod;
54 |
55 | extern MagickExport Image
56 | *CoalesceImages(const Image *,ExceptionInfo *),
57 | *DisposeImages(const Image *,ExceptionInfo *),
58 | *CompareImageLayers(const Image *,const ImageLayerMethod,ExceptionInfo *),
59 | *DeconstructImages(const Image *,ExceptionInfo *),
60 | *MergeImageLayers(Image *,const ImageLayerMethod,ExceptionInfo *),
61 | *OptimizeImageLayers(const Image *,ExceptionInfo *),
62 | *OptimizePlusImageLayers(const Image *,ExceptionInfo *);
63 |
64 | extern MagickExport void
65 | CompositeLayers(Image *,const CompositeOperator,Image *,const ssize_t,
66 | const ssize_t,ExceptionInfo *),
67 | OptimizeImageTransparency(const Image *,ExceptionInfo *),
68 | RemoveDuplicateLayers(Image **,ExceptionInfo *),
69 | RemoveZeroDelayLayers(Image **,ExceptionInfo *);
70 |
71 | #if defined(__cplusplus) || defined(c_plusplus)
72 | }
73 | #endif
74 |
75 | #endif
76 |
--------------------------------------------------------------------------------
/includes/ImageMagick/magick/list.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 1999-2013 ImageMagick Studio LLC, a non-profit organization
3 | dedicated to making software imaging solutions freely available.
4 |
5 | You may not use this file except in compliance with the License.
6 | obtain a copy of the License at
7 |
8 | http://www.imagemagick.org/script/license.php
9 |
10 | Unless required by applicable law or agreed to in writing, software
11 | distributed under the License is distributed on an "AS IS" BASIS,
12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | See the License for the specific language governing permissions and
14 | limitations under the License.
15 |
16 | MagickCore image list methods.
17 | */
18 | #ifndef _MAGICKCORE_LIST_H
19 | #define _MAGICKCORE_LIST_H
20 |
21 | #if defined(__cplusplus) || defined(c_plusplus)
22 | extern "C" {
23 | #endif
24 |
25 | extern MagickExport Image
26 | *CloneImageList(const Image *,ExceptionInfo *),
27 | *CloneImages(const Image *,const char *,ExceptionInfo *),
28 | *DestroyImageList(Image *),
29 | *DuplicateImages(Image *,const size_t,const char *,ExceptionInfo *),
30 | *GetFirstImageInList(const Image *),
31 | *GetImageFromList(const Image *,const ssize_t),
32 | *GetLastImageInList(const Image *),
33 | *GetNextImageInList(const Image *),
34 | *GetPreviousImageInList(const Image *),
35 | **ImageListToArray(const Image *,ExceptionInfo *),
36 | *NewImageList(void),
37 | *RemoveImageFromList(Image **),
38 | *RemoveLastImageFromList(Image **),
39 | *RemoveFirstImageFromList(Image **),
40 | *SpliceImageIntoList(Image **,const size_t,const Image *),
41 | *SplitImageList(Image *),
42 | *SyncNextImageInList(const Image *);
43 |
44 | extern MagickExport size_t
45 | GetImageListLength(const Image *);
46 |
47 | extern MagickExport ssize_t
48 | GetImageIndexInList(const Image *);
49 |
50 | extern MagickExport void
51 | AppendImageToList(Image **,const Image *),
52 | DeleteImageFromList(Image **),
53 | DeleteImages(Image **,const char *,ExceptionInfo *),
54 | InsertImageInList(Image **,Image *),
55 | PrependImageToList(Image **,Image *),
56 | ReplaceImageInList(Image **,Image *),
57 | ReplaceImageInListReturnLast(Image **,Image *),
58 | ReverseImageList(Image **),
59 | SyncImageList(Image *);
60 |
61 | #if defined(__cplusplus) || defined(c_plusplus)
62 | }
63 | #endif
64 |
65 | #endif
66 |
--------------------------------------------------------------------------------
/includes/ImageMagick/magick/magic.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 1999-2013 ImageMagick Studio LLC, a non-profit organization
3 | dedicated to making software imaging solutions freely available.
4 |
5 | You may not use this file except in compliance with the License.
6 | obtain a copy of the License at
7 |
8 | http://www.imagemagick.org/script/license.php
9 |
10 | Unless required by applicable law or agreed to in writing, software
11 | distributed under the License is distributed on an "AS IS" BASIS,
12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | See the License for the specific language governing permissions and
14 | limitations under the License.
15 |
16 | MagickCore magic methods.
17 | */
18 | #ifndef _MAGICKCORE_MAGIC_H
19 | #define _MAGICKCORE_MAGIC_H
20 |
21 | #if defined(__cplusplus) || defined(c_plusplus)
22 | extern "C" {
23 | #endif
24 |
25 | typedef struct _MagicInfo
26 | {
27 | char
28 | *path,
29 | *name,
30 | *target;
31 |
32 | unsigned char
33 | *magic;
34 |
35 | size_t
36 | length;
37 |
38 | MagickOffsetType
39 | offset;
40 |
41 | MagickBooleanType
42 | exempt,
43 | stealth;
44 |
45 | struct _MagicInfo
46 | *previous,
47 | *next; /* deprecated, use GetMagicInfoList() */
48 |
49 | size_t
50 | signature;
51 | } MagicInfo;
52 |
53 | extern MagickExport char
54 | **GetMagicList(const char *,size_t *,ExceptionInfo *);
55 |
56 | extern MagickExport const char
57 | *GetMagicName(const MagicInfo *);
58 |
59 | extern MagickExport MagickBooleanType
60 | ListMagicInfo(FILE *,ExceptionInfo *),
61 | MagicComponentGenesis(void);
62 |
63 | extern MagickExport const MagicInfo
64 | *GetMagicInfo(const unsigned char *,const size_t,ExceptionInfo *),
65 | **GetMagicInfoList(const char *,size_t *,ExceptionInfo *);
66 |
67 | extern MagickExport void
68 | MagicComponentTerminus(void);
69 |
70 | #if defined(__cplusplus) || defined(c_plusplus)
71 | }
72 | #endif
73 |
74 | #endif
75 |
--------------------------------------------------------------------------------
/includes/ImageMagick/magick/matrix.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 1999-2013 ImageMagick Studio LLC, a non-profit organization
3 | dedicated to making software imaging solutions freely available.
4 |
5 | You may not use this file except in compliance with the License.
6 | obtain a copy of the License at
7 |
8 | http://www.imagemagick.org/script/license.php
9 |
10 | Unless required by applicable law or agreed to in writing, software
11 | distributed under the License is distributed on an "AS IS" BASIS,
12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | See the License for the specific language governing permissions and
14 | limitations under the License.
15 |
16 | MagickCore graphic resample methods.
17 | */
18 | #ifndef _MAGICKCORE_MATRIX_H
19 | #define _MAGICKCORE_MATRIX_H
20 |
21 | #if defined(__cplusplus) || defined(c_plusplus)
22 | extern "C" {
23 | #endif
24 |
25 | extern MagickExport double
26 | **AcquireMagickMatrix(const size_t,const size_t),
27 | **RelinquishMagickMatrix(double **,const size_t);
28 |
29 | extern MagickExport MagickBooleanType
30 | GaussJordanElimination(double **,double **,const size_t,const size_t);
31 |
32 | extern MagickExport void
33 | LeastSquaresAddTerms(double **,double **,const double *,const double *,
34 | const size_t, const size_t);
35 |
36 | #if defined(__cplusplus) || defined(c_plusplus)
37 | }
38 | #endif
39 |
40 | #endif
41 |
--------------------------------------------------------------------------------
/includes/ImageMagick/magick/memory-private.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 1999-2013 ImageMagick Studio LLC, a non-profit organization
3 | dedicated to making software imaging solutions freely available.
4 |
5 | You may not use this file except in compliance with the License.
6 | obtain a copy of the License at
7 |
8 | http://www.imagemagick.org/script/license.php
9 |
10 | Unless required by applicable law or agreed to in writing, software
11 | distributed under the License is distributed on an "AS IS" BASIS,
12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | See the License for the specific language governing permissions and
14 | limitations under the License.
15 |
16 | MagickCore private memory methods.
17 | */
18 | #ifndef _MAGICKCORE_MEMORY_PRIVATE_H
19 | #define _MAGICKCORE_MEMORY_PRIVATE_H
20 |
21 | #if defined(__cplusplus) || defined(c_plusplus)
22 | extern "C" {
23 | #endif
24 |
25 | #if defined(MAGICK_TARGET_CPU) && (MAGICK_TARGET_CPU == powerpc)
26 | # define CACHE_LINE_SIZE 128
27 | #else
28 | # define CACHE_LINE_SIZE 64
29 | #endif
30 |
31 | #define CacheAlign(size) ((size) < CACHE_LINE_SIZE ? CACHE_LINE_SIZE : (size))
32 |
33 | #if (__GNUC__ > 4) || ((__GNUC__ == 4) && (__GNUC_MINOR__ > 6))
34 | #if !defined(__ICC)
35 | #define MagickAssumeAligned(address) \
36 | __builtin_assume_aligned((address),CACHE_LINE_SIZE)
37 | #else
38 | #define MagickAssumeAligned(address) (address)
39 | #endif
40 | #else
41 | #define MagickAssumeAligned(address) (address)
42 | #endif
43 |
44 | #if defined(__cplusplus) || defined(c_plusplus)
45 | }
46 | #endif
47 |
48 | #endif
49 |
--------------------------------------------------------------------------------
/includes/ImageMagick/magick/mime-private.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 1999-2013 ImageMagick Studio LLC, a non-profit organization
3 | dedicated to making software imaging solutions freely available.
4 |
5 | You may not use this file except in compliance with the License.
6 | obtain a copy of the License at
7 |
8 | http://www.imagemagick.org/script/license.php
9 |
10 | Unless required by applicable law or agreed to in writing, software
11 | distributed under the License is distributed on an "AS IS" BASIS,
12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | See the License for the specific language governing permissions and
14 | limitations under the License.
15 |
16 | The ImageMagick mime private methods.
17 | */
18 | #ifndef _MAGICK_MIME_PRIVATE_H
19 | #define _MAGICK_MIME_PRIVATE_H
20 |
21 | #if defined(__cplusplus) || defined(c_plusplus)
22 | extern "C" {
23 | #endif
24 |
25 | typedef enum
26 | {
27 | UndefinedData,
28 | StringData,
29 | ByteData,
30 | ShortData,
31 | LongData
32 | } DataType;
33 |
34 | #if defined(__cplusplus) || defined(c_plusplus)
35 | }
36 | #endif
37 |
38 | #endif
39 |
--------------------------------------------------------------------------------
/includes/ImageMagick/magick/mime.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 1999-2013 ImageMagick Studio LLC, a non-profit organization
3 | dedicated to making software imaging solutions freely available.
4 |
5 | You may not use this file except in compliance with the License.
6 | obtain a copy of the License at
7 |
8 | http://www.imagemagick.org/script/license.php
9 |
10 | Unless required by applicable law or agreed to in writing, software
11 | distributed under the License is distributed on an "AS IS" BASIS,
12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | See the License for the specific language governing permissions and
14 | limitations under the License.
15 |
16 | The ImageMagick mime methods.
17 | */
18 | #ifndef _MIME_MIME_H
19 | #define _MIME_MIME_H
20 |
21 | #if defined(__cplusplus) || defined(c_plusplus)
22 | extern "C" {
23 | #endif
24 |
25 | typedef struct _MimeInfo
26 | MimeInfo;
27 |
28 | extern MagickExport char
29 | **GetMimeList(const char *,size_t *,ExceptionInfo *),
30 | *MagickToMime(const char *);
31 |
32 | extern MagickExport const char
33 | *GetMimeDescription(const MimeInfo *),
34 | *GetMimeType(const MimeInfo *);
35 |
36 | extern MagickExport MagickBooleanType
37 | ListMimeInfo(FILE *,ExceptionInfo *),
38 | LoadMimeLists(const char *,ExceptionInfo *),
39 | MimeComponentGenesis(void);
40 |
41 | extern MagickExport const MimeInfo
42 | *GetMimeInfo(const char *,const unsigned char *,const size_t,ExceptionInfo *),
43 | **GetMimeInfoList(const char *,size_t *,ExceptionInfo *);
44 |
45 | extern MagickExport void
46 | MimeComponentTerminus(void);
47 |
48 | #if defined(__cplusplus) || defined(c_plusplus)
49 | }
50 | #endif
51 |
52 | #endif
53 |
--------------------------------------------------------------------------------
/includes/ImageMagick/magick/monitor-private.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 1999-2013 ImageMagick Studio LLC, a non-profit organization
3 | dedicated to making software imaging solutions freely available.
4 |
5 | You may not use this file except in compliance with the License.
6 | obtain a copy of the License at
7 |
8 | http://www.imagemagick.org/script/license.php
9 |
10 | Unless required by applicable law or agreed to in writing, software
11 | distributed under the License is distributed on an "AS IS" BASIS,
12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | See the License for the specific language governing permissions and
14 | limitations under the License.
15 |
16 | The ImageMagick progress monitor private methods.
17 | */
18 | #ifndef _MAGICK_MONITOR_PRIVATE_H
19 | #define _MAGICK_MONITOR_PRIVATE_H
20 |
21 | #if defined(__cplusplus) || defined(c_plusplus)
22 | extern "C" {
23 | #endif
24 |
25 | #include "magick/image.h"
26 |
27 | static inline MagickBooleanType SetImageProgress(const Image *image,
28 | const char *tag,const MagickOffsetType offset,const MagickSizeType extent)
29 | {
30 | char
31 | message[MaxTextExtent];
32 |
33 | if (image->progress_monitor == (MagickProgressMonitor) NULL)
34 | return(MagickTrue);
35 | (void) FormatLocaleString(message,MaxTextExtent,"%s/%s",tag,image->filename);
36 | return(image->progress_monitor(message,offset,extent,image->client_data));
37 | }
38 |
39 | #if defined(__cplusplus) || defined(c_plusplus)
40 | }
41 | #endif
42 |
43 | #endif
44 |
--------------------------------------------------------------------------------
/includes/ImageMagick/magick/monitor.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 1999-2013 ImageMagick Studio LLC, a non-profit organization
3 | dedicated to making software imaging solutions freely available.
4 |
5 | You may not use this file except in compliance with the License.
6 | obtain a copy of the License at
7 |
8 | http://www.imagemagick.org/script/license.php
9 |
10 | Unless required by applicable law or agreed to in writing, software
11 | distributed under the License is distributed on an "AS IS" BASIS,
12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | See the License for the specific language governing permissions and
14 | limitations under the License.
15 |
16 | MagickCore progress monitor methods.
17 | */
18 | #ifndef _MAGICKCORE_MONITOR_H
19 | #define _MAGICKCORE_MONITOR_H
20 |
21 | #if defined(__cplusplus) || defined(c_plusplus)
22 | extern "C" {
23 | #endif
24 |
25 | typedef MagickBooleanType
26 | (*MagickProgressMonitor)(const char *,const MagickOffsetType,
27 | const MagickSizeType,void *);
28 |
29 | MagickExport MagickProgressMonitor
30 | SetImageProgressMonitor(Image *,const MagickProgressMonitor,void *),
31 | SetImageInfoProgressMonitor(ImageInfo *,const MagickProgressMonitor,void *);
32 |
33 | static inline MagickBooleanType QuantumTick(const MagickOffsetType offset,
34 | const MagickSizeType span)
35 | {
36 | if (span <= 100)
37 | return(MagickTrue);
38 | if (offset == (MagickOffsetType) (span-1))
39 | return(MagickTrue);
40 | if ((offset % (span/100)) == 0)
41 | return(MagickTrue);
42 | return(MagickFalse);
43 | }
44 |
45 | #if defined(__cplusplus) || defined(c_plusplus)
46 | }
47 | #endif
48 |
49 | #endif
50 |
--------------------------------------------------------------------------------
/includes/ImageMagick/magick/montage.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 1999-2013 ImageMagick Studio LLC, a non-profit organization
3 | dedicated to making software imaging solutions freely available.
4 |
5 | You may not use this file except in compliance with the License.
6 | obtain a copy of the License at
7 |
8 | http://www.imagemagick.org/script/license.php
9 |
10 | Unless required by applicable law or agreed to in writing, software
11 | distributed under the License is distributed on an "AS IS" BASIS,
12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | See the License for the specific language governing permissions and
14 | limitations under the License.
15 |
16 | MagickCore montage methods.
17 | */
18 | #ifndef _MAGICKCORE_MONTAGE_H
19 | #define _MAGICKCORE_MONTAGE_H
20 |
21 | #if defined(__cplusplus) || defined(c_plusplus)
22 | extern "C" {
23 | #endif
24 |
25 | typedef enum
26 | {
27 | UndefinedMode,
28 | FrameMode,
29 | UnframeMode,
30 | ConcatenateMode
31 | } MontageMode;
32 |
33 | typedef struct _MontageInfo
34 | {
35 | char
36 | *geometry,
37 | *tile,
38 | *title,
39 | *frame,
40 | *texture,
41 | *font;
42 |
43 | double
44 | pointsize;
45 |
46 | size_t
47 | border_width;
48 |
49 | MagickBooleanType
50 | shadow;
51 |
52 | PixelPacket
53 | fill,
54 | stroke,
55 | background_color,
56 | border_color,
57 | matte_color;
58 |
59 | GravityType
60 | gravity;
61 |
62 | char
63 | filename[MaxTextExtent];
64 |
65 | MagickBooleanType
66 | debug;
67 |
68 | size_t
69 | signature;
70 | } MontageInfo;
71 |
72 | extern MagickExport Image
73 | *MontageImages(const Image *,const MontageInfo *,ExceptionInfo *),
74 | *MontageImageList(const ImageInfo *,const MontageInfo *,const Image *,
75 | ExceptionInfo *);
76 |
77 | extern MagickExport MontageInfo
78 | *CloneMontageInfo(const ImageInfo *,const MontageInfo *),
79 | *DestroyMontageInfo(MontageInfo *);
80 |
81 | extern MagickExport void
82 | GetMontageInfo(const ImageInfo *,MontageInfo *);
83 |
84 | #if defined(__cplusplus) || defined(c_plusplus)
85 | }
86 | #endif
87 |
88 | #endif
89 |
--------------------------------------------------------------------------------
/includes/ImageMagick/magick/morphology-private.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 1999-2013 ImageMagick Studio LLC, a non-profit organization
3 | dedicated to making software imaging solutions freely available.
4 |
5 | You may not use this file except in compliance with the License.
6 | obtain a copy of the License at
7 |
8 | http://www.imagemagick.org/script/license.php
9 |
10 | Unless required by applicable law or agreed to in writing, software
11 | distributed under the License is distributed on an "AS IS" BASIS,
12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | See the License for the specific language governing permissions and
14 | limitations under the License.
15 |
16 | The ImageMagick morphology private methods.
17 | */
18 | #ifndef _MAGICK_MORPHOLOGY_PRIVATE_H
19 | #define _MAGICK_MORPHOLOGY_PRIVATE_H
20 |
21 | #if defined(__cplusplus) || defined(c_plusplus)
22 | extern "C" {
23 | #endif
24 |
25 | #if defined(__cplusplus) || defined(c_plusplus)
26 | }
27 | #endif
28 |
29 | #include "magick/morphology.h"
30 |
31 | extern MagickExport Image
32 | *MorphologyApply(const Image *,const ChannelType,const MorphologyMethod,
33 | const ssize_t,const KernelInfo *,const CompositeOperator,const double,
34 | ExceptionInfo *);
35 |
36 | extern MagickExport void
37 | ScaleKernelInfo(KernelInfo *,const double,const GeometryFlags),
38 | UnityAddKernelInfo(KernelInfo *,const double),
39 | ZeroKernelNans(KernelInfo *);
40 |
41 | #endif
42 |
--------------------------------------------------------------------------------
/includes/ImageMagick/magick/nt-feature.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 1999-2013 ImageMagick Studio LLC, a non-profit organization
3 | dedicated to making software imaging solutions freely available.
4 |
5 | You may not use this file except in compliance with the License.
6 | obtain a copy of the License at
7 |
8 | http://www.imagemagick.org/script/license.php
9 |
10 | Unless required by applicable law or agreed to in writing, software
11 | distributed under the License is distributed on an "AS IS" BASIS,
12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | See the License for the specific language governing permissions and
14 | limitations under the License.
15 |
16 | MagickCore Windows NT utility methods.
17 | */
18 | #ifndef _MAGICKCORE_NT_FEATURE_H
19 | #define _MAGICKCORE_NT_FEATURE_H
20 |
21 | #if defined(__cplusplus) || defined(c_plusplus)
22 | extern "C" {
23 | #endif
24 |
25 | #include "magick/splay-tree.h"
26 |
27 | extern MagickExport void
28 | *CropImageToHBITMAP(Image *,const RectangleInfo *,ExceptionInfo *),
29 | *ImageToHBITMAP(Image *);
30 |
31 | #if !defined(XS_VERSION)
32 |
33 | extern MagickExport MagickBooleanType
34 | NTIsMagickConflict(const char *),
35 | NTLoadTypeLists(SplayTreeInfo *,ExceptionInfo *);
36 |
37 | #endif
38 |
39 | #if defined(__cplusplus) || defined(c_plusplus)
40 | }
41 | #endif
42 |
43 | #endif
44 |
--------------------------------------------------------------------------------
/includes/ImageMagick/magick/opencl.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 1999-2013 ImageMagick Studio LLC, a non-profit organization
3 | dedicated to making software imaging solutions freely available.
4 |
5 | You may not use this file except in compliance with the License.
6 | obtain a copy of the License at
7 |
8 | http://www.imagemagick.org/script/license.php
9 |
10 | Unless required by applicable law or agreed to in writing, software
11 | distributed under the License is distributed on an "AS IS" BASIS,
12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | See the License for the specific language governing permissions and
14 | limitations under the License.
15 |
16 | MagickCore OpenCL public methods.
17 | */
18 | #ifndef _MAGICKCORE_OPENCL_H
19 | #define _MAGICKCORE_OPENCL_H
20 |
21 |
22 | #if defined(__cplusplus) || defined(c_plusplus)
23 | extern "C" {
24 | #endif
25 |
26 | // OpenCL program modules
27 | typedef enum {
28 | MAGICK_OPENCL_ACCELERATE = 0
29 | ,MAGICK_OPENCL_NUM_PROGRAMS /* !!! This has to be the last entry !!! */
30 | } MagickOpenCLProgram;
31 |
32 |
33 | typedef struct _MagickCLEnv* MagickCLEnv;
34 |
35 | extern MagickExport
36 | MagickCLEnv AcquireMagickOpenCLEnv();
37 |
38 | extern MagickExport
39 | MagickBooleanType RelinquishMagickOpenCLEnv(MagickCLEnv);
40 |
41 | extern MagickExport
42 | MagickCLEnv GetDefaultOpenCLEnv();
43 |
44 | extern MagickExport
45 | MagickCLEnv SetDefaultOpenCLEnv(MagickCLEnv);
46 |
47 |
48 | /* Parameter type accepted by SetMagickOpenCLEnvParm and GetMagickOpenCLEnvParm */
49 | typedef enum {
50 | MAGICK_OPENCL_ENV_PARAM_DEVICE /* cl_device_id (from OpenCL) */
51 | , MAGICK_OPENCL_ENV_PARAM_OPENCL_DISABLED /* MagickBooleanType */
52 | , MAGICK_OPENCL_ENV_PARAM_OPENCL_INITIALIZED /* MagickBooleanType */
53 | } MagickOpenCLEnvParam;
54 |
55 | extern MagickExport
56 | MagickBooleanType SetMagickOpenCLEnvParam(MagickCLEnv, MagickOpenCLEnvParam, size_t, void*, ExceptionInfo*);
57 |
58 | extern MagickExport
59 | MagickBooleanType GetMagickOpenCLEnvParam(MagickCLEnv, MagickOpenCLEnvParam, size_t, void*, ExceptionInfo*);
60 |
61 |
62 | extern MagickExport
63 | MagickBooleanType InitOpenCLEnv(MagickCLEnv, ExceptionInfo*);
64 |
65 |
66 | #if defined(__cplusplus) || defined(c_plusplus)
67 | }
68 | #endif
69 |
70 | #endif
71 |
--------------------------------------------------------------------------------
/includes/ImageMagick/magick/paint.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 1999-2013 ImageMagick Studio LLC, a non-profit organization
3 | dedicated to making software imaging solutions freely available.
4 |
5 | You may not use this file except in compliance with the License.
6 | obtain a copy of the License at
7 |
8 | http://www.imagemagick.org/script/license.php
9 |
10 | Unless required by applicable law or agreed to in writing, software
11 | distributed under the License is distributed on an "AS IS" BASIS,
12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | See the License for the specific language governing permissions and
14 | limitations under the License.
15 |
16 | MagickCore image paint methods.
17 | */
18 | #ifndef _MAGICKCORE_PAINT_H
19 | #define _MAGICKCORE_PAINT_H
20 |
21 | #if defined(__cplusplus) || defined(c_plusplus)
22 | extern "C" {
23 | #endif
24 |
25 | #include "color.h"
26 | #include "draw.h"
27 |
28 | extern MagickExport Image
29 | *OilPaintImage(const Image *,const double,ExceptionInfo *);
30 |
31 | extern MagickExport MagickBooleanType
32 | FloodfillPaintImage(Image *,const ChannelType,const DrawInfo *,
33 | const MagickPixelPacket *,const ssize_t,const ssize_t,
34 | const MagickBooleanType),
35 | GradientImage(Image *,const GradientType,const SpreadMethod,
36 | const PixelPacket *,const PixelPacket *),
37 | OpaquePaintImage(Image *,const MagickPixelPacket *,const MagickPixelPacket *,
38 | const MagickBooleanType),
39 | OpaquePaintImageChannel(Image *,const ChannelType,const MagickPixelPacket *,
40 | const MagickPixelPacket *,const MagickBooleanType),
41 | TransparentPaintImage(Image *,const MagickPixelPacket *,
42 | const Quantum,const MagickBooleanType),
43 | TransparentPaintImageChroma(Image *,const MagickPixelPacket *,
44 | const MagickPixelPacket *,const Quantum,const MagickBooleanType);
45 |
46 | #if defined(__cplusplus) || defined(c_plusplus)
47 | }
48 | #endif
49 |
50 | #endif
51 |
--------------------------------------------------------------------------------
/includes/ImageMagick/magick/policy.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 1999-2013 ImageMagick Studio LLC, a non-profit organization
3 | dedicated to making software imaging solutions freely available.
4 |
5 | You may not use this file except in compliance with the License.
6 | obtain a copy of the License at
7 |
8 | http://www.imagemagick.org/script/license.php
9 |
10 | Unless required by applicable law or agreed to in writing, software
11 | distributed under the License is distributed on an "AS IS" BASIS,
12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | See the License for the specific language governing permissions and
14 | limitations under the License.
15 |
16 | MagickCore image color methods.
17 | */
18 | #ifndef _MAGICKCORE_POLICY_H
19 | #define _MAGICKCORE_POLICY_H
20 |
21 | #if defined(__cplusplus) || defined(c_plusplus)
22 | extern "C" {
23 | #endif
24 |
25 | #include "pixel.h"
26 | #include "exception.h"
27 |
28 | typedef enum
29 | {
30 | UndefinedPolicyDomain,
31 | CoderPolicyDomain,
32 | DelegatePolicyDomain,
33 | FilterPolicyDomain,
34 | PathPolicyDomain,
35 | ResourcePolicyDomain,
36 | SystemPolicyDomain
37 | } PolicyDomain;
38 |
39 | typedef enum
40 | {
41 | UndefinedPolicyRights = 0x00,
42 | NoPolicyRights = 0x00,
43 | ReadPolicyRights = 0x01,
44 | WritePolicyRights = 0x02,
45 | ExecutePolicyRights = 0x04
46 | } PolicyRights;
47 |
48 | typedef struct _PolicyInfo
49 | PolicyInfo;
50 |
51 | extern MagickExport char
52 | *GetPolicyValue(const char *name),
53 | **GetPolicyList(const char *,size_t *,ExceptionInfo *);
54 |
55 | extern MagickExport const PolicyInfo
56 | **GetPolicyInfoList(const char *,size_t *,ExceptionInfo *);
57 |
58 | extern MagickExport MagickBooleanType
59 | IsRightsAuthorized(const PolicyDomain,const PolicyRights,const char *),
60 | ListPolicyInfo(FILE *,ExceptionInfo *),
61 | PolicyComponentGenesis(void);
62 |
63 | extern MagickExport void
64 | PolicyComponentTerminus(void);
65 |
66 | #if defined(__cplusplus) || defined(c_plusplus)
67 | }
68 | #endif
69 |
70 | #endif
71 |
--------------------------------------------------------------------------------
/includes/ImageMagick/magick/prepress.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 1999-2013 ImageMagick Studio LLC, a non-profit organization
3 | dedicated to making software imaging solutions freely available.
4 |
5 | You may not use this file except in compliance with the License.
6 | obtain a copy of the License at
7 |
8 | http://www.imagemagick.org/script/license.php
9 |
10 | Unless required by applicable law or agreed to in writing, software
11 | distributed under the License is distributed on an "AS IS" BASIS,
12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | See the License for the specific language governing permissions and
14 | limitations under the License.
15 |
16 | MagickCore prepress methods.
17 | */
18 | #ifndef _MAGICKCORE_PREPRESS_H
19 | #define _MAGICKCORE_PREPRESS_H
20 |
21 | #if defined(__cplusplus) || defined(c_plusplus)
22 | extern "C" {
23 | #endif
24 |
25 | extern MagickExport double
26 | GetImageTotalInkDensity(Image *image);
27 |
28 | #if defined(__cplusplus) || defined(c_plusplus)
29 | }
30 | #endif
31 |
32 | #endif
33 |
--------------------------------------------------------------------------------
/includes/ImageMagick/magick/profile.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 1999-2013 ImageMagick Studio LLC, a non-profit organization
3 | dedicated to making software imaging solutions freely available.
4 |
5 | You may not use this file except in compliance with the License.
6 | obtain a copy of the License at
7 |
8 | http://www.imagemagick.org/script/license.php
9 |
10 | Unless required by applicable law or agreed to in writing, software
11 | distributed under the License is distributed on an "AS IS" BASIS,
12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | See the License for the specific language governing permissions and
14 | limitations under the License.
15 |
16 | MagickCore image profile methods.
17 | */
18 | #ifndef _MAGICKCORE_PROFILE_H
19 | #define _MAGICKCORE_PROFILE_H
20 |
21 | #if defined(__cplusplus) || defined(c_plusplus)
22 | extern "C" {
23 | #endif
24 |
25 | #include "string_.h"
26 |
27 | typedef struct _ProfileInfo
28 | {
29 | char
30 | *name;
31 |
32 | size_t
33 | length;
34 |
35 | unsigned char
36 | *info;
37 |
38 | size_t
39 | signature;
40 | } ProfileInfo;
41 |
42 | typedef enum
43 | {
44 | UndefinedIntent,
45 | SaturationIntent,
46 | PerceptualIntent,
47 | AbsoluteIntent,
48 | RelativeIntent
49 | } RenderingIntent;
50 |
51 | extern MagickExport char
52 | *GetNextImageProfile(const Image *);
53 |
54 | extern MagickExport const StringInfo
55 | *GetImageProfile(const Image *,const char *);
56 |
57 | extern MagickExport MagickBooleanType
58 | CloneImageProfiles(Image *,const Image *),
59 | DeleteImageProfile(Image *,const char *),
60 | ProfileImage(Image *,const char *,const void *,const size_t,
61 | const MagickBooleanType),
62 | SetImageProfile(Image *,const char *,const StringInfo *),
63 | SyncImageProfiles(Image *);
64 |
65 | extern MagickExport StringInfo
66 | *RemoveImageProfile(Image *,const char *);
67 |
68 | extern MagickExport void
69 | DestroyImageProfiles(Image *),
70 | ResetImageProfileIterator(const Image *);
71 |
72 | #if defined(__cplusplus) || defined(c_plusplus)
73 | }
74 | #endif
75 | #endif
76 |
--------------------------------------------------------------------------------
/includes/ImageMagick/magick/property.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 1999-2013 ImageMagick Studio LLC, a non-profit organization
3 | dedicated to making software imaging solutions freely available.
4 |
5 | You may not use this file except in compliance with the License.
6 | obtain a copy of the License at
7 |
8 | http://www.imagemagick.org/script/license.php
9 |
10 | Unless required by applicable law or agreed to in writing, software
11 | distributed under the License is distributed on an "AS IS" BASIS,
12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | See the License for the specific language governing permissions and
14 | limitations under the License.
15 |
16 | MagickCore property methods.
17 | */
18 | #ifndef _MAGICKCORE_PROPERTY_H
19 | #define _MAGICKCORE_PROPERTY_H
20 |
21 | #if defined(__cplusplus) || defined(c_plusplus)
22 | extern "C" {
23 | #endif
24 |
25 | extern MagickExport char
26 | *GetNextImageProperty(const Image *),
27 | *InterpretImageProperties(const ImageInfo *,Image *,const char *),
28 | *RemoveImageProperty(Image *,const char *);
29 |
30 | extern MagickExport const char
31 | *GetImageProperty(const Image *,const char *),
32 | *GetMagickProperty(const ImageInfo *,Image *,const char *);
33 |
34 | extern MagickExport MagickBooleanType
35 | CloneImageProperties(Image *,const Image *),
36 | DefineImageProperty(Image *,const char *),
37 | DeleteImageProperty(Image *,const char *),
38 | FormatImageProperty(Image *,const char *,const char *,...)
39 | magick_attribute((__format__ (__printf__,3,4))),
40 | SetImageProperty(Image *,const char *,const char *);
41 |
42 | extern MagickExport void
43 | DestroyImageProperties(Image *),
44 | ResetImagePropertyIterator(const Image *);
45 |
46 | #if defined(__cplusplus) || defined(c_plusplus)
47 | }
48 | #endif
49 |
50 | #endif
51 |
--------------------------------------------------------------------------------
/includes/ImageMagick/magick/quantize.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 1999-2013 ImageMagick Studio LLC, a non-profit organization
3 | dedicated to making software imaging solutions freely available.
4 |
5 | You may not use this file except in compliance with the License.
6 | obtain a copy of the License at
7 |
8 | http://www.imagemagick.org/script/license.php
9 |
10 | Unless required by applicable law or agreed to in writing, software
11 | distributed under the License is distributed on an "AS IS" BASIS,
12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | See the License for the specific language governing permissions and
14 | limitations under the License.
15 |
16 | MagickCore image quantization methods.
17 | */
18 | #ifndef _MAGICKCORE_QUANTIZE_H
19 | #define _MAGICKCORE_QUANTIZE_H
20 |
21 | #if defined(__cplusplus) || defined(c_plusplus)
22 | extern "C" {
23 | #endif
24 |
25 | #include "colorspace.h"
26 |
27 | typedef enum
28 | {
29 | UndefinedDitherMethod,
30 | NoDitherMethod,
31 | RiemersmaDitherMethod,
32 | FloydSteinbergDitherMethod
33 | } DitherMethod;
34 |
35 | typedef struct _QuantizeInfo
36 | {
37 | size_t
38 | number_colors;
39 |
40 | size_t
41 | tree_depth;
42 |
43 | MagickBooleanType
44 | dither;
45 |
46 | ColorspaceType
47 | colorspace;
48 |
49 | MagickBooleanType
50 | measure_error;
51 |
52 | size_t
53 | signature;
54 |
55 | DitherMethod
56 | dither_method;
57 | } QuantizeInfo;
58 |
59 | extern MagickExport MagickBooleanType
60 | CompressImageColormap(Image *),
61 | GetImageQuantizeError(Image *),
62 | PosterizeImage(Image *,const size_t,const MagickBooleanType),
63 | PosterizeImageChannel(Image *,const ChannelType,const size_t,
64 | const MagickBooleanType),
65 | QuantizeImage(const QuantizeInfo *,Image *),
66 | QuantizeImages(const QuantizeInfo *,Image *),
67 | RemapImage(const QuantizeInfo *,Image *,const Image *),
68 | RemapImages(const QuantizeInfo *,Image *,const Image *);
69 |
70 | extern MagickExport QuantizeInfo
71 | *AcquireQuantizeInfo(const ImageInfo *),
72 | *CloneQuantizeInfo(const QuantizeInfo *),
73 | *DestroyQuantizeInfo(QuantizeInfo *);
74 |
75 | extern MagickExport void
76 | GetQuantizeInfo(QuantizeInfo *);
77 |
78 | #if defined(__cplusplus) || defined(c_plusplus)
79 | }
80 | #endif
81 |
82 | #endif
83 |
--------------------------------------------------------------------------------
/includes/ImageMagick/magick/random-private.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 1999-2013 ImageMagick Studio LLC, a non-profit organization
3 | dedicated to making software imaging solutions freely available.
4 |
5 | You may not use this file except in compliance with the License.
6 | obtain a copy of the License at
7 |
8 | http://www.imagemagick.org/script/license.php
9 |
10 | Unless required by applicable law or agreed to in writing, software
11 | distributed under the License is distributed on an "AS IS" BASIS,
12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | See the License for the specific language governing permissions and
14 | limitations under the License.
15 |
16 | MagickCore random generation private methods.
17 | */
18 | #ifndef _MAGICKCORE_RANDOM_PRIVATE_H
19 | #define _MAGICKCORE_RANDOM_PRIVATE_H
20 |
21 | #if defined(__cplusplus) || defined(c_plusplus)
22 | extern "C" {
23 | #endif
24 |
25 | #include "magick/thread-private.h"
26 |
27 | static inline RandomInfo **DestroyRandomInfoThreadSet(
28 | RandomInfo **random_info)
29 | {
30 | register ssize_t
31 | i;
32 |
33 | assert(random_info != (RandomInfo **) NULL);
34 | for (i=0; i < (ssize_t) GetMagickResourceLimit(ThreadResource); i++)
35 | if (random_info[i] != (RandomInfo *) NULL)
36 | random_info[i]=DestroyRandomInfo(random_info[i]);
37 | return((RandomInfo **) RelinquishAlignedMemory(random_info));
38 | }
39 |
40 | static inline RandomInfo **AcquireRandomInfoThreadSet(void)
41 | {
42 | register ssize_t
43 | i;
44 |
45 | RandomInfo
46 | **random_info;
47 |
48 | size_t
49 | number_threads;
50 |
51 | number_threads=(size_t) GetMagickResourceLimit(ThreadResource);
52 | random_info=(RandomInfo **) AcquireAlignedMemory(number_threads,
53 | sizeof(*random_info));
54 | if (random_info == (RandomInfo **) NULL)
55 | return((RandomInfo **) NULL);
56 | (void) ResetMagickMemory(random_info,0,number_threads*sizeof(*random_info));
57 | for (i=0; i < (ssize_t) number_threads; i++)
58 | {
59 | random_info[i]=AcquireRandomInfo();
60 | if (random_info[i] == (RandomInfo *) NULL)
61 | return(DestroyRandomInfoThreadSet(random_info));
62 | }
63 | return(random_info);
64 | }
65 |
66 | #if defined(__cplusplus) || defined(c_plusplus)
67 | }
68 | #endif
69 |
70 | #endif
71 |
--------------------------------------------------------------------------------
/includes/ImageMagick/magick/random_.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 1999-2013 ImageMagick Studio LLC, a non-profit organization
3 | dedicated to making software imaging solutions freely available.
4 |
5 | You may not use this file except in compliance with the License.
6 | obtain a copy of the License at
7 |
8 | http://www.imagemagick.org/script/license.php
9 |
10 | Unless required by applicable law or agreed to in writing, software
11 | distributed under the License is distributed on an "AS IS" BASIS,
12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | See the License for the specific language governing permissions and
14 | limitations under the License.
15 |
16 | MagickCore random methods.
17 | */
18 | #ifndef _MAGICKCORE_RANDOM__H
19 | #define _MAGICKCORE_RANDOM__H
20 |
21 | #if defined(__cplusplus) || defined(c_plusplus)
22 | extern "C" {
23 | #endif
24 |
25 | #include "string_.h"
26 |
27 | /*
28 | Typedef declarations.
29 | */
30 | typedef struct _RandomInfo
31 | RandomInfo;
32 |
33 | /*
34 | Method declarations.
35 | */
36 | extern MagickExport double
37 | GetRandomValue(RandomInfo *),
38 | GetPseudoRandomValue(RandomInfo *);
39 |
40 | extern MagickExport MagickBooleanType
41 | RandomComponentGenesis(void);
42 |
43 | extern MagickExport RandomInfo
44 | *AcquireRandomInfo(void),
45 | *DestroyRandomInfo(RandomInfo *);
46 |
47 | extern MagickExport StringInfo
48 | *GetRandomKey(RandomInfo *,const size_t);
49 |
50 | extern MagickExport unsigned long
51 | GetRandomSecretKey(const RandomInfo *);
52 |
53 | extern MagickExport void
54 | RandomComponentTerminus(void),
55 | SeedPseudoRandomGenerator(const unsigned long),
56 | SetRandomKey(RandomInfo *,const size_t,unsigned char *),
57 | SetRandomSecretKey(const unsigned long),
58 | SetRandomTrueRandom(const MagickBooleanType);
59 |
60 | #if defined(__cplusplus) || defined(c_plusplus)
61 | }
62 | #endif
63 |
64 | #endif
65 |
--------------------------------------------------------------------------------
/includes/ImageMagick/magick/registry.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 1999-2013 ImageMagick Studio LLC, a non-profit organization
3 | dedicated to making software imaging solutions freely available.
4 |
5 | You may not use this file except in compliance with the License.
6 | obtain a copy of the License at
7 |
8 | http://www.imagemagick.org/script/license.php
9 |
10 | Unless required by applicable law or agreed to in writing, software
11 | distributed under the License is distributed on an "AS IS" BASIS,
12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | See the License for the specific language governing permissions and
14 | limitations under the License.
15 |
16 | MagickCore registry methods.
17 | */
18 | #ifndef _MAGICKCORE_REGISTRY_H
19 | #define _MAGICKCORE_REGISTRY_H
20 |
21 | #if defined(__cplusplus) || defined(c_plusplus)
22 | extern "C" {
23 | #endif
24 |
25 | typedef enum
26 | {
27 | UndefinedRegistryType,
28 | ImageRegistryType,
29 | ImageInfoRegistryType,
30 | StringRegistryType
31 | } RegistryType;
32 |
33 | extern MagickExport char
34 | *GetNextImageRegistry(void);
35 |
36 | extern MagickExport MagickBooleanType
37 | DefineImageRegistry(const RegistryType,const char *,ExceptionInfo *),
38 | DeleteImageRegistry(const char *),
39 | RegistryComponentGenesis(void),
40 | SetImageRegistry(const RegistryType,const char *,const void *,
41 | ExceptionInfo *);
42 |
43 | extern MagickExport void
44 | *GetImageRegistry(const RegistryType,const char *,ExceptionInfo *),
45 | RegistryComponentTerminus(void),
46 | *RemoveImageRegistry(const char *),
47 | ResetImageRegistryIterator(void);
48 |
49 | #if defined(__cplusplus) || defined(c_plusplus)
50 | }
51 | #endif
52 |
53 | #endif
54 |
--------------------------------------------------------------------------------
/includes/ImageMagick/magick/resize-private.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 1999-2013 ImageMagick Studio LLC, a non-profit organization
3 | dedicated to making software imaging solutions freely available.
4 |
5 | You may not use this file except in compliance with the License.
6 | obtain a copy of the License at
7 |
8 | http://www.imagemagick.org/script/license.php
9 |
10 | Unless required by applicable law or agreed to in writing, software
11 | distributed under the License is distributed on an "AS IS" BASIS,
12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | See the License for the specific language governing permissions and
14 | limitations under the License.
15 |
16 | MagickCore image resize private methods.
17 | */
18 | #ifndef _MAGICKCORE_RESIZE_PRIVATE_H
19 | #define _MAGICKCORE_RESIZE_PRIVATE_H
20 |
21 | #if defined(__cplusplus) || defined(c_plusplus)
22 | extern "C" {
23 | #endif
24 |
25 | typedef enum
26 | {
27 | BoxWeightingFunction = 0,
28 | TriangleWeightingFunction,
29 | CubicBCWeightingFunction,
30 | HanningWeightingFunction,
31 | HammingWeightingFunction,
32 | BlackmanWeightingFunction,
33 | GaussianWeightingFunction,
34 | QuadraticWeightingFunction,
35 | JincWeightingFunction,
36 | SincWeightingFunction,
37 | SincFastWeightingFunction,
38 | KaiserWeightingFunction,
39 | WelshWeightingFunction,
40 | BohmanWeightingFunction,
41 | LagrangeWeightingFunction,
42 | CosineWeightingFunction,
43 | LastWeightingFunction
44 | } ResizeWeightingFunctionType;
45 |
46 | extern MagickExport MagickRealType
47 | *GetResizeFilterCoefficient(const ResizeFilter*),
48 | GetResizeFilterBlur(const ResizeFilter *),
49 | GetResizeFilterScale(const ResizeFilter *),
50 | GetResizeFilterWindowSupport(const ResizeFilter *),
51 | GetResizeFilterSupport(const ResizeFilter *),
52 | GetResizeFilterWeight(const ResizeFilter *,const MagickRealType);
53 |
54 | extern MagickExport ResizeFilter
55 | *AcquireResizeFilter(const Image *,const FilterTypes,const MagickRealType,
56 | const MagickBooleanType,ExceptionInfo *),
57 | *DestroyResizeFilter(ResizeFilter *);
58 |
59 | extern MagickExport ResizeWeightingFunctionType
60 | GetResizeFilterWeightingType(const ResizeFilter *),
61 | GetResizeFilterWindowWeightingType(const ResizeFilter *);
62 |
63 | extern MagickExport void
64 | SetResizeFilterSupport(ResizeFilter *,const MagickRealType);
65 |
66 | #if defined(__cplusplus) || defined(c_plusplus)
67 | }
68 | #endif
69 |
70 | #endif
71 |
--------------------------------------------------------------------------------
/includes/ImageMagick/magick/resize.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 1999-2013 ImageMagick Studio LLC, a non-profit organization
3 | dedicated to making software imaging solutions freely available.
4 |
5 | You may not use this file except in compliance with the License.
6 | obtain a copy of the License at
7 |
8 | http://www.imagemagick.org/script/license.php
9 |
10 | Unless required by applicable law or agreed to in writing, software
11 | distributed under the License is distributed on an "AS IS" BASIS,
12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | See the License for the specific language governing permissions and
14 | limitations under the License.
15 |
16 | MagickCore image resize methods.
17 | */
18 | #ifndef _MAGICKCORE_RESIZE_H
19 | #define _MAGICKCORE_RESIZE_H
20 |
21 | #if defined(__cplusplus) || defined(c_plusplus)
22 | extern "C" {
23 | #endif
24 |
25 | typedef struct _ResizeFilter
26 | ResizeFilter;
27 |
28 | extern MagickExport Image
29 | *AdaptiveResizeImage(const Image *,const size_t,const size_t,ExceptionInfo *),
30 | *InterpolativeResizeImage(const Image *,const size_t,const size_t,
31 | const InterpolatePixelMethod,ExceptionInfo *),
32 | *LiquidRescaleImage(const Image *,const size_t,const size_t,const double,
33 | const double,ExceptionInfo *),
34 | *MagnifyImage(const Image *,ExceptionInfo *),
35 | *MinifyImage(const Image *,ExceptionInfo *),
36 | *ResampleImage(const Image *,const double,const double,const FilterTypes,
37 | const double,ExceptionInfo *),
38 | *ResizeImage(const Image *,const size_t,const size_t,const FilterTypes,
39 | const double,ExceptionInfo *),
40 | *SampleImage(const Image *,const size_t,const size_t,ExceptionInfo *),
41 | *ScaleImage(const Image *,const size_t,const size_t,ExceptionInfo *),
42 | *ThumbnailImage(const Image *,const size_t,const size_t,ExceptionInfo *);
43 |
44 | #if defined(__cplusplus) || defined(c_plusplus)
45 | }
46 | #endif
47 |
48 | #endif
49 |
--------------------------------------------------------------------------------
/includes/ImageMagick/magick/resource_.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 1999-2013 ImageMagick Studio LLC, a non-profit organization
3 | dedicated to making software imaging solutions freely available.
4 |
5 | You may not use this file except in compliance with the License.
6 | obtain a copy of the License at
7 |
8 | http://www.imagemagick.org/script/license.php
9 |
10 | Unless required by applicable law or agreed to in writing, software
11 | distributed under the License is distributed on an "AS IS" BASIS,
12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | See the License for the specific language governing permissions and
14 | limitations under the License.
15 |
16 | MagickCore resource methods.
17 | */
18 | #ifndef _MAGICKCORE_RESOURCE_H
19 | #define _MAGICKCORE_RESOURCE_H
20 |
21 | #if defined(__cplusplus) || defined(c_plusplus)
22 | extern "C" {
23 | #endif
24 |
25 | typedef enum
26 | {
27 | UndefinedResource,
28 | AreaResource,
29 | DiskResource,
30 | FileResource,
31 | MapResource,
32 | MemoryResource,
33 | ThreadResource,
34 | TimeResource,
35 | ThrottleResource
36 | } ResourceType;
37 |
38 | #define MagickResourceInfinity MagickULLConstant(~0)
39 |
40 | extern MagickExport int
41 | AcquireUniqueFileResource(char *);
42 |
43 | extern MagickExport MagickBooleanType
44 | AcquireMagickResource(const ResourceType,const MagickSizeType),
45 | GetPathTemplate(char *),
46 | ListMagickResourceInfo(FILE *,ExceptionInfo *),
47 | RelinquishUniqueFileResource(const char *),
48 | ResourceComponentGenesis(void),
49 | SetMagickResourceLimit(const ResourceType,const MagickSizeType);
50 |
51 | extern MagickExport MagickSizeType
52 | GetMagickResource(const ResourceType),
53 | GetMagickResourceLimit(const ResourceType);
54 |
55 | extern MagickExport void
56 | AsynchronousResourceComponentTerminus(void),
57 | RelinquishMagickResource(const ResourceType,const MagickSizeType),
58 | ResourceComponentTerminus(void);
59 |
60 | #if defined(__cplusplus) || defined(c_plusplus)
61 | }
62 | #endif
63 |
64 | #endif
65 |
--------------------------------------------------------------------------------
/includes/ImageMagick/magick/segment.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 1999-2013 ImageMagick Studio LLC, a non-profit organization
3 | dedicated to making software imaging solutions freely available.
4 |
5 | You may not use this file except in compliance with the License.
6 | obtain a copy of the License at
7 |
8 | http://www.imagemagick.org/script/license.php
9 |
10 | Unless required by applicable law or agreed to in writing, software
11 | distributed under the License is distributed on an "AS IS" BASIS,
12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | See the License for the specific language governing permissions and
14 | limitations under the License.
15 |
16 | MagickCore image segment methods.
17 | */
18 | #ifndef _MAGICKCORE_SEGMENT_H
19 | #define _MAGICKCORE_SEGMENT_H
20 |
21 | #if defined(__cplusplus) || defined(c_plusplus)
22 | extern "C" {
23 | #endif
24 |
25 | extern MagickExport MagickBooleanType
26 | GetImageDynamicThreshold(const Image *,const double,const double,
27 | MagickPixelPacket *,ExceptionInfo *),
28 | SegmentImage(Image *,const ColorspaceType,const MagickBooleanType,
29 | const double,const double);
30 |
31 | #if defined(__cplusplus) || defined(c_plusplus)
32 | }
33 | #endif
34 |
35 | #endif
36 |
--------------------------------------------------------------------------------
/includes/ImageMagick/magick/semaphore-private.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 1999-2013 ImageMagick Studio LLC, a non-profit organization
3 | dedicated to making software imaging solutions freely available.
4 |
5 | You may not use this file except in compliance with the License.
6 | obtain a copy of the License at
7 |
8 | http://www.imagemagick.org/script/license.php
9 |
10 | Unless required by applicable law or agreed to in writing, software
11 | distributed under the License is distributed on an "AS IS" BASIS,
12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | See the License for the specific language governing permissions and
14 | limitations under the License.
15 |
16 | MagickCore private methods to lock and unlock semaphores.
17 | */
18 | #ifndef _MAGICKCORE_SEMAPHORE_PRIVATE_H
19 | #define _MAGICKCORE_SEMAPHORE_PRIVATE_H
20 |
21 | #if defined(__cplusplus) || defined(c_plusplus)
22 | extern "C" {
23 | #endif
24 |
25 | #if defined(MAGICKCORE_THREAD_SUPPORT)
26 | static pthread_mutex_t
27 | semaphore_mutex = PTHREAD_MUTEX_INITIALIZER;
28 | #elif defined(MAGICKCORE_HAVE_WINTHREADS)
29 | static LONG
30 | semaphore_mutex = 0;
31 | #else
32 | static ssize_t
33 | semaphore_mutex = 0;
34 | #endif
35 |
36 | static inline void LockMagickMutex(void)
37 | {
38 | #if defined(MAGICKCORE_THREAD_SUPPORT)
39 | {
40 | int
41 | status;
42 |
43 | status=pthread_mutex_lock(&semaphore_mutex);
44 | if (status != 0)
45 | {
46 | errno=status;
47 | ThrowFatalException(ResourceLimitFatalError,"UnableToLockSemaphore");
48 | }
49 | }
50 | #elif defined(MAGICKCORE_HAVE_WINTHREADS)
51 | while (InterlockedCompareExchange(&semaphore_mutex,1L,0L) != 0)
52 | Sleep(10);
53 | #endif
54 | }
55 |
56 | static inline void UnlockMagickMutex(void)
57 | {
58 | #if defined(MAGICKCORE_THREAD_SUPPORT)
59 | {
60 | int
61 | status;
62 |
63 | status=pthread_mutex_unlock(&semaphore_mutex);
64 | if (status != 0)
65 | {
66 | errno=status;
67 | ThrowFatalException(ResourceLimitFatalError,"UnableToUnlockSemaphore");
68 | }
69 | }
70 | #elif defined(MAGICKCORE_HAVE_WINTHREADS)
71 | InterlockedExchange(&semaphore_mutex,0L);
72 | #endif
73 | }
74 |
75 | #if defined(__cplusplus) || defined(c_plusplus)
76 | }
77 | #endif
78 |
79 | #endif
80 |
--------------------------------------------------------------------------------
/includes/ImageMagick/magick/semaphore.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 1999-2013 ImageMagick Studio LLC, a non-profit organization
3 | dedicated to making software imaging solutions freely available.
4 |
5 | You may not use this file except in compliance with the License.
6 | obtain a copy of the License at
7 |
8 | http://www.imagemagick.org/script/license.php
9 |
10 | Unless required by applicable law or agreed to in writing, software
11 | distributed under the License is distributed on an "AS IS" BASIS,
12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | See the License for the specific language governing permissions and
14 | limitations under the License.
15 |
16 | MagickCore methods to lock and unlock semaphores.
17 | */
18 | #ifndef _MAGICKCORE_SEMAPHORE_H
19 | #define _MAGICKCORE_SEMAPHORE_H
20 |
21 | #if defined(__cplusplus) || defined(c_plusplus)
22 | extern "C" {
23 | #endif
24 |
25 | typedef struct SemaphoreInfo
26 | SemaphoreInfo;
27 |
28 | extern MagickExport MagickBooleanType
29 | SemaphoreComponentGenesis(void);
30 |
31 | extern MagickExport SemaphoreInfo
32 | *AllocateSemaphoreInfo(void);
33 |
34 | extern MagickExport void
35 | AcquireSemaphoreInfo(SemaphoreInfo **),
36 | DestroySemaphoreInfo(SemaphoreInfo **),
37 | LockSemaphoreInfo(SemaphoreInfo *),
38 | RelinquishSemaphoreInfo(SemaphoreInfo *),
39 | SemaphoreComponentTerminus(void),
40 | UnlockSemaphoreInfo(SemaphoreInfo *);
41 |
42 | #if defined(__cplusplus) || defined(c_plusplus)
43 | }
44 | #endif
45 |
46 | #endif
47 |
--------------------------------------------------------------------------------
/includes/ImageMagick/magick/shear.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 1999-2013 ImageMagick Studio LLC, a non-profit organization
3 | dedicated to making software imaging solutions freely available.
4 |
5 | You may not use this file except in compliance with the License.
6 | obtain a copy of the License at
7 |
8 | http://www.imagemagick.org/script/license.php
9 |
10 | Unless required by applicable law or agreed to in writing, software
11 | distributed under the License is distributed on an "AS IS" BASIS,
12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | See the License for the specific language governing permissions and
14 | limitations under the License.
15 |
16 | MagickCore image stream methods.
17 | */
18 | #ifndef _MAGICKCORE_SHEAR_H
19 | #define _MAGICKCORE_SHEAR_H
20 |
21 | #if defined(__cplusplus) || defined(c_plusplus)
22 | extern "C" {
23 | #endif
24 |
25 | extern MagickExport Image
26 | *DeskewImage(const Image *,const double,ExceptionInfo *),
27 | *IntegralRotateImage(const Image *,size_t,ExceptionInfo *),
28 | *ShearImage(const Image *,const double,const double,ExceptionInfo *),
29 | *ShearRotateImage(const Image *,const double,ExceptionInfo *);
30 |
31 | #if defined(__cplusplus) || defined(c_plusplus)
32 | }
33 | #endif
34 |
35 | #endif
36 |
--------------------------------------------------------------------------------
/includes/ImageMagick/magick/signature-private.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 1999-2013 ImageMagick Studio LLC, a non-profit organization
3 | dedicated to making software imaging solutions freely available.
4 |
5 | You may not use this file except in compliance with the License.
6 | obtain a copy of the License at
7 |
8 | http://www.imagemagick.org/script/license.php
9 |
10 | Unless required by applicable law or agreed to in writing, software
11 | distributed under the License is distributed on an "AS IS" BASIS,
12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | See the License for the specific language governing permissions and
14 | limitations under the License.
15 |
16 | MagickCore digital signature methods.
17 | */
18 | #ifndef _MAGICKCORE_SIGNATURE_PRIVATE_H
19 | #define _MAGICKCORE_SIGNATURE_PRIVATE_H
20 |
21 | #if defined(__cplusplus) || defined(c_plusplus)
22 | extern "C" {
23 | #endif
24 |
25 | #define MagickSignatureSize 64
26 |
27 | #include "magick/string_.h"
28 |
29 | typedef struct _SignatureInfo
30 | SignatureInfo;
31 |
32 | extern MagickExport MagickBooleanType
33 | SignatureImage(Image *);
34 |
35 | extern MagickExport SignatureInfo
36 | *AcquireSignatureInfo(void),
37 | *DestroySignatureInfo(SignatureInfo *);
38 |
39 | extern MagickExport const StringInfo
40 | *GetSignatureDigest(const SignatureInfo *);
41 |
42 | extern MagickExport unsigned int
43 | GetSignatureBlocksize(const SignatureInfo *),
44 | GetSignatureDigestsize(const SignatureInfo *);
45 |
46 | extern MagickExport void
47 | InitializeSignature(SignatureInfo *),
48 | FinalizeSignature(SignatureInfo *),
49 | SetSignatureDigest(SignatureInfo *,const StringInfo *),
50 | UpdateSignature(SignatureInfo *,const StringInfo *);
51 |
52 | #if defined(__cplusplus) || defined(c_plusplus)
53 | }
54 | #endif
55 |
56 | #endif
57 |
--------------------------------------------------------------------------------
/includes/ImageMagick/magick/signature.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 1999-2013 ImageMagick Studio LLC, a non-profit organization
3 | dedicated to making software imaging solutions freely available.
4 |
5 | You may not use this file except in compliance with the License.
6 | obtain a copy of the License at
7 |
8 | http://www.imagemagick.org/script/license.php
9 |
10 | Unless required by applicable law or agreed to in writing, software
11 | distributed under the License is distributed on an "AS IS" BASIS,
12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | See the License for the specific language governing permissions and
14 | limitations under the License.
15 |
16 | MagickCore digital signature methods.
17 | */
18 | #ifndef _MAGICKCORE_SIGNATURE_H
19 | #define _MAGICKCORE_SIGNATURE_H
20 |
21 | #if defined(__cplusplus) || defined(c_plusplus)
22 | extern "C" {
23 | #endif
24 |
25 | extern MagickExport MagickBooleanType
26 | SignatureImage(Image *);
27 |
28 | #if defined(__cplusplus) || defined(c_plusplus)
29 | }
30 | #endif
31 |
32 | #endif
33 |
--------------------------------------------------------------------------------
/includes/ImageMagick/magick/splay-tree.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 1999-2013 ImageMagick Studio LLC, a non-profit organization
3 | dedicated to making software imaging solutions freely available.
4 |
5 | You may not use this file except in compliance with the License.
6 | obtain a copy of the License at
7 |
8 | http://www.imagemagick.org/script/license.php
9 |
10 | Unless required by applicable law or agreed to in writing, software
11 | distributed under the License is distributed on an "AS IS" BASIS,
12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | See the License for the specific language governing permissions and
14 | limitations under the License.
15 |
16 | MagickCore splay-tree methods.
17 | */
18 | #ifndef _MAGICKCORE_SPLAY_H
19 | #define _MAGICKCORE_SPLAY_H
20 |
21 | #if defined(__cplusplus) || defined(c_plusplus)
22 | extern "C" {
23 | #endif
24 |
25 | typedef struct _SplayTreeInfo
26 | SplayTreeInfo;
27 |
28 | extern MagickExport MagickBooleanType
29 | AddValueToSplayTree(SplayTreeInfo *,const void *,const void *),
30 | DeleteNodeByValueFromSplayTree(SplayTreeInfo *,const void *),
31 | DeleteNodeFromSplayTree(SplayTreeInfo *,const void *);
32 |
33 | extern MagickExport const void
34 | *GetNextKeyInSplayTree(SplayTreeInfo *),
35 | *GetNextValueInSplayTree(SplayTreeInfo *),
36 | *GetValueFromSplayTree(SplayTreeInfo *,const void *);
37 |
38 | extern MagickExport int
39 | CompareSplayTreeString(const void *,const void *),
40 | CompareSplayTreeStringInfo(const void *,const void *);
41 |
42 | extern MagickExport SplayTreeInfo
43 | *CloneSplayTree(SplayTreeInfo *,void *(*)(void *),void *(*)(void *)),
44 | *DestroySplayTree(SplayTreeInfo *),
45 | *NewSplayTree(int (*)(const void *,const void *),void *(*)(void *),
46 | void *(*)(void *));
47 |
48 | extern MagickExport size_t
49 | GetNumberOfNodesInSplayTree(const SplayTreeInfo *);
50 |
51 | extern MagickExport void
52 | *RemoveNodeByValueFromSplayTree(SplayTreeInfo *,const void *),
53 | *RemoveNodeFromSplayTree(SplayTreeInfo *,const void *),
54 | ResetSplayTree(SplayTreeInfo *),
55 | ResetSplayTreeIterator(SplayTreeInfo *);
56 |
57 | #if defined(__cplusplus) || defined(c_plusplus)
58 | }
59 | #endif
60 |
61 | #endif
62 |
--------------------------------------------------------------------------------
/includes/ImageMagick/magick/stream-private.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 1999-2013 ImageMagick Studio LLC, a non-profit organization
3 | dedicated to making software imaging solutions freely available.
4 |
5 | You may not use this file except in compliance with the License.
6 | obtain a copy of the License at
7 |
8 | http://www.imagemagick.org/script/license.php
9 |
10 | Unless required by applicable law or agreed to in writing, software
11 | distributed under the License is distributed on an "AS IS" BASIS,
12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | See the License for the specific language governing permissions and
14 | limitations under the License.
15 |
16 | MagickCore image stream private methods.
17 | */
18 | #ifndef _MAGICKCORE_STREAM_PRIVATE_H
19 | #define _MAGICKCORE_STREAM_PRIVATE_H
20 |
21 | #if defined(__cplusplus) || defined(c_plusplus)
22 | extern "C" {
23 | #endif
24 |
25 | typedef struct _StreamInfo
26 | StreamInfo;
27 |
28 | extern MagickExport const void
29 | *GetStreamInfoClientData(StreamInfo *);
30 |
31 | extern MagickExport Image
32 | *StreamImage(const ImageInfo *,StreamInfo *,ExceptionInfo *);
33 |
34 | extern MagickExport MagickBooleanType
35 | OpenStream(const ImageInfo *,StreamInfo *,const char *,ExceptionInfo *);
36 |
37 | extern MagickExport StreamInfo
38 | *AcquireStreamInfo(const ImageInfo *),
39 | *DestroyStreamInfo(StreamInfo *);
40 |
41 | extern MagickExport void
42 | SetStreamInfoClientData(StreamInfo *,const void *),
43 | SetStreamInfoMap(StreamInfo *,const char *),
44 | SetStreamInfoStorageType(StreamInfo *,const StorageType);
45 |
46 | #if defined(__cplusplus) || defined(c_plusplus)
47 | }
48 | #endif
49 |
50 | #endif
51 |
--------------------------------------------------------------------------------
/includes/ImageMagick/magick/stream.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 1999-2013 ImageMagick Studio LLC, a non-profit organization
3 | dedicated to making software imaging solutions freely available.
4 |
5 | You may not use this file except in compliance with the License.
6 | obtain a copy of the License at
7 |
8 | http://www.imagemagick.org/script/license.php
9 |
10 | Unless required by applicable law or agreed to in writing, software
11 | distributed under the License is distributed on an "AS IS" BASIS,
12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | See the License for the specific language governing permissions and
14 | limitations under the License.
15 |
16 | MagickCore image stream methods.
17 | */
18 | #ifndef _MAGICKCORE_STREAM_H
19 | #define _MAGICKCORE_STREAM_H
20 |
21 | #if defined(__cplusplus) || defined(c_plusplus)
22 | extern "C" {
23 | #endif
24 |
25 | typedef size_t
26 | (*StreamHandler)(const Image *,const void *,const size_t);
27 |
28 | extern MagickExport Image
29 | *ReadStream(const ImageInfo *,StreamHandler,ExceptionInfo *);
30 |
31 | extern MagickExport MagickBooleanType
32 | WriteStream(const ImageInfo *,Image *,StreamHandler);
33 |
34 | #if defined(__cplusplus) || defined(c_plusplus)
35 | }
36 | #endif
37 |
38 | #endif
39 |
--------------------------------------------------------------------------------
/includes/ImageMagick/magick/string-private.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 1999-2013 ImageMagick Studio LLC, a non-profit organization
3 | dedicated to making software imaging solutions freely available.
4 |
5 | You may not use this file except in compliance with the License.
6 | obtain a copy of the License at
7 |
8 | http://www.imagemagick.org/script/license.php
9 |
10 | Unless required by applicable law or agreed to in writing, software
11 | distributed under the License is distributed on an "AS IS" BASIS,
12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | See the License for the specific language governing permissions and
14 | limitations under the License.
15 |
16 | MagickCore private string methods.
17 | */
18 | #ifndef _MAGICKCORE_STRING_PRIVATE_H
19 | #define _MAGICKCORE_STRING_PRIVATE_H
20 |
21 | #if defined(__cplusplus) || defined(c_plusplus)
22 | extern "C" {
23 | #endif
24 |
25 | #include "magick/locale_.h"
26 |
27 | static inline double SiPrefixToDoubleInterval(const char *string,
28 | const double interval)
29 | {
30 | char
31 | *q;
32 |
33 | double
34 | value;
35 |
36 | value=InterpretSiPrefixValue(string,&q);
37 | if (*q == '%')
38 | value*=interval/100.0;
39 | return(value);
40 | }
41 |
42 | static inline double StringToDouble(const char *restrict string,
43 | char **restrict sentinal)
44 | {
45 | return(InterpretLocaleValue(string,sentinal));
46 | }
47 |
48 | static inline double StringToDoubleInterval(const char *string,
49 | const double interval)
50 | {
51 | char
52 | *q;
53 |
54 | double
55 | value;
56 |
57 | value=InterpretLocaleValue(string,&q);
58 | if (*q == '%')
59 | value*=interval/100.0;
60 | return(value);
61 | }
62 |
63 | static inline int StringToInteger(const char *restrict value)
64 | {
65 | return((int) strtol(value,(char **) NULL,10));
66 | }
67 |
68 | static inline long StringToLong(const char *restrict value)
69 | {
70 | return(strtol(value,(char **) NULL,10));
71 | }
72 |
73 | static inline unsigned long StringToUnsignedLong(const char *restrict value)
74 | {
75 | return(strtoul(value,(char **) NULL,10));
76 | }
77 |
78 | #if defined(__cplusplus) || defined(c_plusplus)
79 | }
80 | #endif
81 |
82 | #endif
83 |
--------------------------------------------------------------------------------
/includes/ImageMagick/magick/thread_.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 1999-2013 ImageMagick Studio LLC, a non-profit organization
3 | dedicated to making software imaging solutions freely available.
4 |
5 | You may not use this file except in compliance with the License.
6 | obtain a copy of the License at
7 |
8 | http://www.imagemagick.org/script/license.php
9 |
10 | Unless required by applicable law or agreed to in writing, software
11 | distributed under the License is distributed on an "AS IS" BASIS,
12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | See the License for the specific language governing permissions and
14 | limitations under the License.
15 |
16 | MagickCore private methods for internal threading.
17 | */
18 | #ifndef _MAGICKCORE_THREAD_H
19 | #define _MAGICKCORE_THREAD_H
20 |
21 | #if defined(__cplusplus) || defined(c_plusplus)
22 | extern "C" {
23 | #endif
24 |
25 | #if defined(MAGICKCORE_THREAD_SUPPORT)
26 | typedef pthread_t MagickThreadType;
27 | #elif defined(MAGICKCORE_HAVE_WINTHREADS)
28 | typedef DWORD MagickThreadType;
29 | #else
30 | typedef pid_t MagickThreadType;
31 | #endif
32 |
33 | #if defined(MAGICKCORE_THREAD_SUPPORT)
34 | typedef pthread_key_t MagickThreadKey;
35 | #elif defined(MAGICKCORE_HAVE_WINTHREADS)
36 | typedef DWORD MagickThreadKey;
37 | #else
38 | typedef size_t *MagickThreadKey;
39 | #endif
40 |
41 | extern MagickExport MagickBooleanType
42 | MagickCreateThreadKey(MagickThreadKey *),
43 | MagickDeleteThreadKey(MagickThreadKey),
44 | MagickSetThreadValue(MagickThreadKey,const void *);
45 |
46 | extern MagickExport void
47 | *MagickGetThreadValue(MagickThreadKey);
48 |
49 | #if defined(__cplusplus) || defined(c_plusplus)
50 | }
51 | #endif
52 |
53 | #endif
54 |
--------------------------------------------------------------------------------
/includes/ImageMagick/magick/timer.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 1999-2013 ImageMagick Studio LLC, a non-profit organization
3 | dedicated to making software imaging solutions freely available.
4 |
5 | You may not use this file except in compliance with the License.
6 | obtain a copy of the License at
7 |
8 | http://www.imagemagick.org/script/license.php
9 |
10 | Unless required by applicable law or agreed to in writing, software
11 | distributed under the License is distributed on an "AS IS" BASIS,
12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | See the License for the specific language governing permissions and
14 | limitations under the License.
15 |
16 | MagickCore timer methods.
17 | */
18 | #ifndef _MAGICKCORE_TIMER_H
19 | #define _MAGICKCORE_TIMER_H
20 |
21 | #if defined(__cplusplus) || defined(c_plusplus)
22 | extern "C" {
23 | #endif
24 |
25 | typedef enum
26 | {
27 | UndefinedTimerState,
28 | StoppedTimerState,
29 | RunningTimerState
30 | } TimerState;
31 |
32 | typedef struct _Timer
33 | {
34 | double
35 | start,
36 | stop,
37 | total;
38 | } Timer;
39 |
40 | typedef struct _TimerInfo
41 | {
42 | Timer
43 | user,
44 | elapsed;
45 |
46 | TimerState
47 | state;
48 |
49 | size_t
50 | signature;
51 | } TimerInfo;
52 |
53 | extern MagickExport double
54 | GetElapsedTime(TimerInfo *),
55 | GetUserTime(TimerInfo *);
56 |
57 | extern MagickExport MagickBooleanType
58 | ContinueTimer(TimerInfo *);
59 |
60 | extern MagickExport TimerInfo
61 | *AcquireTimerInfo(void),
62 | *DestroyTimerInfo(TimerInfo *);
63 |
64 | extern MagickExport void
65 | GetTimerInfo(TimerInfo *),
66 | ResetTimer(TimerInfo *),
67 | StartTimer(TimerInfo *,const MagickBooleanType);
68 |
69 | #if defined(__cplusplus) || defined(c_plusplus)
70 | }
71 | #endif
72 |
73 | #endif
74 |
--------------------------------------------------------------------------------
/includes/ImageMagick/magick/token.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 1999-2013 ImageMagick Studio LLC, a non-profit organization
3 | dedicated to making software imaging solutions freely available.
4 |
5 | You may not use this file except in compliance with the License.
6 | obtain a copy of the License at
7 |
8 | http://www.imagemagick.org/script/license.php
9 |
10 | Unless required by applicable law or agreed to in writing, software
11 | distributed under the License is distributed on an "AS IS" BASIS,
12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | See the License for the specific language governing permissions and
14 | limitations under the License.
15 |
16 | MagickCore token methods.
17 | */
18 | #ifndef _MAGICKCORE_TOKEN_H
19 | #define _MAGICKCORE_TOKEN_H
20 |
21 | #if defined(__cplusplus) || defined(c_plusplus)
22 | extern "C" {
23 | #endif
24 |
25 | /*
26 | Typedef declarations.
27 | */
28 | typedef struct _TokenInfo
29 | TokenInfo;
30 |
31 | extern MagickExport int
32 | Tokenizer(TokenInfo *,const unsigned int,char *,const size_t,const char *,
33 | const char *,const char *,const char *,const char,char *,int *,char *);
34 |
35 | extern MagickExport MagickBooleanType
36 | GlobExpression(const char *,const char *,const MagickBooleanType),
37 | IsGlob(const char *),
38 | IsMagickTrue(const char *);
39 |
40 | extern MagickExport TokenInfo
41 | *AcquireTokenInfo(void),
42 | *DestroyTokenInfo(TokenInfo *);
43 |
44 | extern MagickExport void
45 | GetMagickToken(const char *,const char **,char *);
46 |
47 | #if defined(__cplusplus) || defined(c_plusplus)
48 | }
49 | #endif
50 |
51 | #endif
52 |
--------------------------------------------------------------------------------
/includes/ImageMagick/magick/transform.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 1999-2013 ImageMagick Studio LLC, a non-profit organization
3 | dedicated to making software imaging solutions freely available.
4 |
5 | You may not use this file except in compliance with the License.
6 | obtain a copy of the License at
7 |
8 | http://www.imagemagick.org/script/license.php
9 |
10 | Unless required by applicable law or agreed to in writing, software
11 | distributed under the License is distributed on an "AS IS" BASIS,
12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | See the License for the specific language governing permissions and
14 | limitations under the License.
15 |
16 | MagickCore image transform methods.
17 | */
18 | #ifndef _MAGICKCORE_TRANSFORM_H
19 | #define _MAGICKCORE_TRANSFORM_H
20 |
21 | #if defined(__cplusplus) || defined(c_plusplus)
22 | extern "C" {
23 | #endif
24 |
25 | extern MagickExport Image
26 | *AutoOrientImage(const Image *,const OrientationType,ExceptionInfo *),
27 | *ChopImage(const Image *,const RectangleInfo *,ExceptionInfo *),
28 | *ConsolidateCMYKImages(const Image *,ExceptionInfo *),
29 | *CropImage(const Image *,const RectangleInfo *,ExceptionInfo *),
30 | *CropImageToTiles(const Image *,const char *, ExceptionInfo *),
31 | *ExcerptImage(const Image *,const RectangleInfo *,ExceptionInfo *),
32 | *ExtentImage(const Image *,const RectangleInfo *,ExceptionInfo *),
33 | *FlipImage(const Image *,ExceptionInfo *),
34 | *FlopImage(const Image *,ExceptionInfo *),
35 | *RollImage(const Image *,const ssize_t,const ssize_t,ExceptionInfo *),
36 | *ShaveImage(const Image *,const RectangleInfo *,ExceptionInfo *),
37 | *SpliceImage(const Image *,const RectangleInfo *,ExceptionInfo *),
38 | *TransposeImage(const Image *,ExceptionInfo *),
39 | *TransverseImage(const Image *,ExceptionInfo *),
40 | *TrimImage(const Image *,ExceptionInfo *);
41 |
42 | extern MagickExport MagickBooleanType
43 | TransformImage(Image **,const char *,const char *),
44 | TransformImages(Image **,const char *,const char *);
45 |
46 | #if defined(__cplusplus) || defined(c_plusplus)
47 | }
48 | #endif
49 |
50 | #endif
51 |
--------------------------------------------------------------------------------
/includes/ImageMagick/magick/utility.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 1999-2013 ImageMagick Studio LLC, a non-profit organization
3 | dedicated to making software imaging solutions freely available.
4 |
5 | You may not use this file except in compliance with the License.
6 | obtain a copy of the License at
7 |
8 | http://www.imagemagick.org/script/license.php
9 |
10 | Unless required by applicable law or agreed to in writing, software
11 | distributed under the License is distributed on an "AS IS" BASIS,
12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | See the License for the specific language governing permissions and
14 | limitations under the License.
15 |
16 | MagickCore utility methods.
17 | */
18 | #ifndef _MAGICKCORE_UTILITY_H
19 | #define _MAGICKCORE_UTILITY_H
20 |
21 | #if defined(__cplusplus) || defined(c_plusplus)
22 | extern "C" {
23 | #endif
24 |
25 | typedef enum
26 | {
27 | UndefinedPath,
28 | MagickPath,
29 | RootPath,
30 | HeadPath,
31 | TailPath,
32 | BasePath,
33 | ExtensionPath,
34 | SubimagePath,
35 | CanonicalPath
36 | } PathType;
37 |
38 | extern MagickExport char
39 | *Base64Encode(const unsigned char *,const size_t,size_t *),
40 | **GetPathComponents(const char *,size_t *),
41 | **ListFiles(const char *,const char *,size_t *);
42 |
43 | extern MagickExport int
44 | SystemCommand(const MagickBooleanType,const MagickBooleanType,const char *,
45 | ExceptionInfo *);
46 |
47 | extern MagickExport MagickBooleanType
48 | AcquireUniqueFilename(char *),
49 | AcquireUniqueSymbolicLink(const char *,char *),
50 | ExpandFilenames(int *,char ***),
51 | GetPathAttributes(const char *,void *),
52 | GetExecutionPath(char *,const size_t),
53 | IsPathAccessible(const char *);
54 |
55 | extern MagickExport size_t
56 | MultilineCensus(const char *);
57 |
58 | extern MagickExport ssize_t
59 | GetMagickPageSize(void);
60 |
61 | extern MagickExport unsigned char
62 | *Base64Decode(const char *, size_t *);
63 |
64 | extern MagickExport void
65 | AppendImageFormat(const char *,char *),
66 | ChopPathComponents(char *,const size_t),
67 | ExpandFilename(char *),
68 | GetPathComponent(const char *,PathType,char *),
69 | MagickDelay(const MagickSizeType);
70 |
71 | #if defined(__cplusplus) || defined(c_plusplus)
72 | }
73 | #endif
74 |
75 | #endif
76 |
--------------------------------------------------------------------------------
/includes/ImageMagick/magick/version-private.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 1999-2013 ImageMagick Studio LLC, a non-profit organization
3 | dedicated to making software imaging solutions freely available.
4 |
5 | You may not use this file except in compliance with the License.
6 | obtain a copy of the License at
7 |
8 | http://www.imagemagick.org/script/license.php
9 |
10 | Unless required by applicable law or agreed to in writing, software
11 | distributed under the License is distributed on an "AS IS" BASIS,
12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | See the License for the specific language governing permissions and
14 | limitations under the License.
15 |
16 | MagickCore version private methods.
17 | */
18 | #ifndef _MAGICKCORE_VERSION_PRIVATE_H
19 | #define _MAGICKCORE_VERSION_PRIVATE_H
20 |
21 | #if defined(__cplusplus) || defined(c_plusplus)
22 | extern "C" {
23 | #endif
24 |
25 | #include "magick/string_.h"
26 |
27 | extern MagickExport unsigned int
28 | GetMagickSignature(const StringInfo *);
29 |
30 | #if defined(__cplusplus) || defined(c_plusplus)
31 | }
32 | #endif
33 |
34 | #endif
35 |
--------------------------------------------------------------------------------
/includes/ImageMagick/magick/widget.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 1999-2013 ImageMagick Studio LLC, a non-profit organization
3 | dedicated to making software imaging solutions freely available.
4 |
5 | You may not use this file except in compliance with the License.
6 | obtain a copy of the License at
7 |
8 | http://www.imagemagick.org/script/license.php
9 |
10 | Unless required by applicable law or agreed to in writing, software
11 | distributed under the License is distributed on an "AS IS" BASIS,
12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | See the License for the specific language governing permissions and
14 | limitations under the License.
15 |
16 | MagickCore X11 widget methods.
17 | */
18 | #ifndef _MAGICKCORE_WIDGET_H
19 | #define _MAGICKCORE_WIDGET_H
20 |
21 | #if defined(__cplusplus) || defined(c_plusplus)
22 | extern "C" {
23 | #endif
24 |
25 | #if defined(MAGICKCORE_X11_DELEGATE)
26 |
27 | #include "magick/xwindow-private.h"
28 |
29 | extern MagickExport int
30 | XCommandWidget(Display *,XWindows *,const char **,XEvent *),
31 | XConfirmWidget(Display *,XWindows *,const char *,const char *),
32 | XDialogWidget(Display *,XWindows *,const char *,const char *,char *),
33 | XMenuWidget(Display *,XWindows *,const char *,const char **,char *);
34 |
35 | extern MagickExport MagickBooleanType
36 | XPreferencesWidget(Display *,XResourceInfo *,XWindows *);
37 |
38 | extern MagickExport void
39 | DestroyXWidget(void),
40 | XColorBrowserWidget(Display *,XWindows *,const char *,char *),
41 | XFileBrowserWidget(Display *,XWindows *,const char *,char *),
42 | XFontBrowserWidget(Display *,XWindows *,const char *,char *),
43 | XInfoWidget(Display *,XWindows *,const char *),
44 | XListBrowserWidget(Display *,XWindows *,XWindowInfo *,const char **,
45 | const char *,const char *,char *),
46 | XNoticeWidget(Display *,XWindows *,const char *,const char *),
47 | XProgressMonitorWidget(Display *,XWindows *,const char *,
48 | const MagickOffsetType,const MagickSizeType),
49 | XTextViewWidget(Display *,const XResourceInfo *,XWindows *,
50 | const MagickBooleanType,const char *,const char **);
51 |
52 | #endif
53 |
54 | #if defined(__cplusplus) || defined(c_plusplus)
55 | }
56 | #endif
57 |
58 | #endif
59 |
--------------------------------------------------------------------------------
/includes/ImageMagick/magick/xml-tree.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 1999-2013 ImageMagick Studio LLC, a non-profit organization
3 | dedicated to making software imaging solutions freely available.
4 |
5 | You may not use this file except in compliance with the License.
6 | obtain a copy of the License at
7 |
8 | http://www.imagemagick.org/MagicksToolkit/script/license.php
9 |
10 | Unless required by applicable law or agreed to in writing, software
11 | distributed under the License is distributed on an "AS IS" BASIS,
12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | See the License for the specific language governing permissions and
14 | limitations under the License.
15 |
16 | Magick's toolkit xml-tree methods.
17 | */
18 | #ifndef _MAGICKCORE_XML_TREE_H
19 | #define _MAGICKCORE_XML_TREE_H
20 |
21 | #if defined(__cplusplus) || defined(c_plusplus)
22 | extern "C" {
23 | #endif
24 |
25 | #include "exception.h"
26 | #include "splay-tree.h"
27 |
28 | typedef struct _XMLTreeInfo
29 | XMLTreeInfo;
30 |
31 | extern MagickExport char
32 | *CanonicalXMLContent(const char *,const MagickBooleanType),
33 | *XMLTreeInfoToXML(XMLTreeInfo *);
34 |
35 | extern MagickExport const char
36 | *GetXMLTreeAttribute(XMLTreeInfo *,const char *),
37 | *GetXMLTreeContent(XMLTreeInfo *),
38 | **GetXMLTreeProcessingInstructions(XMLTreeInfo *,const char *),
39 | *GetXMLTreeTag(XMLTreeInfo *);
40 |
41 | extern MagickExport MagickBooleanType
42 | GetXMLTreeAttributes(const XMLTreeInfo *,SplayTreeInfo *);
43 |
44 | extern MagickExport XMLTreeInfo
45 | *AddChildToXMLTree(XMLTreeInfo *,const char *,const size_t),
46 | *AddPathToXMLTree(XMLTreeInfo *,const char *,const size_t),
47 | *DestroyXMLTree(XMLTreeInfo *),
48 | *GetNextXMLTreeTag(XMLTreeInfo *),
49 | *GetXMLTreeChild(XMLTreeInfo *,const char *),
50 | *GetXMLTreeOrdered(XMLTreeInfo *),
51 | *GetXMLTreePath(XMLTreeInfo *,const char *),
52 | *GetXMLTreeSibling(XMLTreeInfo *),
53 | *InsertTagIntoXMLTree(XMLTreeInfo *,XMLTreeInfo *,const size_t),
54 | *NewXMLTree(const char *,ExceptionInfo *),
55 | *NewXMLTreeTag(const char *),
56 | *ParseTagFromXMLTree(XMLTreeInfo *),
57 | *PruneTagFromXMLTree(XMLTreeInfo *),
58 | *SetXMLTreeAttribute(XMLTreeInfo *,const char *,const char *),
59 | *SetXMLTreeContent(XMLTreeInfo *,const char *);
60 |
61 | #if defined(__cplusplus) || defined(c_plusplus)
62 | }
63 | #endif
64 |
65 | #endif
66 |
--------------------------------------------------------------------------------
/includes/ImageMagick/magick/xwindow.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 1999-2013 ImageMagick Studio LLC, a non-profit organization
3 | dedicated to making software imaging solutions freely available.
4 |
5 | You may not use this file except in compliance with the License.
6 | obtain a copy of the License at
7 |
8 | http://www.imagemagick.org/script/license.php
9 |
10 | Unless required by applicable law or agreed to in writing, software
11 | distributed under the License is distributed on an "AS IS" BASIS,
12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | See the License for the specific language governing permissions and
14 | limitations under the License.
15 |
16 | MagickCore X11 window methods.
17 | */
18 | #ifndef _MAGICKCORE_XWINDOW_H
19 | #define _MAGICKCORE_XWINDOW_H
20 |
21 | #if defined(__cplusplus) || defined(c_plusplus)
22 | extern "C" {
23 | #endif
24 |
25 | typedef struct _XImportInfo
26 | {
27 | MagickBooleanType
28 | frame,
29 | borders,
30 | screen,
31 | descend,
32 | silent;
33 | } XImportInfo;
34 |
35 | extern MagickExport Image
36 | *XImportImage(const ImageInfo *,XImportInfo *);
37 |
38 | extern MagickExport void
39 | XGetImportInfo(XImportInfo *);
40 |
41 | #if defined(__cplusplus) || defined(c_plusplus)
42 | }
43 | #endif
44 |
45 | #endif
46 |
--------------------------------------------------------------------------------
/includes/ImageMagick/wand/animate.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 1999-2013 ImageMagick Studio LLC, a non-profit organization
3 | dedicated to making software imaging solutions freely available.
4 |
5 | You may not use this file except in compliance with the License.
6 | obtain a copy of the License at
7 |
8 | http://www.imagemagick.org/script/license.php
9 |
10 | Unless required by applicable law or agreed to in writing, software
11 | distributed under the License is distributed on an "AS IS" BASIS,
12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | See the License for the specific language governing permissions and
14 | limitations under the License.
15 |
16 | MagickWand animate command-line methods.
17 | */
18 | #ifndef _MAGICKWAND_ANIMATE_H
19 | #define _MAGICKWAND_ANIMATE_H
20 |
21 | #if defined(__cplusplus) || defined(c_plusplus)
22 | extern "C" {
23 | #endif
24 |
25 | extern WandExport MagickBooleanType
26 | AnimateImageCommand(ImageInfo *,int,char **,char **,ExceptionInfo *);
27 |
28 | #if defined(__cplusplus) || defined(c_plusplus)
29 | }
30 | #endif
31 |
32 | #endif
33 |
--------------------------------------------------------------------------------
/includes/ImageMagick/wand/compare.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 1999-2013 ImageMagick Studio LLC, a non-profit organization
3 | dedicated to making software imaging solutions freely available.
4 |
5 | You may not use this file except in compliance with the License.
6 | obtain a copy of the License at
7 |
8 | http://www.imagemagick.org/script/license.php
9 |
10 | Unless required by applicable law or agreed to in writing, software
11 | distributed under the License is distributed on an "AS IS" BASIS,
12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | See the License for the specific language governing permissions and
14 | limitations under the License.
15 |
16 | MagickWand compare command-line method.
17 | */
18 | #ifndef _MAGICKWAND_COMPARE_H
19 | #define _MAGICKWAND_COMPARE_H
20 |
21 | #if defined(__cplusplus) || defined(c_plusplus)
22 | extern "C" {
23 | #endif
24 |
25 | extern WandExport MagickBooleanType
26 | CompareImageCommand(ImageInfo *,int,char **,char **,ExceptionInfo *);
27 |
28 | #if defined(__cplusplus) || defined(c_plusplus)
29 | }
30 | #endif
31 |
32 | #endif
33 |
--------------------------------------------------------------------------------
/includes/ImageMagick/wand/composite.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 1999-2013 ImageMagick Studio LLC, a non-profit organization
3 | dedicated to making software imaging solutions freely available.
4 |
5 | You may not use this file except in compliance with the License.
6 | obtain a copy of the License at
7 |
8 | http://www.imagemagick.org/script/license.php
9 |
10 | Unless required by applicable law or agreed to in writing, software
11 | distributed under the License is distributed on an "AS IS" BASIS,
12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | See the License for the specific language governing permissions and
14 | limitations under the License.
15 |
16 | MagickWand composite command-line method.
17 | */
18 | #ifndef _MAGICKWAND_COMPOSITE_H
19 | #define _MAGICKWAND_COMPOSITE_H
20 |
21 | #if defined(__cplusplus) || defined(c_plusplus)
22 | extern "C" {
23 | #endif
24 |
25 | extern WandExport MagickBooleanType
26 | CompositeImageCommand(ImageInfo *,int,char **,char **,ExceptionInfo *);
27 |
28 | #if defined(__cplusplus) || defined(c_plusplus)
29 | }
30 | #endif
31 |
32 | #endif
33 |
--------------------------------------------------------------------------------
/includes/ImageMagick/wand/conjure.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 1999-2013 ImageMagick Studio LLC, a non-profit organization
3 | dedicated to making software imaging solutions freely available.
4 |
5 | You may not use this file except in compliance with the License.
6 | obtain a copy of the License at
7 |
8 | http://www.imagemagick.org/script/license.php
9 |
10 | Unless required by applicable law or agreed to in writing, software
11 | distributed under the License is distributed on an "AS IS" BASIS,
12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | See the License for the specific language governing permissions and
14 | limitations under the License.
15 |
16 | MagickWand conjure command-line method.
17 | */
18 | #ifndef _MAGICKWAND_CONJURE_H
19 | #define _MAGICKWAND_CONJURE_H
20 |
21 | #if defined(__cplusplus) || defined(c_plusplus)
22 | extern "C" {
23 | #endif
24 |
25 | extern WandExport MagickBooleanType
26 | ConjureImageCommand(ImageInfo *,int,char **,char **,ExceptionInfo *);
27 |
28 | #if defined(__cplusplus) || defined(c_plusplus)
29 | }
30 | #endif
31 |
32 | #endif
33 |
--------------------------------------------------------------------------------
/includes/ImageMagick/wand/convert.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 1999-2013 ImageMagick Studio LLC, a non-profit organization
3 | dedicated to making software imaging solutions freely available.
4 |
5 | You may not use this file except in compliance with the License.
6 | obtain a copy of the License at
7 |
8 | http://www.imagemagick.org/script/license.php
9 |
10 | Unless required by applicable law or agreed to in writing, software
11 | distributed under the License is distributed on an "AS IS" BASIS,
12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | See the License for the specific language governing permissions and
14 | limitations under the License.
15 |
16 | MagickWand convert command-line method.
17 | */
18 | #ifndef _MAGICKWAND_CONVERT_H
19 | #define _MAGICKWAND_CONVERT_H
20 |
21 | #if defined(__cplusplus) || defined(c_plusplus)
22 | extern "C" {
23 | #endif
24 |
25 | extern WandExport MagickBooleanType
26 | ConvertImageCommand(ImageInfo *,int,char **,char **,ExceptionInfo *);
27 |
28 | #if defined(__cplusplus) || defined(c_plusplus)
29 | }
30 | #endif
31 |
32 | #endif
33 |
--------------------------------------------------------------------------------
/includes/ImageMagick/wand/display.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 1999-2013 ImageMagick Studio LLC, a non-profit organization
3 | dedicated to making software imaging solutions freely available.
4 |
5 | You may not use this file except in compliance with the License.
6 | obtain a copy of the License at
7 |
8 | http://www.imagemagick.org/script/license.php
9 |
10 | Unless required by applicable law or agreed to in writing, software
11 | distributed under the License is distributed on an "AS IS" BASIS,
12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | See the License for the specific language governing permissions and
14 | limitations under the License.
15 |
16 | MagickWand display command-line method.
17 | */
18 | #ifndef _MAGICKWAND_DISPLAY_H
19 | #define _MAGICKWAND_DISPLAY_H
20 |
21 | #if defined(__cplusplus) || defined(c_plusplus)
22 | extern "C" {
23 | #endif
24 |
25 | extern WandExport MagickBooleanType
26 | DisplayImageCommand(ImageInfo *,int,char **,char **,ExceptionInfo *);
27 |
28 | #if defined(__cplusplus) || defined(c_plusplus)
29 | }
30 | #endif
31 |
32 | #endif
33 |
--------------------------------------------------------------------------------
/includes/ImageMagick/wand/identify.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 1999-2013 ImageMagick Studio LLC, a non-profit organization
3 | dedicated to making software imaging solutions freely available.
4 |
5 | You may not use this file except in compliance with the License.
6 | obtain a copy of the License at
7 |
8 | http://www.imagemagick.org/script/license.php
9 |
10 | Unless required by applicable law or agreed to in writing, software
11 | distributed under the License is distributed on an "AS IS" BASIS,
12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | See the License for the specific language governing permissions and
14 | limitations under the License.
15 |
16 | MagickWand identify command-line method.
17 | */
18 | #ifndef _MAGICKWAND_IDENTIFY_H
19 | #define _MAGICKWAND_IDENTIFY_H
20 |
21 | #if defined(__cplusplus) || defined(c_plusplus)
22 | extern "C" {
23 | #endif
24 |
25 | extern WandExport MagickBooleanType
26 | IdentifyImageCommand(ImageInfo *,int,char **,char **,ExceptionInfo *);
27 |
28 | #if defined(__cplusplus) || defined(c_plusplus)
29 | }
30 | #endif
31 |
32 | #endif
33 |
--------------------------------------------------------------------------------
/includes/ImageMagick/wand/import.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 1999-2013 ImageMagick Studio LLC, a non-profit organization
3 | dedicated to making software imaging solutions freely available.
4 |
5 | You may not use this file except in compliance with the License.
6 | obtain a copy of the License at
7 |
8 | http://www.imagemagick.org/script/license.php
9 |
10 | Unless required by applicable law or agreed to in writing, software
11 | distributed under the License is distributed on an "AS IS" BASIS,
12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | See the License for the specific language governing permissions and
14 | limitations under the License.
15 |
16 | MagickWand import command-line method.
17 | */
18 | #ifndef _MAGICKWAND_IMPORT_H
19 | #define _MAGICKWAND_IMPORT_H
20 |
21 | #if defined(__cplusplus) || defined(c_plusplus)
22 | extern "C" {
23 | #endif
24 |
25 | extern WandExport MagickBooleanType
26 | ImportImageCommand(ImageInfo *,int,char **,char **,ExceptionInfo *);
27 |
28 | #if defined(__cplusplus) || defined(c_plusplus)
29 | }
30 | #endif
31 |
32 | #endif
33 |
--------------------------------------------------------------------------------
/includes/ImageMagick/wand/magick-wand-private.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 1999-2013 ImageMagick Studio LLC, a non-profit organization
3 | dedicated to making software imaging solutions freely available.
4 |
5 | You may not use this file except in compliance with the License.
6 | obtain a copy of the License at
7 |
8 | http://www.imagemagick.org/script/license.php
9 |
10 | Unless required by applicable law or agreed to in writing, software
11 | distributed under the License is distributed on an "AS IS" BASIS,
12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | See the License for the specific language governing permissions and
14 | limitations under the License.
15 |
16 | ImageMagick pixel wand API.
17 | */
18 | #ifndef _MAGICKWAND_MAGICK_WAND_PRIVATE_H
19 | #define _MAGICKWAND_MAGICK_WAND_PRIVATE_H
20 |
21 | #if defined(__cplusplus) || defined(c_plusplus)
22 | extern "C" {
23 | #endif
24 |
25 | #define DegreesToRadians(x) (MagickPI*(x)/180.0)
26 | #define MagickPI 3.14159265358979323846264338327950288419716939937510
27 | #define MagickWandId "MagickWand"
28 | #define QuantumTick(i,span) ((MagickBooleanType) ((((i) & ((i)-1)) == 0) || \
29 | (((i) & 0xfff) == 0) || \
30 | ((MagickOffsetType) (i) == ((MagickOffsetType) (span)-1))))
31 | #define RadiansToDegrees(x) (180.0*(x)/MagickPI)
32 |
33 | struct _MagickWand
34 | {
35 | size_t
36 | id;
37 |
38 | char
39 | name[MaxTextExtent];
40 |
41 | ExceptionInfo
42 | *exception;
43 |
44 | ImageInfo
45 | *image_info;
46 |
47 | QuantizeInfo
48 | *quantize_info;
49 |
50 | Image
51 | *images;
52 |
53 | MagickBooleanType
54 | insert_before,
55 | image_pending,
56 | debug;
57 |
58 | size_t
59 | signature;
60 | };
61 |
62 | #if defined(__cplusplus) || defined(c_plusplus)
63 | }
64 | #endif
65 |
66 | #endif
67 |
--------------------------------------------------------------------------------
/includes/ImageMagick/wand/magick-wand.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 1999-2013 ImageMagick Studio LLC, a non-profit organization
3 | dedicated to making software imaging solutions freely available.
4 |
5 | You may not use this file except in compliance with the License.
6 | obtain a copy of the License at
7 |
8 | http://www.imagemagick.org/script/license.php
9 |
10 | Unless required by applicable law or agreed to in writing, software
11 | distributed under the License is distributed on an "AS IS" BASIS,
12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | See the License for the specific language governing permissions and
14 | limitations under the License.
15 |
16 | MagickWand API (deprecated, use magick-wand.h instead).
17 | */
18 |
19 | #ifndef _MAGICKWAND_MAGICK_WAND_DEPRECATED_H
20 | #define _MAGICKWAND_MAGICK_WAND_DEPRECATED_H
21 |
22 | #include "MagickWand.h"
23 |
24 | #endif
25 |
--------------------------------------------------------------------------------
/includes/ImageMagick/wand/magick_wand.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 1999-2013 ImageMagick Studio LLC, a non-profit organization
3 | dedicated to making software imaging solutions freely available.
4 |
5 | You may not use this file except in compliance with the License.
6 | obtain a copy of the License at
7 |
8 | http://www.imagemagick.org/script/license.php
9 |
10 | Unless required by applicable law or agreed to in writing, software
11 | distributed under the License is distributed on an "AS IS" BASIS,
12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | See the License for the specific language governing permissions and
14 | limitations under the License.
15 |
16 | MagickWand API (deprecated, use magick-wand.h instead).
17 | */
18 |
19 | #ifndef _MAGICKWAND_MAGICK_WAND_DEPRECATED_H
20 | #define _MAGICKWAND_MAGICK_WAND_DEPRECATED_H
21 |
22 | #include "wand/MagickWand.h"
23 |
24 | #endif
25 |
--------------------------------------------------------------------------------
/includes/ImageMagick/wand/mogrify.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 1999-2013 ImageMagick Studio LLC, a non-profit organization
3 | dedicated to making software imaging solutions freely available.
4 |
5 | You may not use this file except in compliance with the License.
6 | obtain a copy of the License at
7 |
8 | http://www.imagemagick.org/script/license.php
9 |
10 | Unless required by applicable law or agreed to in writing, software
11 | distributed under the License is distributed on an "AS IS" BASIS,
12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | See the License for the specific language governing permissions and
14 | limitations under the License.
15 |
16 | MagickWand mogrify command-line method.
17 | */
18 | #ifndef _MAGICKWAND_MOGRIFY_H
19 | #define _MAGICKWAND_MOGRIFY_H
20 |
21 | #if defined(__cplusplus) || defined(c_plusplus)
22 | extern "C" {
23 | #endif
24 |
25 | typedef MagickBooleanType
26 | (*MagickCommand)(ImageInfo *,int,char **,char **,ExceptionInfo *);
27 |
28 | extern WandExport MagickBooleanType
29 | MagickCommandGenesis(ImageInfo *,MagickCommand,int,char **,char **,
30 | ExceptionInfo *),
31 | MogrifyImage(ImageInfo *,const int,const char **,Image **,ExceptionInfo *),
32 | MogrifyImageCommand(ImageInfo *,int,char **,char **,ExceptionInfo *),
33 | MogrifyImageInfo(ImageInfo *,const int,const char **,ExceptionInfo *),
34 | MogrifyImageList(ImageInfo *,const int,const char **,Image **,
35 | ExceptionInfo *),
36 | MogrifyImages(ImageInfo *,const MagickBooleanType,const int,const char **,
37 | Image **,ExceptionInfo *);
38 |
39 | #if defined(__cplusplus) || defined(c_plusplus)
40 | }
41 | #endif
42 |
43 | #endif
44 |
--------------------------------------------------------------------------------
/includes/ImageMagick/wand/montage.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 1999-2013 ImageMagick Studio LLC, a non-profit organization
3 | dedicated to making software imaging solutions freely available.
4 |
5 | You may not use this file except in compliance with the License.
6 | obtain a copy of the License at
7 |
8 | http://www.imagemagick.org/script/license.php
9 |
10 | Unless required by applicable law or agreed to in writing, software
11 | distributed under the License is distributed on an "AS IS" BASIS,
12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | See the License for the specific language governing permissions and
14 | limitations under the License.
15 |
16 | MagickWand montage command-line method.
17 | */
18 | #ifndef _MAGICKWAND_MONTAGE_H
19 | #define _MAGICKWAND_MONTAGE_H
20 |
21 | #if defined(__cplusplus) || defined(c_plusplus)
22 | extern "C" {
23 | #endif
24 |
25 | extern WandExport MagickBooleanType
26 | MontageImageCommand(ImageInfo *,int,char **,char **,ExceptionInfo *);
27 |
28 | #if defined(__cplusplus) || defined(c_plusplus)
29 | }
30 | #endif
31 |
32 | #endif
33 |
--------------------------------------------------------------------------------
/includes/ImageMagick/wand/pixel-iterator.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 1999-2013 ImageMagick Studio LLC, a non-profit organization
3 | dedicated to making software imaging solutions freely available.
4 |
5 | You may not use this file except in compliance with the License.
6 | obtain a copy of the License at
7 |
8 | http://www.imagemagick.org/script/license.php
9 |
10 | Unless required by applicable law or agreed to in writing, software
11 | distributed under the License is distributed on an "AS IS" BASIS,
12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | See the License for the specific language governing permissions and
14 | limitations under the License.
15 |
16 | Pixel Iterator Methods.
17 | */
18 | #ifndef _MAGICKWAND_PIXEL_ITERATOR_H
19 | #define _MAGICKWAND_PIXEL_ITERATOR_H
20 |
21 | #if defined(__cplusplus) || defined(c_plusplus)
22 | extern "C" {
23 | #endif
24 |
25 | #include "magick-wand.h"
26 | #include "pixel-wand.h"
27 |
28 | typedef struct _PixelIterator
29 | PixelIterator;
30 |
31 | extern WandExport char
32 | *PixelGetIteratorException(const PixelIterator *,ExceptionType *);
33 |
34 | extern WandExport ExceptionType
35 | PixelGetIteratorExceptionType(const PixelIterator *);
36 |
37 | extern WandExport MagickBooleanType
38 | IsPixelIterator(const PixelIterator *),
39 | PixelClearIteratorException(PixelIterator *),
40 | PixelSetIteratorRow(PixelIterator *,const ssize_t),
41 | PixelSyncIterator(PixelIterator *);
42 |
43 | extern WandExport PixelIterator
44 | *ClonePixelIterator(const PixelIterator *),
45 | *DestroyPixelIterator(PixelIterator *),
46 | *NewPixelIterator(MagickWand *),
47 | *NewPixelRegionIterator(MagickWand *,const ssize_t,const ssize_t,const size_t,
48 | const size_t);
49 |
50 | extern WandExport PixelWand
51 | **PixelGetCurrentIteratorRow(PixelIterator *,size_t *),
52 | **PixelGetNextIteratorRow(PixelIterator *,size_t *),
53 | **PixelGetPreviousIteratorRow(PixelIterator *,size_t *);
54 |
55 | extern WandExport ssize_t
56 | PixelGetIteratorRow(PixelIterator *);
57 |
58 | extern WandExport void
59 | ClearPixelIterator(PixelIterator *),
60 | PixelResetIterator(PixelIterator *),
61 | PixelSetFirstIteratorRow(PixelIterator *),
62 | PixelSetLastIteratorRow(PixelIterator *);
63 |
64 | #if defined(__cplusplus) || defined(c_plusplus)
65 | }
66 | #endif
67 |
68 | #endif
69 |
--------------------------------------------------------------------------------
/includes/ImageMagick/wand/pixel-wand-private.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 1999-2013 ImageMagick Studio LLC, a non-profit organization
3 | dedicated to making software imaging solutions freely available.
4 |
5 | You may not use this file except in compliance with the License.
6 | obtain a copy of the License at
7 |
8 | http://www.imagemagick.org/script/license.php
9 |
10 | Unless required by applicable law or agreed to in writing, software
11 | distributed under the License is distributed on an "AS IS" BASIS,
12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | See the License for the specific language governing permissions and
14 | limitations under the License.
15 |
16 | MAgickWand pixel wand private methods.
17 | */
18 | #ifndef _MAGICKWAND_PIXEL_WAND_PRIVATE_H
19 | #define _MAGICKWAND_PIXEL_WAND_PRIVATE_H
20 |
21 | #if defined(__cplusplus) || defined(c_plusplus)
22 | extern "C" {
23 | #endif
24 |
25 | #if defined(__cplusplus) || defined(c_plusplus)
26 | }
27 | #endif
28 |
29 | #endif
30 |
--------------------------------------------------------------------------------
/includes/ImageMagick/wand/stream.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 1999-2013 ImageMagick Studio LLC, a non-profit organization
3 | dedicated to making software imaging solutions freely available.
4 |
5 | You may not use this file except in compliance with the License.
6 | obtain a copy of the License at
7 |
8 | http://www.imagemagick.org/script/license.php
9 |
10 | Unless required by applicable law or agreed to in writing, software
11 | distributed under the License is distributed on an "AS IS" BASIS,
12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | See the License for the specific language governing permissions and
14 | limitations under the License.
15 |
16 | MagickWand montage command-line method.
17 | */
18 | #ifndef _MAGICKWAND_STREAM_H
19 | #define _MAGICKWAND_STREAM_H
20 |
21 | #if defined(__cplusplus) || defined(c_plusplus)
22 | extern "C" {
23 | #endif
24 |
25 | extern WandExport MagickBooleanType
26 | StreamImageCommand(ImageInfo *,int,char **,char **,ExceptionInfo *);
27 |
28 | #if defined(__cplusplus) || defined(c_plusplus)
29 | }
30 | #endif
31 |
32 | #endif
33 |
--------------------------------------------------------------------------------
/includes/ImageMagick/wand/wand.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 1999-2013 ImageMagick Studio LLC, a non-profit organization
3 | dedicated to making software imaging solutions freely available.
4 |
5 | You may not use this file except in compliance with the License.
6 | obtain a copy of the License at
7 |
8 | http://www.imagemagick.org/script/license.php
9 |
10 | Unless required by applicable law or agreed to in writing, software
11 | distributed under the License is distributed on an "AS IS" BASIS,
12 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 | See the License for the specific language governing permissions and
14 | limitations under the License.
15 |
16 | ImageMagick wand support methods.
17 | */
18 | #ifndef _MAGICKWAND_WAND_H
19 | #define _MAGICKWAND_WAND_H
20 |
21 | #if defined(__cplusplus) || defined(c_plusplus)
22 | extern "C" {
23 | #endif
24 |
25 | extern WandExport size_t
26 | AcquireWandId(void);
27 |
28 | extern WandExport void
29 | DestroyWandIds(void),
30 | RelinquishWandId(const size_t);
31 |
32 | #if defined(__cplusplus) || defined(c_plusplus)
33 | }
34 | #endif
35 |
36 | #endif
37 |
--------------------------------------------------------------------------------
/includes/assimp/Compiler/poppack1.h:
--------------------------------------------------------------------------------
1 |
2 | // ===============================================================================
3 | // May be included multiple times - resets structure packing to the defaults
4 | // for all supported compilers. Reverts the changes made by #include
5 | //
6 | // Currently this works on the following compilers:
7 | // MSVC 7,8,9
8 | // GCC
9 | // BORLAND (complains about 'pack state changed but not reverted', but works)
10 | // ===============================================================================
11 |
12 | #ifndef AI_PUSHPACK_IS_DEFINED
13 | # error pushpack1.h must be included after poppack1.h
14 | #endif
15 |
16 | // reset packing to the original value
17 | #if defined(_MSC_VER) || defined(__BORLANDC__) || defined (__BCPLUSPLUS__)
18 | # pragma pack( pop )
19 | #endif
20 | #undef PACK_STRUCT
21 |
22 | #undef AI_PUSHPACK_IS_DEFINED
23 |
--------------------------------------------------------------------------------
/includes/assimp/Compiler/pushpack1.h:
--------------------------------------------------------------------------------
1 |
2 |
3 | // ===============================================================================
4 | // May be included multiple times - sets structure packing to 1
5 | // for all supported compilers. #include reverts the changes.
6 | //
7 | // Currently this works on the following compilers:
8 | // MSVC 7,8,9
9 | // GCC
10 | // BORLAND (complains about 'pack state changed but not reverted', but works)
11 | //
12 | //
13 | // USAGE:
14 | //
15 | // struct StructToBePacked {
16 | // } PACK_STRUCT;
17 | //
18 | // ===============================================================================
19 |
20 | #ifdef AI_PUSHPACK_IS_DEFINED
21 | # error poppack1.h must be included after pushpack1.h
22 | #endif
23 |
24 | #if defined(_MSC_VER) || defined(__BORLANDC__) || defined (__BCPLUSPLUS__)
25 | # pragma pack(push,1)
26 | # define PACK_STRUCT
27 | #elif defined( __GNUC__ )
28 | # define PACK_STRUCT __attribute__((packed))
29 | #else
30 | # error Compiler not supported
31 | #endif
32 |
33 | #if defined(_MSC_VER)
34 |
35 | // C4103: Packing was changed after the inclusion of the header, propably missing #pragma pop
36 | # pragma warning (disable : 4103)
37 | #endif
38 |
39 | #define AI_PUSHPACK_IS_DEFINED
40 |
41 |
42 |
--------------------------------------------------------------------------------
/includes/assimp/ai_assert.h:
--------------------------------------------------------------------------------
1 | /** @file assert.h
2 | */
3 | #ifndef AI_DEBUG_H_INC
4 | #define AI_DEBUG_H_INC
5 |
6 | #ifdef _DEBUG
7 | # include
8 | # define ai_assert(expression) assert(expression)
9 | #else
10 | # define ai_assert(expression)
11 | #endif
12 |
13 |
14 | #endif
15 |
--------------------------------------------------------------------------------
/includes/assimp/defs.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hardware/ObjectViewer/718922e00a6f3e83510e6091f7630ac3c0e5066b/includes/assimp/defs.h
--------------------------------------------------------------------------------
/includes/assimp/matrix3x3.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hardware/ObjectViewer/718922e00a6f3e83510e6091f7630ac3c0e5066b/includes/assimp/matrix3x3.h
--------------------------------------------------------------------------------
/includes/assimp/matrix3x3.inl:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hardware/ObjectViewer/718922e00a6f3e83510e6091f7630ac3c0e5066b/includes/assimp/matrix3x3.inl
--------------------------------------------------------------------------------
/includes/assimp/matrix4x4.h:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hardware/ObjectViewer/718922e00a6f3e83510e6091f7630ac3c0e5066b/includes/assimp/matrix4x4.h
--------------------------------------------------------------------------------
/includes/assimp/matrix4x4.inl:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hardware/ObjectViewer/718922e00a6f3e83510e6091f7630ac3c0e5066b/includes/assimp/matrix4x4.inl
--------------------------------------------------------------------------------
/libs/CORE_RL_Magick++_.lib:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hardware/ObjectViewer/718922e00a6f3e83510e6091f7630ac3c0e5066b/libs/CORE_RL_Magick++_.lib
--------------------------------------------------------------------------------
/libs/assimp.lib:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hardware/ObjectViewer/718922e00a6f3e83510e6091f7630ac3c0e5066b/libs/assimp.lib
--------------------------------------------------------------------------------
/resources/images/splash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hardware/ObjectViewer/718922e00a6f3e83510e6091f7630ac3c0e5066b/resources/images/splash.png
--------------------------------------------------------------------------------
/resources/shaders/basic.vert:
--------------------------------------------------------------------------------
1 | #version 430 core
2 |
3 | /*
4 | PER-FRAGMENT LIGHTING (PHONG SHADING IMPLEMENTATION)
5 | */
6 |
7 | in vec3 position; // Vertex postion
8 | in vec4 color; // Vertex color
9 | in vec2 texCoord; // Texture coordinates
10 | in vec3 normal; // Vertex normal
11 |
12 | out VS_OUT
13 | {
14 | vec4 P; // Position vector transformed into eye (camera) space
15 | vec3 N; // Normal vector transformed into eye (camera) space
16 | vec3 V; // View vector (the negative of the view-space position)
17 |
18 | vec2 texCoord;
19 | vec4 color;
20 | } vs_out;
21 |
22 | uniform mat3 normalMatrix;
23 | uniform mat4 modelViewMatrix;
24 | uniform mat4 projectionMatrix;
25 |
26 | void main()
27 | {
28 | // Calculate position vector in view-space coordinate
29 | vs_out.P = modelViewMatrix * vec4(position, 1.0);
30 |
31 | // Calculate normal vector in view-space coordinate
32 | // normalMatrix is the transpose of the inverse of the modelView matrix
33 | // normalMatrix = transpose(inverse(mat3(modelViewMatrix)));
34 | vs_out.N = normalMatrix * normal;
35 |
36 | // Calculate viewing vector from eye position to surface point
37 | vs_out.V = -vs_out.P.xyz;
38 |
39 | // Send texture coordinates and vertex color to the fragment shader
40 | vs_out.texCoord = texCoord;
41 | vs_out.color = color;
42 |
43 | // Calculate the clip-space position of each vertex
44 | gl_Position = projectionMatrix * vs_out.P;
45 | }
46 |
--------------------------------------------------------------------------------
/resources/shaders/lighting/normal-mapping.frag:
--------------------------------------------------------------------------------
1 | #version 430 core
2 |
3 | /*
4 | NORMAL MAPPING (AKA BUMP MAPPING)
5 | +
6 | PER-FRAGMENT LIGHTING (PHONG SHADING IMPLEMENTATION)
7 | */
8 |
9 | in VS_OUT
10 | {
11 | vec2 texCoord;
12 | vec3 eyeDirection;
13 | vec3 lightDirection;
14 | } fs_in;
15 |
16 | out vec4 FragColor;
17 |
18 | // Texture samplers
19 | uniform sampler2D texColor;
20 | uniform sampler2D texNormal;
21 |
22 | uniform float specularPower = 64.0;
23 |
24 | void main()
25 | {
26 | vec3 V = normalize(fs_in.eyeDirection);
27 | vec3 L = normalize(fs_in.lightDirection);
28 | vec3 N = normalize(texture(texNormal, fs_in.texCoord).rgb * 2.0 - vec3(1.0));
29 | // N = vec3(0.0, 0.0, 1.0);
30 | vec3 R = reflect(-L, N);
31 |
32 | vec3 diffuseAlbedo = texture(texColor, fs_in.texCoord).rgb;
33 | vec3 diffuse = max(dot(N, L), 0.0) * diffuseAlbedo;
34 | vec3 specularAlbedo = vec3(0.7);
35 | // vec3 specular = max(pow(dot(R, V), 5.0), 0.0) * specularAlbedo;
36 | vec3 specular = pow(max(dot(R, V), 0.0), specularPower) * specularAlbedo;
37 |
38 | FragColor = vec4(diffuse + specular, 1.0);
39 | }
40 |
--------------------------------------------------------------------------------
/resources/shaders/lighting/normal-mapping.vert:
--------------------------------------------------------------------------------
1 | #version 430 core
2 |
3 | /*
4 | NORMAL MAPPING (AKA BUMP MAPPING)
5 | +
6 | PER-FRAGMENT LIGHTING (PHONG SHADING IMPLEMENTATION)
7 | */
8 |
9 | in vec3 position;
10 | in vec2 texCoord;
11 | in vec3 normal;
12 | in vec3 tangent;
13 |
14 | out VS_OUT
15 | {
16 | vec2 texCoord;
17 | vec3 eyeDirection;
18 | vec3 lightDirection;
19 | } vs_out;
20 |
21 | uniform mat4 modelViewMatrix;
22 | uniform mat4 projectionMatrix;
23 |
24 | uniform vec3 lightPosition = vec3(0.0, 0.0, 100.0);
25 |
26 | void main()
27 | {
28 | vec4 P = modelViewMatrix * vec4(position, 1.0);
29 | vec3 V = P.xyz;
30 | vec3 L = lightPosition - P.xyz;
31 | vec3 N = normalize(mat3(modelViewMatrix) * normal);
32 | vec3 T = normalize(mat3(modelViewMatrix) * tangent);
33 | vec3 B = cross(N, T);
34 |
35 | vs_out.lightDirection = normalize(vec3(dot(L, T), dot(L, B), dot(L, N)));
36 |
37 | V = -P.xyz;
38 |
39 | vs_out.eyeDirection = normalize(vec3(dot(V, T), dot(V, B), dot(V, N)));
40 | vs_out.texCoord = texCoord;
41 |
42 | gl_Position = projectionMatrix * P;
43 | }
44 |
--------------------------------------------------------------------------------
/resources/shaders/lighting/per-fragment-blinn-phong.vert:
--------------------------------------------------------------------------------
1 | #version 430 core
2 |
3 | /*
4 | PER-FRAGMENT LIGHTING (BLINN-PHONG SHADING IMPLEMENTATION)
5 | */
6 |
7 | in vec3 position;
8 | in vec4 color;
9 | in vec2 texCoord;
10 | in vec3 normal;
11 |
12 | out VS_OUT
13 | {
14 | vec3 N;
15 | vec3 V;
16 | vec4 P;
17 |
18 | vec2 texCoord;
19 | vec4 color;
20 | } vs_out;
21 |
22 | uniform mat4 modelMatrix;
23 | uniform mat4 viewProjectionMatrix;
24 |
25 | void main()
26 | {
27 | // Calculate model-space coordinate
28 | vec4 P = modelMatrix * vec4(position, 1.0);
29 |
30 | // Calculate normal in model-space
31 | vs_out.N = mat3(modelMatrix) * normal;
32 |
33 | // Calculate model vector
34 | vs_out.V = -P.xyz;
35 |
36 | // Send the model-space coordinate to the fragment shader
37 | vs_out.P = P;
38 |
39 | // Send texture coordinates and colors to the fragment shader
40 | vs_out.texCoord = texCoord;
41 | vs_out.color = color;
42 |
43 | // Calculate the clip-space position of each vertex
44 | gl_Position = viewProjectionMatrix * P;
45 | }
46 |
--------------------------------------------------------------------------------
/resources/shaders/lighting/per-fragment-phong.frag:
--------------------------------------------------------------------------------
1 | #version 430 core
2 |
3 | /*
4 | PER-FRAGMENT LIGHTING (PHONG SHADING IMPLEMENTATION)
5 | */
6 |
7 | in VS_OUT
8 | {
9 | vec4 P;
10 | vec3 N;
11 | vec3 V;
12 |
13 | vec2 texCoord;
14 | vec4 color;
15 | } fs_in;
16 |
17 | out vec4 FragColor;
18 |
19 | // Texture sampler
20 | uniform sampler2D texColor;
21 |
22 | // Material properties
23 | uniform MaterialInfo
24 | {
25 | vec4 Ka; // Ambient reflectivity
26 | vec4 Kd; // Diffuse reflectivity
27 | vec4 Ks; // Specular reflectivity
28 | vec4 Ke; // Emissive reflectivity
29 |
30 | float shininess; // Specular shininess exponent
31 | float shininessStrength; // Not used in Phong model
32 | } material;
33 |
34 | // Light properties
35 | uniform struct LightInfo
36 | {
37 | vec3 position; // Position of light source
38 |
39 | vec3 Ka; // Ambient light color
40 | vec3 Kd; // Diffuse light color
41 | vec3 Ks; // Specular light color
42 |
43 | float intensity; // Power scale of light source
44 | } light;
45 |
46 | uniform vec3 globalAmbient = vec3(0.1, 0.1, 0.1);
47 |
48 | void main()
49 | {
50 | // Calculate view-space light unit vector (light direction)
51 | // and normalize the incoming N and V vectors
52 | vec3 L = normalize(light.position - fs_in.P.xyz);
53 | vec3 N = normalize(fs_in.N);
54 | vec3 V = normalize(fs_in.V);
55 |
56 | // Calculate R by reflecting -L around the plane defined by N
57 | vec3 R = reflect(-L, N);
58 |
59 | // Calculate Lambertian reflectance and specular factor
60 | float nDotL = max(dot(N, L), 0.0);
61 | float rDotV = max(dot(R, V), 0.0);
62 |
63 | // Compute the emissive / ambient / diffuse / specular components for each fragment
64 | vec3 emissive = material.Ke.xyz;
65 | vec3 ambient = ( material.Ka.xyz * light.Ka ) + ( material.Ka.xyz * globalAmbient );
66 | vec3 diffuse = material.Kd.xyz * light.Kd * nDotL;
67 | vec3 specular = vec3(0.0);
68 |
69 | if(nDotL > 0.0)
70 | {
71 | specular = material.Ks.xyz * light.Ks * pow(rDotV, material.shininess);
72 | }
73 |
74 | vec3 lightColor = ( emissive + ambient + diffuse + specular ) * light.intensity;
75 |
76 | FragColor = texture(texColor, fs_in.texCoord.xy) * fs_in.color * vec4(lightColor, 1.0);
77 | }
78 |
--------------------------------------------------------------------------------
/resources/shaders/lighting/per-fragment-phong.vert:
--------------------------------------------------------------------------------
1 | #version 430 core
2 |
3 | /*
4 | PER-FRAGMENT LIGHTING (PHONG SHADING IMPLEMENTATION)
5 | */
6 |
7 | in vec3 position; // Vertex postion
8 | in vec4 color; // Vertex color
9 | in vec2 texCoord; // Texture coordinates
10 | in vec3 normal; // Vertex normal
11 |
12 | out VS_OUT
13 | {
14 | vec4 P; // Position vector transformed into eye (camera) space
15 | vec3 N; // Normal vector transformed into eye (camera) space
16 | vec3 V; // View vector (the negative of the view-space position)
17 |
18 | vec2 texCoord;
19 | vec4 color;
20 | } vs_out;
21 |
22 | uniform mat3 normalMatrix;
23 | uniform mat4 modelViewMatrix;
24 | uniform mat4 modelViewProjectionMatrix;
25 |
26 | void main()
27 | {
28 | // Calculate position vector in view-space coordinate
29 | vs_out.P = modelViewMatrix * vec4(position, 1.0);
30 |
31 | // Calculate normal vector in view-space coordinate
32 | // normalMatrix is the transpose of the inverse of the modelView matrix
33 | // normalMatrix = transpose(inverse(mat3(modelViewMatrix)));
34 | vs_out.N = normalMatrix * normal;
35 |
36 | // Calculate viewing vector from eye position to surface point
37 | vs_out.V = -vs_out.P.xyz;
38 |
39 | // Send texture coordinates and vertex color to the fragment shader
40 | vs_out.texCoord = texCoord;
41 | vs_out.color = color;
42 |
43 | // Calculate the clip-space position of each vertex
44 | gl_Position = modelViewProjectionMatrix * vec4(position, 1.0);
45 | }
46 |
--------------------------------------------------------------------------------
/resources/shaders/lighting/per-vertex-phong.frag:
--------------------------------------------------------------------------------
1 | #version 430 core
2 |
3 | in VS_OUT
4 | {
5 | vec3 light;
6 | vec2 texCoord;
7 | } fs_in;
8 |
9 | out vec4 FragColor;
10 |
11 | uniform sampler2D texColor;
12 |
13 | void main()
14 | {
15 | FragColor = texture(texColor, fs_in.texCoord.xy) * vec4(fs_in.light, 1.0);
16 | }
17 |
--------------------------------------------------------------------------------
/resources/shaders/lighting/per-vertex-phong.vert:
--------------------------------------------------------------------------------
1 | #version 430 core
2 |
3 | /*
4 | PER-VERTEX LIGHTING (GOURAUD SHADING IMPLEMENTATION)
5 | */
6 |
7 | in vec3 position;
8 | in vec2 texCoord;
9 | in vec3 normal;
10 |
11 | out VS_OUT
12 | {
13 | vec3 light;
14 | vec2 texCoord;
15 | } vs_out;
16 |
17 | uniform mat4 modelViewMatrix;
18 | uniform mat4 projectionMatrix;
19 |
20 | // Light properties
21 | uniform vec3 lightPosition = vec3(100.0, 100.0, 100.0);
22 | uniform vec3 ambient = vec3(0.1, 0.1, 0.1);
23 | uniform vec3 diffuseAlbedo = vec3(1.0, 1.0, 1.0);
24 | uniform vec3 specularAlbedo = vec3(0.7);
25 |
26 | uniform float specularPower = 64.0;
27 |
28 | void main()
29 | {
30 | // Calculate view-space coordinate
31 | vec4 P = modelViewMatrix * vec4(position, 1.0);
32 |
33 | // Calculate normal in view space
34 | vec3 N = mat3(modelViewMatrix) * normal;
35 |
36 | // Calculate view-space light vector
37 | vec3 L = lightPosition - P.xyz;
38 |
39 | // Calculate view vector
40 | vec3 V = -P.xyz;
41 |
42 | N = normalize(N);
43 | L = normalize(L);
44 | V = normalize(V);
45 |
46 | // Calculate the reflection of the light source in the surface
47 | vec3 R = reflect(-L, N);
48 |
49 | // Calculate the diffuse and specular highlight
50 | vec3 diffuse = max(dot(N, L), 0.0) * diffuseAlbedo;
51 | vec3 specular = pow(max(dot(R, V), 0.0), specularPower) * specularAlbedo;
52 |
53 | // Send the final light color and texture coordinates to the fragment shader
54 | vs_out.light = ambient + diffuse + specular;
55 | vs_out.texCoord = texCoord;
56 |
57 | // Calculate the clip-space position of each vertex
58 | gl_Position = projectionMatrix * P;
59 | }
60 |
--------------------------------------------------------------------------------
/resources/shaders/lighting/point-light.vert:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hardware/ObjectViewer/718922e00a6f3e83510e6091f7630ac3c0e5066b/resources/shaders/lighting/point-light.vert
--------------------------------------------------------------------------------
/resources/shaders/lighting/rim-lighting.frag:
--------------------------------------------------------------------------------
1 | #version 430 core
2 |
3 | /*
4 | PER-FRAGMENT LIGHTING (PHONG SHADING IMPLEMENTATION + RIM LIGHT EFFECT)
5 | */
6 |
7 | in VS_OUT
8 | {
9 | vec3 N;
10 | vec3 L;
11 | vec3 V;
12 |
13 | vec2 texCoord;
14 | } fs_in;
15 |
16 | out vec4 FragColor;
17 |
18 | // Texture sampler
19 | uniform sampler2D texColor;
20 |
21 | // Material properties
22 | uniform vec3 diffuseAlbedo = vec3(1.0, 1.0, 1.0);
23 | uniform vec3 specularAlbedo = vec3(0.7);
24 |
25 | uniform float specularPower = 64.0;
26 |
27 | vec3 calculateRim(vec3 N, vec3 V)
28 | {
29 | // Calculate the rim factor
30 | float f = 1.0 - dot(N, V);
31 |
32 | // Constrain it to the range 0 to 1 using a smooth step function
33 | f = smoothstep(0.0, 1.0, f);
34 |
35 | // Raise it to the rim exponent
36 | f = pow(f, rimPower);
37 |
38 | // Finally, multiply it by the rim color
39 | return f * rimColor;
40 | }
41 |
42 | void main()
43 | {
44 | // Normalize the incoming N, L and V vectors
45 | vec3 N = normalize(fs_in.N);
46 | vec3 L = normalize(fs_in.L);
47 | vec3 V = normalize(fs_in.V);
48 |
49 | // Calculate R locally
50 | vec3 R = reflect(-L, N);
51 |
52 | // Compute the diffuse and specular components + rim effect for each fragment
53 | vec3 diffuse = max(dot(N, L), 0.0) * diffuseAlbedo;
54 | vec3 specular = pow(max(dot(R, V), 0.0), specularPower) * specularAlbedo;
55 | vec3 rim = calculateRim(N, V);
56 |
57 | // Write final color to the framebuffer
58 | FragColor = texture(texColor, fs_in.texCoord.xy) * vec4(diffuse + specular + rim, 1.0);
59 | }
60 |
--------------------------------------------------------------------------------
/resources/shaders/lighting/rim-lighting.vert:
--------------------------------------------------------------------------------
1 | #version 430 core
2 |
3 | /*
4 | PER-FRAGMENT LIGHTING (PHONG SHADING IMPLEMENTATION + RIM LIGHT EFFECT)
5 | */
6 |
7 | in vec3 position;
8 | in vec2 texCoord;
9 | in vec3 normal;
10 |
11 | out VS_OUT
12 | {
13 | vec3 N;
14 | vec3 L;
15 | vec3 V;
16 |
17 | vec2 texCoord;
18 | } vs_out;
19 |
20 | uniform mat4 modelViewMatrix;
21 | uniform mat4 projectionMatrix;
22 |
23 | // Position of light
24 | uniform vec3 lightPosition = vec3(100.0, 100.0, 100.0);
25 |
26 | void main()
27 | {
28 | // Calculate view-space coordinate
29 | vec4 P = modelViewMatrix * vec4(position, 1.0);
30 |
31 | // Calculate normal in view-space
32 | vs_out.N = mat3(modelViewMatrix) * normal;
33 |
34 | // Calculate view-space light vector
35 | vs_out.L = lightPosition - P.xyz;
36 |
37 | // Calculate view vector
38 | vs_out.V = -P.xyz;
39 |
40 | // Send texture coordinates to the fragment shader
41 | vs_out.texCoord = texCoord;
42 |
43 | // Calculate the clip-space position of each vertex
44 | gl_Position = projectionMatrix * P;
45 | }
46 |
--------------------------------------------------------------------------------
/resources/textures/crate.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hardware/ObjectViewer/718922e00a6f3e83510e6091f7630ac3c0e5066b/resources/textures/crate.jpg
--------------------------------------------------------------------------------
/resources/textures/grass.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hardware/ObjectViewer/718922e00a6f3e83510e6091f7630ac3c0e5066b/resources/textures/grass.png
--------------------------------------------------------------------------------
/resources/textures/rock.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hardware/ObjectViewer/718922e00a6f3e83510e6091f7630ac3c0e5066b/resources/textures/rock.png
--------------------------------------------------------------------------------
/resources/textures/snowrocks.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hardware/ObjectViewer/718922e00a6f3e83510e6091f7630ac3c0e5066b/resources/textures/snowrocks.png
--------------------------------------------------------------------------------
/resources/textures/white.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/hardware/ObjectViewer/718922e00a6f3e83510e6091f7630ac3c0e5066b/resources/textures/white.png
--------------------------------------------------------------------------------
/shaders.qrc:
--------------------------------------------------------------------------------
1 |
2 |
3 | resources/shaders/basic.frag
4 | resources/shaders/basic.vert
5 |
6 |
7 | resources/shaders/lighting/normal-mapping.frag
8 | resources/shaders/lighting/normal-mapping.vert
9 | resources/shaders/lighting/per-fragment-blinn-phong.frag
10 | resources/shaders/lighting/per-fragment-blinn-phong.vert
11 | resources/shaders/lighting/per-fragment-phong.frag
12 | resources/shaders/lighting/per-fragment-phong.vert
13 | resources/shaders/lighting/per-vertex-phong.frag
14 | resources/shaders/lighting/per-vertex-phong.vert
15 | resources/shaders/lighting/point-light.vert
16 | resources/shaders/lighting/rim-lighting.frag
17 | resources/shaders/lighting/rim-lighting.vert
18 |
19 |
20 |
--------------------------------------------------------------------------------
/src/helpers/MathUtils.h:
--------------------------------------------------------------------------------
1 | #ifndef MATHUTILS_H
2 | #define MATHUTILS_H
3 |
4 | #include
5 |
6 | #include
7 | #include
8 | #include
9 |
10 | namespace Math
11 | {
12 | namespace Vector2D
13 | {
14 | const QVector2D ZERO = QVector2D(0.0f, 0.0f);
15 |
16 | const QVector2D UNIT_X = QVector2D(1.0f, 0.0f);
17 | const QVector2D UNIT_Y = QVector2D(0.0f, 1.0f);
18 |
19 | const QVector2D NEGATIVE_UNIT_X = QVector2D(-1.0f, 0.0f);
20 | const QVector2D NEGATIVE_UNIT_Y = QVector2D( 0.0f, -1.0f);
21 |
22 | const QVector2D UNIT_SCALE = QVector2D(1.0f, 1.0f);
23 | }
24 |
25 | namespace Vector3D
26 | {
27 | const QVector3D ZERO = QVector3D(0.0f, 0.0f, 0.0f);
28 |
29 | const QVector3D UNIT_X = QVector3D(1.0f, 0.0f, 0.0f);
30 | const QVector3D UNIT_Y = QVector3D(0.0f, 1.0f, 0.0f);
31 | const QVector3D UNIT_Z = QVector3D(0.0f, 0.0f, 1.0f);
32 |
33 | const QVector3D NEGATIVE_UNIT_X = QVector3D(-1.0f, 0.0f, 0.0f);
34 | const QVector3D NEGATIVE_UNIT_Y = QVector3D( 0.0f, -1.0f, 0.0f);
35 | const QVector3D NEGATIVE_UNIT_Z = QVector3D( 0.0f, 0.0f, -1.0f);
36 |
37 | const QVector3D UNIT_SCALE = QVector3D(1.0f, 1.0f, 1.0f);
38 | }
39 |
40 | namespace Vector4D
41 | {
42 | const QVector4D ZERO = QVector4D(0.0f, 0.0f, 0.0f, 0.0f);
43 | }
44 | }
45 |
46 | #endif // MATHUTILS_H
47 |
--------------------------------------------------------------------------------
/src/helpers/shaders.cpp:
--------------------------------------------------------------------------------
1 | #include "shaders.h"
2 |
3 | Shaders::Shaders()
4 | : m_shader(new QOpenGLShaderProgram)
5 | {}
6 |
7 | Shaders::~Shaders()
8 | {
9 | // m_shader->release(); -> VALGRIND ERROR : Invalid read of size 8
10 | }
11 |
12 | void Shaders::setVertexShader(const QString& vertexShader)
13 | {
14 | if( ! m_shader->addShaderFromSourceFile(QOpenGLShader::Vertex, vertexShader) )
15 | qCritical() << "Could not compile vertex shader. Log : " << m_shader->log();
16 | }
17 |
18 | void Shaders::setTessellationControlShader(const QString& tessellationControlShader)
19 | {
20 | if( ! m_shader->addShaderFromSourceFile(QOpenGLShader::TessellationControl, tessellationControlShader) )
21 | qCritical() << "Could not compile tessellation control shader. Log : " << m_shader->log();
22 | }
23 |
24 | void Shaders::setTessellationEvaluationShader(const QString& tessellationEvaluationShader)
25 | {
26 | if( ! m_shader->addShaderFromSourceFile(QOpenGLShader::TessellationEvaluation, tessellationEvaluationShader) )
27 | qCritical() << "Could not compile tessellation evaluation shader. Log : " << m_shader->log();
28 | }
29 |
30 | void Shaders::setGeometryShader(const QString& geometryShader)
31 | {
32 | if( ! m_shader->addShaderFromSourceFile(QOpenGLShader::Geometry, geometryShader) )
33 | qCritical() << "Could not compile geometry shader. Log : " << m_shader->log();
34 | }
35 |
36 | void Shaders::setFragmentShader(const QString& fragmentShader)
37 | {
38 | if( ! m_shader->addShaderFromSourceFile(QOpenGLShader::Fragment, fragmentShader) )
39 | qCritical() << "Could not compile fragment shader. Log : " << m_shader->log();
40 | }
41 |
42 | void Shaders::setComputeShader(const QString& computeShader)
43 | {
44 | if( ! m_shader->addShaderFromSourceFile(QOpenGLShader::Compute, computeShader) )
45 | qCritical() << "Could not compile compute shader. Log : " << m_shader->log();
46 | }
47 |
48 | void Shaders::setShader(const QOpenGLShaderProgramPtr& shader)
49 | {
50 | m_shader = shader;
51 | }
52 |
53 | QOpenGLShaderProgramPtr Shaders::shader() const
54 | {
55 | return m_shader;
56 | }
57 |
--------------------------------------------------------------------------------
/src/helpers/shaders.h:
--------------------------------------------------------------------------------
1 | #ifndef SHADERS_H
2 | #define SHADERS_H
3 |
4 | #include
5 | #include
6 |
7 | typedef QSharedPointer QOpenGLShaderProgramPtr;
8 |
9 | class Shaders
10 | {
11 |
12 | public:
13 | Shaders();
14 | ~Shaders();
15 |
16 | void setVertexShader(const QString& vertexShader);
17 | void setTessellationControlShader(const QString& tessellationControlShader);
18 | void setTessellationEvaluationShader(const QString& tessellationEvaluationShader);
19 | void setGeometryShader(const QString& geometryShader);
20 | void setFragmentShader(const QString& fragmentShader);
21 | void setComputeShader(const QString& computeShader);
22 |
23 | void setShader(const QOpenGLShaderProgramPtr& shader);
24 | QOpenGLShaderProgramPtr shader() const;
25 |
26 | private:
27 | QOpenGLShaderProgramPtr m_shader;
28 | };
29 |
30 | typedef QSharedPointer ShadersPtr;
31 |
32 | #endif // SHADERS_H
33 |
--------------------------------------------------------------------------------
/src/main.cpp:
--------------------------------------------------------------------------------
1 | #include "ui/mainwindow.h"
2 | #include
3 | #include
4 | #include
5 |
6 | int main(int argc, char *argv[])
7 | {
8 | QApplication a(argc, argv);
9 |
10 | QPixmap pixmap(":/resources/images/splash.png");
11 | QSplashScreen splash(pixmap);
12 |
13 | splash.show();
14 | splash.showMessage("LOADING MESHES...", Qt::AlignHCenter | Qt::AlignBottom, Qt::white);
15 |
16 | qApp->processEvents();
17 |
18 | MainWindow window;
19 | window.show();
20 |
21 | splash.finish(&window);
22 |
23 | return a.exec();
24 | }
25 |
--------------------------------------------------------------------------------
/src/materials/abstractmaterialmanager.cpp:
--------------------------------------------------------------------------------
1 | #include "abstractmaterialmanager.h"
2 |
3 | AbstractMaterialManager::AbstractMaterialManager() {}
4 | AbstractMaterialManager::~AbstractMaterialManager() {}
5 |
--------------------------------------------------------------------------------
/src/materials/abstractmaterialmanager.h:
--------------------------------------------------------------------------------
1 | #ifndef ABSTRACTMATERIALMANAGER_H
2 | #define ABSTRACTMATERIALMANAGER_H
3 |
4 | #include
5 | #include
6 |
7 | #include
8 |
9 | using namespace std;
10 |
11 | class Material;
12 |
13 | class AbstractMaterialManager
14 | {
15 |
16 | public:
17 | AbstractMaterialManager();
18 | virtual ~AbstractMaterialManager() = 0;
19 |
20 | virtual shared_ptr getMaterial(const string& name) = 0;
21 |
22 | virtual shared_ptr addMaterial(const string& name,
23 | const QVector4D& ambientColor,
24 | const QVector4D& diffuseColor,
25 | const QVector4D& specularColor,
26 | const QVector4D& emissiveColor,
27 | float shininess,
28 | float shininessStrength,
29 | int twoSided,
30 | int blendMode,
31 | bool alphaBlending,
32 | bool hasTexture) = 0;
33 |
34 | };
35 |
36 | #endif // ABSTRACTMATERIALMANAGER_H
37 |
--------------------------------------------------------------------------------
/src/materials/abstracttexturemanager.cpp:
--------------------------------------------------------------------------------
1 | #include "abstracttexturemanager.h"
2 |
3 | AbstractTextureManager::AbstractTextureManager() {}
4 | AbstractTextureManager::~AbstractTextureManager() {}
5 |
--------------------------------------------------------------------------------
/src/materials/abstracttexturemanager.h:
--------------------------------------------------------------------------------
1 | #ifndef ABSTRACTTEXTUREMANAGER_H
2 | #define ABSTRACTTEXTUREMANAGER_H
3 |
4 | #include
5 | #include
6 |
7 | using namespace std;
8 |
9 | class Texture;
10 |
11 | class AbstractTextureManager
12 | {
13 |
14 | public:
15 | AbstractTextureManager();
16 | virtual ~AbstractTextureManager() = 0;
17 |
18 | virtual shared_ptr getTexture(const string& name) = 0;
19 | virtual shared_ptr addTexture(const string& name, const string& filename) = 0;
20 |
21 | };
22 |
23 |
24 | #endif // ABSTRACTTEXTUREMANAGER_H
25 |
--------------------------------------------------------------------------------
/src/materials/material.h:
--------------------------------------------------------------------------------
1 | #ifndef MATERIAL_H
2 | #define MATERIAL_H
3 |
4 | #include
5 | #include "../helpers/opengluniformbuffer.h"
6 |
7 | #include
8 |
9 | class Material
10 | {
11 |
12 | public:
13 | Material(const string& name,
14 | const QVector4D& ambientColor,
15 | const QVector4D& diffuseColor,
16 | const QVector4D& specularColor,
17 | const QVector4D& emissiveColor,
18 | float shininess,
19 | float shininessStrength,
20 | int twoSided,
21 | int blendMode,
22 | bool alphaBlending,
23 | bool hasTexture,
24 | GLuint programHandle);
25 |
26 | virtual ~Material();
27 |
28 | void setName(const string& name) { m_name = name; }
29 | string name() const { return m_name; }
30 |
31 | bool isTranslucent() const { return m_alphaBlending; }
32 |
33 | void bind();
34 |
35 | private:
36 | void init();
37 | void fillBuffer(vector& buffer, GLint* offsets);
38 |
39 | string m_name;
40 |
41 | QVector4D m_ambientColor;
42 | QVector4D m_diffuseColor;
43 | QVector4D m_specularColor;
44 | QVector4D m_emissiveColor;
45 |
46 | float m_shininess;
47 | float m_shininessStrength;
48 |
49 | int m_twoSided;
50 | int m_blendMode;
51 | bool m_alphaBlending;
52 | bool m_hasTexture;
53 |
54 | enum BlendMode {
55 | Default = 0x0,
56 | Additive = 0x1
57 | };
58 |
59 | OpenGLUniformBuffer m_uniformsBuffer;
60 |
61 | };
62 |
63 | #endif // MATERIAL_H
64 |
--------------------------------------------------------------------------------
/src/materials/materialmanager.cpp:
--------------------------------------------------------------------------------
1 | #include "materialmanager.h"
2 |
3 | MaterialManager::MaterialManager(GLuint programHandle)
4 | : m_programHandle(programHandle)
5 | {}
6 |
7 | MaterialManager::~MaterialManager() {}
8 |
9 | shared_ptr MaterialManager::getMaterial(const string& name)
10 | {
11 | if(m_materials.find(name) != m_materials.end())
12 | {
13 | return m_materials[name];
14 | }
15 |
16 | return shared_ptr(nullptr);
17 | }
18 |
19 | shared_ptr MaterialManager::addMaterial(const string& name,
20 | const QVector4D& ambientColor,
21 | const QVector4D& diffuseColor,
22 | const QVector4D& specularColor,
23 | const QVector4D& emissiveColor,
24 | float shininess,
25 | float shininessStrength,
26 | int twoSided,
27 | int blendMode,
28 | bool alphaBlending,
29 | bool hasTexture)
30 | {
31 | if(m_materials.find(name) != m_materials.end() && m_materials[name].get() != nullptr)
32 | {
33 | return m_materials[name];
34 | }
35 |
36 | m_materials[name] = make_shared(name,
37 | ambientColor,
38 | diffuseColor,
39 | specularColor,
40 | emissiveColor,
41 | shininess,
42 | shininessStrength,
43 | twoSided,
44 | blendMode,
45 | alphaBlending,
46 | hasTexture,
47 | m_programHandle);
48 |
49 | return m_materials[name];
50 | }
51 |
--------------------------------------------------------------------------------
/src/materials/materialmanager.h:
--------------------------------------------------------------------------------
1 | #ifndef MATERIALMANAGER_H
2 | #define MATERIALMANAGER_H
3 |
4 | #include "abstractmaterialmanager.h"
5 | #include "material.h"
6 |
7 | #include