Move old bg image frontend to background extension.
*** empty log message ***
GPLv3
Add shade operator to rxvt_img.
Simplify.
Inline two methods in their callers.
Set root_img only when transparency is requested and replace tests on the transparency option with (more accurate) tests on root_img.
Get rid of BG_IS_VALID flag.
Move check for mapped status in bg_render.
Simplify.
Simplify.
Simplify reset of bg_flags.
Move destruction of bg_img out from bg_destroy.
Properly manage BG_IS_TRANSPARENT flag in core bg image code.
Revise preprocessor macros that control the core bg image code. Move definition of BG_IMAGE_FROM_FILE in rxvt.h and add analogous BG_IMAGE_FROM_ROOT macro that is set if the code to manage the root pixmap is needed.
Fix last change to render_image.
*** empty log message ***
Fix File headers.
Move initialization of transparent bg in bg_init.
Do not abort if loading an image with OSC 20 fails.
Rename variables.
Simplify.
Remove unused function.
must have been in a hurry
Switch background.C to rxvtimg api (xrender is now required).
Add a flag to inhibit bg image management in core.
Change bg_render return type to void.
Remove image vector implementation.
some #ifdef => #if changes
Move get_pixmap_property to rxvt_display.
Move detection of render extension in rxvt_display, and check also if the render version is recent enough to provide the multiply operator.
Define parse_image and finalize the image vector also when NO_RESOURCES is defined.
Rename method.
Remove unused flag.
Refactor tint/blur variables and methods into a new image_effects object, so as to be able to apply such effects to multiple images.
Update the size sensitive flag of all images after resources parsing.
Do not set the default image geometry in set_file, set it in the constructor and if needed in set_file_geometry.
Honour an image blend value also when the image has an alpha channel.
Implicitly sort the image vector by using the image id as index in vector.
Revert back to manual deallocation for pixbufs. There is no simple way to use auto_ptr with custom deallocators.
First cut at adding support for multiple images.
Factor the code to parse image styles into a function.
Always render the pixbuf to a pixmap in ARGB32 format when blending.
Remove arbitrary limit of 1000 on scaling factors and limit the maximum width/height of a scaled image to 32767.
Simplify.
Generalize blending in render_image.
Refactor code to manage images from files into a new rxvt_image object, so as to be able to load multiple images.
Remove useless arguments in tint/blur methods.
Simplify.
Simplify.
Do not hardcode bpp in pixbuf_to_pixmap.
Remove hardcoding of visual masks in tint_ximage, add support for any visual.
Rewrite loop optimized for 32-bit bpp to be more similar to the general one.
Properly handle the case of a bg image with alpha channel. If the visual supports an alpha channel we copy the alpha channel of the image and premultiply alpha as expected by existing compositing managers. Otherwise, we composite the image with the bg color.
Use lerp in make_align_position and do not change the intervals when window_size < image_size.
Simplify.
Cosmetics.
Simplify.
Simplify.
Remove deprecated libAfterImage image backend.
Include the C standard headers rather than the corresponding C++ version.
Honour -pixmap option if -tr is also specified and make_transparency_pixmap fails.
Simplify.
Use min_it.
Use a temporary pixmap to apply blur with xrender. Using the same pixmap as source and destination drawable is not valid apparently.
Apply the convolution filter using pad repeat in rxvt_term::blur_pixmap.
Revert 2011-12-28 change.
Disable blur when either the horizontal or vertical radius is 0. It is not useful to allow a 0 radius value, i.e., apply horizontal or vertical blur only.
Cosmetics.
Remove useless argument in XrenderCreatePicture calls.
Remove duplicated computation of visual format.
Move client-side tinting in make_transparency_pixmap.
Remove code duplication.
Simplify.
Remove useless null check.
Fix update of geometry flags when parsing styles.
Simplify.
Rename shade_ximage to tint_ximage and change it to a method.
Remove useless initialization.
Simplify.
Simplify.
Remove code duplication.
Fix alignment of root pixmap when size differs from root window
Restore backward compatibility for 'propscale' pixmap operation.
Rename 'pscale' and 'root' pixmap operations to 'keep-aspect' and 'root-align', respectively.
Revert 2011-11-23 change.
Simplify.
Remove trailing whitespace.
Remove unneeded parentheses.
Do not needlessly copy the transparent pixmap from/to the server when blurring via xrender is not available.
Always use ASA_XImage as output format for afterimage operations, it is faster.
Update comment.
Revert 2011-08-15 change. g_type_init must be called before create_windows, because the latter may call set_icon, while bg_init must be called after create_windows, because it uses the vt window.
Move and factor code to set the geometry specified in a bg pixmap string into bg_set_file.
Move afterimage/pixbuf initialization code in bg_init.
Remove obsolete comment.
Honour scale factors when pscale is enabled rather than always scaling to the window size.
Do not special case the scale/position string of the bg image. Make it possible to specify it anywhere in the list rather than just at the beginning, like other operations.
Enable tiling in hscale/vscale to restore original behaviour.
Parse again hscale/vscale/auto for backward compatibility.
Overhaul of the bg image operations. Remove old operations in favour of simple operations to perform tiling, proportional scaling and root window-like positioning. Add styles, in terms of the low level scale, position and operations settings, for the most common setups (old operations are still parsed for backward compatibility).
Add 'center' bg image operation.
Remove 'hscale' and 'vscale' bg image operations. These operations are most likely useless for any user.
Remove 'auto' bg image operation. This operation is equivalent to the 'scale' operation so there is no reason to keep it.
Do not tile the bg image when a scale value of 0 is specified. This change makes it possible to disable both scaling and tiling (tiling can still be enabled with the 'tile' tag).
Migrate to libecb.
Remove pointless checks on XCreatePixmap / XRenderCreatePicture return value.
Remove useless casts.
Check for XCreatePixmap / XCreateGC failure.
Simplify.
Fix pixmap leak.
Cleanup.
indent
the pcg is now the schmorp
Simplify.
Destroy afterimage specific objects in bg_destroy.
Change 'have_image' boolean to a flag.
Cosmetic, rename background pixmap flags.
Remove bgPixmap_t struct, move background pixmap handling in rxvt_term.
Simplify handling of bg effects flags.
Simplify, invert flag meaning.
Simplify.
Merge bgPixmap_t::apply in rxvt_term::scr_recolour.
Remove unused variable.
Remove unused macros.
Reuse existing pixmap if possible in make_transparency_pixmap.
Remove useless code.
Cosmetic, remove ugly macros.
Simplify.
Simplify parsing of bg image operations using rxvt_strsplit.
Remove useless code.
*** empty log message ***
Simplify.
Implement our own pixbuf to pixmap rendering to get rid of dependency on buggy gtk-pixbuf-xlib. Only truecolor visuals are supported.
Cosmetics.
Disentagle tinting from shading when lightening. Tinting is now (logically) performed before shading allowing for a more accurate and intuitive behaviour.
Use bitwise and to tint only when each color component is either 0 or ff.
Do not disable tinting for some colours.
Cosmetics.
Keep track of the window position to avoid spurious redraws when the bg image is sensitive to position.
Cleanup bgPixmap_t::set_geometry.
Cleanup OSC 20; remove support for multiple commands and for commands that set scale and position relative to current value.
Add fallback definition for FilterConvolution.
Remove unneeded semicolons.
Simplify.
Simplify.
Always return 0 in make_transparency_pixmap if XCreateGC fails.
Cleanup ShadeXImage.
Compile in the client tint code even when libXrender is present, as the Render extension may not be available.
Fix build when bg image support is enabled and transparency support is disabled.
Simplify.
Fix build when xft is disabled and xrender is enabled.
Detect Render extension at runtime.
Cosmetics.
Simplify.
Fix logic error.
Free pixmap on failure.
Do not cache the converted root pixmap.
Add support for converting the root pixmap to our depth with XRender.
Disentangle xft and xrender support.
reword/remove comments.
Validate root pixmap once rather than everytime we render it.
Remove unused and possibly dangerous optimization.
Deobfuscate.
Remove debugging stuff.
Remove debugging stuff.
Remove useless typedef.
Use the 32 bpp code path for shading only when the image byte order matches the host byte order and the image depth is either 24 or 32.
Try to fix ShadeXImage when bits_per_pixel != 32.
Use the correct visual in blur_pixmap and shadeXImage.
Restore alignment.
Fix indent.
Simplify.
Fix indent.
Cosmetics.
Honour 'propscale' and 'root' in the condition to compute whether the bg image is sensitive to resize.
Fix build when xft support is not enabled.
Simplify logic.
Plug leak in 'bgPixmap_t::set_file'.
Remove code to grab the background of the root window when no pixmap property is set.
Add support for blurring the root background with XRender.
Add support for blending an image over the root background with XRender when using gdk-pixbuf as image backend.
Fix typo.
Remove 'root' argument in tint_pixmap (use 'pixmap' itself) and add 'visual' argument to not hardcode the visual.
Fix grammar.
Sanitize handling of shade value.
Simplify.
Fix bug that prevented setting black as tint color.
Fix computation of mask picture when lightening a pixmap with XRender.
Fix tiling of bg image when blending (broken after last simplification) and change code to always tile in both directions also in this case.
Make tint_pixmap generic.
Use scaled width/height to check if the image is cropped.
Simplify.
Do not perform any sanity check on x/y position in 'root' mode.
Simplify.
Map an align value of -100 to -image_size rather than 0.
Move code to tint a pixmap server side to a new method.
Use a flag to enable 'root' pixmap operation rather than abusing align value.
Really implement 'propscale' pixmap operation.
Recompute the bg image on resize if tiling is requested and the image is cropped.
Fix position of bg image when x/y offset is negative and the image is smaller than the window.
Factor code to compute requested size and position of the background image into a function.
Fix computation of pixmap dimensions when tiling.
Change afterimage code to always tile in both directions, the current behaviour is of dubious usefulness.
Use min, not MIN.
Add support for using gdk-pixbuf as image backend.
Simplify.
Replace tabs with spaces in comment where a tab width of 2 is assumed.
Fix coding style.
Make 'render_image' return false when it fails to create the image and let 'render' handle freeing of the pixmap in that case.
Rename render_asim to render_image and make it generic (every backend must implement it).
Add 'have_image' boolean to indicate whether we have successfully loaded a background image.
Fix indent.
Fix coding style.
Simplify.
Move afterimage specific code in render_asim.
Simplify 'bgPixmap_t::set_file'.
Use rxvt_temp_buf.
Remove unused variable.
Fix typos.
Reformat macros and fix coding style.
Fix typos.
Replace leading tabs with spaces, patch by Mikachu.
Remove trailing whitespace.
Fix coding style.
*** empty log message ***
*** empty log message ***
src/background.C
src/background.C
*** empty log message ***
Make scrollbar_{resize,mapping,show} methods of scrollBar_t.
indent
Add enum for scrollbar states and remove methods/macros to set/check it.
Always compile in plain style scrollbar.
just mindless indenting
indent
Replace strncpy with memcpy where appropriate.
Fix typos.
background redrawing timing tuning
*** empty log message ***
*** empty log message ***
Fix coding style.
Headers cleanup.
Cosmetics.
Cosmetics.
fixed copyrights in background.C and styling in background.h
*** empty log message ***
added new geometry op of :root to implement automove-background functionality internally , since absolute pixmap placement no longer supported
Cosmetics.
added destructor to bgPixmap, to cleanup after itself. That was probably the cause of the huge pixmap leak in rxvtd
Remove trailing whitespace.
added sanity checking for shade parameter to accomodate previously supported negative values
Fix indentation.
compiled out ShadeXImage if building without libAfterImage, but with XFT/RENDER available
fixed root background offset when left-top corner of the window is outside of the screen
improved flickering on move/resize with transparent background
Fix typo.
fixed handling of combination shading and tinting; Optimized Render code for tinting to do everything in one composite op;
renamed XPM_BACKGROUND to BG_IMAGE_FROM_FILE
renamed xpm.C to background.C and moved bgPixmap stuff out of rxvt.h
This form allows you to request diffs between any two revisions of this file. For each of the two "sides" of the diff, select a symbolic revision name using the selection box, or choose 'Use Text Field' and enter a numeric revision.