Ok, thanks, I figured it out.
This is how I got it to work (minus the fit part):
class SVGWidgetOwnSize(RelativeLayout):
source = StringProperty()
def __init__(self, **kwargs):
super().__init__(**kwargs)
def on_source(self, instance, value):
self.canvas.clear() # don't add more than once?
with self.canvas:
svg = Svg(value)
self.size = svg.width, svg.height
Unfortunately, I wasn't able to use SVG in this instance and went back to PNG
:-(. Because of:
WARNING Svg: unimplemented command Q
There's some text in there that uses a bezier. Looks like someone started some
code on the subject but didn't get to finish, sigh:
https://github.com/kivy/kivent/blob/master/modules/core/kivent_core/rendering/svg_loader.pyx#L838