when gl window buffer is smaller than the fbo. used wrong
surface size in clipping logic.
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/evas@70125
7cbeb6ba-43b4-40fd-8cce-
4c39aea84d33
* Box layouts: fix handling of weights that have decimal parts,
they were being handled as "int" where "double" was expected.
+
+2012-04-12 Carsten Haitzler (The Rasterman)
+
+ * Fix gl engine clipping bug when rendering to evas map fbo's
+ when gl window buffer is smaller than the fbo. used wrong
+ surface size in clipping logic.
+
}
/* save out clip info */
c = gc->dc->clip.use; cx = gc->dc->clip.x; cy = gc->dc->clip.y; cw = gc->dc->clip.w; ch = gc->dc->clip.h;
- evas_common_draw_context_clip_clip(gc->dc, 0, 0, gc->w, gc->h);
+ evas_common_draw_context_clip_clip(gc->dc, 0, 0, gc->shared->w, gc->shared->h);
evas_common_draw_context_clip_clip(gc->dc, x, y, tex->w, tex->h);
/* our clip is 0 size.. abort */
if ((gc->dc->clip.w <= 0) || (gc->dc->clip.h <= 0))
/* save out clip info */
c = gc->dc->clip.use; cx = gc->dc->clip.x; cy = gc->dc->clip.y; cw = gc->dc->clip.w; ch = gc->dc->clip.h;
- evas_common_draw_context_clip_clip(gc->dc, 0, 0, gc->w, gc->h);
+ evas_common_draw_context_clip_clip(gc->dc, 0, 0, gc->shared->w, gc->shared->h);
evas_common_draw_context_clip_clip(gc->dc, dx, dy, dw, dh);
/* our clip is 0 size.. abort */
if ((gc->dc->clip.w <= 0) || (gc->dc->clip.h <= 0))
free(point);
free(sorted_index);
- evas_common_draw_context_clip_clip(gc->dc, 0, 0, gc->w, gc->h);
+ evas_common_draw_context_clip_clip(gc->dc, 0, 0, gc->shared->w, gc->shared->h);
if (spans)
{
cr = (gc->dc->col.col >> 16) & 0xff;
cg = (gc->dc->col.col >> 8 ) & 0xff;
cb = (gc->dc->col.col ) & 0xff;
- evas_common_draw_context_clip_clip(gc->dc, 0, 0, gc->w, gc->h);
+ evas_common_draw_context_clip_clip(gc->dc, 0, 0, gc->shared->w, gc->shared->h);
/* no cutouts - cut right to the chase */
+
if ((gc->dc) && (gc->dc->clip.use))
{
RECTS_CLIP_TO_RECT(x, y, w, h,