<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<id>tag:old.nabble.com,2006:forum-1903</id>
	<title>Nabble - Anti-Grain Geometry</title>
	<updated>2009-11-26T05:24:20Z</updated>
	<link rel="self" type="application/atom+xml" href="http://old.nabble.com/Anti-Grain-Geometry-f1903.xml" />
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Anti-Grain-Geometry-f1903.html" />
	<subtitle type="html">Anti-Grain Geometry (AGG) is an Open Source, free of charge graphic library, written in industrially standard C++. The terms and conditions of use AGG are described on The License page. AGG doesn't depend on any graphic API or technology. Basically, you can think of AGG as of a rendering engine that produces pixel images in memory from some vectorial data. But of course, AGG can do much more than that.</subtitle>
	
<entry>
	<id>tag:old.nabble.com,2006:post-26529419</id>
	<title>Re: Custom pixel format in AGG</title>
	<published>2009-11-26T05:24:20Z</published>
	<updated>2009-11-26T05:24:20Z</updated>
	<author>
		<name>Jim Barry-2</name>
	</author>
	<content type="html">John Horigan wrote:
&lt;br&gt;&amp;gt; p[Order::A] = (foo) &amp;gt;&amp;gt; 5;
&lt;br&gt;&lt;br&gt;That's a reasonable approximation, and is very fast, of course. However, 
&lt;br&gt;the division is by 32 rather than 255/7 (~36.4) and the result is 
&lt;br&gt;truncated rather than rounded.
&lt;br&gt;&lt;br&gt;In 32-bit arithmetic, the following calculation gives the correctly 
&lt;br&gt;rounded result throughout the input range 0-255:
&lt;br&gt;&lt;br&gt;p[Order::A] = ((foo * 0x0707) + 0x8000) &amp;gt;&amp;gt; 16;
&lt;br&gt;&lt;br&gt;The following approximation is very close (off by one for 164, 201, 237) 
&lt;br&gt;and only requires 16-bit arithmetic:
&lt;br&gt;&lt;br&gt;p[Order::A] = ((foo * 0x07) + 0x80) &amp;gt;&amp;gt; 8;
&lt;br&gt;&lt;br&gt;- Jim
&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Vector-agg-general mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26529419&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Vector-agg-general@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Custom-pixel-format-in-AGG-tp26515429p26529419.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26516987</id>
	<title>Re: Custom pixel format in AGG</title>
	<published>2009-11-25T09:27:16Z</published>
	<updated>2009-11-25T09:27:16Z</updated>
	<author>
		<name>John Horigan</name>
	</author>
	<content type="html">You can use rgba8, but you will need to make your own blender and pixel format class because they directly access the alpha value and assume that it is 8-bit (or 16-bit).
&lt;br&gt;&lt;br&gt;But it shouldn't be too hard. Just take an existing blender and pixel format class and replace all occurrences of 
&lt;br&gt;&lt;br&gt;p[Order::A] = foo;	// or order_type::A
&lt;br&gt;&lt;br&gt;with 
&lt;br&gt;&lt;br&gt;p[Order::A] = (foo) &amp;gt;&amp;gt; 5;
&lt;br&gt;&lt;br&gt;and all remaining p[Order::A] with (((p[Order::A} &amp; 7) * 0111) &amp;gt;&amp;gt; 1) (NB, that is octal 0111, which is 73 in decimal).
&lt;br&gt;&lt;br&gt;-- john
&lt;br&gt;&lt;br&gt;On Nov 25, 2009, at 8:03 AM, sb wrote:
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Hello,
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; I'd like to know how I might go about adding a pixel format where it's argb, but
&lt;br&gt;&amp;gt; alpha is only given the 3 lower bits of the MSB. &amp;nbsp;Meaning the the buffers are
&lt;br&gt;&amp;gt; packed like this per pixel:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; bits 31-27 are not interpreted
&lt;br&gt;&amp;gt; 26-24 are alpha
&lt;br&gt;&amp;gt; 23-16 red, etc.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; What would be nice is to use the existing rgba8 color and blenders so I get a
&lt;br&gt;&amp;gt; little more precision out, and then use something similar to the
&lt;br&gt;&amp;gt; pixfmt_alpha_blend_rgba template to do some additional work in there to pack /
&lt;br&gt;&amp;gt; unpack the alpha. &amp;nbsp;I realize that reading out of the buffer will lose precision,
&lt;br&gt;&amp;gt; but that's what I'd expect.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Any advice on the approach is appreciated.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Thanks,
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; sb
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; ------------------------------------------------------------------------------
&lt;br&gt;&amp;gt; Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;&amp;gt; trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;&amp;gt; what you do best, core application coding. Discover what's new with
&lt;br&gt;&amp;gt; Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;&amp;gt; _______________________________________________
&lt;br&gt;&amp;gt; Vector-agg-general mailing list
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26516987&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Vector-agg-general@...&lt;/a&gt;
&lt;br&gt;&amp;gt; &lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&lt;/a&gt;&lt;/div&gt;&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Vector-agg-general mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26516987&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Vector-agg-general@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Custom-pixel-format-in-AGG-tp26515429p26516987.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26516549</id>
	<title>Re: Custom pixel format in AGG</title>
	<published>2009-11-25T09:07:36Z</published>
	<updated>2009-11-25T09:07:36Z</updated>
	<author>
		<name>Jim Barry-2</name>
	</author>
	<content type="html">sb wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; I'd like to know how I might go about adding a pixel format where it's argb, but
&lt;br&gt;&amp;gt; alpha is only given the 3 lower bits of the MSB. &amp;nbsp;Meaning the the buffers are
&lt;br&gt;&amp;gt; packed like this per pixel:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; bits 31-27 are not interpreted
&lt;br&gt;&amp;gt; 26-24 are alpha
&lt;br&gt;&amp;gt; 23-16 red, etc.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; What would be nice is to use the existing rgba8 color and blenders so I get a
&lt;br&gt;&amp;gt; little more precision out, and then use something similar to the
&lt;br&gt;&amp;gt; pixfmt_alpha_blend_rgba template to do some additional work in there to pack /
&lt;br&gt;&amp;gt; unpack the alpha. &amp;nbsp;I realize that reading out of the buffer will lose precision,
&lt;br&gt;&amp;gt; but that's what I'd expect.
&lt;/div&gt;&lt;br&gt;I think there are basically two approaches:
&lt;br&gt;&lt;br&gt;1) Write a blender_rgba replacement that implements blend_pix by 
&lt;br&gt;directly using your 3-bit alpha values. You'd have to write a 
&lt;br&gt;pixfmt_alpha_blend_rgba replacement as well, because it accesses the 
&lt;br&gt;alpha values too.
&lt;br&gt;&lt;br&gt;2) When &amp;quot;importing&amp;quot; images into AGG, expand your 3-bit alpha values to 8 
&lt;br&gt;bits, perhaps by using pixfmt_alpha_blend_rgba::for_each_pixel and a 
&lt;br&gt;suitable functor. When exporting, do the opposite.
&lt;br&gt;&lt;br&gt;I suggest the second approach, as it is much easier and will cause less 
&lt;br&gt;precision to be lost when blending.
&lt;br&gt;&lt;br&gt;- Jim
&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Vector-agg-general mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26516549&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Vector-agg-general@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Custom-pixel-format-in-AGG-tp26515429p26516549.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26515429</id>
	<title>Custom pixel format in AGG</title>
	<published>2009-11-25T08:03:15Z</published>
	<updated>2009-11-25T08:03:15Z</updated>
	<author>
		<name>Some Guy-6</name>
	</author>
	<content type="html">Hello,
&lt;br&gt;&lt;br&gt;I'd like to know how I might go about adding a pixel format where it's argb, but
&lt;br&gt;alpha is only given the 3 lower bits of the MSB. &amp;nbsp;Meaning the the buffers are
&lt;br&gt;packed like this per pixel:
&lt;br&gt;&lt;br&gt;bits 31-27 are not interpreted
&lt;br&gt;26-24 are alpha
&lt;br&gt;23-16 red, etc.
&lt;br&gt;&lt;br&gt;What would be nice is to use the existing rgba8 color and blenders so I get a
&lt;br&gt;little more precision out, and then use something similar to the
&lt;br&gt;pixfmt_alpha_blend_rgba template to do some additional work in there to pack /
&lt;br&gt;unpack the alpha. &amp;nbsp;I realize that reading out of the buffer will lose precision,
&lt;br&gt;but that's what I'd expect.
&lt;br&gt;&lt;br&gt;Any advice on the approach is appreciated.
&lt;br&gt;&lt;br&gt;Thanks,
&lt;br&gt;&lt;br&gt;sb
&lt;br&gt;&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Vector-agg-general mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26515429&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Vector-agg-general@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Custom-pixel-format-in-AGG-tp26515429p26515429.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26417386</id>
	<title>bug is trans_affine::multiply [WAS: few questions from a beginner]</title>
	<published>2009-11-18T14:57:58Z</published>
	<updated>2009-11-18T14:57:58Z</updated>
	<author>
		<name>Francesco Abbate-3</name>
	</author>
	<content type="html">2009/11/18 Francesco Abbate &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26417386&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;francesco.bbt@...&lt;/a&gt;&amp;gt;:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; I've actually found myself the answer to my questions :-)
&lt;br&gt;&amp;gt; For the affine transformation I've written myself the function:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; void
&lt;br&gt;&amp;gt; trans_affine_compose (agg::trans_affine&amp; a, const agg::trans_affine&amp; b)
&lt;br&gt;&amp;gt; {
&lt;br&gt;&amp;gt;  a.premultiply(b);
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;  double a_tx = b.sx  * a.tx + b.shx * a.ty + b.tx;
&lt;br&gt;&amp;gt;  double a_ty = b.shy * a.tx + b.sy  * a.ty + b.ty;
&lt;br&gt;&amp;gt;  a.tx = a_tx;
&lt;br&gt;&amp;gt;  a.ty = a_ty;
&lt;br&gt;&amp;gt; }
&lt;/div&gt;&lt;br&gt;Hi all,
&lt;br&gt;&lt;br&gt;at the beginning I was thinking that the multiply and premultiply
&lt;br&gt;operations were just multiplying the matrices. It seems that this is
&lt;br&gt;not the case and also the translations are taken into account.
&lt;br&gt;&lt;br&gt;For the other side it seems that there is a bug in
&lt;br&gt;trans_affine::multiply and the tx and ty terms are not calculated
&lt;br&gt;correctly. So, I've used a following workaround:
&lt;br&gt;&lt;br&gt;void
&lt;br&gt;trans_affine_compose (agg::trans_affine&amp; a, const agg::trans_affine&amp; b)
&lt;br&gt;{
&lt;br&gt;&amp;nbsp; double a_tx = a.tx, a_ty = a.ty;
&lt;br&gt;&lt;br&gt;&amp;nbsp; a.premultiply(b);
&lt;br&gt;&lt;br&gt;&amp;nbsp; a.tx = b.sx &amp;nbsp;* a_tx + b.shx * a_ty + b.tx;
&lt;br&gt;&amp;nbsp; a.ty = b.shy * a_tx + b.sy &amp;nbsp;* a_ty + b.ty;
&lt;br&gt;}
&lt;br&gt;&lt;br&gt;Actually, the AGG implementation is omitting the term (b matrix) * (a trans).
&lt;br&gt;&lt;br&gt;May be I'm wrong but it would be nice if the owner could check this problem.
&lt;br&gt;&lt;br&gt;Best regards,
&lt;br&gt;Francesco
&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Vector-agg-general mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26417386&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Vector-agg-general@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/bug-is-trans_affine%3A%3Amultiply--WAS%3A-few-questions-from-a-beginner--tp26417386p26417386.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26415929</id>
	<title>Re: few questions from a beginner</title>
	<published>2009-11-18T13:16:18Z</published>
	<updated>2009-11-18T13:16:18Z</updated>
	<author>
		<name>Francesco Abbate-3</name>
	</author>
	<content type="html">2009/11/18 Petr Kobalíček &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26415929&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;kobalicek.petr@...&lt;/a&gt;&amp;gt;:
&lt;br&gt;&amp;gt; Hi Francesco,
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; if you do not want do modify width by affine transformation then you
&lt;br&gt;&amp;gt; can transform path before stroking, but I don't know if this is what
&lt;br&gt;&amp;gt; you want (this means that line width will not be x/y scaled).
&lt;br&gt;&lt;br&gt;Hi Petr,
&lt;br&gt;&lt;br&gt;thank you very much, this is exactly what I need!
&lt;br&gt;&lt;br&gt;I'm beginning now to understand the pipeline architecture of AGG.
&lt;br&gt;Unfortunately the typing system is very difficult to understand by
&lt;br&gt;looking at code because of the extensive use of templates and the
&lt;br&gt;absence of explicit 'interfaces' (à la Java).
&lt;br&gt;&lt;br&gt;Otherwise I'm impressed by the quality of the code and of the design
&lt;br&gt;of the library. It is a pity that the documentation is incomplete but
&lt;br&gt;I'm going to understand how it works, it takes just more time.
&lt;br&gt;&lt;br&gt;Thanks again but I think I will came soon with other questions.
&lt;br&gt;&lt;br&gt;Best regards,
&lt;br&gt;Francesco
&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Vector-agg-general mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26415929&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Vector-agg-general@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/few-questions-from-a-beginner-tp26412378p26415929.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26414111</id>
	<title>Re: few questions from a beginner</title>
	<published>2009-11-18T11:24:10Z</published>
	<updated>2009-11-18T11:24:10Z</updated>
	<author>
		<name>Petr Kobalíček</name>
	</author>
	<content type="html">Hi Francesco,
