@@ -341,16 +341,24 @@ def __init__(self, target, backend=-1, logical_size=None,
341341 else :
342342 index = backend
343343
344+ _size = None
344345 if isinstance (target , Window ):
345346 _renderer = render .SDL_CreateRenderer (target .window , index , flags )
347+ _size = target .size
346348 elif isinstance (target , video .SDL_Window ):
347349 _renderer = render .SDL_CreateRenderer (target , index , flags )
350+ w , h = c_int (0 ), c_int (0 )
351+ video .SDL_GetWindowSize (target , byref (w ), byref (h ))
352+ _size = (w .value , h .value )
348353 elif isinstance (target , SoftwareSprite ):
349354 _renderer = render .SDL_CreateSoftwareRenderer (target .surface )
355+ _size = target .size
350356 elif isinstance (target , surface .SDL_Surface ):
351357 _renderer = render .SDL_CreateSoftwareRenderer (target )
358+ _size = (target .w , target .h )
352359 elif "SDL_Surface" in str (type (target )):
353360 _renderer = render .SDL_CreateSoftwareRenderer (target .contents )
361+ _size = (target .contents .w , target .contents .h )
354362 else :
355363 raise TypeError ("unsupported target type" )
356364 if not _renderer :
@@ -359,6 +367,7 @@ def __init__(self, target, backend=-1, logical_size=None,
359367
360368 self .rendertarget = target
361369 self .color = (0 , 0 , 0 , 0 ) # Set black as the default draw color
370+ self .logical_size = _size
362371 self ._original_logical_size = self .logical_size
363372 if logical_size is not None :
364373 self .logical_size = logical_size
@@ -402,7 +411,7 @@ def logical_size(self):
402411 ``(width, height)`` tuple.
403412
404413 """
405- w , h = c_int (), c_int ()
414+ w , h = c_int (0 ), c_int (0 )
406415 render .SDL_RenderGetLogicalSize (self .sdlrenderer , byref (w ), byref (h ))
407416 return w .value , h .value
408417
@@ -416,7 +425,7 @@ def logical_size(self, size):
416425 @property
417426 def color (self ):
418427 """:obj:`~sdl2.ext.Color`: The current drawing color of the renderer."""
419- r , g , b , a = Uint8 (), Uint8 (), Uint8 (), Uint8 ()
428+ r , g , b , a = Uint8 (0 ), Uint8 (0 ), Uint8 (0 ), Uint8 (0 )
420429 ret = render .SDL_GetRenderDrawColor (self .sdlrenderer , byref (r ), byref (g ),
421430 byref (b ), byref (a ))
422431 if ret < 0 :
0 commit comments