an ellipse is a bit complicated because you would have to shift the fulcrum of 2 circles make a connection portion that automatically adjusts as well.
You can try this. Make the texture in R/G channels with a 1px line for outer/inner
Multiply R by scalar1, multiply G by scalar1, - re-multiply the 2 by different scalars to control. Subtract R from G (or foreground from background).
Now if you change scalar1 it should automatically expand/contract the circle.
Now you just have to figure out how much stretch on the texture and increment or decrease the multiplier in the same ratio to maintain the same width.
Not the best solution, but it should work.