Mti dieser kleinen Hilfsfunktion gehts:
Delphi-Quellcode:
procedure TZoomSpriteengine.SetZoom(const Value: integer);
var r: TRect;
w,h: Integer;
begin
FZoom := Value;
r := FSurfaceRect;
w := r.Right - r.Left;
h := r.Bottom - r.Top;
FSurfaceRect := Rect(r.Left - w * Zoom, r.Top - h * Zoom, r.Right + w *
Zoom, r.Bottom + h * Zoom);
end;
FSurfaceRect ist ja nicht private sondern nur protected. Daher ist das so ohne weiteres machbar. GetSurfaceRect wird nämlich nie aufgerufen, weil nur im NotifyEvent auf SurfaceRect geschrieben wird und da wird direkt auf FSurfaceRect zugegriffen.