# HG changeset patch # User Rik # Date 1705443938 28800 # Node ID 4168d91bc123424d48aa33fc536f58a9a1f373ec # Parent cf431b249f1ec8c06f9adf2f721873a4737d1861# Parent d43bec544e8e2176f2d591ff7071bde794af4b7f maint: merge stable to default diff -r cf431b249f1e -r 4168d91bc123 scripts/gui/getpixelposition.m --- a/scripts/gui/getpixelposition.m Tue Jan 16 14:13:09 2024 +0100 +++ b/scripts/gui/getpixelposition.m Tue Jan 16 14:25:38 2024 -0800 @@ -37,7 +37,7 @@ ## is computed relative to the enclosing figure object. ## ## The return value @var{pos} is a 4-element vector with values -## @code{[ lower_left_X, lower_left_Y, width, height ]}. +## @code{[lower_left_X, lower_left_Y, width, height]}. ## ## @seealso{get} ## @end deftypefn @@ -48,23 +48,24 @@ print_usage (); endif - if (! isscalar (h) || ! ishghandle (h)) + if (! (isscalar (h) && ishghandle (h))) error ("getpixelposition: H must be a scalar graphics handle"); endif - if (! any (strcmp (get (h, "type"), {"uibuttongroup", "uicontrol", ... - "uitable", "uipanel", ... - "axes", "figure"}))) + if (! any (strcmp (get (h, "type"), + {"uibuttongroup", "uicontrol", "uitable", "uipanel", ... + "axes", "figure"}))) pos = zeros (1, 4); return; endif pos = __get_position__ (h, "pixels"); - if (rel_to_fig) - while (! isfigure (h)) - h = get (h, "parent"); - pos(1:2) += __get_position__ (h, "pixels")(1:2); + if (rel_to_fig && ! isfigure (h)) + hpar = get (h, "parent"); + while (! isfigure (hpar)) + pos(1:2) += __get_position__ (hpar, "pixels")(1:2); + hpar = get (hpar, "parent"); endwhile endif