Thanks,
I followed your lead about the viewport. And It is possible, atleast in wxWidget, to resize to PanelSize(wxWidget) by updating both the view and viewport, to get rid of the clipping that is restricted to initial size of widget. So there is no need to call Create() on resize-handler, which is inefficient and fails for wxWidgets. Perhaps this is also true for Qt ?
Now when I resize the window / panel, I maintain coord(0,0) in top/left corner and maintain pixelsize (no streching).