Hi Ales,
El lun, 10-10-2005 a las 22:39 -0400, Ales Hvezda escribió:
> >I guess I need to do a 'zoom extents' before getting the pixmap, get the
> >pixmap, and then restore the previous zoom factor (without the user
> >noticing all these, of course)...
> 
>       Yeah, this is sort of what the existing code does.  The coupling
> between the current rendering code and the png output exists because
> I wanted to reuse all the world -> screen mappings.  This is why you
> see that annoying flash when you pick a large png width and height and
> write to png.

I'm getting a pixbuf from the backinstore after doing a zoom extents. To
avoid modifying the w_current (and the gschem's window flashing), I
create a copy of w_current, and work with it. The copy has the same
pointers as w_current, as I don't want to copy all the lists (just the
TOPLEVEL structure). In the copy of w_current, I create a new drawing
area for drawing_area, and a new pixmap for backingstore. With this
code, I still see the change to zoom extents and then back to the
original zoom in gschem's window when creating the png. I think I should
create a new replacement for w_current->window, but I don't see where
and how it is initialized. Where is it? Do you think there are more
variables which need to be created?

By now, the png created has the schematic and some black border (i.e:
gschem's window background) all around. I want to remove the border, and
I tried to do a zoom box with the coords given by get_complex_bounds.
The result was that only the left border was reduced. Do you know how
can I do this?

Cheers,

Carlos

Reply via email to