1*4882a593Smuzhiyunsvntiny: svntiny_gradient.c: only print debugging if GRADIENT_DEBUG is enabled 2*4882a593Smuzhiyun 3*4882a593SmuzhiyunSigned-off-by: Peter Korsgaard <jacmet@sunsite.dk> 4*4882a593Smuzhiyun--- 5*4882a593Smuzhiyun src/svgtiny_gradient.c | 23 ++++++++++++++++++++++- 6*4882a593Smuzhiyun 1 file changed, 22 insertions(+), 1 deletion(-) 7*4882a593Smuzhiyun 8*4882a593SmuzhiyunIndex: libsvgtiny/src/svgtiny_gradient.c 9*4882a593Smuzhiyun=================================================================== 10*4882a593Smuzhiyun--- libsvgtiny.orig/src/svgtiny_gradient.c 11*4882a593Smuzhiyun+++ libsvgtiny/src/svgtiny_gradient.c 12*4882a593Smuzhiyun@@ -30,8 +30,9 @@ void svgtiny_find_gradient(const char *i 13*4882a593Smuzhiyun { 14*4882a593Smuzhiyun xmlNode *gradient; 15*4882a593Smuzhiyun 16*4882a593Smuzhiyun+#ifdef GRADIENT_DEBUG 17*4882a593Smuzhiyun fprintf(stderr, "svgtiny_find_gradient: id \"%s\"\n", id); 18*4882a593Smuzhiyun- 19*4882a593Smuzhiyun+#endif 20*4882a593Smuzhiyun state->linear_gradient_stop_count = 0; 21*4882a593Smuzhiyun state->gradient_x1 = "0%"; 22*4882a593Smuzhiyun state->gradient_y1 = "0%"; 23*4882a593Smuzhiyun@@ -47,13 +48,17 @@ void svgtiny_find_gradient(const char *i 24*4882a593Smuzhiyun 25*4882a593Smuzhiyun gradient = svgtiny_find_element_by_id( 26*4882a593Smuzhiyun (xmlNode *) state->document, id); 27*4882a593Smuzhiyun+#ifdef GRADIENT_DEBUG 28*4882a593Smuzhiyun fprintf(stderr, "gradient %p\n", (void *) gradient); 29*4882a593Smuzhiyun+#endif 30*4882a593Smuzhiyun if (!gradient) { 31*4882a593Smuzhiyun fprintf(stderr, "gradient \"%s\" not found\n", id); 32*4882a593Smuzhiyun return; 33*4882a593Smuzhiyun } 34*4882a593Smuzhiyun 35*4882a593Smuzhiyun+#ifdef GRADIENT_DEBUG 36*4882a593Smuzhiyun fprintf(stderr, "gradient name \"%s\"\n", gradient->name); 37*4882a593Smuzhiyun+#endif 38*4882a593Smuzhiyun if (strcmp((const char *) gradient->name, "linearGradient") == 0) { 39*4882a593Smuzhiyun svgtiny_parse_linear_gradient(gradient, state); 40*4882a593Smuzhiyun } 41*4882a593Smuzhiyun@@ -98,8 +103,10 @@ svgtiny_code svgtiny_parse_linear_gradie 42*4882a593Smuzhiyun return svgtiny_OUT_OF_MEMORY; 43*4882a593Smuzhiyun svgtiny_parse_transform(s, &a, &b, &c, &d, &e, &f); 44*4882a593Smuzhiyun free(s); 45*4882a593Smuzhiyun+#ifdef GRADIENT_DEBUG 46*4882a593Smuzhiyun fprintf(stderr, "transform %g %g %g %g %g %g\n", 47*4882a593Smuzhiyun a, b, c, d, e, f); 48*4882a593Smuzhiyun+#endif 49*4882a593Smuzhiyun state->gradient_transform.a = a; 50*4882a593Smuzhiyun state->gradient_transform.b = b; 51*4882a593Smuzhiyun state->gradient_transform.c = c; 52*4882a593Smuzhiyun@@ -143,7 +150,9 @@ svgtiny_code svgtiny_parse_linear_gradie 53*4882a593Smuzhiyun } 54*4882a593Smuzhiyun 55*4882a593Smuzhiyun if (offset != -1 && color != svgtiny_TRANSPARENT) { 56*4882a593Smuzhiyun+#ifdef GRADIENT_DEBUG 57*4882a593Smuzhiyun fprintf(stderr, "stop %g %x\n", offset, color); 58*4882a593Smuzhiyun+#endif 59*4882a593Smuzhiyun state->gradient_stop[i].offset = offset; 60*4882a593Smuzhiyun state->gradient_stop[i].color = color; 61*4882a593Smuzhiyun i++; 62*4882a593Smuzhiyun@@ -220,9 +229,11 @@ svgtiny_code svgtiny_add_path_linear_gra 63*4882a593Smuzhiyun #endif 64*4882a593Smuzhiyun 65*4882a593Smuzhiyun /* compute gradient vector */ 66*4882a593Smuzhiyun+#ifdef GRADIENT_DEBUG 67*4882a593Smuzhiyun fprintf(stderr, "x1 %s, y1 %s, x2 %s, y2 %s\n", 68*4882a593Smuzhiyun state->gradient_x1, state->gradient_y1, 69*4882a593Smuzhiyun state->gradient_x2, state->gradient_y2); 70*4882a593Smuzhiyun+#endif 71*4882a593Smuzhiyun if (!state->gradient_user_space_on_use) { 72*4882a593Smuzhiyun gradient_x0 = object_x0 + 73*4882a593Smuzhiyun svgtiny_parse_length(state->gradient_x1, 74*4882a593Smuzhiyun@@ -297,9 +308,11 @@ svgtiny_code svgtiny_add_path_linear_gra 75*4882a593Smuzhiyun 76*4882a593Smuzhiyun /* invert gradient transform for applying to vertices */ 77*4882a593Smuzhiyun svgtiny_invert_matrix(&state->gradient_transform.a, trans); 78*4882a593Smuzhiyun+#ifdef GRADIENT_DEBUG 79*4882a593Smuzhiyun fprintf(stderr, "inverse transform %g %g %g %g %g %g\n", 80*4882a593Smuzhiyun trans[0], trans[1], trans[2], trans[3], 81*4882a593Smuzhiyun trans[4], trans[5]); 82*4882a593Smuzhiyun+#endif 83*4882a593Smuzhiyun 84*4882a593Smuzhiyun /* compute points on the path for triangle vertices */ 85*4882a593Smuzhiyun /* r, r0, r1 are distance along gradient vector */ 86*4882a593Smuzhiyun@@ -372,8 +385,10 @@ svgtiny_code svgtiny_add_path_linear_gra 87*4882a593Smuzhiyun steps = ceilf(fabsf(r1 - r0) / 0.05); 88*4882a593Smuzhiyun if (steps == 0) 89*4882a593Smuzhiyun steps = 1; 90*4882a593Smuzhiyun+#ifdef GRADIENT_DEBUG 91*4882a593Smuzhiyun fprintf(stderr, "r0 %g, r1 %g, steps %i\n", 92*4882a593Smuzhiyun r0, r1, steps); 93*4882a593Smuzhiyun+#endif 94*4882a593Smuzhiyun 95*4882a593Smuzhiyun /* loop through intermediate points */ 96*4882a593Smuzhiyun for (z = 1; z != steps; z++) { 97*4882a593Smuzhiyun@@ -398,7 +413,9 @@ svgtiny_code svgtiny_add_path_linear_gra 98*4882a593Smuzhiyun r = ((x_trans - gradient_x0) * gradient_dx + 99*4882a593Smuzhiyun (y_trans - gradient_y0) * gradient_dy) / 100*4882a593Smuzhiyun gradient_norm_squared; 101*4882a593Smuzhiyun+#ifdef GRADIENT_DEBUG 102*4882a593Smuzhiyun fprintf(stderr, "(%g %g [%g]) ", x, y, r); 103*4882a593Smuzhiyun+#endif 104*4882a593Smuzhiyun point = svgtiny_list_push(pts); 105*4882a593Smuzhiyun if (!point) { 106*4882a593Smuzhiyun svgtiny_list_free(pts); 107*4882a593Smuzhiyun@@ -412,14 +429,18 @@ svgtiny_code svgtiny_add_path_linear_gra 108*4882a593Smuzhiyun min_pt = svgtiny_list_size(pts) - 1; 109*4882a593Smuzhiyun } 110*4882a593Smuzhiyun } 111*4882a593Smuzhiyun+#ifdef GRADIENT_DEBUG 112*4882a593Smuzhiyun fprintf(stderr, "\n"); 113*4882a593Smuzhiyun+#endif 114*4882a593Smuzhiyun 115*4882a593Smuzhiyun /* next segment start point is this segment end point */ 116*4882a593Smuzhiyun x0 = x1; 117*4882a593Smuzhiyun y0 = y1; 118*4882a593Smuzhiyun } 119*4882a593Smuzhiyun+#ifdef GRADIENT_DEBUG 120*4882a593Smuzhiyun fprintf(stderr, "pts size %i, min_pt %i, min_r %.3f\n", 121*4882a593Smuzhiyun svgtiny_list_size(pts), min_pt, min_r); 122*4882a593Smuzhiyun+#endif 123*4882a593Smuzhiyun 124*4882a593Smuzhiyun /* render triangles */ 125*4882a593Smuzhiyun stop_count = state->linear_gradient_stop_count; 126