changeset 2997:e4f025078c1c

indent
author Sam Lantinga <slouken@libsdl.org>
date Sun, 04 Jan 2009 23:41:09 +0000
parents 972a69e47cd9
children d364ee9b9c15
files src/video/SDL_rect.c src/video/x11/SDL_x11events.c test/testintersections.c
diffstat 3 files changed, 84 insertions(+), 59 deletions(-) [+]
line wrap: on
line diff
--- a/src/video/SDL_rect.c	Sun Jan 04 23:36:53 2009 +0000
+++ b/src/video/SDL_rect.c	Sun Jan 04 23:41:09 2009 +0000
@@ -184,23 +184,22 @@
         return SDL_TRUE;
     }
 
-    else
-    {
-    /* The task of clipping a line with finite slope ratios in a fixed-
-     * precision coordinate space is not as immediately simple as it is
-     * with coordinates of arbitrary precision. If the ratio of slopes
-     * between the input line segment and the result line segment is not
-     * a whole number, you have in fact *moved* the line segment a bit,
-     * and there can be no avoiding it without more precision
-     */
-        int *x_result_[] = {X1, X2, NULL}, **x_result = x_result_;
-        int *y_result_[] = {Y1, Y2, NULL}, **y_result = y_result_;
+    else {
+        /* The task of clipping a line with finite slope ratios in a fixed-
+         * precision coordinate space is not as immediately simple as it is
+         * with coordinates of arbitrary precision. If the ratio of slopes
+         * between the input line segment and the result line segment is not
+         * a whole number, you have in fact *moved* the line segment a bit,
+         * and there can be no avoiding it without more precision
+         */
+        int *x_result_[] = { X1, X2, NULL }, **x_result = x_result_;
+        int *y_result_[] = { Y1, Y2, NULL }, **y_result = y_result_;
         SDL_bool intersection = SDL_FALSE;
         double b, m, left, right, bottom, top;
         int xl, xh, yl, yh;
 
         /* solve mx+b line formula */
-        m = (double)(y1-y2) / (double)(x1-x2);
+        m = (double) (y1 - y2) / (double) (x1 - x2);
         b = y2 - m * (double) x2;
 
         /* find some linear intersections */
@@ -232,8 +231,8 @@
             x_result++;
             y_result++;
             intersection = SDL_TRUE;
-        } else /* it was determined earlier that *both* end-points are not contained */
-
+        } else
+            /* it was determined earlier that *both* end-points are not contained */
         if (RISING(rectx1, x2, rectx2) && RISING(recty1, y2, recty2)) {
             **(x_result++) = x2;
             **(y_result++) = y2;
@@ -246,21 +245,24 @@
             intersection = SDL_TRUE;
         }
 
-        if (*x_result == NULL) return intersection;
+        if (*x_result == NULL)
+            return intersection;
         if (RISING(recty1, right, recty2) && RISING(xl, rectx2, xh)) {
             **(x_result++) = rectx2;
             **(y_result++) = (int) right;
             intersection = SDL_TRUE;
         }
 
-        if (*x_result == NULL) return intersection;
+        if (*x_result == NULL)
+            return intersection;
         if (RISING(rectx1, top, rectx2) && RISING(yl, recty1, yh)) {
             **(x_result++) = (int) top;
             **(y_result++) = recty1;
             intersection = SDL_TRUE;
         }
 
