- start of external Imager API access:
authorTony Cook <tony@develop=help.com>
Tue, 10 Jan 2006 03:09:58 +0000 (03:09 +0000)
committerTony Cook <tony@develop=help.com>
Tue, 10 Jan 2006 03:09:58 +0000 (03:09 +0000)
commit92bda6321b472bb18726d950da8833b950abf4ee
treefd6b0b5331d330a1999434f971b165955596a921
parentcad360aa9028f8b30b19bec8dfce9897b5c9b291
- start of external Imager API access:
  - rename headers to avoid conflicts:
    - image.h to imager.h
    - imagei.h to imageri.h
    - datatypes.h to imdatatypes.h
    - config.h to imconfig.h (created by Makefile.PL)
  - moved all public types defined in imager.h to imdatatypes.h
  - supply the PM parameter to WriteMakefile(), to install headers
    under Imager/include, and the Imager typemap in Imager/typemap.
    We scan the MANIFEST for files to add to PM.
  - add "i_" prefix on some functions useful as public at the C level.
  - moved the typedefs that support the typemap from Imager.xs to
    imperl.h
  - set the global callbacks hook in the Imager.xs BOOT section
  - API cleanup:
    - define i_tags_set(), i_tags_setn() - we might not allow multiple
      values for a tag in the future
    - i_copy() now returns a new image instead of doing horrible inplace
      things to an existing image
    - provide actual functions for all of the macros we define in imager.h
      so we can put them in the global callbacks structure
  - define global functions structure (imexttypes.h)
    and initialize it (imext.c)
  - add API include header with macros to setup the define and
    initialize the local callbacks pointer, and macros to call the API
    functions.
  - build Imager::APIRef from C sources, including updating the sources
    to include documentation for each API function.
  - convert dyntest and mandelbrot dynfilts into XS modules (too easy)
  - simple Imager::CountColor example
- support Inline::C :
  - typemap changes to accept Imager or Imager::ImgRaw objects as
    image parameters
  - define Imager output type for trivial cases of returning an i_img as
    a full Imager object
  - Inline WITH hook to filter Imager XS types into types Inline::C can
    accept, supply appropriate headers and initialization.
  - test script t/t82inline.t
- try to use XSLoader instead of DynaLoader (but fallback if necessary)
- paste() can now paste a subset of the source image.
- paste() now has better tests
- paste() should now be faster for larger pastes
83 files changed:
Changes
CountColor/CountColor.pm [new file with mode: 0644]
CountColor/CountColor.xs [new file with mode: 0644]
CountColor/Makefile.PL [new file with mode: 0644]
CountColor/t/t00countcolor.t [new file with mode: 0644]
DynTest/DynTest.pm [new file with mode: 0644]
DynTest/DynTest.xs [new file with mode: 0644]
DynTest/Makefile.PL [new file with mode: 0644]
DynTest/linstretch.c [new file with mode: 0644]
DynTest/t/t00dyntest.t [new file with mode: 0644]
Imager.pm
Imager.xs
MANIFEST
MANIFEST.SKIP [new file with mode: 0644]
Makefile.PL
Mandelbrot/Makefile.PL [new file with mode: 0644]
Mandelbrot/Mandelbrot.pm [new file with mode: 0644]
Mandelbrot/Mandelbrot.xs [new file with mode: 0644]
Mandelbrot/mandel.c [new file with mode: 0644]
Mandelbrot/t/t00mandel.t [new file with mode: 0644]
apidocs.perl [new file with mode: 0644]
bmp.c
color.c
conv.c
convert.c
datatypes.c
datatypes.h [deleted file]
draw.c
draw.h
dynaload.c
error.c
ext.h
feat.h
fills.c
filters.c
font.c
freetyp2.c
gaussian.c
gif.c
hlines.c
image.c
image.h [deleted file]
imagei.h [deleted file]
imager.h [new file with mode: 0644]
imageri.h [new file with mode: 0644]
imdatatypes.h [new file with mode: 0644]
imexif.h
imext.c [new file with mode: 0644]
imext.h [new file with mode: 0644]
imextdef.h [new file with mode: 0644]
imexttypes.h [new file with mode: 0644]
img16.c
imgdouble.c
imperl.h [new file with mode: 0644]
jpeg.c
lib/Imager/API.pm [new file with mode: 0644]
lib/Imager/APIRef.pm [new file with mode: 0644]
lib/Imager/ExtUtils.pm [new file with mode: 0644]
lib/Imager/Inline.pod [new file with mode: 0644]
lib/Imager/Transformations.pod
limits.c
map.c
maskimg.c
metafile.pl [new file with mode: 0644]
palimg.c
plug.h
png.c
pnm.c
polygon.c
quant.c
raw.c
regmach.h
rgb.c
rotate.c
t/t022double.t
t/t66paste.t
t/t82inline.t [new file with mode: 0644]
tags.c
tga.c
tiff.c
trans2.c
typemap
win32.c