Best way to let user select something underneath another an object
For an application I'm developing I've been thinking about an aspect of the UI. Imagine I have an application that lets me draw shapes. I can select drawn shapes by clicking inside of them. But there's a major problem: overlapping shapes are allowed. If one shape completely overlaps the other, a user can still see it because the shape is transparent but there is no way for her to select it. Being able to still somehow select it is required.
Apart from having a list of shapes wherein the overlapped shape can be selected, is there a mechanism that is commonly employed or considered intuitive? I've been thinking about this for a while and googling around. I can think of one option: when a shape is clicked I could display little buttons next to the shape that hide the shape or show the overlapping shape again. But I feel this is not really ideal because it might be unintuitive/undiscoverable.
Any ideas?
Thanks in advance, Joshua