&lt;br&gt;&lt;br&gt;if you do not want do modify width by affine transformation then you
&lt;br&gt;can transform path before stroking, but I don't know if this is what
&lt;br&gt;you want (this means that line width will not be x/y scaled).
&lt;br&gt;&lt;br&gt;Hope that helps
&lt;br&gt;&lt;br&gt;-- 
&lt;br&gt;Best regards
&lt;br&gt;- Petr Kobalicek &amp;lt;&lt;a href=&quot;http://kobalicek.com&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://kobalicek.com&lt;/a&gt;&amp;gt;
&lt;br&gt;&lt;br&gt;On Wed, Nov 18, 2009 at 6:56 PM, Francesco Abbate
&lt;br&gt;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26414111&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;francesco.bbt@...&lt;/a&gt;&amp;gt; wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; hmmm,
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; I've actually found myself the answer to my questions :-)
&lt;br&gt;&amp;gt; For the affine transformation I've written myself the function:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; void
&lt;br&gt;&amp;gt; trans_affine_compose (agg::trans_affine&amp; a, const agg::trans_affine&amp; b)
&lt;br&gt;&amp;gt; {
&lt;br&gt;&amp;gt;  a.premultiply(b);
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;  double a_tx = b.sx  * a.tx + b.shx * a.ty + b.tx;
&lt;br&gt;&amp;gt;  double a_ty = b.shy * a.tx + b.sy  * a.ty + b.ty;
&lt;br&gt;&amp;gt;  a.tx = a_tx;
&lt;br&gt;&amp;gt;  a.ty = a_ty;
&lt;br&gt;&amp;gt; }
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Talking about the line width, I've seen there is width method in the
&lt;br&gt;&amp;gt; conv_stroke class so that's not a complicate affair. The only delicate
&lt;br&gt;&amp;gt; thing is that the line width pass through the affine transformation
&lt;br&gt;&amp;gt; and therefore can be highly modified if the affine transformation has
&lt;br&gt;&amp;gt; big scale coeffs.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Thank you anyway and best regards,
&lt;br&gt;&amp;gt; Francesco
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; ------------------------------------------------------------------------------
&lt;br&gt;&amp;gt; Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day
&lt;br&gt;&amp;gt; trial. Simplify your report design, integration and deployment - and focus on
&lt;br&gt;&amp;gt; what you do best, core application coding. Discover what's new with
&lt;br&gt;&amp;gt; Crystal Reports now.  &lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;&amp;gt; _______________________________________________
&lt;br&gt;&amp;gt; Vector-agg-general mailing list
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26414111&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Vector-agg-general@...&lt;/a&gt;
&lt;br&gt;&amp;gt; &lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&lt;/a&gt;&lt;/div&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Vector-agg-general mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26414111&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Vector-agg-general@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/few-questions-from-a-beginner-tp26412378p26414111.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26413621</id>
	<title>Re: few questions from a beginner</title>
	<published>2009-11-18T10:56:18Z</published>
	<updated>2009-11-18T10:56:18Z</updated>
	<author>
		<name>Francesco Abbate-3</name>
	</author>
	<content type="html">hmmm,
&lt;br&gt;&lt;br&gt;I've actually found myself the answer to my questions :-)
&lt;br&gt;For the affine transformation I've written myself the function:
&lt;br&gt;&lt;br&gt;void
&lt;br&gt;trans_affine_compose (agg::trans_affine&amp; a, const agg::trans_affine&amp; b)
&lt;br&gt;{
&lt;br&gt;&amp;nbsp; a.premultiply(b);
&lt;br&gt;&lt;br&gt;&amp;nbsp; double a_tx = b.sx &amp;nbsp;* a.tx + b.shx * a.ty + b.tx;
&lt;br&gt;&amp;nbsp; double a_ty = b.shy * a.tx + b.sy &amp;nbsp;* a.ty + b.ty;
&lt;br&gt;&amp;nbsp; a.tx = a_tx;
&lt;br&gt;&amp;nbsp; a.ty = a_ty;
&lt;br&gt;}
&lt;br&gt;&lt;br&gt;Talking about the line width, I've seen there is width method in the
&lt;br&gt;conv_stroke class so that's not a complicate affair. The only delicate
&lt;br&gt;thing is that the line width pass through the affine transformation
&lt;br&gt;and therefore can be highly modified if the affine transformation has
&lt;br&gt;big scale coeffs.
&lt;br&gt;&lt;br&gt;Thank you anyway and best regards,
&lt;br&gt;Francesco
&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Vector-agg-general mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26413621&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Vector-agg-general@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/few-questions-from-a-beginner-tp26412378p26413621.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26412378</id>
	<title>few questions from a beginner</title>
	<published>2009-11-18T09:42:21Z</published>
	<updated>2009-11-18T09:42:21Z</updated>
	<author>
		<name>Francesco Abbate-3</name>
	</author>
	<content type="html">Hi all,
&lt;br&gt;&lt;br&gt;I'm a beginner with AGG and I have some difficulties to understand
&lt;br&gt;some details about rendering of polygonal lines. I'm using the
&lt;br&gt;following sequence to plot a line:
&lt;br&gt;&lt;br&gt;agg::pixfmt_bgr24 pixf(rbuf_window());
&lt;br&gt;agg::renderer_base&amp;lt;agg::pixfmt_bgr24&amp;gt; renb(pixf);
&lt;br&gt;agg::renderer_scanline_aa_solid&amp;lt;agg::renderer_base&amp;lt;agg::pixfmt_bgr24&amp;gt;
&lt;br&gt;&amp;gt; rs(renb);
&lt;br&gt;&lt;br&gt;agg::rasterizer_scanline_aa&amp;lt;&amp;gt; ras;
&lt;br&gt;agg::scanline_u8 sl;
&lt;br&gt;&lt;br&gt;agg::path_storage p;
&lt;br&gt;agg::conv_stroke&amp;lt;agg::path_storage&amp;gt; pl(p);
&lt;br&gt;agg::conv_transform&amp;lt;agg::conv_stroke&amp;lt;agg::path_storage&amp;gt; &amp;gt; tr(pl, m);
&lt;br&gt;&lt;br&gt;where m is a custom affine transformation but I get a *very* thick
&lt;br&gt;line. unfortunately I was not able to find the informations I need in
&lt;br&gt;the AGG documentation. Could I have some hints about how should I
&lt;br&gt;manage the line thickness ?
&lt;br&gt;&lt;br&gt;I've also another question about the affine transformations. Is there
&lt;br&gt;any method to compose two *transformations*. The general affine
&lt;br&gt;transformation can be written as:
&lt;br&gt;&lt;br&gt;y = M x + y0
&lt;br&gt;&lt;br&gt;where M is a square matrix. We can think at it like a function x -&amp;gt; y.
&lt;br&gt;Then the composition of two transformations f and g should me the
&lt;br&gt;function that associate g(f(x)) to x. So, in matrix term:
&lt;br&gt;&lt;br&gt;z = N M x + N y0 + z0
&lt;br&gt;&lt;br&gt;where N and z0 are the matrix and offset of the second transformation.
&lt;br&gt;&lt;br&gt;I will appreciate a lot any help but thank you very much in any case.
&lt;br&gt;&lt;br&gt;Best regards,
&lt;br&gt;Francesco
&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Vector-agg-general mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26412378&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Vector-agg-general@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/few-questions-from-a-beginner-tp26412378p26412378.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26389124</id>
	<title>Re: agg render buffer and opengl</title>
	<published>2009-11-17T04:05:50Z</published>
	<updated>2009-11-17T04:05:50Z</updated>
	<author>
		<name>Pete Bannister</name>
	</author>
	<content type="html">&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD HTML 4.01 Transitional//EN&quot;&gt;
&lt;html&gt;
&lt;head&gt;
  &lt;meta content=&quot;text/html;charset=ISO-8859-1&quot; http-equiv=&quot;Content-Type&quot;&gt;
