From b87a4d6ed828cdfd25a17d875e130fa64bd50261 Mon Sep 17 00:00:00 2001 From: DKWoods Date: Wed, 29 Jul 2020 22:28:47 -0500 Subject: [PATCH] Fixed Case issues with FloatCanvas.Zoom method --- wx/lib/floatcanvas/FloatCanvas.py | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) diff --git a/wx/lib/floatcanvas/FloatCanvas.py b/wx/lib/floatcanvas/FloatCanvas.py index 46ec1e6b..66fe87ae 100644 --- a/wx/lib/floatcanvas/FloatCanvas.py +++ b/wx/lib/floatcanvas/FloatCanvas.py @@ -704,11 +704,11 @@ class FloatCanvas(wx.Panel): """ shift = N.asarray(shift,N.float) - if CoordType == 'Panel':# convert from panel coordinates + if CoordType.lower() == 'panel':# convert from panel coordinates shift = shift * N.array((-1,1),N.float) *self.PanelSize/self.TransformVector - elif CoordType == 'Pixel': # convert from pixel coordinates + elif CoordType.lower() == 'pixel': # convert from pixel coordinates shift = shift/self.TransformVector - elif CoordType == 'World': # No conversion + elif CoordType.lower() == 'world': # No conversion pass else: raise FloatCanvasError('CoordType must be either "Panel", "Pixel", or "World"') @@ -732,7 +732,7 @@ class FloatCanvas(wx.Panel): after zooming. If center is not given, the center will stay the same. :param centerCoords: flag indicating whether the center given is in pixel or world - coords. Options are: "world" or "pixel" + coords. Options are: "World" or "Pixel" :param keepPointInPlace: boolean flag. If False, the center point is what's given. If True, the image is shifted so that the given center point is kept in the same pixel space. This facilitates keeping the @@ -742,16 +742,18 @@ class FloatCanvas(wx.Panel): center = self.ViewPortCenter centerCoords = 'World' #override input if they don't give a center point. - if centerCoords == "Pixel": + if centerCoords.lower() == "pixel": oldpoint = self.PixelToWorld( center ) - else: + elif centerCoords.lower() == 'world': oldpoint = N.array(center, N.float) + else: + raise FloatCanvasError('centerCoords must be either "World" or "Pixel"') self.Scale = self.Scale*factor if keepPointInPlace: self.SetToNewScale(False) - if centerCoords == "Pixel": + if centerCoords.lower() == "pixel": newpoint = self.PixelToWorld( center ) else: newpoint = N.array(center, N.float)