[openbeos] Re: ShowImage "Mirror" Operations

Hi,

about simplicity.... it sounds nice as a "principle" and an "argument". But 
if you are really honest to yourself, your argument is really about what 
*you* think is the right level of simplicity. Somebody else could, with 
your exact arguments, decide to remove a feature that you thought was 
really great and useful. So what I want to say with this... backing up the 
argumentation with "because simple and elegant is the BeOS way" is not 
really helpful. I think the discussion should focus on what *we* can agree 
on that should be part of Haiku or ShowImage in particular (I know it is 
not easy). Up to now, I have heard not a single compelling proposal of how 
to implement rotation in a more elegant way than right within ShowImage.

* First of all, I think I have proven that the rotation by attribute is 
useless: The feature happens to work only on BFS volumes. It doesn't work
 - when your images are still on your camera
 - your images are on your FAT32 volume because you needed to download
   them on Windows because your camera is not supported by BeOS Mass
   Storage
 - you burn your images from BFS onto a normal CD-ROM that you can pass
   on to friends
The feature also doesn't work when your favorite BeOS imaging program 
ignores the attribute.

* Second, it is really easy to implement real rotation and special case 
JPEG. How many other image formats are there that are lossy? We talked 
about JPEG in the first place because it is so widely used. So solving the 
problem for JPEG and maybe thinking about how to solve it in a more general 
way (in the Translation Kit?) later is *just fine*. There is nothing wrong 
with that given our limited resources.

That being said, I have no problem with removing useless stuff from 
ShowImage, like dragging transparent clips within the image.

I also vote for giving Ryan commit access. There are some parts of 
ShowImage that can be refactored to be easier to maintain. The filtering 
stuff is not easily extendible. I wanted to add transparency, but I didn't 
have time to rewrite it all, so I made a poor hack, which doesn't work in 
some cases either...

Best regards,
-Stephan

Other related posts: