aboutsummaryrefslogtreecommitdiff
path: root/Src/Wasabi/Lib/com/rotationlayer.m
diff options
context:
space:
mode:
Diffstat (limited to 'Src/Wasabi/Lib/com/rotationlayer.m')
-rw-r--r--Src/Wasabi/Lib/com/rotationlayer.m108
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;
+}
+