How to begin ?
Boudewijn Rempt
boud at valdyas.org
Fri Aug 6 20:58:29 CEST 2004
On Friday 06 August 2004 20:38, Mr YouP wrote:
> Is there a topo somewhere for the "new C++ hacker in Krita" ?
Yes, indeed: http://koffice.kde.org/developer/krita. This is a bit out-dated,
but frankly, any documentation for any application that's still being
developed will be outdated. You should also read some of the discussion in
this mailing list since last October, particularly the "hacking Krita"
thread.
>
> When I test, I see some point that I could enjoy to code or debug, I list
> them :
> - freehand select
I'm working on this: this is also not an easy subject. Or rather, in my
current design it is, but it isn't done yet.
> - [free] transform (scale,rotate, etc.)
There is already some free transform code is kis_paint_device. This code has
the disadvantage of being rather simple. Bart Coppens has some ideas on
improving this. If you want to work on this subject, and like to start with
something manageable, you could do worse than:
* design a really good dialog box for free-form transform with Qt Designer.
(You could use ui/dialogs/wdgmatrix.ui as a starting point). Then you need to
finish ui/kis_dlg_transform, and call that from kis_view. Here, you need to
take the data from the dialog, make it into a QMatrix class, which you can
feed to KisPaintDevice::transform.
If you're into real hard math, however, you might prefer to contact Bart about
really cool anti-aliased transforms. If you're into really real hard math,
you could do a bicubic interpolating zoom.
> - layer mask
There is currently no support at all for masks in Krita, so this could be a
good start. I'm personally not sure about the difference between masks and
selections -- but that's just me. Keep in mind that I want selections to work
a bit different from selection in Gimp and Photoshop, in that I want, besides
the usual rectangle, circle and select-by-color, also a mode where I can
'paint' selections.
> - levels
Another interesting thing. I'm working (I need to focus: if you look back
about four weeks in the list archives you will find a list of things I was
working on before going on holidays) on a histogram widget, which could be
used in a levels dialog, I guess. For the rest, you need an extended
kgradientselect (IIRC) widget with three sliders, instead of one. It's a nice
challenge to do a custom widget like that.
I'd do the widget first, with some test scaffolding, and actually hook it up
to Krita only later. There's still some work done on the best method of
accessing image data. Keep in mind that Krita will have only 8 bits per
channel for the first release, but that we will move to a variable bit-depth
for the release after that.
> - split view
Doesn't that work already?
> Since, it's the first C++ project, I want to work on, so those features may
> be to ambitious for beginning (I don't know in fact ;))
Well, there's the old story, told in the Cryptonomicon, about the prince who
did manage to do the impossible because he didn't know it was impossible. So
I won't tell you you're being a bit ambitious...
Doing a levels widget could be a whole lot of fun: masks may be a bit much,
and for transform you need to have a bit of solid math, or at least, more
than I have. Selections are on my plate at the moment.
--
Boudewijn Rempt | http://www.valdyas.org/fading/index.cgi
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
Url : http://mail.kde.org/pipermail/kimageshop/attachments/20040806/24869df0/attachment.pgp
More information about the kimageshop
mailing list