<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Cyrille Berger &#187; Open Source</title>
	<atom:link href="http://blog.cberger.net/tags/open-source/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.cberger.net</link>
	<description>What I do, where I live, what I think.</description>
	<lastBuildDate>Sat, 02 Apr 2011 16:20:14 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Institut de la Francophonie numérique sponsoring offer to travel to Libre Graphics Meeting</title>
		<link>http://blog.cberger.net/2010/03/19/institut-de-la-francophonie-numerique-sponsoring-offer-to-travel-to-libre-graphics-meeting/</link>
		<comments>http://blog.cberger.net/2010/03/19/institut-de-la-francophonie-numerique-sponsoring-offer-to-travel-to-libre-graphics-meeting/#comments</comments>
		<pubDate>Fri, 19 Mar 2010 11:06:53 +0000</pubDate>
		<dc:creator>Cyrille Berger</dc:creator>
				<category><![CDATA[Krita]]></category>
		<category><![CDATA[LGM]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Sponsoring]]></category>

		<guid isPermaLink="false">http://blog.cberger.net/?p=1035</guid>
		<description><![CDATA[L&#8217;Institut de la Francophonie numérique is sponsoring travel and lodging to the Libre Graphics Meeting in Bruxelles on 27-30 May, for people from one of the country of francophonie, that are not France: Albanie, Arménie, Bénin, Bulgarie, Burkina Faso, Burundi, &#8230; <a href="http://blog.cberger.net/2010/03/19/institut-de-la-francophonie-numerique-sponsoring-offer-to-travel-to-libre-graphics-meeting/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>L&#8217;Institut de la Francophonie numérique is sponsoring travel and lodging to the <a href="http://www.libregraphicsmeeting.org/">Libre Graphics Meeting</a> in Bruxelles on 27-30 May, for people from one of the country of francophonie, that are not France:</p>
<p><i><br />
Albanie, Arménie, Bénin, Bulgarie, Burkina Faso, Burundi, Cambodge, Cameroun, Cap Vert, Comores, Congo, Côte d&#8217;Ivoire, Djibouti, Egypte, Gabon, Ghana, Guinée, Guinée Bissau, Guinée équatoriale, Laos, Liban, Madagascar, Mali, Maroc, Maurice, Moldavie, Niger, RD Congo, République centrafricaine, Roumanie, Rwanda, Sénégal, Tchad, Togo, Tunisie, Vietnam<br />
</i></p>
<p>So if you are an artist using free software, a developer implicated in a graphic open source project, and want to make a presentation (in either French or English) at the Libre Graphics Meeting, or if you know anyone from those countries, and that would fit the requirements, please read this email or give this email from the <a href="http://lists.freedesktop.org/archives/create/2010-March/002381.html">Create mailing list</a>. This is a great opportunity to travel to Bruxelles, and meet other people of the Free Graphics World:</p>
<p><center><img src="http://blog.cberger.net/wp-content/uploads/2010/11/LGM.png"></center></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.cberger.net/2010/03/19/institut-de-la-francophonie-numerique-sponsoring-offer-to-travel-to-libre-graphics-meeting/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Krita, a painting application, not really new news</title>
		<link>http://blog.cberger.net/2010/03/12/krita-a-painting-application-not-really-new-news/</link>
		<comments>http://blog.cberger.net/2010/03/12/krita-a-painting-application-not-really-new-news/#comments</comments>
		<pubDate>Fri, 12 Mar 2010 23:14:56 +0000</pubDate>
		<dc:creator>Cyrille Berger</dc:creator>
				<category><![CDATA[KDE]]></category>
		<category><![CDATA[Krita]]></category>
		<category><![CDATA[Open Source]]></category>

		<guid isPermaLink="false">http://blog.cberger.net/?p=1007</guid>
		<description><![CDATA[The time when Krita was borne as KImageShop, as a Gimp-for-KDE is long gone. Not sure when this idea was killed, but it is clear that it has never really be the intention of the current team. The ambiguity of &#8230; <a href="http://blog.cberger.net/2010/03/12/krita-a-painting-application-not-really-new-news/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>The time when <a href="http://krita.org">Krita</a> was borne as KImageShop, as a <a href="http://gimp.org">Gimp</a>-for-KDE is long gone. Not sure when this idea was killed, but it is clear that it has never really be the intention of the current team. The ambiguity of being only a paint application might only have been lift last weeks, and not trying anymore to be both. But now was the best time to lift it, Gimp is now going in a direction where it will be an excellent image manipulation tool, it does not make anymore sense to try to have half-baked support for this kind of work in Krita. Instead, we need to focus on what is truly missing, a high quality paint application that covers all the artists needs.</p>
<p><center><a href="http://blog.cberger.net/wp-content/uploads/2010/11/krita_painting.png"><img src="http://blog.cberger.net/wp-content/uploads/2010/11/krita_painting_th.png" /></a></center></p>
<p>But this focus of Krita is not new. What is new is our willingness to focus on it.</p>
<p>Boudewijn has always said that he started on Krita to make a linux application that makes the most use of his newly tablet, he even said at <a href="http://libregraphicsmeeting.org">LGM 2007</a> that he wanted Krita to be a &#8220;corel paint killer&#8221;. More recently Vera joined us in the hope of helping us to make a good open source painting application.</p>
<p>Personally I started with a joint interest for drawing and photography, and probably considered at first that I wanted to contribute to an application that work for both use. And this would explain why most photographic specific features were written by me. But when I started to make digital pictures, I thought that one of the main interest over silver film was the post-processing, but I have come to realise that colour and brightness adjustment were all the changes I wanted to do, and that otherwise, the pictures need to be shout correctly, correct framing, correct positioning of objects, this require more work in the composition, but this also give greater pictures than cloning. Meaning, that I have mostly used Krita for drawing attempts.</p>
<p>But some other members joined us for photographic interest, and some people would still want to use Krita for those uses, I hope that we manage to work together and allow them to find their place in the Krita Community, either the new extensions website will prove sufficient, maybe a krita-photographic-extension package will be made available by distributions, or it is even possible to build a different user interface on top of Krita libraries.</p>
<p>This is something we are ready to help with, but what we feel is important is that when a painter starts Krita, he get all what he needs, and nothing more.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.cberger.net/2010/03/12/krita-a-painting-application-not-really-new-news/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>How to find where an exception is emited with Qt ?</title>
		<link>http://blog.cberger.net/2010/02/24/how-to-find-where-an-exception-is-emited-with-qt/</link>
		<comments>http://blog.cberger.net/2010/02/24/how-to-find-where-an-exception-is-emited-with-qt/#comments</comments>
		<pubDate>Wed, 24 Feb 2010 09:51:02 +0000</pubDate>
		<dc:creator>Cyrille Berger</dc:creator>
				<category><![CDATA[KDE]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[C++]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Qt]]></category>

		<guid isPermaLink="false">http://cyrilleberger.wordpress.com/?p=918</guid>
		<description><![CDATA[When an exception is thrown and not catched in a Qt application, it get catched by Qt&#8217;s event loop, and the following message is displayed in the console: Qt has caught an exception thrown from an event handler. Throwing exceptions &#8230; <a href="http://blog.cberger.net/2010/02/24/how-to-find-where-an-exception-is-emited-with-qt/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>When an exception is thrown and not catched in a Qt application, it get catched by Qt&#8217;s event loop, and the following message is displayed in the console:</p>
<p><code> Qt has caught an exception thrown from an event handler. Throwing exceptions from an event handler is not supported in Qt. You must reimplement QApplication::notify() and catch all exceptions there. terminate called after throwing an instance of 'std::bad_alloc' what(): std::bad_alloc </code> </p>
<p>In other situations, <em>std::bad_alloc</em> is replaced by the name of the exception. The problem is that if you now want to know where it happens in your program, the backtrace points to where the exception is rethrown by Qt&#8217;s event loop, which is not where the error happens.</p>
<p>I first had this problem a few days ago when implementing multi-layers support in EXR, since the exception name was specific to OpenEXR, I just grepped the code and deduce where the error occurred. But this is not very convenient when the error is generic, like <em>std::bad_alloc</em> which can be thrown just anywhere. And as it turned out by Qt itself in &#8216;qBadAlloc()&#8217;. The solution suggested by Maelcum on IRC is simply to set a breakpoint in the function <em>__cxa_throw</em>, which is a function of the C++ standard library that is actually doing the job when the keyword <em>throw</em> is used (at least with the GNU stdlib++, no idea if it is valid with other standard library implementation). And then you get a backtrace that point to the problem.</p>
<p>I thought I would share this tip in case, in some day, you find yourself with an uncaught exception in a Qt application.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.cberger.net/2010/02/24/how-to-find-where-an-exception-is-emited-with-qt/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Discussing Krita, digital painting with David Revoy</title>
		<link>http://blog.cberger.net/2009/12/06/discussing-krita-digital-painting-with-david-revoy/</link>
		<comments>http://blog.cberger.net/2009/12/06/discussing-krita-digital-painting-with-david-revoy/#comments</comments>
		<pubDate>Sun, 06 Dec 2009 18:31:00 +0000</pubDate>
		<dc:creator>Cyrille Berger</dc:creator>
				<category><![CDATA[Krita]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Graphics]]></category>
		<category><![CDATA[KDE]]></category>

		<guid isPermaLink="false">http://blog.cberger.net/?p=882</guid>
		<description><![CDATA[For the next releases of Krita, we decided to pick up a specific artist, with a specific work flow, and to implement and fix the issue that he needs. For 2.2 (and probably 2.3), we have chosen David Revoy who &#8230; <a href="http://blog.cberger.net/2009/12/06/discussing-krita-digital-painting-with-david-revoy/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>For the next releases of <a href="http://www.krita.org">Krita</a>, we decided to pick up a specific artist, with a specific work flow, and to implement and fix the issue that he needs. For 2.2 (and probably 2.3), we have chosen <a href="http://www.davidrevoy.com/">David Revoy</a> who has come recently to fame for his involvement in the <a href="http://durian.blender.org/">durian</a> project of the <a href="http://www.blender.org">Blender</a> project. Since he lives in Toulouse, and since I still live in Toulouse for the next two weeks, we felt it was a good opportunity to met and to talk about what is Krita, and to get a feel of what he needs.</p>
<p>On Tuesday, after work, I went to his apartment. First he showed me a bit what he needs, especially in a patch to the <a href="http://gimp.org">Gimp</a> that brings much needed feature for him, like the brush that mix its current colour with the content of the layer, or the flow setting (that is similar to krita&#8217;s &#8220;wash&#8221; and &#8220;build up&#8221; modes, except with a fuzzy settings, while Krita is binary). We also discussed the performance issue, especially comparing to <a href="http://www.adobe.com">Photoshop</a>. Most digital artist would draw their image at a higher resolution than needed, for instance, if you need an image of 1000&#215;1000, then you will draw it at 2000&#215;2000 or even more, which means that you also scale the brush you use, which means that the brush engine needs to be efficient. While more polishing, like more clever shortcuts and easier setting of painting parameters is a must, efficiency is clearly the biggest issue we are facing in Krita, and the one that will need the most work, the good thing is that we already many solutions that will help us to improve that.</p>
<p>Then I installed Krita on his computer (using the <a href="http://www.kubuntu.org/news/koffice-2.1.0">ubuntu KOffice backport</a>, I do not know if I missed something, but I found it extremely hard to add the backport to Ubuntu&#8217;s software installer). And I showed him the different paint engine of Krita, especially the new one from Lukas, and I talk to him about the goal of Krita, which is clearly focused on digital painting, and image creation. This is where we can have a clear separation between the different 2D graphics application in the open source world, with Gimp having a focus on image manipulation, <a href="http://mypaint.intilinux.com/">mypaint</a> being a scratchpad for quickly drawing, and Krita being focused on digital painting. This does not mean there should not be any features overlap, like Krita having a set of filters for image enhancement. It is just that the focus of the user interface and of the development is different.</p>
<p>This led us to discuss on what he can do to help use make Krita the application he would want to use for his artwork. What we need most (a part from more developers <img src='http://blog.cberger.net/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  ) is testing. While 2.1 is a nice release, it is still far from bugs free, but what is also important is testing of the user interface and of the features, we need to know what is lacking. As a developer, when I draw I tend to bend myself to what Krita can do, while it should be the opposite, it is up to the application to fit the work flow. We already have two artists running the development version of Krita, but more is always welcome to get more diverse opinions.</p>
<p>We also talked on funding development of open source software, one area where the Blender Foundation is very successful is to make movies with Blender, this is very good for advertising the product, since you can show awesome end-results. But it is also very good since developers and artists are working together on the movie, the developers fixing bugs and adding needed features, while the artists provide feedback. The <a>Krita pledgie</a> is one step in that direction. David was thinking that targeting windows users could boost the fundraiser campaign, as apparently many artists are having remorse on pirating proprietary software and might be interested in helping a cheaper alternative, but it is clearly not the primary focus of Lukas work, first we have to make Krita ready on Unix, then other platforms will come.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.cberger.net/2009/12/06/discussing-krita-digital-painting-with-david-revoy/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>KOffice 2.2 Release Schedule</title>
		<link>http://blog.cberger.net/2009/12/03/koffice-2-2-release-schedule/</link>
		<comments>http://blog.cberger.net/2009/12/03/koffice-2-2-release-schedule/#comments</comments>
		<pubDate>Thu, 03 Dec 2009 13:06:16 +0000</pubDate>
		<dc:creator>Cyrille Berger</dc:creator>
				<category><![CDATA[KOffice]]></category>
		<category><![CDATA[Krita]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[KDE]]></category>
		<category><![CDATA[Releases]]></category>

		<guid isPermaLink="false">http://blog.cberger.net/?p=889</guid>
		<description><![CDATA[One of the outcome of the meeting in Oslo was to take the final decision on the KOffice 2.2 release schedule. Following the current trend of a six months release schedule, therefor the 2.2 RC1 is planned for April, 27th &#8230; <a href="http://blog.cberger.net/2009/12/03/koffice-2-2-release-schedule/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>One of the outcome of the meeting in Oslo was to take the final decision on the <a href="http://wiki.koffice.org/index.php?title=Schedules/KOffice/2.2/Release_Plan">KOffice 2.2 release schedule</a>. Following the current trend of a six months release schedule, therefor the 2.2 RC1 is planned for April, 27th 2010.</p>
<p>We have also decided to experiment with a shorter release schedule for 2.3, which is likely to happen four months after 2.2. This will be made possible with the use of Git, and if we manage to keep the release branch in a releasable state at all time, meaning no tests failures, and that features are only merged when finished.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.cberger.net/2009/12/03/koffice-2-2-release-schedule/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>KOffice Fall Meeting 2009 &#8211; Day 0</title>
		<link>http://blog.cberger.net/2009/11/27/koffice-fall-meeting-2009-day-0/</link>
		<comments>http://blog.cberger.net/2009/11/27/koffice-fall-meeting-2009-day-0/#comments</comments>
		<pubDate>Fri, 27 Nov 2009 17:16:12 +0000</pubDate>
		<dc:creator>Cyrille Berger</dc:creator>
				<category><![CDATA[KOffice]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[KDE]]></category>
		<category><![CDATA[Meetings]]></category>
		<category><![CDATA[Oslo]]></category>

		<guid isPermaLink="false">http://blog.cberger.net/?p=865</guid>
		<description><![CDATA[So I have arrived in Oslo for the KOffice Sprint. We are gathering in the Trolltech headquarter, currently waiting for people to arrive before going to have dinner in the center. Casual discussions have already started about moving to git, &#8230; <a href="http://blog.cberger.net/2009/11/27/koffice-fall-meeting-2009-day-0/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>So I have arrived in Oslo for the KOffice Sprint. We are gathering in the Trolltech headquarter, currently waiting for people to arrive before going to have dinner in the center. Casual discussions have already started about moving to git, about network issues, graphical user interface, distribution flameware. And also doing some hacking.</p>
<p>The topic of the meeting is mostly about finalizing the KOffice libraries, with API reviews with Qt Developers, probably some bug fixing and unit testing. As well as a few &#8220;administrative&#8221; discussion, like release schedules.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.cberger.net/2009/11/27/koffice-fall-meeting-2009-day-0/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>KOffice 2.1 is released, how user ready it is ?</title>
		<link>http://blog.cberger.net/2009/11/25/koffice-2-1-is-released-how-user-ready-it-is/</link>
		<comments>http://blog.cberger.net/2009/11/25/koffice-2-1-is-released-how-user-ready-it-is/#comments</comments>
		<pubDate>Wed, 25 Nov 2009 09:31:33 +0000</pubDate>
		<dc:creator>Cyrille Berger</dc:creator>
				<category><![CDATA[KOffice]]></category>
		<category><![CDATA[Krita]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[KDE]]></category>
		<category><![CDATA[Releases]]></category>

		<guid isPermaLink="false">http://blog.cberger.net/?p=849</guid>
		<description><![CDATA[Yesterday, we released KOffice 2.1, the first major release in the 2.x cycle. It brings many improvements over 2.0, providing a much more stable and rich full experience, you can read more details in the 2.1 release announcement. While 2.0 &#8230; <a href="http://blog.cberger.net/2009/11/25/koffice-2-1-is-released-how-user-ready-it-is/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Yesterday, we released KOffice 2.1, the first major release in the 2.x cycle. It brings many improvements over 2.0, providing a much more stable and rich full experience, you can read more details in the <a href="http://www.koffice.org/news/koffice-2-1-released/">2.1 release announcement</a>.</p>
<p>While 2.0 was clearly a developer release for developer, and for testing. For 2.1, we concentrated on fixing bugs, fixing some of the annoying issues, 2.1 is coming with many improvements in the MS Office filters, but 2.1 is still lacking in many area, for instance 2.1 comes with experimental support for displaying tables and formulas, but there is no support for editing them. Also there are still many rough edge in the UI. But the progress from 2.0 are astonishing, helped by the good base libraries (Qt, KDE and koffice), external help (Kevin Otten&#8217;s student and now Nokia).</p>
<p>While, in general, KOffice 2.1 is still not recommended for end-users. There are two exceptions, the first one is Karbon, while far to be feature full, is starting to become a very capable vector drawing editor, in 2.1 it get support for filters (only blur in 2.1, more is coming for 2.2). I personally use it a lot these days to create illustration for my thesis work. And Krita has made big progress in stability, with dozens of crash fixes for 2.1, and also include many of the new fun painting operation from Lukas, improvement in brush dynamic, recording of filters to create macro&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.cberger.net/2009/11/25/koffice-2-1-is-released-how-user-ready-it-is/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>The last bit of *magick dependency is now gone from Krita</title>
		<link>http://blog.cberger.net/2009/11/13/the-last-bit-of-magick-dependency-is-now-gone-from-krita/</link>
		<comments>http://blog.cberger.net/2009/11/13/the-last-bit-of-magick-dependency-is-now-gone-from-krita/#comments</comments>
		<pubDate>Fri, 13 Nov 2009 09:45:25 +0000</pubDate>
		<dc:creator>Cyrille Berger</dc:creator>
				<category><![CDATA[Krita]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[File formats]]></category>

		<guid isPermaLink="false">http://blog.cberger.net/?p=821</guid>
		<description><![CDATA[Since its birth, Krita has been depending on ImageMagick (or the GraphicsMagick fork). The original idea was to build Krita as a GUI on top of ImageMagick. When the current team (or at least its veterans) started to work on &#8230; <a href="http://blog.cberger.net/2009/11/13/the-last-bit-of-magick-dependency-is-now-gone-from-krita/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Since its birth, <a href="http://www.krita.org">Krita</a> has been depending on <a href="http://www.imagemagick.org/">ImageMagick</a> (or the <a href="http://www.graphicsmagick.org/">GraphicsMagick</a> fork). The original idea was to build Krita as a GUI on top of ImageMagick. When the current team (or at least its veterans) started to work on Krita, ImageMagick was only used for exporting and importing files.</p>
<p>But using an abstraction of file formats did not give us enough control on how the files are loaded and saved, so four years ago, we decided to have our own implementation of the most used file formats: png, jpeg and tiff. Then later, tired of having to adjust our code for each releases of ImageMagick, we turned to GraphicsMagick, a fork that claim to have API stability. But the long term plan has always being to remove the dependency, and to have our own implementation of the file formats (or to use libraries when relevant).</p>
<p>Things have been accelerated recently, when we discovered that recent version of GraphicsMagick crashes Krita in a very weird way, so we decide to remove the GraphicsMagick files filter, and to finish implementing the format ourselves. This has started with the PPM filter that was finished yesterday, and now I am taking care of the JPEG 2000 format using the <a href="http://www.openjpeg.org/">OpenJpeg</a> library. But this might mean that in the near future, some important file format such as <a href="http://www.adobe.com">Photoshop</a>&#8216;s PSD or <a>Gimp</a>&#8216;s XCF will not be available (but there is a Gimp plug-in to export to ORA which can then be imported in Krita).</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.cberger.net/2009/11/13/the-last-bit-of-magick-dependency-is-now-gone-from-krita/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>Inserting shapes/images in KOffice</title>
		<link>http://blog.cberger.net/2009/10/21/inserting-shapesimages-in-koffice/</link>
		<comments>http://blog.cberger.net/2009/10/21/inserting-shapesimages-in-koffice/#comments</comments>
		<pubDate>Wed, 21 Oct 2009 19:07:57 +0000</pubDate>
		<dc:creator>Cyrille Berger</dc:creator>
				<category><![CDATA[KDE]]></category>
		<category><![CDATA[KOffice]]></category>
		<category><![CDATA[Krita]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Tutorial]]></category>

		<guid isPermaLink="false">http://blog.cberger.net/?p=799</guid>
		<description><![CDATA[A while ago, in a praise of karbon 2.0 I wrote, someone commented on the &#8220;lack&#8221; of tools in karbon, as opposed to inkscape. And from forum posts, or identi.ca, it seems to cause some confusions. For instance, there is &#8230; <a href="http://blog.cberger.net/2009/10/21/inserting-shapesimages-in-koffice/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>A while ago, in a <a href="http://blog.cberger.net/2009/04/12/karbon-2-0/">praise of karbon 2.0</a> I wrote, someone commented on the &#8220;lack&#8221; of tools in karbon, as opposed to inkscape. And from forum posts, or identi.ca, it seems to cause some confusions. For instance, there is no rectangle or circle tool in karbon. And there will never be. The reason is that for KOffice 2, the tools are meant for user interraction, and for manipulating object in the canvas. Inserting shapes is done through the &#8220;Add shape&#8221; docker, which allow to manager your collection of customs shapes, as well as standard shapes, you can then just drag and drop the shape, or select a shape and then by clicking and dragging on the canvas you can select the size of the shape like with a tool. Once the shape is on the canvas you can go to the toolbox and start having fun with your shape.</p>
<div style="text-align:center;"><a href="http://cyrille.diwi.org/images/kritablog/karbon-add-shape-video.ogg"><img src="http://blog.cberger.net/wp-content/uploads/2010/11/karbon-add-shape-video.th.png" alt="video of karbon adding shapes" /></a></div>
<p>And of course, since the technology is shared, you add shapes to other KOffice application in the same way. To add a text in Krita ? Go to the add shape docker, drag and drop, and enjoy ! To add an image to your presentation in KPresenter ? Go to the add shape docker, drag and drop, and enjoy ! To add a smiley to KWord&#8230; you get it !</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.cberger.net/2009/10/21/inserting-shapesimages-in-koffice/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="http://cyrille.diwi.org/images/kritablog/karbon-add-shape-video.ogg" length="8340570" type="audio/ogg" />
<enclosure url="http://cyrille.diwi.org/images/kritablog/karbon-add-shape-video.ogg" length="8340570" type="audio/ogg" />
		</item>
		<item>
		<title>Shiva generator, krita and metaball</title>
		<link>http://blog.cberger.net/2009/09/24/shiva-generator-krita-and-metaball/</link>
		<comments>http://blog.cberger.net/2009/09/24/shiva-generator-krita-and-metaball/#comments</comments>
		<pubDate>Thu, 24 Sep 2009 22:06:00 +0000</pubDate>
		<dc:creator>Cyrille Berger</dc:creator>
				<category><![CDATA[Krita]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[OpenGTL]]></category>
		<category><![CDATA[CTL]]></category>
		<category><![CDATA[Graphics]]></category>
		<category><![CDATA[KDE]]></category>
		<category><![CDATA[Shiva]]></category>

		<guid isPermaLink="false">http://cyrilleberger.wordpress.com/2009/09/24/shiva-generator-krita-and-metaball</guid>
		<description><![CDATA[One of the new thing of the upcoming 2.1 release for Krita (among improved stability) is that the OpenGTL library is now even more integrated, which makes it even easier to write cool filters or generators for Krita. Today, I &#8230; <a href="http://blog.cberger.net/2009/09/24/shiva-generator-krita-and-metaball/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>One of the new thing of the upcoming 2.1 release for <a href="http://krita.org">Krita</a> (among improved stability) is that the <a href="http://www.opengtl.org/">OpenGTL</a> library is now even more integrated, which makes it even easier to write cool filters or generators for Krita.</p>
<p>Today, I will speak about generators. Since Krita 2.0, there is a special kind of layers in Krita: generators, it&#8217;s like a normal layer, except that the pixel are generated automatically. In 2.0, the only generator available was a plain color generator. In 2.1, you can write your generator using the Shiva language.</p>
<p><img src="http://blog.cberger.net/wp-content/uploads/2010/11/singleball.png" /></p>
<p><code><br />kernel Singleball<br />{<br />  const float radius = 0.1;<br />  const float ringradius = 0.05;<br />  const float ycenter = 0.5;<br />  const float ycenter = 0.5;<br />  const float2 center = { IMAGE_WIDTH * xcenter, IMAGE_HEIGHT * ycenter };<br />  dependent float pxradius, pxringradius;<br />  void evaluateDependents()<br />  {<br />    int image_size = min(IMAGE_WIDTH, IMAGE_HEIGHT);<br />    pxradius = radius * image_size;<br />    pxringradius = ringradius * image_size;<br />  }<br />  void evaluatePixel(out pixel4 result)<br />  {<br />    float2 vec = result.coord - center;<br />    float angle = atan2( vec.x, vec.y);<br />    float r = length(vec);<br />    if(r  (pxradius + pxringradius))<br />    {<br />      result = outsidecolor;<br />    } else {<br />      float v = (r - pxradius) / pxringradius;<br />      result = (1.0 - v) * ballcolor + v * outsidecolor;<br />    }<br />  }<br />  region generated()<br />  {<br />    region reg = { 0, 0, IMAGE_WIDTH, IMAGE_HEIGHT};<br />    return reg;<br />  }<br />}</p>
<p></code></p>
<p>The value of the input pixel is computed in <i>evaluatePixel</i>, while <i>evaluateDependents</i> is used to initialize some constants.</p>
<p>The actual version of this kernel can be found <a href="http://bitbucket.org/opengtl/shiva-collections/changeset/e70566ce05d1/#chg-generators/Singleball.shiva">here</a>, the full version contains configurable options for the center and radius.</p>
<p>Then to use your generator in krita you just need to copy it to <i>~/.kde/share/apps/krita/shiva/kernels</i>. As you can see, I have made a <a href="http://bitbucket.org/opengtl/shiva-collections/changeset/0211a21cfd52/#chg-generators/Metaball.shiva">metaball</a> generators, integrated in krita, with its option widget:</p>
<p><a href="http://blog.cberger.net/wp-content/uploads/2010/11/krita-metaball.png"><img></a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.cberger.net/2009/09/24/shiva-generator-krita-and-metaball/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

