SimpleView 1.1

0. New !
First there was a little problem with the popup menu inside the windows : as
I called Go() from MouseDown() the popup menu was running on the window thread
and the window couldn't redraw. Now MouseDown() posts a message to the app
main thread, which runs the popup menu, and the window is ready again for
redraws.
Secondly I put the binary in the archive. That way you'll have the icon.

1. What is it ?
  Here is SimpleView, a viewer for the targa and qrt files povray creates.
It is for BeOS 1.1d6. There are some bug workarounds, so don't try to use it
under another BeOS release.
  It will load the qrt and targa 24 bits true color (only the 24 bits not
compressed, not color mapped, right side down files). As these files don't
have a true header, nor type and creator info, they are identified by their
extension : .qrt and .dump for qrt files, .tga and .targa for targa files
(not case sensitive).

2. Where to find it
  Look at ftp.be.com, ftp.amigalib.com, ftp.bespecific.com

3. Boring stuff
  The code is entirely mine, though I used the povray source code as a
documentation for the formats.
The entire program is copyrighted by Benoit Triquet, 1st release 16 jan 1996.
  It is placed under the terms of the GNU general public license version 2
(see the file GPL).
  Bug reports and comments are of course welcome, though I won't work on it
any more, except perhaps to add GIF/PNG support. Or do it yourself :-)
  Of course I'll update it for subsequent releases of the BeOS !

4. Bring it to work
  If you want to recompile: open a shell, go to the right directory and type
make.

5. How to use it
  SimpleView is a single launch application, that is if it's already running
the following will pass the appropriated messages to the running instance.
  You can start it either from the browser or the command line, with or
without arguments (names on the command line or drop of icons in the browser).
  If you gave arguments but not even one window got opened, the program will
quit. If you didn't gave arguments it will pop up a file panel, and will quit
if you don't make a valid selection.
  Once you have loaded at least one picture, you'll see it in a window, with
scrollbars. The windows will open at either the size of the picture or 80% of the
size of the screen. They will all be at the same coordinates, too.
  There is a menu that you can call either by the master menu or the right
button inside the picture. It's quite simple, info, open another pic, a list of
the opened windows. You select one, it gets activated.
  You can move the picture inside its view by holding the left button.

6. The source code ?
  Look at the various comments, to see several bugs and their workarounds.
The bugs and their workarounds are explained in the source code (*BUG* mentions).
They are among others :
  - the open file panel which closes itself (DON'T use CloseFilePanel( ),
IsFilePanelRunning( ) seems unreliable),
  - and reports the directory it was opened in instead of the parent
directory of the actual selection,
  - the BScrollBars that leave crap on redraws, and should be 9.0f dots wide
rather than 11.0f to fit the resizing tab of the type 11 windows,
  - the SetLimits( ) whose ranges apply to the total size of the window
(which of course depends on gadgets like the title tab we know nothing about),
  - the BFSItem GetName( ) function which HASN'T been replaced by Name( ) the
1.1d4 release notes talk about (the headers, them, have a GetName( ) member). But
BWindow::GetName( ) HAS been replaced :-),
  - and last but NOT least, when using a BBitmap in COLOR_8_BIT, to initialize
it through SetBits with RGB_24_BIT data which is 8 bits per gun PLUS 8 bits for
alpha channel, so 4 bytes per pixel, you actually have to provide true 24 bits per
pixel WITHOUT alpha channel rgb data, and give a size of 3 * the number of pixels
you fill, and not 4.

That's all.

Benoit Triquet - independant developer on the Be machine
12 rue du pic d'Orhy
64130 MAULEON
This is really snail mail, much preferred is :
triquet_ben@lsi.supelec.fr (or eventually triquet@esesd1.supelec.fr)