Допустим скролинг:
[CODE]long int NativeMap::wheelZoomMap(float scale, int x1, int y1, int w, int h)
{
if (hMap == 0)
{
return 0;
}
// вычисление нового центра
...
// изменение масштаба
long int res = this->changeScale(scale, w, h);
if (res == 0)
{
//восстановление старого центра
...
}
return res;
}[/CODE]
непосредственно вызов функций
[CODE]long int NativeMap::changeScale(float change, int w, int h)
{
if (hMap == 0)
{
return 0;
}
long int x, y;
long int res = 0;
x = this->imgX;
y = this->imgY;
// изменение масштаба изображения
res = wrapper->mapChangeViewScale(hMap, &x, &y, change);
if (res > 0)
{
// вычисляется новый размер изображения
wrapper->mapGetPictureSize(hMap, &width, &height);
...
// сохранение масштаба
this->setZoomScale();
}
return res;
}[/CODE]
Как то так...