forked from old/legacy-imlib2
scalign code back to old scaling... new scalign code has bugs... even the C
code has segv's.. somewhere... :( SVN revision: 2511
This commit is contained in:
parent
4a09d1fe8a
commit
54b76ea1f7
|
@ -16,6 +16,9 @@
|
|||
#undef DO_MMX_ASM
|
||||
#endif
|
||||
|
||||
/* use old scaling.. new scalign has segv bugs... :( */
|
||||
#define OLD_SCALE_DOWN 1
|
||||
|
||||
DATA32 **
|
||||
__imlib_CalcYPoints(DATA32 *src, int sw, int sh, int dh, int b1, int b2)
|
||||
{
|
||||
|
|
103
test/main.c
103
test/main.c
|
@ -74,6 +74,8 @@ int main (int argc, char **argv)
|
|||
int rotate = 0;
|
||||
int rottest = 0;
|
||||
int scaleup = 0;
|
||||
int scaleboth = 0;
|
||||
int origone = 0;
|
||||
|
||||
for (i = 1; i < argc; i++)
|
||||
{
|
||||
|
@ -90,6 +92,10 @@ int main (int argc, char **argv)
|
|||
}
|
||||
else if (!strcmp(argv[i], "-up"))
|
||||
scaleup = 1;
|
||||
else if (!strcmp(argv[i], "-both"))
|
||||
scaleboth = 1;
|
||||
else if (!strcmp(argv[i], "-orig"))
|
||||
origone = 1;
|
||||
else if (!strcmp(argv[i], "-blend"))
|
||||
blend = 1;
|
||||
else if (!strcmp(argv[i], "-blendtest"))
|
||||
|
@ -178,6 +184,8 @@ int main (int argc, char **argv)
|
|||
{
|
||||
if (scaleup)
|
||||
XResizeWindow(disp, win, w * 4, h * 4);
|
||||
else if (scaleboth)
|
||||
XResizeWindow(disp, win, w * 2, h * 2);
|
||||
else
|
||||
XResizeWindow(disp, win, w, h);
|
||||
XMapWindow(disp, win);
|
||||
|
@ -220,8 +228,19 @@ int main (int argc, char **argv)
|
|||
for (i = 0; i < w * 3; i+= 8)
|
||||
{
|
||||
if (!blendtest)
|
||||
imlib_render_image_on_drawable_at_size(0, 0,
|
||||
w + i, (((w + i) * h) / w));
|
||||
{
|
||||
Imlib_Image im_tmp;
|
||||
|
||||
im_tmp = imlib_create_cropped_scaled_image(0, 0, w, h,
|
||||
w + i, (((w + i) * h) / w));
|
||||
if (im_tmp)
|
||||
{
|
||||
imlib_context_set_image(im_tmp);
|
||||
imlib_render_image_on_drawable(0, 0);
|
||||
imlib_free_image();
|
||||
}
|
||||
imlib_context_set_image(im);
|
||||
}
|
||||
else
|
||||
{
|
||||
Imlib_Image im_tmp;
|
||||
|
@ -234,7 +253,85 @@ int main (int argc, char **argv)
|
|||
}
|
||||
imlib_context_set_image(im);
|
||||
}
|
||||
pixels += (w - i) * (((w - i) * h) / w);
|
||||
pixels += (w + i) * (((w + i) * h) / w);
|
||||
}
|
||||
}
|
||||
else if (scaleboth)
|
||||
{
|
||||
if (origone)
|
||||
{
|
||||
for (i = 0; i < w * 2; i+= 4)
|
||||
{
|
||||
if (!blendtest)
|
||||
{
|
||||
Imlib_Image im_tmp;
|
||||
|
||||
im_tmp = imlib_create_cropped_scaled_image(0, 0, w, h,
|
||||
w, (((i) * h) / w));
|
||||
if (im_tmp)
|
||||
{
|
||||
imlib_context_set_image(im_tmp);
|
||||
imlib_render_image_on_drawable(0, 0);
|
||||
imlib_free_image();
|
||||
}
|
||||
imlib_context_set_image(im);
|
||||
}
|
||||
else
|
||||
{
|
||||
Imlib_Image im_tmp;
|
||||
im_tmp = imlib_create_cropped_scaled_image(0, 0, w, h,
|
||||
w, (((i) * h) / w));
|
||||
if (im_tmp)
|
||||
{
|
||||
imlib_context_set_image(im_tmp);
|
||||
imlib_free_image();
|
||||
}
|
||||
imlib_context_set_image(im);
|
||||
}
|
||||
XSync(disp, False);
|
||||
pixels += (2 * w - i) * (((i) * h) / w);
|
||||
}
|
||||
for (i = 0; i < w * 2; i+= 4)
|
||||
{
|
||||
if (!blendtest)
|
||||
imlib_render_image_on_drawable_at_size(0, 0,
|
||||
2 * w - i, h);
|
||||
else
|
||||
{
|
||||
Imlib_Image im_tmp;
|
||||
im_tmp = imlib_create_cropped_scaled_image(0, 0, w, h,
|
||||
2 * w - i, h);
|
||||
if (im_tmp)
|
||||
{
|
||||
imlib_context_set_image(im_tmp);
|
||||
imlib_free_image();
|
||||
}
|
||||
imlib_context_set_image(im);
|
||||
}
|
||||
pixels += (2 * w - i) * h;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
for (i = 0; i < w * 2; i+= 4)
|
||||
{
|
||||
if (!blendtest)
|
||||
imlib_render_image_on_drawable_at_size(0, 0,
|
||||
2 * w - i, (((i) * h) / w));
|
||||
else
|
||||
{
|
||||
Imlib_Image im_tmp;
|
||||
im_tmp = imlib_create_cropped_scaled_image(0, 0, w, h,
|
||||
2 * w - i, (((i) * h) / w));
|
||||
if (im_tmp)
|
||||
{
|
||||
imlib_context_set_image(im_tmp);
|
||||
imlib_free_image();
|
||||
}
|
||||
imlib_context_set_image(im);
|
||||
}
|
||||
pixels += w * (((i) * h) / w);
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
|
|
Loading…
Reference in New Issue