Thu Oct 28 20:11:15 PDT 1999 Michael Jennings <mej@eterm.org>
Fixed a couple problems pointed out by Joel Lesher <filgy@blazenet.net> and Rahsheen Porter <strider@cipher.neuplanet.cx> regarding tinted/shaded transparency and a typo in the auto mode theme file. Doh! SVN revision: 1038
This commit is contained in:
parent
6675db306f
commit
04bba08a8b
|
@ -2682,3 +2682,11 @@ Thu Oct 28 16:17:21 PDT 1999 Michael Jennings <mej@eterm.org>
|
||||||
theme files.
|
theme files.
|
||||||
|
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
|
Thu Oct 28 20:11:15 PDT 1999 Michael Jennings <mej@eterm.org>
|
||||||
|
|
||||||
|
Fixed a couple problems pointed out by Joel Lesher
|
||||||
|
<filgy@blazenet.net> and Rahsheen Porter <strider@cipher.neuplanet.cx>
|
||||||
|
regarding tinted/shaded transparency and a typo in the auto mode
|
||||||
|
theme file. Doh!
|
||||||
|
|
||||||
|
-------------------------------------------------------------------------------
|
||||||
|
|
|
@ -15,5 +15,5 @@ Eterm_LDFLAGS = -rpath $(libdir):$(pkglibdir)
|
||||||
INCLUDES = -I. -I$(top_srcdir) -I$(top_srcdir)/libmej -I.. -I$(includedir) -I$(prefix)/include $(X_CFLAGS)
|
INCLUDES = -I. -I$(top_srcdir) -I$(top_srcdir)/libmej -I.. -I$(includedir) -I$(prefix)/include $(X_CFLAGS)
|
||||||
LDADD = libEterm.la $(top_builddir)/libmej/libmej.la -L$(libdir) -L$(prefix)/lib $(LIBS) $(GRLIBS) $(X_LIBS)
|
LDADD = libEterm.la $(top_builddir)/libmej/libmej.la -L$(libdir) -L$(prefix)/lib $(LIBS) $(GRLIBS) $(X_LIBS)
|
||||||
|
|
||||||
EXTRA_DIST = actions.h command.h debug.h e.h eterm_utmp.h events.h feature.h font.h grkelot.h grx.h menus.h misc.h options.h \
|
EXTRA_DIST = actions.h command.h debug.h e.h eterm_utmp.h events.h feature.h font.h grkelot.h menus.h misc.h options.h \
|
||||||
pixmap.h profile.h screen.h scrollbar.h startup.h system.h term.h timer.h windows.h Eterm.xpm
|
pixmap.h profile.h screen.h scrollbar.h startup.h system.h term.h timer.h windows.h Eterm.xpm
|
||||||
|
|
50
src/pixmap.c
50
src/pixmap.c
|
@ -275,6 +275,8 @@ reset_simage(simage_t * simg, unsigned long mask)
|
||||||
|
|
||||||
ASSERT(simg != NULL);
|
ASSERT(simg != NULL);
|
||||||
|
|
||||||
|
D_PIXMAP(("reset_simage(%8p, 0x%08x)\n", simg, mask));
|
||||||
|
|
||||||
if ((mask & RESET_IMLIB_IM) && simg->iml->im) {
|
if ((mask & RESET_IMLIB_IM) && simg->iml->im) {
|
||||||
Imlib_destroy_image(imlib_id, simg->iml->im);
|
Imlib_destroy_image(imlib_id, simg->iml->im);
|
||||||
simg->iml->im = NULL;
|
simg->iml->im = NULL;
|
||||||
|
@ -568,24 +570,6 @@ render_simage(simage_t * simg, Window win, unsigned short width, unsigned short
|
||||||
if (desktop_pixmap == None) {
|
if (desktop_pixmap == None) {
|
||||||
get_desktop_pixmap();
|
get_desktop_pixmap();
|
||||||
last_x = last_y = -1;
|
last_x = last_y = -1;
|
||||||
if (desktop_pixmap != None && need_colormod()) {
|
|
||||||
pixmap = desktop_pixmap;
|
|
||||||
XGetGeometry(Xdisplay, desktop_pixmap, &w, &px, &py, &pw, &ph, &pb, &pd);
|
|
||||||
D_PIXMAP(("render_simage(): XGetGeometry() returned w = 0x%08x, pw == %u, ph == %u\n", w, pw, ph));
|
|
||||||
if (pw < (unsigned int) scr->width || ph < (unsigned int) scr->height) {
|
|
||||||
desktop_pixmap = XCreatePixmap(Xdisplay, win, pw, ph, Xdepth);
|
|
||||||
XCopyArea(Xdisplay, pixmap, desktop_pixmap, gc, 0, 0, pw, ph, 0, 0);
|
|
||||||
colormod_trans(desktop_pixmap, gc, pw, ph);
|
|
||||||
} else {
|
|
||||||
desktop_pixmap = XCreatePixmap(Xdisplay, win, scr->width, scr->height, Xdepth);
|
|
||||||
XCopyArea(Xdisplay, pixmap, desktop_pixmap, gc, 0, 0, scr->width, scr->height, 0, 0);
|
|
||||||
colormod_trans(desktop_pixmap, gc, scr->width, scr->height);
|
|
||||||
}
|
|
||||||
desktop_pixmap_is_mine = 1;
|
|
||||||
pixmap = None;
|
|
||||||
} else {
|
|
||||||
desktop_pixmap_is_mine = 0;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
if (desktop_pixmap != None) {
|
if (desktop_pixmap != None) {
|
||||||
XTranslateCoordinates(Xdisplay, win, desktop_window, 0, 0, &x, &y, &w);
|
XTranslateCoordinates(Xdisplay, win, desktop_window, 0, 0, &x, &y, &w);
|
||||||
|
@ -1235,7 +1219,34 @@ get_desktop_pixmap(void)
|
||||||
} else {
|
} else {
|
||||||
D_PIXMAP(("get_desktop_pixmap(): Desktop pixmap has changed. Updating desktop_pixmap\n"));
|
D_PIXMAP(("get_desktop_pixmap(): Desktop pixmap has changed. Updating desktop_pixmap\n"));
|
||||||
free_desktop_pixmap();
|
free_desktop_pixmap();
|
||||||
return (desktop_pixmap = p);
|
if (need_colormod()) {
|
||||||
|
int px, py;
|
||||||
|
unsigned int pw, ph, pb, pd;
|
||||||
|
Window w;
|
||||||
|
GC gc;
|
||||||
|
XGCValues gcvalue;
|
||||||
|
Screen *scr = ScreenOfDisplay(Xdisplay, Xscreen);
|
||||||
|
|
||||||
|
gcvalue.foreground = gcvalue.background = PixColors[bgColor];
|
||||||
|
gc = XCreateGC(Xdisplay, TermWin.vt, GCForeground | GCBackground, &gcvalue);
|
||||||
|
XGetGeometry(Xdisplay, p, &w, &px, &py, &pw, &ph, &pb, &pd);
|
||||||
|
D_PIXMAP(("get_desktop_pixmap(): XGetGeometry() returned w = 0x%08x, pw == %u, ph == %u\n", w, pw, ph));
|
||||||
|
if (pw < (unsigned int) scr->width || ph < (unsigned int) scr->height) {
|
||||||
|
desktop_pixmap = XCreatePixmap(Xdisplay, TermWin.parent, pw, ph, Xdepth);
|
||||||
|
XCopyArea(Xdisplay, p, desktop_pixmap, gc, 0, 0, pw, ph, 0, 0);
|
||||||
|
colormod_trans(desktop_pixmap, gc, pw, ph);
|
||||||
|
} else {
|
||||||
|
desktop_pixmap = XCreatePixmap(Xdisplay, TermWin.vt, scr->width, scr->height, Xdepth);
|
||||||
|
XCopyArea(Xdisplay, p, desktop_pixmap, gc, 0, 0, scr->width, scr->height, 0, 0);
|
||||||
|
colormod_trans(desktop_pixmap, gc, scr->width, scr->height);
|
||||||
|
}
|
||||||
|
XFreeGC(Xdisplay, gc);
|
||||||
|
desktop_pixmap_is_mine = 1;
|
||||||
|
return (desktop_pixmap);
|
||||||
|
} else {
|
||||||
|
desktop_pixmap_is_mine = 0;
|
||||||
|
return (desktop_pixmap = p);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1258,6 +1269,7 @@ get_desktop_pixmap(void)
|
||||||
color_pixmap = XCreatePixmap(Xdisplay, TermWin.vt, 16, 16, Xdepth);
|
color_pixmap = XCreatePixmap(Xdisplay, TermWin.vt, 16, 16, Xdepth);
|
||||||
XFillRectangle(Xdisplay, color_pixmap, gc, 0, 0, 16, 16);
|
XFillRectangle(Xdisplay, color_pixmap, gc, 0, 0, 16, 16);
|
||||||
D_PIXMAP(("get_desktop_pixmap(): Created solid color pixmap 0x%08x for desktop_pixmap.\n", color_pixmap));
|
D_PIXMAP(("get_desktop_pixmap(): Created solid color pixmap 0x%08x for desktop_pixmap.\n", color_pixmap));
|
||||||
|
XFreeGC(Xdisplay, gc);
|
||||||
return (desktop_pixmap = color_pixmap);
|
return (desktop_pixmap = color_pixmap);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -217,7 +217,7 @@ begin main
|
||||||
end image
|
end image
|
||||||
end
|
end
|
||||||
|
|
||||||
%include "Eterm-menu.cfg"
|
%include "auto-menu.cfg"
|
||||||
|
|
||||||
# This section *must* come after the menu definitions if you want
|
# This section *must* come after the menu definitions if you want
|
||||||
# menu actions to work. C'est la vie. :-)
|
# menu actions to work. C'est la vie. :-)
|
||||||
|
|
Loading…
Reference in New Issue