Skip to main content
2 of 5
put as code
Nasser
  • 150.4k
  • 12
  • 161
  • 374

Manipulate keeps updating due to a function

I am trying to use the 'stretchText' function by Jens. But when I use it in manipulate, the output keeps updating without changing anything.

This is the simplest example in which the problems occurs:

Manipulate[
 Graphics[{
   stretchText["{", {0, 0}, {.1, 1}]
   }],
 
 {{choice, "b"}, {"a", "b"}},
 
 Initialization -> {
   stretchText[char_, pos_, scale_, angle_ : 0] := 
     Module[{g, coords, xMin, xMax, yMin, yMax}, 
      g = First@
        First@ImportString[ExportString[char, "PDF"], 
          "TextOutlines" -> True]; 
      coords = 
       Apply[Join, 
        Cases[g, FilledCurve[___, p_] :> Flatten[p, 1], 
         Infinity]]; {{xMin, xMax}, {yMin, yMax}} = 
       Map[{Min[#], Max[#]} &[#] &, Transpose[coords]]; 
      Rotate[Inset[
        Graphics[g, PlotRange -> {{xMin, xMax}, {yMin, yMax}}, 
         If[ListQ[scale], AspectRatio -> Full, 
          AspectRatio -> Automatic]], pos, {xMin, yMin}, scale], 
       angle]];
   }]

What can I do to stop the endless updating?

Sofic
  • 673
  • 3
  • 8