5 * Created by guillaum on Tue Aug 14 2001.
6 * Copyright (c) 2001 __CompanyName__. All rights reserved.
17 static inline unsigned char
18 lighten (unsigned char value, unsigned char power)
22 for (i = 0; i < power; i++)
23 value += (255 - value) / 5;
28 goom_lines (GoomData * goomdata, gint16 data[2][512], unsigned int ID,
29 unsigned int *p, guint32 power)
33 guint32 resolx = goomdata->resolx;
34 guint32 resoly = goomdata->resoly;
35 unsigned char *color = 1 + (unsigned char *) &color1;
38 case 0: /* Horizontal stereo lines */
45 case 1: /* Stereo circles */
53 g_assert_not_reached ();
57 *color = lighten (*color, power);
59 *color = lighten (*color, power);
61 *color = lighten (*color, power);
62 color = 1 + (unsigned char *) &color2;
63 *color = lighten (*color, power);
65 *color = lighten (*color, power);
67 *color = lighten (*color, power);
70 case 0: /* Horizontal stereo lines */
74 for (i = 0; i < 512; i++) {
77 plot = i * resolx / 512 + (resoly / 4 + data[0][i] / 1600) * resolx;
80 plot = i * resolx / 512 + (resoly * 3 / 4 - data[1][i] / 1600) * resolx;
87 case 1: /* Stereo circles */
90 unsigned int monX = resolx / 2;
91 float monY = resoly / 4;
92 float monY2 = resoly / 2;
94 for (z = 0; z < 6.2832f; z += 1.0f / monY) {
95 /* float offset1 = 128+data[1][(unsigned int)(z*81.33f)])/200000; */
96 p[monX + (unsigned int) ((monY + ((float) resoly) * (128 +
97 data[1][(unsigned int) (z * 81.33f)]) / 200000) *
98 cos (z) + resolx * (unsigned int) (monY2 + (monY +
99 ((float) resoly) * (128 +
100 data[1][(unsigned int) (z * 81.33f)]) / 400000) *
102 p[monX + (unsigned int) ((monY - ((float) resoly) * (128 +
103 data[0][(unsigned int) (z * 81.33f)]) / 200000) *
104 cos (z) + resolx * (unsigned int) (monY2 + (monY -
105 ((float) resoly) * (128 +
106 data[0][(unsigned int) (z * 81.33f)]) / 400000) *