On 23 April 2013 11:51, Tibor Bamhor <tibor...@gmail.com> wrote: > Hi, > > after some digging and coding I found that the problem is bit different, so > please ignore description in my above mail... > > The problem currently is (and I noticed also by other plugins of mine) that > the image is not refreshed automatically - I have to click on the "eye" in > the layers window to get it refreshed. Do I need to add something to my code > in previous mail?
Try just making a call to "gimp_displays_flush" after you are done. > > I can post a video if this is not clear :) > > > Tibor > > > ---------- Forwarded message ---------- > From: Tibor Bamhor <tibor...@gmail.com> > Date: 2013/4/23 > Subject: gimp drawable question > To: gimp-developer-list@gnome.org > > > Hi, > > I am working on a plugin and need a help with understanding how drawables > works. > > I would first describe what the plugin should do: > 1. You open an image (lets presume the image is single layered) > 2. User launches a plugin, it reads content of image and keep it in memory > 3. User paints something to the image and hits a button on the plugin window > (plugin stays alive all the time) > 4. The plugin will read content from image, do some calculations and changes > the image back. > > And steps 3 are 4 are repeated many times. > > First issue I run into is that when I want to paint (with paintbrush tool > f.e.) to the image again, what I had painted in previous iteration is lost > - it dissapears... This is my question for now, how to avoid this > behaviour... > > If I shoud provide some code, my "core" function that is called everytime > the button is hit contains following.... > > gimp_pixel_rgn_init (&rgn_in, source,x1, y1, maindata.width, > maindata.height,FALSE, FALSE); > gimp_pixel_rgn_init (&rgn_out, source, x1, y1, maindata.width, > maindata.height, FALSE,TRUE); > > gimp_pixel_rgn_get_rect (&rgn_in,rect_in,x1, > y1,maindata.width,maindata.height); > #here plugin calculates rect_out > gimp_pixel_rgn_set_rect (&rgn_out, rect_out,x1, > y1,maindata.width,maindata.height); > > gimp_drawable_flush (source); > gimp_drawable_merge_shadow (source->drawable_id, FALSE); > gimp_drawable_update > (source->drawable_id,x1,y1,maindata.width,maindata.height); > > I had read your Gimp reference manual but to no avail :) > > Thanks !! > > Tibor > > > _______________________________________________ > gimp-developer-list mailing list > gimp-developer-list@gnome.org > https://mail.gnome.org/mailman/listinfo/gimp-developer-list > _______________________________________________ gimp-developer-list mailing list gimp-developer-list@gnome.org https://mail.gnome.org/mailman/listinfo/gimp-developer-list