]> Some of my projects - openlase.git/commitdiff
Add param to disable object reversing
authorHector Martin <hector@marcansoft.com>
Sun, 2 Jan 2011 06:04:41 +0000 (07:04 +0100)
committerHector Martin <hector@marcansoft.com>
Sun, 2 Jan 2011 06:05:02 +0000 (07:05 +0100)
include/libol.h
libol/libol.c

index 85075181784b6984025d49cf57286391ccc55f7a..064e76da658d03877ffa2d3256ae339d3e2a5c61 100644 (file)
@@ -39,6 +39,7 @@ enum {
 enum {
        RENDER_GRAYSCALE = 1,
        RENDER_NOREORDER = 2,
+       RENDER_NOREVERSE = 4,
 };
 
 typedef struct {
index 4baa7b90b5c96b89260015b0e36054fc36a512cd..696bfb7a27b4dec9242eb43d773823ac3b3de721 100644 (file)
@@ -747,13 +747,15 @@ float olRenderFrame(int max_fps)
                                        clinv = 0;
                                        dclosest = distance;
                                }
-                               dx = wframe.objects[i].points[wframe.objects[i].pointcnt-1].x - closest_to.x;
-                               dy = wframe.objects[i].points[wframe.objects[i].pointcnt-1].y - closest_to.y;
-                               distance = fmaxf(fabsf(dx),fabsf(dy)) + 0.01*(fabsf(dx)+fabsf(dy));
-                               if(!closest || distance < dclosest) {
-                                       closest = &wframe.objects[i];
-                                       clinv = 1;
-                                       dclosest = distance;
+                               if (!(params.render_flags & RENDER_NOREVERSE)) {
+                                       dx = wframe.objects[i].points[wframe.objects[i].pointcnt-1].x - closest_to.x;
+                                       dy = wframe.objects[i].points[wframe.objects[i].pointcnt-1].y - closest_to.y;
+                                       distance = fmaxf(fabsf(dx),fabsf(dy)) + 0.01*(fabsf(dx)+fabsf(dy));
+                                       if(!closest || distance < dclosest) {
+                                               closest = &wframe.objects[i];
+                                               clinv = 1;
+                                               dclosest = distance;
+                                       }
                                }
                        }
                        if (!closest)