zoom.cpp

Go to the documentation of this file.
00001 #include "image.h"
00002 #include "runtime.h"
00003 
00004 Value * Runtime::zoom(ImageValue * I, PointValue *mult)
00005 {
00006   ImageValue * O = I->deepCopy();
00007   O->scale*=*mult;
00008   return O;
00009 }
00010 
00011 Value * Runtime::zoomx(vector<Value*> v)
00012 {
00013   if (v.size()!=2) return NULL;
00014   Value * I = v[0];
00015   Value * Z = v[1];
00016   if (I==NULL)  return NULL;
00017   if (Z==NULL) return NULL;
00018   if (typeid(*I)!=typeid(ImageValue)) return NULL;
00019   if (typeid(*Z)!=typeid(PointValue)) return NULL;
00020   PointValue zx = *(PointValue*)Z;
00021   zx.y = 1.0;
00022   return zoom((ImageValue*)I,&zx);
00023 }
00024 
00025 Value * Runtime::zoomy(vector<Value*> v)
00026 {
00027   if (v.size()!=2) return NULL;
00028   Value * I = v[0];
00029   Value * Z = v[1];
00030   if (I==NULL)  return NULL;
00031   if (Z==NULL) return NULL;
00032   if (typeid(*I)!=typeid(ImageValue)) return NULL;
00033   if (typeid(*Z)!=typeid(PointValue)) return NULL;
00034   PointValue zy = *(PointValue*)Z;
00035   zy.x = 1.0;
00036   return zoom((ImageValue*)I,&zy);
00037 }
00038 
00039 Value * Runtime::zoom(vector<Value*> v)
00040 {
00041   if (v.size()!=2) return NULL;
00042   Value * I = v[0];
00043   Value * Z = v[1];
00044   if (I==NULL)  return NULL;
00045   if (Z==NULL) return NULL;
00046   if (typeid(*I)!=typeid(ImageValue)) return NULL;
00047   if (typeid(*Z)!=typeid(PointValue)) return NULL;
00048   return zoom((ImageValue*)I,(PointValue*)Z);
00049 }

Generated on Mon Jun 5 22:08:42 2006 for iis by  doxygen 1.4.6