Menu

PhotProcDevel

Andrew

Checkout with Mercurial (Hg). I recommend TortoiseHg, it's great.

You need QtCreator to build and debug the project.

The user interface is all done in "QML", which means you can change the user interface entirely within QtCreator and not have to do much programming. The "Design" pane lets you edit the UI. You can do bits of programming in JavaScript inside the QML files. It's quite easy! The only oddity is that I have converted PhotProc to work in a multi-platform way. This means that when you edit the UI, you see a generic set of buttons and not the ones that actually appear on the phone or desktop.

PhotProc can be built to run on Windows. It doesn't have an installer and the user interface is a little strange, but it does work.

The project is really in 2 main components: The C++ component that does all the work, and the QML component that provides the user interface. The C++ component creates 4 classes:

  • PhotoImageFilter (which is exported to QML) this provides all the user interface features to QML

  • ProcessThread (which does background processing for the preview)

  • JobQueue: This lets the QML enqueue jobs to save images. Without this you can't save images.

  • SaveThread: This is the thread which does all the saving in the background.

There is another component: libjpeg. This is taken from a Symbian port of libjpeg, slightly modified to use 32-bits for YUV instead of 24-bits for RGB (to be compatible with Qt).

Currently, there is little to no documentation. I'll do some at some point. Most of it is quite logical now though, so you should be able to work it out. Adding new filters is quite easy.


Related

Wiki: Home

MongoDB Logo MongoDB