I am using double buffer to avoid flickering... But bit confused about what it actually is???

Shall i store all the coordinates of the shapes drawn and re project it to the screen.... Is this double buffering??? But in this still flickering happens while drawing a shape...

If double buffering is creating a compatible bitmap of the client area and redrawing it on the window,will it prevent the flickering when a new shape is being drawn???

Thanks in advance......