(moved to fvwm-workers)

On Mon, Mar 17, 2003 at 06:04:25PM +1100, Cameron Simpson wrote:
> It's long bugged me that my AspectPixmap menu backdrops don't always fit
> the menu; indeed, they rarely fit perfectly. Now, I know the image itself
> cannot always fit, but I expected tiling after the scaling. Instead I
> see patches from previous menu backdrops (I switch menu backdrop images
> every so often).
> 
> So I went to the source and found in libs/Colorset.c, line 600 or so:
> 
>       /* Draws a colorset background into the specified rectangle in the 
> target
>        * drawable. */                 
>       void SetClippedRectangleBackground(
> 
> I'm a bit puzzled. Now I understand why it looks as it does, and I admit
> I've not yet read the code and the calling code properly, but can someone
> who understands the colorset code tell me why a menu background is simply
> drawn once onto the area instead of being set as the XWindow's background
> pixmap, which would then be tiled nicely but the X server?
> 
> Such an arrangement would let one use AspectPixmap to get the image
> roughly right and then have the X server hide the edges with more
> backdrop.
> 
> Failing this, shouldn't FVWM be blacking out (or something - maybe
> the background-colour value if present in the Style) the whole menu
> backdrop first?

THere is a bug in the aspect stretching code.  If the pixmap is
wider than it is tall, it is stretched to fit the target
rectangle's height, and if it is taller than it is wide it is
stretched to match the target width.  For example, if the pixmap
and has this format:

  +------+
  |      |
  |      |
  |      |
  |      |
  |      |
  +------+

And the menu this:

  +------+
  |      |
  |      |
  |      |
  |      |
  |      |
  |      |
  |      |
  |      |
  +------+

The pixmap only occupies the upper part of the menu.  I think we
a "TiledAspectPixmap" option too.

Bye

Dominik ^_^  ^_^
--
Visit the official FVWM web page at <URL:http://www.fvwm.org/>.
To unsubscribe from the list, send "unsubscribe fvwm-workers" in the
body of a message to [EMAIL PROTECTED]
To report problems, send mail to [EMAIL PROTECTED]

Reply via email to