SDL_Surface メンバを SDL_LockTexture に渡そうとしています:
texture = SDL_CreateTexture(renderer, SDL_PIXELFORMAT_ARGB8888, SDL_TEXTUREACCESS_STREAMING, width, height)
surface = SDL_CreateRGBSurface(0, width, height, 32, 0x00FF0000, 0x0000FF00, 0x000000FF, 0xFF000000)
SDL_LockTexture(texture, 0, ctypes.byref(surface.contents.pixels), ctypes.byref(surface.contents.pitch))
TypeError: byref() argument must be a ctypes instance, not 'int'
SDL_Surface はここで定義されています: surface.py
...
class SDL_Surface(Structure):
_fields_ = [
...
("pitch", c_int),
("pixels", c_void_p),
...
...
SDL_LockTexture はここで定義されています: render.py
SDL_LockTexture = _bind("SDL_LockTexture", [POINTER(SDL_Texture), POINTER(SDL_Rect), POINTER(c_void_p), POINTER(c_int)], c_int)
SDL_CreateRGBSurface を呼び出した後、デバッガは、サーフェスのピクセルとピッチの両方のメンバが int 型であると言います。私は何を間違っていますか?