[AS3]Using a non rectangular drag boundary

How would you do it?
To clarify …
When you call startDrag on a Sprite/MovieClip/whatever, you can specify a rectangle which the object in question will stay within.

Eg… startDrag(false, rect1);
where rect1 is of type :Rectangle

My question is; does anyone have any idea how you would go about constraining the dragging to an arbitrary shape, say a triangle or a circle rather than a rectangle?

I figure I could just have a Timer calling a function to check the whole time but that doesn’t seem particularly nice.

Anyway, thanks in advance.