From 0c6e44c7d421254eadd00282adbaf50247479ebe Mon Sep 17 00:00:00 2001 From: Renato Filho Date: Wed, 26 May 2010 14:28:39 -0300 Subject: Updated QtOpenGL typesystem to Qt 4.7. Reviewer: Luciano Wolf , Marcelo Lira --- PySide/QtOpenGL/CMakeLists.txt | 10 ++++++ PySide/QtOpenGL/typesystem_opengl.xml | 64 +++++++++++++++++++++++++++++++++++ 2 files changed, 74 insertions(+) (limited to 'PySide/QtOpenGL') diff --git a/PySide/QtOpenGL/CMakeLists.txt b/PySide/QtOpenGL/CMakeLists.txt index 5cfaf9336..1d79e6c12 100644 --- a/PySide/QtOpenGL/CMakeLists.txt +++ b/PySide/QtOpenGL/CMakeLists.txt @@ -10,6 +10,15 @@ else() ) endif() +if (${QT_VERSION_MAJOR} EQUAL 4 AND ${QT_VERSION_MINOR} LESS 7) + set(QtOpenGL_47_SRC ) +else() + set(QtOpenGL_47_SRC + ${CMAKE_CURRENT_BINARY_DIR}/PySide/QtOpenGL/qglbuffer_wrapper.cpp + ) +endif() + + set(QtOpenGL_SRC ${CMAKE_CURRENT_BINARY_DIR}/PySide/QtOpenGL/qgl_wrapper.cpp ${CMAKE_CURRENT_BINARY_DIR}/PySide/QtOpenGL/qglcolormap_wrapper.cpp @@ -20,6 +29,7 @@ set(QtOpenGL_SRC ${CMAKE_CURRENT_BINARY_DIR}/PySide/QtOpenGL/qglwidget_wrapper.cpp ${CMAKE_CURRENT_BINARY_DIR}/PySide/QtOpenGL/qtopengl_module_wrapper.cpp ${QtOpenGL_46_SRC} + ${QtOpenGL_47_SRC} ) execute_generator(opengl QtOpenGL_SRC "${CMAKE_CURRENT_BINARY_DIR}:${QtCore_SOURCE_DIR}:${QtGui_BINARY_DIR}:${QtGui_SOURCE_DIR}:${QtOpenGL_SOURCE_DIR}") diff --git a/PySide/QtOpenGL/typesystem_opengl.xml b/PySide/QtOpenGL/typesystem_opengl.xml index 62f086426..c2f3ba383 100644 --- a/PySide/QtOpenGL/typesystem_opengl.xml +++ b/PySide/QtOpenGL/typesystem_opengl.xml @@ -76,9 +76,73 @@ + + + + + + + + + + + + + + + + + + + + int size = %2; + if (size < 0) + size = %1->size(); + %CPPSELF.allocate((const void*) %1->data(), size); + + + + + void *data = %CPPSELF.map(%1); + QByteArray ret; + if (data) + ret.append((const char*)data, %CPPSELF.size()); + %PYARG_0 = %CONVERTTOPYTHON[QByteArray](ret); + + + + + + + + char *data = new char[%3]; + bool result = %CPPSELF.read(%1, data, %3); + QByteArray ret; + if (result) + ret.append((const char*)data, %3); + %PYARG_0 = Shiboken::makeTuple(result, ret); + delete[] data; + + + + + + + + + + + int size = %3; + if (size < 0) + size = %2->size(); + %CPPSELF.write(%1, (const void*) %2->data(), size); + + + + -- cgit v1.2.3