- Add Imagimagick includes in pix2jpg sources

This commit is contained in:
root 2013-02-24 15:11:19 +01:00
parent fdf73f25d5
commit 0ce5174bec
199 changed files with 22938 additions and 19121 deletions

48
externals/COPYING.txt vendored
View file

@ -1,48 +0,0 @@
GEM - Graphics Environment for Multimedia
Copyright © 1997-2000 Mark Danks
Copyright © Günter Geiger
Copyright © 2001-2011 IOhannes m zmölnig,
Copyright © 2003-2007 James Tittle II,
Copyright © 2003-2008 Chris Clepper
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License along
with this program. If not, see <http://www.gnu.org/licenses/>.
In the official GEM distribution, the GNU General Public License is
in the file GnuGPL.LICENSE
---------------------------------------------------------
ACKNOWLEDGMENTS
---------------------------------------------------------
Not all of the source code provided here has entirely been written by me.
I would like to point at the great openGL-tutorials at http://nehe.gamedev.net
Since these are tutorials, there is no copyright notice here.
Some of the pix_fx code is borrowed from effecTV by Kentarou Fukuchi et al.
at http://effectv.sourceforge.net released under the Gnu GPL, some other pix_fx
code has been ported from Pete Warden's fine collection of FreeFrame plugins at
http://petewarden.com released under the Gnu GPL.
---------------------------------------------------------
OTHER COPYRIGHT NOTICES
---------------------------------------------------------
particle:
Author: David McAllister
davemc[AT]cs.unc.edu
http://www.cs.unc.edu/~davemc/Particle/
Copyright (c) 1998 David K. McAllister

12942
externals/ChangeLog vendored

File diff suppressed because it is too large Load diff

10
externals/Gem-meta.pd vendored
View file

@ -1,10 +0,0 @@
#N canvas 1 51 320 90 10;
#N canvas 1 51 382 134 META 1;
#X text 10 10 NAME Gem;
#X text 10 30 VERSION 0.93;
#X text 10 50 DESCRIPTION Graphics Environment for Multimedia;
#X text 10 70 AUTHOR IOhannes m zmölnig & the Gem development team
;
#X text 10 90 LICENSE GPL-2+;
#X restore 43 36 pd META;
#X text 39 15 Gem: Graphics Environment for Multimedia;

41
externals/Gem.la vendored
View file

@ -1,41 +0,0 @@
# Gem.la - a libtool library file
# Generated by libtool (GNU libtool) 2.4.2 Debian-2.4.2-1ubuntu1
#
# Please DO NOT delete this file!
# It is necessary for linking the library.
# The name that we can dlopen(3).
dlname='Gem.pd_linux'
# Names of this library.
library_names='Gem.pd_linux Gem.pd_linux Gem.pd_linux'
# The name of the static archive.
old_library=''
# Linker flags that can not go in dependency_libs.
inherited_linker_flags=' -pthread'
# Libraries that this one depends upon.
dependency_libs=' -lGL -lGL -L./ -lSM -lICE -lftgl -lGL -lGLU -lGL -lXxf86vm -ldl -lz'
# Names of additional weak libraries provided by this library
weak_library_names=''
# Version information for Gem.
current=0
age=0
revision=0
# Is this an already installed library?
installed=yes
# Should we warn about portability when linking against -modules?
shouldnotlink=yes
# Files to dlopen/dlpreopen
dlopen=''
dlpreopen=''
# Directory that this library needs to be installed in:
libdir='/home/santi/pd-externals/lib/pd/extra/Gem'

BIN
externals/Gem.pd_linux vendored

Binary file not shown.

View file

@ -1,48 +0,0 @@
GEM - Graphics Environment for Multimedia
Copyright © 1997-2000 Mark Danks
Copyright © Günter Geiger
Copyright © 2001-2011 IOhannes m zmölnig,
Copyright © 2003-2007 James Tittle II,
Copyright © 2003-2008 Chris Clepper
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License along
with this program. If not, see <http://www.gnu.org/licenses/>.
In the official GEM distribution, the GNU General Public License is
in the file GnuGPL.LICENSE
---------------------------------------------------------
ACKNOWLEDGMENTS
---------------------------------------------------------
Not all of the source code provided here has entirely been written by me.
I would like to point at the great openGL-tutorials at http://nehe.gamedev.net
Since these are tutorials, there is no copyright notice here.
Some of the pix_fx code is borrowed from effecTV by Kentarou Fukuchi et al.
at http://effectv.sourceforge.net released under the Gnu GPL, some other pix_fx
code has been ported from Pete Warden's fine collection of FreeFrame plugins at
http://petewarden.com released under the Gnu GPL.
---------------------------------------------------------
OTHER COPYRIGHT NOTICES
---------------------------------------------------------
particle:
Author: David McAllister
davemc[AT]cs.unc.edu
http://www.cs.unc.edu/~davemc/Particle/
Copyright (c) 1998 David K. McAllister

View file

@ -1,290 +0,0 @@
GNU GENERAL PUBLIC LICENSE
Version 2, June 1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
Preamble
The licenses for most software are designed to take away your freedom
to share and change it. By contrast, the GNU General Public License is
intended to guarantee your freedom to share and change free
software--to make sure the software is free for all its users. This General
Public License applies to most of the Free Software Foundation's
software and to any other program whose authors commit to using it.
(Some other Free Software Foundation software is covered by the
GNU Library General Public License instead.) You can apply it to your
programs, too.
When we speak of free software, we are referring to freedom, not
price. Our General Public Licenses are designed to make sure that you
have the freedom to distribute copies of free software (and charge for
this service if you wish), that you receive source code or can get it if you
want it, that you can change the software or use pieces of it in new free
programs; and that you know you can do these things.
To protect your rights, we need to make restrictions that forbid anyone
to deny you these rights or to ask you to surrender the rights. These
restrictions translate to certain responsibilities for you if you distribute
copies of the software, or if you modify it.
For example, if you distribute copies of such a program, whether gratis
or for a fee, you must give the recipients all the rights that you have. You
must make sure that they, too, receive or can get the source code. And
you must show them these terms so they know their rights.
We protect your rights with two steps: (1) copyright the software, and
(2) offer you this license which gives you legal permission to copy,
distribute and/or modify the software.
Also, for each author's protection and ours, we want to make certain
that everyone understands that there is no warranty for this free
software. If the software is modified by someone else and passed on,
we want its recipients to know that what they have is not the original, so
that any problems introduced by others will not reflect on the original
authors' reputations.
Finally, any free program is threatened constantly by software patents.
We wish to avoid the danger that redistributors of a free program will
individually obtain patent licenses, in effect making the program
proprietary. To prevent this, we have made it clear that any patent must
be licensed for everyone's free use or not licensed at all.
The precise terms and conditions for copying, distribution and
modification follow.
TERMS AND CONDITIONS FOR
COPYING, DISTRIBUTION AND
MODIFICATION
0. This License applies to any program or other work which contains a
notice placed by the copyright holder saying it may be distributed under
the terms of this General Public License. The "Program", below, refers
to any such program or work, and a "work based on the Program"
means either the Program or any derivative work under copyright law:
that is to say, a work containing the Program or a portion of it, either
verbatim or with modifications and/or translated into another language.
(Hereinafter, translation is included without limitation in the term
"modification".) Each licensee is addressed as "you".
Activities other than copying, distribution and modification are not
covered by this License; they are outside its scope. The act of running
the Program is not restricted, and the output from the Program is
covered only if its contents constitute a work based on the Program
(independent of having been made by running the Program). Whether
that is true depends on what the Program does.
1. You may copy and distribute verbatim copies of the Program's
source code as you receive it, in any medium, provided that you
conspicuously and appropriately publish on each copy an appropriate
copyright notice and disclaimer of warranty; keep intact all the notices
that refer to this License and to the absence of any warranty; and give
any other recipients of the Program a copy of this License along with the
Program.
You may charge a fee for the physical act of transferring a copy, and
you may at your option offer warranty protection in exchange for a fee.
2. You may modify your copy or copies of the Program or any portion
of it, thus forming a work based on the Program, and copy and
distribute such modifications or work under the terms of Section 1
above, provided that you also meet all of these conditions:
a) You must cause the modified files to carry prominent notices
stating that you changed the files and the date of any change.
b) You must cause any work that you distribute or publish, that in
whole or in part contains or is derived from the Program or any
part thereof, to be licensed as a whole at no charge to all third
parties under the terms of this License.
c) If the modified program normally reads commands interactively
when run, you must cause it, when started running for such
interactive use in the most ordinary way, to print or display an
announcement including an appropriate copyright notice and a
notice that there is no warranty (or else, saying that you provide a
warranty) and that users may redistribute the program under
these conditions, and telling the user how to view a copy of this
License. (Exception: if the Program itself is interactive but does
not normally print such an announcement, your work based on
the Program is not required to print an announcement.)
These requirements apply to the modified work as a whole. If
identifiable sections of that work are not derived from the Program, and
can be reasonably considered independent and separate works in
themselves, then this License, and its terms, do not apply to those
sections when you distribute them as separate works. But when you
distribute the same sections as part of a whole which is a work based on
the Program, the distribution of the whole must be on the terms of this
License, whose permissions for other licensees extend to the entire
whole, and thus to each and every part regardless of who wrote it.
Thus, it is not the intent of this section to claim rights or contest your
rights to work written entirely by you; rather, the intent is to exercise the
right to control the distribution of derivative or collective works based
on the Program.
In addition, mere aggregation of another work not based on the
Program with the Program (or with a work based on the Program) on a
volume of a storage or distribution medium does not bring the other
work under the scope of this License.
3. You may copy and distribute the Program (or a work based on it,
under Section 2) in object code or executable form under the terms of
Sections 1 and 2 above provided that you also do one of the following:
a) Accompany it with the complete corresponding
machine-readable source code, which must be distributed under
the terms of Sections 1 and 2 above on a medium customarily
used for software interchange; or,
b) Accompany it with a written offer, valid for at least three
years, to give any third party, for a charge no more than your cost
of physically performing source distribution, a complete
machine-readable copy of the corresponding source code, to be
distributed under the terms of Sections 1 and 2 above on a
medium customarily used for software interchange; or,
c) Accompany it with the information you received as to the offer
to distribute corresponding source code. (This alternative is
allowed only for noncommercial distribution and only if you
received the program in object code or executable form with
such an offer, in accord with Subsection b above.)
The source code for a work means the preferred form of the work for
making modifications to it. For an executable work, complete source
code means all the source code for all modules it contains, plus any
associated interface definition files, plus the scripts used to control
compilation and installation of the executable. However, as a special
exception, the source code distributed need not include anything that is
normally distributed (in either source or binary form) with the major
components (compiler, kernel, and so on) of the operating system on
which the executable runs, unless that component itself accompanies the
executable.
If distribution of executable or object code is made by offering access to
copy from a designated place, then offering equivalent access to copy
the source code from the same place counts as distribution of the source
code, even though third parties are not compelled to copy the source
along with the object code.
4. You may not copy, modify, sublicense, or distribute the Program
except as expressly provided under this License. Any attempt otherwise
to copy, modify, sublicense or distribute the Program is void, and will
automatically terminate your rights under this License. However, parties
who have received copies, or rights, from you under this License will not
have their licenses terminated so long as such parties remain in full
compliance.
5. You are not required to accept this License, since you have not
signed it. However, nothing else grants you permission to modify or
distribute the Program or its derivative works. These actions are
prohibited by law if you do not accept this License. Therefore, by
modifying or distributing the Program (or any work based on the
Program), you indicate your acceptance of this License to do so, and all
its terms and conditions for copying, distributing or modifying the
Program or works based on it.
6. Each time you redistribute the Program (or any work based on the
Program), the recipient automatically receives a license from the original
licensor to copy, distribute or modify the Program subject to these terms
and conditions. You may not impose any further restrictions on the
recipients' exercise of the rights granted herein. You are not responsible
for enforcing compliance by third parties to this License.
7. If, as a consequence of a court judgment or allegation of patent
infringement or for any other reason (not limited to patent issues),
conditions are imposed on you (whether by court order, agreement or
otherwise) that contradict the conditions of this License, they do not
excuse you from the conditions of this License. If you cannot distribute
so as to satisfy simultaneously your obligations under this License and
any other pertinent obligations, then as a consequence you may not
distribute the Program at all. For example, if a patent license would not
permit royalty-free redistribution of the Program by all those who
receive copies directly or indirectly through you, then the only way you
could satisfy both it and this License would be to refrain entirely from
distribution of the Program.
If any portion of this section is held invalid or unenforceable under any
particular circumstance, the balance of the section is intended to apply
and the section as a whole is intended to apply in other circumstances.
It is not the purpose of this section to induce you to infringe any patents
or other property right claims or to contest validity of any such claims;
this section has the sole purpose of protecting the integrity of the free
software distribution system, which is implemented by public license
practices. Many people have made generous contributions to the wide
range of software distributed through that system in reliance on
consistent application of that system; it is up to the author/donor to
decide if he or she is willing to distribute software through any other
system and a licensee cannot impose that choice.
This section is intended to make thoroughly clear what is believed to be
a consequence of the rest of this License.
8. If the distribution and/or use of the Program is restricted in certain
countries either by patents or by copyrighted interfaces, the original
copyright holder who places the Program under this License may add an
explicit geographical distribution limitation excluding those countries, so
that distribution is permitted only in or among countries not thus
excluded. In such case, this License incorporates the limitation as if
written in the body of this License.
9. The Free Software Foundation may publish revised and/or new
versions of the General Public License from time to time. Such new
versions will be similar in spirit to the present version, but may differ in
detail to address new problems or concerns.
Each version is given a distinguishing version number. If the Program
specifies a version number of this License which applies to it and "any
later version", you have the option of following the terms and conditions
either of that version or of any later version published by the Free
Software Foundation. If the Program does not specify a version number
of this License, you may choose any version ever published by the Free
Software Foundation.
10. If you wish to incorporate parts of the Program into other free
programs whose distribution conditions are different, write to the author
to ask for permission. For software which is copyrighted by the Free
Software Foundation, write to the Free Software Foundation; we
sometimes make exceptions for this. Our decision will be guided by the
two goals of preserving the free status of all derivatives of our free
software and of promoting the sharing and reuse of software generally.
NO WARRANTY
11. BECAUSE THE PROGRAM IS LICENSED FREE OF
CHARGE, THERE IS NO WARRANTY FOR THE PROGRAM,
TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT
WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
HOLDERS AND/OR OTHER PARTIES PROVIDE THE
PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND,
EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT
LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND
PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD
THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE
COST OF ALL NECESSARY SERVICING, REPAIR OR
CORRECTION.
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW
OR AGREED TO IN WRITING WILL ANY COPYRIGHT
HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
AND/OR REDISTRIBUTE THE PROGRAM AS PERMITTED
ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING
ANY GENERAL, SPECIAL, INCIDENTAL OR
CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR
INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT
LIMITED TO LOSS OF DATA OR DATA BEING RENDERED
INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE
WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR
OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY
OF SUCH DAMAGES.
END OF TERMS AND CONDITIONS

184
externals/README.txt vendored
View file

