@@ -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 import _PYTHON3, _str_to_bytes, _bytes_to_str | ||||
from caca.font import _Font | from caca.font import _Font | ||||
class _CanvasStruct(ctypes.Structure): | |||||
pass | |||||
class _Canvas(object): | class _Canvas(object): | ||||
""" Model for Canvas objects. | """ Model for Canvas objects. | ||||
""" | """ | ||||
@@ -61,6 +66,7 @@ class Canvas(_Canvas): | |||||
pointer -- pointer to libcaca canvas | pointer -- pointer to libcaca canvas | ||||
""" | """ | ||||
_lib.caca_create_canvas.argtypes = [ctypes.c_int, ctypes.c_int] | _lib.caca_create_canvas.argtypes = [ctypes.c_int, ctypes.c_int] | ||||
_lib.caca_create_canvas.restype = ctypes.POINTER(_CanvasStruct) | |||||
if pointer is None: | if pointer is None: | ||||
try: | try: | ||||
@@ -19,6 +19,10 @@ import ctypes | |||||
from caca import _lib, _PYTHON3, _str_to_bytes | from caca import _lib, _PYTHON3, _str_to_bytes | ||||
from caca.canvas import _Canvas, Canvas | from caca.canvas import _Canvas, Canvas | ||||
class _DisplayStruct(ctypes.Structure): | |||||
pass | |||||
class _Display(object): | class _Display(object): | ||||
""" Model for Display objects. | """ Model for Display objects. | ||||
""" | """ | ||||
@@ -57,11 +61,15 @@ class Display(_Display): | |||||
if driver is None: | if driver is None: | ||||
_lib.caca_create_display.argtypes = [_Canvas] | _lib.caca_create_display.argtypes = [_Canvas] | ||||
_lib.caca_create_display.restype = ctypes.POINTER(_DisplayStruct) | |||||
self._dp = _lib.caca_create_display(cv) | self._dp = _lib.caca_create_display(cv) | ||||
else: | else: | ||||
_lib.caca_create_display_with_driver.argtypes = [ | _lib.caca_create_display_with_driver.argtypes = [ | ||||
_Canvas, ctypes.c_char_p | _Canvas, ctypes.c_char_p | ||||
] | ] | ||||
_lib.caca_create_display_with_driver.restype = ctypes.POINTER( | |||||
_DisplayStruct | |||||
) | |||||
if _PYTHON3 and isinstance(driver, str): | if _PYTHON3 and isinstance(driver, str): | ||||
driver = _str_to_bytes(driver) | driver = _str_to_bytes(driver) | ||||
@@ -19,6 +19,10 @@ import ctypes | |||||
from caca import _lib | from caca import _lib | ||||
from caca.canvas import _Canvas | from caca.canvas import _Canvas | ||||
class _DitherStruct(ctypes.Structure): | |||||
pass | |||||
class _Dither(object): | class _Dither(object): | ||||
""" Model for 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_int, ctypes.c_int, ctypes.c_int, ctypes.c_int, | ||||
ctypes.c_uint, ctypes.c_uint, ctypes.c_uint, ctypes.c_uint, | 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, | self._dither = _lib.caca_create_dither(bpp, width, height, pitch, | ||||
rmask, gmask, bmask, amask) | rmask, gmask, bmask, amask) | ||||
@@ -19,6 +19,10 @@ import errno | |||||
from caca import _lib, _PYTHON3, _str_to_bytes | from caca import _lib, _PYTHON3, _str_to_bytes | ||||
class _FontStruct(ctypes.Structure): | |||||
pass | |||||
class _Font(object): | class _Font(object): | ||||
""" Model for Font object. | """ Model for Font object. | ||||
""" | """ | ||||
@@ -62,7 +66,7 @@ class Font(_Font): | |||||
else: | else: | ||||
raise FontError("Unsupported method") | raise FontError("Unsupported method") | ||||
_lib.caca_load_font.restype = ctypes.c_int | |||||
_lib.caca_load_font.restype = ctypes.POINTER(_FontStruct) | |||||
if _PYTHON3: | if _PYTHON3: | ||||
font = _str_to_bytes(font) | font = _str_to_bytes(font) | ||||