aboutsummaryrefslogtreecommitdiff
path: root/graphics/geist/files/patch-ad
diff options
context:
space:
mode:
Diffstat (limited to 'graphics/geist/files/patch-ad')
-rw-r--r--graphics/geist/files/patch-ad117
1 files changed, 0 insertions, 117 deletions
diff --git a/graphics/geist/files/patch-ad b/graphics/geist/files/patch-ad
deleted file mode 100644
index e43c0f908702..000000000000
--- a/graphics/geist/files/patch-ad
+++ /dev/null
@@ -1,117 +0,0 @@
---- src/geist_line.c.orig Sun Oct 22 00:05:45 2000
-+++ src/geist_line.c Sat Feb 12 20:39:50 2005
-@@ -406,6 +406,114 @@
-
- }
-
-+/*
-+ * Recent versions of Imlib2 lack imlib_clip_line() function, which was
-+ * around at Imlib2-1.1.0 times. Dig it and some related stuff from
-+ * old sources and paste here, so we're buildable again with new Imlib2.
-+ */
-+
-+enum { TOP = 0x1, BOTTOM = 0x2, RIGHT = 0x4, LEFT = 0x8 };
-+
-+unsigned int
-+__imlib_comp_outcode(double x, double y, double xmin,
-+ double xmax, double ymin, double ymax)
-+{
-+ unsigned int code = 0;
-+
-+ if (y > ymax)
-+ code |= TOP;
-+ else if (y < ymin)
-+ code |= BOTTOM;
-+ if (x > xmax)
-+ code |= RIGHT;
-+ else if (x < xmin)
-+ code |= LEFT;
-+ return code;
-+}
-+
-+int
-+imlib_clip_line(int x0, int y0, int x1, int y1, int xmin, int xmax, int ymin,
-+ int ymax, int *clip_x0, int *clip_y0, int *clip_x1,
-+ int *clip_y1)
-+{
-+ unsigned int outcode0, outcode1, outcode_out;
-+ unsigned char accept = FALSE, done = FALSE;
-+ double dx0, dy0, dx1, dy1;
-+
-+ dx0 = x0;
-+ dx1 = x1;
-+ dy0 = y0;
-+ dy1 = y1;
-+
-+ outcode0 = __imlib_comp_outcode(dx0, dy0, xmin, xmax, ymin, ymax);
-+ outcode1 = __imlib_comp_outcode(dx1, dy1, xmin, xmax, ymin, ymax);
-+
-+ do
-+ {
-+ if (!(outcode0 | outcode1))
-+ {
-+ accept = TRUE;
-+ done = TRUE;
-+ }
-+ else if (outcode0 & outcode1)
-+ done = TRUE;
-+ else
-+ {
-+ double x, y;
-+
-+ outcode_out = outcode0 ? outcode0 : outcode1;
-+ if (outcode_out & TOP)
-+ {
-+ x = dx0 + (dx1 - dx0) * ((double)ymax - dy0) / (dy1 - dy0);
-+ y = ymax;
-+ }
-+ else if (outcode_out & BOTTOM)
-+ {
-+ x = dx0 + (dx1 - dx0) * ((double)ymin - dy0) / (dy1 - dy0);
-+ y = ymin;
-+ }
-+ else if (outcode_out & RIGHT)
-+ {
-+ y = dy0 + (dy1 - dy0) * ((double)xmax - dx0) / (dx1 - dx0);
-+ x = xmax;
-+ }
-+ else
-+ {
-+ y = dy0 + (dy1 - dy0) * ((double)xmin - dx0) / (dx1 - dx0);
-+ x = xmin;
-+ }
-+ if (outcode_out == outcode0)
-+ {
-+ dx0 = x;
-+ dy0 = y;
-+ outcode0 =
-+ __imlib_comp_outcode(dx0, dy0, xmin, xmax, ymin, ymax);
-+ }
-+ else
-+ {
-+ dx1 = x;
-+ dy1 = y;
-+ outcode1 =
-+ __imlib_comp_outcode(dx1, dy1, xmin, xmax, ymin, ymax);
-+ }
-+ }
-+ }
-+ while (done == FALSE);
-+
-+ /* round up before converting down to ints */
-+ dx0 = floor(dx0 + 0.5);
-+ dx1 = floor(dx1 + 0.5);
-+ dy0 = floor(dy0 + 0.5);
-+ dy1 = floor(dy1 + 0.5);
-+
-+ *clip_x0 = dx0;
-+ *clip_y0 = dy0;
-+ *clip_x1 = dx1;
-+ *clip_y1 = dy1;
-+
-+ return accept;
-+}
-+
- int
- geist_line_get_clipped_line(geist_line * line, int *clip_x0, int *clip_y0,
- int *clip_x1, int *clip_y1)