&lt;/head&gt;
&lt;body bgcolor=&quot;#ffffff&quot; text=&quot;#000000&quot;&gt;
Its easy enough - render in memory and give it to GL.&lt;br&gt;
I dont think you have direct access to the hadrware buffer anyway.&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
Rough example:&lt;br&gt;
&lt;br&gt;
std::vector&amp;lt;GLUint&amp;gt; textures_;&lt;br&gt;
...&lt;br&gt;
textures_.resize(tex_count);&lt;br&gt;
glGenTextures(tex_count, &amp;amp;textures_[0]);&lt;br&gt;
&lt;br&gt;
for (size_t n = 0; n &amp;lt; tex_count; ++n) {&lt;br&gt;
&lt;br&gt;
glBindTexture(GL_TEXTURE_2D, textures_[n]);&lt;br&gt;
&lt;br&gt;
std::vector&amp;lt;unsigned char&amp;gt; image(width * height * 3);&lt;br&gt;
RenderMyImage(image, width, height);&lt;br&gt;
&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; glTexImage2D(&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; GL_TEXTURE_2D,&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; // GLenum target,&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; 0,&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; // GLint level,&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; 3,&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; // GLint internalformat,&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; width,&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; // GLsizei width,&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; height,&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; // GLsizei height,&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; 0,&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; // GLint border,&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; GL_RGB,&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; // GLenum format,&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; GL_UNSIGNED_BYTE,&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; // GLenum type,&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; image &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; // const GLvoid *pixels&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; );&lt;br&gt;
&lt;br&gt;
}&lt;br&gt;
&lt;br&gt;
Stephan Assmus wrote:
&lt;blockquote cite=&quot;mid:20091116195550.6399.1@bepc.1258397041.fake&quot; type=&quot;cite&quot;&gt;
  &lt;pre wrap=&quot;&quot;&gt;On 2009-11-03 at 19:16:25 [+0100], Jim Crafton &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26389124&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;jim.crafton@...&lt;/a&gt; 
wrote:
  &lt;/pre&gt;
  &lt;blockquote type=&quot;cite&quot;&gt;
    &lt;pre wrap=&quot;&quot;&gt;I'm contemplating making an image editor of sorts, something that's based 
on another library of mine that roughly duplicates Apple's CoreImage on 
Windows. It uses OpenGL to draw images and GLSL for filters that can 
added to an image for processing the pixels. What I'd like to do is also 
use AGG to draw on the opengl image, which is just a texture map. Any 
advice on how best to approach this? Is it just a matter of creating a 
texture and dumping the contents of AGG's render_buffer onto the texture 
bits?
    &lt;/pre&gt;
  &lt;/blockquote&gt;
  &lt;pre wrap=&quot;&quot;&gt;&lt;!----&gt;
Depending on your setup, it may be faster to render in main memory and copy 
the buffer into the textture. But it could also be possible to attach the 
agg::render_buffer directly to the texture buffer. I assume you need to 
lock the OpenGL context during rendering. And this will involve 
read-operations, which could very well be slow if the texture lives in 
graphics memory. Another option may be to declare the texture such that the 
graphics chip pulls it itself from main memory. That could be faster than 
manually copying the buffer into the texture allocated in graphics memory. 
For how to do this exactly, you will need to look into OpenGL 
documentation, I am just assuming this is possible and advise from my own 
experience in similar situations, but not with OpenGL in particular. (My 
experience is with using old-school video overlays, but those live in video 
memory too, so the situation is similar with regard to what is fast and 
what is slow if you attach AGG to it.)

Best regards,
-Stephan

------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
trial. Simplify your report design, integration and deployment - and focus on 
what you do best, core application coding. Discover what's new with
Crystal Reports now.  &lt;a class=&quot;moz-txt-link-freetext&quot; href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;
_______________________________________________
Vector-agg-general mailing list
&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26389124&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Vector-agg-general@...&lt;/a&gt;
&lt;a class=&quot;moz-txt-link-freetext&quot; href=&quot;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&lt;/a&gt;

  &lt;/pre&gt;
&lt;/blockquote&gt;
&lt;/body&gt;
&lt;/html&gt;

&lt;br /&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br /&gt;_______________________________________________
&lt;br&gt;Vector-agg-general mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26389124&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Vector-agg-general@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/agg-render-buffer-and-opengl-tp26184117p26389124.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26387363</id>
	<title>Re: aa_test is not antiliased (jagged), a bug?</title>
	<published>2009-11-17T02:14:07Z</published>
	<updated>2009-11-17T02:14:07Z</updated>
	<author>
		<name>Stephan Assmus</name>
	</author>
	<content type="html">&lt;br&gt;On 2009-11-17 at 08:01:49 [+0100], John Horigan &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26387363&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;john@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&amp;gt; It was very painful, but I got aa_test to build under Ubuntu and 
&lt;br&gt;&amp;gt; reproduced jay3d's issue.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; I applied fixes for the two bugs pointed out by Jim Barry. Fixing these 
&lt;br&gt;&amp;gt; two bugs restored anti-aliasing to aa_test. 
&lt;br&gt;&lt;br&gt;Thanks a bunch!
&lt;br&gt;&lt;br&gt;Best regards,
&lt;br&gt;-Stephan
&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Vector-agg-general mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26387363&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Vector-agg-general@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/aa_test-is-not-antiliased-%28jagged%29%2C-a-bug--tp26247952p26387363.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26385288</id>
	<title>Re: aa_test is not antiliased (jagged), a bug?</title>
	<published>2009-11-16T23:01:49Z</published>
	<updated>2009-11-16T23:01:49Z</updated>
	<author>
		<name>John Horigan</name>
	</author>
	<content type="html">It was very painful, but I got aa_test to build under Ubuntu and reproduced jay3d's issue.
&lt;br&gt;&lt;br&gt;I applied fixes for the two bugs pointed out by Jim Barry. Fixing these two bugs restored anti-aliasing to aa_test. 
&lt;br&gt;&lt;br&gt;Here is a patch:
&lt;br&gt;&lt;br /&gt; &lt;br /&gt;&lt;br&gt;&lt;br&gt;-- john
&lt;br&gt;&lt;br&gt;On Nov 16, 2009, at 3:25 PM, John Horigan wrote:
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; I can't get aa_test to build on my system (Mac OS X 10.6.2). I will try it in a Ubuntu VM. Meanwhile, renderer_scanline_aa_solid&amp;lt;&amp;gt; generates properly anti-aliased output in my own application. And the image posted by Jim Barry is properly anti-aliased too (although the end-caps are the wrong color).
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; -- john
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; On Nov 16, 2009, at 11:05 AM, Stephan Assmus wrote:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt; On 2009-11-11 at 16:58:05 [+0100], Jim Barry &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26385288&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;jim@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; John Horigan wrote:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Ah, I missed that one. I can't see any more that I've missed. Can you 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; give a look?
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; I haven't spotted any others yet, but I found another problem. The bottom 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; of the &amp;quot;ice lolly sticks&amp;quot; are not rendered correctly (see attached 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; image). It took me a little while to figure out the reason, but in rgba8 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; we have:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;AGG_INLINE self_type gradient(const self_type&amp; c, double k) const {
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp;self_type ret;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp;calc_type ik = uround(k * base_scale);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp;ret.r = (value_type)int_lerp(r, c.r, ik);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp;ret.g = (value_type)int_lerp(g, c.g, ik);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp;ret.b = (value_type)int_lerp(b, c.b, ik);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp;ret.a = (value_type)int_lerp(a, c.a, ik);
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp;return ret;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp;}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; In 8-bit formats, you're lerping in the range 0-256 instead of 0-255. You 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; need to use &amp;quot;base_mask&amp;quot; instead of &amp;quot;base_scale&amp;quot;. The same applies to 
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; rgba16, of course.
&lt;br&gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt; &amp;lt;nugde&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt; John, have you found any time to look into this already?
&lt;br&gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt; Best regards,
&lt;br&gt;&amp;gt;&amp;gt; -Stephan
&lt;br&gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt; ------------------------------------------------------------------------------
&lt;br&gt;&amp;gt;&amp;gt; Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;&amp;gt;&amp;gt; trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;&amp;gt;&amp;gt; what you do best, core application coding. Discover what's new with
&lt;br&gt;&amp;gt;&amp;gt; Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;&amp;gt;&amp;gt; _______________________________________________
&lt;br&gt;&amp;gt;&amp;gt; Vector-agg-general mailing list
&lt;br&gt;&amp;gt;&amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26385288&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Vector-agg-general@...&lt;/a&gt;
&lt;br&gt;&amp;gt;&amp;gt; &lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&lt;/a&gt;&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; ------------------------------------------------------------------------------
&lt;br&gt;&amp;gt; Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;&amp;gt; trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;&amp;gt; what you do best, core application coding. Discover what's new with
&lt;br&gt;&amp;gt; Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;&amp;gt; _______________________________________________
&lt;br&gt;&amp;gt; Vector-agg-general mailing list
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26385288&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Vector-agg-general@...&lt;/a&gt;
&lt;br&gt;&amp;gt; &lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br /&gt;_______________________________________________
&lt;br&gt;Vector-agg-general mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26385288&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Vector-agg-general@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&lt;/a&gt;&lt;br&gt;&lt;div class=&quot;small&quot;&gt;&lt;br/&gt;&lt;img src=&quot;http://old.nabble.com/images/icon_attachment.gif&quot; &gt; &lt;strong&gt;agg24_alvyraysmith_bugfix1.patch&lt;/strong&gt; (2K) &lt;a href=&quot;http://old.nabble.com/attachment/26385288/0/agg24_alvyraysmith_bugfix1.patch&quot; target=&quot;_top&quot;&gt;Download Attachment&lt;/a&gt;&lt;/div&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/aa_test-is-not-antiliased-%28jagged%29%2C-a-bug--tp26247952p26385288.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26381748</id>
	<title>Re: aa_test is not antiliased (jagged), a bug?</title>
	<published>2009-11-16T15:25:38Z</published>
	<updated>2009-11-16T15:25:38Z</updated>
	<author>
		<name>John Horigan</name>
	</author>
	<content type="html">I can't get aa_test to build on my system (Mac OS X 10.6.2). I will try it in a Ubuntu VM. Meanwhile, renderer_scanline_aa_solid&amp;lt;&amp;gt; generates properly anti-aliased output in my own application. And the image posted by Jim Barry is properly anti-aliased too (although the end-caps are the wrong color).
&lt;br&gt;&lt;br&gt;-- john
&lt;br&gt;&lt;br&gt;&lt;br&gt;On Nov 16, 2009, at 11:05 AM, Stephan Assmus wrote:
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; On 2009-11-11 at 16:58:05 [+0100], Jim Barry &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26381748&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;jim@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&amp;gt;&amp;gt; John Horigan wrote:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Ah, I missed that one. I can't see any more that I've missed. Can you 
&lt;br&gt;&amp;gt;&amp;gt; give a look?
&lt;br&gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt; I haven't spotted any others yet, but I found another problem. The bottom 
&lt;br&gt;&amp;gt;&amp;gt; of the &amp;quot;ice lolly sticks&amp;quot; are not rendered correctly (see attached 
&lt;br&gt;&amp;gt;&amp;gt; image). It took me a little while to figure out the reason, but in rgba8 
&lt;br&gt;&amp;gt;&amp;gt; we have:
&lt;br&gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; AGG_INLINE self_type gradient(const self_type&amp; c, double k) const {
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; self_type ret;
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; calc_type ik = uround(k * base_scale);
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; ret.r = (value_type)int_lerp(r, c.r, ik);
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; ret.g = (value_type)int_lerp(g, c.g, ik);
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; ret.b = (value_type)int_lerp(b, c.b, ik);
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; ret.a = (value_type)int_lerp(a, c.a, ik);
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; return ret;
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; }
&lt;br&gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt; In 8-bit formats, you're lerping in the range 0-256 instead of 0-255. You 
&lt;br&gt;&amp;gt;&amp;gt; need to use &amp;quot;base_mask&amp;quot; instead of &amp;quot;base_scale&amp;quot;. The same applies to 
&lt;br&gt;&amp;gt;&amp;gt; rgba16, of course.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;lt;nugde&amp;gt;
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; John, have you found any time to look into this already?
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Best regards,
&lt;br&gt;&amp;gt; -Stephan
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; ------------------------------------------------------------------------------
&lt;br&gt;&amp;gt; Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;&amp;gt; trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;&amp;gt; what you do best, core application coding. Discover what's new with
&lt;br&gt;&amp;gt; Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;&amp;gt; _______________________________________________
&lt;br&gt;&amp;gt; Vector-agg-general mailing list
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26381748&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Vector-agg-general@...&lt;/a&gt;
&lt;br&gt;&amp;gt; &lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&lt;/a&gt;&lt;/div&gt;&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Vector-agg-general mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26381748&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Vector-agg-general@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/aa_test-is-not-antiliased-%28jagged%29%2C-a-bug--tp26247952p26381748.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26378294</id>
	<title>Re: agg render buffer and opengl</title>
	<published>2009-11-16T11:49:20Z</published>
	<updated>2009-11-16T11:49:20Z</updated>
	<author>
		<name>Jim Crafton</name>
	</author>
	<content type="html">Thanks for the info!
&lt;br&gt;&lt;br&gt;&lt;br&gt;Cheers
&lt;br&gt;&lt;br&gt;Jim
&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Vector-agg-general mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26378294&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Vector-agg-general@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/agg-render-buffer-and-opengl-tp26184117p26378294.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26377604</id>
	<title>Re: aa_test is not antiliased (jagged), a bug?</title>
	<published>2009-11-16T11:05:04Z</published>
	<updated>2009-11-16T11:05:04Z</updated>
	<author>
		<name>Stephan Assmus</name>
	</author>
	<content type="html">&lt;br&gt;On 2009-11-11 at 16:58:05 [+0100], Jim Barry &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26377604&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;jim@...&lt;/a&gt;&amp;gt; wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; John Horigan wrote:
