Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTamito Kajiyama <rd6t-kjym@asahi-net.or.jp>2009-09-27 04:32:20 +0400
committerTamito Kajiyama <rd6t-kjym@asahi-net.or.jp>2009-09-27 04:32:20 +0400
commit069d21dddfef3361068afa987cc618f8fdaf48c3 (patch)
tree60770a4941397178ea254c32f4f1622043b829c8 /source/blender/freestyle/intern/python/BPy_StrokeShader.cpp
parent1ed4d4cbfbd3bf4768935b454afba88eb42ea14e (diff)
Made the Freestyle Python API compatible with Python 3.
Diffstat (limited to 'source/blender/freestyle/intern/python/BPy_StrokeShader.cpp')
-rw-r--r--source/blender/freestyle/intern/python/BPy_StrokeShader.cpp181
1 files changed, 70 insertions, 111 deletions
diff --git a/source/blender/freestyle/intern/python/BPy_StrokeShader.cpp b/source/blender/freestyle/intern/python/BPy_StrokeShader.cpp
index 1a99d7e395c..637d917fb6d 100644
--- a/source/blender/freestyle/intern/python/BPy_StrokeShader.cpp
+++ b/source/blender/freestyle/intern/python/BPy_StrokeShader.cpp
@@ -42,217 +42,176 @@ static PyObject * StrokeShader_shade( BPy_StrokeShader *self , PyObject *args);
/*----------------------StrokeShader instance definitions ----------------------------*/
static PyMethodDef BPy_StrokeShader_methods[] = {
- {"getName", ( PyCFunction ) StrokeShader_getName, METH_NOARGS, "( )Returns the string of the name of the binary predicate."},
- {"shade", ( PyCFunction ) StrokeShader_shade, METH_VARARGS, "(Stroke s )The shading method. This method must be overloaded by inherited classes. The shading method is designed to modify any Stroke's attribute such as Thickness, Color, Geometry, Texture, Blending mode... The basic way to achieve this operation consists in iterating over the StrokeVertices of the Stroke and to modify each one's StrokeAttribute."},
+ {"getName", ( PyCFunction ) StrokeShader_getName, METH_NOARGS, "() Returns the string of the name of the binary predicate."},
+ {"shade", ( PyCFunction ) StrokeShader_shade, METH_VARARGS, "(Stroke s) The shading method. This method must be overloaded by inherited classes. The shading method is designed to modify any Stroke's attribute such as Thickness, Color, Geometry, Texture, Blending mode... The basic way to achieve this operation consists in iterating over the StrokeVertices of the Stroke and to modify each one's StrokeAttribute."},
{NULL, NULL, 0, NULL}
};
/*-----------------------BPy_StrokeShader type definition ------------------------------*/
PyTypeObject StrokeShader_Type = {
- PyObject_HEAD_INIT( NULL )
- 0, /* ob_size */
- "StrokeShader", /* tp_name */
- sizeof( BPy_StrokeShader ), /* tp_basicsize */
- 0, /* tp_itemsize */
-
- /* methods */
- (destructor)StrokeShader___dealloc__, /* tp_dealloc */
- NULL, /* printfunc tp_print; */
- NULL, /* getattrfunc tp_getattr; */
- NULL, /* setattrfunc tp_setattr; */
- NULL, /* tp_compare */
- (reprfunc)StrokeShader___repr__, /* tp_repr */
-
- /* Method suites for standard classes */
-
- NULL, /* PyNumberMethods *tp_as_number; */
- NULL, /* PySequenceMethods *tp_as_sequence; */
- NULL, /* PyMappingMethods *tp_as_mapping; */
-
- /* More standard operations (here for binary compatibility) */
-
- NULL, /* hashfunc tp_hash; */
- NULL, /* ternaryfunc tp_call; */
- NULL, /* reprfunc tp_str; */
- NULL, /* getattrofunc tp_getattro; */
- NULL, /* setattrofunc tp_setattro; */
-
- /* Functions to access object as input/output buffer */
- NULL, /* PyBufferProcs *tp_as_buffer; */
-
- /*** Flags to define presence of optional/expanded features ***/
- Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE, /* long tp_flags; */
-
- NULL, /* char *tp_doc; Documentation string */
- /*** Assigned meaning in release 2.0 ***/
- /* call function for all accessible objects */
- NULL, /* traverseproc tp_traverse; */
-
- /* delete references to contained objects */
- NULL, /* inquiry tp_clear; */
-
- /*** Assigned meaning in release 2.1 ***/
- /*** rich comparisons ***/
- NULL, /* richcmpfunc tp_richcompare; */
-
- /*** weak reference enabler ***/
- 0, /* long tp_weaklistoffset; */
-
- /*** Added in release 2.2 ***/
- /* Iterators */
- NULL, /* getiterfunc tp_iter; */
- NULL, /* iternextfunc tp_iternext; */
-
- /*** Attribute descriptor and subclassing stuff ***/
- BPy_StrokeShader_methods, /* struct PyMethodDef *tp_methods; */
- NULL, /* struct PyMemberDef *tp_members; */
- NULL, /* struct PyGetSetDef *tp_getset; */
- NULL, /* struct _typeobject *tp_base; */
- NULL, /* PyObject *tp_dict; */
- NULL, /* descrgetfunc tp_descr_get; */
- NULL, /* descrsetfunc tp_descr_set; */
- 0, /* long tp_dictoffset; */
- (initproc)StrokeShader___init__, /* initproc tp_init; */
- NULL, /* allocfunc tp_alloc; */
- PyType_GenericNew, /* newfunc tp_new; */
-
- /* Low-level free-memory routine */
- NULL, /* freefunc tp_free; */
-
- /* For PyObject_IS_GC */
- NULL, /* inquiry tp_is_gc; */
- NULL, /* PyObject *tp_bases; */
-
- /* method resolution order */
- NULL, /* PyObject *tp_mro; */
- NULL, /* PyObject *tp_cache; */
- NULL, /* PyObject *tp_subclasses; */
- NULL, /* PyObject *tp_weaklist; */
- NULL
+ PyVarObject_HEAD_INIT(NULL, 0)
+ "StrokeShader", /* tp_name */
+ sizeof(BPy_StrokeShader), /* tp_basicsize */
+ 0, /* tp_itemsize */
+ (destructor)StrokeShader___dealloc__, /* tp_dealloc */
+ 0, /* tp_print */
+ 0, /* tp_getattr */
+ 0, /* tp_setattr */
+ 0, /* tp_reserved */
+ (reprfunc)StrokeShader___repr__, /* tp_repr */
+ 0, /* tp_as_number */
+ 0, /* tp_as_sequence */
+ 0, /* tp_as_mapping */
+ 0, /* tp_hash */
+ 0, /* tp_call */
+ 0, /* tp_str */
+ 0, /* tp_getattro */
+ 0, /* tp_setattro */
+ 0, /* tp_as_buffer */
+ Py_TPFLAGS_DEFAULT | Py_TPFLAGS_BASETYPE, /* tp_flags */
+ "StrokeShader objects", /* tp_doc */
+ 0, /* tp_traverse */
+ 0, /* tp_clear */
+ 0, /* tp_richcompare */
+ 0, /* tp_weaklistoffset */
+ 0, /* tp_iter */
+ 0, /* tp_iternext */
+ BPy_StrokeShader_methods, /* tp_methods */
+ 0, /* tp_members */
+ 0, /* tp_getset */
+ 0, /* tp_base */
+ 0, /* tp_dict */
+ 0, /* tp_descr_get */
+ 0, /* tp_descr_set */
+ 0, /* tp_dictoffset */
+ (initproc)StrokeShader___init__, /* tp_init */
+ 0, /* tp_alloc */
+ PyType_GenericNew, /* tp_new */
};
//-------------------MODULE INITIALIZATION--------------------------------
-PyMODINIT_FUNC StrokeShader_Init( PyObject *module )
+int StrokeShader_Init( PyObject *module )
{
if( module == NULL )
- return;
+ return -1;
if( PyType_Ready( &StrokeShader_Type ) < 0 )
- return;
+ return -1;
Py_INCREF( &StrokeShader_Type );
PyModule_AddObject(module, "StrokeShader", (PyObject *)&StrokeShader_Type);
if( PyType_Ready( &BackboneStretcherShader_Type ) < 0 )
- return;
+ return -1;
Py_INCREF( &BackboneStretcherShader_Type );
PyModule_AddObject(module, "BackboneStretcherShader", (PyObject *)&BackboneStretcherShader_Type);
if( PyType_Ready( &BezierCurveShader_Type ) < 0 )
- return;
+ return -1;
Py_INCREF( &BezierCurveShader_Type );
PyModule_AddObject(module, "BezierCurveShader", (PyObject *)&BezierCurveShader_Type);
if( PyType_Ready( &CalligraphicShader_Type ) < 0 )
- return;
+ return -1;
Py_INCREF( &CalligraphicShader_Type );
PyModule_AddObject(module, "CalligraphicShader", (PyObject *)&CalligraphicShader_Type);
if( PyType_Ready( &ColorNoiseShader_Type ) < 0 )
- return;
+ return -1;
Py_INCREF( &ColorNoiseShader_Type );
PyModule_AddObject(module, "ColorNoiseShader", (PyObject *)&ColorNoiseShader_Type);
if( PyType_Ready( &ColorVariationPatternShader_Type ) < 0 )
- return;
+ return -1;
Py_INCREF( &ColorVariationPatternShader_Type );
PyModule_AddObject(module, "ColorVariationPatternShader", (PyObject *)&ColorVariationPatternShader_Type);
if( PyType_Ready( &ConstantColorShader_Type ) < 0 )
- return;
+ return -1;
Py_INCREF( &ConstantColorShader_Type );
PyModule_AddObject(module, "ConstantColorShader", (PyObject *)&ConstantColorShader_Type);
if( PyType_Ready( &ConstantThicknessShader_Type ) < 0 )
- return;
+ return -1;
Py_INCREF( &ConstantThicknessShader_Type );
PyModule_AddObject(module, "ConstantThicknessShader", (PyObject *)&ConstantThicknessShader_Type);
if( PyType_Ready( &ConstrainedIncreasingThicknessShader_Type ) < 0 )
- return;
+ return -1;
Py_INCREF( &ConstrainedIncreasingThicknessShader_Type );
PyModule_AddObject(module, "ConstrainedIncreasingThicknessShader", (PyObject *)&ConstrainedIncreasingThicknessShader_Type);
if( PyType_Ready( &fstreamShader_Type ) < 0 )
- return;
+ return -1;
Py_INCREF( &fstreamShader_Type );
PyModule_AddObject(module, "fstreamShader", (PyObject *)&fstreamShader_Type);
if( PyType_Ready( &GuidingLinesShader_Type ) < 0 )
- return;
+ return -1;
Py_INCREF( &GuidingLinesShader_Type );
PyModule_AddObject(module, "GuidingLinesShader", (PyObject *)&GuidingLinesShader_Type);
if( PyType_Ready( &IncreasingColorShader_Type ) < 0 )
- return;
+ return -1;
Py_INCREF( &IncreasingColorShader_Type );
PyModule_AddObject(module, "IncreasingColorShader", (PyObject *)&IncreasingColorShader_Type);
if( PyType_Ready( &IncreasingThicknessShader_Type ) < 0 )
- return;
+ return -1;
Py_INCREF( &IncreasingThicknessShader_Type );
PyModule_AddObject(module, "IncreasingThicknessShader", (PyObject *)&IncreasingThicknessShader_Type);
if( PyType_Ready( &PolygonalizationShader_Type ) < 0 )
- return;
+ return -1;
Py_INCREF( &PolygonalizationShader_Type );
PyModule_AddObject(module, "PolygonalizationShader", (PyObject *)&PolygonalizationShader_Type);
if( PyType_Ready( &SamplingShader_Type ) < 0 )
- return;
+ return -1;
Py_INCREF( &SamplingShader_Type );
PyModule_AddObject(module, "SamplingShader", (PyObject *)&SamplingShader_Type);
if( PyType_Ready( &SmoothingShader_Type ) < 0 )
- return;
+ return -1;
Py_INCREF( &SmoothingShader_Type );
PyModule_AddObject(module, "SmoothingShader", (PyObject *)&SmoothingShader_Type);
if( PyType_Ready( &SpatialNoiseShader_Type ) < 0 )
- return;
+ return -1;
Py_INCREF( &SpatialNoiseShader_Type );
PyModule_AddObject(module, "SpatialNoiseShader", (PyObject *)&SpatialNoiseShader_Type);
if( PyType_Ready( &streamShader_Type ) < 0 )
- return;
+ return -1;
Py_INCREF( &streamShader_Type );
PyModule_AddObject(module, "streamShader", (PyObject *)&streamShader_Type);
if( PyType_Ready( &StrokeTextureShader_Type ) < 0 )
- return;
+ return -1;
Py_INCREF( &StrokeTextureShader_Type );
PyModule_AddObject(module, "StrokeTextureShader", (PyObject *)&StrokeTextureShader_Type);
if( PyType_Ready( &TextureAssignerShader_Type ) < 0 )
- return;
+ return -1;
Py_INCREF( &TextureAssignerShader_Type );
PyModule_AddObject(module, "TextureAssignerShader", (PyObject *)&TextureAssignerShader_Type);
if( PyType_Ready( &ThicknessNoiseShader_Type ) < 0 )
- return;
+ return -1;
Py_INCREF( &ThicknessNoiseShader_Type );
PyModule_AddObject(module, "ThicknessNoiseShader", (PyObject *)&ThicknessNoiseShader_Type);
if( PyType_Ready( &ThicknessVariationPatternShader_Type ) < 0 )
- return;
+ return -1;
Py_INCREF( &ThicknessVariationPatternShader_Type );
PyModule_AddObject(module, "ThicknessVariationPatternShader", (PyObject *)&ThicknessVariationPatternShader_Type);
if( PyType_Ready( &TipRemoverShader_Type ) < 0 )
- return;
+ return -1;
Py_INCREF( &TipRemoverShader_Type );
PyModule_AddObject(module, "TipRemoverShader", (PyObject *)&TipRemoverShader_Type);
-
+
+ return 0;
}
//------------------------INSTANCE METHODS ----------------------------------
@@ -270,19 +229,19 @@ void StrokeShader___dealloc__(BPy_StrokeShader* self)
{
if (self->ss)
delete self->ss;
- self->ob_type->tp_free((PyObject*)self);
+ Py_TYPE(self)->tp_free((PyObject*)self);
}
PyObject * StrokeShader___repr__(BPy_StrokeShader* self)
{
- return PyString_FromFormat("type: %s - address: %p", self->ss->getName().c_str(), self->ss );
+ return PyUnicode_FromFormat("type: %s - address: %p", self->ss->getName().c_str(), self->ss );
}
PyObject * StrokeShader_getName( BPy_StrokeShader *self, PyObject *args)
{
- return PyString_FromString( self->ss->getName().c_str() );
+ return PyUnicode_FromFormat( self->ss->getName().c_str() );
}
PyObject *StrokeShader_shade( BPy_StrokeShader *self , PyObject *args) {