<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: How to implement a basic bitmap brush</title>
	<atom:link href="http://losingfight.com/blog/2007/08/18/how-to-implement-a-basic-bitmap-brush/feed/" rel="self" type="application/rss+xml" />
	<link>http://losingfight.com/blog/2007/08/18/how-to-implement-a-basic-bitmap-brush/</link>
	<description>smarter than your average squirrel, on most non-acorn related topics</description>
	<lastBuildDate>Thu, 24 Dec 2009 13:45:24 -0800</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Robert Collins</title>
		<link>http://losingfight.com/blog/2007/08/18/how-to-implement-a-basic-bitmap-brush/comment-page-1/#comment-490</link>
		<dc:creator>Robert Collins</dc:creator>
		<pubDate>Thu, 10 Jul 2008 22:50:15 +0000</pubDate>
		<guid isPermaLink="false">http://www.losingfight.com/blog/2007/08/18/how-to-implement-a-basic-bitmap-brush/#comment-490</guid>
		<description>Thanks a lot for sharing this ! Trying to code a little sketch program.
Using a wacom for drawing I add modifications to handle tablet pressure for opacity (via NSEvent pressure) but I never found a way to handle smooth curve drawing (I mean drawing stamps along a curve interpolating between mouse locations)

Thanks,
Robert</description>
		<content:encoded><![CDATA[<p>Thanks a lot for sharing this ! Trying to code a little sketch program.<br />
Using a wacom for drawing I add modifications to handle tablet pressure for opacity (via NSEvent pressure) but I never found a way to handle smooth curve drawing (I mean drawing stamps along a curve interpolating between mouse locations)</p>
<p>Thanks,<br />
Robert</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Pixeled</title>
		<link>http://losingfight.com/blog/2007/08/18/how-to-implement-a-basic-bitmap-brush/comment-page-1/#comment-489</link>
		<dc:creator>Pixeled</dc:creator>
		<pubDate>Tue, 04 Sep 2007 04:53:09 +0000</pubDate>
		<guid isPermaLink="false">http://www.losingfight.com/blog/2007/08/18/how-to-implement-a-basic-bitmap-brush/#comment-489</guid>
		<description>&gt; The past tense of ‘drag’ is ‘dragged’, not ‘drug’.

bzzt. .thanks for playing.

drug 2      [druhg] Pronunciation Key - Show IPA Pronunciation
–verb Chiefly Midland and Southern U.S. Nonstandard.
a pt. and pp. of drag.

and who the hell comments (incorrectly) about grammar in a programming blog. get a fricken life.</description>
		<content:encoded><![CDATA[<p>&gt; The past tense of ‘drag’ is ‘dragged’, not ‘drug’.</p>
<p>bzzt. .thanks for playing.</p>
<p>drug 2      [druhg] Pronunciation Key &#8211; Show IPA Pronunciation<br />
–verb Chiefly Midland and Southern U.S. Nonstandard.<br />
a pt. and pp. of drag.</p>
<p>and who the hell comments (incorrectly) about grammar in a programming blog. get a fricken life.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Pieter Omvlee</title>
		<link>http://losingfight.com/blog/2007/08/18/how-to-implement-a-basic-bitmap-brush/comment-page-1/#comment-488</link>
		<dc:creator>Pieter Omvlee</dc:creator>
		<pubDate>Sat, 01 Sep 2007 09:51:47 +0000</pubDate>
		<guid isPermaLink="false">http://www.losingfight.com/blog/2007/08/18/how-to-implement-a-basic-bitmap-brush/#comment-488</guid>
		<description>Just when I was about to implement a brush in my own application...
Perfect timing.
A few things were new for me, thank you very much.</description>
		<content:encoded><![CDATA[<p>Just when I was about to implement a brush in my own application&#8230;<br />
Perfect timing.<br />
A few things were new for me, thank you very much.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Thomas C.</title>
		<link>http://losingfight.com/blog/2007/08/18/how-to-implement-a-basic-bitmap-brush/comment-page-1/#comment-487</link>
		<dc:creator>Thomas C.</dc:creator>
		<pubDate>Sat, 25 Aug 2007 01:34:40 +0000</pubDate>
		<guid isPermaLink="false">http://www.losingfight.com/blog/2007/08/18/how-to-implement-a-basic-bitmap-brush/#comment-487</guid>
		<description>Very well done. Thank you for posting the link on the Quartz mailing list.</description>
		<content:encoded><![CDATA[<p>Very well done. Thank you for posting the link on the Quartz mailing list.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Andy</title>
		<link>http://losingfight.com/blog/2007/08/18/how-to-implement-a-basic-bitmap-brush/comment-page-1/#comment-486</link>
		<dc:creator>Andy</dc:creator>
		<pubDate>Fri, 24 Aug 2007 19:19:25 +0000</pubDate>
		<guid isPermaLink="false">http://www.losingfight.com/blog/2007/08/18/how-to-implement-a-basic-bitmap-brush/#comment-486</guid>
		<description>&gt; What is the difference between this implementation and using NSImage and the associated compositing methods?

Probably not much. NSImage is probably heavier than a CGImageRef, but other than that, after creating the brush image, stamping is just compositing. The truth is I was already in CG land with the graphics and just decided to stay there (instead of switching to NSImage).

However, I will point out that drawing the brush image into a CGLayerRef (instead of a CGBitmapContext), and then using the CGLayerRef to stamp would give a performance improvement over the current implementation.</description>
		<content:encoded><![CDATA[<p>&gt; What is the difference between this implementation and using NSImage and the associated compositing methods?</p>
<p>Probably not much. NSImage is probably heavier than a CGImageRef, but other than that, after creating the brush image, stamping is just compositing. The truth is I was already in CG land with the graphics and just decided to stay there (instead of switching to NSImage).</p>
<p>However, I will point out that drawing the brush image into a CGLayerRef (instead of a CGBitmapContext), and then using the CGLayerRef to stamp would give a performance improvement over the current implementation.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Brian G.</title>
		<link>http://losingfight.com/blog/2007/08/18/how-to-implement-a-basic-bitmap-brush/comment-page-1/#comment-485</link>
		<dc:creator>Brian G.</dc:creator>
		<pubDate>Fri, 24 Aug 2007 03:31:23 +0000</pubDate>
		<guid isPermaLink="false">http://www.losingfight.com/blog/2007/08/18/how-to-implement-a-basic-bitmap-brush/#comment-485</guid>
		<description>What is the difference between this implementation and using NSImage and the associated compositing methods?</description>
		<content:encoded><![CDATA[<p>What is the difference between this implementation and using NSImage and the associated compositing methods?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Michael Tsai - Blog - How to Implement a Basic Bitmap Brush</title>
		<link>http://losingfight.com/blog/2007/08/18/how-to-implement-a-basic-bitmap-brush/comment-page-1/#comment-484</link>
		<dc:creator>Michael Tsai - Blog - How to Implement a Basic Bitmap Brush</dc:creator>
		<pubDate>Thu, 23 Aug 2007 14:20:25 +0000</pubDate>
		<guid isPermaLink="false">http://www.losingfight.com/blog/2007/08/18/how-to-implement-a-basic-bitmap-brush/#comment-484</guid>
		<description>[...] Andy Finnell: [...]</description>
		<content:encoded><![CDATA[<p>[...] Andy Finnell: [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: sweetie</title>
		<link>http://losingfight.com/blog/2007/08/18/how-to-implement-a-basic-bitmap-brush/comment-page-1/#comment-483</link>
		<dc:creator>sweetie</dc:creator>
		<pubDate>Tue, 21 Aug 2007 18:31:24 +0000</pubDate>
		<guid isPermaLink="false">http://www.losingfight.com/blog/2007/08/18/how-to-implement-a-basic-bitmap-brush/#comment-483</guid>
		<description>I think you tried to explain it to me, and I sat there and nodded dumbly for about thirty seconds before I realized I was waaaaaay out of my element.

I&#039;d always wanted to take a graphics class, and now I&#039;m marrying someone who knows way more than I ever wanted to know.  I think that&#039;s almost as good, don&#039;t you think?

I know what you think of perl, but I&#039;ll stick to that. :)</description>
		<content:encoded><![CDATA[<p>I think you tried to explain it to me, and I sat there and nodded dumbly for about thirty seconds before I realized I was waaaaaay out of my element.</p>
<p>I&#8217;d always wanted to take a graphics class, and now I&#8217;m marrying someone who knows way more than I ever wanted to know.  I think that&#8217;s almost as good, don&#8217;t you think?</p>
<p>I know what you think of perl, but I&#8217;ll stick to that. <img src='http://losingfight.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Andy</title>
		<link>http://losingfight.com/blog/2007/08/18/how-to-implement-a-basic-bitmap-brush/comment-page-1/#comment-482</link>
		<dc:creator>Andy</dc:creator>
		<pubDate>Mon, 20 Aug 2007 18:44:48 +0000</pubDate>
		<guid isPermaLink="false">http://www.losingfight.com/blog/2007/08/18/how-to-implement-a-basic-bitmap-brush/#comment-482</guid>
		<description>&gt; Now how could one implement a paint bucket ?

heh. That&#039;s actually the next thing I&#039;m working on (sort of). I&#039;m working on implementing a magic wand tool, which would use the same basic flood fill algorithm as a paint bucket. It&#039;s more in depth that a comment on a post could cover.

I&#039;m still investigating, but it looks like I&#039;ll have to drop down to manipulating the pixel data manually in order to implement it. This sort of makes sense because CoreGraphics doesn&#039;t really know about pixels, which is required to implement a flood fill algorithm.</description>
		<content:encoded><![CDATA[<p>> Now how could one implement a paint bucket ?</p>
<p>heh. That&#8217;s actually the next thing I&#8217;m working on (sort of). I&#8217;m working on implementing a magic wand tool, which would use the same basic flood fill algorithm as a paint bucket. It&#8217;s more in depth that a comment on a post could cover.</p>
<p>I&#8217;m still investigating, but it looks like I&#8217;ll have to drop down to manipulating the pixel data manually in order to implement it. This sort of makes sense because CoreGraphics doesn&#8217;t really know about pixels, which is required to implement a flood fill algorithm.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Andy</title>
		<link>http://losingfight.com/blog/2007/08/18/how-to-implement-a-basic-bitmap-brush/comment-page-1/#comment-481</link>
		<dc:creator>Andy</dc:creator>
		<pubDate>Mon, 20 Aug 2007 18:38:46 +0000</pubDate>
		<guid isPermaLink="false">http://www.losingfight.com/blog/2007/08/18/how-to-implement-a-basic-bitmap-brush/#comment-481</guid>
		<description>&gt; I think it’s worth pointing out that this kind of thing is far easier to do with a Quartz Composer view.

I&#039;m afraid I&#039;m not all that familiar with Quartz Composer view. In what way would this be easier?</description>
		<content:encoded><![CDATA[<p>> I think it’s worth pointing out that this kind of thing is far easier to do with a Quartz Composer view.</p>
<p>I&#8217;m afraid I&#8217;m not all that familiar with Quartz Composer view. In what way would this be easier?</p>
]]></content:encoded>
	</item>
</channel>
</rss>
