Tue Oct 19 00:06:17 PDT 1999
(Raster) fix translucent move mode bug when desktosp are partially dragged down.. SVN revision: 870
This commit is contained in:
parent
0a7e1d8783
commit
53efec2694
|
@ -3575,3 +3575,10 @@ Mon Oct 18 20:56:03 PDT 1999
|
|||
(Mandrake)
|
||||
|
||||
updated shinymetal.
|
||||
|
||||
-------------------------------------------------------------------------------
|
||||
|
||||
Tue Oct 19 00:06:17 PDT 1999
|
||||
(Raster)
|
||||
|
||||
fix translucent move mode bug when desktosp are partially dragged down..
|
||||
|
|
2
src/E.h
2
src/E.h
|
@ -1927,7 +1927,7 @@ void EFillPixmap(Window win, Pixmap pmap, int x, int y,
|
|||
int w, int h);
|
||||
void EPastePixmap(Window win, Pixmap pmap, int x, int y,
|
||||
int w, int h);
|
||||
void EBlendRemoveShape(EWin * ewin, Pixmap pmap);
|
||||
void EBlendRemoveShape(EWin * ewin, Pixmap pmap, int x, int y);
|
||||
PixImg *ECreatePixImg(Window win, int w, int h);
|
||||
void EDestroyPixImg(PixImg * pi);
|
||||
void EBlendPixImg(EWin * ewin, PixImg * s1, PixImg * s2,
|
||||
|
|
42
src/draw.c
42
src/draw.c
|
@ -372,10 +372,10 @@ EDestroyPixImg(PixImg * pi)
|
|||
}
|
||||
|
||||
void
|
||||
EBlendRemoveShape(EWin * ewin, Pixmap pmap)
|
||||
EBlendRemoveShape(EWin * ewin, Pixmap pmap, int x, int y)
|
||||
{
|
||||
XGCValues gcv;
|
||||
int i, x, y, w, h;
|
||||
int i, w, h;
|
||||
static GC gc = 0, gcm = 0;
|
||||
static int rn, ord;
|
||||
static XRectangle *rl = NULL;
|
||||
|
@ -397,39 +397,9 @@ EBlendRemoveShape(EWin * ewin, Pixmap pmap)
|
|||
rl = NULL;
|
||||
return;
|
||||
}
|
||||
if ((ewin->sticky) || (ewin->floating))
|
||||
{
|
||||
x = ewin->x;
|
||||
y = ewin->y;
|
||||
}
|
||||
else
|
||||
{
|
||||
x = ewin->x + desks.desk[ewin->desktop].x;
|
||||
y = ewin->y + desks.desk[ewin->desktop].y;
|
||||
}
|
||||
|
||||
w = ewin->w;
|
||||
h = ewin->h;
|
||||
|
||||
if (x < 0)
|
||||
{
|
||||
w += x;
|
||||
x = 0;
|
||||
}
|
||||
if ((x + w) > root.w)
|
||||
w -= (x + w) - root.w;
|
||||
if (w < 0)
|
||||
w = 0;
|
||||
if (y < 0)
|
||||
{
|
||||
h += y;
|
||||
y = 0;
|
||||
}
|
||||
if ((y + h) > root.h)
|
||||
h -= (y + h) - root.h;
|
||||
if (h < 0)
|
||||
h = 0;
|
||||
if ((w <= 0) || (h <= 0))
|
||||
return;
|
||||
if (!rl)
|
||||
{
|
||||
rl = EShapeGetRectangles(disp, ewin->win, ShapeBounding, &rn, &ord);
|
||||
|
@ -1107,7 +1077,7 @@ DrawEwinShape(EWin * ewin, int md, int x, int y, int w, int h, char firstlast)
|
|||
EDestroyPixImg(root_pi);
|
||||
if (draw_pi)
|
||||
EDestroyPixImg(draw_pi);
|
||||
EBlendRemoveShape(NULL, 0);
|
||||
EBlendRemoveShape(NULL, 0, 0, 0);
|
||||
EBlendPixImg(NULL, NULL, NULL, NULL, 0, 0, 0, 0);
|
||||
ewin_pi = NULL;
|
||||
root_pi = NULL;
|
||||
|
@ -1179,7 +1149,7 @@ DrawEwinShape(EWin * ewin, int md, int x, int y, int w, int h, char firstlast)
|
|||
EBlendPixImg(ewin, root_pi, ewin_pi, draw_pi, x, y,
|
||||
ewin->w, ewin->h);
|
||||
}
|
||||
EBlendRemoveShape(ewin, root_pi->pmap);
|
||||
EBlendRemoveShape(ewin, root_pi->pmap, x, y);
|
||||
}
|
||||
else if (firstlast == 2)
|
||||
{
|
||||
|
@ -1190,7 +1160,7 @@ DrawEwinShape(EWin * ewin, int md, int x, int y, int w, int h, char firstlast)
|
|||
EDestroyPixImg(root_pi);
|
||||
if (draw_pi)
|
||||
EDestroyPixImg(draw_pi);
|
||||
EBlendRemoveShape(NULL, 0);
|
||||
EBlendRemoveShape(NULL, 0, 0, 0);
|
||||
EBlendPixImg(NULL, NULL, NULL, NULL, 0, 0, 0, 0);
|
||||
ewin_pi = NULL;
|
||||
root_pi = NULL;
|
||||
|
|
Loading…
Reference in New Issue