&lt;br&gt;&amp;gt; &amp;nbsp;&amp;gt; Ah, I missed that one. I can't see any more that I've missed. Can you 
&lt;br&gt;&amp;gt; give a look?
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; I haven't spotted any others yet, but I found another problem. The bottom 
&lt;br&gt;&amp;gt; of the &amp;quot;ice lolly sticks&amp;quot; are not rendered correctly (see attached 
&lt;br&gt;&amp;gt; image). It took me a little while to figure out the reason, but in rgba8 
&lt;br&gt;&amp;gt; we have:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;AGG_INLINE self_type gradient(const self_type&amp; c, double k) const {
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;self_type ret;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;calc_type ik = uround(k * base_scale);
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;ret.r = (value_type)int_lerp(r, c.r, ik);
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;ret.g = (value_type)int_lerp(g, c.g, ik);
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;ret.b = (value_type)int_lerp(b, c.b, ik);
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;ret.a = (value_type)int_lerp(a, c.a, ik);
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;return ret;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; In 8-bit formats, you're lerping in the range 0-256 instead of 0-255. You 
&lt;br&gt;&amp;gt; need to use &amp;quot;base_mask&amp;quot; instead of &amp;quot;base_scale&amp;quot;. The same applies to 
&lt;br&gt;&amp;gt; rgba16, of course.
&lt;/div&gt;&lt;br&gt;&amp;lt;nugde&amp;gt;
&lt;br&gt;&lt;br&gt;John, have you found any time to look into this already?
&lt;br&gt;&lt;br&gt;Best regards,
&lt;br&gt;-Stephan
&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Vector-agg-general mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26377604&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Vector-agg-general@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/aa_test-is-not-antiliased-%28jagged%29%2C-a-bug--tp26247952p26377604.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26377464</id>
	<title>Re: agg render buffer and opengl</title>
	<published>2009-11-16T10:55:50Z</published>
	<updated>2009-11-16T10:55:50Z</updated>
	<author>
		<name>Stephan Assmus</name>
	</author>
	<content type="html">&lt;br&gt;On 2009-11-03 at 19:16:25 [+0100], Jim Crafton &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26377464&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;jim.crafton@...&lt;/a&gt;&amp;gt; 
&lt;br&gt;wrote:
&lt;br&gt;&amp;gt; I'm contemplating making an image editor of sorts, something that's based 
&lt;br&gt;&amp;gt; on another library of mine that roughly duplicates Apple's CoreImage on 
&lt;br&gt;&amp;gt; Windows. It uses OpenGL to draw images and GLSL for filters that can 
&lt;br&gt;&amp;gt; added to an image for processing the pixels. What I'd like to do is also 
&lt;br&gt;&amp;gt; use AGG to draw on the opengl image, which is just a texture map. Any 
&lt;br&gt;&amp;gt; advice on how best to approach this? Is it just a matter of creating a 
&lt;br&gt;&amp;gt; texture and dumping the contents of AGG's render_buffer onto the texture 
&lt;br&gt;&amp;gt; bits?
&lt;br&gt;&lt;br&gt;Depending on your setup, it may be faster to render in main memory and copy 
&lt;br&gt;the buffer into the textture. But it could also be possible to attach the 
&lt;br&gt;agg::render_buffer directly to the texture buffer. I assume you need to 
&lt;br&gt;lock the OpenGL context during rendering. And this will involve 
&lt;br&gt;read-operations, which could very well be slow if the texture lives in 
&lt;br&gt;graphics memory. Another option may be to declare the texture such that the 
&lt;br&gt;graphics chip pulls it itself from main memory. That could be faster than 
&lt;br&gt;manually copying the buffer into the texture allocated in graphics memory. 
&lt;br&gt;For how to do this exactly, you will need to look into OpenGL 
&lt;br&gt;documentation, I am just assuming this is possible and advise from my own 
&lt;br&gt;experience in similar situations, but not with OpenGL in particular. (My 
&lt;br&gt;experience is with using old-school video overlays, but those live in video 
&lt;br&gt;memory too, so the situation is similar with regard to what is fast and 
&lt;br&gt;what is slow if you attach AGG to it.)
&lt;br&gt;&lt;br&gt;Best regards,
&lt;br&gt;-Stephan
&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Vector-agg-general mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26377464&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Vector-agg-general@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/agg-render-buffer-and-opengl-tp26184117p26377464.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26303758</id>
	<title>Re: aa_test is not antiliased (jagged), a bug?</title>
	<published>2009-11-11T07:58:05Z</published>
	<updated>2009-11-11T07:58:05Z</updated>
	<author>
		<name>Jim Barry-2</name>
	</author>
	<content type="html">John Horigan wrote:
&lt;br&gt;&amp;nbsp;&amp;gt; Ah, I missed that one. I can't see any more that I've missed. Can you 
&lt;br&gt;give a look?
&lt;br&gt;&lt;br&gt;I haven't spotted any others yet, but I found another problem. The 
&lt;br&gt;bottom of the &amp;quot;ice lolly sticks&amp;quot; are not rendered correctly (see 
&lt;br&gt;attached image). It took me a little while to figure out the reason, but 
&lt;br&gt;in rgba8 we have:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp;AGG_INLINE self_type gradient(const self_type&amp; c, double k) const
&lt;br&gt;&amp;nbsp; &amp;nbsp;{
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;self_type ret;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;calc_type ik = uround(k * base_scale);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;ret.r = (value_type)int_lerp(r, c.r, ik);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;ret.g = (value_type)int_lerp(g, c.g, ik);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;ret.b = (value_type)int_lerp(b, c.b, ik);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;ret.a = (value_type)int_lerp(a, c.a, ik);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;return ret;
&lt;br&gt;&amp;nbsp; &amp;nbsp;}
&lt;br&gt;&lt;br&gt;In 8-bit formats, you're lerping in the range 0-256 instead of 0-255. 
&lt;br&gt;You need to use &amp;quot;base_mask&amp;quot; instead of &amp;quot;base_scale&amp;quot;. The same applies to 
&lt;br&gt;rgba16, of course.
&lt;br&gt;&lt;br&gt;- Jim
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br /&gt; &lt;br /&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br /&gt;_______________________________________________
&lt;br&gt;Vector-agg-general mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26303758&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Vector-agg-general@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&lt;/a&gt;&lt;br&gt;&lt;div class=&quot;small&quot;&gt;&lt;br/&gt;&lt;img src=&quot;http://old.nabble.com/images/icon_attachment.gif&quot; &gt; &lt;strong&gt;aa_test.png&lt;/strong&gt; (29K) &lt;a href=&quot;http://old.nabble.com/attachment/26303758/0/aa_test.png&quot; target=&quot;_top&quot;&gt;Download Attachment&lt;/a&gt;&lt;/div&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/aa_test-is-not-antiliased-%28jagged%29%2C-a-bug--tp26247952p26303758.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26290685</id>
	<title>Re: aa_test is not antiliased (jagged), a bug?</title>
	<published>2009-11-10T12:30:57Z</published>
	<updated>2009-11-10T12:30:57Z</updated>
	<author>
		<name>John Horigan</name>
	</author>
	<content type="html">Ah, I missed that one. I can't see any more that I've missed. Can you give a look? 
&lt;br&gt;&lt;br&gt;I'll send out patch fixing this bug as soon as we get to the bottom of this aa_test failure. I can't even get it to build on my system (a mac).
&lt;br&gt;&lt;br&gt;-- john
&lt;br&gt;&lt;br&gt;On Nov 10, 2009, at 11:13 AM, Jim Barry wrote:
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; John Horigan wrote:
&lt;br&gt;&amp;gt;&amp;gt; In the blender class blend_pix() method you will find:
&lt;br&gt;&amp;gt;&amp;gt; alpha = color_type::int_mult_cover(alpha, cover);
&lt;br&gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt; This is part of the patch. The int_mult_cover(alpha, cover) has been moved from pixfmt_alpha_blender_* to the blender class blend_pix () method. This was done to improve efficiency and expose parallelism.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; OK, I see. So it's just that you forgot to add an int_mult_cover call to 
&lt;br&gt;&amp;gt; blender_rgb_gamma::blend_pix.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Actually it did seem like a bit of an anomaly that the original version 
&lt;br&gt;&amp;gt; of pixfmt_alpha_blend_rgb[a] prelerped the alpha before calling 
&lt;br&gt;&amp;gt; blend_pix - other pixel formats don't do that.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; - Jim
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; ------------------------------------------------------------------------------
&lt;br&gt;&amp;gt; Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;&amp;gt; trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;&amp;gt; what you do best, core application coding. Discover what's new with
&lt;br&gt;&amp;gt; Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;&amp;gt; _______________________________________________
&lt;br&gt;&amp;gt; Vector-agg-general mailing list
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26290685&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Vector-agg-general@...&lt;/a&gt;
&lt;br&gt;&amp;gt; &lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&lt;/a&gt;&lt;/div&gt;&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Vector-agg-general mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26290685&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Vector-agg-general@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/aa_test-is-not-antiliased-%28jagged%29%2C-a-bug--tp26247952p26290685.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26289574</id>
	<title>Re: aa_test is not antiliased (jagged), a bug?</title>
	<published>2009-11-10T11:13:07Z</published>
	<updated>2009-11-10T11:13:07Z</updated>
	<author>
		<name>Jim Barry-2</name>
	</author>
	<content type="html">John Horigan wrote:
&lt;br&gt;&amp;gt; In the blender class blend_pix() method you will find:
&lt;br&gt;&amp;gt; alpha = color_type::int_mult_cover(alpha, cover);
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; This is part of the patch. The int_mult_cover(alpha, cover) has been moved from pixfmt_alpha_blender_* to the blender class blend_pix () method. This was done to improve efficiency and expose parallelism.
&lt;br&gt;&lt;br&gt;OK, I see. So it's just that you forgot to add an int_mult_cover call to 
&lt;br&gt;blender_rgb_gamma::blend_pix.
&lt;br&gt;&lt;br&gt;Actually it did seem like a bit of an anomaly that the original version 
&lt;br&gt;of pixfmt_alpha_blend_rgb[a] prelerped the alpha before calling 
&lt;br&gt;blend_pix - other pixel formats don't do that.
&lt;br&gt;&lt;br&gt;- Jim
&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Vector-agg-general mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26289574&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Vector-agg-general@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/aa_test-is-not-antiliased-%28jagged%29%2C-a-bug--tp26247952p26289574.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26286464</id>
	<title>Re: aa_test is not antiliased (jagged), a bug?</title>
	<published>2009-11-10T08:22:06Z</published>
	<updated>2009-11-10T08:22:06Z</updated>
	<author>
		<name>John Horigan</name>
	</author>
	<content type="html">In the blender class blend_pix() method you will find:
&lt;br&gt;alpha = color_type::int_mult_cover(alpha, cover);
&lt;br&gt;&lt;br&gt;This is part of the patch. The int_mult_cover(alpha, cover) has been moved from pixfmt_alpha_blender_* to the blender class blend_pix () method. This was done to improve efficiency and expose parallelism.
&lt;br&gt;&lt;br&gt;My own code uses renderer_scanline_aa_solid&amp;lt;&amp;gt; and it produces anti-aliased output. I will pull the latest copy of agg from svn and see if it is different than what I am compiling my code against.
&lt;br&gt;&lt;br&gt;-- john
&lt;br&gt;&lt;br&gt;On Nov 10, 2009, at 3:33 AM, Jim Barry wrote:
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; John Horigan wrote:
&lt;br&gt;&amp;gt;&amp;gt; I believe that the patch is correct:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Compiling and running aa_test proves otherwise ;-)
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt; int_mult_cover(255, 254) == 254 (rgb8)
&lt;br&gt;&amp;gt;&amp;gt; int_mult_cover(65534, 255) == 65534 &amp;&amp; int_mult_cover(65535, 254) == &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; 65278 (rgb16)
&lt;br&gt;&amp;gt;&amp;gt; 
&lt;br&gt;&amp;gt;&amp;gt; int_mult_cover(c.a, cover) equals base_mask if and only if c.a equals &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; base_mask and cover equals cover_mask. So the two if statement &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; conditions are equivalent.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Yes, but the problem is that you pass c.a to blend_pix instead of (c.a * 
&lt;br&gt;&amp;gt; cover / cover_full). So you *could* write:
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; &amp;nbsp; if (c.a)
&lt;br&gt;&amp;gt; &amp;nbsp; {
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; if(c.a == base_mask &amp;&amp; cover == cover_mask)
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; {
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; p[order_type::R] = c.r;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; p[order_type::G] = c.g;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; p[order_type::B] = c.b;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; else
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; {
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; calc_type alpha = color_type::int_mult_cover(c.a, cover);
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; m_blender.blend_pix(p, c.r, c.g, c.b, alpha, cover);
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&amp;gt; &amp;nbsp; }
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Is this more or less efficient than the version I proposed before? I 
&lt;br&gt;&amp;gt; don't know. I suppose it depends how many of the source pixels are fully 
&lt;br&gt;&amp;gt; opaque.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; - Jim
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; ------------------------------------------------------------------------------
&lt;br&gt;&amp;gt; Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;&amp;gt; trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;&amp;gt; what you do best, core application coding. Discover what's new with
&lt;br&gt;&amp;gt; Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;&amp;gt; _______________________________________________
&lt;br&gt;&amp;gt; Vector-agg-general mailing list
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26286464&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Vector-agg-general@...&lt;/a&gt;
&lt;br&gt;&amp;gt; &lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&lt;/a&gt;&lt;/div&gt;&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Vector-agg-general mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26286464&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Vector-agg-general@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/aa_test-is-not-antiliased-%28jagged%29%2C-a-bug--tp26247952p26286464.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26281972</id>
	<title>Re: aa_test is not antiliased (jagged), a bug?</title>
	<published>2009-11-10T03:33:49Z</published>
	<updated>2009-11-10T03:33:49Z</updated>
	<author>
		<name>Jim Barry-2</name>
	</author>
	<content type="html">John Horigan wrote:
&lt;br&gt;&amp;gt; I believe that the patch is correct:
&lt;br&gt;&lt;br&gt;Compiling and running aa_test proves otherwise ;-)
&lt;br&gt;&lt;br&gt;&amp;gt; int_mult_cover(255, 254) == 254 (rgb8)
&lt;br&gt;&amp;gt; int_mult_cover(65534, 255) == 65534 &amp;&amp; int_mult_cover(65535, 254) == &amp;nbsp;
&lt;br&gt;&amp;gt; 65278 (rgb16)
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; int_mult_cover(c.a, cover) equals base_mask if and only if c.a equals &amp;nbsp;
&lt;br&gt;&amp;gt; base_mask and cover equals cover_mask. So the two if statement &amp;nbsp;
&lt;br&gt;&amp;gt; conditions are equivalent.
&lt;br&gt;&lt;br&gt;Yes, but the problem is that you pass c.a to blend_pix instead of (c.a * 
&lt;br&gt;cover / cover_full). So you *could* write:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp;if (c.a)
&lt;br&gt;&amp;nbsp; &amp;nbsp;{
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;if(c.a == base_mask &amp;&amp; cover == cover_mask)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;p[order_type::R] = c.r;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;p[order_type::G] = c.g;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;p[order_type::B] = c.b;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;else
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;calc_type alpha = color_type::int_mult_cover(c.a, cover);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;m_blender.blend_pix(p, c.r, c.g, c.b, alpha, cover);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp;}
&lt;br&gt;&lt;br&gt;Is this more or less efficient than the version I proposed before? I 
&lt;br&gt;don't know. I suppose it depends how many of the source pixels are fully 
&lt;br&gt;opaque.
&lt;br&gt;&lt;br&gt;- Jim
&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Vector-agg-general mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26281972&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Vector-agg-general@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/aa_test-is-not-antiliased-%28jagged%29%2C-a-bug--tp26247952p26281972.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26279099</id>
	<title>Re: aa_test is not antiliased (jagged), a bug?</title>
	<published>2009-11-09T22:38:35Z</published>
	<updated>2009-11-09T22:38:35Z</updated>
	<author>
		<name>John Horigan</name>
	</author>
	<content type="html">I believe that the patch is correct:
&lt;br&gt;int_mult_cover(255, 254) == 254 (rgb8)
&lt;br&gt;int_mult_cover(65534, 255) == 65534 &amp;&amp; int_mult_cover(65535, 254) == &amp;nbsp;
&lt;br&gt;65278 (rgb16)
&lt;br&gt;&lt;br&gt;int_mult_cover(c.a, cover) equals base_mask if and only if c.a equals &amp;nbsp;
&lt;br&gt;base_mask and cover equals cover_mask. So the two if statement &amp;nbsp;
&lt;br&gt;conditions are equivalent.
&lt;br&gt;&lt;br&gt;-- john
&lt;br&gt;&lt;br&gt;On Nov 9, 2009, at 10:48 AM, Jim Barry wrote:
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; jay3d wrote:
&lt;br&gt;&amp;gt;&amp;gt; The aa-test demo in the latest svn is not antialiased!
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; is it a known bug?
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Seems to be a problem with the recent &amp;quot;accurate blending&amp;quot; patch.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; In pixfmt_alpha_blend_rgb::copy_or_blend_pix, we used to have:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; if (c.a)
&lt;br&gt;&amp;gt; &amp;nbsp; {
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; calc_type alpha = (calc_type(c.a) * (cover + 1)) &amp;gt;&amp;gt; 8;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; if(alpha == base_mask)
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; {
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; p[order_type::R] = c.r;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; p[order_type::G] = c.g;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; p[order_type::B] = c.b;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; else
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; {
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; m_blender.blend_pix(p, c.r, c.g, c.b, alpha, cover);
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&amp;gt; &amp;nbsp; }
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; The patch changed this to:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; if (c.a)
&lt;br&gt;&amp;gt; &amp;nbsp; {
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; if(c.a == base_mask &amp;&amp; cover == cover_mask)
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; {
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; p[order_type::R] = c.r;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; p[order_type::G] = c.g;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; p[order_type::B] = c.b;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; else
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; {
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; m_blender.blend_pix(p, c.r, c.g, c.b, c.a, cover);
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&amp;gt; &amp;nbsp; }
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Which is not correct. I think it should be something like this:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; if (c.a)
&lt;br&gt;&amp;gt; &amp;nbsp; {
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; calc_type alpha = color_type::int_mult_cover(c.a, cover);
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; if(alpha == base_mask)
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; {
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; p[order_type::R] = c.r;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; p[order_type::G] = c.g;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; p[order_type::B] = c.b;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; else
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; {
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; m_blender.blend_pix(p, c.r, c.g, c.b, alpha, cover);
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&amp;gt; &amp;nbsp; }
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; The same applies to blend_hline, blend_vline, blend_solid_hspan, and
&lt;br&gt;&amp;gt; blend_solid_vspan.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; - Jim
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; ------------------------------------------------------------------------------
&lt;br&gt;&amp;gt; Let Crystal Reports handle the reporting - Free Crystal Reports 2008 &amp;nbsp;
&lt;br&gt;&amp;gt; 30-Day
&lt;br&gt;&amp;gt; trial. Simplify your report design, integration and deployment - and &amp;nbsp;
&lt;br&gt;&amp;gt; focus on
&lt;br&gt;&amp;gt; what you do best, core application coding. Discover what's new with
&lt;br&gt;&amp;gt; Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;&amp;gt; _______________________________________________
&lt;br&gt;&amp;gt; Vector-agg-general mailing list
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26279099&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Vector-agg-general@...&lt;/a&gt;
&lt;br&gt;&amp;gt; &lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&lt;/a&gt;&lt;/div&gt;&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Vector-agg-general mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26279099&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Vector-agg-general@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/aa_test-is-not-antiliased-%28jagged%29%2C-a-bug--tp26247952p26279099.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26271913</id>
	<title>Re: aa_test is not antiliased (jagged), a bug?</title>
	<published>2009-11-09T10:48:46Z</published>
	<updated>2009-11-09T10:48:46Z</updated>
	<author>
		<name>Jim Barry-2</name>
	</author>
	<content type="html">jay3d wrote:
&lt;br&gt;&amp;nbsp;&amp;gt; The aa-test demo in the latest svn is not antialiased!
&lt;br&gt;&amp;nbsp;&amp;gt;
&lt;br&gt;&amp;nbsp;&amp;gt; is it a known bug?
&lt;br&gt;&lt;br&gt;Seems to be a problem with the recent &amp;quot;accurate blending&amp;quot; patch.
&lt;br&gt;&lt;br&gt;In pixfmt_alpha_blend_rgb::copy_or_blend_pix, we used to have:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp;if (c.a)
&lt;br&gt;&amp;nbsp; &amp;nbsp;{
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;calc_type alpha = (calc_type(c.a) * (cover + 1)) &amp;gt;&amp;gt; 8;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;if(alpha == base_mask)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;p[order_type::R] = c.r;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;p[order_type::G] = c.g;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;p[order_type::B] = c.b;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;else
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;m_blender.blend_pix(p, c.r, c.g, c.b, alpha, cover);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp;}
&lt;br&gt;&lt;br&gt;The patch changed this to:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp;if (c.a)
&lt;br&gt;&amp;nbsp; &amp;nbsp;{
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;if(c.a == base_mask &amp;&amp; cover == cover_mask)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;p[order_type::R] = c.r;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;p[order_type::G] = c.g;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;p[order_type::B] = c.b;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;else
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;m_blender.blend_pix(p, c.r, c.g, c.b, c.a, cover);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp;}
&lt;br&gt;&lt;br&gt;Which is not correct. I think it should be something like this:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp;if (c.a)
&lt;br&gt;&amp;nbsp; &amp;nbsp;{
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;calc_type alpha = color_type::int_mult_cover(c.a, cover);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;if(alpha == base_mask)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;p[order_type::R] = c.r;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;p[order_type::G] = c.g;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;p[order_type::B] = c.b;
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;else
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;m_blender.blend_pix(p, c.r, c.g, c.b, alpha, cover);
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;nbsp; &amp;nbsp;}
&lt;br&gt;&lt;br&gt;The same applies to blend_hline, blend_vline, blend_solid_hspan, and 
&lt;br&gt;blend_solid_vspan.
&lt;br&gt;&lt;br&gt;- Jim
&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Vector-agg-general mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26271913&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Vector-agg-general@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/aa_test-is-not-antiliased-%28jagged%29%2C-a-bug--tp26247952p26271913.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26247952</id>
	<title>aa_test is not antiliased (jagged), a bug?</title>
	<published>2009-11-07T11:39:15Z</published>
	<updated>2009-11-07T11:39:15Z</updated>
	<author>
		<name>jay3d</name>
	</author>
	<content type="html">The aa-test demo in the latest svn is not antialiased!
&lt;br&gt;&lt;br&gt;is it a known bug?
&lt;br&gt;&lt;br&gt;using VS2008 SP1
&lt;br&gt;&lt;br&gt;Thanks!
&lt;br&gt;&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Vector-agg-general mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26247952&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Vector-agg-general@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/aa_test-is-not-antiliased-%28jagged%29%2C-a-bug--tp26247952p26247952.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26190940</id>
	<title>Re: agg render buffer and opengl</title>
	<published>2009-11-03T20:14:29Z</published>
	<updated>2009-11-03T20:14:29Z</updated>
	<author>
		<name>Balakumar-3</name>
	</author>
	<content type="html">Possible. U can use the memory provided to agg::rendering_buffer. Make 
&lt;br&gt;pixel format for the render buffer and texture are same.
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; unsigned long *buffer = new unsigned long[width*height*4];
&lt;br&gt;&amp;nbsp; &amp;nbsp; memset(buffer, 0, width * height* 4);
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; agg::rendering_buffer &amp;nbsp;r_buf_(buffer, width, height, width * 4);
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; //Do ur rendreing
&lt;br&gt;&amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;nbsp; &amp;nbsp; //Copy buffer to texture
&lt;br&gt;&lt;br&gt;Jim Crafton wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; I'm contemplating making an image editor of sorts, something that's
&lt;br&gt;&amp;gt; based on another library of mine that roughly duplicates Apple's
&lt;br&gt;&amp;gt; CoreImage on Windows. It uses OpenGL to draw images and GLSL for
&lt;br&gt;&amp;gt; filters that can added to an image for processing the pixels. What I'd
&lt;br&gt;&amp;gt; like to do is also use AGG to draw on the opengl image, which is just
&lt;br&gt;&amp;gt; a texture map. Any advice on how best to approach this? Is it just a
&lt;br&gt;&amp;gt; matter of creating a texture and dumping the contents of AGG's
&lt;br&gt;&amp;gt; render_buffer onto the texture bits?
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Thanks!
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Jim
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; ------------------------------------------------------------------------------
&lt;br&gt;&amp;gt; Come build with us! The BlackBerry(R) Developer Conference in SF, CA
&lt;br&gt;&amp;gt; is the only developer event you need to attend this year. Jumpstart your
&lt;br&gt;&amp;gt; developing skills, take BlackBerry mobile applications to market and stay 
&lt;br&gt;&amp;gt; ahead of the curve. Join us from November 9 - 12, 2009. Register now!
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://p.sf.net/sfu/devconference&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/devconference&lt;/a&gt;&lt;br&gt;&amp;gt; _______________________________________________
&lt;br&gt;&amp;gt; Vector-agg-general mailing list
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26190940&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Vector-agg-general@...&lt;/a&gt;
&lt;br&gt;&amp;gt; &lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&lt;/a&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; 
&lt;/div&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
&lt;br&gt;trial. Simplify your report design, integration and deployment - and focus on 
&lt;br&gt;what you do best, core application coding. Discover what's new with
&lt;br&gt;Crystal Reports now. &amp;nbsp;&lt;a href=&quot;http://p.sf.net/sfu/bobj-july&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/bobj-july&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Vector-agg-general mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26190940&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Vector-agg-general@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/agg-render-buffer-and-opengl-tp26184117p26190940.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26185623</id>
	<title>#define ENABLE_LTDL 0</title>
	<published>2009-11-03T11:11:29Z</published>
	<updated>2009-11-03T11:11:29Z</updated>
	<author>
		<name>Gordon Smith-15</name>
	</author>
	<content type="html">I am building a minimal dot build, which will take a dot file in and output 
&lt;br&gt;an SVG fil only (ultimately I will make it a single DLL, but for now several 
&lt;br&gt;DLLs is fine).
&lt;br&gt;&lt;br&gt;I have built the solution with ENABLE_LTDL = 0 (as well as all the PNG JPEG 
&lt;br&gt;etc = 0) and am able to run dot from the command line, but I get the 
&lt;br&gt;following error:
&lt;br&gt;Unable to find even the default &amp;quot;-Tdot&amp;quot; renderer. &amp;nbsp;Has the config
&lt;br&gt;file been generated by running &amp;quot;dot -c&amp;quot; with installer's priviledges?
&lt;br&gt;&lt;br&gt;&amp;gt;From digging around look like I need to use some predefined structs for the 
&lt;br&gt;SVG &amp;quot;plugin&amp;quot;, but am not sure where to declare (and how to declare) and how 
&lt;br&gt;to initialize, any help appreciated.
&lt;br&gt;&lt;br&gt;Gordon. 
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Come build with us! The BlackBerry(R) Developer Conference in SF, CA
&lt;br&gt;is the only developer event you need to attend this year. Jumpstart your
&lt;br&gt;developing skills, take BlackBerry mobile applications to market and stay 
&lt;br&gt;ahead of the curve. Join us from November 9 - 12, 2009. Register now!
&lt;br&gt;&lt;a href=&quot;http://p.sf.net/sfu/devconference&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/devconference&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Vector-agg-general mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26185623&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Vector-agg-general@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/-define-ENABLE_LTDL-0-tp26185623p26185623.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-26184117</id>
	<title>agg render buffer and opengl</title>
	<published>2009-11-03T10:16:25Z</published>
	<updated>2009-11-03T10:16:25Z</updated>
	<author>
		<name>Jim Crafton</name>
	</author>
	<content type="html">I'm contemplating making an image editor of sorts, something that's
&lt;br&gt;based on another library of mine that roughly duplicates Apple's
&lt;br&gt;CoreImage on Windows. It uses OpenGL to draw images and GLSL for
&lt;br&gt;filters that can added to an image for processing the pixels. What I'd
&lt;br&gt;like to do is also use AGG to draw on the opengl image, which is just
&lt;br&gt;a texture map. Any advice on how best to approach this? Is it just a
&lt;br&gt;matter of creating a texture and dumping the contents of AGG's
&lt;br&gt;render_buffer onto the texture bits?
&lt;br&gt;&lt;br&gt;Thanks!
&lt;br&gt;&lt;br&gt;Jim
&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Come build with us! The BlackBerry(R) Developer Conference in SF, CA
&lt;br&gt;is the only developer event you need to attend this year. Jumpstart your
&lt;br&gt;developing skills, take BlackBerry mobile applications to market and stay 
&lt;br&gt;ahead of the curve. Join us from November 9 - 12, 2009. Register now!
&lt;br&gt;&lt;a href=&quot;http://p.sf.net/sfu/devconference&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/devconference&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Vector-agg-general mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=26184117&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Vector-agg-general@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/agg-render-buffer-and-opengl-tp26184117p26184117.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-25964029</id>
	<title>Re: Feedback: Ray-Alvy-Smith patch, SVN</title>
	<published>2009-10-19T12:19:37Z</published>
	<updated>2009-10-19T12:19:37Z</updated>
	<author>
		<name>klaas.holwerda-3</name>
	</author>
	<content type="html">Hi All,
&lt;br&gt;&lt;br&gt;We waited for more then enough.
&lt;br&gt;Have not seen objection.
&lt;br&gt;Will apply the patch tomorrow in say 24 hours.
&lt;br&gt;&lt;br&gt;Regards,
&lt;br&gt;&lt;br&gt;Klaas
&lt;br&gt;&lt;br&gt;John Horigan wrote:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; OK. I will incorporate that. New patch attached.
&lt;br&gt;&amp;gt;
&lt;br&gt;&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Come build with us! The BlackBerry(R) Developer Conference in SF, CA
&lt;br&gt;is the only developer event you need to attend this year. Jumpstart your
&lt;br&gt;developing skills, take BlackBerry mobile applications to market and stay 
&lt;br&gt;ahead of the curve. Join us from November 9 - 12, 2009. Register now!
&lt;br&gt;&lt;a href=&quot;http://p.sf.net/sfu/devconference&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/devconference&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Vector-agg-general mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25964029&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Vector-agg-general@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Feedback%3A-Ray-Alvy-Smith-patch%2C-SVN-tp25728176p25964029.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-25789814</id>
	<title>Re: SVN (SourceForge ID)</title>
	<published>2009-10-07T09:20:09Z</published>
	<updated>2009-10-07T09:20:09Z</updated>
	<author>
		<name>Leonardo RamosHernandez</name>
	</author>
	<content type="html">&lt;br&gt;thevinn &amp;nbsp;has been added to the project
&lt;br&gt;&lt;br&gt;editor rights has been added
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;--- On Wed, 9/16/09, Vinnie &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25789814&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;thevinn@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; From: Vinnie &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25789814&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;thevinn@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&amp;gt; Subject: Re: [AGG] SVN (SourceForge ID)
&lt;br&gt;&amp;gt; To: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25789814&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;vector-agg-general@...&lt;/a&gt;
&lt;br&gt;&amp;gt; Date: Wednesday, September 16, 2009, 8:25 AM
&lt;br&gt;&amp;gt; &amp;gt; Date: Wed, 26 Aug 2009 23:35:01
&lt;br&gt;&amp;gt; +0200
&lt;br&gt;&amp;gt; &amp;gt; From: &amp;quot;klaas.holwerda&amp;quot; &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25789814&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;ngi@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; Please post your Source Forge ID to grant you
&lt;br&gt;&amp;gt; developer
&lt;br&gt;&amp;gt; &amp;gt; access
&lt;br&gt;&amp;gt; &amp;gt; 
&lt;br&gt;&amp;gt; &amp;gt; Is there a problem doing that?
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Apparently yes because it was over 3 weeks since I sent the
&lt;br&gt;&amp;gt; message, and I have not received any Vector-agg digests. I
&lt;br&gt;&amp;gt; just now read your reply. Sorry for the inconvenience!
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; My SourceForge ID is thevinn
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Thank you for your consideration.
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Sincerely,
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; Vinnie
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; 
&lt;br&gt;&amp;gt; ------------------------------------------------------------------------------
&lt;br&gt;&amp;gt; Come build with us! The BlackBerry&amp;reg; Developer
&lt;br&gt;&amp;gt; Conference in SF, CA
&lt;br&gt;&amp;gt; is the only developer event you need to attend this year.
&lt;br&gt;&amp;gt; Jumpstart your
&lt;br&gt;&amp;gt; developing skills, take BlackBerry mobile applications to
&lt;br&gt;&amp;gt; market and stay 
&lt;br&gt;&amp;gt; ahead of the curve. Join us from November 9-12, 2009.
&lt;br&gt;&amp;gt; Register now!
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://p.sf.net/sfu/devconf&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/devconf&lt;/a&gt;&lt;br&gt;&amp;gt; _______________________________________________
&lt;br&gt;&amp;gt; Vector-agg-general mailing list
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25789814&amp;i=4&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Vector-agg-general@...&lt;/a&gt;
&lt;br&gt;&amp;gt; &lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&lt;/a&gt;&lt;br&gt;&amp;gt; 
&lt;/div&gt;&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Come build with us! The BlackBerry(R) Developer Conference in SF, CA
&lt;br&gt;is the only developer event you need to attend this year. Jumpstart your
&lt;br&gt;developing skills, take BlackBerry mobile applications to market and stay 
&lt;br&gt;ahead of the curve. Join us from November 9 - 12, 2009. Register now!
&lt;br&gt;&lt;a href=&quot;http://p.sf.net/sfu/devconference&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/devconference&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Vector-agg-general mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25789814&amp;i=5&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Vector-agg-general@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Re%3A-SVN-%28SourceForge-ID%29-tp25474808p25789814.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-25730609</id>
	<title>Re: Feedback: Ray-Alvy-Smith patch, SVN</title>
	<published>2009-10-03T09:51:11Z</published>
	<updated>2009-10-03T09:51:11Z</updated>
	<author>
		<name>John Horigan</name>
	</author>
	<content type="html"> &lt;br /&gt;&lt;br&gt;&lt;br&gt;On Oct 3, 2009, at 5:10 AM, Vinnie wrote:
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; - I was able to get the patch from the last post, I saw it both in &amp;nbsp;
&lt;br&gt;&amp;gt; my private message and also the message posted to the list. Thanks
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; - Patch worked great!
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; - When I looked at my customizations, there was really only one &amp;nbsp;
&lt;br&gt;&amp;gt; thing that i added, an enumeration value to each of the orders:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;struct order_rgb &amp;nbsp;{ enum rgb_e &amp;nbsp;{ R=0, G=1, B=2, rgb_tag, &amp;nbsp;
&lt;br&gt;&amp;gt; hasAlpha=false }; }; &amp;nbsp; &amp;nbsp; &amp;nbsp; //----order_rgb
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;struct order_bgr &amp;nbsp;{ enum bgr_e &amp;nbsp;{ B=0, G=1, R=2, rgb_tag, &amp;nbsp;
&lt;br&gt;&amp;gt; hasAlpha=false }; }; &amp;nbsp; &amp;nbsp; &amp;nbsp; //----order_bgr
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;struct order_rgba { enum rgba_e { R=0, G=1, B=2, A=3, rgba_tag, &amp;nbsp;
&lt;br&gt;&amp;gt; hasAlpha=true }; }; //----order_rgba
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;struct order_argb { enum argb_e { A=0, R=1, G=2, B=3, rgba_tag, &amp;nbsp;
&lt;br&gt;&amp;gt; hasAlpha=true }; }; //----order_argb
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;struct order_abgr { enum abgr_e { A=0, B=1, G=2, R=3, rgba_tag, &amp;nbsp;
&lt;br&gt;&amp;gt; hasAlpha=true }; }; //----order_abgr
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;struct order_bgra { enum bgra_e { B=0, G=1, R=2, A=3, rgba_tag, &amp;nbsp;
&lt;br&gt;&amp;gt; hasAlpha=true }; }; //----order_bgra
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; My change was to include 'hasAlpha'. This is useful for template &amp;nbsp;
&lt;br&gt;&amp;gt; metaprogramming.
&lt;br&gt;&amp;gt;
&lt;/div&gt;&lt;/div&gt;OK. I will incorporate that. New patch attached.
&lt;br&gt;&lt;br&gt;&amp;gt; - I have a common header file at the beginning of every .cpp file in &amp;nbsp;
&lt;br&gt;&amp;gt; the agg project, #include &amp;quot;pch.h&amp;quot; for building a precompiled header &amp;nbsp;
&lt;br&gt;&amp;gt; under MSVC
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&lt;br&gt;Sounds great. You should create a patch for that. Wrap the #include in &amp;nbsp;
&lt;br&gt;something like #ifdef AGG_USE_MSVC_PCH so that other Windows users are &amp;nbsp;
&lt;br&gt;not compelled to use pre-compiled headers.
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Also:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; - The directory structure of the project could be improved. The &amp;nbsp;
&lt;br&gt;&amp;gt; extra 'agg-2.4' is pretty annoying, as is the lack of a single &amp;nbsp;
&lt;br&gt;&amp;gt; include directory. It was one of the first things I changed in my &amp;nbsp;
&lt;br&gt;&amp;gt; private copy and I had to revert it back in order to apply the &amp;nbsp;
&lt;br&gt;&amp;gt; patch. I was thinking:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; {agg dir}include/agg/*
&lt;br&gt;&amp;gt; {agg dir}include/agg/ctrl/*
&lt;br&gt;&amp;gt; {agg dir}include/agg/platform/*
&lt;br&gt;&amp;gt; ...
&lt;br&gt;&amp;gt; {agg dir}include/agg/freetype/{freetype includes}
&lt;br&gt;&amp;gt; {agg dir}include/agg/win_truetype/{win truetype includes}
&lt;br&gt;&amp;gt; {agg dir}src/*
&lt;br&gt;&amp;gt; ...
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; This way a build environment can use -I{agg dir}include, with client &amp;nbsp;
&lt;br&gt;&amp;gt; code having lines like:
&lt;br&gt;&amp;gt; #include &amp;lt;agg/agg_arrowhead.h&amp;gt;
&lt;br&gt;&amp;gt; or (more work)
&lt;br&gt;&amp;gt; #include &amp;lt;agg/arrowhead.h&amp;gt;
&lt;br&gt;&amp;gt; for example.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Of course this is a non trivial change that might require client &amp;nbsp;
&lt;br&gt;&amp;gt; code changes (mostly search and replace) but I wanted to mention it.
&lt;br&gt;&amp;gt;
&lt;/div&gt;&lt;/div&gt;This is a great idea. We could do this trivially use symbolic links &amp;nbsp;
&lt;br&gt;but SVN doesn't even try to support symbolic links under Windows. &amp;nbsp;
&lt;br&gt;Maybe you could create your preferred include tree using symlinks (if &amp;nbsp;
&lt;br&gt;you are running Vista or Win7).
&lt;br&gt;&lt;br&gt;We should have a list of major improvements to AGG. Then at some date &amp;nbsp;
&lt;br&gt;we could have a hacking sprint and produce AGG3. Reorganizing the &amp;nbsp;
&lt;br&gt;header files should be on the list.
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; - Still no SVN access unless I am doing something wrong (?)
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; ------------------------------------------------------------------------------
&lt;br&gt;&amp;gt; Come build with us! The BlackBerry&amp;reg; Developer Conference in SF, CA
&lt;br&gt;&amp;gt; is the only developer event you need to attend this year. Jumpstart &amp;nbsp;
&lt;br&gt;&amp;gt; your
&lt;br&gt;&amp;gt; developing skills, take BlackBerry mobile applications to market and &amp;nbsp;
&lt;br&gt;&amp;gt; stay
&lt;br&gt;&amp;gt; ahead of the curve. Join us from November 9&amp;#45;12, 2009. Register &amp;nbsp;
&lt;br&gt;&amp;gt; now&amp;#33;
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://p.sf.net/sfu/devconf&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/devconf&lt;/a&gt;&lt;br&gt;&amp;gt; _______________________________________________
&lt;br&gt;&amp;gt; Vector-agg-general mailing list
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25730609&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Vector-agg-general@...&lt;/a&gt;
&lt;br&gt;&amp;gt; &lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;------------------------------------------------------------------------------
&lt;br&gt;Come build with us! The BlackBerry&amp;reg; Developer Conference in SF, CA
&lt;br&gt;is the only developer event you need to attend this year. Jumpstart your
&lt;br&gt;developing skills, take BlackBerry mobile applications to market and stay 
&lt;br&gt;ahead of the curve. Join us from November 9&amp;#45;12, 2009. Register now&amp;#33;
&lt;br&gt;&lt;a href=&quot;http://p.sf.net/sfu/devconf&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/devconf&lt;/a&gt;&lt;br /&gt;_______________________________________________
&lt;br&gt;Vector-agg-general mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25730609&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Vector-agg-general@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&lt;/a&gt;&lt;br&gt;&lt;div class=&quot;small&quot;&gt;&lt;br/&gt;&lt;img src=&quot;http://old.nabble.com/images/icon_attachment.gif&quot; &gt; &lt;strong&gt;agg24_alvyraysmithOct0309.patch.gz&lt;/strong&gt; (7K) &lt;a href=&quot;http://old.nabble.com/attachment/25730609/0/agg24_alvyraysmithOct0309.patch.gz&quot; target=&quot;_top&quot;&gt;Download Attachment&lt;/a&gt;&lt;/div&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Feedback%3A-Ray-Alvy-Smith-patch%2C-SVN-tp25728176p25730609.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-25728176</id>
	<title>Feedback: Ray-Alvy-Smith patch, SVN</title>
	<published>2009-10-03T05:10:11Z</published>
	<updated>2009-10-03T05:10:11Z</updated>
	<author>
		<name>Vinnie-4</name>
	</author>
	<content type="html">- I was able to get the patch from the last post, I saw it both in my private message and also the message posted to the list. Thanks
&lt;br&gt;&lt;br&gt;- Patch worked great!
&lt;br&gt;&lt;br&gt;- When I looked at my customizations, there was really only one thing that i added, an enumeration value to each of the orders:
&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; struct order_rgb &amp;nbsp;{ enum rgb_e &amp;nbsp;{ R=0, G=1, B=2, rgb_tag, hasAlpha=false }; }; &amp;nbsp; &amp;nbsp; &amp;nbsp; //----order_rgb
&lt;br&gt;&amp;nbsp; &amp;nbsp; struct order_bgr &amp;nbsp;{ enum bgr_e &amp;nbsp;{ B=0, G=1, R=2, rgb_tag, hasAlpha=false }; }; &amp;nbsp; &amp;nbsp; &amp;nbsp; //----order_bgr
&lt;br&gt;&amp;nbsp; &amp;nbsp; struct order_rgba { enum rgba_e { R=0, G=1, B=2, A=3, rgba_tag, hasAlpha=true }; }; //----order_rgba
&lt;br&gt;&amp;nbsp; &amp;nbsp; struct order_argb { enum argb_e { A=0, R=1, G=2, B=3, rgba_tag, hasAlpha=true }; }; //----order_argb
&lt;br&gt;&amp;nbsp; &amp;nbsp; struct order_abgr { enum abgr_e { A=0, B=1, G=2, R=3, rgba_tag, hasAlpha=true }; }; //----order_abgr
&lt;br&gt;&amp;nbsp; &amp;nbsp; struct order_bgra { enum bgra_e { B=0, G=1, R=2, A=3, rgba_tag, hasAlpha=true }; }; //----order_bgra
&lt;br&gt;&lt;br&gt;My change was to include 'hasAlpha'. This is useful for template metaprogramming.
&lt;br&gt;&lt;br&gt;- I have a common header file at the beginning of every .cpp file in the agg project, #include &amp;quot;pch.h&amp;quot; for building a precompiled header under MSVC
&lt;br&gt;&lt;br&gt;&lt;br&gt;Also:
&lt;br&gt;&lt;br&gt;- The directory structure of the project could be improved. The extra 'agg-2.4' is pretty annoying, as is the lack of a single include directory. It was one of the first things I changed in my private copy and I had to revert it back in order to apply the patch. I was thinking:
&lt;br&gt;&lt;br&gt;{agg dir}include/agg/*
&lt;br&gt;{agg dir}include/agg/ctrl/*
&lt;br&gt;{agg dir}include/agg/platform/*
&lt;br&gt;...
&lt;br&gt;{agg dir}include/agg/freetype/{freetype includes}
&lt;br&gt;{agg dir}include/agg/win_truetype/{win truetype includes}
&lt;br&gt;{agg dir}src/*
&lt;br&gt;...
&lt;br&gt;&lt;br&gt;This way a build environment can use -I{agg dir}include, with client code having lines like:
&lt;br&gt;#include &amp;lt;agg/agg_arrowhead.h&amp;gt;
&lt;br&gt;or (more work)
&lt;br&gt;#include &amp;lt;agg/arrowhead.h&amp;gt;
&lt;br&gt;for example.
&lt;br&gt;&lt;br&gt;Of course this is a non trivial change that might require client code changes (mostly search and replace) but I wanted to mention it.
&lt;br&gt;&lt;br&gt;- Still no SVN access unless I am doing something wrong (?)
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Come build with us! The BlackBerry&amp;reg; Developer Conference in SF, CA
&lt;br&gt;is the only developer event you need to attend this year. Jumpstart your
&lt;br&gt;developing skills, take BlackBerry mobile applications to market and stay 
&lt;br&gt;ahead of the curve. Join us from November 9&amp;#45;12, 2009. Register now&amp;#33;
&lt;br&gt;&lt;a href=&quot;http://p.sf.net/sfu/devconf&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/devconf&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Vector-agg-general mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25728176&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Vector-agg-general@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Feedback%3A-Ray-Alvy-Smith-patch%2C-SVN-tp25728176p25728176.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-25726085</id>
	<title>Re: Patch to improve blending accuracy of RGBA/RGB/Gray pixel formats</title>
	<published>2009-10-02T23:19:39Z</published>
	<updated>2009-10-02T23:19:39Z</updated>
	<author>
		<name>John Horigan</name>
	</author>
	<content type="html">A gzipped patch file is attached. If you don't see an attachment then &amp;nbsp;
&lt;br&gt;contact me and I will arrange some other method of getting the patch &amp;nbsp;
&lt;br&gt;to you.
&lt;br&gt;&lt;br&gt;&lt;br /&gt; &lt;br /&gt;&lt;br&gt;&lt;br&gt;Updated patch for accurate blenders:
&lt;br&gt;1) Old blenders are completely removed
&lt;br&gt;2) both gray16(const rgba16&amp;) constructors are fixed
&lt;br&gt;&lt;br&gt;-- john
&lt;br&gt;&lt;br&gt;On Oct 2, 2009, at 3:19 PM, John Horigan wrote:
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Yes, that is a bug in my new gray16() constructor. I will send out a
&lt;br&gt;&amp;gt; new patch with that fixed and the old code removed.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; -- john
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; On Oct 2, 2009, at 10:13 AM, klaas.holwerda wrote:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Stephan Assmus wrote:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Hi John,
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; On 2009-09-28 at 00:12:42 [+0200], John Horigan &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25726085&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;john@...&lt;/a&gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; wrote:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Sorry for the delay in this patch. I thought that the new blenders
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; were
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; failing in the rgba16 formats. But it turned out that the error
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; was in my
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; test framework.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; I've read through the patch and it looks very good! Thanks a lot
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; for this
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; work. Only one place I am not sure about:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; //--------------------------------------------------------------------
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;gray16(const rgba16&amp; c, unsigned a_) :
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;v((value_type)((c.r*77 + c.g*150 + c.b*29) &amp;gt;&amp;gt; 16)),
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;a((value_type)a_) {}
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; I think the shift is wrong, since 77 + 150 + 29 = 256.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Has anybody else here already commited this patch?
&lt;br&gt;&amp;gt;&amp;gt; I think not, can you do it?
&lt;br&gt;&amp;gt;&amp;gt; Although i thinks legacy and incorrect blending code in AGG should be
&lt;br&gt;&amp;gt;&amp;gt; removed. I agree with John on that and/or the husband.
&lt;br&gt;&amp;gt;&amp;gt; It is bad to keep all old code around.
&lt;br&gt;&amp;gt;&amp;gt; What do you think?
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; I do not follow the AGG
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; commits, is there a commit notification list I can sign up to?
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Not yet, and only the admin can do it.
&lt;br&gt;&amp;gt;&amp;gt; I suggest our admin gives other devlopers &amp;nbsp;admin rights too.
&lt;br&gt;&amp;gt;&amp;gt; Or at least make things happen more quickly. e.g. Vinnie is not on &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; the
&lt;br&gt;&amp;gt;&amp;gt; members list jet.
&lt;br&gt;&amp;gt;&amp;gt; And this commit list should be in place.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Leonardo were are you??
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; regards,
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Klaas
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; ------------------------------------------------------------------------------
&lt;br&gt;&amp;gt;&amp;gt; Come build with us! The BlackBerry&amp;reg; Developer Conference in SF, &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; CA
&lt;br&gt;&amp;gt;&amp;gt; is the only developer event you need to attend this year. Jumpstart
&lt;br&gt;&amp;gt;&amp;gt; your
&lt;br&gt;&amp;gt;&amp;gt; developing skills, take BlackBerry mobile applications to market and
&lt;br&gt;&amp;gt;&amp;gt; stay
&lt;br&gt;&amp;gt;&amp;gt; ahead of the curve. Join us from November 9&amp;#45;12, 2009. Register
&lt;br&gt;&amp;gt;&amp;gt; now&amp;#33;
&lt;br&gt;&amp;gt;&amp;gt; &lt;a href=&quot;http://p.sf.net/sfu/devconf&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/devconf&lt;/a&gt;&lt;br&gt;&amp;gt;&amp;gt; _______________________________________________
&lt;br&gt;&amp;gt;&amp;gt; Vector-agg-general mailing list
&lt;br&gt;&amp;gt;&amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25726085&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Vector-agg-general@...&lt;/a&gt;
&lt;br&gt;&amp;gt;&amp;gt; &lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&lt;/a&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; ------------------------------------------------------------------------------
&lt;br&gt;&amp;gt; Come build with us! The BlackBerry&amp;reg; Developer Conference in SF, CA
&lt;br&gt;&amp;gt; is the only developer event you need to attend this year. Jumpstart &amp;nbsp;
&lt;br&gt;&amp;gt; your
&lt;br&gt;&amp;gt; developing skills, take BlackBerry mobile applications to market and &amp;nbsp;
&lt;br&gt;&amp;gt; stay
&lt;br&gt;&amp;gt; ahead of the curve. Join us from November 9&amp;#45;12, 2009. Register &amp;nbsp;
&lt;br&gt;&amp;gt; now&amp;#33;
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://p.sf.net/sfu/devconf&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/devconf&lt;/a&gt;&lt;br&gt;&amp;gt; _______________________________________________
&lt;br&gt;&amp;gt; Vector-agg-general mailing list
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25726085&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Vector-agg-general@...&lt;/a&gt;
&lt;br&gt;&amp;gt; &lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;------------------------------------------------------------------------------
&lt;br&gt;Come build with us! The BlackBerry&amp;reg; Developer Conference in SF, CA
&lt;br&gt;is the only developer event you need to attend this year. Jumpstart your
&lt;br&gt;developing skills, take BlackBerry mobile applications to market and stay 
&lt;br&gt;ahead of the curve. Join us from November 9&amp;#45;12, 2009. Register now&amp;#33;
&lt;br&gt;&lt;a href=&quot;http://p.sf.net/sfu/devconf&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/devconf&lt;/a&gt;&lt;br /&gt;_______________________________________________
&lt;br&gt;Vector-agg-general mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25726085&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Vector-agg-general@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&lt;/a&gt;&lt;br&gt;&lt;div class=&quot;small&quot;&gt;&lt;br/&gt;&lt;img src=&quot;http://old.nabble.com/images/icon_attachment.gif&quot; &gt; &lt;strong&gt;agg24_alvyraysmithOct0209.patch.gz&lt;/strong&gt; (7K) &lt;a href=&quot;http://old.nabble.com/attachment/25726085/0/agg24_alvyraysmithOct0209.patch.gz&quot; target=&quot;_top&quot;&gt;Download Attachment&lt;/a&gt;&lt;/div&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Re%3A-Patch-to-improve-blending-accuracy-of-RGBA-RGB-Gray-pixel-formats-tp25638191p25726085.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-25723684</id>
	<title>Re: Patch to improve blending accuracy of RGBA/RGB/Gray pixel formats</title>
	<published>2009-10-02T15:27:27Z</published>
	<updated>2009-10-02T15:27:27Z</updated>
	<author>
		<name>John Horigan</name>
	</author>
	<content type="html">The patch does not fix the 15/16 bit formats. The patch is based on &amp;nbsp;
&lt;br&gt;the theory in Alvy Ray Smith's paper:
&lt;br&gt;&lt;a href=&quot;http://www.ozonehouse.com/john/4_Comp.pdf&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.ozonehouse.com/john/4_Comp.pdf&lt;/a&gt;&lt;br&gt;&lt;br&gt;It shouldn't be too hard to adapt this work to 5 or 6-bit color &amp;nbsp;
&lt;br&gt;components.
&lt;br&gt;&lt;br&gt;-- john
&lt;br&gt;&lt;br&gt;On Oct 2, 2009, at 4:21 AM, Udo Giacomozzi wrote:
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Hi John,
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; does your patch also improve blending accuracy when using 15 or 16 bit
&lt;br&gt;&amp;gt; (&amp;quot;hicolor&amp;quot;) formats? We experience noticeable artifacts in those modes
&lt;br&gt;&amp;gt; in Gnash...
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Udo
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Monday, August 17, 2009, 8:36:17 AM, you wrote:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; For my digital art program, Context Free, I have been using a &amp;nbsp;
&lt;br&gt;&amp;gt; modified form of the RGBA, RGB, and gray pixel formats. I do this &amp;nbsp;
&lt;br&gt;&amp;gt; because stock AGG is slightly inaccurate in computing and blending &amp;nbsp;
&lt;br&gt;&amp;gt; colors. &amp;nbsp;My changes to AGG are based on Alvy Ray Smith's paper on &amp;nbsp;
&lt;br&gt;&amp;gt; fast, accurate color blending (ftp://ftp.alvyray.com/Acrobat/4_Comp.pdf 
&lt;br&gt;&amp;gt; ).
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; The changes that I have made are:
&lt;br&gt;&amp;gt; * Utility methods have been added to classes rgb8, rgb16, gray8, and &amp;nbsp;
&lt;br&gt;&amp;gt; gray16 for doing fast, accurate fixed point multiplies and linear &amp;nbsp;
&lt;br&gt;&amp;gt; interpolations.
&lt;br&gt;&amp;gt; * The add, gradient, and premultiply methods of classes rgb8, rgb16, &amp;nbsp;
&lt;br&gt;&amp;gt; gray8, and gray16 use the new utility methods.
&lt;br&gt;&amp;gt; * multiplier_rgba&amp;lt;&amp;gt;::premultiply() method in agg_pixfmt_rgba.h uses &amp;nbsp;
&lt;br&gt;&amp;gt; the new utility methods.
&lt;br&gt;&amp;gt; * All of the blender classes in agg_pixfmt_gray/rbg/rgba.h use the &amp;nbsp;
&lt;br&gt;&amp;gt; new utility methods.
&lt;br&gt;&amp;gt; * The interface between these blender classes and the pixfmt classes &amp;nbsp;
&lt;br&gt;&amp;gt; has been changed slightly. Currently the pixfmt class multiplies the &amp;nbsp;
&lt;br&gt;&amp;gt; color alpha with pixel coverage factor before calling the blender &amp;nbsp;
&lt;br&gt;&amp;gt; (even though both alpha and cover are passed to the blender). With &amp;nbsp;
&lt;br&gt;&amp;gt; this patch, this calculation is moved to the blender class blend_pix 
&lt;br&gt;&amp;gt; () methods.
&lt;br&gt;&amp;gt; * I added a utility method to class rect_base in agg_basics.h: &amp;nbsp;
&lt;br&gt;&amp;gt; overlaps()
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; I have been using most of these changes for over a year in Context &amp;nbsp;
&lt;br&gt;&amp;gt; Free and I am confident in their correctness. I don't use the non- 
&lt;br&gt;&amp;gt; premultiplied color blenders but I was able to tweak Context Free to &amp;nbsp;
&lt;br&gt;&amp;gt; use them and they appeared to function correctly.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; The composition operation classes comp_op_rgba_x in &amp;nbsp;
&lt;br&gt;&amp;gt; agg_pixfmt_rgba.h and the pixfmt_custom_blend_rgba class that uses &amp;nbsp;
&lt;br&gt;&amp;gt; them have not been updated to use the new utility methods. The &amp;nbsp;
&lt;br&gt;&amp;gt; composition operators could stand to be implemented more accurately, &amp;nbsp;
&lt;br&gt;&amp;gt; but I don't have any test bench for validating changes.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; The patch can be found at &lt;a href=&quot;http://www.ozonehouse.com/john/agg24_alvyraysmith.patch&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://www.ozonehouse.com/john/agg24_alvyraysmith.patch&lt;/a&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; -- john
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; ------------------------------------------------------------------------------
&lt;br&gt;&amp;gt; Come build with us! The BlackBerry&amp;reg; Developer Conference in SF, CA
&lt;br&gt;&amp;gt; is the only developer event you need to attend this year. Jumpstart &amp;nbsp;
&lt;br&gt;&amp;gt; your
&lt;br&gt;&amp;gt; developing skills, take BlackBerry mobile applications to market and &amp;nbsp;
&lt;br&gt;&amp;gt; stay
&lt;br&gt;&amp;gt; ahead of the curve. Join us from November 9&amp;#45;12, 2009. Register &amp;nbsp;
&lt;br&gt;&amp;gt; now&amp;#33;
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://p.sf.net/sfu/devconf&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/devconf&lt;/a&gt;&lt;br&gt;&amp;gt; _______________________________________________
&lt;br&gt;&amp;gt; Vector-agg-general mailing list
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25723684&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Vector-agg-general@...&lt;/a&gt;
&lt;br&gt;&amp;gt; &lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&lt;/a&gt;&lt;/div&gt;&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Come build with us! The BlackBerry&amp;reg; Developer Conference in SF, CA
&lt;br&gt;is the only developer event you need to attend this year. Jumpstart your
&lt;br&gt;developing skills, take BlackBerry mobile applications to market and stay 
&lt;br&gt;ahead of the curve. Join us from November 9&amp;#45;12, 2009. Register now&amp;#33;
&lt;br&gt;&lt;a href=&quot;http://p.sf.net/sfu/devconf&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/devconf&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Vector-agg-general mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25723684&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Vector-agg-general@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Patch-to-improve-blending-accuracy-of-RGBA-RGB-Gray-pixel-formats-tp25001714p25723684.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-25723593</id>
	<title>Re: Patch to improve blending accuracy of RGBA/RGB/Gray pixel formats</title>
	<published>2009-10-02T15:19:26Z</published>
	<updated>2009-10-02T15:19:26Z</updated>
	<author>
		<name>John Horigan</name>
	</author>
	<content type="html">Yes, that is a bug in my new gray16() constructor. I will send out a &amp;nbsp;
&lt;br&gt;new patch with that fixed and the old code removed.
&lt;br&gt;&lt;br&gt;-- john
&lt;br&gt;&lt;br&gt;On Oct 2, 2009, at 10:13 AM, klaas.holwerda wrote:
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Stephan Assmus wrote:
&lt;br&gt;&amp;gt;&amp;gt; Hi John,
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; On 2009-09-28 at 00:12:42 [+0200], John Horigan &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25723593&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;john@...&lt;/a&gt;&amp;gt; &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; wrote:
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Sorry for the delay in this patch. I thought that the new blenders &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; were
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; failing in the rgba16 formats. But it turned out that the error &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; was in my
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; test framework.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; I've read through the patch and it looks very good! Thanks a lot &amp;nbsp;
&lt;br&gt;&amp;gt;&amp;gt; for this
&lt;br&gt;&amp;gt;&amp;gt; work. Only one place I am not sure about:
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; +
&lt;br&gt;&amp;gt;&amp;gt; //--------------------------------------------------------------------
&lt;br&gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;gray16(const rgba16&amp; c, unsigned a_) :
&lt;br&gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;v((value_type)((c.r*77 + c.g*150 + c.b*29) &amp;gt;&amp;gt; 16)),
&lt;br&gt;&amp;gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;a((value_type)a_) {}
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; I think the shift is wrong, since 77 + 150 + 29 = 256.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Has anybody else here already commited this patch?
&lt;br&gt;&amp;gt; I think not, can you do it?
&lt;br&gt;&amp;gt; Although i thinks legacy and incorrect blending code in AGG should be
&lt;br&gt;&amp;gt; removed. I agree with John on that and/or the husband.
&lt;br&gt;&amp;gt; It is bad to keep all old code around.
&lt;br&gt;&amp;gt; What do you think?
&lt;br&gt;&amp;gt;&amp;gt; I do not follow the AGG
&lt;br&gt;&amp;gt;&amp;gt; commits, is there a commit notification list I can sign up to?
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; Not yet, and only the admin can do it.
&lt;br&gt;&amp;gt; I suggest our admin gives other devlopers &amp;nbsp;admin rights too.
&lt;br&gt;&amp;gt; Or at least make things happen more quickly. e.g. Vinnie is not on the
&lt;br&gt;&amp;gt; members list jet.
&lt;br&gt;&amp;gt; And this commit list should be in place.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Leonardo were are you??
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; regards,
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Klaas
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; ------------------------------------------------------------------------------
&lt;br&gt;&amp;gt; Come build with us! The BlackBerry&amp;reg; Developer Conference in SF, CA
&lt;br&gt;&amp;gt; is the only developer event you need to attend this year. Jumpstart &amp;nbsp;
&lt;br&gt;&amp;gt; your
&lt;br&gt;&amp;gt; developing skills, take BlackBerry mobile applications to market and &amp;nbsp;
&lt;br&gt;&amp;gt; stay
&lt;br&gt;&amp;gt; ahead of the curve. Join us from November 9&amp;#45;12, 2009. Register &amp;nbsp;
&lt;br&gt;&amp;gt; now&amp;#33;
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://p.sf.net/sfu/devconf&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/devconf&lt;/a&gt;&lt;br&gt;&amp;gt; _______________________________________________
&lt;br&gt;&amp;gt; Vector-agg-general mailing list
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25723593&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Vector-agg-general@...&lt;/a&gt;
&lt;br&gt;&amp;gt; &lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&lt;/a&gt;&lt;/div&gt;&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Come build with us! The BlackBerry&amp;reg; Developer Conference in SF, CA
&lt;br&gt;is the only developer event you need to attend this year. Jumpstart your
&lt;br&gt;developing skills, take BlackBerry mobile applications to market and stay 
&lt;br&gt;ahead of the curve. Join us from November 9&amp;#45;12, 2009. Register now&amp;#33;
&lt;br&gt;&lt;a href=&quot;http://p.sf.net/sfu/devconf&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/devconf&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Vector-agg-general mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25723593&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Vector-agg-general@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Re%3A-Patch-to-improve-blending-accuracy-of-RGBA-RGB-Gray-pixel-formats-tp25638191p25723593.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-25720289</id>
	<title>Re: Patch to improve blending accuracy of RGBA/RGB/Gray pixel formats</title>
	<published>2009-10-02T10:13:00Z</published>
	<updated>2009-10-02T10:13:00Z</updated>
	<author>
		<name>klaas.holwerda-3</name>
	</author>
	<content type="html">Stephan Assmus wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Hi John,
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; On 2009-09-28 at 00:12:42 [+0200], John Horigan &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25720289&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;john@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&amp;gt; &amp;nbsp; 
&lt;br&gt;&amp;gt;&amp;gt; Sorry for the delay in this patch. I thought that the new blenders were 
&lt;br&gt;&amp;gt;&amp;gt; failing in the rgba16 formats. But it turned out that the error was in my 
&lt;br&gt;&amp;gt;&amp;gt; test framework.
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; 
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; I've read through the patch and it looks very good! Thanks a lot for this 
&lt;br&gt;&amp;gt; work. Only one place I am not sure about:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;
&lt;br&gt;&amp;gt; //--------------------------------------------------------------------
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;gray16(const rgba16&amp; c, unsigned a_) :
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;v((value_type)((c.r*77 + c.g*150 + c.b*29) &amp;gt;&amp;gt; 16)),
&lt;br&gt;&amp;gt; + &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;a((value_type)a_) {}
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; I think the shift is wrong, since 77 + 150 + 29 = 256.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Has anybody else here already commited this patch? 
&lt;/div&gt;I think not, can you do it?
&lt;br&gt;Although i thinks legacy and incorrect blending code in AGG should be 
&lt;br&gt;removed. I agree with John on that and/or the husband.
&lt;br&gt;It is bad to keep all old code around.
&lt;br&gt;What do you think?
&lt;br&gt;&amp;gt; I do not follow the AGG 
&lt;br&gt;&amp;gt; commits, is there a commit notification list I can sign up to?
&lt;br&gt;&amp;gt; &amp;nbsp; 
&lt;br&gt;Not yet, and only the admin can do it.
&lt;br&gt;I suggest our admin gives other devlopers &amp;nbsp;admin rights too.
&lt;br&gt;Or at least make things happen more quickly. e.g. Vinnie is not on the 
&lt;br&gt;members list jet.
&lt;br&gt;And this commit list should be in place.
&lt;br&gt;&lt;br&gt;Leonardo were are you??
&lt;br&gt;&lt;br&gt;regards,
&lt;br&gt;&lt;br&gt;Klaas
&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;------------------------------------------------------------------------------
&lt;br&gt;Come build with us! The BlackBerry&amp;reg; Developer Conference in SF, CA
&lt;br&gt;is the only developer event you need to attend this year. Jumpstart your
&lt;br&gt;developing skills, take BlackBerry mobile applications to market and stay 
&lt;br&gt;ahead of the curve. Join us from November 9&amp;#45;12, 2009. Register now&amp;#33;
&lt;br&gt;&lt;a href=&quot;http://p.sf.net/sfu/devconf&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://p.sf.net/sfu/devconf&lt;/a&gt;&lt;br&gt;_______________________________________________
&lt;br&gt;Vector-agg-general mailing list
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=25720289&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Vector-agg-general@...&lt;/a&gt;
&lt;br&gt;&lt;a href=&quot;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;https://lists.sourceforge.net/lists/listinfo/vector-agg-general&lt;/a&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Re%3A-Patch-to-improve-blending-accuracy-of-RGBA-RGB-Gray-pixel-formats-tp25638191p25720289.html" />
</entry>

</feed>
