Changed icon rendering to fix issue 432

git-svn-id: http://tint2.googlecode.com/svn/trunk@734 121b4492-b84c-0410-8b4c-0d4edfb3f3cc
This commit is contained in:
o9000 2015-03-20 22:15:56 +00:00 committed by mrovi9000@gmail.com
parent 83b6d1ac72
commit f6b78ad094
3 changed files with 9 additions and 15 deletions

View file

@ -348,13 +348,9 @@ void draw_launcher_icon(void *obj, cairo_t *c)
Imlib_Image icon_scaled = launcherIcon->icon_scaled;
// Render
imlib_context_set_image (icon_scaled);
if (server.real_transparency) {
// TODO with compton this does not work with Firefox and Chrome but it works with the other icons ?!
render_image(launcherIcon->area.pix, 0, 0, imlib_image_get_width(), imlib_image_get_height() );
} else {
imlib_context_set_drawable(launcherIcon->area.pix);
imlib_render_image_on_drawable (0, 0);
}
imlib_context_set_blend(1);
imlib_context_set_drawable(launcherIcon->area.pix);
imlib_render_image_on_drawable(0, 0);
}
Imlib_Image scale_icon(Imlib_Image original, int icon_size)

View file

@ -600,7 +600,9 @@ void systray_render_icon_now(void* t)
adjust_asb(data, traywin->width, traywin->height, systray.alpha, (float)systray.saturation/100, (float)systray.brightness/100);
imlib_image_put_back_data(data);
XCopyArea(server.dsp, render_background, systray.area.pix, server.gc, traywin->x-systray.area.posx, traywin->y-systray.area.posy, traywin->width, traywin->height, traywin->x-systray.area.posx, traywin->y-systray.area.posy);
render_image(systray.area.pix, traywin->x-systray.area.posx, traywin->y-systray.area.posy, traywin->width, traywin->height);
imlib_context_set_blend(1);
imlib_context_set_drawable(systray.area.pix);
imlib_render_image_on_drawable(traywin->x-systray.area.posx, traywin->y-systray.area.posy);
XCopyArea(server.dsp, systray.area.pix, panel->main_win, server.gc, traywin->x-systray.area.posx, traywin->y-systray.area.posy, traywin->width, traywin->height, traywin->x, traywin->y);
imlib_free_image_and_decache();
XFreePixmap(server.dsp, tmp_pmap);

View file

@ -343,13 +343,9 @@ void draw_task_icon (Task *tsk, int text_width)
// Render
imlib_context_set_image (tsk->icon[tsk->current_state]);
if (server.real_transparency) {
render_image(tsk->area.pix, pos_x, panel->g_task.icon_posy, imlib_image_get_width(), imlib_image_get_height() );
}
else {
imlib_context_set_drawable(tsk->area.pix);
imlib_render_image_on_drawable (pos_x, panel->g_task.icon_posy);
}
imlib_context_set_blend(1);
imlib_context_set_drawable(tsk->area.pix);
imlib_render_image_on_drawable(pos_x, panel->g_task.icon_posy);
}