@ -1,184 +0,0 @@
This is GEM - Graphics Environment for Multimedia
=================================================
You can get the current distribution from:
http://gem.iem.at
http://sourceforge.net/projects/pd-gem
if you want to compile the newest (bleeding edge, and possibly unstable) source
code yourself, you can get a copy from the public git repository on sourceforge:
read-only access: git://pd-gem.git.sourceforge.net/gitroot/pd-gem/Gem
read-write access: ssh://pd-gem.git.sourceforge.net/gitroot/pd-gem/Gem
usually, you will only need the read-only repository, which you can get with
$ git clone git://pd-gem.git.sourceforge.net/gitroot/pd-gem/Gem
=============================================
NEW:::
------
Gem is now supported by W32, linux and macOS-X
the IRIX version might work (but most probably will not): if you want to use Gem
under IRIX, feel free to make it work and report failure and success to me, so i
can incorporate any needed changes into the main Gem-trunk.
for installation instructions see below
NEW (Gem>=0.87):::
-----------------
(note: this NEWs only refer to the packaging, not to features of Gem)
As with GEM-0.87, i have broken the distribution into various packages
Gem-<gemver>.tgz :: quite everything (except binaries and auxiliary libraries)
Gem-doc-<gemver>.tgz :: example-patches, manual, ...
Gem-bin-<gemver>.zip :: W32-binary (containing a single file "Gem.dll")
Gem-bin-doc-<gemver>.zip :: W32-binary + documentation
GemLibs-<OS>-<libver>.tgz :: auxiliary libraries (used to be "AuxLibs")
1) the core Gem-packages:
the core Gem-packages all extract into the same directory Gem-<gemver>/
there are install-scripts for windoze (and probably IRIX)
these will install the documentation...
2) the GemLib-package:
Gem supports many 3rd party libraries, bundling all of them seems like a waste
of space and might impose legal issues. OTOH, it makes it much easier to setup
an environment to build Gem (esp. on systems that don't have package managers)
GemLibs is a small collections of libraries that can add some capabilities to
Gem, which it would lack otherwise (e.g. support for a given image format). It
is far from complete and most likely outdated, so usually you are better off, if
you just install any needed libraries manually.
Most of these libraries are only needed to build certain plugins.
GemLibs have their own version numbering, starting with 1.
You can get the newest GemLib from the place mentioned above
-------------------------------------
-------------------------------------
INSTALLATION:
=============
-------------------------------------
To install GEM on linux/OSX/...:
run
$ ./configure
$ make
$ make install
note that you might want to help Gem to find the Pd-headers, e.g. by doing
$ ./configure --with-pd=/usr/include/pd
try
$ ./configure --help to see more options
-------------------------------------
To install GEM on W32:
a) installer (preferred method)
use the installer executable to install Gem into ...\pd\extra
(to _build_ the installer you will have to have NSIS installed
see build/win-nsis for details)
b) archive (do it by hand)
1) unzip the GEM package
2) put the subfolders of Gem-<version>\ into a directory where Pd will
find it. If you are using an up-to-date version of Pd (>=0.43), put them
into the folder "Application Data\Pd\" in your home directory.
For older versions of Pd, put them into the "extra" folder of your Pd
installation.
e.g. if you installed Pd as "C:\Program Files\Pd-0.43-0" you should
end up with:
"C:\Program Files\Pd-0.43-0\extra\Gem"
and eventually with
"C:\Program Files\Pd-0.43-0\extra\pix_drum"
"C:\Program Files\Pd-0.43-0\extra\pix_mano"
...
there is no need to copy the README.txt found in Gem-<version>\
3) please note that the archive comes with all plugins
in most cases, you won't need all of them, and having plugins
installed that you don't need, will considerably slow down load
time of patches and might leed to undesired side-effects.
therefore, if loading is too slow (or you experience weird
things), it might be a good idea to disable plugins you don't
need.
disabling plugins is as simple as deleting them (or moving them
into a subfolder)
plugins are files of the form: "gem_<type><NAME>.dll"
e.g. "gem_filmQT.dll" is a plugin for reading films using the
QuickTime framework.
in order to use videoPYLON, videoHALCON and videoAVT, you need
to install proprietary libraries yourself; if you haven't done
so or don't own a device that can interact with those libraries,
you can safely remove these plugins.
if you have no clue what this is about, these plugins are most
likely not for you (so remove them)
-------------------------------------
-------------------------------------
RUNNING:
========
just installing Gem is not enough !
you will have to tell pd that it should load that library !!
you cannot create any Gem-objects without having loaded the Gem-library into pd !!!
make sure you have the proper binary for you OS
- windows: Gem.dll, Gem.m_i386, Gem.m_*
- macOS-X: Gem.pd_darwin, Gem.d_fat, Gem.d_ppc, Gem.d_*
- linux : Gem.pd_linux, Gem.l_i386, Gem.l_ia64, Gem.l_*
- freeBSD: Gem.pd_freebsd, Gem.b_i386, Gem.b_*
- irix : Gem.pd_irix
- ...
when starting pd, tell it to load Gem with the "-lib" flag
if your Gem-binary lives in pd/extra/, you could just try "pd -lib Gem"
if your Gem-binary lives somewhere else use something like "pd -lib /path/to/my/Gem"
you could also use "pd -path /path/to/my -lib Gem"
after loading Gem you will see a bit of a welcome message on the konsole
NOTE: there *must not* be any file extension with the "-lib"-flag.
e.g. this will fail miserably:
"pd -lib Gem.dll"
NOTE: please note the spelling: it is "Gem" and not "gem" nor "GEM"
if you have problems loading any library including Gem, have a look at the
pd-documentation.
if you have problems loading just Gem (but other libraries work), send me a
bug-report (see below)
BUG-REPORTS:
============
please do not hesitate to report any crashes, weirdnesses or other issues, using
the bugtracker at sourceforge:
http://sourceforge.net/projects/pd-gem/
or the gem-dev mailinglist (subscription at http://lists.puredata.info)
if your mail only says "hey, it does not work !", it is an annoyance and no bug-report
please specify at least the following things:
Operating-System (kernel-version,...)
video-card, driver
other hardware that is related to your problem (e.g.: camera)
does your system work with similar applications (e.g.: capture-software,
openGL (games, "glxgears")
what is the output of pd when you start it with the "-verbose" flag
(e.g.:"pd -verbose -lib Gem")
please do not use the puredata bugtracker for reporting Gem-specific bugs.
----
have fun
zmoelnig@iem.at

View file

@ -1,41 +0,0 @@
# gem_filmAVIPLAY.la - a libtool library file
# Generated by libtool (GNU libtool) 2.4.2 Debian-2.4.2-1ubuntu1
#
# Please DO NOT delete this file!
# It is necessary for linking the library.
# The name that we can dlopen(3).
dlname='gem_filmAVIPLAY.so'
# Names of this library.
library_names='gem_filmAVIPLAY.so gem_filmAVIPLAY.so gem_filmAVIPLAY.so'
# The name of the static archive.
old_library=''
# Linker flags that can not go in dependency_libs.
inherited_linker_flags=''
# Libraries that this one depends upon.
dependency_libs=' -L./ -L../.. -laviplay -lXxf86vm -ldl -lz'
# Names of additional weak libraries provided by this library
weak_library_names=''
# Version information for gem_filmAVIPLAY.
current=0
age=0
revision=0
# Is this an already installed library?
installed=yes
# Should we warn about portability when linking against -modules?
shouldnotlink=yes
# Files to dlopen/dlpreopen
dlopen=''
dlpreopen=''
# Directory that this library needs to be installed in:
libdir='/home/santi/pd-externals/lib/pd/extra/Gem'

Binary file not shown.

View file

@ -1,41 +0,0 @@
# gem_filmGMERLIN.la - a libtool library file
# Generated by libtool (GNU libtool) 2.4.2 Debian-2.4.2-1ubuntu1
#
# Please DO NOT delete this file!
# It is necessary for linking the library.
# The name that we can dlopen(3).
dlname='gem_filmGMERLIN.so'
# Names of this library.
library_names='gem_filmGMERLIN.so gem_filmGMERLIN.so gem_filmGMERLIN.so'
# The name of the static archive.
old_library=''
# Linker flags that can not go in dependency_libs.
inherited_linker_flags=''
# Libraries that this one depends upon.
dependency_libs=' -L./ -L../.. -lgmerlin_avdec -lgavl -lXxf86vm -ldl -lz'
# Names of additional weak libraries provided by this library
weak_library_names=''
# Version information for gem_filmGMERLIN.
current=0
age=0
revision=0
# Is this an already installed library?
installed=yes
# Should we warn about portability when linking against -modules?
shouldnotlink=yes
# Files to dlopen/dlpreopen
dlopen=''
dlpreopen=''
# Directory that this library needs to be installed in:
libdir='/home/santi/pd-externals/lib/pd/extra/Gem'

Binary file not shown.

View file

@ -1,41 +0,0 @@
# gem_filmMPEG3.la - a libtool library file
# Generated by libtool (GNU libtool) 2.4.2 Debian-2.4.2-1.1
#
# Please DO NOT delete this file!
# It is necessary for linking the library.
# The name that we can dlopen(3).
dlname='gem_filmMPEG3.so'
# Names of this library.
library_names='gem_filmMPEG3.so gem_filmMPEG3.so gem_filmMPEG3.so'
# The name of the static archive.
old_library=''
# Linker flags that can not go in dependency_libs.
inherited_linker_flags=''
# Libraries that this one depends upon.
dependency_libs=' -L./ -L../.. -lmpeg3 -lXxf86vm -ldl -lz'
# Names of additional weak libraries provided by this library
weak_library_names=''
# Version information for gem_filmMPEG3.
current=0
age=0
revision=0
# Is this an already installed library?
installed=yes
# Should we warn about portability when linking against -modules?
shouldnotlink=yes
# Files to dlopen/dlpreopen
dlopen=''
dlpreopen=''
# Directory that this library needs to be installed in:
libdir='/home/santi/pd-externals/lib/pd/extra/Gem'

Binary file not shown.

View file

@ -1,41 +0,0 @@
# gem_filmQT4L.la - a libtool library file
# Generated by libtool (GNU libtool) 2.4.2 Debian-2.4.2-1ubuntu1
#
# Please DO NOT delete this file!
# It is necessary for linking the library.
# The name that we can dlopen(3).
dlname='gem_filmQT4L.so'
# Names of this library.
library_names='gem_filmQT4L.so gem_filmQT4L.so gem_filmQT4L.so'
# The name of the static archive.
old_library=''
# Linker flags that can not go in dependency_libs.
inherited_linker_flags=''
# Libraries that this one depends upon.
dependency_libs=' -L./ -L../.. -lquicktime -lpthread -lXxf86vm -ldl -lz'
# Names of additional weak libraries provided by this library
weak_library_names=''
# Version information for gem_filmQT4L.
current=0
age=0
revision=0
# Is this an already installed library?
installed=yes
# Should we warn about portability when linking against -modules?
shouldnotlink=yes
# Files to dlopen/dlpreopen
dlopen=''
dlpreopen=''
# Directory that this library needs to be installed in:
libdir='/home/santi/pd-externals/lib/pd/extra/Gem'

Binary file not shown.

View file

@ -1,41 +0,0 @@
# gem_imageJPEG.la - a libtool library file
# Generated by libtool (GNU libtool) 2.4.2 Debian-2.4.2-1ubuntu1
#
# Please DO NOT delete this file!
# It is necessary for linking the library.
# The name that we can dlopen(3).
dlname='gem_imageJPEG.so'
# Names of this library.
library_names='gem_imageJPEG.so gem_imageJPEG.so gem_imageJPEG.so'
# The name of the static archive.
old_library=''
# Linker flags that can not go in dependency_libs.
inherited_linker_flags=''
# Libraries that this one depends upon.
dependency_libs=' -L./ -L../.. -ljpeg -lXxf86vm -ldl -lz'
# Names of additional weak libraries provided by this library
weak_library_names=''
# Version information for gem_imageJPEG.
current=0
age=0
revision=0
# Is this an already installed library?
installed=yes
# Should we warn about portability when linking against -modules?
shouldnotlink=yes
# Files to dlopen/dlpreopen
dlopen=''
dlpreopen=''
# Directory that this library needs to be installed in:
libdir='/home/santi/pd-externals/lib/pd/extra/Gem'

Binary file not shown.

View file

@ -1,41 +0,0 @@
# gem_imageMAGICK.la - a libtool library file
# Generated by libtool (GNU libtool) 2.4.2 Debian-2.4.2-1ubuntu1
#
# Please DO NOT delete this file!
# It is necessary for linking the library.
# The name that we can dlopen(3).
dlname='gem_imageMAGICK.so'
# Names of this library.
library_names='gem_imageMAGICK.so gem_imageMAGICK.so gem_imageMAGICK.so'
# The name of the static archive.
old_library=''
# Linker flags that can not go in dependency_libs.
inherited_linker_flags=' -fopenmp -pthread'
# Libraries that this one depends upon.
dependency_libs=' -L./ -L../.. -L/usr/local/lib -lMagick++6-Q16 /usr/local/lib/libMagickCore-6.Q16.la /usr/lib/i386-linux-gnu/liblcms.la /usr/lib/i386-linux-gnu/libtiff.la /usr/lib/i386-linux-gnu/libfreetype.la -ljasper -ljpeg -llqr-1 -lpng12 -ldjvulibre -lfontconfig -lXext -lXt -lSM -lICE -lX11 -lbz2 /usr/lib/libIlmImf.la -L/usr/lib -lImath -lHalf -lIex -lIlmThread -lpangocairo-1.0 -lpango-1.0 /usr/lib/i386-linux-gnu/libcairo.la -lgobject-2.0 -lglib-2.0 /usr/lib/i386-linux-gnu/libxml2.la -lgomp -lpthread -lXxf86vm -ldl -lz'
# Names of additional weak libraries provided by this library
weak_library_names=''
# Version information for gem_imageMAGICK.
current=0
age=0
revision=0
# Is this an already installed library?
installed=yes
# Should we warn about portability when linking against -modules?
shouldnotlink=yes
# Files to dlopen/dlpreopen
dlopen=''
dlpreopen=''
# Directory that this library needs to be installed in:
libdir='/home/santi/pd-externals/lib/pd/extra/Gem'

Binary file not shown.

View file

@ -1,41 +0,0 @@
# gem_imageSGI.la - a libtool library file
# Generated by libtool (GNU libtool) 2.4.2 Debian-2.4.2-1ubuntu1
#
# Please DO NOT delete this file!
# It is necessary for linking the library.
# The name that we can dlopen(3).
dlname='gem_imageSGI.so'
# Names of this library.
library_names='gem_imageSGI.so gem_imageSGI.so gem_imageSGI.so'
# The name of the static archive.
old_library=''
# Linker flags that can not go in dependency_libs.
inherited_linker_flags=''
# Libraries that this one depends upon.
dependency_libs=' -L./ -L../.. -lXxf86vm -ldl -lz'
# Names of additional weak libraries provided by this library
weak_library_names=''
# Version information for gem_imageSGI.
current=0
age=0
revision=0
# Is this an already installed library?
installed=yes
# Should we warn about portability when linking against -modules?
shouldnotlink=yes
# Files to dlopen/dlpreopen
dlopen=''
dlpreopen=''
# Directory that this library needs to be installed in:
libdir='/home/santi/pd-externals/lib/pd/extra/Gem'

Binary file not shown.

View file

@ -1,41 +0,0 @@
# gem_imageTIFF.la - a libtool library file
# Generated by libtool (GNU libtool) 2.4.2 Debian-2.4.2-1ubuntu1
#
# Please DO NOT delete this file!
# It is necessary for linking the library.
# The name that we can dlopen(3).
dlname='gem_imageTIFF.so'
# Names of this library.
library_names='gem_imageTIFF.so gem_imageTIFF.so gem_imageTIFF.so'
# The name of the static archive.
old_library=''
# Linker flags that can not go in dependency_libs.
inherited_linker_flags=''
# Libraries that this one depends upon.
dependency_libs=' -L./ -L../.. /usr/lib/i386-linux-gnu/libtiff.la -lXxf86vm -ldl -lz'
# Names of additional weak libraries provided by this library
weak_library_names=''
# Version information for gem_imageTIFF.
current=0
age=0
revision=0
# Is this an already installed library?
installed=yes
# Should we warn about portability when linking against -modules?
shouldnotlink=yes
# Files to dlopen/dlpreopen
dlopen=''
dlpreopen=''
# Directory that this library needs to be installed in:
libdir='/home/santi/pd-externals/lib/pd/extra/Gem'

Binary file not shown.

View file

@ -1,41 +0,0 @@
# gem_modelOBJ.la - a libtool library file
# Generated by libtool (GNU libtool) 2.4.2 Debian-2.4.2-1ubuntu1
#
# Please DO NOT delete this file!
# It is necessary for linking the library.
# The name that we can dlopen(3).
dlname='gem_modelOBJ.so'
# Names of this library.
library_names='gem_modelOBJ.so gem_modelOBJ.so gem_modelOBJ.so'
# The name of the static archive.
old_library=''
# Linker flags that can not go in dependency_libs.
inherited_linker_flags=' -pthread'
# Libraries that this one depends upon.
dependency_libs=' -L./ -L../.. -lGL -lXxf86vm -ldl -lz'
# Names of additional weak libraries provided by this library
weak_library_names=''
# Version information for gem_modelOBJ.
current=0
age=0
revision=0
# Is this an already installed library?
installed=yes
# Should we warn about portability when linking against -modules?
shouldnotlink=yes
# Files to dlopen/dlpreopen
dlopen=''
dlpreopen=''
# Directory that this library needs to be installed in:
libdir='/home/santi/pd-externals/lib/pd/extra/Gem'

Binary file not shown.

View file

@ -1,41 +0,0 @@
# gem_recordQT4L.la - a libtool library file
# Generated by libtool (GNU libtool) 2.4.2 Debian-2.4.2-1ubuntu1
#
# Please DO NOT delete this file!
# It is necessary for linking the library.
# The name that we can dlopen(3).
dlname='gem_recordQT4L.so'
# Names of this library.
library_names='gem_recordQT4L.so gem_recordQT4L.so gem_recordQT4L.so'
# The name of the static archive.
old_library=''
# Linker flags that can not go in dependency_libs.
inherited_linker_flags=''
# Libraries that this one depends upon.
dependency_libs=' -L./ -L../.. -lquicktime -lpthread -lXxf86vm -ldl -lz'
# Names of additional weak libraries provided by this library
weak_library_names=''
# Version information for gem_recordQT4L.
current=0
age=0
revision=0
# Is this an already installed library?
installed=yes
# Should we warn about portability when linking against -modules?
shouldnotlink=yes
# Files to dlopen/dlpreopen
dlopen=''
dlpreopen=''
# Directory that this library needs to be installed in:
libdir='/home/santi/pd-externals/lib/pd/extra/Gem'

Binary file not shown.

View file

@ -1,41 +0,0 @@
# gem_recordV4L.la - a libtool library file
# Generated by libtool (GNU libtool) 2.4.2 Debian-2.4.2-1.1
#
# Please DO NOT delete this file!
# It is necessary for linking the library.
# The name that we can dlopen(3).
dlname='gem_recordV4L.so'
# Names of this library.
library_names='gem_recordV4L.so gem_recordV4L.so gem_recordV4L.so'
# The name of the static archive.
old_library=''
# Linker flags that can not go in dependency_libs.
inherited_linker_flags=''
# Libraries that this one depends upon.
dependency_libs=' -L./ -L../.. -lv4l1 -lXxf86vm -ldl -lz'
# Names of additional weak libraries provided by this library
weak_library_names=''
# Version information for gem_recordV4L.
current=0
age=0
revision=0
# Is this an already installed library?
installed=yes
# Should we warn about portability when linking against -modules?
shouldnotlink=yes
# Files to dlopen/dlpreopen
dlopen=''
dlpreopen=''
# Directory that this library needs to be installed in:
libdir='/home/santi/pd-externals/lib/pd/extra/Gem'

Binary file not shown.

View file

@ -1,41 +0,0 @@
# gem_recordV4L2.la - a libtool library file
# Generated by libtool (GNU libtool) 2.4.2 Debian-2.4.2-1.1
#
# Please DO NOT delete this file!
# It is necessary for linking the library.
# The name that we can dlopen(3).
dlname='gem_recordV4L2.so'
# Names of this library.
library_names='gem_recordV4L2.so gem_recordV4L2.so gem_recordV4L2.so'
# The name of the static archive.
old_library=''
# Linker flags that can not go in dependency_libs.
inherited_linker_flags=''
# Libraries that this one depends upon.
dependency_libs=' -L./ -L../.. -lv4l2 -lXxf86vm -ldl -lz'
# Names of additional weak libraries provided by this library
weak_library_names=''
# Version information for gem_recordV4L2.
current=0
age=0
revision=0
# Is this an already installed library?
installed=yes
# Should we warn about portability when linking against -modules?
shouldnotlink=yes
# Files to dlopen/dlpreopen
dlopen=''
dlpreopen=''
# Directory that this library needs to be installed in:
libdir='/home/santi/pd-externals/lib/pd/extra/Gem'

Binary file not shown.

View file

@ -1,41 +0,0 @@
# gem_videoV4L.la - a libtool library file
# Generated by libtool (GNU libtool) 2.4.2 Debian-2.4.2-1.1
#
# Please DO NOT delete this file!
# It is necessary for linking the library.
# The name that we can dlopen(3).
dlname='gem_videoV4L.so'
# Names of this library.
library_names='gem_videoV4L.so gem_videoV4L.so gem_videoV4L.so'
# The name of the static archive.
old_library=''
# Linker flags that can not go in dependency_libs.
inherited_linker_flags=''
# Libraries that this one depends upon.
dependency_libs=' -L./ -L../.. -lv4l1 -lXxf86vm -ldl -lz'
# Names of additional weak libraries provided by this library
weak_library_names=''
# Version information for gem_videoV4L.
current=0
age=0
revision=0
# Is this an already installed library?
installed=yes
# Should we warn about portability when linking against -modules?
shouldnotlink=yes
# Files to dlopen/dlpreopen
dlopen=''
dlpreopen=''
# Directory that this library needs to be installed in:
libdir='/home/santi/pd-externals/lib/pd/extra/Gem'

Binary file not shown.

View file

@ -1,41 +0,0 @@
# gem_videoV4L2.la - a libtool library file
# Generated by libtool (GNU libtool) 2.4.2 Debian-2.4.2-1.1
#
# Please DO NOT delete this file!
# It is necessary for linking the library.
# The name that we can dlopen(3).
dlname='gem_videoV4L2.so'
# Names of this library.
library_names='gem_videoV4L2.so gem_videoV4L2.so gem_videoV4L2.so'
# The name of the static archive.
old_library=''
# Linker flags that can not go in dependency_libs.
inherited_linker_flags=''
# Libraries that this one depends upon.
dependency_libs=' -L./ -L../.. -lv4l2 -lXxf86vm -ldl -lz'
# Names of additional weak libraries provided by this library
weak_library_names=''
# Version information for gem_videoV4L2.
current=0
age=0
revision=0
# Is this an already installed library?
installed=yes
# Should we warn about portability when linking against -modules?
shouldnotlink=yes
# Files to dlopen/dlpreopen
dlopen=''
dlpreopen=''
# Directory that this library needs to be installed in:
libdir='/home/santi/pd-externals/lib/pd/extra/Gem'

Binary file not shown.

View file

@ -1,17 +0,0 @@
#N canvas 3 45 450 300 10;
#X obj 125 66 inlet;
#X obj 125 243 outlet;
#X obj 125 145 t a a;
#X obj 175 187 route bang;
#X obj 175 167 spigot;
#X obj 208 143 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 0
1;
#X obj 232 208 print gem\$0win;
#X obj 125 100 gemglxwindow;
#X connect 0 0 7 0;
#X connect 2 0 1 0;
#X connect 2 1 4 0;
#X connect 3 1 6 0;
#X connect 4 0 3 0;
#X connect 5 0 4 1;
#X connect 7 0 2 0;

View file

@ -1,41 +0,0 @@
# gemglutwindow.la - a libtool library file
# Generated by libtool (GNU libtool) 2.4.2 Debian-2.4.2-1.1
#
# Please DO NOT delete this file!
# It is necessary for linking the library.
# The name that we can dlopen(3).
dlname='gemglutwindow.pd_linux'
# Names of this library.
library_names='gemglutwindow.pd_linux gemglutwindow.pd_linux gemglutwindow.pd_linux'
# The name of the static archive.
old_library=''
# Linker flags that can not go in dependency_libs.
inherited_linker_flags=' -pthread'
# Libraries that this one depends upon.
dependency_libs=' -L./ -L../.. -lglut -lSM -lICE -lXmu -lXi -lGLU -lGL -lXxf86vm -ldl -lz'
# Names of additional weak libraries provided by this library
weak_library_names=''
# Version information for gemglutwindow.
current=0
age=0
revision=0
# Is this an already installed library?
installed=yes
# Should we warn about portability when linking against -modules?
shouldnotlink=yes
# Files to dlopen/dlpreopen
dlopen=''
dlpreopen=''
# Directory that this library needs to be installed in:
libdir='/home/santi/pd-externals/lib/pd/extra/Gem'

Binary file not shown.

View file

@ -1,41 +0,0 @@
# gemglxwindow.la - a libtool library file
# Generated by libtool (GNU libtool) 2.4.2 Debian-2.4.2-1ubuntu1
#
# Please DO NOT delete this file!
# It is necessary for linking the library.
# The name that we can dlopen(3).
dlname='gemglxwindow.pd_linux'
# Names of this library.
library_names='gemglxwindow.pd_linux gemglxwindow.pd_linux gemglxwindow.pd_linux'
# The name of the static archive.
old_library=''
# Linker flags that can not go in dependency_libs.
inherited_linker_flags=''
# Libraries that this one depends upon.
dependency_libs=' -L./ -L../.. -lSM -lICE -lXxf86vm -ldl -lz'
# Names of additional weak libraries provided by this library
weak_library_names=''
# Version information for gemglxwindow.
current=0
age=0
revision=0
# Is this an already installed library?
installed=yes
# Should we warn about portability when linking against -modules?
shouldnotlink=yes
# Files to dlopen/dlpreopen
dlopen=''
dlpreopen=''
# Directory that this library needs to be installed in:
libdir='/home/santi/pd-externals/lib/pd/extra/Gem'

Binary file not shown.

90
externals/gemhead.pd vendored
View file

@ -1,90 +0,0 @@
#N canvas 255 164 769 392 10;
#N canvas 443 22 581 526 gemreceive 0;
#X obj 109 413 outlet;
#X obj 288 58 inlet order;
#X obj 288 177 select 0;
#X msg 288 198 50;
#X obj 109 365 spigot 1;
#X obj 109 390 t a;
#X obj 288 222 t f f f;
#X obj 334 275 t f f;
#X obj 334 301 > 0;
#X obj 366 301 < 0;
#X obj 313 365 spigot 0;
#X obj 520 283 abs;
#X obj 109 342 gemreceive __gem_render \$1;
#X obj 313 342 gemreceive __gem_render_osd \$1;
#X connect 1 0 2 0;
#X connect 2 0 3 0;
#X connect 2 1 6 0;
#X connect 3 0 6 0;
#X connect 4 0 5 0;
#X connect 5 0 0 0;
#X connect 6 0 12 1;
#X connect 6 1 11 0;
#X connect 6 2 7 0;
#X connect 7 0 8 0;
#X connect 7 1 9 0;
#X connect 8 0 4 1;
#X connect 9 0 10 1;
#X connect 10 0 5 0;
#X connect 11 0 13 1;
#X connect 12 0 4 0;
#X connect 13 0 10 0;
#X restore 170 69 pd gemreceive;
#X obj 170 155 gemlist;
#N canvas 602 92 635 363 material 0;
#X obj 98 88 inlet gemlist;
#X obj 98 258 outlet gemlist;
#X obj 98 117 GEMglColor4f 1 1 1 1;
#X obj 98 143 GEMglMaterialfv GL_FRONT_AND_BACK GL_AMBIENT 0.2 0.2
0.2 1;
#X obj 98 163 GEMglMaterialfv GL_FRONT_AND_BACK GL_DIFFUSE 0.8 0.8
0.8 1;
#X obj 98 183 GEMglMaterialfv GL_FRONT_AND_BACK GL_EMISSION 0 0 0 1
;
#X obj 98 203 GEMglMaterialfv GL_FRONT_AND_BACK GL_SPECULAR 0 0 0 1
;
#X obj 98 223 GEMglMaterialfv GL_FRONT_AND_BACK GL_SHININESS 0;
#X connect 0 0 2 0;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 4 0 5 0;
#X connect 5 0 6 0;
#X connect 6 0 7 0;
#X connect 7 0 1 0;
#X restore 170 197 pd material;
#X obj 170 221 t a a a;
#X obj 216 242 GEMglPushMatrix;
#X obj 170 282 GEMglPopMatrix;
#X obj 193 306 outlet gemlist;
#X obj 130 18 inlet control;
#X obj 130 40 route bang float set;
#X obj 223 94 i;
#X obj 170 116 spigot 1;
#N canvas 0 0 650 510 defaultarg 0;
#X obj 134 132 loadbang;
#X obj 134 265 outlet;
#X obj 134 157 f \$1;
#X connect 0 0 2 0;
#X connect 2 0 1 0;
#X restore 286 39 pd defaultarg;
#X obj 71 174 GEMglFlush;
#X obj 71 122 gemlist;
#X obj 71 144 t a a;
#X connect 0 0 10 0;
#X connect 1 0 2 0;
#X connect 2 0 3 0;
#X connect 3 0 5 0;
#X connect 3 1 6 0;
#X connect 3 2 4 0;
#X connect 7 0 8 0;
#X connect 8 0 13 0;
#X connect 8 1 9 0;
#X connect 8 2 0 0;
#X connect 9 0 10 1;
#X connect 10 0 1 0;
#X connect 11 0 0 0;
#X connect 13 0 14 0;
#X connect 14 0 12 0;
#X connect 14 1 2 0;

154
externals/gemmouse.pd vendored
View file

@ -1,154 +0,0 @@
#N canvas 0 0 786 465 10;
#X obj 60 327 outlet x;
#X obj 130 327 outlet y;
#X obj 250 327 outlet Left;
#X obj 360 327 outlet Middle;
#X obj 470 327 outlet Right;
#N canvas 340 91 557 430 arguments 1;
#X obj 139 87 inlet reset;
#X obj 139 110 t b;
#N canvas 0 0 877 440 argcount 0;
#X obj 32 46 inlet;
#X obj 50 178 select s;
#X obj 50 128 t b b;
#X obj 156 155 makefilename $%d-test;
#X obj 50 155 symbol \$1-test;
#X msg 156 135 1;
#X obj 570 178 select s;
#X obj 570 128 t b b;
#X obj 676 155 makefilename $%d-test;
#X msg 676 135 3;
#X obj 50 242 t f;
#X obj 32 306 f;
#X obj 32 74 t b b b;
#X msg 78 279 -1;
#X obj 32 360 outlet;
#X obj 570 155 symbol \$3-test;
#X msg 50 199 0;
#X obj 310 178 select s;
#X obj 310 128 t b b;
#X obj 416 155 makefilename $%d-test;
#X msg 416 135 2;
#X obj 310 155 symbol \$2-test;
#X msg 310 199 1;
#X msg 570 199 2;
#X obj 287 101 t b b b;
#X connect 0 0 12 0;
#X connect 1 0 16 0;
#X connect 2 0 4 0;
#X connect 2 1 5 0;
#X connect 3 0 1 1;
#X connect 4 0 1 0;
#X connect 5 0 3 0;
#X connect 6 0 23 0;
#X connect 7 0 15 0;
#X connect 7 1 9 0;
#X connect 8 0 6 1;
#X connect 9 0 8 0;
#X connect 10 0 11 1;
#X connect 11 0 14 0;
#X connect 12 0 11 0;
#X connect 12 1 24 0;
#X connect 12 2 13 0;
#X connect 13 0 11 1;
#X connect 15 0 6 0;
#X connect 16 0 10 0;
#X connect 17 0 22 0;
#X connect 18 0 21 0;
#X connect 18 1 20 0;
#X connect 19 0 17 1;
#X connect 20 0 19 0;
#X connect 21 0 17 0;
#X connect 22 0 10 0;
#X connect 23 0 10 0;
#X connect 24 0 2 0;
#X connect 24 1 18 0;
#X connect 24 2 7 0;
#X restore 139 134 pd argcount;
#X obj 139 182 select 0 1 2;
#X obj 253 352 outlet yscale;
#X obj 139 322 outlet yscale;
#X obj 139 160 i;
#X obj 253 323 /;
#X obj 201 201 t b b;
#X obj 166 223 f \$1;
#X obj 201 223 f \$1;
#X obj 233 223 f \$2;
#X obj 366 142 unpack 0 0;
#X obj 334 121 t b l;
#X obj 166 244 pack 0 500;
#X obj 139 270 pack 500 500;
#X obj 253 300 pack 500 500;
#X obj 139 293 /;
#X obj 334 97 inlet dimen;
#X floatatom 65 186 5 0 0 0 - - -;
#X msg 77 87 bang;
#X msg 139 203 1 1;
#X connect 0 0 1 0;
#X connect 1 0 2 0;
#X connect 2 0 6 0;
#X connect 3 0 21 0;
#X connect 3 1 9 0;
#X connect 3 2 8 0;
#X connect 6 0 3 0;
#X connect 6 0 19 0;
#X connect 7 0 4 0;
#X connect 8 0 10 0;
#X connect 8 1 11 0;
#X connect 9 0 14 0;
#X connect 10 0 15 0;
#X connect 11 0 16 0;
#X connect 12 0 15 1;
#X connect 12 0 17 1;
#X connect 12 1 14 1;
#X connect 12 1 16 1;
#X connect 13 0 6 0;
#X connect 13 1 12 0;
#X connect 14 0 15 0;
#X connect 14 0 16 0;
#X connect 15 0 17 0;
#X connect 16 0 7 0;
#X connect 17 0 5 0;
#X connect 18 0 13 0;
#X connect 20 0 1 0;
#X connect 21 0 15 0;
#X connect 21 0 16 0;
#X restore 147 173 pd arguments;
#X obj 60 241 * 1;
#X obj 130 241 * 1;
#X obj 147 148 loadbang;
#X obj 104 31 r __gem;
#X obj 104 52 route mouse dimen;
#X obj 396 88 route motion button;
#X obj 364 67 t b a;
#X obj 396 111 unpack;
#X obj 196 277 pack 0 0 0 0 0;
#X obj 196 303 unpack 0 0 0 0 0;
#X obj 166 277 f;
#X obj 234 207 del 0;
#X obj 243 245 route 0 1 2;
#X connect 5 0 6 1;
#X connect 5 1 7 1;
#X connect 6 0 16 1;
#X connect 7 0 14 1;
#X connect 8 0 5 0;
#X connect 9 0 10 0;
#X connect 10 0 12 0;
#X connect 10 1 5 1;
#X connect 11 0 13 0;
#X connect 11 1 18 0;
#X connect 12 0 17 0;
#X connect 12 1 11 0;
#X connect 13 0 6 0;
#X connect 13 1 7 0;
#X connect 14 0 15 0;
#X connect 15 0 0 0;
#X connect 15 1 1 0;
#X connect 15 2 2 0;
#X connect 15 3 3 0;
#X connect 15 4 4 0;
#X connect 16 0 14 0;
#X connect 17 0 16 0;
#X connect 18 0 14 2;
#X connect 18 1 14 3;
#X connect 18 2 14 4;

22
externals/gemorb.pd vendored
View file

@ -1,22 +0,0 @@
#N canvas 66 407 682 381 10;
#X text 53 56 the object has been taken out of Gem \, since Gem is
a graphics library \, and not a hardware-interfacing library.;
#X text 49 98 you should be able to build a functional replacement
using the [hid] external.;
#X text 54 36 this is a fake replacement of Gem's [gemorb].;
#X obj 41 341 outlet Position (x y z);
#X obj 231 341 outlet Rotation (x y z);
#X obj 421 341 outlet Buttons (a b c d e f g);
#X obj 172 142 loadbang;
#X obj 172 278 print error;
#X msg 172 244 [gemorb] is no longer available! \, use [hid] or similar
for interfacing a SpaceOrb;
#X obj 26 143 inlet;
#X obj 26 163 t b;
#X msg 26 182 you are interfacing a dummy replacement of [gemorb]!
\, please build your own [gemorb];
#X connect 6 0 8 0;
#X connect 8 0 7 0;
#X connect 9 0 10 0;
#X connect 10 0 11 0;
#X connect 11 0 7 0;

View file

@ -1,41 +0,0 @@
# gemsdlwindow.la - a libtool library file
# Generated by libtool (GNU libtool) 2.4.2 Debian-2.4.2-1ubuntu1
#
# Please DO NOT delete this file!
# It is necessary for linking the library.
# The name that we can dlopen(3).
dlname='gemsdlwindow.pd_linux'
# Names of this library.
library_names='gemsdlwindow.pd_linux gemsdlwindow.pd_linux gemsdlwindow.pd_linux'
# The name of the static archive.
old_library=''
# Linker flags that can not go in dependency_libs.
inherited_linker_flags=''
# Libraries that this one depends upon.
dependency_libs=' -L./ -L../.. -lSDL -lXxf86vm -ldl -lz'
# Names of additional weak libraries provided by this library
weak_library_names=''
# Version information for gemsdlwindow.
current=0
age=0
revision=0
# Is this an already installed library?
installed=yes
# Should we warn about portability when linking against -modules?
shouldnotlink=yes
# Files to dlopen/dlpreopen
dlopen=''
dlpreopen=''
# Directory that this library needs to be installed in:
libdir='/home/santi/pd-externals/lib/pd/extra/Gem'

Binary file not shown.

View file

@ -1,21 +0,0 @@
#N canvas 24 279 928 367 10;
#X obj 107 178 loadbang;
#X obj 107 250 print error;
#X msg 107 207 [gemtablet] is no longer available! \, use [hid] or
similar for interfacing a graph-tablet;
#X obj 127 312 outlet X-pos;
#X obj 137 331 outlet Y-pos;
#X obj 287 282 outlet Pressure;
#X obj 297 302 outlet Azimuth;
#X obj 307 322 outlet Altitude;
#X obj 317 342 outlet Twist;
#X obj 537 302 outlet Middle-Buttoh;
#X obj 547 322 outlet Right-Button;
#X obj 527 282 outlet Left-Button;
#X text 54 36 this is a fake replacement of Gem's [gemtablet].;
#X text 53 56 the object has been taken out of Gem \, since Gem is
a graphics library \, and not a hardware-interfacing library.;
#X text 51 98 you should be able to build a functional replacement
using the [hid] external.;
#X connect 0 0 2 0;
#X connect 2 0 1 0;

2802
externals/gemwin.pd vendored

File diff suppressed because it is too large Load diff

View file

@ -1,65 +0,0 @@
#N canvas 172 190 600 500 10;
#X text 418 26 GEM object;
#X text 89 388 convert between RGB colorspace and HSV colorspace;
#X text 91 412 RGB is red \, green \, blue;
#X text 91 434 HSV is hue \, saturation \, value (luminance);
#X obj 119 207 cnv 15 70 40 empty empty empty 20 12 0 14 -24198 -66577
0;
#X obj 123 218 rgb2hsv;
#X msg 163 182 1 0 0;
#X msg 155 156 0 0.2 0.5;
#X obj 123 257 unpack 0 0 0;
#X floatatom 202 279 5 0 0 1 Value - -;
#X floatatom 162 299 5 0 0 1 Saturation - -;
#X floatatom 123 322 5 0 0 1 Hue - -;
#X obj 321 206 cnv 15 70 40 empty empty empty 20 12 0 14 -24198 -66577
0;
#X obj 325 256 unpack 0 0 0;
#X floatatom 404 278 5 0 0 1 Blue - -;
#X floatatom 364 298 5 0 0 1 Green - -;
#X floatatom 325 321 5 0 0 1 Red - -;
#X obj 325 217 hsv2rgb;
#X msg 365 152 0 1 1;
#X msg 387 176 0.6 1 0.5;
#X floatatom 178 84 5 0 1 1 Blue - -;
#X floatatom 141 67 5 0 1 1 Green - -;
#X floatatom 123 49 5 0 1 1 Red - -;
#X obj 123 122 pack 0 0 0;
#X floatatom 380 94 5 0 1 1 Value - -;
#X floatatom 343 76 5 0 1 1 Saturation - -;
#X floatatom 325 58 5 0 1 1 Hue - -;
#X obj 141 103 t b f;
#X obj 178 103 t b f;
#X obj 325 130 pack 0 0 0;
#X obj 343 111 t b f;
#X obj 380 111 t b f;
#X text 83 9 [rgb2hsv];
#X text 175 11 [hsv2rgb];
#X connect 5 0 8 0;
#X connect 6 0 5 0;
#X connect 7 0 5 0;
#X connect 8 0 11 0;
#X connect 8 1 10 0;
#X connect 8 2 9 0;
#X connect 13 0 16 0;
#X connect 13 1 15 0;
#X connect 13 2 14 0;
#X connect 17 0 13 0;
#X connect 18 0 17 0;
#X connect 19 0 17 0;
#X connect 20 0 28 0;
#X connect 21 0 27 0;
#X connect 22 0 23 0;
#X connect 23 0 5 0;
#X connect 24 0 31 0;
#X connect 25 0 30 0;
#X connect 26 0 29 0;
#X connect 27 0 23 0;
#X connect 27 1 23 1;
#X connect 28 0 23 0;
#X connect 28 1 23 2;
#X connect 29 0 17 0;
#X connect 30 0 29 0;
#X connect 30 1 29 1;
#X connect 31 0 29 0;
#X connect 31 1 29 2;

143
externals/hsv2rgb.pd vendored
View file

@ -1,143 +0,0 @@
#N canvas 206 49 450 568 10;
#X obj 187 84 route 0;
#X msg 187 56 \$2 \$3 \$1;
#X obj 187 409 f;
#X obj 231 111 unpack 0 0 0;
#X text 250 71 svh;
#X obj 187 28 inlet hsv;
#X obj 187 520 outlet rgb;
#X obj 401 149 * 6;
#X obj 380 196 % 6;
#X obj 350 173 t f f;
#X msg 350 149 0;
#X text 406 196 i;
#X obj 350 219 -;
#X obj 231 217 *;
#X obj 231 178 - 1;
#X obj 231 198 * -1;
#X obj 263 330 *;
#X obj 263 291 - 1;
#X obj 263 311 * -1;
#X obj 263 269 *;
#X obj 350 240 t f f;
#X obj 380 262 - 1;
#X obj 380 283 * -1;
#X obj 302 356 *;
#X obj 302 317 - 1;
#X obj 302 337 * -1;
#X obj 302 295 *;
#X obj 231 151 t f f f;
#X obj 241 392 pack 0 0 0 0;
#N canvas 387 255 646 315 select 0;
#X obj 290 37 inlet;
#X obj 16 247 outlet;
#X obj 92 104 t b l;
#X obj 125 128 unpack 0 0 0 0;
#X obj 89 43 inlet p q t v;
#X obj 92 128 i;
#X obj 92 151 select 0 1 2 3 4 5;
#X obj 16 223 pack 0 0 0;
#X obj 16 203 f;
#X obj 96 223 pack 0 0 0;
#X obj 96 203 f;
#X obj 176 223 pack 0 0 0;
#X obj 176 203 f;
#X obj 256 223 pack 0 0 0;
#X obj 256 203 f;
#X obj 336 223 pack 0 0 0;
#X obj 336 203 f;
#X obj 416 223 pack 0 0 0;
#X obj 416 203 f;
#X connect 0 0 5 1;
#X connect 2 0 5 0;
#X connect 2 1 3 0;
#X connect 3 0 7 2;
#X connect 3 0 9 2;
#X connect 3 0 12 1;
#X connect 3 0 14 1;
#X connect 3 0 15 1;
#X connect 3 0 17 1;
#X connect 3 1 10 1;
#X connect 3 1 13 1;
#X connect 3 1 17 2;
#X connect 3 2 7 1;
#X connect 3 2 11 2;
#X connect 3 2 16 1;
#X connect 3 3 8 1;
#X connect 3 3 9 1;
#X connect 3 3 11 1;
#X connect 3 3 13 2;
#X connect 3 3 15 2;
#X connect 3 3 18 1;
#X connect 4 0 2 0;
#X connect 5 0 6 0;
#X connect 6 0 8 0;
#X connect 6 1 10 0;
#X connect 6 2 12 0;
#X connect 6 3 14 0;
#X connect 6 4 16 0;
#X connect 6 5 18 0;
#X connect 7 0 1 0;
#X connect 8 0 7 0;
#X connect 9 0 1 0;
#X connect 10 0 9 0;
#X connect 11 0 1 0;
#X connect 12 0 11 0;
#X connect 13 0 1 0;
#X connect 14 0 13 0;
#X connect 15 0 1 0;
#X connect 16 0 15 0;
#X connect 17 0 1 0;
#X connect 18 0 17 0;
#X restore 241 416 pd select;
#X msg 187 478 \$1 \$1 \$1;
#X obj 187 450 clip 0 1;
#X obj 231 131 clip 0 1;
#X obj 270 173 clip 0 1;
#X obj 350 109 clip 0 1;
#X obj 350 129 select 1;
#X connect 0 0 2 0;
#X connect 0 1 3 0;
#X connect 1 0 0 0;
#X connect 2 0 31 0;
#X connect 3 0 32 0;
#X connect 3 1 33 0;
#X connect 3 2 34 0;
#X connect 5 0 1 0;
#X connect 7 0 9 0;
#X connect 8 0 12 1;
#X connect 8 0 29 1;
#X connect 9 0 12 0;
#X connect 9 1 8 0;
#X connect 10 0 9 0;
#X connect 12 0 20 0;
#X connect 13 0 28 0;
#X connect 14 0 15 0;
#X connect 15 0 13 0;
#X connect 16 0 28 1;
#X connect 17 0 18 0;
#X connect 18 0 16 0;
#X connect 19 0 17 0;
#X connect 20 0 19 1;
#X connect 20 1 21 0;
#X connect 21 0 22 0;
#X connect 22 0 26 1;
#X connect 23 0 28 2;
#X connect 24 0 25 0;
#X connect 25 0 23 0;
#X connect 26 0 24 0;
#X connect 27 0 14 0;
#X connect 27 1 19 0;
#X connect 27 2 26 0;
#X connect 28 0 29 0;
#X connect 29 0 6 0;
#X connect 30 0 6 0;
#X connect 31 0 30 0;
#X connect 32 0 27 0;
#X connect 33 0 13 1;
#X connect 33 0 28 3;
#X connect 33 0 16 1;
#X connect 33 0 23 1;
#X connect 34 0 35 0;
#X connect 35 0 10 0;
#X connect 35 1 7 0;

View file

@ -1 +0,0 @@
libMagick++-6.Q16.so.1.0.0

View file

@ -1 +0,0 @@
libMagick++-6.Q16.so.1.0.0

Binary file not shown.

View file

@ -1 +0,0 @@
/usr/local/lib/libMagick++-6.Q16.so.1.0.0

Binary file not shown.

41
externals/pix2jpg.la vendored
View file

@ -1,41 +0,0 @@
# pix2jpg.la - a libtool library file
# Generated by libtool (GNU libtool) 2.4.2 Debian-2.4.2-1ubuntu1
#
# Please DO NOT delete this file!
# It is necessary for linking the library.
# The name that we can dlopen(3).
dlname='pix2jpg.pd_linux'
# Names of this library.
library_names='pix2jpg.pd_linux pix2jpg.pd_linux pix2jpg.pd_linux'
# The name of the static archive.
old_library=''
# Linker flags that can not go in dependency_libs.
inherited_linker_flags=' -pthread'
# Libraries that this one depends upon.
dependency_libs=' -L/usr/local/include/ImageMagick -L/usr/lib/X11 -L./ -L/usr/local/lib/ImageMagick /usr/lib/libMagick++.la /usr/lib/libMagickWand.la /usr/lib/libMagickCore.la /usr/lib/i386-linux-gnu/liblcms.la /usr/lib/i386-linux-gnu/libtiff.la /usr/lib/i386-linux-gnu/libfreetype.la -ljpeg -llqr-1 -lglib-2.0 -lfontconfig -lXext -lSM -lICE -lX11 -lXt -lbz2 -lgomp -lpthread /usr/lib/i386-linux-gnu/libltdl.la -L../.. -lXxf86vm -ldl -lz'
# Names of additional weak libraries provided by this library
weak_library_names=''
# Version information for pix2jpg.
current=0
age=0
revision=0
# Is this an already installed library?
installed=yes
# Should we warn about portability when linking against -modules?
shouldnotlink=yes
# Files to dlopen/dlpreopen
dlopen=''
dlpreopen=''
# Directory that this library needs to be installed in:
libdir='/home/santi/pd-externals/lib/pd/extra/pix2jpg'

Binary file not shown.

View file

@ -1,420 +0,0 @@
#N canvas 35 25 662 452 10;
#X text 452 8 GEM object;
#X obj 9 265 cnv 15 430 135 empty empty empty 20 12 0 14 -233017 -66577
0;
#X text 40 267 Inlets:;
#X text 39 362 Outlets:;
#X obj 9 227 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
0;
#X text 18 226 Arguments:;
#X obj 8 56 cnv 15 430 165 empty empty empty 20 12 0 14 -233017 -66577
0;
#X obj 449 77 cnv 15 200 320 empty empty empty 20 12 0 14 -228992 -66577
0;
#X text 453 60 Example:;
#X obj 544 330 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
0;
#N canvas 0 0 450 300 gemwin 0;
#X obj 132 136 gemwin;
#X obj 67 89 outlet;
#X obj 67 10 inlet;
#X msg 67 70 set destroy;
#X msg 132 112 create \, 1;
#X msg 198 112 destroy;
#X msg 156 71 set create;
#X obj 67 41 route create;
#X connect 2 0 7 0;
#X connect 3 0 1 0;
#X connect 4 0 0 0;
#X connect 5 0 0 0;
#X connect 6 0 1 0;
#X connect 7 0 3 0;
#X connect 7 0 4 0;
#X connect 7 1 6 0;
#X connect 7 1 5 0;
#X restore 549 369 pd gemwin;
#X msg 549 350 create;
#X text 545 329 Create window:;
#X obj 451 173 cnv 15 185 120 empty empty empty 20 12 0 14 -24198 -66577
0;
#X obj 451 83 gemhead;
#X text 17 376 Outlet 1: gemlist;
#X text 24 281 Inlet 1: gemlist;
#X obj 451 300 pix_texture;
#X obj 451 151 pix_film;
#X obj 515 151 t f;
#X obj 464 103 bng 25 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#N canvas 0 0 450 300 open 0;
#X obj 85 49 inlet;
#X obj 85 237 outlet;
#X obj 85 145 openpanel;
#X msg 85 179 open \$1;
#X msg 259 213 auto 1;
#X obj 259 189 loadbang;
#X connect 0 0 2 0;
#X connect 2 0 3 0;
#X connect 3 0 1 0;
#X connect 4 0 1 0;
#X connect 5 0 4 0;
#X restore 464 131 pd open;
#X text 505 77 open a supported;
#X text 506 88 movie-clip;
#X text 523 114 macOS: quicktime;
#X text 516 104 windos: *.AVI;
#X text 523 124 linux: depends...;
#X floatatom 463 190 3 0 100 2 threshold - -;
#X obj 463 207 / 100;
#X text 50 12 Synopsis: [pix_blobtracker];
#X text 71 31 Class: pix object (analysis);
#X text 29 57 Description: blob detector and tracker;
#X obj 451 262 pix_blobtracker;
#X obj 451 322 square 4;
#X msg 463 228 threshold \$1;
#X floatatom 553 190 3 0 100 2 blobsize - -;
#X obj 553 207 / 100;
#X msg 553 228 blobSize \$1;
#N canvas 0 0 450 300 showblobs 0;
#X obj 67 113 route 0 1 2 3 4 5;
#N canvas 0 0 451 339 showblob 0;
#X obj 76 184 gemhead;
#X obj 76 266 translateXYZ;
#X obj 102 58 pack;
#X obj 102 34 inlet x|y;
#X obj 76 225 color 1 1 1;
#X obj 219 75 loadbang;
#X obj 219 122 random 256;
#X obj 219 143 / 256;
#X obj 219 185 hsv2rgb;
#X msg 219 166 \$1 1 1;
#X obj 219 97 t b b;
#X obj 76 286 sphere 0.2;
#X msg 249 233 0;
#X msg 216 233 0.2;
#X obj 216 254 f;
#X obj 298 47 t b;
#X obj 298 24 inlet reset;
#X obj 139 183 t f b;
#X obj 102 85 unpack;
#X obj 102 108 * 8;
#X obj 102 131 - 4;
#X obj 145 106 * 8;
#X obj 145 129 - 4;
#X connect 0 0 4 0;
#X connect 1 0 11 0;
#X connect 2 0 18 0;
#X connect 3 0 2 0;
#X connect 4 0 1 0;
#X connect 5 0 10 0;
#X connect 6 0 7 0;
#X connect 7 0 9 0;
#X connect 8 0 4 1;
#X connect 9 0 8 0;
#X connect 10 0 6 0;
#X connect 10 1 12 0;
#X connect 12 0 14 0;
#X connect 13 0 14 0;
#X connect 14 0 11 1;
#X connect 15 0 12 0;
#X connect 16 0 15 0;
#X connect 17 0 1 2;
#X connect 17 1 13 0;
#X connect 18 0 19 0;
#X connect 18 1 21 0;
#X connect 19 0 20 0;
#X connect 20 0 1 1;
#X connect 21 0 22 0;
#X connect 22 0 17 0;
#X restore 67 136 pd showblob;
#N canvas 0 0 451 339 showblob 0;
#X obj 76 184 gemhead;
#X obj 76 266 translateXYZ;
#X obj 102 58 pack;
#X obj 102 34 inlet x|y;
#X obj 76 225 color 1 1 1;
#X obj 219 75 loadbang;
#X obj 219 122 random 256;
#X obj 219 143 / 256;
#X obj 219 185 hsv2rgb;
#X msg 219 166 \$1 1 1;
#X obj 219 97 t b b;
#X obj 76 286 sphere 0.2;
#X msg 249 233 0;
#X msg 216 233 0.2;
#X obj 216 254 f;
#X obj 298 47 t b;
#X obj 298 24 inlet reset;
#X obj 139 183 t f b;
#X obj 102 85 unpack;
#X obj 102 108 * 8;
#X obj 102 131 - 4;
#X obj 145 106 * 8;
#X obj 145 129 - 4;
#X connect 0 0 4 0;
#X connect 1 0 11 0;
#X connect 2 0 18 0;
#X connect 3 0 2 0;
#X connect 4 0 1 0;
#X connect 5 0 10 0;
#X connect 6 0 7 0;
#X connect 7 0 9 0;
#X connect 8 0 4 1;
#X connect 9 0 8 0;
#X connect 10 0 6 0;
#X connect 10 1 12 0;
#X connect 12 0 14 0;
#X connect 13 0 14 0;
#X connect 14 0 11 1;
#X connect 15 0 12 0;
#X connect 16 0 15 0;
#X connect 17 0 1 2;
#X connect 17 1 13 0;
#X connect 18 0 19 0;
#X connect 18 1 21 0;
#X connect 19 0 20 0;
#X connect 20 0 1 1;
#X connect 21 0 22 0;
#X connect 22 0 17 0;
#X restore 86 155 pd showblob;
#N canvas 0 0 451 339 showblob 0;
#X obj 76 184 gemhead;
#X obj 76 266 translateXYZ;
#X obj 102 58 pack;
#X obj 102 34 inlet x|y;
#X obj 76 225 color 1 1 1;
#X obj 219 75 loadbang;
#X obj 219 122 random 256;
#X obj 219 143 / 256;
#X obj 219 185 hsv2rgb;
#X msg 219 166 \$1 1 1;
#X obj 219 97 t b b;
#X obj 76 286 sphere 0.2;
#X msg 249 233 0;
#X msg 216 233 0.2;
#X obj 216 254 f;
#X obj 298 47 t b;
#X obj 298 24 inlet reset;
#X obj 139 183 t f b;
#X obj 102 92 unpack;
#X obj 102 115 * 8;
#X obj 102 138 - 4;
#X obj 145 113 * 8;
#X obj 145 136 - 4;
#X connect 0 0 4 0;
#X connect 1 0 11 0;
#X connect 2 0 18 0;
#X connect 3 0 2 0;
#X connect 4 0 1 0;
#X connect 5 0 10 0;
#X connect 6 0 7 0;
#X connect 7 0 9 0;
#X connect 8 0 4 1;
#X connect 9 0 8 0;
#X connect 10 0 6 0;
#X connect 10 1 12 0;
#X connect 12 0 14 0;
#X connect 13 0 14 0;
#X connect 14 0 11 1;
#X connect 15 0 12 0;
#X connect 16 0 15 0;
#X connect 17 0 1 2;
#X connect 17 1 13 0;
#X connect 18 0 19 0;
#X connect 18 1 21 0;
#X connect 19 0 20 0;
#X connect 20 0 1 1;
#X connect 21 0 22 0;
#X connect 22 0 17 0;
#X restore 105 174 pd showblob;
#N canvas 0 0 451 339 showblob 0;
#X obj 76 184 gemhead;
#X obj 76 266 translateXYZ;
#X obj 102 58 pack;
#X obj 102 34 inlet x|y;
#X obj 76 225 color 1 1 1;
#X obj 219 75 loadbang;
#X obj 219 122 random 256;
#X obj 219 143 / 256;
#X obj 219 185 hsv2rgb;
#X msg 219 166 \$1 1 1;
#X obj 219 97 t b b;
#X obj 76 286 sphere 0.2;
#X msg 249 233 0;
#X msg 216 233 0.2;
#X obj 216 254 f;
#X obj 298 47 t b;
#X obj 298 24 inlet reset;
#X obj 139 183 t f b;
#X obj 102 85 unpack;
#X obj 102 108 * 8;
#X obj 102 131 - 4;
#X obj 145 106 * 8;
#X obj 145 129 - 4;
#X connect 0 0 4 0;
#X connect 1 0 11 0;
#X connect 2 0 18 0;
#X connect 3 0 2 0;
#X connect 4 0 1 0;
#X connect 5 0 10 0;
#X connect 6 0 7 0;
#X connect 7 0 9 0;
#X connect 8 0 4 1;
#X connect 9 0 8 0;
#X connect 10 0 6 0;
#X connect 10 1 12 0;
#X connect 12 0 14 0;
#X connect 13 0 14 0;
#X connect 14 0 11 1;
#X connect 15 0 12 0;
#X connect 16 0 15 0;
#X connect 17 0 1 2;
#X connect 17 1 13 0;
#X connect 18 0 19 0;
#X connect 18 1 21 0;
#X connect 19 0 20 0;
#X connect 20 0 1 1;
#X connect 21 0 22 0;
#X connect 22 0 17 0;
#X restore 124 193 pd showblob;
#N canvas 0 0 451 339 showblob 0;
#X obj 76 184 gemhead;
#X obj 76 266 translateXYZ;
#X obj 102 60 pack;
#X obj 102 34 inlet x|y;
#X obj 76 225 color 1 1 1;
#X obj 219 75 loadbang;
#X obj 219 122 random 256;
#X obj 219 143 / 256;
#X obj 219 185 hsv2rgb;
#X msg 219 166 \$1 1 1;
#X obj 219 97 t b b;
#X obj 76 286 sphere 0.2;
#X msg 249 233 0;
#X msg 216 233 0.2;
#X obj 216 254 f;
#X obj 298 47 t b;
#X obj 298 24 inlet reset;
#X obj 139 183 t f b;
#X obj 102 85 unpack;
#X obj 102 108 * 8;
#X obj 102 131 - 4;
#X obj 145 106 * 8;
#X obj 145 129 - 4;
#X connect 0 0 4 0;
#X connect 1 0 11 0;
#X connect 2 0 18 0;
#X connect 3 0 2 0;
#X connect 4 0 1 0;
#X connect 5 0 10 0;
#X connect 6 0 7 0;
#X connect 7 0 9 0;
#X connect 8 0 4 1;
#X connect 9 0 8 0;
#X connect 10 0 6 0;
#X connect 10 1 12 0;
#X connect 12 0 14 0;
#X connect 13 0 14 0;
#X connect 14 0 11 1;
#X connect 15 0 12 0;
#X connect 16 0 15 0;
#X connect 17 0 1 2;
#X connect 17 1 13 0;
#X connect 18 0 19 0;
#X connect 18 1 21 0;
#X connect 19 0 20 0;
#X connect 20 0 1 1;
#X connect 21 0 22 0;
#X connect 22 0 17 0;
#X restore 143 212 pd showblob;
#N canvas 0 0 451 339 showblob 0;
#X obj 76 184 gemhead;
#X obj 76 266 translateXYZ;
#X obj 102 58 pack;
#X obj 102 34 inlet x|y;
#X obj 76 225 color 1 1 1;
#X obj 219 75 loadbang;
#X obj 219 122 random 256;
#X obj 219 143 / 256;
#X obj 219 185 hsv2rgb;
#X msg 219 166 \$1 1 1;
#X obj 219 97 t b b;
#X obj 76 286 sphere 0.2;
#X msg 249 233 0;
#X msg 216 233 0.2;
#X obj 216 254 f;
#X obj 298 47 t b;
#X obj 298 24 inlet reset;
#X obj 139 183 t f b;
#X obj 102 85 unpack;
#X obj 102 108 * 8;
#X obj 102 131 - 4;
#X obj 145 106 * 8;
#X obj 145 129 - 4;
#X connect 0 0 4 0;
#X connect 1 0 11 0;
#X connect 2 0 18 0;
#X connect 3 0 2 0;
#X connect 4 0 1 0;
#X connect 5 0 10 0;
#X connect 6 0 7 0;
#X connect 7 0 9 0;
#X connect 8 0 4 1;
#X connect 9 0 8 0;
#X connect 10 0 6 0;
#X connect 10 1 12 0;
#X connect 12 0 14 0;
#X connect 13 0 14 0;
#X connect 14 0 11 1;
#X connect 15 0 12 0;
#X connect 16 0 15 0;
#X connect 17 0 1 2;
#X connect 17 1 13 0;
#X connect 18 0 19 0;
#X connect 18 1 21 0;
#X connect 19 0 20 0;
#X connect 20 0 1 1;
#X connect 21 0 22 0;
#X connect 22 0 17 0;
#X restore 162 231 pd showblob;
#X obj 67 86 inlet blobinformation;
#X connect 0 0 1 0;
#X connect 0 1 2 0;
#X connect 0 2 3 0;
#X connect 0 3 4 0;
#X connect 0 4 5 0;
#X connect 0 5 6 0;
#X connect 7 0 0 0;
#X restore 541 301 pd showblobs;
#X text 17 78 [pix_blobtracker] is able to detect multiple blobs within
an image and tries to keep track of which blob is which to keep indices
consistant while the blobs are moving.;
#X text 16 127 [pix_blobtracker] is an abstraction based on [pix_multiblob]
for blob-detection and some mtx-objects from "iemmatrix" (which you
need to have installed on your system!) to do the actual tracking.
;
#X text 64 237 int: max number of blobs to detect;
#X text 21 187 like [pix_multiblob] this object only takes the luminance
into account for blob-tracking;
#X text 20 408 see also:;
#X obj 104 405 pix_multiblob;
#X text 24 296 Inlet 1: threshold <float>: minimum luminance of a pixel
to be considered part of a blob. (default=0.04);
#X text 24 325 Inlet 1: blobSize <float>: minimum relative size of
a blob. (default=0.1);
#X connect 10 0 11 0;
#X connect 11 0 10 0;
#X connect 14 0 18 0;
#X connect 17 0 33 0;
#X connect 18 0 32 0;
#X connect 18 2 19 0;
#X connect 19 0 18 1;
#X connect 20 0 21 0;
#X connect 21 0 18 0;
#X connect 27 0 28 0;
#X connect 28 0 34 0;
#X connect 32 0 17 0;
#X connect 32 1 38 0;
#X connect 34 0 32 0;
#X connect 35 0 36 0;
#X connect 36 0 37 0;
#X connect 37 0 32 0;

View file

@ -1,132 +0,0 @@
#N canvas 77 45 654 552 10;
#X declare -lib Gem -lib iemmatrix;
#N canvas 0 0 571 399 matrix->indexlist 0;
#X obj 133 90 inlet;
#X obj 133 298 outlet;
#X obj 133 163 mtx;
#X msg 133 137 row;
#X obj 133 109 t b a b;
#X obj 212 227 i;
#X obj 239 228 + 1;
#X obj 133 248 pack 0 0 0 0;
#X obj 133 210 t l b;
#X msg 133 273 \$4 \$1 \$2 \$3;
#X msg 228 206 0;
#X msg 133 189 \$1 \$2 \$3;
#X connect 0 0 4 0;
#X connect 2 0 11 0;
#X connect 3 0 2 0;
#X connect 4 0 3 0;
#X connect 4 1 2 1;
#X connect 4 2 10 0;
#X connect 5 0 6 0;
#X connect 5 0 7 3;
#X connect 6 0 5 1;
#X connect 7 0 9 0;
#X connect 8 0 7 0;
#X connect 8 1 5 0;
#X connect 9 0 1 0;
#X connect 10 0 5 1;
#X connect 11 0 8 0;
#X restore 324 518 pd matrix->indexlist;
#X obj 97 197 inlet gemlist;
#X obj 97 402 outlet gemlist;
#X obj 231 429 t a;
#X obj 231 343 t a a;
#X obj 324 428 mtx_mul;
#X obj 354 490 outlet numblobs;
#X obj 324 449 t a a;
#X obj 354 471 mtx_size;
#X obj 231 363 mtx_resize \$1 2;
#N canvas 0 0 518 479 mtx_matcher 0;
#X obj 61 200 mtx_distance2;
#X obj 61 176 t a a;
#X obj 61 244 t a a;
#X obj 61 279 mtx_mul;
#X obj 61 325 outlet matched;
#X obj 171 325 outlet matcher;
#X obj 147 177 inlet dest;
#X obj 61 149 inlet source;
#X text 25 105 both "source" and "dest" must have the same number of
columns (dimension in feature-space);
#N canvas 0 0 618 479 mtx_rowpermutate 0;
#X obj 150 214 t b a;
#X obj 150 235 mtx;
#X obj 150 256 mtx_mul;
#X obj 111 192 mtx_pivot -1;
#X text 17 19 this unfortunately does not guarantee to give as a minimum
trace of the result!;
#X obj 150 309 outlet rowpermutator;
#X obj 111 141 inlet permutans;
#X connect 0 0 1 0;
#X connect 0 1 2 1;
#X connect 1 0 2 0;
#X connect 2 0 5 0;
#X connect 3 1 0 0;
#X connect 3 2 1 1;
#X connect 6 0 3 0;
#X restore 61 221 pd mtx_rowpermutate;
#X text 34 383 this algorithm is _far_ from being perfect! the [mtx_rowpermutate]
does not really guarantee that the trace of the result is a global
mimimum \; if it is not \, than the match will be sub-optimal! this
will be even worse \, if there are several _equal_ (sub)minima in the
distance-matrix.;
#X text 158 194 greater distances have an extra penalty (^2) \; is
this ok?;
#X text 32 52 we calculate the euclidean distance between the vectors
of the 2 sets and try to find a trace with minimum penalty;
#X text 32 22 this tries to get the best (weighted) match between 2
sets of feature-vectors.;
#X connect 0 0 9 0;
#X connect 1 0 0 0;
#X connect 1 1 3 1;
#X connect 2 0 3 0;
#X connect 2 1 5 0;
#X connect 3 0 4 0;
#X connect 6 0 0 1;
#X connect 7 0 1 0;
#X connect 9 0 2 0;
#X restore 231 397 pd mtx_matcher;
#X text 91 114 this blobtracker is far from being perfect. for an explanation
read the comments in [pd mtx_matcher];
#X text 93 536 we don't want to output "matrix" \, but pure pd-lists
instead;
#X obj 324 566 outlet bloblists;
#X text 344 402 this is the work-horse for the tracking;
#X text 95 10 part of Gem;
#X text 51 253 the work-horse for detection;
#X obj 301 224 loadbang;
#X obj 301 243 f \$1;
#X obj 301 262 moses 1;
#X msg 331 343 6 2;
#X obj 301 281 t b b;
#X text 56 155 TODO: output only those blobs that are really detected
;
#X obj 231 322 mtx_resize \$1 0;
#X msg 331 302 6 0;
#X obj 97 269 pix_multiblob \$1;
#X obj 97 30 declare -lib Gem -lib iemmatrix;
#X text 92 66 copyright (c) IOhannes m zmoelnig \, 2005 \; you may
use this under the terms of the GnuGPL v2.0 or later;
#X connect 0 0 13 0;
#X connect 1 0 25 0;
#X connect 3 0 10 1;
#X connect 4 0 9 0;
#X connect 4 1 5 1;
#X connect 5 0 7 0;
#X connect 7 0 0 0;
#X connect 7 1 8 0;
#X connect 8 0 6 0;
#X connect 9 0 10 0;
#X connect 10 0 3 0;
#X connect 10 1 5 0;
#X connect 17 0 18 0;
#X connect 18 0 19 0;
#X connect 19 0 21 0;
#X connect 20 0 9 1;
#X connect 21 0 20 0;
#X connect 21 1 24 0;
#X connect 23 0 4 0;
#X connect 24 0 23 1;
#X connect 25 0 2 0;
#X connect 25 1 23 0;

View file

@ -1,86 +0,0 @@
#N canvas 621 114 691 473 10;
#X obj 9 265 cnv 15 430 185 empty empty empty 20 12 0 14 -233017 -66577
0;
#X text 40 267 Inlets:;
#X obj 9 227 cnv 15 430 30 empty empty empty 20 12 0 14 -195568 -66577
0;
#X text 18 226 Arguments:;
#X obj 8 56 cnv 15 430 165 empty empty empty 20 12 0 14 -233017 -66577
0;
#X obj 449 77 cnv 15 200 280 empty empty empty 20 12 0 14 -228992 -66577
0;
#X text 453 60 Example:;
#X obj 536 293 cnv 15 100 60 empty empty empty 20 12 0 14 -195568 -66577
0;
#N canvas 0 22 450 300 gemwin 0;
#X obj 132 136 gemwin;
#X obj 67 89 outlet;
#X obj 67 10 inlet;
#X msg 67 70 set destroy;
#X msg 132 112 create \, 1;
#X msg 198 112 destroy;
#X msg 156 71 set create;
#X obj 67 41 route create;
#X connect 2 0 7 0;
#X connect 3 0 1 0;
#X connect 4 0 0 0;
#X connect 5 0 0 0;
#X connect 6 0 1 0;
#X connect 7 0 3 0;
#X connect 7 0 4 0;
#X connect 7 1 6 0;
#X connect 7 1 5 0;
#X restore 541 332 pd gemwin;
#X msg 541 313 create;
#X text 537 292 Create window:;
#X obj 461 206 cnv 15 180 30 empty empty empty 20 12 0 14 -24198 -66577
0;
#X text 71 31 Class: pix object;
#X text 64 237 list: <buffer_name>;
#X text 26 312 Inlet 1: message: set <buffer_name>: write to another
buffer.;
#X text 440 363 see also:;
#X obj 508 382 pix_buffer_read;
#X obj 461 84 bng 25 250 50 0 empty empty empty 0 -6 0 8 -262144 -1
-1;
#X obj 461 112 openpanel;
#X msg 461 156 open \$1 \$2;
#X obj 461 135 pack s 0;
#X msg 474 182 set depot;
#X obj 507 362 pix_buffer depot 10;
#X text 50 12 Synopsis: [pix_buffer_filmopen];
#X text 29 57 Description: reads a movie into a [pix_buffer];
#X text 11 79 [pix_buffer_filmopen] reads a movie into a named buffer
in the [pix_buffer] object \, starting at an (optional) bufferindex
(defaults to 0). The film is read as fast as possible and the entire
film is read \, so you might get clicks.;
#X text 13 151 This object is meant to be used at initialzation time.
;
#X text 26 280 Inlet 1: message: open <filename> <bufferindex>: read
a filename into buffer starting at index.;
#X text 15 172 This object needs the gemwindow to be created.;
#X obj 461 212 pix_buffer_filmopen depot;
#X obj 461 242 unpack f f f;
#X floatatom 461 264 5 0 0 0 - - -;
#X floatatom 495 264 5 0 0 0 - - -;
#X floatatom 530 264 5 0 0 0 - - -;
#X obj 632 262 bng 15 250 50 0 empty empty empty 17 7 0 10 -262144
-1 -1;
#X text 49 341 Outlets:;
#X text 26 356 Outlet 1: list: <length> <width> <height>: gets the
dimensions (in fps and pixels) of a film when it gets loaded. if length
is not available (video-streams) -1 is returned.;
#X text 26 413 Outlet 2: bangs when finished loading;
#X text 452 8 GEM abstraction;
#X connect 8 0 9 0;
#X connect 9 0 8 0;
#X connect 17 0 18 0;
#X connect 18 0 20 0;
#X connect 19 0 29 0;
#X connect 20 0 19 0;
#X connect 21 0 29 0;
#X connect 29 0 30 0;
#X connect 29 1 34 0;
#X connect 30 0 31 0;
#X connect 30 1 32 0;
#X connect 30 2 33 0;

View file

@ -1,78 +0,0 @@
#N canvas 1416 206 863 652 10;
#X obj 79 77 inlet;
#X obj 122 240 gemhead;
#X msg 153 263 open \$1;
#X obj 122 288 pix_film;
#X obj 180 382 until;
#X obj 180 342 t f b;
#X obj 180 402 i;
#X obj 213 403 + 1;
#X msg 122 215 0;
#X obj 122 193 loadbang;
#X obj 79 100 route set open;
#X msg 79 142 set \$1;
#X obj 122 503 pix_buffer_write \$1;
#X obj 153 158 unpack s 0;
#X obj 153 132 t a b;
#X obj 226 184 t f;
#X msg 231 158 0;
#X msg 219 80 open data/homer.avi 5;
#X obj 79 121 symbol;
#X obj 180 425 t b f f f;
#X msg 294 129 set myImages;
#X obj 220 451 + 0;
#X msg 225 382 0;
#X text 379 81 open film "data/homer.avi" and write it into buffer
starting at bufferposition "5";
#X text 392 132 set the buffer to write to;
#X text 63 29 read a film into a buffer;
#X text 356 244 TODO:;
#X text 401 244 set upper limit to write to;
#X text 400 259 guess write-limit from pix_buffer size;
#X text 361 328 ATTENTION:;
#X text 446 328 this object will only work with rendering turned on
;
#X obj 148 542 outlet info;
#X obj 277 542 outlet finished;
#X obj 223 344 t b;
#X text 413 451 (c) copyleft 2009 Max Neupert;
#X obj 148 316 t a a;
#X obj 148 465 t a b;
#X text 412 433 (c) copyleft 2008-2009 IOhannes m zmoelnig \, IEM \,
KUG;
#X connect 0 0 10 0;
#X connect 1 0 3 0;
#X connect 2 0 3 0;
#X connect 3 0 12 0;
#X connect 3 1 35 0;
#X connect 3 2 33 0;
#X connect 4 0 6 0;
#X connect 5 0 4 0;
#X connect 5 1 22 0;
#X connect 6 0 7 0;
#X connect 6 0 19 0;
#X connect 7 0 6 1;
#X connect 8 0 1 0;
#X connect 9 0 8 0;
#X connect 10 0 18 0;
#X connect 10 1 14 0;
#X connect 11 0 12 0;
#X connect 13 0 2 0;
#X connect 13 1 15 0;
#X connect 14 0 13 0;
#X connect 14 1 16 0;
#X connect 15 0 21 1;
#X connect 16 0 15 0;
#X connect 17 0 10 0;
#X connect 18 0 11 0;
#X connect 19 0 1 0;
#X connect 19 1 3 1;
#X connect 19 2 21 0;
#X connect 20 0 10 0;
#X connect 21 0 12 1;
#X connect 22 0 6 1;
#X connect 33 0 4 1;
#X connect 35 0 36 0;
#X connect 35 1 5 0;
#X connect 36 0 31 0;
#X connect 36 1 32 0;

197
externals/pix_write.pd vendored
View file

@ -1,197 +0,0 @@
#N canvas 1638 263 859 513 10;
#X obj 81 82 inlet gemlist;
#X obj 351 471 outlet gemlist;
#X obj 351 439 pix_writer;
#X obj 351 298 pix_snap;
#X obj 669 133 loadbang;
#N canvas 0 0 450 300 once 0;
#X obj 82 68 inlet;
#X obj 82 136 spigot;
#X obj 82 163 t a b;
#X msg 122 108 0;
#X obj 270 61 inlet reset;
#X obj 270 90 t b;
#X msg 269 113 1;
#X obj 82 197 outlet;
#X connect 0 0 1 0;
#X connect 1 0 2 0;
#X connect 2 0 7 0;
#X connect 2 1 3 0;
#X connect 3 0 1 1;
#X connect 4 0 5 0;
#X connect 5 0 6 0;
#X connect 6 0 1 1;
#X restore 374 245 pd once;
#X obj 351 192 t a b b;
#X msg 374 265 snap;
#X obj 420 224 i 0;
#X obj 438 198 r \$0-auto;
#X obj 460 223 r \$0-banged;
#X obj 81 204 s \$0-banged;
#X obj 81 182 t b;
#X obj 395 400 r \$0-banged;
#X obj 81 155 route bang auto file vert_size vert_pos;
#X obj 135 227 i;
#X obj 135 247 != 0;
#X obj 135 267 s \$0-auto;
#X obj 189 325 list prepend file;
#X obj 189 350 list trim;
#X obj 189 370 t a;
#X obj 474 59 inlet size;
#X obj 619 61 inlet pos;
#N canvas 1530 407 698 419 arguments 0;
#X obj 112 44 inlet init;
#X text 252 61 4: xoff yoff width height;
#X text 254 79 2: width height;
#X text 254 95 0:;
#N canvas 52 114 1249 422 argcount 0;
#X obj 69 46 inlet;
#X obj 50 178 select s;
#X obj 50 128 t b b;
#X obj 156 155 makefilename $%d-test;
#X obj 50 155 symbol \$1-test;
#X msg 156 135 1;
#X obj 570 178 select s;
#X obj 570 128 t b b;
#X obj 676 155 makefilename $%d-test;
#X obj 850 178 select s;
#X obj 850 128 t b b;
#X obj 956 155 makefilename $%d-test;
#X obj 1120 178 select s;
#X obj 1120 128 t b b;
#X obj 1226 155 makefilename $%d-test;
#X msg 676 135 3;
#X msg 956 135 4;
#X msg 1226 135 5;
#X obj 50 242 t f;
#X obj 27 306 f;
#X obj 322 61 t b b b b b;
#X obj 27 74 t b b b;
#X msg 73 291 -1;
#X obj 27 360 outlet;
#X obj 570 155 symbol \$3-test;
#X obj 850 155 symbol \$4-test;
#X obj 1120 155 symbol \$5-test;
#X msg 50 199 0;
#X obj 310 178 select s;
#X obj 310 128 t b b;
#X obj 416 155 makefilename $%d-test;
#X msg 416 135 2;
#X obj 310 155 symbol \$2-test;
#X msg 310 199 1;
#X msg 570 199 2;
#X msg 850 199 3;
#X msg 1120 199 4;
#X connect 0 0 21 0;
#X connect 1 0 27 0;
#X connect 2 0 4 0;
#X connect 2 1 5 0;
#X connect 3 0 1 1;
#X connect 4 0 1 0;
#X connect 5 0 3 0;
#X connect 6 0 34 0;
#X connect 7 0 24 0;
#X connect 7 1 15 0;
#X connect 8 0 6 1;
#X connect 9 0 35 0;
#X connect 10 0 25 0;
#X connect 10 1 16 0;
#X connect 11 0 9 1;
#X connect 12 0 36 0;
#X connect 13 0 26 0;
#X connect 13 1 17 0;
#X connect 14 0 12 1;
#X connect 15 0 8 0;
#X connect 16 0 11 0;
#X connect 17 0 14 0;
#X connect 18 0 19 1;
#X connect 19 0 23 0;
#X connect 20 0 2 0;
#X connect 20 1 29 0;
#X connect 20 2 7 0;
#X connect 20 3 10 0;
#X connect 20 4 13 0;
#X connect 21 0 19 0;
#X connect 21 1 20 0;
#X connect 21 2 22 0;
#X connect 22 0 19 1;
#X connect 24 0 6 0;
#X connect 25 0 9 0;
#X connect 26 0 12 0;
#X connect 27 0 18 0;
#X connect 28 0 33 0;
#X connect 29 0 32 0;
#X connect 29 1 31 0;
#X connect 30 0 28 1;
#X connect 31 0 30 0;
#X connect 32 0 28 0;
#X connect 33 0 18 0;
#X connect 34 0 18 0;
#X connect 35 0 18 0;
#X connect 36 0 18 0;
#X restore 112 118 pd argcount;
#X obj 112 181 list append \$1 \$2 \$3 \$4;
#X obj 112 142 select 4 2 0;
#X obj 112 312 pack 0 0 0 0;
#X obj 112 337 t l l;
#X obj 112 385 outlet offset;
#X obj 232 386 outlet size;
#X msg 112 362 \$1 \$2;
#X msg 232 362 \$3 \$4;
#X obj 139 211 list append 0 0 \$1 \$2;
#X obj 112 290 t a;
#X msg 193 255 0 0 128 128;
#X obj 193 232 t b b;
#X obj 283 275 print error;
#X msg 283 255 [pix_write] needs 0 2 or 4 arguments;
#X connect 0 0 4 0;
#X connect 4 0 6 0;
#X connect 5 0 14 0;
#X connect 6 0 5 0;
#X connect 6 1 13 0;
#X connect 6 3 16 0;
#X connect 7 0 8 0;
#X connect 8 0 11 0;
#X connect 8 1 12 0;
#X connect 11 0 9 0;
#X connect 12 0 10 0;
#X connect 13 0 14 0;
#X connect 14 0 7 0;
#X connect 15 0 14 0;
#X connect 16 0 15 0;
#X connect 16 1 18 0;
#X connect 18 0 17 0;
#X restore 669 152 pd arguments;
#X obj 538 364 r \$0-auto;
#X msg 538 385 auto \$1;
#X connect 0 0 14 0;
#X connect 2 0 1 0;
#X connect 3 0 2 0;
#X connect 4 0 23 0;
#X connect 5 0 7 0;
#X connect 6 0 3 0;
#X connect 6 1 5 0;
#X connect 6 2 8 0;
#X connect 7 0 3 0;
#X connect 8 0 5 1;
#X connect 9 0 8 1;
#X connect 10 0 5 1;
#X connect 12 0 11 0;
#X connect 13 0 2 0;
#X connect 14 0 12 0;
#X connect 14 1 15 0;
#X connect 14 2 18 0;
#X connect 14 3 3 1;
#X connect 14 4 3 2;
#X connect 14 5 6 0;
#X connect 15 0 16 0;
#X connect 16 0 17 0;
#X connect 18 0 19 0;
#X connect 19 0 20 0;
#X connect 20 0 2 0;
#X connect 21 0 3 1;
#X connect 22 0 3 2;
#X connect 23 0 3 2;
#X connect 23 1 3 1;
#X connect 24 0 25 0;
#X connect 25 0 2 0;

View file

@ -1,21 +0,0 @@
#N canvas 172 190 600 500 10;
#X text 124 68 GEM object;
#X text 138 23 rgb2hsv;
#X text 89 388 convert between RGB colorspace and HSV colorspace;
#X text 91 412 RGB is red \, green \, blue;
#X text 91 434 HSV is hue \, saturation \, value (luminance);
#X obj 123 220 rgb2hsv;
#X msg 122 156 1 0 0;
#X msg 357 160 0 1 1;
#X obj 123 299 print hsv;
#X obj 357 303 print rgb;
#X obj 357 226 hsv2rgb;
#X msg 414 159 0.6 1 0.5;
#X msg 185 155 0 0.2 0.5;
#X text 215 21 hsv2rgb;
#X connect 5 0 8 0;
#X connect 6 0 5 0;
#X connect 7 0 10 0;
#X connect 10 0 9 0;
#X connect 11 0 10 0;
#X connect 12 0 5 0;

301
externals/rgb2hsv.pd vendored
View file

@ -1,301 +0,0 @@
#N canvas 359 28 479 587 10;
#X obj 186 29 inlet;
#X obj 196 551 outlet;
#X obj 249 303 unpack 0 0 0;
#X obj 196 529 pack 0 0 0;
#X obj 186 142 t f f;
#X obj 186 163 t f f;
#X obj 186 185 -;
#X obj 186 224 /;
#X obj 186 244 t f f;
#X obj 145 266 select 0;
#X msg 145 286 0;
#X obj 186 204 t f f;
#N canvas 0 0 450 515 sort3 0;
#X obj 55 109 inlet;
#X obj 55 375 outlet;
#X obj 205 375 outlet;
#X obj 55 313 unpack;
#X obj 105 313 unpack;
#X obj 155 313 unpack;
#X msg 55 156 \$1 0;
#X msg 97 155 \$1 1;
#X msg 145 156 \$1 2;
#X obj 55 132 unpack 0 0 0;
#X obj 55 352 pack 0 0 0;
#X obj 205 352 pack 0 0 0;
#N canvas 0 0 489 412 sort_header 0;
#X obj 67 27 inlet;
#X obj 67 318 outlet;
#X obj 212 318 outlet;
#X obj 67 79 t f l;
#X obj 157 27 inlet;
#X obj 157 79 t f l;
#X obj 67 119 >;
#X obj 67 149 select 0 1;
#X obj 67 181 t b b;
#X obj 227 175 t b b;
#X obj 67 291 pack;
#X obj 83 250 unpack;
#X obj 67 271 f;
#X obj 117 291 pack;
#X obj 133 250 unpack;
#X obj 117 271 f;
#X obj 227 291 pack;
#X obj 243 250 unpack;
#X obj 227 271 f;
#X obj 277 291 pack;
#X obj 293 250 unpack;
#X obj 277 271 f;
#X connect 0 0 3 0;
#X connect 3 0 6 0;
#X connect 3 1 11 0;
#X connect 3 1 20 0;
#X connect 4 0 5 0;
#X connect 5 0 6 1;
#X connect 5 1 14 0;
#X connect 5 1 17 0;
#X connect 6 0 7 0;
#X connect 7 0 8 0;
#X connect 7 1 9 0;
#X connect 8 0 12 0;
#X connect 8 1 15 0;
#X connect 9 0 18 0;
#X connect 9 1 21 0;
#X connect 10 0 1 0;
#X connect 11 0 12 1;
#X connect 11 1 10 1;
#X connect 12 0 10 0;
#X connect 13 0 2 0;
#X connect 14 0 15 1;
#X connect 14 1 13 1;
#X connect 15 0 13 0;
#X connect 16 0 1 0;
#X connect 17 0 18 1;
#X connect 17 1 16 1;
#X connect 18 0 16 0;
#X connect 19 0 2 0;
#X connect 20 0 21 1;
#X connect 20 1 19 1;
#X connect 21 0 19 0;
#X restore 110 178 pd sort_header;
#N canvas 0 0 450 300 sort_header 0;
#X obj 67 27 inlet;
#X obj 67 318 outlet;
#X obj 212 318 outlet;
#X obj 67 79 t f l;
#X obj 157 27 inlet;
#X obj 157 79 t f l;
#X obj 67 119 >;
#X obj 67 149 select 0 1;
#X obj 67 181 t b b;
#X obj 227 175 t b b;
#X obj 67 291 pack;
#X obj 83 250 unpack;
#X obj 67 271 f;
#X obj 117 291 pack;
#X obj 133 250 unpack;
#X obj 117 271 f;
#X obj 227 291 pack;
#X obj 243 250 unpack;
#X obj 227 271 f;
#X obj 277 291 pack;
#X obj 293 250 unpack;
#X obj 277 271 f;
#X connect 0 0 3 0;
#X connect 3 0 6 0;
#X connect 3 1 11 0;
#X connect 3 1 20 0;
#X connect 4 0 5 0;
#X connect 5 0 6 1;
#X connect 5 1 14 0;
#X connect 5 1 17 0;
#X connect 6 0 7 0;
#X connect 7 0 8 0;
#X connect 7 1 9 0;
#X connect 8 0 12 0;
#X connect 8 1 15 0;
#X connect 9 0 18 0;
#X connect 9 1 21 0;
#X connect 10 0 1 0;
#X connect 11 0 12 1;
#X connect 11 1 10 1;
#X connect 12 0 10 0;
#X connect 13 0 2 0;
#X connect 14 0 15 1;
#X connect 14 1 13 1;
#X connect 15 0 13 0;
#X connect 16 0 1 0;
#X connect 17 0 18 1;
#X connect 17 1 16 1;
#X connect 18 0 16 0;
#X connect 19 0 2 0;
#X connect 20 0 21 1;
#X connect 20 1 19 1;
#X connect 21 0 19 0;
#X restore 55 205 pd sort_header;
#N canvas 0 0 450 300 sort_header 0;
#X obj 67 27 inlet;
#X obj 67 318 outlet;
#X obj 212 318 outlet;
#X obj 67 79 t f l;
#X obj 157 27 inlet;
#X obj 157 79 t f l;
#X obj 67 119 >;
#X obj 67 149 select 0 1;
#X obj 67 181 t b b;
#X obj 227 175 t b b;
#X obj 67 291 pack;
#X obj 83 250 unpack;
#X obj 67 271 f;
#X obj 117 291 pack;
#X obj 133 250 unpack;
#X obj 117 271 f;
#X obj 227 291 pack;
#X obj 243 250 unpack;
#X obj 227 271 f;
#X obj 277 291 pack;
#X obj 293 250 unpack;
#X obj 277 271 f;
#X connect 0 0 3 0;
#X connect 3 0 6 0;
#X connect 3 1 11 0;
#X connect 3 1 20 0;
#X connect 4 0 5 0;
#X connect 5 0 6 1;
#X connect 5 1 14 0;
#X connect 5 1 17 0;
#X connect 6 0 7 0;
#X connect 7 0 8 0;
#X connect 7 1 9 0;
#X connect 8 0 12 0;
#X connect 8 1 15 0;
#X connect 9 0 18 0;
#X connect 9 1 21 0;
#X connect 10 0 1 0;
#X connect 11 0 12 1;
#X connect 11 1 10 1;
#X connect 12 0 10 0;
#X connect 13 0 2 0;
#X connect 14 0 15 1;
#X connect 14 1 13 1;
#X connect 15 0 13 0;
#X connect 16 0 1 0;
#X connect 17 0 18 1;
#X connect 17 1 16 1;
#X connect 18 0 16 0;
#X connect 19 0 2 0;
#X connect 20 0 21 1;
#X connect 20 1 19 1;
#X connect 21 0 19 0;
#X restore 116 236 pd sort_header;
#X connect 0 0 9 0;
#X connect 3 0 10 0;
#X connect 3 1 11 0;
#X connect 4 0 10 1;
#X connect 4 1 11 1;
#X connect 5 0 10 2;
#X connect 5 1 11 2;
#X connect 6 0 13 0;
#X connect 7 0 12 0;
#X connect 8 0 12 1;
#X connect 9 0 6 0;
#X connect 9 1 7 0;
#X connect 9 2 8 0;
#X connect 10 0 1 0;
#X connect 11 0 2 0;
#X connect 12 0 13 1;
#X connect 12 1 14 1;
#X connect 13 0 3 0;
#X connect 13 1 14 0;
#X connect 14 0 4 0;
#X connect 14 1 5 0;
#X restore 186 77 pd sort3;
#X msg 186 98 \$3 \$1;
#X obj 186 121 unpack;
#X msg 239 98 \$3;
#X obj 196 398 -;
#X obj 240 379 t f f f;
#X obj 233 438 + 2;
#X obj 233 398 -;
#X obj 268 398 -;
#X obj 268 418 /;
#X obj 233 418 /;
#X obj 196 418 /;
#X obj 268 438 + 4;
#N canvas 0 0 450 300 select3 0;
#X obj 106 87 inlet;
#X obj 234 85 inlet;
#X obj 115 222 outlet;
#X obj 232 107 unpack 0 0 0;
#X obj 117 194 f;
#X obj 180 192 f;
#X obj 240 190 f;
#X obj 110 137 select 0 1 2;
#X obj 184 224 outlet;
#X obj 236 222 outlet;
#X connect 0 0 7 0;
#X connect 1 0 3 0;
#X connect 3 0 4 1;
#X connect 3 1 5 1;
#X connect 3 2 6 1;
#X connect 4 0 2 0;
#X connect 5 0 8 0;
#X connect 6 0 9 0;
#X connect 7 0 5 0;
#X connect 7 1 6 0;
#X connect 7 2 4 0;
#X restore 196 329 pd select3;
#X obj 196 287 b;
#X obj 196 307 i;
#X obj 186 55 t l l l;
#X obj 196 480 moses 0;
#X obj 196 459 / 6;
#X obj 196 500 + 1;
#X connect 0 0 28 0;
#X connect 2 0 19 1;
#X connect 2 1 20 1;
#X connect 2 2 16 1;
#X connect 3 0 1 0;
#X connect 4 0 5 0;
#X connect 4 1 3 2;
#X connect 5 0 6 0;
#X connect 5 1 7 1;
#X connect 6 0 11 0;
#X connect 7 0 8 0;
#X connect 8 0 9 0;
#X connect 8 1 3 1;
#X connect 9 0 10 0;
#X connect 9 1 26 0;
#X connect 10 0 3 0;
#X connect 11 0 7 0;
#X connect 11 1 17 0;
#X connect 12 0 13 0;
#X connect 12 1 15 0;
#X connect 13 0 14 0;
#X connect 14 0 4 0;
#X connect 14 1 6 1;
#X connect 15 0 27 1;
#X connect 16 0 23 0;
#X connect 17 0 23 1;
#X connect 17 1 22 1;
#X connect 17 2 21 1;
#X connect 18 0 30 0;
#X connect 19 0 22 0;
#X connect 20 0 21 0;
#X connect 21 0 24 0;
#X connect 22 0 18 0;
#X connect 23 0 30 0;
#X connect 24 0 30 0;
#X connect 25 0 20 0;
#X connect 25 1 16 0;
#X connect 25 2 19 0;
#X connect 26 0 27 0;
#X connect 27 0 25 0;
#X connect 28 0 12 0;
#X connect 28 1 2 0;
#X connect 28 2 25 1;
#X connect 29 0 31 0;
#X connect 29 1 3 0;
#X connect 30 0 29 0;
#X connect 31 0 3 0;

View file

@ -1,36 +0,0 @@
#N canvas 457 99 472 501 10;
#X text 333 19 GEM object;
#X text 91 412 RGB is red \, green \, blue;
#X text 91 434 YUV is luma and chroma;
#X obj 119 207 cnv 15 70 40 empty empty empty 20 12 0 14 -24198 -66577
0;
#X obj 123 218 rgb2yuv;
#X msg 163 182 1 0 0;
#X msg 155 156 0 0.2 0.5;
#X obj 123 257 unpack 0 0 0;
#X floatatom 178 84 5 0 1 1 Blue - -;
#X floatatom 141 67 5 0 1 1 Green - -;
#X floatatom 123 49 5 0 1 1 Red - -;
#X obj 123 122 pack 0 0 0;
#X obj 141 103 t b f;
#X obj 178 103 t b f;
#X text 83 9 [rgb2yuv];
#X text 175 11 [yuv2rgb];
#X text 89 388 convert between RGB colorspace and YUV colorspace;
#X floatatom 190 284 5 0 1 1 V=ChromaR - -;
#X floatatom 156 305 5 0 1 1 U=ChromaB - -;
#X floatatom 123 327 5 0 1 1 Y=Luma - -;
#X connect 4 0 7 0;
#X connect 5 0 4 0;
#X connect 6 0 4 0;
#X connect 7 0 19 0;
#X connect 7 1 18 0;
#X connect 7 2 17 0;
#X connect 8 0 13 0;
#X connect 9 0 12 0;
#X connect 10 0 11 0;
#X connect 11 0 4 0;
#X connect 12 0 11 0;
#X connect 12 1 11 1;
#X connect 13 0 11 0;
#X connect 13 1 11 2;

105
externals/rgb2yuv.pd vendored
View file

@ -1,105 +0,0 @@
#N canvas 236 111 450 476 10;
#N canvas 286 158 450 300 rgb2y 0;
#X obj 82 57 inlet;
#X obj 82 236 outlet;
#X obj 82 119 * 65.738;
#X obj 143 120 * 129.075;
#X obj 215 119 * 25.064;
#X obj 82 142 +;
#X obj 82 164 +;
#X obj 82 207 + 16;
#X obj 82 186 / 256;
#X obj 143 57 inlet;
#X obj 215 57 inlet;
#X connect 0 0 2 0;
#X connect 2 0 5 0;
#X connect 3 0 5 1;
#X connect 4 0 6 1;
#X connect 5 0 6 0;
#X connect 6 0 8 0;
#X connect 7 0 1 0;
#X connect 8 0 7 0;
#X connect 9 0 3 0;
#X connect 10 0 4 0;
#X restore 103 206 pd rgb2y;
#N canvas 286 158 450 300 rgb2u 0;
#X obj 82 57 inlet;
#X obj 82 236 outlet;
#X obj 82 142 +;
#X obj 82 164 +;
#X obj 82 186 / 256;
#X obj 82 119 * -37.945;
#X obj 143 120 * -74.494;
#X obj 215 119 * 112.439;
#X obj 82 207 + 128;
#X obj 143 57 inlet;
#X obj 215 57 inlet;
#X connect 0 0 5 0;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 4 0 8 0;
#X connect 5 0 2 0;
#X connect 6 0 2 1;
#X connect 7 0 3 1;
#X connect 8 0 1 0;
#X connect 9 0 6 0;
#X connect 10 0 7 0;
#X restore 163 206 pd rgb2u;
#N canvas 286 158 450 300 rgb2v 0;
#X obj 82 57 inlet;
#X obj 82 236 outlet;
#X obj 82 142 +;
#X obj 82 164 +;
#X obj 82 186 / 256;
#X obj 82 207 + 128;
#X obj 82 119 * 112.439;
#X obj 143 120 * -94.154;
#X obj 215 119 * -18.285;
#X obj 143 57 inlet;
#X obj 215 57 inlet;
#X connect 0 0 6 0;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 4 0 5 0;
#X connect 5 0 1 0;
#X connect 6 0 2 0;
#X connect 7 0 2 1;
#X connect 8 0 3 1;
#X connect 9 0 7 0;
#X connect 10 0 8 0;
#X restore 224 207 pd rgb2v;
#X text 106 37 convert RGB to YUV;
#X obj 103 245 pack 0 0 0;
#X obj 103 69 inlet RGB;
#X obj 103 104 pack \$1 \$2 \$3;
#X obj 103 353 outlet YUV;
#X obj 103 226 / 256;
#X obj 163 226 / 256;
#X obj 224 226 / 256;
#X obj 103 125 unpack 0 0 0;
#X obj 103 166 t f f f;
#X obj 103 146 * 256;
#X obj 136 146 * 256;
#X obj 170 146 * 256;
#X connect 0 0 8 0;
#X connect 1 0 9 0;
#X connect 2 0 10 0;
#X connect 4 0 7 0;
#X connect 5 0 6 0;
#X connect 6 0 11 0;
#X connect 8 0 4 0;
#X connect 9 0 4 1;
#X connect 10 0 4 2;
#X connect 11 0 13 0;
#X connect 11 1 14 0;
#X connect 11 2 15 0;
#X connect 12 0 0 0;
#X connect 12 1 1 0;
#X connect 12 2 2 0;
#X connect 13 0 12 0;
#X connect 14 0 0 1;
#X connect 14 0 1 1;
#X connect 14 0 2 1;
#X connect 15 0 2 2;
#X connect 15 0 1 2;
#X connect 15 0 0 2;

View file

@ -1,35 +0,0 @@
#N canvas 172 190 600 500 10;
#X text 418 26 GEM object;
#X text 91 412 RGB is red \, green \, blue;
#X text 91 434 YUV is luma and chroma;
#X obj 121 206 cnv 15 70 40 empty empty empty 20 12 0 14 -24198 -66577
0;
#X obj 125 256 unpack 0 0 0;
#X floatatom 204 278 5 0 0 1 Blue - -;
#X floatatom 164 298 5 0 0 1 Green - -;
#X floatatom 125 321 5 0 0 1 Red - -;
#X obj 125 217 yuv2rgb;
#X msg 165 152 0 1 1;
#X msg 187 176 0.6 1 0.5;
#X floatatom 180 94 5 0 1 1 V=ChromaR - -;
#X floatatom 143 76 5 0 1 1 U=ChromaB - -;
#X floatatom 125 58 5 0 1 1 Y=Luma - -;
#X obj 125 130 pack 0 0 0;
#X obj 143 111 t b f;
#X obj 180 111 t b f;
#X text 175 11 [yuv2rgb];
#X text 89 388 convert between YUV colorspace and RGB colorspace;
#X connect 4 0 7 0;
#X connect 4 1 6 0;
#X connect 4 2 5 0;
#X connect 8 0 4 0;
#X connect 9 0 8 0;
#X connect 10 0 8 0;
#X connect 11 0 16 0;
#X connect 12 0 15 0;
#X connect 13 0 14 0;
#X connect 14 0 8 0;
#X connect 15 0 14 0;
#X connect 15 1 14 1;
#X connect 16 0 14 0;
#X connect 16 1 14 2;

84
externals/yuv2rgb.pd vendored
View file

@ -1,84 +0,0 @@
#N canvas 574 31 450 414 10;
#X obj 103 96 unpack 0 0 0;
#X obj 103 140 - 16;
#X obj 136 140 - 128;
#X obj 170 140 - 128;
#X obj 103 163 * 298.082;
#X obj 136 186 pack;
#N canvas 0 0 450 300 yu2r 0;
#X obj 128 46 inlet;
#X obj 130 234 outlet;
#X obj 128 69 unpack;
#X obj 130 110 * 408.583;
#X connect 0 0 2 0;
#X connect 2 1 3 0;
#X connect 3 0 1 0;
#X restore 136 234 pd yu2r;
#N canvas 0 0 450 300 yu2g 0;
#X obj 128 46 inlet;
#X obj 128 164 outlet;
#X obj 128 69 unpack;
#X obj 159 108 * -208.12;
#X obj 128 89 * -100.291;
#X obj 128 135 +;
#X connect 0 0 2 0;
#X connect 2 0 4 0;
#X connect 2 1 3 0;
#X connect 3 0 5 1;
#X connect 4 0 5 0;
#X connect 5 0 1 0;
#X restore 186 234 pd yu2g;
#N canvas 0 0 450 300 yu2b 0;
#X obj 128 46 inlet;
#X obj 128 234 outlet;
#X obj 128 69 unpack;
#X obj 128 110 * 516.411;
#X connect 0 0 2 0;
#X connect 2 0 3 0;
#X connect 3 0 1 0;
#X restore 257 234 pd yu2b;
#X obj 136 207 t l l l;
#X obj 103 289 +;
#X obj 103 263 t f f f;
#X obj 173 289 +;
#X obj 244 289 +;
#X obj 103 74 pack \$1 \$2 \$3;
#X obj 103 49 inlet YUV;
#X obj 103 341 pack 0 0 0;
#X obj 103 380 outlet RGB;
#X obj 103 118 * 256;
#X obj 136 118 * 256;
#X obj 170 118 * 256;
#X obj 103 312 / 65536;
#X obj 173 312 / 65536;
#X obj 244 312 / 65536;
#X text 102 26 convert YUV to RGB (everything is 0..1);
#X connect 0 0 18 0;
#X connect 0 1 19 0;
#X connect 0 2 20 0;
#X connect 1 0 4 0;
#X connect 2 0 5 0;
#X connect 3 0 5 1;
#X connect 4 0 11 0;
#X connect 5 0 9 0;
#X connect 6 0 10 1;
#X connect 7 0 12 1;
#X connect 8 0 13 1;
#X connect 9 0 6 0;
#X connect 9 1 7 0;
#X connect 9 2 8 0;
#X connect 10 0 21 0;
#X connect 11 0 10 0;
#X connect 11 1 12 0;
#X connect 11 2 13 0;
#X connect 12 0 22 0;
#X connect 13 0 23 0;
#X connect 14 0 0 0;
#X connect 15 0 14 0;
#X connect 16 0 17 0;
#X connect 18 0 1 0;
#X connect 19 0 2 0;
#X connect 20 0 3 0;
#X connect 21 0 16 0;
#X connect 22 0 16 1;
#X connect 23 0 16 2;

View file

@ -0,0 +1,14 @@
// This may look like C code, but it is really -*- C++ -*-
//
// Copyright Bob Friesenhahn, 1999, 2000
//
// Simplified includes for Magick++.
// Inclusion of this header is sufficient to use all Magick++ APIs.
//
#ifndef MagickPlusPlus_Header
#include <Magick++/Include.h>
#include <Magick++/Image.h>
#include <Magick++/Pixels.h>
#include <Magick++/STL.h>
#define MagickPlusPlus_Header
#endif // MagickPlusPlus_Header

View file

@ -0,0 +1,82 @@
// This may look like C code, but it is really -*- C++ -*-
//
// Copyright Bob Friesenhahn, 1999, 2000, 2001, 2002
//
// Reference counted container class for Binary Large Objects (BLOBs)
//
#if !defined(Magick_BlobRef_header)
#define Magick_BlobRef_header
#include "Magick++/Include.h"
#include <string>
namespace Magick
{
// Forward decl
class BlobRef;
class MagickPPExport Blob
{
public:
enum Allocator
{
MallocAllocator,
NewAllocator
};
// Default constructor
Blob ( void );
// Construct object with data, making a copy of the supplied data.
Blob ( const void* data_, size_t length_ );
// Copy constructor (reference counted)
Blob ( const Blob& blob_ );
// Destructor (reference counted)
virtual ~Blob ();
// Assignment operator (reference counted)
Blob& operator= ( const Blob& blob_ );
// Update object contents from Base64-encoded string representation.
void base64 ( const std::string base64_ );
// Return Base64-encoded string representation.
std::string base64 ( void );
// Update object contents, making a copy of the supplied data.
// Any existing data in the object is deallocated.
void update ( const void* data_, size_t length_ );
// Update object contents, using supplied pointer directly (no
// copy). Any existing data in the object is deallocated. The user
// must ensure that the pointer supplied is not deleted or
// otherwise modified after it has been supplied to this method.
// Specify allocator_ as "MallocAllocator" if memory is allocated
// via the C language malloc() function, or "NewAllocator" if
// memory is allocated via C++ 'new'.
void updateNoCopy ( void* data_, size_t length_,
Allocator allocator_ = NewAllocator );
// Obtain pointer to data. The user should never try to modify or
// free this data since the Blob class manages its own data. The
// user must be finished with the data before allowing the Blob to
// be destroyed since the pointer is invalid once the Blob is
// destroyed.
const void* data ( void ) const;
// Obtain data length
size_t length ( void ) const;
protected:
private:
BlobRef * _blobRef;
};
} // namespace Magick
#endif // Magick_BlobRef_header

View file

@ -0,0 +1,79 @@
// This may look like C code, but it is really -*- C++ -*-
//
// Copyright Bob Friesenhahn, 2001, 2002
//
// CoderInfo Definition
//
// Container for image format support information.
//
#if !defined (Magick_CoderInfo_header)
#define Magick_CoderInfo_header 1
#include "Magick++/Include.h"
#include <string>
namespace Magick
{
class MagickPPExport CoderInfo
{
public:
enum MatchType {
AnyMatch, // match any coder
TrueMatch, // match coder if true
FalseMatch // match coder if false
};
// Default constructor
CoderInfo ( void );
// Copy constructor
CoderInfo ( const CoderInfo &coder_ );
// Construct with coder name
CoderInfo ( const std::string &name_ );
// Destructor
~CoderInfo ( void );
// Format name
std::string name( void ) const;
// Format description
std::string description( void ) const;
// Format is readable
bool isReadable( void ) const;
// Format is writeable
bool isWritable( void ) const;
// Format supports multiple frames
bool isMultiFrame( void ) const;
// Assignment operator
CoderInfo& operator= (const CoderInfo &coder_ );
//
// Implemementation methods
//
CoderInfo ( const MagickCore::MagickInfo *magickInfo_ );
private:
std::string _name;
std::string _description;
bool _isReadable;
bool _isWritable;
bool _isMultiFrame;
};
} // namespace Magick
//
// Inlines
//
#endif // Magick_CoderInfo_header

View file

@ -0,0 +1,464 @@
// This may look like C code, but it is really -*- C++ -*-
//
// Copyright Bob Friesenhahn, 1999, 2000, 2001, 2002, 2003, 2008
//
// Color Implementation
//
#if !defined (Magick_Color_header)
#define Magick_Color_header
#include "Magick++/Include.h"
#include <string>
namespace Magick
{
class MagickPPExport Color;
// Compare two Color objects regardless of LHS/RHS
int MagickPPExport operator == ( const Magick::Color& left_, const Magick::Color& right_ );
int MagickPPExport operator != ( const Magick::Color& left_, const Magick::Color& right_ );
int MagickPPExport operator > ( const Magick::Color& left_, const Magick::Color& right_ );
int MagickPPExport operator < ( const Magick::Color& left_, const Magick::Color& right_ );
int MagickPPExport operator >= ( const Magick::Color& left_, const Magick::Color& right_ );
int MagickPPExport operator <= ( const Magick::Color& left_, const Magick::Color& right_ );
// Base color class stores RGB components scaled to fit Quantum
class MagickPPExport Color
{
public:
Color ( Quantum red_,
Quantum green_,
Quantum blue_ );
Color ( Quantum red_,
Quantum green_,
Quantum blue_,
Quantum alpha_ );
Color ( const std::string &x11color_ );
Color ( const char * x11color_ );
Color ( void );
virtual ~Color ( void );
Color ( const Color & color_ );
// Red color (range 0 to QuantumRange)
void redQuantum ( Quantum red_ );
Quantum redQuantum ( void ) const;
// Green color (range 0 to QuantumRange)
void greenQuantum ( Quantum green_ );
Quantum greenQuantum ( void ) const;
// Blue color (range 0 to QuantumRange)
void blueQuantum ( Quantum blue_ );
Quantum blueQuantum ( void ) const;
// Alpha level (range OpaqueOpacity=0 to TransparentOpacity=QuantumRange)
void alphaQuantum ( Quantum alpha_ );
Quantum alphaQuantum ( void ) const;
// Scaled (to 1.0) version of alpha for use in sub-classes
// (range opaque=0 to transparent=1.0)
void alpha ( double alpha_ );
double alpha ( void ) const;
// Does object contain valid color?
void isValid ( bool valid_ );
bool isValid ( void ) const;
// Set color via X11 color specification string
const Color& operator= ( const std::string &x11color_ );
const Color& operator= ( const char * x11color_ );
// Assignment operator
Color& operator= ( const Color& color_ );
// Return X11 color specification string
/* virtual */ operator std::string() const;
// Return ImageMagick PixelPacket
operator PixelPacket() const;
// Construct color via ImageMagick PixelPacket
Color ( const PixelPacket &color_ );
// Set color via ImageMagick PixelPacket
const Color& operator= ( const PixelPacket &color_ );
//
// Public methods beyond this point are for Magick++ use only.
//
// Obtain pixel intensity as a double
double intensity ( void ) const
{
return (0.299*(_pixel->red)+0.587*(_pixel->green)+0.114*(_pixel->blue));
}
// Scale a value expressed as a double (0-1) to Quantum range (0-QuantumRange)
static Quantum scaleDoubleToQuantum( const double double_ )
{
return (static_cast<Magick::Quantum>(double_*QuantumRange));
}
// Scale a value expressed as a Quantum (0-QuantumRange) to double range (0-1)
#if (MAGICKCORE_QUANTUM_DEPTH < 64)
static double scaleQuantumToDouble( const Quantum quantum_ )
{
return (static_cast<double>(quantum_)/QuantumRange);
}
#endif
static double scaleQuantumToDouble( const double quantum_ )
{
return (quantum_/QuantumRange);
}
protected:
// PixelType specifies the interpretation of PixelPacket members
// RGBPixel:
// Red = red;
// Green = green;
// Blue = blue;
// RGBAPixel:
// Red = red;
// Green = green;
// Blue = blue;
// Alpha = opacity;
// CYMKPixel:
// Cyan = red
// Yellow = green
// Magenta = blue
// Black(K) = opacity
enum PixelType
{
RGBPixel,
RGBAPixel,
CYMKPixel
};
// Constructor to construct with PixelPacket*
// Used to point Color at a pixel in an image
Color ( PixelPacket* rep_, PixelType pixelType_ );
// Set pixel
// Used to point Color at a pixel in an image
void pixel ( PixelPacket* rep_, PixelType pixelType_ );
// PixelPacket represents a color pixel:
// red = red (range 0 to QuantumRange)
// green = green (range 0 to QuantumRange)
// blue = blue (range 0 to QuantumRange)
// opacity = alpha (range OpaqueOpacity=0 to TransparentOpacity=QuantumRange)
// index = PseudoColor colormap index
PixelPacket* _pixel;
private:
// Common initializer for PixelPacket representation
void initPixel();
// Set true if we allocated pixel
bool _pixelOwn;
// Set true if pixel is "valid"
bool _isValid;
// Color type supported by _pixel
PixelType _pixelType;
};
//
// HSL Colorspace colors
//
class MagickPPExport ColorHSL : public Color
{
public:
ColorHSL ( double hue_, double saturation_, double luminosity_ );
ColorHSL ( void );
ColorHSL ( const Color & color_ );
/* virtual */ ~ColorHSL ( );
void hue ( double hue_ );
double hue ( void ) const;
void saturation ( double saturation_ );
double saturation ( void ) const;
void luminosity ( double luminosity_ );
double luminosity ( void ) const;
// Assignment operator from base class
ColorHSL& operator= ( const Color& color_ );
protected:
// Constructor to construct with PixelPacket*
ColorHSL ( PixelPacket* rep_, PixelType pixelType_ );
};
//
// Grayscale RGB color
//
// Grayscale is simply RGB with equal parts of red, green, and blue
// All double arguments have a valid range of 0.0 - 1.0.
class MagickPPExport ColorGray : public Color
{
public:
ColorGray ( double shade_ );
ColorGray ( void );
ColorGray ( const Color & color_ );
/* virtual */ ~ColorGray ();
void shade ( double shade_ );
double shade ( void ) const;
// Assignment operator from base class
ColorGray& operator= ( const Color& color_ );
protected:
// Constructor to construct with PixelPacket*
ColorGray ( PixelPacket* rep_, PixelType pixelType_ );
};
//
// Monochrome color
//
// Color arguments are constrained to 'false' (black pixel) and 'true'
// (white pixel)
class MagickPPExport ColorMono : public Color
{
public:
ColorMono ( bool mono_ );
ColorMono ( void );
ColorMono ( const Color & color_ );
/* virtual */ ~ColorMono ();
void mono ( bool mono_ );
bool mono ( void ) const;
// Assignment operator from base class
ColorMono& operator= ( const Color& color_ );
protected:
// Constructor to construct with PixelPacket*
ColorMono ( PixelPacket* rep_, PixelType pixelType_ );
};
//
// RGB color
//
// All color arguments have a valid range of 0.0 - 1.0.
class MagickPPExport ColorRGB : public Color
{
public:
ColorRGB ( double red_, double green_, double blue_ );
ColorRGB ( void );
ColorRGB ( const Color & color_ );
/* virtual */ ~ColorRGB ( void );
void red ( double red_ );
double red ( void ) const;
void green ( double green_ );
double green ( void ) const;
void blue ( double blue_ );
double blue ( void ) const;
// Assignment operator from base class
ColorRGB& operator= ( const Color& color_ );
protected:
// Constructor to construct with PixelPacket*
ColorRGB ( PixelPacket* rep_, PixelType pixelType_ );
};
//
// YUV Colorspace color
//
// Argument ranges:
// Y: 0.0 through 1.0
// U: -0.5 through 0.5
// V: -0.5 through 0.5
class MagickPPExport ColorYUV : public Color
{
public:
ColorYUV ( double y_, double u_, double v_ );
ColorYUV ( void );
ColorYUV ( const Color & color_ );
/* virtual */ ~ColorYUV ( void );
void u ( double u_ );
double u ( void ) const;
void v ( double v_ );
double v ( void ) const;
void y ( double y_ );
double y ( void ) const;
// Assignment operator from base class
ColorYUV& operator= ( const Color& color_ );
protected:
// Constructor to construct with PixelPacket*
ColorYUV ( PixelPacket* rep_, PixelType pixelType_ );
};
} // namespace Magick
//
// Inlines
//
//
// Color
//
// Common initializer for PixelPacket representation
// Initialized transparent black
inline void Magick::Color::initPixel()
{
_pixel->red = 0;
_pixel->green = 0;
_pixel->blue = 0;
_pixel->opacity = TransparentOpacity;
}
inline void Magick::Color::redQuantum ( Magick::Quantum red_ )
{
_pixel->red = red_;
_isValid = true;
}
inline Magick::Quantum Magick::Color::redQuantum ( void ) const
{
return _pixel->red;
}
inline void Magick::Color::greenQuantum ( Magick::Quantum green_ )
{
_pixel->green = green_;
_isValid = true;
}
inline Magick::Quantum Magick::Color::greenQuantum ( void ) const
{
return _pixel->green;
}
inline void Magick::Color::blueQuantum ( Magick::Quantum blue_ )
{
_pixel->blue = blue_;
_isValid = true;
}
inline Magick::Quantum Magick::Color::blueQuantum ( void ) const
{
return _pixel->blue;
}
inline void Magick::Color::alphaQuantum ( Magick::Quantum alpha_ )
{
_pixel->opacity = alpha_;
_isValid = true ;
}
inline Magick::Quantum Magick::Color::alphaQuantum ( void ) const
{
return _pixel->opacity;
}
// Return ImageMagick PixelPacket struct based on color.
inline Magick::Color::operator MagickCore::PixelPacket () const
{
return *_pixel;
}
// Scaled version of alpha for use in sub-classes
inline void Magick::Color::alpha ( double alpha_ )
{
alphaQuantum( scaleDoubleToQuantum(alpha_) );
}
inline double Magick::Color::alpha ( void ) const
{
return scaleQuantumToDouble( alphaQuantum() );
}
//
// ColorHSL
//
inline Magick::ColorHSL::ColorHSL ( Magick::PixelPacket* rep_,
Magick::Color::PixelType pixelType_ )
: Color( rep_, pixelType_ )
{
}
//
// ColorGray
//
inline Magick::ColorGray::ColorGray ( Magick::PixelPacket* rep_,
Magick::Color::PixelType pixelType_ )
: Color( rep_, pixelType_ )
{
}
//
// ColorMono
//
inline Magick::ColorMono::ColorMono ( Magick::PixelPacket* rep_,
Magick::Color::PixelType pixelType_ )
: Color( rep_, pixelType_ )
{
}
//
// ColorRGB
//
inline Magick::ColorRGB::ColorRGB ( Magick::PixelPacket* rep_,
Magick::Color::PixelType pixelType_ )
: Color( rep_, pixelType_ )
{
}
inline void Magick::ColorRGB::red ( double red_ )
{
redQuantum( scaleDoubleToQuantum(red_) );
}
inline double Magick::ColorRGB::red ( void ) const
{
return scaleQuantumToDouble( redQuantum() );
}
inline void Magick::ColorRGB::green ( double green_ )
{
greenQuantum( scaleDoubleToQuantum(green_) );
}
inline double Magick::ColorRGB::green ( void ) const
{
return scaleQuantumToDouble( greenQuantum() );
}
inline void Magick::ColorRGB::blue ( double blue_ )
{
blueQuantum( scaleDoubleToQuantum(blue_) );
}
inline double Magick::ColorRGB::blue ( void ) const
{
return scaleQuantumToDouble( blueQuantum() );
}
//
// ColorYUV
//
inline Magick::ColorYUV::ColorYUV ( Magick::PixelPacket* rep_,
Magick::Color::PixelType pixelType_ )
: Color( rep_, pixelType_ )
{
}
#endif // Magick_Color_header

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,336 @@
// This may look like C code, but it is really -*- C++ -*-
//
// Copyright Bob Friesenhahn, 1999, 2000, 2001, 2002, 2003
//
// Definition of Magick::Exception and derived classes
// Magick::Warning* and Magick::Error*. Derived from C++ STD
// 'exception' class for convenience.
//
// These classes form part of the Magick++ user interface.
//
#if !defined(Magick_Exception_header)
#define Magick_Exception_header
#include "Magick++/Include.h"
#include <string>
#include <exception>
namespace Magick
{
class MagickPPExport Exception : public std::exception
{
public:
Exception( const std::string& what_ );
Exception( const Exception& original_ );
Exception& operator= (const Exception& original_ );
virtual const char* what () const throw();
virtual ~Exception ( ) throw ();
private:
std::string _what;
};
//
// Warnings
//
class MagickPPExport Warning : public Exception
{
public:
explicit Warning ( const std::string& what_ );
~Warning() throw ();
};
class MagickPPExport WarningUndefined : public Warning
{
public:
explicit WarningUndefined ( const std::string& what_ );
~WarningUndefined() throw ();
};
class MagickPPExport WarningBlob: public Warning
{
public:
explicit WarningBlob ( const std::string& what_ );
~WarningBlob() throw ();
};
class MagickPPExport WarningCache: public Warning
{
public:
explicit WarningCache ( const std::string& what_ );
~WarningCache() throw ();
};
class MagickPPExport WarningCoder: public Warning
{
public:
explicit WarningCoder ( const std::string& what_ );
~WarningCoder() throw ();
};
class MagickPPExport WarningConfigure: public Warning
{
public:
explicit WarningConfigure ( const std::string& what_ );
~WarningConfigure() throw ();
};
class MagickPPExport WarningCorruptImage: public Warning
{
public:
explicit WarningCorruptImage ( const std::string& what_ );
~WarningCorruptImage() throw ();
};
class MagickPPExport WarningDelegate : public Warning
{
public:
explicit WarningDelegate ( const std::string& what_ );
~WarningDelegate() throw ();
};
class MagickPPExport WarningDraw : public Warning
{
public:
explicit WarningDraw ( const std::string& what_ );
~WarningDraw() throw ();
};
class MagickPPExport WarningFileOpen: public Warning
{
public:
explicit WarningFileOpen ( const std::string& what_ );
~WarningFileOpen() throw ();
};
class MagickPPExport WarningImage: public Warning
{
public:
explicit WarningImage ( const std::string& what_ );
~WarningImage() throw ();
};
class MagickPPExport WarningMissingDelegate : public Warning
{
public:
explicit WarningMissingDelegate ( const std::string& what_ );
~WarningMissingDelegate() throw ();
};
class MagickPPExport WarningModule : public Warning
{
public:
explicit WarningModule ( const std::string& what_ );
~WarningModule() throw ();
};
class MagickPPExport WarningMonitor : public Warning
{
public:
explicit WarningMonitor ( const std::string& what_ );
~WarningMonitor() throw ();
};
class MagickPPExport WarningOption : public Warning
{
public:
explicit WarningOption ( const std::string& what_ );
~WarningOption() throw ();
};
class MagickPPExport WarningRegistry : public Warning
{
public:
explicit WarningRegistry ( const std::string& what_ );
~WarningRegistry() throw ();
};
class MagickPPExport WarningResourceLimit : public Warning
{
public:
explicit WarningResourceLimit ( const std::string& what_ );
~WarningResourceLimit() throw ();
};
class MagickPPExport WarningStream : public Warning
{
public:
explicit WarningStream ( const std::string& what_ );
~WarningStream() throw ();
};
class MagickPPExport WarningType : public Warning
{
public:
explicit WarningType ( const std::string& what_ );
~WarningType() throw ();
};
class MagickPPExport WarningXServer : public Warning
{
public:
explicit WarningXServer ( const std::string& what_ );
~WarningXServer() throw ();
};
//
// Error exceptions
//
class MagickPPExport Error : public Exception
{
public:
explicit Error ( const std::string& what_ );
~Error() throw ();
};
class MagickPPExport ErrorUndefined : public Error
{
public:
explicit ErrorUndefined ( const std::string& what_ );
~ErrorUndefined() throw ();
};
class MagickPPExport ErrorBlob: public Error
{
public:
explicit ErrorBlob ( const std::string& what_ );
~ErrorBlob() throw ();
};
class MagickPPExport ErrorCache: public Error
{
public:
explicit ErrorCache ( const std::string& what_ );
~ErrorCache() throw ();
};
class MagickPPExport ErrorCoder: public Error
{
public:
explicit ErrorCoder ( const std::string& what_ );
~ErrorCoder() throw ();
};
class MagickPPExport ErrorConfigure: public Error
{
public:
explicit ErrorConfigure ( const std::string& what_ );
~ErrorConfigure() throw ();
};
class MagickPPExport ErrorCorruptImage: public Error
{
public:
explicit ErrorCorruptImage ( const std::string& what_ );
~ErrorCorruptImage() throw ();
};
class MagickPPExport ErrorDelegate : public Error
{
public:
explicit ErrorDelegate ( const std::string& what_ );
~ErrorDelegate() throw ();
};
class MagickPPExport ErrorDraw : public Error
{
public:
explicit ErrorDraw ( const std::string& what_ );
~ErrorDraw() throw ();
};
class MagickPPExport ErrorFileOpen: public Error
{
public:
explicit ErrorFileOpen ( const std::string& what_ );
~ErrorFileOpen() throw ();
};
class MagickPPExport ErrorImage: public Error
{
public:
explicit ErrorImage ( const std::string& what_ );
~ErrorImage() throw ();
};
class MagickPPExport ErrorMissingDelegate : public Error
{
public:
explicit ErrorMissingDelegate ( const std::string& what_ );
~ErrorMissingDelegate() throw ();
};
class MagickPPExport ErrorModule : public Error
{
public:
explicit ErrorModule ( const std::string& what_ );
~ErrorModule() throw ();
};
class MagickPPExport ErrorMonitor : public Error
{
public:
explicit ErrorMonitor ( const std::string& what_ );
~ErrorMonitor() throw ();
};
class MagickPPExport ErrorOption : public Error
{
public:
explicit ErrorOption ( const std::string& what_ );
~ErrorOption() throw ();
};
class MagickPPExport ErrorRegistry : public Error
{
public:
explicit ErrorRegistry ( const std::string& what_ );
~ErrorRegistry() throw ();
};
class MagickPPExport ErrorResourceLimit : public Error
{
public:
explicit ErrorResourceLimit ( const std::string& what_ );
~ErrorResourceLimit() throw ();
};
class MagickPPExport ErrorStream : public Error
{
public:
explicit ErrorStream ( const std::string& what_ );
~ErrorStream() throw ();
};
class MagickPPExport ErrorType : public Error
{
public:
explicit ErrorType ( const std::string& what_ );
~ErrorType() throw ();
};
class MagickPPExport ErrorXServer : public Error
{
public:
explicit ErrorXServer ( const std::string& what_ );
~ErrorXServer() throw ();
};
//
// No user-serviceable components beyond this point.
//
// Throw exception based on raw data
extern MagickPPExport void throwExceptionExplicit( const MagickCore::ExceptionType severity_,
const char* reason_,
const char* description_ = 0 );
// Thow exception based on ImageMagick's ExceptionInfo
extern MagickPPExport void throwException( MagickCore::ExceptionInfo &exception_ );
} // namespace Magick
#endif // Magick_Exception_header

View file

@ -0,0 +1,241 @@
// This may look like C code, but it is really -*- C++ -*-
//
// Copyright Bob Friesenhahn, 1999, 2000, 2001, 2002
//
// Geometry Definition
//
// Representation of an ImageMagick geometry specification
// X11 geometry specification plus hints
#if !defined (Magick_Geometry_header)
#define Magick_Geometry_header
#include "Magick++/Include.h"
#include <string>
namespace Magick
{
class MagickPPExport Geometry;
// Compare two Geometry objects regardless of LHS/RHS
int MagickPPExport operator == ( const Magick::Geometry& left_, const Magick::Geometry& right_ );
int MagickPPExport operator != ( const Magick::Geometry& left_, const Magick::Geometry& right_ );
int MagickPPExport operator > ( const Magick::Geometry& left_, const Magick::Geometry& right_ );
int MagickPPExport operator < ( const Magick::Geometry& left_, const Magick::Geometry& right_ );
int MagickPPExport operator >= ( const Magick::Geometry& left_, const Magick::Geometry& right_ );
int MagickPPExport operator <= ( const Magick::Geometry& left_, const Magick::Geometry& right_ );
class MagickPPExport Geometry
{
public:
Geometry ( size_t width_,
size_t height_,
::ssize_t xOff_ = 0,
::ssize_t yOff_ = 0,
bool xNegative_ = false,
bool yNegative_ = false );
Geometry ( const std::string &geometry_ );
Geometry ( const char * geometry_ );
Geometry ( const Geometry &geometry_ );
Geometry ( );
~Geometry ( void );
// Width
void width ( size_t width_ );
size_t width ( void ) const;
// Height
void height ( size_t height_ );
size_t height ( void ) const;
// X offset from origin
void xOff ( ::ssize_t xOff_ );
::ssize_t xOff ( void ) const;
// Y offset from origin
void yOff ( ::ssize_t yOff_ );
::ssize_t yOff ( void ) const;
// Sign of X offset negative? (X origin at right)
void xNegative ( bool xNegative_ );
bool xNegative ( void ) const;
// Sign of Y offset negative? (Y origin at bottom)
void yNegative ( bool yNegative_ );
bool yNegative ( void ) const;
// Width and height are expressed as percentages
void percent ( bool percent_ );
bool percent ( void ) const;
// Resize without preserving aspect ratio (!)
void aspect ( bool aspect_ );
bool aspect ( void ) const;
// Resize if image is greater than size (>)
void greater ( bool greater_ );
bool greater ( void ) const;
// Resize if image is less than size (<)
void less ( bool less_ );
bool less ( void ) const;
// Does object contain valid geometry?
void isValid ( bool isValid_ );
bool isValid ( void ) const;
// Set via geometry string
const Geometry& operator = ( const std::string &geometry_ );
const Geometry& operator = ( const char * geometry_ );
// Assignment operator
Geometry& operator= ( const Geometry& Geometry_ );
// Return geometry string
operator std::string() const;
//
// Public methods below this point are for Magick++ use only.
//
// Construct from RectangleInfo
Geometry ( const MagickCore::RectangleInfo &rectangle_ );
// Return an ImageMagick RectangleInfo struct
operator MagickCore::RectangleInfo() const;
private:
size_t _width;
size_t _height;
::ssize_t _xOff;
::ssize_t _yOff;
bool _xNegative;
bool _yNegative;
bool _isValid;
bool _percent; // Interpret width & height as percentages (%)
bool _aspect; // Force exact size (!)
bool _greater; // Re-size only if larger than geometry (>)
bool _less; // Re-size only if smaller than geometry (<)
};
} // namespace Magick
//
// Inlines
//
// Does object contain valid geometry?
inline void Magick::Geometry::isValid ( bool isValid_ )
{
_isValid = isValid_;
}
inline bool Magick::Geometry::isValid ( void ) const
{
return _isValid;
}
// Width
inline void Magick::Geometry::width ( size_t width_ )
{
_width = width_;
isValid( true );
}
inline size_t Magick::Geometry::width ( void ) const
{
return _width;
}
// Height
inline void Magick::Geometry::height ( size_t height_ )
{
_height = height_;
}
inline size_t Magick::Geometry::height ( void ) const
{
return _height;
}
// X offset from origin
inline void Magick::Geometry::xOff ( ::ssize_t xOff_ )
{
_xOff = xOff_;
}
inline ::ssize_t Magick::Geometry::xOff ( void ) const
{
return _xOff;
}
// Y offset from origin
inline void Magick::Geometry::yOff ( ::ssize_t yOff_ )
{
_yOff = yOff_;
}
inline ::ssize_t Magick::Geometry::yOff ( void ) const
{
return _yOff;
}
// Sign of X offset negative? (X origin at right)
inline void Magick::Geometry::xNegative ( bool xNegative_ )
{
_xNegative = xNegative_;
}
inline bool Magick::Geometry::xNegative ( void ) const
{
return _xNegative;
}
// Sign of Y offset negative? (Y origin at bottom)
inline void Magick::Geometry::yNegative ( bool yNegative_ )
{
_yNegative = yNegative_;
}
inline bool Magick::Geometry::yNegative ( void ) const
{
return _yNegative;
}
// Interpret width & height as percentages (%)
inline void Magick::Geometry::percent ( bool percent_ )
{
_percent = percent_;
}
inline bool Magick::Geometry::percent ( void ) const
{
return _percent;
}
// Resize without preserving aspect ratio (!)
inline void Magick::Geometry::aspect ( bool aspect_ )
{
_aspect = aspect_;
}
inline bool Magick::Geometry::aspect ( void ) const
{
return _aspect;
}
// Resize if image is greater than size (>)
inline void Magick::Geometry::greater ( bool greater_ )
{
_greater = greater_;
}
inline bool Magick::Geometry::greater ( void ) const
{
return _greater;
}
// Resize if image is less than size (<)
inline void Magick::Geometry::less ( bool less_ )
{
_less = less_;
}
inline bool Magick::Geometry::less ( void ) const
{
return _less;
}
#endif // Magick_Geometry_header

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,965 @@
// This may look like C code, but it is really -*- C++ -*-
//
// Copyright Bob Friesenhahn, 1999, 2000, 2001, 2002
//
// Inclusion of ImageMagick headers (with namespace magic)
#ifndef Magick_Include_header
#define Magick_Include_header
#if !defined(_MAGICK_CONFIG_H)
# define _MAGICK_CONFIG_H
# if !defined(vms) && !defined(macintosh)
# include "magick/magick-config.h"
# else
# include "magick-config.h"
# endif
# undef inline // Remove possible definition from config.h
# undef class
#endif
// Needed for stdio FILE
#include <stdio.h>
#include <stdarg.h>
#include <stdlib.h>
#include <time.h>
#include <math.h>
#include <sys/types.h>
#if defined(__BORLANDC__)
# include <vcl.h> /* Borland C++ Builder 4.0 requirement */
#endif // defined(__BORLANDC__)
//
// Include ImageMagick headers into namespace "MagickCore". If
// MAGICKCORE_IMPLEMENTATION is defined, include ImageMagick development
// headers. This scheme minimizes the possibility of conflict with
// user code.
//
namespace MagickCore
{
#include <magick/MagickCore.h>
#include <wand/MagickWand.h>
#undef inline // Remove possible definition from config.h
#undef class
}
//
// Provide appropriate DLL imports/exports for Visual C++,
// Borland C++Builder and MinGW builds.
//
#if defined(WIN32) && !defined(__CYGWIN__) && !defined(__MINGW32__)
# define MagickCplusPlusDLLSupported
#endif
#if defined(MagickCplusPlusDLLSupported)
# if defined(_MT) && defined(_DLL) && !defined(_LIB) && !defined(STATIC_MAGICK)
//
// In a native Windows build, the following defines are used:
//
// _MT = Multithreaded
// _DLL = Using code is part of a DLL
// _LIB = Using code is being built as a library.
// _MAGICKMOD_ = Build uses loadable modules (Magick++ does not care about this)
//
// In the case where ImageMagick is built as a static library but the
// using code is dynamic, STATIC_MAGICK may be defined in the project to
// override triggering dynamic library behavior.
//
# if defined(_VISUALC_)
# define MagickDLLExplicitTemplate
# pragma warning( disable: 4273 ) /* Disable the stupid dll linkage warnings */
# pragma warning( disable: 4251 )
# endif
# if !defined(MAGICKCORE_IMPLEMENTATION)
# if defined(__GNUC__)
# define MagickPPExport __attribute__ ((dllimport))
# else
# define MagickPPExport __declspec(dllimport)
# endif
# define MagickPPPrivate extern __declspec(dllimport)
# if defined(_VISUALC_)
# pragma message( "Magick++ lib DLL import" )
# endif
# else
# if defined(__BORLANDC__) || defined(__MINGW32__)
# define MagickPPExport __declspec(dllexport)
# define MagickPPPrivate __declspec(dllexport)
# if defined(__BORLANDC__)
# pragma message( "BCBMagick++ lib DLL export" )
# endif
# else
# if defined(__GNUC__)
# define MagickPPExport __attribute__ ((dllexport))
# else
# define MagickPPExport __declspec(dllexport)
# endif
# define MagickPPPrivate extern __declspec(dllexport)
# endif
# if defined(_VISUALC_)
# pragma message( "Magick++ lib DLL export" )
# endif
# endif
# else
# define MagickPPExport
# define MagickPPPrivate
# if defined(_VISUALC_)
# pragma message( "Magick++ lib static interface" )
# endif
# endif
#else
# if __GNUC__ >= 4
# define MagickPPExport __attribute__ ((visibility ("default")))
# define MagickPPPrivate __attribute__ ((visibility ("hidden")))
# else
# define MagickPPExport
# define MagickPPPrivate
# endif
#endif
#if defined(WIN32) && defined(_VISUALC_)
# pragma warning(disable : 4996) /* function deprecation warnings */
#endif
//
// Import ImageMagick symbols and types which are used as part of the
// Magick++ API definition into namespace "Magick".
//
namespace Magick
{
// The datatype for an RGB component
using MagickCore::Quantum;
using MagickCore::MagickRealType;
using MagickCore::MagickSizeType;
// Boolean types
using MagickCore::MagickBooleanType;
using MagickCore::MagickFalse;
using MagickCore::MagickTrue;
// Image class types
using MagickCore::ClassType;
using MagickCore::UndefinedClass;
using MagickCore::DirectClass;
using MagickCore::PseudoClass;
// Channel types
using MagickCore::ChannelType;
using MagickCore::UndefinedChannel;
using MagickCore::RedChannel;
using MagickCore::CyanChannel;
using MagickCore::GreenChannel;
using MagickCore::MagentaChannel;
using MagickCore::BlueChannel;
using MagickCore::YellowChannel;
using MagickCore::OpacityChannel;
using MagickCore::BlackChannel;
using MagickCore::MatteChannel;
using MagickCore::DefaultChannels;
using MagickCore::AllChannels;
// Color-space types
using MagickCore::CMYKColorspace;
using MagickCore::ColorspaceType;
using MagickCore::GRAYColorspace;
using MagickCore::HSLColorspace;
using MagickCore::HWBColorspace;
using MagickCore::LogColorspace;
using MagickCore::OHTAColorspace;
using MagickCore::Rec601LumaColorspace;
using MagickCore::Rec709LumaColorspace;
using MagickCore::RGBColorspace;
using MagickCore::sRGBColorspace;
using MagickCore::TransparentColorspace;
using MagickCore::UndefinedColorspace;
using MagickCore::XYZColorspace;
using MagickCore::YCbCrColorspace;
using MagickCore::YCCColorspace;
using MagickCore::YIQColorspace;
using MagickCore::YPbPrColorspace;
using MagickCore::YUVColorspace;
// Composition operations
using MagickCore::AddCompositeOp;
using MagickCore::AtopCompositeOp;
using MagickCore::BlendCompositeOp;
using MagickCore::BumpmapCompositeOp;
using MagickCore::ClearCompositeOp;
using MagickCore::ColorizeCompositeOp;
using MagickCore::CompositeOperator;
using MagickCore::CopyBlueCompositeOp;
using MagickCore::CopyCompositeOp;
using MagickCore::CopyCyanCompositeOp;
using MagickCore::CopyGreenCompositeOp;
using MagickCore::CopyMagentaCompositeOp;
using MagickCore::CopyOpacityCompositeOp;
using MagickCore::CopyRedCompositeOp;
using MagickCore::CopyYellowCompositeOp;
using MagickCore::DarkenCompositeOp;
using MagickCore::DifferenceCompositeOp;
using MagickCore::DisplaceCompositeOp;
using MagickCore::DissolveCompositeOp;
using MagickCore::DstOverCompositeOp;
using MagickCore::ExclusionCompositeOp;
using MagickCore::HardLightCompositeOp;
using MagickCore::HueCompositeOp;
using MagickCore::InCompositeOp;
using MagickCore::LightenCompositeOp;
using MagickCore::LuminizeCompositeOp;
using MagickCore::MinusCompositeOp;
using MagickCore::ModulateCompositeOp;
using MagickCore::MultiplyCompositeOp;
using MagickCore::NoCompositeOp;
using MagickCore::OutCompositeOp;
using MagickCore::OverCompositeOp;
using MagickCore::OverlayCompositeOp;
using MagickCore::PlusCompositeOp;
using MagickCore::SaturateCompositeOp;
using MagickCore::ScreenCompositeOp;
using MagickCore::SoftLightCompositeOp;
using MagickCore::SubtractCompositeOp;
using MagickCore::ThresholdCompositeOp;
using MagickCore::UndefinedCompositeOp;
using MagickCore::XorCompositeOp;
using MagickCore::CopyBlackCompositeOp;
// Compression algorithms
using MagickCore::CompressionType;
using MagickCore::UndefinedCompression;
using MagickCore::NoCompression;
using MagickCore::BZipCompression;
using MagickCore::FaxCompression;
using MagickCore::Group4Compression;
using MagickCore::JPEGCompression;
using MagickCore::LZMACompression;
using MagickCore::LZWCompression;
using MagickCore::RLECompression;
using MagickCore::ZipCompression;
// Dispose methods
using MagickCore::DisposeType;
using MagickCore::UndefinedDispose;
using MagickCore::NoneDispose;
using MagickCore::BackgroundDispose;
using MagickCore::PreviousDispose;
// Distort methods
using MagickCore::DistortImageMethod;
using MagickCore::UndefinedDistortion;
using MagickCore::AffineDistortion;
using MagickCore::AffineProjectionDistortion;
using MagickCore::ScaleRotateTranslateDistortion;
using MagickCore::PerspectiveDistortion;
using MagickCore::PerspectiveProjectionDistortion;
using MagickCore::BilinearDistortion;
using MagickCore::PolynomialDistortion;
using MagickCore::ArcDistortion;
using MagickCore::PolarDistortion;
using MagickCore::DePolarDistortion;
using MagickCore::BarrelDistortion;
using MagickCore::BarrelInverseDistortion;
using MagickCore::ShepardsDistortion;
using MagickCore::SentinelDistortion;
// Endian options
using MagickCore::EndianType;
using MagickCore::UndefinedEndian;
using MagickCore::LSBEndian;
using MagickCore::MSBEndian;
// Evaluate options
using MagickCore::UndefinedEvaluateOperator;
using MagickCore::AddEvaluateOperator;
using MagickCore::AndEvaluateOperator;
using MagickCore::DivideEvaluateOperator;
using MagickCore::LeftShiftEvaluateOperator;
using MagickCore::MaxEvaluateOperator;
using MagickCore::MinEvaluateOperator;
using MagickCore::MultiplyEvaluateOperator;
using MagickCore::OrEvaluateOperator;
using MagickCore::RightShiftEvaluateOperator;
using MagickCore::SetEvaluateOperator;
using MagickCore::SubtractEvaluateOperator;
using MagickCore::XorEvaluateOperator;
using MagickCore::MagickEvaluateOperator;
// Fill rules
using MagickCore::FillRule;
using MagickCore::UndefinedRule;
using MagickCore::EvenOddRule;
using MagickCore::NonZeroRule;
// Filter types
using MagickCore::FilterTypes;
using MagickCore::UndefinedFilter;
using MagickCore::PointFilter;
using MagickCore::BoxFilter;
using MagickCore::TriangleFilter;
using MagickCore::HermiteFilter;
using MagickCore::HanningFilter;
using MagickCore::HammingFilter;
using MagickCore::BlackmanFilter;
using MagickCore::GaussianFilter;
using MagickCore::QuadraticFilter;
using MagickCore::CubicFilter;
using MagickCore::CatromFilter;
using MagickCore::MitchellFilter;
using MagickCore::JincFilter;
using MagickCore::SincFilter;
using MagickCore::SincFastFilter;
using MagickCore::KaiserFilter;
using MagickCore::WelshFilter;
using MagickCore::ParzenFilter;
using MagickCore::BohmanFilter;
using MagickCore::BartlettFilter;
using MagickCore::LagrangeFilter;
using MagickCore::LanczosFilter;
using MagickCore::LanczosSharpFilter;
using MagickCore::Lanczos2Filter;
using MagickCore::Lanczos2SharpFilter;
using MagickCore::RobidouxFilter;
using MagickCore::SentinelFilter;
// Bit gravity
using MagickCore::GravityType;
using MagickCore::ForgetGravity;
using MagickCore::NorthWestGravity;
using MagickCore::NorthGravity;
using MagickCore::NorthEastGravity;
using MagickCore::WestGravity;
using MagickCore::CenterGravity;
using MagickCore::EastGravity;
using MagickCore::SouthWestGravity;
using MagickCore::SouthGravity;
using MagickCore::SouthEastGravity;
using MagickCore::StaticGravity;
// Image types
using MagickCore::ImageType;
using MagickCore::UndefinedType;
using MagickCore::BilevelType;
using MagickCore::GrayscaleType;
using MagickCore::GrayscaleMatteType;
using MagickCore::PaletteType;
using MagickCore::PaletteMatteType;
using MagickCore::TrueColorType;
using MagickCore::TrueColorMatteType;
using MagickCore::ColorSeparationType;
using MagickCore::ColorSeparationMatteType;
using MagickCore::OptimizeType;
// Interlace types
using MagickCore::InterlaceType;
using MagickCore::UndefinedInterlace;
using MagickCore::NoInterlace;
using MagickCore::LineInterlace;
using MagickCore::PlaneInterlace;
using MagickCore::PartitionInterlace;
// Layer method
using MagickCore::ImageLayerMethod;
using MagickCore::UndefinedLayer;
using MagickCore::CoalesceLayer;
using MagickCore::CompareAnyLayer;
using MagickCore::CompareClearLayer;
using MagickCore::CompareOverlayLayer;
using MagickCore::DisposeLayer;
using MagickCore::OptimizeLayer;
using MagickCore::OptimizeImageLayer;
using MagickCore::OptimizePlusLayer;
using MagickCore::OptimizeTransLayer;
using MagickCore::RemoveDupsLayer;
using MagickCore::RemoveZeroLayer;
using MagickCore::CompositeLayer;
using MagickCore::MergeLayer;
using MagickCore::FlattenLayer;
using MagickCore::MosaicLayer;
using MagickCore::TrimBoundsLayer;
// Line cap types
using MagickCore::LineCap;
using MagickCore::UndefinedCap;
using MagickCore::ButtCap;
using MagickCore::RoundCap;
using MagickCore::SquareCap;
// Line join types
using MagickCore::LineJoin;
using MagickCore::UndefinedJoin;
using MagickCore::MiterJoin;
using MagickCore::RoundJoin;
using MagickCore::BevelJoin;
// Noise types
using MagickCore::NoiseType;
using MagickCore::UniformNoise;
using MagickCore::GaussianNoise;
using MagickCore::MultiplicativeGaussianNoise;
using MagickCore::ImpulseNoise;
using MagickCore::LaplacianNoise;
using MagickCore::PoissonNoise;
// Orientation types
using MagickCore::OrientationType;
using MagickCore::UndefinedOrientation;
using MagickCore::TopLeftOrientation;
using MagickCore::TopRightOrientation;
using MagickCore::BottomRightOrientation;
using MagickCore::BottomLeftOrientation;
using MagickCore::LeftTopOrientation;
using MagickCore::RightTopOrientation;
using MagickCore::RightBottomOrientation;
using MagickCore::LeftBottomOrientation;
// Paint methods
using MagickCore::PaintMethod;
using MagickCore::PointMethod;
using MagickCore::ReplaceMethod;
using MagickCore::FloodfillMethod;
using MagickCore::FillToBorderMethod;
using MagickCore::ResetMethod;
// Preview types. Not currently used by Magick++
using MagickCore::PreviewType;
using MagickCore::UndefinedPreview;
using MagickCore::RotatePreview;
using MagickCore::ShearPreview;
using MagickCore::RollPreview;
using MagickCore::HuePreview;
using MagickCore::SaturationPreview;
using MagickCore::BrightnessPreview;
using MagickCore::GammaPreview;
using MagickCore::SpiffPreview;
using MagickCore::DullPreview;
using MagickCore::GrayscalePreview;
using MagickCore::QuantizePreview;
using MagickCore::DespecklePreview;
using MagickCore::ReduceNoisePreview;
using MagickCore::AddNoisePreview;
using MagickCore::SharpenPreview;
using MagickCore::BlurPreview;
using MagickCore::ThresholdPreview;
using MagickCore::EdgeDetectPreview;
using MagickCore::SpreadPreview;
using MagickCore::SolarizePreview;
using MagickCore::ShadePreview;
using MagickCore::RaisePreview;
using MagickCore::SegmentPreview;
using MagickCore::SwirlPreview;
using MagickCore::ImplodePreview;
using MagickCore::WavePreview;
using MagickCore::OilPaintPreview;
using MagickCore::CharcoalDrawingPreview;
using MagickCore::JPEGPreview;
// Quantum types
using MagickCore::QuantumType;
using MagickCore::IndexQuantum;
using MagickCore::GrayQuantum;
using MagickCore::IndexAlphaQuantum;
using MagickCore::GrayAlphaQuantum;
using MagickCore::RedQuantum;
using MagickCore::CyanQuantum;
using MagickCore::GreenQuantum;
using MagickCore::YellowQuantum;
using MagickCore::BlueQuantum;
using MagickCore::MagentaQuantum;
using MagickCore::AlphaQuantum;
using MagickCore::BlackQuantum;
using MagickCore::RGBQuantum;
using MagickCore::RGBAQuantum;
using MagickCore::CMYKQuantum;
// Rendering intents
using MagickCore::RenderingIntent;
using MagickCore::UndefinedIntent;
using MagickCore::SaturationIntent;
using MagickCore::PerceptualIntent;
using MagickCore::AbsoluteIntent;
using MagickCore::RelativeIntent;
// Resource types
using MagickCore::MemoryResource;
// Resolution units
using MagickCore::ResolutionType;
using MagickCore::UndefinedResolution;
using MagickCore::PixelsPerInchResolution;
using MagickCore::PixelsPerCentimeterResolution;
// PixelPacket structure
using MagickCore::PixelPacket;
// IndexPacket type
using MagickCore::IndexPacket;
// Sparse Color methods
using MagickCore::SparseColorMethod;
using MagickCore::UndefinedColorInterpolate;
using MagickCore::BarycentricColorInterpolate;
using MagickCore::BilinearColorInterpolate;
using MagickCore::PolynomialColorInterpolate;
using MagickCore::ShepardsColorInterpolate;
using MagickCore::VoronoiColorInterpolate;
// Statistic type
using MagickCore::MedianStatistic;
using MagickCore::NonpeakStatistic;
// StorageType type
using MagickCore::StorageType;
using MagickCore::CharPixel;
using MagickCore::ShortPixel;
using MagickCore::IntegerPixel;
using MagickCore::FloatPixel;
using MagickCore::DoublePixel;
// StretchType type
using MagickCore::StretchType;
using MagickCore::NormalStretch;
using MagickCore::UltraCondensedStretch;
using MagickCore::ExtraCondensedStretch;
using MagickCore::CondensedStretch;
using MagickCore::SemiCondensedStretch;
using MagickCore::SemiExpandedStretch;
using MagickCore::ExpandedStretch;
using MagickCore::ExtraExpandedStretch;
using MagickCore::UltraExpandedStretch;
using MagickCore::AnyStretch;
// StyleType type
using MagickCore::StyleType;
using MagickCore::NormalStyle;
using MagickCore::ItalicStyle;
using MagickCore::ObliqueStyle;
using MagickCore::AnyStyle;
// Decoration types
using MagickCore::DecorationType;
using MagickCore::NoDecoration;
using MagickCore::UnderlineDecoration;
using MagickCore::OverlineDecoration;
using MagickCore::LineThroughDecoration;
// Virtual pixel methods
using MagickCore::VirtualPixelMethod;
using MagickCore::UndefinedVirtualPixelMethod;
using MagickCore::BackgroundVirtualPixelMethod;
using MagickCore::DitherVirtualPixelMethod;
using MagickCore::EdgeVirtualPixelMethod;
using MagickCore::MirrorVirtualPixelMethod;
using MagickCore::RandomVirtualPixelMethod;
using MagickCore::TileVirtualPixelMethod;
using MagickCore::TransparentVirtualPixelMethod;
using MagickCore::MaskVirtualPixelMethod;
using MagickCore::BlackVirtualPixelMethod;
using MagickCore::GrayVirtualPixelMethod;
using MagickCore::WhiteVirtualPixelMethod;
using MagickCore::HorizontalTileVirtualPixelMethod;
using MagickCore::VerticalTileVirtualPixelMethod;
using MagickCore::HorizontalTileEdgeVirtualPixelMethod;
using MagickCore::VerticalTileEdgeVirtualPixelMethod;
using MagickCore::CheckerTileVirtualPixelMethod;
#if defined(MAGICKCORE_IMPLEMENTATION)
//
// ImageMagick symbols used in implementation code
//
using MagickCore::AcquireCacheView;
using MagickCore::AcquireExceptionInfo;
using MagickCore::GetCacheViewVirtualPixels;
using MagickCore::AcquireImage;
using MagickCore::GetVirtualPixels;
using MagickCore::AcquireKernelInfo;
using MagickCore::AcquireMagickMemory;
using MagickCore::AcquireQuantumInfo;
using MagickCore::AcquireString;
using MagickCore::AcquireStringInfo;
using MagickCore::AdaptiveBlurImage;
using MagickCore::AdaptiveThresholdImage;
using MagickCore::AddNoiseImage;
using MagickCore::AddNoiseImageChannel;
using MagickCore::AffineMatrix;
using MagickCore::AffineTransformImage;
using MagickCore::AnnotateImage;
using MagickCore::AspectValue;
using MagickCore::Base64Decode;
using MagickCore::Base64Encode;
using MagickCore::BilevelImage;
using MagickCore::BlobError;
using MagickCore::BlobFatalError;
using MagickCore::BlobToImage;
using MagickCore::BlobWarning;
using MagickCore::BlurImage;
using MagickCore::BlurImageChannel;
using MagickCore::BorderImage;
using MagickCore::CacheError;
using MagickCore::CacheFatalError;
using MagickCore::CacheWarning;
using MagickCore::CharcoalImage;
using MagickCore::ChopImage;
using MagickCore::ClearMagickException;
using MagickCore::CloneDrawInfo;
using MagickCore::CloneImage;
using MagickCore::CloneImageInfo;
using MagickCore::CloneQuantizeInfo;
using MagickCore::CoderError;
using MagickCore::CoderFatalError;
using MagickCore::CoderWarning;
using MagickCore::ColorDecisionListImage;
using MagickCore::ColorizeImage;
using MagickCore::ColorMatrixImage;
using MagickCore::ColorPacket;
using MagickCore::CompositeImage;
using MagickCore::ConfigureError;
using MagickCore::ConfigureFatalError;
using MagickCore::ConfigureWarning;
using MagickCore::ConstituteImage;
using MagickCore::ContrastImage;
using MagickCore::ConvertHSLToRGB;
using MagickCore::ConvertRGBToHSL;
using MagickCore::ConvolveImage;
using MagickCore::CopyMagickString;
using MagickCore::CorruptImageError;
using MagickCore::CorruptImageFatalError;
using MagickCore::CorruptImageWarning;
using MagickCore::CropImage;
using MagickCore::CycleColormapImage;
using MagickCore::DeconstructImages;
using MagickCore::DelegateError;
using MagickCore::DelegateFatalError;
using MagickCore::DelegateWarning;
using MagickCore::DeleteImageOption;
using MagickCore::DeleteImageRegistry;
using MagickCore::DespeckleImage;
using MagickCore::DestroyCacheView;
using MagickCore::DestroyDrawInfo;
using MagickCore::DestroyDrawingWand;
using MagickCore::DestroyExceptionInfo;
using MagickCore::DestroyImageInfo;
using MagickCore::DestroyImageList;
using MagickCore::DestroyKernelInfo;
using MagickCore::DestroyMagickWand;
using MagickCore::DestroyPixelWand;
using MagickCore::DestroyQuantizeInfo;
using MagickCore::DestroyQuantumInfo;
using MagickCore::DestroyStringInfo;
using MagickCore::DisplayImages;
using MagickCore::DistortImage;
using MagickCore::DrawAffine;
using MagickCore::DrawAllocateWand;
using MagickCore::DrawAnnotation;
using MagickCore::DrawArc;
using MagickCore::DrawBezier;
using MagickCore::DrawCircle;
using MagickCore::DrawColor;
using MagickCore::DrawComment;
using MagickCore::DrawComposite;
using MagickCore::DrawEllipse;
using MagickCore::DrawError;
using MagickCore::DrawFatalError;
using MagickCore::DrawImage;
using MagickCore::DrawInfo;
using MagickCore::DrawingWand;
using MagickCore::DrawLine;
using MagickCore::DrawMatte;
using MagickCore::DrawPathClose;
using MagickCore::DrawPathCurveToAbsolute;
using MagickCore::DrawPathCurveToQuadraticBezierAbsolute;
using MagickCore::DrawPathCurveToQuadraticBezierRelative;
using MagickCore::DrawPathCurveToQuadraticBezierSmoothAbsolute;
using MagickCore::DrawPathCurveToQuadraticBezierSmoothRelative;
using MagickCore::DrawPathCurveToRelative;
using MagickCore::DrawPathCurveToSmoothAbsolute;
using MagickCore::DrawPathCurveToSmoothRelative;
using MagickCore::DrawPathEllipticArcAbsolute;
using MagickCore::DrawPathEllipticArcRelative;
using MagickCore::DrawPathFinish;
using MagickCore::DrawPathLineToAbsolute;
using MagickCore::DrawPathLineToHorizontalAbsolute;
using MagickCore::DrawPathLineToHorizontalRelative;
using MagickCore::DrawPathLineToRelative;
using MagickCore::DrawPathLineToVerticalAbsolute;
using MagickCore::DrawPathLineToVerticalRelative;
using MagickCore::DrawPathMoveToAbsolute;
using MagickCore::DrawPathMoveToRelative;
using MagickCore::DrawPathStart;
using MagickCore::DrawPoint;
using MagickCore::DrawPolygon;
using MagickCore::DrawPolyline;
using MagickCore::DrawPopClipPath;
using MagickCore::DrawPopDefs;
using MagickCore::DrawPopPattern;
using MagickCore::DrawPushClipPath;
using MagickCore::DrawPushDefs;
using MagickCore::DrawPushPattern;
using MagickCore::DrawRectangle;
using MagickCore::DrawRender;
using MagickCore::DrawRotate;
using MagickCore::DrawRoundRectangle;
using MagickCore::DrawScale;
using MagickCore::DrawSetClipPath;
using MagickCore::DrawSetClipRule;
using MagickCore::DrawSetClipUnits;
using MagickCore::DrawSetFillColor;
using MagickCore::DrawSetFillOpacity;
using MagickCore::DrawSetFillPatternURL;
using MagickCore::DrawSetFillRule;
using MagickCore::DrawSetFont;
using MagickCore::DrawSetFontFamily;
using MagickCore::DrawSetFontSize;
using MagickCore::DrawSetFontStretch;
using MagickCore::DrawSetFontStyle;
using MagickCore::DrawSetFontWeight;
using MagickCore::DrawSetGravity;
using MagickCore::DrawSetStrokeAntialias;
using MagickCore::DrawSetStrokeColor;
using MagickCore::DrawSetStrokeDashArray;
using MagickCore::DrawSetStrokeDashOffset;
using MagickCore::DrawSetStrokeLineCap;
using MagickCore::DrawSetStrokeLineJoin;
using MagickCore::DrawSetStrokeMiterLimit;
using MagickCore::DrawSetStrokeOpacity;
using MagickCore::DrawSetStrokePatternURL;
using MagickCore::DrawSetStrokeWidth;
using MagickCore::DrawSetTextAntialias;
using MagickCore::DrawSetTextDecoration;
using MagickCore::DrawSetTextEncoding;
using MagickCore::DrawSetTextUnderColor;
using MagickCore::DrawSetViewbox;
using MagickCore::DrawSkewX;
using MagickCore::DrawSkewY;
using MagickCore::DrawTranslate;
using MagickCore::DrawWarning;
using MagickCore::EdgeImage;
using MagickCore::EmbossImage;
using MagickCore::EnhanceImage;
using MagickCore::EqualizeImage;
using MagickCore::EvaluateImage;
using MagickCore::EvaluateImageChannel;
using MagickCore::ExceptionInfo;
using MagickCore::ExceptionType;
using MagickCore::ExportImagePixels;
using MagickCore::ExportQuantumPixels;
using MagickCore::ExtentImage;
using MagickCore::FileOpenError;
using MagickCore::FileOpenFatalError;
using MagickCore::FileOpenWarning;
using MagickCore::FlipImage;
using MagickCore::FloodfillPaintImage;
using MagickCore::FlopImage;
using MagickCore::FormatLocaleString;
using MagickCore::ForwardFourierTransformImage;
using MagickCore::FrameImage;
using MagickCore::FrameInfo;
using MagickCore::FxImageChannel;
using MagickCore::GammaImage;
using MagickCore::GammaImage;
using MagickCore::GaussianBlurImage;
using MagickCore::GaussianBlurImageChannel;
using MagickCore::GetAffineMatrix;
using MagickCore::GetAuthenticIndexQueue;
using MagickCore::GetBlobSize;
using MagickCore::GetCacheViewException;
using MagickCore::GetCacheViewAuthenticIndexQueue;
using MagickCore::GetCacheViewAuthenticPixels;
using MagickCore::GetColorTuple;
using MagickCore::GetDrawInfo;
using MagickCore::GetExceptionInfo;
using MagickCore::GetGeometry;
using MagickCore::GetImageBoundingBox;
using MagickCore::GetImageChannelDepth;
using MagickCore::GetImageChannelMean;
using MagickCore::GetImageChannelKurtosis;
using MagickCore::GetImageChannelRange;
using MagickCore::GetImageClipMask;
using MagickCore::GetImageDepth;
using MagickCore::GetImageInfo;
using MagickCore::GetImageInfoFile;
using MagickCore::GetImageOption;
using MagickCore::GetAuthenticPixels;
using MagickCore::GetImageProfile;
using MagickCore::GetImageProperty;
using MagickCore::GetImageQuantizeError;
using MagickCore::GetImageType;
using MagickCore::GetMagickInfo;
using MagickCore::GetMagickPixelPacket;
using MagickCore::GetNumberColors;
using MagickCore::GetPageGeometry;
using MagickCore::GetQuantizeInfo;
using MagickCore::GetStringInfoDatum;
using MagickCore::GetStringInfoLength;
using MagickCore::GetTypeMetrics;
using MagickCore::GetVirtualIndexQueue;
using MagickCore::GetImageVirtualPixelMethod;
using MagickCore::GlobExpression;
using MagickCore::GravityAdjustGeometry;
using MagickCore::GreaterValue;
using MagickCore::HaldClutImage;
using MagickCore::HeightValue;
using MagickCore::ImageError;
using MagickCore::ImageFatalError;
using MagickCore::ImageInfo;
using MagickCore::ImageRegistryType;
using MagickCore::ImageToBlob;
using MagickCore::ImagesToBlob;
using MagickCore::ImageWarning;
using MagickCore::ImplodeImage;
using MagickCore::ImportQuantumPixels;
using MagickCore::InverseFourierTransformImage;
using MagickCore::InvokeDynamicImageFilter;
using MagickCore::IsEventLogging;
using MagickCore::IsGeometry;
using MagickCore::IsImagesEqual;
using MagickCore::KernelInfo;
using MagickCore::LessValue;
using MagickCore::LevelImage;
using MagickCore::LevelImageChannel;
using MagickCore::LocaleCompare;
using MagickCore::LogMagickEvent;
using MagickCore::MagickCoreTerminus;
using MagickCore::MagickInfo;
using MagickCore::MagickPixelPacket;
using MagickCore::MagickToMime;
using MagickCore::MagickWand;
using MagickCore::MagnifyImage;
using MagickCore::MergeImageLayers;
using MagickCore::MinifyImage;
using MagickCore::MissingDelegateError;
using MagickCore::MissingDelegateFatalError;
using MagickCore::MissingDelegateWarning;
using MagickCore::ModulateImage;
using MagickCore::ModuleError;
using MagickCore::ModuleFatalError;
using MagickCore::ModuleWarning;
using MagickCore::MonitorError;
using MagickCore::MonitorFatalError;
using MagickCore::MonitorWarning;
using MagickCore::MontageInfo;
using MagickCore::MotionBlurImage;
using MagickCore::NegateImage;
using MagickCore::NewMagickWandFromImage;
using MagickCore::NewPixelWand;
using MagickCore::NoiseType;
using MagickCore::NormalizeImage;
using MagickCore::NoValue;
using MagickCore::OilPaintImage;
using MagickCore::OpaquePaintImage;
using MagickCore::OptionError;
using MagickCore::OptionFatalError;
using MagickCore::OptionWarning;
using MagickCore::ParseMetaGeometry;
using MagickCore::PercentValue;
using MagickCore::PingBlob;
using MagickCore::PingImage;
using MagickCore::PixelSetQuantumColor;
using MagickCore::PixelWand;
using MagickCore::PointInfo;
using MagickCore::PopDrawingWand;
using MagickCore::ProfileImage;
using MagickCore::ProfileInfo;
using MagickCore::PushDrawingWand;
using MagickCore::QuantizeImage;
using MagickCore::QuantizeInfo;
using MagickCore::QuantumInfo;
using MagickCore::QueryColorDatabase;
using MagickCore::QueryMagickColor;
using MagickCore::QueueAuthenticPixels;
using MagickCore::QueueCacheViewAuthenticPixels;
using MagickCore::RaiseImage;
using MagickCore::RandomThresholdImageChannel;
using MagickCore::ReadImage;
using MagickCore::RectangleInfo;
using MagickCore::RegisterMagickInfo;
using MagickCore::RegistryError;
using MagickCore::RegistryFatalError;
using MagickCore::RegistryType;
using MagickCore::RegistryWarning;
using MagickCore::RelinquishMagickMemory;
using MagickCore::RemapImage;
using MagickCore::ResizeImage;
using MagickCore::ResizeMagickMemory;
using MagickCore::ResourceLimitError;
using MagickCore::ResourceLimitFatalError;
using MagickCore::ResourceLimitWarning;
using MagickCore::RollImage;
using MagickCore::RotateImage;
using MagickCore::SampleImage;
using MagickCore::ScaleImage;
using MagickCore::SegmentImage;
using MagickCore::SeparateImageChannel;
using MagickCore::SetClientName;
using MagickCore::SetGeometry;
using MagickCore::SetImageBackgroundColor;
using MagickCore::SetImageChannelDepth;
using MagickCore::SetImageClipMask;
using MagickCore::SetImageDepth;
using MagickCore::SetImageExtent;
using MagickCore::SetImageInfo;
using MagickCore::SetImageInfoFile;
using MagickCore::SetImageOpacity;
using MagickCore::SetImageOption;
using MagickCore::SetImageProfile;
using MagickCore::SetImageProperty;
using MagickCore::SetImageRegistry;
using MagickCore::SetImageType;
using MagickCore::SetLogEventMask;
using MagickCore::SetMagickInfo;
using MagickCore::SetMagickResourceLimit;
using MagickCore::SetStringInfoDatum;
using MagickCore::SetImageVirtualPixelMethod;
using MagickCore::ShadeImage;
using MagickCore::SharpenImage;
using MagickCore::SharpenImageChannel;
using MagickCore::ShaveImage;
using MagickCore::ShearImage;
using MagickCore::SigmoidalContrastImageChannel;
using MagickCore::SignatureImage;
using MagickCore::SolarizeImage;
using MagickCore::SparseColorImage;
using MagickCore::SpliceImage;
using MagickCore::SpreadImage;
using MagickCore::StatisticImage;
using MagickCore::SteganoImage;
using MagickCore::StereoImage;
using MagickCore::StreamError;
using MagickCore::StreamFatalError;
using MagickCore::StreamWarning;
using MagickCore::StringInfo;
using MagickCore::StripImage;
using MagickCore::SwirlImage;
using MagickCore::SyncCacheViewAuthenticPixels;
using MagickCore::SyncImage;
using MagickCore::SyncAuthenticPixels;
using MagickCore::TextureImage;
using MagickCore::ThrowException;
using MagickCore::TransformImage;
using MagickCore::TransformImageColorspace;
using MagickCore::TransparentPaintImage;
using MagickCore::TransparentPaintImageChroma;
using MagickCore::TrimImage;
using MagickCore::TypeError;
using MagickCore::TypeFatalError;
using MagickCore::TypeWarning;
using MagickCore::UndefinedException;
using MagickCore::UndefinedRegistryType;
using MagickCore::UnregisterMagickInfo;
using MagickCore::UnsharpMaskImage;
using MagickCore::UnsharpMaskImageChannel;
using MagickCore::CacheView;
using MagickCore::WaveImage;
using MagickCore::WidthValue;
using MagickCore::WriteImage;
using MagickCore::XNegative;
using MagickCore::XServerError;
using MagickCore::XServerFatalError;
using MagickCore::XServerWarning;
using MagickCore::XValue;
using MagickCore::YNegative;
using MagickCore::YValue;
#endif // MAGICKCORE_IMPLEMENTATION
}
#endif // Magick_Include_header

View file

@ -0,0 +1,339 @@
// This may look like C code, but it is really -*- C++ -*-
//
// Copyright Bob Friesenhahn, 1999, 2000, 2001, 2002, 2003
//
// Definition of Montage class used to specify montage options.
//
#if !defined(Magick_Montage_header)
#define Magick_Montage_header
#include "Magick++/Include.h"
#include <string>
#include "Magick++/Color.h"
#include "Magick++/Geometry.h"
//
// Basic (Un-framed) Montage
//
namespace Magick
{
class MagickPPExport Montage
{
public:
Montage( void );
virtual ~Montage( void );
void backgroundColor ( const Color &backgroundColor_ );
Color backgroundColor ( void ) const;
void compose ( CompositeOperator compose_ );
CompositeOperator compose ( void ) const;
void fileName( const std::string &fileName_ );
std::string fileName( void ) const;
void fillColor ( const Color &fill_ );
Color fillColor ( void ) const;
void font ( const std::string &font_ );
std::string font ( void ) const;
void geometry ( const Geometry &geometry_ );
Geometry geometry ( void ) const;
void gravity ( GravityType gravity_ );
GravityType gravity ( void ) const;
// Apply as attribute to all images before montage
void label( const std::string &label_ );
std::string label( void ) const;
// Same as fill color
void penColor ( const Color &pen_ );
Color penColor ( void ) const;
void pointSize ( size_t pointSize_ );
size_t pointSize ( void ) const;
void shadow ( bool shadow_ );
bool shadow ( void ) const;
void strokeColor ( const Color &stroke_ );
Color strokeColor ( void ) const;
void texture ( const std::string &texture_ );
std::string texture ( void ) const;
void tile ( const Geometry &tile_ );
Geometry tile ( void ) const;
void title ( const std::string &title_ );
std::string title ( void ) const;
// Apply to montage with TransparentPaintImage()
void transparentColor ( const Color &transparentColor_ );
Color transparentColor ( void ) const;
//
// Implementation methods/members
//
// Update elements in existing MontageInfo structure
virtual void updateMontageInfo ( MagickCore::MontageInfo &montageInfo_ ) const;
protected:
private:
Color _backgroundColor; // Color that thumbnails are composed on
CompositeOperator _compose; // Composition algorithm to use (e.g. ReplaceCompositeOp)
std::string _fileName; // Filename to save montages to
Color _fill; // Fill color
std::string _font; // Label font
Geometry _geometry; // Thumbnail width & height plus border width & height
GravityType _gravity; // Thumbnail position (e.g. SouthWestGravity)
std::string _label; // Thumbnail label (applied to image prior to montage)
size_t _pointSize; // Font point size
bool _shadow; // Enable drop-shadows on thumbnails
Color _stroke; // Outline color
std::string _texture; // Background texture image
Geometry _tile; // Thumbnail rows and colmns
std::string _title; // Montage title
Color _transparentColor; // Transparent color
};
//
// Montage With Frames (Extends Basic Montage)
//
class MagickPPExport MontageFramed : public Montage
{
public:
MontageFramed ( void );
/* virtual */ ~MontageFramed ( void );
void borderColor ( const Color &borderColor_ );
Color borderColor ( void ) const;
void borderWidth ( size_t borderWidth_ );
size_t borderWidth ( void ) const;
void frameGeometry ( const Geometry &frame_ );
Geometry frameGeometry ( void ) const;
void matteColor ( const Color &matteColor_ );
Color matteColor ( void ) const;
//
// Implementation methods/members
//
// Update elements in existing MontageInfo structure
/* virtual */ void updateMontageInfo ( MagickCore::MontageInfo &montageInfo_ ) const;
protected:
private:
Color _borderColor; // Frame border color
size_t _borderWidth; // Pixels between thumbnail and surrounding frame
Geometry _frame; // Frame geometry (width & height frame thickness)
Color _matteColor; // Frame foreground color
};
} // namespace Magick
//
// Inlines
//
//
// Implementation of Montage
//
inline void Magick::Montage::backgroundColor ( const Magick::Color &backgroundColor_ )
{
_backgroundColor = backgroundColor_;
}
inline Magick::Color Magick::Montage::backgroundColor ( void ) const
{
return _backgroundColor;
}
inline void Magick::Montage::compose ( Magick::CompositeOperator compose_ )
{
_compose = compose_;
}
inline Magick::CompositeOperator Magick::Montage::compose ( void ) const
{
return _compose;
}
inline void Magick::Montage::fileName( const std::string &fileName_ )
{
_fileName = fileName_;
}
inline std::string Magick::Montage::fileName( void ) const
{
return _fileName;
}
inline void Magick::Montage::fillColor ( const Color &fill_ )
{
_fill=fill_;
}
inline Magick::Color Magick::Montage::fillColor ( void ) const
{
return _fill;
}
inline void Magick::Montage::font ( const std::string &font_ )
{
_font = font_;
}
inline std::string Magick::Montage::font ( void ) const
{
return _font;
}
inline void Magick::Montage::geometry ( const Magick::Geometry &geometry_ )
{
_geometry = geometry_;
}
inline Magick::Geometry Magick::Montage::geometry ( void ) const
{
return _geometry;
}
inline void Magick::Montage::gravity ( Magick::GravityType gravity_ )
{
_gravity = gravity_;
}
inline Magick::GravityType Magick::Montage::gravity ( void ) const
{
return _gravity;
}
// Apply as attribute to all images before doing montage
inline void Magick::Montage::label( const std::string &label_ )
{
_label = label_;
}
inline std::string Magick::Montage::label( void ) const
{
return _label;
}
inline void Magick::Montage::penColor ( const Color &pen_ )
{
_fill=pen_;
_stroke=Color("none");
}
inline Magick::Color Magick::Montage::penColor ( void ) const
{
return _fill;
}
inline void Magick::Montage::pointSize ( size_t pointSize_ )
{
_pointSize = pointSize_;
}
inline size_t Magick::Montage::pointSize ( void ) const
{
return _pointSize;
}
inline void Magick::Montage::shadow ( bool shadow_ )
{
_shadow = shadow_;
}
inline bool Magick::Montage::shadow ( void ) const
{
return _shadow;
}
inline void Magick::Montage::strokeColor ( const Color &stroke_ )
{
_stroke=stroke_;
}
inline Magick::Color Magick::Montage::strokeColor ( void ) const
{
return _stroke;
}
inline void Magick::Montage::texture ( const std::string &texture_ )
{
_texture = texture_;
}
inline std::string Magick::Montage::texture ( void ) const
{
return _texture;
}
inline void Magick::Montage::tile ( const Geometry &tile_ )
{
_tile = tile_;
}
inline Magick::Geometry Magick::Montage::tile ( void ) const
{
return _tile;
}
inline void Magick::Montage::title ( const std::string &title_ )
{
_title = title_;
}
inline std::string Magick::Montage::title ( void ) const
{
return _title;
}
// Applied after the fact to montage with TransparentPaintImage()
inline void Magick::Montage::transparentColor ( const Magick::Color &transparentColor_ )
{
_transparentColor = transparentColor_;
}
inline Magick::Color Magick::Montage::transparentColor ( void ) const
{
return _transparentColor;
}
//
// Implementation of MontageFramed
//
inline void Magick::MontageFramed::borderColor ( const Magick::Color &borderColor_ )
{
_borderColor = borderColor_;
}
inline Magick::Color Magick::MontageFramed::borderColor ( void ) const
{
return _borderColor;
}
inline void Magick::MontageFramed::borderWidth ( size_t borderWidth_ )
{
_borderWidth = borderWidth_;
}
inline size_t Magick::MontageFramed::borderWidth ( void ) const
{
return _borderWidth;
}
inline void Magick::MontageFramed::frameGeometry ( const Magick::Geometry &frame_ )
{
_frame = frame_;
}
inline Magick::Geometry Magick::MontageFramed::frameGeometry ( void ) const
{
return _frame;
}
inline void Magick::MontageFramed::matteColor ( const Magick::Color &matteColor_ )
{
_matteColor = matteColor_;
}
inline Magick::Color Magick::MontageFramed::matteColor ( void ) const
{
return _matteColor;
}
#endif // Magick_Montage_header

View file

@ -0,0 +1,127 @@
// This may look like C code, but it is really -*- C++ -*-
//
// Copyright Bob Friesenhahn, 1999, 2000, 2001, 2002
//
// Representation of a pixel view.
//
#if !defined(Magick_Pixels_header)
#define Magick_Pixels_header
#include "Magick++/Include.h"
#include "Magick++/Color.h"
#include "Magick++/Image.h"
namespace Magick
{
class MagickPPExport Pixels
{
public:
// Construct pixel view using specified image.
Pixels( Magick::Image &image_ );
// Destroy pixel view
~Pixels( void );
// Transfer pixels from the image to the pixel view as defined by
// the specified region. Modified pixels may be subsequently
// transferred back to the image via sync.
PixelPacket* get ( const ::ssize_t x_, const ::ssize_t y_,
const size_t columns_,const size_t rows_ );
// Transfer read-only pixels from the image to the pixel view as
// defined by the specified region.
const PixelPacket* getConst ( const ::ssize_t x_, const ::ssize_t y_,
const size_t columns_,
const size_t rows_ );
// Transfers the image view pixels to the image.
void sync ( void );
// Allocate a pixel view region to store image pixels as defined
// by the region rectangle. This area is subsequently transferred
// from the pixel view to the image via sync.
PixelPacket* set ( const ::ssize_t x_, const ::ssize_t y_,
const size_t columns_, const size_t rows_ );
// Return pixel colormap index array
IndexPacket* indexes ( void );
// Left ordinate of view
::ssize_t x ( void ) const;
// Top ordinate of view
::ssize_t y ( void ) const;
// Width of view
size_t columns ( void ) const;
// Height of view
size_t rows ( void ) const;
#if 0
// Transfer one or more pixel components from a buffer or file
// into the image pixel view of an image. Used to support image
// decoders.
void decode ( const QuantumType quantum_,
const unsigned char *source_ )
{
MagickCore::ReadPixelCache( _image.image(), quantum_, source_ );
}
// Transfer one or more pixel components from the image pixel
// view to a buffer or file. Used to support image encoders.
void encode ( const QuantumType quantum_,
const unsigned char *destination_ )
{
MagickCore::WritePixelCache( _image.image(), quantum_, destination_ );
}
#endif
private:
// Copying and assigning Pixels is not supported.
Pixels( const Pixels& pixels_ );
const Pixels& operator=( const Pixels& pixels_ );
Magick::Image _image; // Image reference
MagickCore::CacheView* _view; // Image view handle
::ssize_t _x; // Left ordinate of view
::ssize_t _y; // Top ordinate of view
size_t _columns; // Width of view
size_t _rows; // Height of view
MagickCore:: ExceptionInfo _exception; // Any thrown exception
}; // class Pixels
} // Magick namespace
//
// Inline methods
//
// Left ordinate of view
inline ::ssize_t Magick::Pixels::x ( void ) const
{
return _x;
}
// Top ordinate of view
inline ::ssize_t Magick::Pixels::y ( void ) const
{
return _y;
}
// Width of view
inline size_t Magick::Pixels::columns ( void ) const
{
return _columns;
}
// Height of view
inline size_t Magick::Pixels::rows ( void ) const
{
return _rows;
}
#endif // Magick_Pixels_header

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,57 @@
// This may look like C code, but it is really -*- C++ -*-
//
// Copyright Bob Friesenhahn, 2001, 2002
//
// TypeMetric Definition
//
// Container for font type metrics
//
#if !defined (Magick_TypeMetric_header)
#define Magick_TypeMetric_header
#include "Magick++/Include.h"
namespace Magick
{
class MagickPPExport TypeMetric
{
friend class Image;
public:
TypeMetric ( void );
~TypeMetric ( void );
// Ascent, the distance in pixels from the text baseline to the
// highest/upper grid coordinate used to place an outline point.
double ascent ( void ) const;
// Descent, the distance in pixels from the baseline to the lowest
// grid coordinate used to place an outline point. Always a
// negative value.
double descent ( void ) const;
// Text width in pixels.
double textWidth ( void ) const;
// Text height in pixels.
double textHeight ( void ) const;
// Maximum horizontal advance in pixels.
double maxHorizontalAdvance ( void ) const;
//
// Public methods below this point are for Magick++ use only.
//
private:
MagickCore::TypeMetric _typeMetric;
};
} // namespace Magick
//
// Inlines
//
#endif // Magick_TypeMetric_header

View file

@ -0,0 +1,34 @@
/*
Copyright 1999-2013 ImageMagick Studio LLC, a non-profit organization
dedicated to making software imaging solutions freely available.
You may not use this file except in compliance with the License.
obtain a copy of the License at
http://www.imagemagick.org/script/license.php
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
Deprecated as of ImageMagick 6.2.3.
MagickCore Application Programming Interface declarations.
*/
#ifndef _MAGICKCORE_IMAGEMAGICK_DEPRECATED_H
#define _MAGICKCORE_IMAGEMAGICK_DEPRECATED_H
#if defined(__cplusplus) || defined(c_plusplus)
extern "C" {
#endif
#include "magick/MagickCore.h"
#if defined(__cplusplus) || defined(c_plusplus)
}
#endif
#endif

View file

@ -0,0 +1,153 @@
/*
Copyright 1999-2013 ImageMagick Studio LLC, a non-profit organization
dedicated to making software imaging solutions freely available.
You may not use this file except in compliance with the License.
obtain a copy of the License at
http://www.imagemagick.org/script/license.php
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
MagickCore Application Programming Interface declarations.
*/
#ifndef _MAGICKCORE_CORE_H
#define _MAGICKCORE_CORE_H
#if defined(__cplusplus) || defined(c_plusplus)
extern "C" {
#endif
#if !defined(_MAGICKCORE_CONFIG_H)
# define _MAGICKCORE_CONFIG_H
# if !defined(vms) && !defined(macintosh)
# include "magick/magick-config.h"
# else
# include "magick-config.h"
# endif
#if defined(_magickcore_const) && !defined(const)
# define const _magickcore_const
#endif
#if defined(_magickcore_inline) && !defined(inline)
# define inline _magickcore_inline
#endif
#if defined(_magickcore_restrict) && !defined(restrict)
# define restrict _magickcore_restrict
#endif
# if defined(__cplusplus) || defined(c_plusplus)
# undef inline
# endif
#endif
#include <stdio.h>
#include <stdarg.h>
#include <stdlib.h>
#include <sys/types.h>
#if defined(WIN32) || defined(WIN64)
# define MAGICKCORE_WINDOWS_SUPPORT
#else
# define MAGICKCORE_POSIX_SUPPORT
#endif
#include "magick/method-attribute.h"
#if defined(MAGICKCORE_NAMESPACE_PREFIX)
# include "magick/methods.h"
#endif
#include "magick/magick-type.h"
#include "magick/accelerate.h"
#include "magick/animate.h"
#include "magick/annotate.h"
#include "magick/artifact.h"
#include "magick/attribute.h"
#include "magick/blob.h"
#include "magick/cache.h"
#include "magick/cache-view.h"
#include "magick/channel.h"
#include "magick/cipher.h"
#include "magick/client.h"
#include "magick/coder.h"
#include "magick/color.h"
#include "magick/colorspace.h"
#include "magick/colormap.h"
#include "magick/compare.h"
#include "magick/composite.h"
#include "magick/compress.h"
#include "magick/configure.h"
#include "magick/constitute.h"
#include "magick/decorate.h"
#include "magick/delegate.h"
#include "magick/deprecate.h"
#include "magick/display.h"
#include "magick/distort.h"
#include "magick/distribute-cache.h"
#include "magick/draw.h"
#include "magick/effect.h"
#include "magick/enhance.h"
#include "magick/exception.h"
#include "magick/feature.h"
#include "magick/fourier.h"
#include "magick/fx.h"
#include "magick/gem.h"
#include "magick/geometry.h"
#include "magick/hashmap.h"
#include "magick/histogram.h"
#include "magick/identify.h"
#include "magick/image.h"
#include "magick/image-view.h"
#include "magick/layer.h"
#include "magick/list.h"
#include "magick/locale_.h"
#include "magick/log.h"
#include "magick/magic.h"
#include "magick/magick.h"
#include "magick/matrix.h"
#include "magick/memory_.h"
#include "magick/module.h"
#include "magick/mime.h"
#include "magick/monitor.h"
#include "magick/montage.h"
#include "magick/morphology.h"
#include "magick/option.h"
#include "magick/paint.h"
#include "magick/pixel.h"
#include "magick/pixel-accessor.h"
#include "magick/policy.h"
#include "magick/prepress.h"
#include "magick/profile.h"
#include "magick/property.h"
#include "magick/quantize.h"
#include "magick/quantum.h"
#include "magick/registry.h"
#include "magick/random_.h"
#include "magick/resample.h"
#include "magick/resize.h"
#include "magick/resource_.h"
#include "magick/segment.h"
#include "magick/shear.h"
#include "magick/signature.h"
#include "magick/splay-tree.h"
#include "magick/stream.h"
#include "magick/statistic.h"
#include "magick/string_.h"
#include "magick/timer.h"
#include "magick/token.h"
#include "magick/transform.h"
#include "magick/threshold.h"
#include "magick/type.h"
#include "magick/utility.h"
#include "magick/version.h"
#include "magick/xml-tree.h"
#include "magick/xwindow.h"
#if defined(__cplusplus) || defined(c_plusplus)
}
#endif
#endif

View file

@ -0,0 +1,115 @@
/*
Copyright 1999-2013 ImageMagick Studio LLC, a non-profit organization
dedicated to making software imaging solutions freely available.
You may not use this file except in compliance with the License.
obtain a copy of the License at
http://www.imagemagick.org/script/license.php
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
MagickCore X11 compatibility methods.
*/
#ifndef _MAGICKCORE_PRER5ICCCM_H
#define _MAGICKCORE_PRER5ICCCM_H
#if defined(__cplusplus) || defined(c_plusplus)
extern "C" {
#endif
#if defined(PRE_R6_ICCCM)
/*
Compatability defines for pre X11R6 ICCCM.
*/
#define XK_KP_Home 0xFF95
#define XK_KP_Left 0xFF96
#define XK_KP_Up 0xFF97
#define XK_KP_Right 0xFF98
#define XK_KP_Down 0xFF99
#define XK_KP_Prior 0xFF9A
#define XK_KP_Page_Up 0xFF9A
#define XK_KP_Next 0xFF9B
#define XK_KP_Page_Down 0xFF9B
#define XK_KP_End 0xFF9C
#define XK_KP_Delete 0xFF9F
extern MagickExport Status
XInitImage(XImage *ximage);
#endif
#if defined(PRE_R5_ICCCM)
extern MagickExport XrmDatabase
XrmGetDatabase();
#endif
#if defined(PRE_R4_ICCCM)
#if defined(vms)
#define XMaxRequestSize(display) 16384
#endif
#define WithdrawnState 0
typedef struct _XTextProperty
{
unsigned char
*value;
Atom
encoding;
int
format;
size_t
nitems;
} XTextProperty;
char
*XResourceManagerString();
extern MagickExport int
XWMGeometry();
extern MagickExport Status
XGetRGBColormaps(),
XGetWMName(),
XReconfigureWMWindow(),
XSetWMProtocols(),
XWithdrawWindow();
extern MagickExport XClassHint
*XAllocClassHint();
extern MagickExport XIconSize
*XAllocIconSize();
extern MagickExport XSizeHints
*XAllocSizeHints();
extern MagickExport XStandardColormap
*XAllocStandardColormap();
extern MagickExport XWMHints
*XAllocWMHints();
extern MagickExport VisualID
XVisualIDFromVisual();
extern MagickExport void
XrmDestroyDatabase(),
XSetWMIconName(),
XSetWMName(),
XSetWMProperties();
#else
#endif
#if defined(__cplusplus) || defined(c_plusplus)
}
#endif
#endif

View file

@ -0,0 +1,35 @@
/*
Copyright 1999-2013 ImageMagick Studio LLC, a non-profit organization
dedicated to making software imaging solutions freely available.
You may not use this file except in compliance with the License.
obtain a copy of the License at
http://www.imagemagick.org/script/license.php
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
MagickCore acceleration methods.
*/
#ifndef _MAGICKCORE_ACCELERATE_H
#define _MAGICKCORE_ACCELERATE_H
#if defined(__cplusplus) || defined(c_plusplus)
extern "C" {
#endif
#include "magick/morphology.h"
extern MagickExport MagickBooleanType
AccelerateConvolveImage(const Image *,const KernelInfo *,Image *,
ExceptionInfo *);
#if defined(__cplusplus) || defined(c_plusplus)
}
#endif
#endif

View file

@ -0,0 +1,32 @@
/*
Copyright 1999-2013 ImageMagick Studio LLC, a non-profit organization
dedicated to making software imaging solutions freely available.
You may not use this file except in compliance with the License.
obtain a copy of the License at
http://www.imagemagick.org/script/license.php
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
MagickCore methods to interactively animate an image sequence.
*/
#ifndef _MAGICKCORE_ANIMATE_H
#define _MAGICKCORE_ANIMATE_H
#if defined(__cplusplus) || defined(c_plusplus)
extern "C" {
#endif
extern MagickExport MagickBooleanType
AnimateImages(const ImageInfo *,Image *);
#if defined(__cplusplus) || defined(c_plusplus)
}
#endif
#endif

View file

@ -0,0 +1,44 @@
/*
Copyright 1999-2013 ImageMagick Studio LLC, a non-profit organization
dedicated to making software imaging solutions freely available.
You may not use this file except in compliance with the License.
obtain a copy of the License at
http://www.imagemagick.org/script/license.php
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
MagickCore image annotation methods.
*/
#ifndef _MAGICKCORE_ANNOTATE_H
#define _MAGICKCORE_ANNOTATE_H
#if defined(__cplusplus) || defined(c_plusplus)
extern "C" {
#endif
#include "magick/draw.h"
extern MagickExport MagickBooleanType
AnnotateComponentGenesis(void),
AnnotateImage(Image *,const DrawInfo *),
GetMultilineTypeMetrics(Image *,const DrawInfo *,TypeMetric *),
GetTypeMetrics(Image *,const DrawInfo *,TypeMetric *);
extern MagickExport ssize_t
FormatMagickCaption(Image *,DrawInfo *,const MagickBooleanType,TypeMetric *,
char **);
extern MagickExport void
AnnotateComponentTerminus(void);
#if defined(__cplusplus) || defined(c_plusplus)
}
#endif
#endif

View file

@ -0,0 +1,34 @@
/*
Copyright 1999-2013 ImageMagick Studio LLC, a non-profit organization
dedicated to making software imaging solutions freely available.
You may not use this file except in compliance with the License.
obtain a copy of the License at
http://www.imagemagick.org/script/license.php
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
Deprecated as of ImageMagick 6.2.3.
MagickCore Application Programming Interface declarations.
*/
#ifndef _MAGICKCORE_API_DEPRECATED_H
#define _MAGICKCORE_API_DEPRECATED_H
#if defined(__cplusplus) || defined(c_plusplus)
extern "C" {
#endif
#include "magick/MagickCore.h"
#if defined(__cplusplus) || defined(c_plusplus)
}
#endif
#endif

View file

@ -0,0 +1,46 @@
/*
Copyright 1999-2013 ImageMagick Studio LLC, a non-profit organization
dedicated to making software imaging solutions freely available.
You may not use this file except in compliance with the License.
obtain a copy of the License at
http://www.imagemagick.org/script/license.php
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
MagickCore artifact methods.
*/
#ifndef _MAGICKCORE_ARTIFACT_H
#define _MAGICKCORE_ARTIFACT_H
#if defined(__cplusplus) || defined(c_plusplus)
extern "C" {
#endif
extern MagickExport char
*GetNextImageArtifact(const Image *),
*RemoveImageArtifact(Image *,const char *);
extern MagickExport const char
*GetImageArtifact(const Image *,const char *);
extern MagickExport MagickBooleanType
CloneImageArtifacts(Image *,const Image *),
DefineImageArtifact(Image *,const char *),
DeleteImageArtifact(Image *,const char *),
SetImageArtifact(Image *,const char *,const char *);
extern MagickExport void
DestroyImageArtifacts(Image *),
ResetImageArtifactIterator(const Image *);
#if defined(__cplusplus) || defined(c_plusplus)
}
#endif
#endif

View file

@ -0,0 +1,51 @@
/*
Copyright 1999-2013 ImageMagick Studio LLC, a non-profit organization
dedicated to making software imaging solutions freely available.
You may not use this file except in compliance with the License.
obtain a copy of the License at
http://www.imagemagick.org/script/license.php
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
MagickCore methods to set or get image attributes.
*/
#ifndef _MAGICKCORE_ATTRIBUTE_H
#define _MAGICKCORE_ATTRIBUTE_H
#if defined(__cplusplus) || defined(c_plusplus)
extern "C" {
#endif
#include "magick/image.h"
#include "magick/exception.h"
extern MagickExport ImageType
GetImageType(const Image *,ExceptionInfo *);
extern MagickExport MagickBooleanType
IsGrayImage(const Image *,ExceptionInfo *),
IsMonochromeImage(const Image *,ExceptionInfo *),
IsOpaqueImage(const Image *,ExceptionInfo *),
SetImageChannelDepth(Image *,const ChannelType,const size_t),
SetImageDepth(Image *,const size_t),
SetImageType(Image *,const ImageType);
extern MagickExport RectangleInfo
GetImageBoundingBox(const Image *,ExceptionInfo *exception);
extern MagickExport size_t
GetImageChannelDepth(const Image *,const ChannelType,ExceptionInfo *),
GetImageDepth(const Image *,ExceptionInfo *),
GetImageQuantumDepth(const Image *,const MagickBooleanType);
#if defined(__cplusplus) || defined(c_plusplus)
}
#endif
#endif

View file

@ -0,0 +1,76 @@
/*
Copyright 1999-2013 ImageMagick Studio LLC, a non-profit organization
dedicated to making software imaging solutions freely available.
You may not use this file except in compliance with the License.
obtain a copy of the License at
http://www.imagemagick.org/script/license.php
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
MagickCore Binary Large OBjects methods.
*/
#ifndef _MAGICKCORE_BLOB_H
#define _MAGICKCORE_BLOB_H
#if defined(__cplusplus) || defined(c_plusplus)
extern "C" {
#endif
#include "magick/image.h"
#include "magick/stream.h"
#define MagickMaxBufferExtent (32*8192-2)
typedef enum
{
ReadMode,
WriteMode,
IOMode
} MapMode;
extern MagickExport FILE
*GetBlobFileHandle(const Image *);
extern MagickExport Image
*BlobToImage(const ImageInfo *,const void *,const size_t,ExceptionInfo *),
*PingBlob(const ImageInfo *,const void *,const size_t,ExceptionInfo *);
extern MagickExport MagickBooleanType
BlobToFile(char *,const void *,const size_t,ExceptionInfo *),
FileToImage(Image *,const char *),
GetBlobError(const Image *),
ImageToFile(Image *,char *,ExceptionInfo *),
InjectImageBlob(const ImageInfo *,Image *,Image *,const char *,
ExceptionInfo *),
IsBlobExempt(const Image *),
IsBlobSeekable(const Image *),
IsBlobTemporary(const Image *);
extern MagickExport MagickSizeType
GetBlobSize(const Image *);
extern MagickExport StreamHandler
GetBlobStreamHandler(const Image *);
extern MagickExport unsigned char
*FileToBlob(const char *,const size_t,size_t *,ExceptionInfo *),
*GetBlobStreamData(const Image *),
*ImageToBlob(const ImageInfo *,Image *,size_t *,ExceptionInfo *),
*ImagesToBlob(const ImageInfo *,Image *,size_t *,ExceptionInfo *);
extern MagickExport void
DestroyBlob(Image *),
DuplicateBlob(Image *,const Image *),
SetBlobExempt(Image *,const MagickBooleanType);
#if defined(__cplusplus) || defined(c_plusplus)
}
#endif
#endif

View file

@ -0,0 +1,108 @@
/*
Copyright 1999-2013 ImageMagick Studio LLC, a non-profit organization
dedicated to making software imaging solutions freely available.
You may not use this file except in compliance with the License.
obtain a copy of the License at
http://www.imagemagick.org/script/license.php
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
MagickCore cache view methods.
*/
#ifndef _MAGICKCORE_CACHE_VIEW_H
#define _MAGICKCORE_CACHE_VIEW_H
#if defined(__cplusplus) || defined(c_plusplus)
extern "C" {
#endif
#include "magick/pixel.h"
typedef enum
{
UndefinedVirtualPixelMethod,
BackgroundVirtualPixelMethod,
ConstantVirtualPixelMethod, /* deprecated */
DitherVirtualPixelMethod,
EdgeVirtualPixelMethod,
MirrorVirtualPixelMethod,
RandomVirtualPixelMethod,
TileVirtualPixelMethod,
TransparentVirtualPixelMethod,
MaskVirtualPixelMethod,
BlackVirtualPixelMethod,
GrayVirtualPixelMethod,
WhiteVirtualPixelMethod,
HorizontalTileVirtualPixelMethod,
VerticalTileVirtualPixelMethod,
HorizontalTileEdgeVirtualPixelMethod,
VerticalTileEdgeVirtualPixelMethod,
CheckerTileVirtualPixelMethod
} VirtualPixelMethod;
typedef struct _CacheView
CacheView;
extern MagickExport CacheView
*AcquireAuthenticCacheView(const Image *,ExceptionInfo *),
*AcquireCacheView(const Image *),
*AcquireVirtualCacheView(const Image *,ExceptionInfo *),
*CloneCacheView(const CacheView *),
*DestroyCacheView(CacheView *);
extern MagickExport ClassType
GetCacheViewStorageClass(const CacheView *);
extern MagickExport ColorspaceType
GetCacheViewColorspace(const CacheView *);
extern MagickExport const IndexPacket
*GetCacheViewVirtualIndexQueue(const CacheView *);
extern MagickExport const PixelPacket
*GetCacheViewVirtualPixels(const CacheView *,const ssize_t,const ssize_t,
const size_t,const size_t,ExceptionInfo *) magick_hot_spot,
*GetCacheViewVirtualPixelQueue(const CacheView *) magick_hot_spot;
extern MagickExport ExceptionInfo
*GetCacheViewException(const CacheView *);
extern MagickExport IndexPacket
*GetCacheViewAuthenticIndexQueue(CacheView *);
extern MagickExport MagickBooleanType
GetOneCacheViewVirtualPixel(const CacheView *,const ssize_t,const ssize_t,
PixelPacket *,ExceptionInfo *),
GetOneCacheViewVirtualMethodPixel(const CacheView *,
const VirtualPixelMethod,const ssize_t,const ssize_t,PixelPacket *,
ExceptionInfo *),
GetOneCacheViewAuthenticPixel(const CacheView *,const ssize_t,const ssize_t,
PixelPacket *,ExceptionInfo *),
SetCacheViewStorageClass(CacheView *,const ClassType),
SetCacheViewVirtualPixelMethod(CacheView *,const VirtualPixelMethod),
SyncCacheViewAuthenticPixels(CacheView *,ExceptionInfo *) magick_hot_spot;
extern MagickExport MagickSizeType
GetCacheViewExtent(const CacheView *);
extern MagickExport size_t
GetCacheViewChannels(const CacheView *);
extern MagickExport PixelPacket
*GetCacheViewAuthenticPixelQueue(CacheView *) magick_hot_spot,
*GetCacheViewAuthenticPixels(CacheView *,const ssize_t,const ssize_t,
const size_t,const size_t,ExceptionInfo *) magick_hot_spot,
*QueueCacheViewAuthenticPixels(CacheView *,const ssize_t,const ssize_t,
const size_t,const size_t,ExceptionInfo *) magick_hot_spot;
#if defined(__cplusplus) || defined(c_plusplus)
}
#endif
#endif

View file

@ -0,0 +1,90 @@
/*
Copyright 1999-2013 ImageMagick Studio LLC, a non-profit organization
dedicated to making software imaging solutions freely available.
You may not use this file except in compliance with the License.
obtain a copy of the License at
http://www.imagemagick.org/script/license.php
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
MagickCore cache methods.
*/
#ifndef _MAGICKCORE_CACHE_H
#define _MAGICKCORE_CACHE_H
#if defined(__cplusplus) || defined(c_plusplus)
extern "C" {
#endif
#include "magick/blob.h"
typedef enum
{
UndefinedCache,
MemoryCache,
MapCache,
DiskCache,
PingCache,
DistributedCache
} CacheType;
extern MagickExport CacheType
GetImagePixelCacheType(const Image *);
extern MagickExport const IndexPacket
*GetVirtualIndexQueue(const Image *);
extern MagickExport const PixelPacket
*GetVirtualPixels(const Image *,const ssize_t,const ssize_t,const size_t,
const size_t,ExceptionInfo *),
*GetVirtualPixelQueue(const Image *);
extern MagickExport const void
*AcquirePixelCachePixels(const Image *,MagickSizeType *,ExceptionInfo *);
extern MagickExport IndexPacket
*GetAuthenticIndexQueue(const Image *);
extern MagickExport MagickBooleanType
CacheComponentGenesis(void),
GetOneVirtualMagickPixel(const Image *,const ssize_t,const ssize_t,
MagickPixelPacket *,ExceptionInfo *),
GetOneVirtualPixel(const Image *,const ssize_t,const ssize_t,PixelPacket *,
ExceptionInfo *),
GetOneVirtualMethodPixel(const Image *,const VirtualPixelMethod,const ssize_t,
const ssize_t,PixelPacket *,ExceptionInfo *),
GetOneAuthenticPixel(Image *,const ssize_t,const ssize_t,PixelPacket *,
ExceptionInfo *),
PersistPixelCache(Image *,const char *,const MagickBooleanType,
MagickOffsetType *,ExceptionInfo *),
SyncAuthenticPixels(Image *,ExceptionInfo *);
extern MagickExport MagickSizeType
GetImageExtent(const Image *);
extern MagickExport PixelPacket
*GetAuthenticPixels(Image *,const ssize_t,const ssize_t,const size_t,
const size_t,ExceptionInfo *),
*GetAuthenticPixelQueue(const Image *),
*QueueAuthenticPixels(Image *,const ssize_t,const ssize_t,const size_t,
const size_t,ExceptionInfo *);
extern MagickExport VirtualPixelMethod
GetPixelCacheVirtualMethod(const Image *),
SetPixelCacheVirtualMethod(const Image *,const VirtualPixelMethod);
extern MagickExport void
CacheComponentTerminus(void),
*GetPixelCachePixels(Image *,MagickSizeType *,ExceptionInfo *);
#if defined(__cplusplus) || defined(c_plusplus)
}
#endif
#endif

View file

@ -0,0 +1,41 @@
/*
Copyright 1999-2013 ImageMagick Studio LLC, a non-profit organization
dedicated to making software imaging solutions freely available.
You may not use this file except in compliance with the License.
obtain a copy of the License at
http://www.imagemagick.org/script/license.php
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
MagickCore image channel methods.
*/
#ifndef _MAGICKCORE_CHANNEL_H
#define _MAGICKCORE_CHANNEL_H
#if defined(__cplusplus) || defined(c_plusplus)
extern "C" {
#endif
#include "magick/image.h"
extern MagickExport Image
*CombineImages(const Image *,const ChannelType,ExceptionInfo *),
*SeparateImage(const Image *,const ChannelType,ExceptionInfo *),
*SeparateImages(const Image *,const ChannelType,ExceptionInfo *);
extern MagickExport MagickBooleanType
GetImageAlphaChannel(const Image *),
SeparateImageChannel(Image *,const ChannelType),
SetImageAlphaChannel(Image *,const AlphaChannelType);
#if defined(__cplusplus) || defined(c_plusplus)
}
#endif
#endif

View file

@ -0,0 +1,35 @@
/*
Copyright 1999-2013 ImageMagick Studio LLC, a non-profit organization
dedicated to making software imaging solutions freely available.
You may not use this file except in compliance with the License.
obtain a copy of the License at
http://www.imagemagick.org/script/license.php
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
MagickCore cipher methods.
*/
#ifndef _MAGICKCORE_CIPHER_H
#define _MAGICKCORE_CIPHER_H
#if defined(__cplusplus) || defined(c_plusplus)
extern "C" {
#endif
extern MagickExport MagickBooleanType
DecipherImage(Image *,const char *,ExceptionInfo *),
EncipherImage(Image *,const char *,ExceptionInfo *),
PasskeyDecipherImage(Image *,const StringInfo *,ExceptionInfo *),
PasskeyEncipherImage(Image *,const StringInfo *,ExceptionInfo *);
#if defined(__cplusplus) || defined(c_plusplus)
}
#endif
#endif

View file

@ -0,0 +1,35 @@
/*
Copyright 1999-2013 ImageMagick Studio LLC, a non-profit organization
dedicated to making software imaging solutions freely available.
You may not use this file except in compliance with the License.
obtain a copy of the License at
http://www.imagemagick.org/script/license.php
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
MagickCore client methods.
*/
#ifndef _MAGICKCORE_CLIENT_H
#define _MAGICKCORE_CLIENT_H
#if defined(__cplusplus) || defined(c_plusplus)
extern "C" {
#endif
extern MagickExport const char
*GetClientPath(void),
*GetClientName(void),
*SetClientName(const char *),
*SetClientPath(const char *);
#if defined(__cplusplus) || defined(c_plusplus)
}
#endif
#endif

View file

@ -0,0 +1,62 @@
/*
Copyright 1999-2013 ImageMagick Studio LLC, a non-profit organization
dedicated to making software imaging solutions freely available.
You may not use this file except in compliance with the License.
obtain a copy of the License at
http://www.imagemagick.org/script/license.php
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
MagickCore image coder methods.
*/
#ifndef _MAGICKCORE_CODER_H
#define _MAGICKCORE_CODER_H
#if defined(__cplusplus) || defined(c_plusplus)
extern "C" {
#endif
typedef struct _CoderInfo
{
char
*path,
*magick,
*name;
MagickBooleanType
exempt,
stealth;
struct _CoderInfo
*previous,
*next; /* deprecated, use GetCoderInfoList() */
size_t
signature;
} CoderInfo;
extern MagickExport char
**GetCoderList(const char *,size_t *,ExceptionInfo *);
extern MagickExport const CoderInfo
*GetCoderInfo(const char *,ExceptionInfo *),
**GetCoderInfoList(const char *,size_t *,ExceptionInfo *);
extern MagickExport MagickBooleanType
CoderComponentGenesis(void),
ListCoderInfo(FILE *,ExceptionInfo *);
MagickExport void
CoderComponentTerminus(void);
#if defined(__cplusplus) || defined(c_plusplus)
}
#endif
#endif

View file

@ -0,0 +1,109 @@
/*
Copyright 1999-2013 ImageMagick Studio LLC, a non-profit organization
dedicated to making software imaging solutions freely available.
You may not use this file except in compliance with the License.
obtain a copy of the License at
http://www.imagemagick.org/script/license.php
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
MagickCore image color methods.
*/
#ifndef _MAGICKCORE_COLOR_H
#define _MAGICKCORE_COLOR_H
#if defined(__cplusplus) || defined(c_plusplus)
extern "C" {
#endif
#include "magick/pixel.h"
#include "magick/exception.h"
typedef enum
{
UndefinedCompliance,
NoCompliance = 0x0000,
SVGCompliance = 0x0001,
X11Compliance = 0x0002,
XPMCompliance = 0x0004,
AllCompliance = 0x7fffffff
} ComplianceType;
typedef struct _ColorInfo
{
char
*path,
*name;
ComplianceType
compliance;
MagickPixelPacket
color;
MagickBooleanType
exempt,
stealth;
struct _ColorInfo
*previous,
*next; /* deprecated, use GetColorInfoList() */
size_t
signature;
} ColorInfo;
typedef struct _ErrorInfo
{
double
mean_error_per_pixel,
normalized_mean_error,
normalized_maximum_error;
} ErrorInfo;
extern MagickExport char
**GetColorList(const char *,size_t *,ExceptionInfo *);
extern MagickExport const ColorInfo
*GetColorInfo(const char *,ExceptionInfo *),
**GetColorInfoList(const char *,size_t *,ExceptionInfo *);
extern MagickExport MagickBooleanType
ColorComponentGenesis(void),
IsColorSimilar(const Image *,const PixelPacket *,const PixelPacket *),
IsGrayImage(const Image *,ExceptionInfo *),
IsImageSimilar(const Image *,const Image *,ssize_t *x,ssize_t *y,
ExceptionInfo *),
IsMagickColorSimilar(const MagickPixelPacket *,const MagickPixelPacket *),
IsMonochromeImage(const Image *,ExceptionInfo *),
IsOpacitySimilar(const Image *,const PixelPacket *,const PixelPacket *),
IsOpaqueImage(const Image *,ExceptionInfo *),
ListColorInfo(FILE *,ExceptionInfo *),
QueryColorCompliance(const char *,const ComplianceType,PixelPacket *,
ExceptionInfo *),
QueryColorDatabase(const char *,PixelPacket *,ExceptionInfo *),
QueryColorname(const Image *,const PixelPacket *,const ComplianceType,char *,
ExceptionInfo *),
QueryMagickColorCompliance(const char *,const ComplianceType,
MagickPixelPacket *,ExceptionInfo *),
QueryMagickColor(const char *,MagickPixelPacket *,ExceptionInfo *),
QueryMagickColorname(const Image *,const MagickPixelPacket *,
const ComplianceType,char *,ExceptionInfo *);
extern MagickExport void
ColorComponentTerminus(void),
ConcatenateColorComponent(const MagickPixelPacket *,const ChannelType,
const ComplianceType,char *),
GetColorTuple(const MagickPixelPacket *,const MagickBooleanType,char *);
#if defined(__cplusplus) || defined(c_plusplus)
}
#endif
#endif

View file

@ -0,0 +1,34 @@
/*
Copyright 1999-2013 ImageMagick Studio LLC, a non-profit organization
dedicated to making software imaging solutions freely available.
You may not use this file except in compliance with the License.
obtain a copy of the License at
http://www.imagemagick.org/script/license.php
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
MagickCore image colormap methods.
*/
#ifndef _MAGICKCORE_COLORMAP_H
#define _MAGICKCORE_COLORMAP_H
#if defined(__cplusplus) || defined(c_plusplus)
extern "C" {
#endif
extern MagickExport MagickBooleanType
AcquireImageColormap(Image *,const size_t),
CycleColormapImage(Image *,const ssize_t),
SortColormapByIntensity(Image *);
#if defined(__cplusplus) || defined(c_plusplus)
}
#endif
#endif

View file

@ -0,0 +1,66 @@
/*
Copyright 1999-2013 ImageMagick Studio LLC, a non-profit organization
dedicated to making software imaging solutions freely available.
You may not use this file except in compliance with the License.
obtain a copy of the License at
http://www.imagemagick.org/script/license.php
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
MagickCore image colorspace methods.
*/
#ifndef _MAGICKCORE_COLORSPACE_H
#define _MAGICKCORE_COLORSPACE_H
#if defined(__cplusplus) || defined(c_plusplus)
extern "C" {
#endif
typedef enum
{
UndefinedColorspace,
RGBColorspace,
GRAYColorspace,
TransparentColorspace,
OHTAColorspace,
LabColorspace,
XYZColorspace,
YCbCrColorspace,
YCCColorspace,
YIQColorspace,
YPbPrColorspace,
YUVColorspace,
CMYKColorspace,
sRGBColorspace,
HSBColorspace,
HSLColorspace,
HWBColorspace,
Rec601LumaColorspace,
Rec601YCbCrColorspace,
Rec709LumaColorspace,
Rec709YCbCrColorspace,
LogColorspace,
CMYColorspace,
LuvColorspace,
HCLColorspace,
LCHColorspace,
LMSColorspace
} ColorspaceType;
extern MagickExport MagickBooleanType
RGBTransformImage(Image *,const ColorspaceType),
SetImageColorspace(Image *,const ColorspaceType),
TransformImageColorspace(Image *,const ColorspaceType),
TransformRGBImage(Image *,const ColorspaceType);
#if defined(__cplusplus) || defined(c_plusplus)
}
#endif
#endif

Some files were not shown because too many files have changed in this diff Show more