Bug fix: GLX: Fix --inactive-dim & fix color inversion

- GLX backend: Fix broken --inactive-dim.

- GLX backend: Fix bugs when inverting colors of windows. Thanks to
  madsy and neure for help.

- GLX backend: Lift `glx_no_stencil` restriction from glx_init_blur().
  It still probably won't work, but the user can try.

- XRender backend: Use XRenderFillRectangles() instead of
  XRenderComposite() to do dimming.
This commit is contained in:
Richard Grenville
2013-03-25 11:36:39 +08:00
parent 75912d23f3
commit 9e607b2543
3 changed files with 162 additions and 30 deletions

View File

@@ -878,9 +878,6 @@ typedef struct _win {
// Dim-related members
/// Whether the window is to be dimmed.
bool dim;
/// Picture for dimming. Affected by user-specified inactive dim
/// opacity and window opacity.
Picture dim_alpha_pict;
/// Whether to invert window color.
bool invert_color;
@@ -1641,6 +1638,10 @@ bool
glx_blur_dst(session_t *ps, int dx, int dy, int width, int height, float z,
GLfloat factor_center);
bool
glx_dim_dst(session_t *ps, int dx, int dy, int width, int height, float z,
GLfloat factor);
bool
glx_render(session_t *ps, const glx_texture_t *ptex,
int x, int y, int dx, int dy, int width, int height, int z,