static void
set_xtransform_scale(XTransform *t, int sw, int sh, int w, int h)
{
- if ((sw > 1) && (w > 1))
- { sw--; w--; }
- if ((sh > 1) && (h > 1))
- { sh--; h--; }
+// if ((sw > 1) && (w > 1))
+// { sw--; w--; }
+// if ((sh > 1) && (h > 1))
+// { sh--; h--; }
t->matrix[0][0] = XDoubleToFixed((double)sw / (double)w);
t->matrix[1][1] = XDoubleToFixed((double)sh / (double)h);
}
if (!srs->alpha) op = PictOpSrc;
}
else if (dc->render_op == _EVAS_RENDER_BLEND_REL)
- op = PictOpAtop;
+ op = PictOpAtop;
else if (dc->render_op == _EVAS_RENDER_MUL)
- op = PictOpIn;
+ op = PictOpIn;
else if (dc->render_op == _EVAS_RENDER_COPY)
- op = PictOpSrc;
+ op = PictOpSrc;
else if (dc->render_op == _EVAS_RENDER_COPY_REL)
- op = PictOpIn;
+ op = PictOpIn;
else if (dc->render_op == _EVAS_RENDER_MASK)
- op = PictOpInReverse;
+ op = PictOpInReverse;
if ((dc) && (dc->mul.use))
{
trs = _xr_render_surface_new(srs->xinf, sw + e, sh + e,
srs->fmt, srs->alpha);
if (!trs) return;
-
+
att.component_alpha = 1;
XRenderChangePicture(srs->xinf->disp, mask, CPComponentAlpha, &att);
XRenderSetPictureTransform(srs->xinf->disp, srs->pic, &xf);
{
if (srs->bordered && is_scaling)
{
- trs = _xr_render_surface_new(srs->xinf, sw + 1, sh + 1,
- srs->fmt, srs->alpha);
- if (!trs) return;
-
- att.component_alpha = 0;
- XRenderChangePicture(srs->xinf->disp, srs->pic, CPComponentAlpha, &att);
- XRenderSetPictureTransform(srs->xinf->disp, srs->pic, &xf);
- XRenderComposite(srs->xinf->disp, PictOpSrc, srs->pic, None,
- trs->pic, sx, sy, 0, 0, 0, 0, sw, sh);
-
- XRenderComposite(srs->xinf->disp, PictOpSrc, srs->pic, None,
- trs->pic, sx + sw - 1, sy, 0, 0, sw, 0, 1, sh);
- XRenderComposite(srs->xinf->disp, PictOpSrc, srs->pic, None,
- trs->pic, sx, sy + sh - 1, 0, 0, 0, sh, sw, 1);
- XRenderComposite(srs->xinf->disp, PictOpSrc, srs->pic, None,
+ trs = _xr_render_surface_new(srs->xinf, sw + 1, sh + 1,
+ srs->fmt, srs->alpha);
+ if (!trs) return;
+
+ att.component_alpha = 0;
+ XRenderChangePicture(srs->xinf->disp, srs->pic, CPComponentAlpha, &att);
+ XRenderSetPictureTransform(srs->xinf->disp, srs->pic, &xf);
+ XRenderComposite(srs->xinf->disp, PictOpSrc, srs->pic, None,
+ trs->pic, sx, sy, 0, 0, 0, 0, sw, sh);
+
+ XRenderComposite(srs->xinf->disp, PictOpSrc, srs->pic, None,
+ trs->pic, sx + sw - 1, sy, 0, 0, sw, 0, 1, sh);
+ XRenderComposite(srs->xinf->disp, PictOpSrc, srs->pic, None,
+ trs->pic, sx, sy + sh - 1, 0, 0, 0, sh, sw, 1);
+ XRenderComposite(srs->xinf->disp, PictOpSrc, srs->pic, None,
trs->pic, sx + sw - 1, sy + sh - 1, 0, 0, sw, sh, 1, 1);
-
- XRenderSetPictureFilter(trs->xinf->disp, trs->pic, get_filter(smooth), NULL, 0);
-
- set_xtransform_scale(&xf, sw, sh, w, h);
- XRenderSetPictureTransform(trs->xinf->disp, trs->pic, &xf);
-
- if (dc->render_op == _EVAS_RENDER_MUL)
- {
- att.component_alpha = 1;
- XRenderChangePicture(trs->xinf->disp, trs->pic, CPComponentAlpha, &att);
- }
-
- XRenderComposite(trs->xinf->disp, op, trs->pic, mask, drs->pic,
- 0, 0, 0, 0, x, y, w, h);
- _xr_render_surface_free(trs);
+
+ XRenderSetPictureFilter(trs->xinf->disp, trs->pic, get_filter(smooth), NULL, 0);
+
+ set_xtransform_scale(&xf, sw, sh, w, h);
+ XRenderSetPictureTransform(trs->xinf->disp, trs->pic, &xf);
+
+ if (dc->render_op == _EVAS_RENDER_MUL)
+ {
+ att.component_alpha = 1;
+ XRenderChangePicture(trs->xinf->disp, trs->pic, CPComponentAlpha, &att);
+ }
+
+ XRenderComposite(trs->xinf->disp, op, trs->pic, mask, drs->pic,
+ 0, 0, 0, 0, x, y, w, h);
+ _xr_render_surface_free(trs);
}
else
{
- XRenderSetPictureFilter(srs->xinf->disp, srs->pic, get_filter(smooth), NULL, 0);
-
- set_xtransform_scale(&xf, sw, sh, w, h);
- XRenderSetPictureTransform(srs->xinf->disp, srs->pic, &xf);
-
- att.component_alpha = 0;
- if (dc->render_op == _EVAS_RENDER_MUL)
- att.component_alpha = 1;
- XRenderChangePicture(srs->xinf->disp, srs->pic, CPComponentAlpha, &att);
-
- XRenderComposite(srs->xinf->disp, op, srs->pic, mask, drs->pic,
- ((sx * w) + (sw / 2)) / sw,
- ((sy * h) + (sh / 2)) / sh,
- 0, 0, x, y, w, h);
+ XRenderSetPictureFilter(srs->xinf->disp, srs->pic, get_filter(smooth), NULL, 0);
+
+ set_xtransform_scale(&xf, sw, sh, w, h);
+ XRenderSetPictureTransform(srs->xinf->disp, srs->pic, &xf);
+
+ att.component_alpha = 0;
+ if (dc->render_op == _EVAS_RENDER_MUL)
+ att.component_alpha = 1;
+ XRenderChangePicture(srs->xinf->disp, srs->pic, CPComponentAlpha, &att);
+
+ XRenderComposite(srs->xinf->disp, op, srs->pic, mask, drs->pic,
+ ((sx * w) + (sw / 2)) / sw,
+ ((sy * h) + (sh / 2)) / sh,
+ 0, 0, x, y, w, h);
}
}
}