diff options
Diffstat (limited to 'Src/Wasabi/Lib/com/rotationlayer.m')
-rw-r--r-- | Src/Wasabi/Lib/com/rotationlayer.m | 108 |
1 files changed, 108 insertions, 0 deletions
diff --git a/Src/Wasabi/Lib/com/rotationlayer.m b/Src/Wasabi/Lib/com/rotationlayer.m new file mode 100644 index 00000000..7a6b81bf --- /dev/null +++ b/Src/Wasabi/Lib/com/rotationlayer.m @@ -0,0 +1,108 @@ +//---------------------------------------------------------------------------------------- +// +// rotationlayer.m +// +//---------------------------------------------------------------------------------------- +// Use like this : +// #define ROTATION_LAYER_VAR MyVar +// #include "rotationlayer.m" +// +// _MyVarInit(Group parentgroup, String layername); // init rotationlayer +// _MyVarRotateDegree(double r); // in degrees +// _MyVarRotate(double r); // in radians +// double _MyVarGetRotationDegree(); // in degrees +// double _MyVarGetRotation(); // in radians +// + +#ifndef PI +#define PI 3.1415926536 +#endif + +Global Double _##ROTATION_LAYER_VAR##R; +Global Layer _##ROTATION_LAYER_VAR##Layer; + +Function _##ROTATION_LAYER_VAR##Init(Group parentgroup, String layername); +Function _##ROTATION_LAYER_VAR##RotateDegree(double r); +Function _##ROTATION_LAYER_VAR##Rotate(double r); +Function double _##ROTATION_LAYER_VAR##GetRotationDegree(); +Function double _##ROTATION_LAYER_VAR##GetRotation(); + +_##ROTATION_LAYER_VAR##RotateDegree(double r) { + _##ROTATION_LAYER_VAR##Rotate(r * PI / 180.0); +} + +_##ROTATION_LAYER_VAR##Rotate(double r) { + _##ROTATION_LAYER_VAR##R = r; + _##ROTATION_LAYER_VAR##Layer.fx_update(); +} + +double _##ROTATION_LAYER_VAR##GetRotationDegree() { + return _##ROTATION_LAYER_VAR##R * 180 / PI; +} + +double _##ROTATION_LAYER_VAR##GetRotation() { + return _##ROTATION_LAYER_VAR##R; +} + +_##ROTATION_LAYER_VAR##Init(Group parentgroup, String layername) { + _##ROTATION_LAYER_VAR##Layer = parentgroup.getObject(layername); + _##ROTATION_LAYER_VAR##Layer.fx_setGridSize(1,1); + _##ROTATION_LAYER_VAR##Layer.fx_setBgFx(0); + _##ROTATION_LAYER_VAR##Layer.fx_setWrap(1); + _##ROTATION_LAYER_VAR##Layer.fx_setBilinear(1); + _##ROTATION_LAYER_VAR##Layer.fx_setRect(0); + _##ROTATION_LAYER_VAR##Layer.fx_setClear(0); + _##ROTATION_LAYER_VAR##Layer.fx_setLocalized(1); + _##ROTATION_LAYER_VAR##Layer.fx_setRealtime(0); + _##ROTATION_LAYER_VAR##Layer.fx_setEnabled(1); +} + +_##ROTATION_LAYER_VAR##Layer.fx_onGetPixelR(double r, double d, double x, double y) { + return r + _##ROTATION_LAYER_VAR##R; +} + +//--------------------II----------------- +Global Double _##ROTATION_LAYER_VARII##R; +Global Layer _##ROTATION_LAYER_VARII##Layer; + +Function _##ROTATION_LAYER_VARII##Init(Group parentgroup, String layername); +Function _##ROTATION_LAYER_VARII##RotateDegree(double r); +Function _##ROTATION_LAYER_VARII##Rotate(double r); +Function double _##ROTATION_LAYER_VARII##GetRotationDegree(); +Function double _##ROTATION_LAYER_VARII##GetRotation(); + +_##ROTATION_LAYER_VARII##RotateDegree(double r) { + _##ROTATION_LAYER_VARII##Rotate(r * PI / 180.0); +} + +_##ROTATION_LAYER_VARII##Rotate(double r) { + _##ROTATION_LAYER_VARII##R = r; + _##ROTATION_LAYER_VARII##Layer.fx_update(); +} + +double _##ROTATION_LAYER_VARII##GetRotationDegree() { + return _##ROTATION_LAYER_VARII##R * 180 / PI; +} + +double _##ROTATION_LAYER_VARII##GetRotation() { + return _##ROTATION_LAYER_VARII##R; +} + +_##ROTATION_LAYER_VARII##Init(Group parentgroup, String layername) { + _##ROTATION_LAYER_VARII##Layer = parentgroup.getObject(layername); + _##ROTATION_LAYER_VARII##Layer.fx_setGridSize(1,1); + _##ROTATION_LAYER_VARII##Layer.fx_setBgFx(0); + _##ROTATION_LAYER_VARII##Layer.fx_setWrap(1); + _##ROTATION_LAYER_VARII##Layer.fx_setBilinear(1); + _##ROTATION_LAYER_VARII##Layer.fx_setRect(0); + _##ROTATION_LAYER_VARII##Layer.fx_setClear(0); + _##ROTATION_LAYER_VARII##Layer.fx_setLocalized(1); + _##ROTATION_LAYER_VARII##Layer.fx_setRealtime(0); + _##ROTATION_LAYER_VARII##Layer.fx_setEnabled(1); + +} + +_##ROTATION_LAYER_VARII##Layer.fx_onGetPixelR(double r, double d, double x, double y) { + return r + _##ROTATION_LAYER_VAR##R; +} + |