[prev in list] [next in list] [prev in thread] [next in thread] 

List:       koffice-devel
Subject:    [GSoC proposal] Calligraphy tool for Karbon
From:       Fela Winkelmolen <fela.kde () gmail ! com>
Date:       2008-03-29 15:36:59
Message-ID: 200803291637.00376.fela.kde () gmail ! com
[Download RAW message or body]

Hi all!
I'm posting this draft of my Summer of Code proposal to the mailing list in 
case anybody has any comment or suggestion (which are very wellcome!)
bye,
- fela

=======================================================
== Synopsis ==
Implement a calligraphy tool for Karbon, inspired by the one present in 
Inkscape[1].

== Expected Results ==
This are the parameters with which the tool will work (from the user's point 
of view):

* Pen width: this and the contour will decide the actual width of the stroke. 
I will have to decide if it's better to have it's size relative to the 
editing window (as it is in Inkscape) or in absolute size (independent from 
zoom). The user should be able to change this parameter while drawing, using 
the keyboard.

* Contour of the quill: will determine the stroke depending on the pressure, 
when supported by the input device, or on the stoke speed otherwise. A "V" 
shaped contour would behave like the Inkscape calligraphy tool[1].

* Angle & fixation: as implemented in Inkscape[1], the angle should be 
changeable while drawing. There should be an option to use the angle of the 
input device when supported.

* Mass & wiggle: as implemented in Inkscape[1], maybe it would be nice to make 
it available to the whole koffice for freehand tools, in the same way you can 
now approximate to a curve using the exactness parameter. Investigate that 
possibility.

== How I will proceed ==
1. Getting to know the architecture of Karbon well and getting comfortable 
with the code. Understand how the operations will need to be implemented 
(making a rough design).

2. Write the code, implementing most needed features. The usability of the 
user interface isn't a priority yet at this stage, it's just so that I can 
play with the various options etc.

3. Find out how exactly the various parameters should interact with the 
behavior of the tool. This means mostly testing, and then adapt the code to 
the results of the testing. My roomate, who draws a lot, can help me with 
this, and I will try to get feedback from other people too (for example 
posting on the mailing list).

4. Polish the user interface, making it as usable as possible.

5. Write a tutorial to use the tool.

Obviously these phases won't be strictly sequential but there will be some 
level of iteration.

I'll start to work on the project in begin May as in June/July I'll have to do 
exams, so I'll have less time. I plan to work 30-40 hours a week on average 
on the project. If I see that I will be short on time I can postpone the 
exams to September and spend more hours on the project.

== About Me ==
I'm at the third year of my Computer Science study (the curriculum I'm 
following is "Graphics and Images").
I started using Linux and KDE seriously three and a half years back, it was 
then that one day I definitively removed Windows from my system because I 
needed more space =) I learned myself C++ and Qt over time, and am actively 
involved in KDE only since a few months: in October I volunteered as 
maintainer for KNetWalk.

I would love to implement this feature in Karbon, as it's the main feature 
that keeps me using Inkscape, which is a great application, but doesn't 
integrate as well into KOffice and KDE. It also will be a good excuse for me 
to buy a graphics tablet =)

== Contact Information ==
email: fela.kde@gmail.com
jabber: fela@jabber.org
IRC: fela @ freenode

----
[1] http://www.inkscape.org/doc/calligraphy/tutorial-calligraphy.html
_______________________________________________
koffice-devel mailing list
koffice-devel@kde.org
https://mail.kde.org/mailman/listinfo/koffice-devel
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic