Moved all bindings to the "bindings" sub-directory
Renamed the CSFML directory to c Renamed the DSFML directory to d --> bindings must now be updated to match the new organization! git-svn-id: https://sfml.svn.sourceforge.net/svnroot/sfml/branches/sfml2@1630 4e206d99-4929-0410-ac5d-dfc041789085
This commit is contained in:
parent
0cc5563cac
commit
0e2297af28
417 changed files with 0 additions and 0 deletions
304
bindings/python/src/main.cpp
Normal file
304
bindings/python/src/main.cpp
Normal file
|
@ -0,0 +1,304 @@
|
|||
////////////////////////////////////////////////////////////
|
||||
//
|
||||
// PySFML - Python binding for SFML (Simple and Fast Multimedia Library)
|
||||
// Copyright (C) 2007, 2008 Rémi Koenig (remi.k2620@gmail.com)
|
||||
//
|
||||
// This software is provided 'as-is', without any express or implied warranty.
|
||||
// In no event will the authors be held liable for any damages arising from the use of this software.
|
||||
//
|
||||
// Permission is granted to anyone to use this software for any purpose,
|
||||
// including commercial applications, and to alter it and redistribute it freely,
|
||||
// subject to the following restrictions:
|
||||
//
|
||||
// 1. The origin of this software must not be misrepresented;
|
||||
// you must not claim that you wrote the original software.
|
||||
// If you use this software in a product, an acknowledgment
|
||||
// in the product documentation would be appreciated but is not required.
|
||||
//
|
||||
// 2. Altered source versions must be plainly marked as such,
|
||||
// and must not be misrepresented as being the original software.
|
||||
//
|
||||
// 3. This notice may not be removed or altered from any source distribution.
|
||||
//
|
||||
////////////////////////////////////////////////////////////
|
||||
|
||||
#include "main.hpp"
|
||||
|
||||
#include "Color.hpp"
|
||||
#include "Key.hpp"
|
||||
#include "Joy.hpp"
|
||||
#include "Event.hpp"
|
||||
#include "Mouse.hpp"
|
||||
#include "WindowStyle.hpp"
|
||||
#include "ContextSettings.hpp"
|
||||
#include "Blend.hpp"
|
||||
#include "Sound.hpp"
|
||||
#include "Text.hpp"
|
||||
#include "SoundStream.hpp"
|
||||
|
||||
#include "compat.hpp"
|
||||
|
||||
extern PyTypeObject PySfClockType;
|
||||
|
||||
extern PyTypeObject PySfEventType;
|
||||
extern PyTypeObject PySfEventTextType;
|
||||
extern PyTypeObject PySfEventKeyType;
|
||||
extern PyTypeObject PySfEventMouseMoveType;
|
||||
extern PyTypeObject PySfEventMouseButtonType;
|
||||
extern PyTypeObject PySfEventMouseWheelType;
|
||||
extern PyTypeObject PySfEventJoyMoveType;
|
||||
extern PyTypeObject PySfEventJoyButtonType;
|
||||
extern PyTypeObject PySfEventSizeType;
|
||||
extern PyTypeObject PySfKeyType;
|
||||
extern PyTypeObject PySfJoyType;
|
||||
extern PyTypeObject PySfMouseType;
|
||||
|
||||
extern PyTypeObject PySfVideoModeType;
|
||||
extern PyTypeObject PySfWindowType;
|
||||
extern PyTypeObject PySfStyleType;
|
||||
extern PyTypeObject PySfContextSettingsType;
|
||||
extern PyTypeObject PySfRenderWindowType;
|
||||
extern PyTypeObject PySfViewType;
|
||||
extern PyTypeObject PySfInputType;
|
||||
|
||||
extern PyTypeObject PySfDrawableType;
|
||||
extern PyTypeObject PySfBlendType;
|
||||
extern PyTypeObject PySfSpriteType;
|
||||
extern PyTypeObject PySfFontType;
|
||||
extern PyTypeObject PySfGlyphType;
|
||||
extern PyTypeObject PySfTextType;
|
||||
//extern PyTypeObject PySfPostFXType;
|
||||
|
||||
extern PyTypeObject PySfImageType;
|
||||
extern PyTypeObject PySfColorType;
|
||||
|
||||
extern PyTypeObject PySfShapeType;
|
||||
|
||||
extern PyTypeObject PySfIntRectType;
|
||||
extern PyTypeObject PySfFloatRectType;
|
||||
|
||||
extern PyTypeObject PySfMusicType;
|
||||
extern PyTypeObject PySfSoundType;
|
||||
extern PyTypeObject PySfSoundBufferType;
|
||||
extern PyTypeObject PySfSoundRecorderType;
|
||||
extern PyTypeObject PySfSoundBufferRecorderType;
|
||||
extern PyTypeObject PySfSoundStreamType;
|
||||
extern PyTypeObject PySfListenerType;
|
||||
|
||||
|
||||
static PyMethodDef module_methods[] = {
|
||||
{"Sleep", (PyCFunction)PySFML_Sleep, METH_O, "Sleep(Duration)\nMake the current thread sleep for a given time.\n Duration : Time to sleep, in seconds"},
|
||||
{NULL} /* Sentinel */
|
||||
};
|
||||
|
||||
#ifdef IS_PY3K
|
||||
#define INITERROR return NULL
|
||||
static PyModuleDef module_def = {
|
||||
PyModuleDef_HEAD_INIT,
|
||||
"sf",
|
||||
"Python binding for sfml (Simple Fast Media Library)",
|
||||
-1,
|
||||
module_methods, NULL, NULL, NULL, NULL
|
||||
};
|
||||
|
||||
PyMODINIT_FUNC
|
||||
PyInit_sf(void)
|
||||
#else
|
||||
#define INITERROR return
|
||||
|
||||
#ifndef PyMODINIT_FUNC /* declarations for DLL import/export */
|
||||
#define PyMODINIT_FUNC void
|
||||
#endif
|
||||
PyMODINIT_FUNC
|
||||
initsf(void)
|
||||
#endif
|
||||
{
|
||||
PyObject *m;
|
||||
|
||||
if (PyType_Ready(&PySfClockType) < 0)
|
||||
INITERROR;
|
||||
|
||||
if (PyType_Ready(&PySfWindowType) < 0)
|
||||
INITERROR;
|
||||
if (PyType_Ready(&PySfStyleType) < 0)
|
||||
INITERROR;
|
||||
if (PyType_Ready(&PySfContextSettingsType) < 0)
|
||||
INITERROR;
|
||||
if (PyType_Ready(&PySfRenderWindowType) < 0)
|
||||
INITERROR;
|
||||
if (PyType_Ready(&PySfVideoModeType) < 0)
|
||||
INITERROR;
|
||||
if (PyType_Ready(&PySfViewType) < 0)
|
||||
INITERROR;
|
||||
if (PyType_Ready(&PySfInputType) < 0)
|
||||
INITERROR;
|
||||
|
||||
if (PyType_Ready(&PySfEventType) < 0)
|
||||
INITERROR;
|
||||
if (PyType_Ready(&PySfEventTextType) < 0)
|
||||
INITERROR;
|
||||
if (PyType_Ready(&PySfEventKeyType) < 0)
|
||||
INITERROR;
|
||||
if (PyType_Ready(&PySfEventMouseMoveType) < 0)
|
||||
INITERROR;
|
||||
if (PyType_Ready(&PySfEventMouseButtonType) < 0)
|
||||
INITERROR;
|
||||
if (PyType_Ready(&PySfEventMouseWheelType) < 0)
|
||||
INITERROR;
|
||||
if (PyType_Ready(&PySfEventJoyMoveType) < 0)
|
||||
INITERROR;
|
||||
if (PyType_Ready(&PySfEventJoyButtonType) < 0)
|
||||
INITERROR;
|
||||
if (PyType_Ready(&PySfEventSizeType) < 0)
|
||||
INITERROR;
|
||||
if (PyType_Ready(&PySfKeyType) < 0)
|
||||
INITERROR;
|
||||
if (PyType_Ready(&PySfJoyType) < 0)
|
||||
INITERROR;
|
||||
if (PyType_Ready(&PySfMouseType) < 0)
|
||||
INITERROR;
|
||||
|
||||
if (PyType_Ready(&PySfDrawableType) < 0)
|
||||
INITERROR;
|
||||
if (PyType_Ready(&PySfBlendType) < 0)
|
||||
INITERROR;
|
||||
if (PyType_Ready(&PySfSpriteType) < 0)
|
||||
INITERROR;
|
||||
if (PyType_Ready(&PySfFontType) < 0)
|
||||
INITERROR;
|
||||
if (PyType_Ready(&PySfGlyphType) < 0)
|
||||
INITERROR;
|
||||
if (PyType_Ready(&PySfTextType) < 0)
|
||||
INITERROR;
|
||||
/*if (PyType_Ready(&PySfPostFXType) < 0)
|
||||
INITERROR;
*/
|
||||
|
||||
if (PyType_Ready(&PySfImageType) < 0)
|
||||
INITERROR;
|
||||
|
||||
if (PyType_Ready(&PySfShapeType) < 0)
|
||||
INITERROR;
|
||||
|
||||
if (PyType_Ready(&PySfColorType) < 0)
|
||||
INITERROR;
|
||||
|
||||
if (PyType_Ready(&PySfIntRectType) < 0)
|
||||
INITERROR;
|
||||
if (PyType_Ready(&PySfFloatRectType) < 0)
|
||||
INITERROR;
|
||||
|
||||
if (PyType_Ready(&PySfMusicType) < 0)
|
||||
INITERROR;
|
||||
if (PyType_Ready(&PySfSoundType) < 0)
|
||||
INITERROR;
|
||||
if (PyType_Ready(&PySfSoundBufferType) < 0)
|
||||
INITERROR;
|
||||
if (PyType_Ready(&PySfSoundBufferRecorderType) < 0)
|
||||
INITERROR;
|
||||
if (PyType_Ready(&PySfSoundRecorderType) < 0)
|
||||
INITERROR;
|
||||
if (PyType_Ready(&PySfSoundStreamType) < 0)
|
||||
INITERROR;
|
||||
if (PyType_Ready(&PySfListenerType) < 0)
|
||||
INITERROR;
|
||||
|
||||
#ifdef IS_PY3K
|
||||
m = PyModule_Create(&module_def);
|
||||
#else
|
||||
m = Py_InitModule3("sf", module_methods, "Python binding for sfml (Simple Fast Media Library)");
|
||||
#endif
|
||||
|
||||
if (m == NULL)
|
||||
INITERROR;
|
||||
|
||||
Py_INCREF(&PySfClockType);
|
||||
PyModule_AddObject(m, "Clock", (PyObject *)&PySfClockType);
|
||||
|
||||
Py_INCREF(&PySfWindowType);
|
||||
PyModule_AddObject(m, "Window", (PyObject *)&PySfWindowType);
|
||||
Py_INCREF(&PySfStyleType);
|
||||
PyModule_AddObject(m, "Style", (PyObject *)&PySfStyleType);
|
||||
Py_INCREF(&PySfContextSettingsType);
|
||||
PyModule_AddObject(m, "ContextSettings", (PyObject *)&PySfContextSettingsType);
|
||||
Py_INCREF(&PySfRenderWindowType);
|
||||
PyModule_AddObject(m, "RenderWindow", (PyObject *)&PySfRenderWindowType);
|
||||
Py_INCREF(&PySfVideoModeType);
|
||||
PyModule_AddObject(m, "VideoMode", (PyObject *)&PySfVideoModeType);
|
||||
Py_INCREF(&PySfViewType);
|
||||
PyModule_AddObject(m, "View", (PyObject *)&PySfViewType);
|
||||
Py_INCREF(&PySfInputType);
|
||||
PyModule_AddObject(m, "Input", (PyObject *)&PySfInputType);
|
||||
|
||||
Py_INCREF(&PySfDrawableType);
|
||||
PyModule_AddObject(m, "Drawable", (PyObject *)&PySfDrawableType);
|
||||
Py_INCREF(&PySfBlendType);
|
||||
PyModule_AddObject(m, "Blend", (PyObject *)&PySfBlendType);
|
||||
Py_INCREF(&PySfSpriteType);
|
||||
PyModule_AddObject(m, "Sprite", (PyObject *)&PySfSpriteType);
|
||||
Py_INCREF(&PySfFontType);
|
||||
PyModule_AddObject(m, "Font", (PyObject *)&PySfFontType);
|
||||
Py_INCREF(&PySfGlyphType);
|
||||
PyModule_AddObject(m, "Glyph", (PyObject *)&PySfGlyphType);
|
||||
Py_INCREF(&PySfTextType);
|
||||
PyModule_AddObject(m, "Text", (PyObject *)&PySfTextType);
|
||||
/*Py_INCREF(&PySfPostFXType);
|
||||
PyModule_AddObject(m, "PostFX", (PyObject *)&PySfPostFXType);
*/
|
||||
|
||||
Py_INCREF(&PySfEventType);
|
||||
PyModule_AddObject(m, "Event", (PyObject *)&PySfEventType);
|
||||
Py_INCREF(&PySfKeyType);
|
||||
PyModule_AddObject(m, "Key", (PyObject *)&PySfKeyType);
|
||||
Py_INCREF(&PySfJoyType);
|
||||
PyModule_AddObject(m, "Joy", (PyObject *)&PySfJoyType);
|
||||
Py_INCREF(&PySfMouseType);
|
||||
PyModule_AddObject(m, "Mouse", (PyObject *)&PySfMouseType);
|
||||
|
||||
Py_INCREF(&PySfImageType);
|
||||
PyModule_AddObject(m, "Image", (PyObject *)&PySfImageType);
|
||||
|
||||
Py_INCREF(&PySfColorType);
|
||||
PyModule_AddObject(m, "Color", (PyObject *)&PySfColorType);
|
||||
|
||||
Py_INCREF(&PySfShapeType);
|
||||
PyModule_AddObject(m, "Shape", (PyObject *)&PySfShapeType);
|
||||
|
||||
Py_INCREF(&PySfIntRectType);
|
||||
PyModule_AddObject(m, "IntRect", (PyObject *)&PySfIntRectType);
|
||||
Py_INCREF(&PySfFloatRectType);
|
||||
PyModule_AddObject(m, "FloatRect", (PyObject *)&PySfFloatRectType);
|
||||
|
||||
Py_INCREF(&PySfMusicType);
|
||||
PyModule_AddObject(m, "Music", (PyObject *)&PySfMusicType);
|
||||
Py_INCREF(&PySfSoundType);
|
||||
PyModule_AddObject(m, "Sound", (PyObject *)&PySfSoundType);
|
||||
Py_INCREF(&PySfSoundBufferType);
|
||||
PyModule_AddObject(m, "SoundBuffer", (PyObject *)&PySfSoundBufferType);
|
||||
Py_INCREF(&PySfSoundRecorderType);
|
||||
PyModule_AddObject(m, "SoundRecorder", (PyObject *)&PySfSoundRecorderType);
|
||||
Py_INCREF(&PySfSoundBufferRecorderType);
|
||||
PyModule_AddObject(m, "SoundBufferRecorder", (PyObject *)&PySfSoundBufferRecorderType);
|
||||
Py_INCREF(&PySfSoundStreamType);
|
||||
PyModule_AddObject(m, "SoundStream", (PyObject *)&PySfSoundStreamType);
|
||||
Py_INCREF(&PySfListenerType);
|
||||
PyModule_AddObject(m, "Listener", (PyObject *)&PySfListenerType);
|
||||
|
||||
PyModule_AddStringConstant(m, "Version", "1.6");
|
||||
|
||||
PySfColor_InitConst();
|
||||
PySfKey_InitConst();
|
||||
PySfJoy_InitConst();
|
||||
PySfEvent_InitConst();
|
||||
PySfMouse_InitConst();
|
||||
PySfStyle_InitConst();
|
||||
PySfBlend_InitConst();
|
||||
PySfSound_InitConst();
|
||||
PySfSoundStream_InitConst();
|
||||
PySfText_InitConst();
|
||||
|
||||
PyEval_InitThreads();
|
||||
|
||||
#ifdef IS_PY3K
|
||||
return m;
|
||||
#endif
|
||||
}
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue