In a large mixing bowl, cream together butter and sugar until light and fluffy.
Add eggs, milk, rose water, vanilla extract and mix until smooth.
In a separate bowl, sift together cake flour, all-purpose flour and baking powder.
Add this dry mixture into the wet mixture and mix until combined. Don't over-mix!
Pour batter in two 8 inch greased and floured heart shaped cake pans.
Bake at 350 degrees F for about 30-35 minutes or until an inserted toothpick in the center comes out clean. Keep a close eye at the 30 minute mark to keep cakes from over-baking.
Remove from oven and allow them to cool to room temperature.
While the cakes are baking and cooling, prepare the frosting.
In a large mixing bowl, add butter, rose water and shortening and mix until combined.
Add powdered sugar (½ cup at a time), while continuing to mix.
Add milk (1 tablespoon at a time), while continuing to mix until you reach a thick but smooth and creamy consistency.
To assemble, place one cake on a large cake dish or cake stand. I only used one cake here for decorating and froze the other one to enjoy later. You can use both to make a layer cake, if you like.
Slice off the dome (if any) with a sharp serrated knife.
Ice the entire cake smoothly in rose icing, using a spatula.
Start placing the rose petals on top of the cake. Follow the shape of the heart. The icing will work like "glue." Start from the outer edges and work your way inwards until you have multiple rows of petals and the entire top is covered. Enjoy.