CLIM mail archive


Re: Minor bounding box problem

    Date: Thu, 20 Aug 1992 16:16 EDT
    From: Jeff Close <>

       I have defined a new border type with the following:
       (clim:define-border-type :ellipse (stream left top right bottom)
	 (let ((cx (/ (+ left right) 2))
	       (cy (/ (+ top bottom) 2))
	       (rx (+ 8 (/ (- right left) 2)))
	       (ry (+ 8 (/ (- bottom top) 2))) )
	   (clim:draw-ellipse* stream cx cy rx 0 0 ry :filled nil))
       I use this border type to draw some nodes in a graph (using 
       surrounding-output-with-border).  These nodes are later selectable.  The 
       problem is that when they are highlighted, the box that surrounds the node is
       at least one pixel too low.  This is a minor detail.  However, when the node
       is erased, part of the ellipse remains on the display, because it is outside
       the bounding box.  The bounding box should run tangent to the ellipse, but
       actually cuts through it on my display.

       Is this a known problem?  Does it have an easy fix?  BTW, I'm running Allegro

    This is a known problem.  As far as I know it has nothing to do with
    defining your own border.  It's a "1+" problem.  I don't know if I
    have the source code to the patch -- I have a fasl -- anyone else?

I would say that the CLX back-end is drawing the ellipse a little too
big, rather than that the bounding box is too small.

Follow-Ups: References:

Main Index | Thread Index