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)