Enlightenment CVS committal
Author : kwo
Project : e16
Module : e
Dir : e16/e/src
Modified Files:
container.c dialog.c eimage.c eimage.h hiwin.c xwin.h
Log Message:
Introduce EImageApplyToWin.
===================================================================
RCS file: /cvs/e/e16/e/src/container.c,v
retrieving revision 1.18
retrieving revision 1.19
diff -u -3 -r1.18 -r1.19
--- container.c 15 Dec 2007 16:29:22 -0000 1.18
+++ container.c 15 Dec 2007 17:10:47 -0000 1.19
@@ -1061,7 +1061,6 @@
int ib_x0, ib_y0, ib_w0, ib_h0;
EImage *im;
int ww, hh;
- Pixmap pmap, mask;
if (!ct->ic_box)
ContainerLayoutImageWin(ct);
@@ -1160,13 +1159,8 @@
if (im)
{
EMapWindow(ct->icon_win);
- EImageRenderPixmaps(im, ct->icon_win, EIMAGE_HIGH_MASK_THR,
- &pmap, &mask, 0, 0);
- ESetWindowBackgroundPixmap(ct->icon_win, pmap);
- EShapeCombineMask(ct->icon_win, ShapeBounding, 0, 0, mask, ShapeSet);
- EImagePixmapsFree(pmap, mask);
+ EImageApplyToWin(im, ct->icon_win, EIMAGE_HIGH_MASK_THR, 0, 0);
EImageFree(im);
- EClearWindow(ct->icon_win);
if (ct->type == IB_TYPE_SYSTRAY && ct->nobg && !ct->draw_icon_base)
EShapePropagate(ct->icon_win);
===================================================================
RCS file: /cvs/e/e16/e/src/dialog.c,v
retrieving revision 1.191
retrieving revision 1.192
diff -u -3 -r1.191 -r1.192
--- dialog.c 15 Dec 2007 16:29:22 -0000 1.191
+++ dialog.c 15 Dec 2007 17:10:47 -0000 1.192
@@ -1167,16 +1167,10 @@
im = ThemeImageLoad(di->item.image.image);
if (im)
{
- Pixmap pmap = 0, mask = 0;
-
EImageGetSize(im, &iw, &ih);
di->win = ECreateWindow(d->win, 0, 0, iw, ih, 0);
EMapWindow(di->win);
- EImageRenderPixmaps(im, di->win, 0, &pmap, &mask, 0, 0);
- ESetWindowBackgroundPixmap(di->win, pmap);
- EShapeCombineMask(di->win, ShapeBounding, 0, 0, mask, ShapeSet);
- EClearWindow(di->win);
- EImagePixmapsFree(pmap, mask);
+ EImageApplyToWin(im, di->win, 0, 0, 0);
EImageFree(im);
}
di->w = iw;
===================================================================
RCS file: /cvs/e/e16/e/src/eimage.c,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -3 -r1.19 -r1.20
--- eimage.c 15 Dec 2007 16:29:22 -0000 1.19
+++ eimage.c 15 Dec 2007 17:10:47 -0000 1.20
@@ -460,6 +460,19 @@
}
void
+EImageApplyToWin(EImage * im, Win win, int flags, int w, int h)
+{
+ Pixmap pmap, mask;
+
+ EImageRenderPixmaps(im, win, flags, &pmap, &mask, w, h);
+ ESetWindowBackgroundPixmap(win, pmap);
+ if ((mask != None) || (mask == None && WinIsShaped(win)))
+ EShapeCombineMask(win, ShapeBounding, 0, 0, mask, ShapeSet);
+ EImagePixmapsFree(pmap, mask);
+ EClearWindow(win);
+}
+
+void
ScaleRect(Win wsrc, Drawable src, Win wdst, Pixmap dst, Pixmap * pdst,
int sx, int sy, int sw, int sh,
int dx, int dy, int dw, int dh, int scale)
===================================================================
RCS file: /cvs/e/e16/e/src/eimage.h,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -3 -r1.12 -r1.13
--- eimage.h 15 Dec 2007 16:29:22 -0000 1.12
+++ eimage.h 15 Dec 2007 17:10:47 -0000 1.13
@@ -92,6 +92,9 @@
int w, int h);
void EImagePixmapsFree(Pixmap pmap, Pixmap mask);
+void EImageApplyToWin(EImage * im, Win win, int flags,
+ int w, int h);
+
EImageColorModifier *EImageColorModifierCreate(void);
void EImageColorModifierSetTables(EImageColorModifier * icm,
unsigned char *r,
===================================================================
RCS file: /cvs/e/e16/e/src/hiwin.c,v
retrieving revision 1.28
retrieving revision 1.29
diff -u -3 -r1.28 -r1.29
--- hiwin.c 15 Dec 2007 16:29:22 -0000 1.28
+++ hiwin.c 15 Dec 2007 17:10:47 -0000 1.29
@@ -108,21 +108,9 @@
static void
HiwinRenderImageDrawX(Hiwin * phi, Drawable draw __UNUSED__)
{
-#if 0
- EImageRenderOnDrawable(phi->im, EoGetWin(phi), draw, 0,
- 0, 0, EoGetW(phi), EoGetH(phi));
-#else
- Pixmap pmap, mask;
-
- EImageRenderPixmaps(phi->im, EoGetWin(phi), EIMAGE_ANTI_ALIAS, &pmap, &mask,
- EoGetW(phi), EoGetH(phi));
- ESetWindowBackgroundPixmap(EoGetWin(phi), pmap);
- if (mask)
- EShapeCombineMask(EoGetWin(phi), ShapeBounding, 0, 0, mask, ShapeSet);
- EImagePixmapsFree(pmap, mask);
- EClearWindow(EoGetWin(phi));
+ EImageApplyToWin(phi->im, EoGetWin(phi), EIMAGE_ANTI_ALIAS,
+ EoGetW(phi), EoGetH(phi));
EoShapeUpdate(phi, 0);
-#endif
}
static void
===================================================================
RCS file: /cvs/e/e16/e/src/xwin.h,v
retrieving revision 1.35
retrieving revision 1.36
diff -u -3 -r1.35 -r1.36
--- xwin.h 15 Dec 2007 12:36:58 -0000 1.35
+++ xwin.h 15 Dec 2007 17:10:47 -0000 1.36
@@ -99,7 +99,7 @@
#define WinGetDepth(win) ((win)->depth)
#define WinGetVisual(win) ((win)->visual)
#define WinGetCmap(win) ((win)->cmap)
-#define WinIsShaped(win) ((win)->num_rect > 0)
+#define WinIsShaped(win) ((win)->num_rect != 0)
#else
Window WinGetXwin(const Win win);
int WinGetX(const Win win);
-------------------------------------------------------------------------
SF.Net email is sponsored by:
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services
for just about anything Open Source.
http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace
_______________________________________________
enlightenment-cvs mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs