Archive for the 'pixy' Category

SourceForge and new icon for Pixy

Friday, November 17th, 2006

Let’s start for a more important news for you: I applied for Sourcefoge project hosting for some of the open source UIQ3 programs I wrote. So far StickIt is in CVS (and I will use the SF CVS host from now on, which means the latest version of the source code will be always accessible to the pubic ;-) ), and ClockSS and TOSC is comming soon (the projects are already created, I am importing the code in CVS now.

So, the URLS:

You can use the bug tracking services of SF to post bugs you find in this app. That way it will be easier for me to track them (since right now I got feedbacks, bug reports and feature requests from at least 4 different sources (forums, this blog, emails)). And it’s quite possible that I miss a few bugs.

And now some other topic: today I had to wait a lot (in a hospital), so I tested Pixy by creating some icons (40×40 and 64×64) for it. The 16×16 icon was also made by pixy. They are not perfect, but Pixy is already very usable (more usable then the previous/old UIQ2 version, thanks to the UNDO feature ;-) )

Here are the icons:

icon_small.pngicon_large.pngicon_xlarge.png

(Back)Porting Pixy to UIQ2

Thursday, November 16th, 2006

Well today I started to backport Pixy to UIQ2. Actually I started it yesterday, but I spent only a minimal time just to create the project file.

Now I finally have a version, which starts, most of the functionality is working. Still todo are:

  • The screen is flashing, I think I need to implement doublebuffering (or use Backed up window?)
  • Load/Save dialogs not implemented yet
  • Menu bar not implemented yet

But apart from these it seems the program is functional. So in a few days I might have an UIQ2 version as well.

Btw, I’m really curious, how many UIQ2 and UIQ3 owners are out there…

Pixy demo, clockss binary clock explanation, etc

Wednesday, November 15th, 2006

First of all, I released a demo version (save functionality removed) of Pixy v0.4: pixy_0_4_demo.sis.

Other changes:

  • Added command/tool to toggle between filled and not filled mode (now rectangle drawing takes into consideration this flag).
  • Added command/tool to toggle between use of transparency (usefull with the select tool)
  • Added tools Select and Sele w/copy: they are like cut+paste and copy+paste: select a rectangular area and move it or copy it elsewhere in the screen. They check the transarency (colorkey) flag.
  • Fixed some minor selection-rectangle renderig bugs

And now about ClockSS: There are 10 types of people: those who understand binary, and those who don’t ;-) Well, it’s an old joke, but I just remembered it :-)

For those who don’t understand the binary clocks: The filled circle corresponds to 1, the empty 0, in rest they are the same. To find out the current time, jus tconvert the two numbers from binary to decimal.

Let’s take an example, let’s suppose the hour sais: 01101. Each digit must be multiplided with a power of two, then summed together. We start from the right hand side: 1 * 2^0 = 1 * 1 = 1; The next digit is ‘0′ (0 * 2^1 = 0 * 2 = 0). Next is ‘1′ (1 * 2 ^ 2 = 1 * 4 = 4). Next is again ‘1′ (1 * 2^ 3 = 1 * 8 = 8) . Since the rest is all 0, we ignore it. So the result is 1 + 4 + 8 = 13. Piece of cake, right?

If anybody interested, normal binary led watches can be bought at www.thinkgeek.com ;-) When I saw them, that was the time I decied to make a binary clock screensaver for my P800… but I didn’t had the proper knowledge then… and i still don’t have it now :-)

Pixy v0.3

Tuesday, November 14th, 2006

I worked some days on pixy, and now I already have a working version. It’s not complete, but contains most of the functionality.

You can get more info about it (userguide, screenshots, PC versions) here: http://www.saxoft.com/pixy/. Yes, I said PC version: to make things easier for me, I do most of the coding on a PC version, then recompile for UIQ3. The PC version has the same functionality but a bit different look. I made versions both for linux and windows, so you can try it out on your PC.

And now the bad news: I decided that this program will be commercial. Yeah, i know, it’s way cooler to make freeware apps, but I have to make a living also. I will release a trial version soon (the only change from the fill version will be the lack of saving). But until then you can test the PC versions.

Any comments are welcome, I read them ALL!

And here is an animation, which shows the progress of making a teddy bear icon:

Making of a bear

And a slower version (so you can check out some functionalities of the program):

Slow bear animation

Some more progress on Pixy

Friday, November 10th, 2006

I didn’t had too much time for Pixy, so there is no big update. The changes are:

  • renamed it to Pixy from Pixie (by mistake the uiq3 rewrite I named pixie)
  • added png import/export functionality (emulator build only)

Some notes about emulator build only: I don’t use the emulator from the SDK, but rather an abstraction layer, which has implementations both in Symbian and in FLTK. In short I work in linux, and I made some extra code so I can compile the app for linux, using FLTK. It makes debugging much easier…. but it will have some effects on the app as well: the look and ui of the app will be rather strange. But I don’t care ;-)

And some more note about png import: it supports only indexed color images (color type #3), so it cannot import truecolor, or grayscale images. It doesn’t support interlacing or filters. But most of the programs doesn’t use these… actually sometimes they does, but in very rare cases. I successfully opened two images (4bpp and 8bpp) which were saved from gimp.

The program disregards transparency information, but I’ll fix that later. Although it will be limited: if there will be a transparent color, it will use the first color as transparent always… but who knows, if I’ll have enough time, I’ll make a proper implementation ;-)

The export method simply saves 8bpp indexed files. Doesn’t save the transarency yet and adds a text chunk as well (to indentify the software ;-) )

There are still a few features i want to finish before releasing it:

  • add commands/menus
  • add possibility to edit colors (add, change)
  • add possibility to change tool icons
  • settings for changing the number of toolbar and palettebar lines
  • add pan tool (right now the image view cannot be scrolled). I rather not use scrollbars, since they just waste a lot of time, it’s hard to draw near them, since you migth click on them accindently. So instead I will add a simple pan tool.

I think that’s all. Maybe I will wait till the UNDO functionality will be there too, but not sure in that.
Well, that’s it for today.

Progress on Pixie

Monday, November 6th, 2006

Well, in the weekend I was working on Pixie, and there is significant progress: the pen tool is working -) But no loading/saving yet.

The most interesting part is the development process: I created a stub application in FLTK and worked on it in FLTK using some simple abstract interface. The just implemented the interface in Symbian, and recompiled it. Of course it didn’t work at first…neither the second time… abut after a few hours it worked:-)

For the main view I created my own Widget class (the screen components are pretty simple anyway). I also created a simple Graphics class, which has implementation for FLTK and for Symbian as well. Using those it was pretty easy to make a first version of the game (of course some other classes were needed as well, like Event, etc).

But I’m afraid I have to think of a new solution for dialogs, since the program will need some extra views/dialogs as well.

One of the possibility is to use some new classes, with dual implementation.

The other is to use the same Widgets as I use in the main screen.

I think the second option will be easier (and faster and easier to debug), but won’t have the native look and feel…

Btw, it would be really interesting to implement the control framework using FLTK -)

Pixie for UIQ3 - Concept & design

Thursday, November 2nd, 2006

Well, it’s about another new UIQ3 prgogram… Well, not quite new, I want to rewrite PIXIE for UIQ3, but with a better design.

Since I don’t have too much time for coding, I want to do the design part well. So, let’s take it step by step

Step 1) What will be Pixie?

Pixie will be a pixel-art oriented image editor. Ie. you will be able to create and edit indexed/palettized raster images (mainly PNG format). So it should support at least load/save, zoom, paint tool and palette editing. Optionally it should support copy/paste with different selection shapes, fill/line/circle/ellips tool, palette loading/saving, layers, etc.

Step 2) How would it look like?

Well, I made a quick concept image:

Pixie UIQ3 concept

Some explanations:

  • Top status bar should remain, it occupies really small place and it’s good if people can see the battery state, can switch tasks easily, etc.
  • The bottom softkey bar is also need to access the menu. The “UNDO” function should be at a very easily accessible place
  • The application title area is removed, no need for that, occupies too much space
  • In the top left is the 1:1 zoom area
  • Next to it (to the right) are the customizable controlls: the toolbar, the palette bar and info bar.
  • The rest is the X:1 zoom area (with optional grid)

I was thinking that the 1:1 zoom area should be resizable, the right edge should be able to moved left/right, the controll area will be resized as well. So users can choose between more controlls or bigger preview area. Also it should be resized vertically, by turning the infobar off, or increasing the number of lines of the palettebar.

The toolbuttons should be totally customizable: a long press of them would allow the user to change them (ie. to select from the full list, or to select an empty tool). In fact they would be allowed to select one of the tool_commands.

The keys should be remapped as well, to any key any command could be mapped. Commands are tool_commands + some additional command. Ie users could map to any key any tool command or some special commands, like: select next tool, select previous tool, select next color, select previous color. For example if somebody uses most often the pen and pick tool, he sets as his first (maybe only) tools in the toolbar these tools, and assigns the jog up/down to next/previous tool. Thus he can change quikly to pick and pen by the jog dial.

The palette bar should be customized. It doesn’t neccessarily match the image palette. It could be a sub region or a totally random subset. Ie. it can be for example colors “0 to 10″, or “12 to 23″, or colors “1, 34, 2, 5, …”.

One click selects the color, double click changes the color to another one from the palette. Long press changes the color’s RGB components.

Well, that’s if for today, more ideas will follow soon