fce8451d82
From-SVN: r34418
49 lines
690 B
C
49 lines
690 B
C
typedef struct _RenderInfo RenderInfo;
|
|
struct _RenderInfo
|
|
{
|
|
int y;
|
|
float scaley;
|
|
int src_y;
|
|
};
|
|
|
|
static void bar(void) { }
|
|
|
|
static int
|
|
render_image_rgb_a (RenderInfo * info)
|
|
{
|
|
int y, ye;
|
|
float error;
|
|
float step;
|
|
|
|
y = info->y;
|
|
ye = 256;
|
|
|
|
step = 1.0 / info->scaley;
|
|
|
|
error = y * step;
|
|
error -= ((int) error) - step;
|
|
|
|
for (; y < ye; y++) {
|
|
if (error >= 1.0) {
|
|
info->src_y += (int) error;
|
|
error -= (int) error;
|
|
bar();
|
|
}
|
|
error += step;
|
|
}
|
|
return info->src_y;
|
|
}
|
|
|
|
int main (void)
|
|
{
|
|
RenderInfo info;
|
|
|
|
info.y = 0;
|
|
info.src_y = 0;
|
|
info.scaley = 1.0;
|
|
|
|
if (render_image_rgb_a(&info) != 256)
|
|
abort ();
|
|
exit(0);
|
|
}
|