<div dir="ltr">Hi &nbsp;folks,<div>&nbsp;&nbsp; &nbsp;I setup VS2008 Cairo hello world project without using GTK+ for windows.</div><div><br></div><div>Actually&nbsp;Cairo has win32 surface support(base on GDI). Use &nbsp;cairo_win32_surface_create &nbsp;</div>
<div><br></div><div>instead of other surface creating API (like&nbsp;<span class="Apple-style-span" style="border-collapse: collapse; ">cairo_image_surface_create<span class="Apple-style-span" style="border-collapse: separate; ">).</span></span></div>
<div><br></div><div>Only few instructions need to be follow:</div><div>0. Download cairo lib for windows.</div><div>1. Use wizard to create a win32 project in Visual C++ 2008 express.&nbsp;</div><div>2. Open &lt;your project name&gt;.cpp and find function&nbsp;WndProc.</div>
<div>3. Modify WM_PAINT branch with piece of code below:</div><div><div><span class="Apple-tab-span" style="white-space:pre">        </span>case WM_PAINT:</div><div><span class="Apple-tab-span" style="white-space:pre">                </span>hdc = BeginPaint(hWnd, &amp;ps);</div>
<div><span class="Apple-tab-span" style="white-space:pre">                </span>// TODO: Add any drawing code here...</div><div><span class="Apple-tab-span" style="white-space:pre">                </span>cairo_surface_t *surface;</div><div><span class="Apple-tab-span" style="white-space:pre">                </span>cairo_t *cr;</div>
<div><br></div><div>&nbsp;&nbsp; &nbsp;<span class="Apple-tab-span" style="white-space:pre">        </span>surface = cairo_win32_surface_create(hdc);</div><div>&nbsp;&nbsp; &nbsp;<span class="Apple-tab-span" style="white-space:pre">        </span>cr = cairo_create(surface);</div>
<div><span class="Apple-tab-span" style="white-space:pre">                </span>Draw(cr); &nbsp; // &nbsp;&lt;&lt;&lt;&lt;&lt;&lt;Cairo draw here</div><div><span class="Apple-tab-span" style="white-space:pre">                </span>cairo_destroy(cr);</div><div>
<span class="Apple-tab-span" style="white-space:pre">                </span></div><div><span class="Apple-tab-span" style="white-space:pre">                </span>EndPaint(hWnd, &amp;ps);</div><div><span class="Apple-tab-span" style="white-space:pre">                </span>break;</div>
</div><div>4. Add cairo lib path to new project.</div><div>5.Compile and check the result</div><div><br></div><div>After that, &nbsp;you will see your cairo drawing &nbsp;in Windows program&#39;s client area.</div><div><br></div><div>
Hope it is helpful, and correct me if there are mistakes.</div><div><br><br><div class="gmail_quote">2008/9/2 Mohit Sindhwani <span dir="ltr">&lt;<a href="mailto:tech@onghu.com">tech@onghu.com</a>&gt;</span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
<div class="Ih2E3d">Asko Kauppi wrote:<br>
&gt; I would second this.<br>
&gt;<br>
&gt; Although setting up a &quot;Hello world&quot; IDE project drawing the text using<br>
&gt; Cairo should not be a Big Deal, it certainly would help the initial<br>
&gt; step (instead of pressing &#39;new&#39; in the IDE).<br>
&gt;<br>
&gt; Especially since Windows is my 3rd platform, and I am using VC++ 2008<br>
&gt; Express only occasionally. &nbsp;So, if anyone has a &quot;Hello world&quot; Cairo +<br>
&gt; VC++ 2008 project to spare, thanks! &nbsp; :)<br>
&gt;<br>
&gt; In fact, I would like to see such Hello World for VC++, GTK+ and OS X<br>
&gt; (XCode) all of them.<br>
&gt;<br>
&gt; -asko<br>
&gt;<br>
</div>Actually I have a Hello World example for Borland Turbo C++ (the new<br>
currently free version of C++ Builder) - I&#39;m a bit busy the next few<br>
days, but should be able to post more information about it in the weekend.<br>
<br>
Cheers,<br>
Mohit.<br>
9/2/2008 | 12:24 AM.<br>
<div><div></div><div class="Wj3C7c"><br>
_______________________________________________<br>
cairo mailing list<br>
<a href="mailto:cairo@cairographics.org">cairo@cairographics.org</a><br>
<a href="http://lists.cairographics.org/mailman/listinfo/cairo" target="_blank">http://lists.cairographics.org/mailman/listinfo/cairo</a><br>
</div></div></blockquote></div><br></div></div>