-        if (*x_result == NULL) return intersection;
+        if (*x_result == NULL)
+            return intersection;
         if (RISING(rectx1, bottom, rectx2) && RISING(yl, recty2, yh)) {
             **(x_result++) = (int) bottom;
             **(y_result++) = recty2;
--- a/src/video/x11/SDL_x11events.c	Sun Jan 04 23:36:53 2009 +0000
+++ b/src/video/x11/SDL_x11events.c	Sun Jan 04 23:41:09 2009 +0000
@@ -292,17 +292,21 @@
                     switch (xevent.type) {
                     case MotionNotify:
 #ifdef DEBUG_MOTION
-                        printf("X11 motion: %d,%d\n", xevent.xmotion.x, xevent.xmotion.y);
+                        printf("X11 motion: %d,%d\n", xevent.xmotion.x,
+                               xevent.xmotion.y);
 #endif
-                        SDL_SendMouseMotion(mouse->id, 0, xevent.xmotion.x, xevent.xmotion.y, 0);
+                        SDL_SendMouseMotion(mouse->id, 0, xevent.xmotion.x,
+                                            xevent.xmotion.y, 0);
                         break;
 
                     case ButtonPress:
-                        SDL_SendMouseButton(mouse->id, SDL_PRESSED, xevent.xbutton.button);
+                        SDL_SendMouseButton(mouse->id, SDL_PRESSED,
+                                            xevent.xbutton.button);
                         break;
 
                     case ButtonRelease:
-                        SDL_SendMouseButton(mouse->id, SDL_RELEASED, xevent.xbutton.button);
+                        SDL_SendMouseButton(mouse->id, SDL_RELEASED,
+                                            xevent.xbutton.button);
                         break;
                     }
                     continue;
--- a/test/testintersections.c	Sun Jan 04 23:36:53 2009 +0000
+++ b/test/testintersections.c	Sun Jan 04 23:41:09 2009 +0000
@@ -67,9 +67,13 @@
 #define MAX_LINES 16
 int num_lines = 0;
 SDL_Rect lines[MAX_LINES];
-static int add_line(int x1, int y1, int x2, int y2) {
-    if (num_lines >= MAX_LINES) return 0;
-    if ((x1 == x2) && (y1 == y2)) return 0;
+static int
+add_line(int x1, int y1, int x2, int y2)
+{
+    if (num_lines >= MAX_LINES)
+        return 0;
+    if ((x1 == x2) && (y1 == y2))
+        return 0;
 
     printf("adding line (%d, %d), (%d, %d)\n", x1, y1, x2, y2);
     lines[num_lines].x = x1;
@@ -110,14 +114,21 @@
 #define MAX_RECTS 16
 int num_rects = 0;
 SDL_Rect rects[MAX_RECTS];
-static int add_rect(int x1, int y1, int x2, int y2) {
-    if (num_rects >= MAX_RECTS) return 0;
-    if ((x1 == x2) || (y1 == y2)) return 0;
+static int
+add_rect(int x1, int y1, int x2, int y2)
+{
+    if (num_rects >= MAX_RECTS)
+        return 0;
+    if ((x1 == x2) || (y1 == y2))
+        return 0;
 
-    if (x1 > x2) SWAP(int, x1, x2);
-    if (y1 > y2) SWAP(int, y1, y2);
+    if (x1 > x2)
+        SWAP(int, x1, x2);
+    if (y1 > y2)
+        SWAP(int, y1, y2);
 
-    printf("adding rect (%d, %d), (%d, %d) [%dx%d]\n", x1, y1, x2, y2, x2-x1, y2-y1);
+    printf("adding rect (%d, %d), (%d, %d) [%dx%d]\n", x1, y1, x2, y2,
+           x2 - x1, y2 - y1);
 
     rects[num_rects].x = x1;
     rects[num_rects].y = y1;
@@ -155,21 +166,21 @@
     SDL_SetRenderDrawBlendMode(SDL_BLENDMODE_NONE);
 
     for (i = 0; i < num_rects; i++)
-    for (j = 0; j < num_lines; j++) {
-        int x1, y1, x2, y2;
-        SDL_Rect r;
-        
-        r = rects[i];
-        x1 = lines[j].x;
-        y1 = lines[j].y;
-        x2 = lines[j].w;
-        y2 = lines[j].h;
+        for (j = 0; j < num_lines; j++) {
+            int x1, y1, x2, y2;
+            SDL_Rect r;
 
-        if (SDL_IntersectRectAndLine(&r, &x1, &y1, &x2, &y2)) {
-            SDL_SetRenderDrawColor(0, 255, 55, 255);
-            SDL_RenderLine(x1, y1, x2, y2);
+            r = rects[i];
+            x1 = lines[j].x;
+            y1 = lines[j].y;
+            x2 = lines[j].w;
+            y2 = lines[j].h;
+
+            if (SDL_IntersectRectAndLine(&r, &x1, &y1, &x2, &y2)) {
+                SDL_SetRenderDrawColor(0, 255, 55, 255);
+                SDL_RenderLine(x1, y1, x2, y2);
+            }
         }
-    }
 
     SDL_SetRenderDrawBlendMode(SDL_BLENDMODE_NONE);
 }
@@ -182,13 +193,13 @@
     SDL_SetRenderDrawBlendMode(SDL_BLENDMODE_NONE);
 
     for (i = 0; i < num_rects; i++)
-    for (j = i+1; j < num_rects; j++) {
-        SDL_Rect r;
-        if (SDL_IntersectRect(&rects[i], &rects[j], &r)) {
-            SDL_SetRenderDrawColor(255, 200, 0, 255);
-            SDL_RenderFill(&r);
+        for (j = i + 1; j < num_rects; j++) {
+            SDL_Rect r;
+            if (SDL_IntersectRect(&rects[i], &rects[j], &r)) {
+                SDL_SetRenderDrawColor(255, 200, 0, 255);
+                SDL_RenderFill(&r);
+            }
         }
-    }
 
     SDL_SetRenderDrawBlendMode(SDL_BLENDMODE_NONE);
 }
@@ -285,21 +296,29 @@
             case SDL_MOUSEBUTTONUP:
                 if (event.button.which == 0) {
                     if (event.button.button == 3)
-                        add_line(mouse_begin_x, mouse_begin_y, event.button.x, event.button.y);
+                        add_line(mouse_begin_x, mouse_begin_y, event.button.x,
+                                 event.button.y);
                     if (event.button.button == 1)
-                        add_rect(mouse_begin_x, mouse_begin_y, event.button.x, event.button.y);
+                        add_rect(mouse_begin_x, mouse_begin_y, event.button.x,
+                                 event.button.y);
                 }
                 break;
             case SDL_KEYDOWN:
                 switch (event.key.keysym.sym) {
-                    case 'l':
-                        if (event.key.keysym.mod & KMOD_SHIFT) num_lines = 0;
-                        else add_line(rand()%640, rand()%480, rand()%640, rand()%480);
-                        break;
-                    case 'r':
-                        if (event.key.keysym.mod & KMOD_SHIFT) num_rects = 0;
-                        else add_rect(rand()%640, rand()%480, rand()%640, rand()%480);
-                        break;
+                case 'l':
+                    if (event.key.keysym.mod & KMOD_SHIFT)
+                        num_lines = 0;
+                    else
+                        add_line(rand() % 640, rand() % 480, rand() % 640,
+                                 rand() % 480);
+                    break;
+                case 'r':
+                    if (event.key.keysym.mod & KMOD_SHIFT)
+                        num_rects = 0;
+                    else
+                        add_rect(rand() % 640, rand() % 480, rand() % 640,
+                                 rand() % 480);
+                    break;
                 }
                 break;
             case SDL_WINDOWEVENT: