X-Authentication-Warning: delorie.com: mail set sender to geda-user-bounces using -f X-Recipient: geda-user AT delorie DOT com Date: Tue, 18 Jun 2013 12:17:51 +0200 (CEST) From: Roland Lutz To: geda-user AT delorie DOT com Subject: Re: [geda-user] gschem text measure In-Reply-To: <51BE73B7.4020905@sonic.net> Message-ID: References: <51BE355E DOT 5040600 AT sonic DOT net> <51BE73B7 DOT 4020905 AT sonic DOT net> User-Agent: Alpine 2.10 (DEB 1266 2009-07-14) MIME-Version: 1.0 Content-Type: TEXT/PLAIN; format=flowed; charset=US-ASCII Reply-To: geda-user AT delorie DOT com Errors-To: nobody AT delorie DOT com X-Mailing-List: geda-user AT delorie DOT com X-Unsubscribes-To: listserv AT delorie DOT com Precedence: bulk Hi, In my opinion, the way text measurements are handled in gEDA is somewhat broken. The bounding box of an object is usually retrieved via world_get_single_object_bounds. This, however, depends on the TOPLEVEL context because libgeda by itself is unable to tell the bounding box of a text object, effectively asking the GUI to do so. So there is data stored in the OBJECT struct which actually belongs to a TOPLEVEL object, making it impossible to share objects between contexts. This is a problem in the FLAG_TEXT_OUTLINE rendering mode where the object's bounding box should be drawn but there is no TOPLEVEL context available in the renderer, so the objects' cached (and maybe invalid) bounding boxes are drawn instead. One possible solution to address this would be to add a TOPLEVEL reference to the renderer. Roland