diff --git a/python/caca/canvas.py b/python/caca/canvas.py index 046a1c3..9426480 100644 --- a/python/caca/canvas.py +++ b/python/caca/canvas.py @@ -21,6 +21,11 @@ from caca import _lib, utf8_to_utf32, utf32_to_utf8 from caca import _PYTHON3, _str_to_bytes, _bytes_to_str from caca.font import _Font + +class _CanvasStruct(ctypes.Structure): + pass + + class _Canvas(object): """ Model for Canvas objects. """ @@ -61,6 +66,7 @@ class Canvas(_Canvas): pointer -- pointer to libcaca canvas """ _lib.caca_create_canvas.argtypes = [ctypes.c_int, ctypes.c_int] + _lib.caca_create_canvas.restype = ctypes.POINTER(_CanvasStruct) if pointer is None: try: diff --git a/python/caca/display.py b/python/caca/display.py index 7cf4d71..5d9a8d9 100644 --- a/python/caca/display.py +++ b/python/caca/display.py @@ -19,6 +19,10 @@ import ctypes from caca import _lib, _PYTHON3, _str_to_bytes from caca.canvas import _Canvas, Canvas +class _DisplayStruct(ctypes.Structure): + pass + + class _Display(object): """ Model for Display objects. """ @@ -57,11 +61,15 @@ class Display(_Display): if driver is None: _lib.caca_create_display.argtypes = [_Canvas] + _lib.caca_create_display.restype = ctypes.POINTER(_DisplayStruct) self._dp = _lib.caca_create_display(cv) else: _lib.caca_create_display_with_driver.argtypes = [ _Canvas, ctypes.c_char_p ] + _lib.caca_create_display_with_driver.restype = ctypes.POINTER( + _DisplayStruct + ) if _PYTHON3 and isinstance(driver, str): driver = _str_to_bytes(driver) diff --git a/python/caca/dither.py b/python/caca/dither.py index fde2cb0..8a0e60f 100644 --- a/python/caca/dither.py +++ b/python/caca/dither.py @@ -19,6 +19,10 @@ import ctypes from caca import _lib from caca.canvas import _Canvas + +class _DitherStruct(ctypes.Structure): + pass + class _Dither(object): """ Model for Dither object. """ @@ -66,6 +70,7 @@ class Dither(_Dither): ctypes.c_int, ctypes.c_int, ctypes.c_int, ctypes.c_int, ctypes.c_uint, ctypes.c_uint, ctypes.c_uint, ctypes.c_uint, ] + _lib.caca_create_dither.restype = ctypes.POINTER(_DitherStruct) self._dither = _lib.caca_create_dither(bpp, width, height, pitch, rmask, gmask, bmask, amask) diff --git a/python/caca/font.py b/python/caca/font.py index 7792e4a..fc66f8a 100644 --- a/python/caca/font.py +++ b/python/caca/font.py @@ -19,6 +19,10 @@ import errno from caca import _lib, _PYTHON3, _str_to_bytes + +class _FontStruct(ctypes.Structure): + pass + class _Font(object): """ Model for Font object. """ @@ -62,7 +66,7 @@ class Font(_Font): else: raise FontError("Unsupported method") - _lib.caca_load_font.restype = ctypes.c_int + _lib.caca_load_font.restype = ctypes.POINTER(_FontStruct) if _PYTHON3: font = _str_to_bytes(font)