У вас не будет этой проблемы, если вместо центрирования масштабируемого холста вы будете показывать его в координатах в верхней левой части родительского элемента.
В качестве альтернативы вы можете рассчитать необходимые координаты, основываясь на размере его родителя, и не позволить им опуститься ниже 0.
Вот код, который поможет:
private function calculateCoordinates() : void
{
var x : Number = (canvas.width - layout_cnv.width) / 2;
x = x < 0 ? 0 : x;
var y : Number = (canvas.height - layout_cnv.height) / 2;
y = y < 0 ? 0 : y;
layout_cnv.move(x, y);
}
Все, что вам нужно сделать, это добавить этот метод в ваше приложение и
this.callLater(calculateCoordinates);
в конце ваших методов changeZoom и AdjustDefaultZoom. Также удалите свойства выравнивания из layout_cnv.