<?xml version="1.0"?>
<rss version="2.0">
   <channel>
      <title>Tom Lechner's Gimp Source Code Vandalism</title>
      <link>http://www.tomlechner.org/computer/gimp</link>
      <description>Tom Lechner's Wacky Gimp Source Code Vandalism</description>
      <language>en-us</language>
      <pubDate>6 June 2006</pubDate>                 <!-- time of last publication -->
      <lastBuildDate>6 June 2006</lastBuildDate>    <!-- time of last update      -->
      <docs>http://blogs.law.harvard.edu/tech/rss</docs>
      <webMaster>tom@tomlechner.com</webMaster>
      <image>
          <title>Tom Lechner's Art</title>
          <url>http://www.tomlechner.com/icon.png</url>
          <link>http://www.tomlechner.com</link>
          <width>16</width>
          <height>16</height>
          <description>Tom Lechner's Wacky Gimp Source Code Vandalism</description>
      </image>
      
      <item>
       <title>Transparent previews now a part of the real Gimp!</title>
       <link>http://www.tomlechner.com/computer/gimp/#16</link>
       <description>
  So I finally got a feature accepted in the mainline Gimp that allows you to temporarily see
  through sections of an image as you try to rotate, scale, shear or otherwise transform. This has long been one of my main
  irritations whenever I use an unmodified Gimp to edit images. 
		</description>
       <pubDate>7 March 2008</pubDate> <!-- Tue, 03 Jun 2003 09:39:21 GMT -->
       <guid>Tom's Gimp Stuff 7 March 2008 9:00am</guid>
      </item>

      <item>
       <title>Updated transparent transform preview patch for Gimp 2.4</title>
       <link>http://www.tomlechner.com/computer/gimp/#15</link>
       <description>
I finally updated the transparent preview patch for recent Gimp. I use it now with Gimp 2.4.5, and it 
works with the svn development version of the Gimp, for today anyway. Please let me know if you have
problems with it!
		</description>
       <pubDate>1 March 2008</pubDate> <!-- Tue, 03 Jun 2003 09:39:21 GMT -->
       <guid>Tom's Gimp Stuff 1 March 2008 9:00am</guid>
      </item>

      <item>
       <title>Umm.</title>
       <link>http://www.tomlechner.com/computer/gimp/#14</link>
       <description>
            So just in case you stumble upon this feed and wonder, I've REALLLLLY put off working on this until
            I work out more bugs and devise decent patch controls in Laidout (http://www.laidout.org) first,
            which hopefully won't take too much longer, whatever that means. At that point, I still intend to dig 
            back into the Gimp again, unless someone beats me to it (hint hint!)....
		</description>
       <pubDate>21 September 2007</pubDate> <!-- Tue, 03 Jun 2003 09:39:21 GMT -->
       <guid>Tom's Gimp Stuff 21 September 2007 9:00am</guid>
      </item>

      <item>
       <title>MIDI Diversion</title>
       <link>http://www.tomlechner.com/computer/gimp/#13</link>
       <description>
           While it has nothing to do with getting my stretch tool running, here are a couple of
           notes about setting up my new small MIDI controller to use with the Gimp.
           Now, I can hit notes on it, or spin a knob to change tools and change opacity. Wee!
		</description>
       <pubDate>28 January 2007</pubDate> <!-- Tue, 03 Jun 2003 09:39:21 GMT -->
       <guid>Tom's Gimp Stuff 28 January 2007 9:00am</guid>
      </item>

      <item>
       <title>Back to Work.</title>
       <link>http://www.tomlechner.com/computer/gimp/#10</link>
       <description>
			After a brief coding hiatus to finish up Consumption Number 12,
			I'm returning to my 5 hour a week Gimp tinkering. As another exercise before really getting serious
			about my image squish tool, I'll be coding a 3 point transform tool, which
			will work something like this: click one point for an anchor, click next point for rotate and scale with the
			first point remaining constant, then a third point for shearing with points 1 and 2 constant. This is quite
			useful for fitting things inside of other things, particularly for animation. See also the Gimp enhancement
			request bug #164828. I also want to figure out how
			to disable showing a layer during a transform preview (gimp bug #315051see this bug).
			Someone submitted a patch for it, but I haven't been able to get it to work yet. Not sure if it plays nice with my 
			transparent preview patch.. Hopefully I'll get a fair amount of tinkering done before my next big deadline, which
			is October 27 for the Stumptown Comics Fest.
		 </description>
       <pubDate>21 August 2006</pubDate> <!-- Tue, 03 Jun 2003 09:39:21 GMT -->
       <guid>Tom's Gimp Stuff 21 August 2006 11:00am</guid>
      </item>

      <item>
       <title>Well now..</title>
       <link>http://www.tomlechner.com/computer/gimp/#9</link>
       <description>
			Ok then. I had made a call to gtk_set_sensitive() to the parent of a widget instead of the widget
			itself, causing the whole container of the preview settings to blank out whenever starting the Gimp after
			a tool had settings saved as Grid or Outline. It was nothing specifically to do with
			the shear tool. So much for what I said before about this being the first Gtk code I've
			written that "worked as intended"!! Here is the updated patch.
		 </description>
       <pubDate>9 July 2006</pubDate> <!-- Tue, 03 Jun 2003 09:39:21 GMT -->
       <guid>Tom's Gimp Stuff 9 July 2006 11:00pm</guid>
      </item>

      <item>
       <title>Hell and Damnation!!</title>
       <link>http://www.tomlechner.com/computer/gimp/#8</link>
       <description>
			I just noticed that my patch seems to work fine for the rotate, scale, and perspective
			tools, but the shear tool grays out both the grid line density and my opacity slider, regardless
			of whether the preview mode is Outline, Grid, Image, or Image+Grid. I cannot currently imagine why
			the shear tool does this, but the others don't, since I did not touch the shear code. I only modified 
			the base class of all the transform tools, so the shear tool should have simply inherited the whole
			shebang without difficulty. Well, back to the source!
		 </description>
       <pubDate>7 July 2006</pubDate> <!-- Tue, 03 Jun 2003 09:39:21 GMT -->
       <guid>Tom's Gimp Stuff 7 July 2006 9:09pm</guid>
      </item>

      <item>
         <title>Near success for transparent transform preview..</title>
         <link>http://www.tomlechner.com/computer/gimp/#7</link>
         <description>
				So now I can have transparent previews. Fixed the problem when opacity was at 255. 
				Here is a patch that does the deed....
		 </description>
       <pubDate>4 July 2006</pubDate> <!-- Tue, 03 Jun 2003 09:39:21 GMT -->
       <guid>Tom's Gimp Stuff 4 July 2006 1:15pm</guid>
      </item>
      <item>
         <title>One step forward for a transparent transform preview..</title>
         <link>http://www.tomlechner.com/computer/gimp/#6</link>
         <description>
			I partially succeeded in implementing an opacity option for transform previews. You slide the opacity
			bar in the tool options window to adjust the opacity. It is a little slower than the old way, and I imagine
			some clever person can point out to me a more efficient way of doing it. If the opacity is 255, then the
			extra code is ignored, and basically the old way is used. But, there's a bit of a problem when trying to
			adjust a section of an image that you just map out with a selection. With opacity at 255, it is supposed to
			use the old way, but almost none is drawn! That, and when the opacity slider is adjusted, the preview does
			not automatically update. Hmmmm!!
		 </description>
       <pubDate>25 June 2006</pubDate> <!-- Tue, 03 Jun 2003 09:39:21 GMT -->
       <guid>Tom's Gimp Stuff 25 June 2006 10:39pm</guid>
      </item>
      <item>
         <title>Found the preview drawing code</title>
         <link>http://www.tomlechner.com/computer/gimp/#5</link>
         <description>
				At long last, I found the preview drawing code. It was not in app/tools where the tools that use
				the transform preview live, but in app/display/gimpdisplayshell-preview.c. 
				 A GimpDisplayShell is a subclass of a GtkWindow. It is basically the main
				image window. A tool keeps track of which
				GimpDisplayShell to draw on.Whenever the user drags a tool control around, the tool tells the display shell that the
				affected area should be redrawn. Then when Gtk gets around to refreshing any windows that say they should
				be refreshed, those affected areas are redrawn. Whether to draw the transform preview is stored in
				a special flag within the GimpDisplayShell.
				My next step is to screw up that rasterizing code in app/display/gimpdisplayshell-preview.c so that
				the tool's new preview opacity option is taken into account. So that's only 700 more lines of largely undocumented
				code to decipher! Hoo-Boy!  After this excursion, I can begin to focus more specifically on the stretch tool..
		 </description>
       <pubDate>21 June 2006</pubDate> <!-- Tue, 03 Jun 2003 09:39:21 GMT -->
       <guid>Tom's Gimp Stuff21 June 2006 10:39pm</guid>
      </item>
      <item>
         <title>Figured out how to have a "Preview Opacity" transform tool option</title>
         <link>http://www.tomlechner.com/computer/gimp/#4</link>
         <description>
				I've succeeded in adding a "Preview Opacity" widget to the transform tool options dialog. This, by the way,
				is the first Gtk code I've written that seems (so far) to work as intended. The next step
				of course is to actually make the drawing code respond to that option! I imagine that code lies somewhere in 
				app/tools. The tool hierarchy is something like GObject::GimpObject::GimpTool, which is further divided into
				GimpDrawingTool, GimpBucketFill, and GimpTextTool. The elusive Gimp Path Tool I finally realized was actually called
				GimpVectorTool, a child of GimpDrawTool.
				The stretch tool will perhaps be a bit of a combination between the transform tools and a
				path tool, only the controls are for a grid of bezier patches, rather than bezier lines. One idea for the
				future is to automatically figure out a decent patch grid to fill an arbitrary (closed) path with a patch gradient,
				pattern, or image selection.
		 </description>
         <pubDate>9 June 2006</pubDate> <!-- Tue, 03 Jun 2003 09:39:21 GMT -->
         <guid>Tom's Gimp Stuff9 June 2006</guid>
      </item>
      <item>
         <title>Neat potential ideas for a patch/mesh tool</title>
         <link>http://www.tomlechner.com/computer/gimp/#3</link>
         <description>
					A Google Summer of Code student is working on a
					 vanishing point tool for the Gimp
					that will eventually allow cloning onto surfaces in perspective!
					Someone on the Gimp-dev mailing list
					suggested even expanding this to involve cloning onto mesh defined surfaces, so you could clone onto
					a spherical-looking thing, for instance. Wouldn't that be hot stuff for the stretch tool!
         </description>
         <pubDate>31 May 2006</pubDate> <!-- Tue, 03 Jun 2003 09:39:21 GMT -->
         <guid>Tom's Gimp Stuff31 May 2006</guid>
      </item>
      <item>
         <title>Getting ALL the available documentation..</title>
         <link>http://www.tomlechner.com/computer/gimp/#2</link>
         <description>
				Ok, so you can trip through the source with doxygen and something like this doxygen config file. 
				Copy that config file to the app directory and type doxygen. This will create
				an enormous amount of html in app/html, containing a whole copy of the source code found in app 
				that allows you to track where things are defined somewhat easily.
				Plus, I finally realized that you have to cd to devel-docs/app and type make
				to build the gtk-doc style files for app related source. Since there are hardly any comments in app,
				this will just dump out a whole lot of html in devel-docs/app/html that lists GObject hierarchies
				and lets you click around the various classes.
				BUT before you get to the make part of that, there has to be a Makefile in devel-docs. (continues)
         </description>
         <pubDate>29 May 2006</pubDate> <!-- Tue, 03 Jun 2003 09:39:21 GMT -->
         <guid>Tom's Gimp Stuff29 May 2006</guid>
      </item>
      

      
      
   </channel>
</rss>
