So, I'm trying to make a flash vector drawing program similar to the interface that Flash itself uses for shapes, etc. It would obviously not go nearly as in-depth as Flash does with its capabilities, but I still need it to be flexible enough to work with.

Basically, what I'm looking for is this:
• Drawing ovals and polygons as shapes
• Selecting and deleting portions of shapes
(Just selecting rectangles. No need to worry about lasso or polygon lasso.)
• Dragging lines/edges to morph shapes
(This is one that I'm really not sure how hard it would end up being. Obviously curves are the challenging part.)

I also really like that you can draw two shapes in Flash, select one, drag it over the second shape, deselect it, and then either:
a) if it is the same color, it makes the two shapes become one, or
b) if it is a different color, when you reselect and drag that first shape off of the second, it deletes the part of the second shape that was behind it.

This part here would not be absolutely necessary, it's just a nice feature of Flash that I think would probably be unfathomably difficult for me to do without boatloads of reading up on the math needed for it, but it would still be nice to include if possible.

I am not asking for someone to give me all the answers here, I am just looking to be pointed in the right direction for a place to start. Any reading I can do, explanations of algorithms, topics I could look up, etc. Anything to help me get started with this.

Thank you so much in advance!
-Zippy Dee
Ted Newman