Not 100% sure I understand. The camera view angle will always "zoom" in when it is as you shrink it.
I think what you might be trying to do is when you resize your figure (and by extention expand your camera view angle) you want to zoom in instead of showing more.
This can be accomplished by setting the "SizeChangedFcn" of your figure the plot is in, to set the camera view angle to be the same as you zoom in or out.
Just a rough idea of what you may want to do, obviously this will only zoom in as you expand or contract, and once you set camva to be negitive it will go back to the default, but hope this is a good start:
f = figure;
surf(peaks)
f.SizeChangedFcn = @(~,~) camva(camva-0.1);