SWF.$(O): SWF.c pyutils.h primitives.h taglist.h
$(C) -Wall -Wno-unused -fPIC $(PYTHON_INCLUDES) -c SWF.c -o SWF.$(O)
-SWF.$(SLEXT): SWF.$(O) taglist.$(O) tag.$(O) image.$(O) tags.$(O) tagmap.$(O) action.$(O) primitives.$(O) pyutils.$(O) ../librfxswf$(A) Makefile
- $(L) -g $(SHARED) SWF.$(O) tagmap.$(O) taglist.$(O) tag.$(O) image.$(O) tags.$(O) action.$(O) primitives.$(O) pyutils.$(O) -o SWF.$(SLEXT) $(PYTHON_LIB) ../librfxswf$(A) $(LIBS)
+SWF.$(SLEXT): SWF.$(O) taglist.$(O) tag.$(O) image.$(O) tags.$(O) tagmap.$(O) action.$(O) primitives.$(O) pyutils.$(O) ../librfxswf$(A) ../png.$(O) Makefile
+ $(L) -g $(SHARED) SWF.$(O) tagmap.$(O) taglist.$(O) tag.$(O) image.$(O) tags.$(O) action.$(O) primitives.$(O) pyutils.$(O) -o SWF.$(SLEXT) $(PYTHON_LIB) ../librfxswf$(A) ../png.$(O) $(LIBS)
#TODO:
install:
mypython$(E): mypython.c Makefile
$(L) -Wno-redundant-decls -g $(PYTHON_INCLUDES) mypython.c -o mypython$(E) $(PYTHON_LIB)
swfpython$(E): swfpython.c Makefile primitives.$(O) tagmap.$(O) taglist.$(O) tag.$(O) tags.$(O) action.$(O) pyutils.$(O) SWF.$(O)
- $(L) -Wno-redundant-decls -g $(PYTHON_INCLUDES) swfpython.c -o swfpython$(E) $(PYTHON_LIB) ../librfxswf$(A) $(LIBS)
+ $(L) -Wno-redundant-decls -g $(PYTHON_INCLUDES) swfpython.c -o swfpython$(E) $(PYTHON_LIB) ../librfxswf$(A) ../png.$(O) $(LIBS)
testmem$(E): testmem.c Makefile
$(L) $(PYTHON_INCLUDES) testmem.c -o testmem$(E) $(PYTHON_LIB) $(LIBS)
#include "tag.h"
#include "tags.h"
#include "image.h"
+#include "../png.h"
//----------------------------------------------------------------------------
}
return 0;
}
+
+static PyObject* image_save(PyObject*self, PyObject*args)
+{
+ tag_internals_t*itag = tag_getinternals(self);
+ if(!image_parse(itag))
+ return PY_ERROR("Couldn't parse shape");
+ image_internal_t*fi = (image_internal_t*)itag->data;
+
+ char*filename = 0;
+ if(!PyArg_ParseTuple(args, "s", &filename))
+ return NULL;
+
+ writePNG(filename, fi->rgba ,fi->width, fi->height);
+
+ return PY_NONE;
+}
+
+static PyMethodDef image_methods[] =
+{{"save", image_save, METH_VARARGS, "saves an image as PNG"},
+ {NULL, NULL, 0, NULL}
+};
+
static tag_internals_t image_tag =
{
parse: image_parse,
dealloc: image_dealloc,
getattr: image_getattr,
setattr: 0,
- tagfunctions: 0,
+ tagfunctions: image_methods,
datasize: sizeof(image_internal_t),
};
//----------------------------------------------------------------------------