BlueEyes
Introduction
Blue Eyes is a complete Image viewer integrated in a powerful file explorer.
The image viewer can:
?	Support a lot of normal files (*.jpg,*.bmp,*.png,*.gif,*.jpeg,*.ico,*.ota,*.png,*.tiff,*.wbmp,*.wmf,*.jfif.
?	Support animated (or container) files such *.mbm and *.gif (animation and transparency support).
?	View *.zan files. It is a new kind of animation file, that you can easily create yourself. Check the specific help section about this file format
?	Cycle through all the images of a directory (or of a specific request result)
?	Zoom into the image. The image can be automatically zoomed to best fit the screen size. A visual impact is performed when reaching some specific zoom levels (fitted to screen, normal size)
?	Rotate the image (this can automatically done to best fit the screen size)
?	Scroll the image (this is always possible using drag n’ drop on the screen)
?	Change the speed of the animation file. The speed animation can be very quick, thanks to the ‘stored in memory’ frames and to the direct screen access of BlueEyes.
?	Study each frames of an animated image using the step by step display (forward and backward)
?	Perform a Slide Show of a defined delay.
?	Be controlled via the jog dial or via an on screen display (OSD) displayed onto the possibly animated image.
?	Display in the OSD, information related to the image display and animation.
?	Add a coloured (according to the image itself) background around the image when the image is smaller than the screen.
?	Preload the next and the previous images for a quicker display.
?	Go into a degraded mode (using low colours or reducing the image size); if there is not enough memory.
?	Permanently set the light on, during the image display

The file explorer can:
?	Explore a directory hierarchy. The list representation linked with a scroll bar allows a quick access to the different items.
?	Images contained in archive files like *.cbz and *.zip can be accessed.
?	Add some favourites to the main directory list, thus providing some quick access to the preferred folders
?	Perform some specific searches in multiple directories and using wildcards and recursive support. Those requests can be saved as favourites too
?	Sort and randomise the list of files and directories
?	Display the thumbnails of the internally supported images. Some other icons are used for files such directories, archives and favourites.
?	Launch any file with it’s default viewer (executables are supported)
?	Open a file with a specific program (the specified program may support this option).
?	Send a file via Bluetooth, IR, mms,
?	Set a selected image as the internal or default theme background.
?	A resized and rotated image can be created from another one.
?	Files can be renamed and deleted.
?	Get some information about a file (such as it’s name which can be copied to the press paper)
?	Be full screen, in order to maximise the display.

The configuration dialogs are a big part of BlueEyes, Thanks to them, you’ll be able to personalise its Look, Layout, Behaviour and special effects.
The included help file is complete and explains all the features and options of BlueEyes
In BlueEyes, everything can be done either using the jog dial or using the touch screen.
Some fancy animations and sound effect are included (they can be deactivated). They are partly performed when entering, exiting the program and while cycling from one image to another.
BlueEyes supports shell association. You can launch it giving a file as parameter. If the file is an image, then it will be internally displayed.
The new *.zan file format is directly associated to BlueEyes. Thus clicking on a *.zan file in any file browser will launch BlueEyes. Associating the images files to BlueEyes is possible. It will then replace the default image viewer of your phone.
Blue eyes look can be integrated to the phone's one thanks to a theme support
History
•	1.21: 
* New: Option to avoid unzipping in a separate thread. Deactivation can be useful for Motorola users.
* BugFix: Opening an image with BlueEyes as default viewer was not working all the time.
1.2: 
* New: SmartNavigation view mode added. This configurable mode allows to easily view/zoom/scroll and navigates through different big images (i.e. a comic book). See the SmartNav part of the doc for a full explanation
* New: *.zip and *.cbz file format support for image viewing: file is opened as if it was a directory
* New: Long animated gif support (not stored in memory). no limit of the number of frames in the animation
* New: improved degraded mode (better implementation, changes in the colour palette, configurable)
* New: if reducing the colour is not enough, then the size of the image is reduced
* New: Quicker: Load of the thumbnails / Next and Previous Image display / Random and Sort algorithm / scroll of a resized image
* New: Better nicer resize algorithm. This pretty resize is done in background and is used for both zooming in and zooming out an image.
* New: Better zoom constraint: the image cannot be outside the screen if it is not necessary
* New: exe and app files can be launched from explorer. If the app already exists, then the focus is given to it (without creating a new instance of the application).
* New: Export to file option added. A resized and rotated image can be exported to a new file (different format are possible).
* New: Renaming and deleting a file is now possible.
* New: Loop option available for scrolling lists (in Slide Show, OSD, browse, View and SmartNav modes)
* New: Some icons can be displayed for directories, archives and favourites
* New: It is possible to choose the default View mode
* New: BlueEyes can be optionally set as the default image viewer automatically launched to view an image file
* New: BlueEyes can be opened with any file given as parameter (file will be opened internally or externally). If the file given as parameter is internally supported, then 'Exit' will be added to the OSD
* New: Menus and Configuration changes. Some new options have also been added.
* Bug Fix: memory leak when image could not be loaded
* Bug Fix: better refresh rate when moving slow animated files.
* New: Various bug fixes and improvements.
•	1.1: 
* New: Full screen List mode added. You can switch to Full screen via the main menu ("Blue Eyes"). Once in full screen, clicking on the top left icon (triangle or square) will bring up a pop-up containing various options (like "quit" or "cancel full screen").
* New: "Send As" functionality added (send the selected file via Bluetooth, IR, mms...)
* New: "Open with" functionality added. Use it at your own risk since most of the programs won't support it. (i.e., opening a file with the internal notepad (jotter) will make notepad delete this file because it will not recognise the file and then find that the file given in parameter is corrupted!). A dialog is preventing a wrong manipulation. It can be removed from behaviour options
* New: Better '*.gif' support. Now the specific delay of each frame is taken into account. The speed can still be changed relatively to each frame delay.
* New: The animation speed of *.mbm and *.zan files are persisted (separately)
* Menu Changes to make them thinner
   - "Set As Internal Background" -> "To Internal Bkg”
   - "Set As Theme Background" -> "To Theme Bkg"
* New: The top left arrow become square in list item mode. This way, the 2 list mode can be identified more easily.
* Bug Fix: removed E32UserCBase:18 error when using Ascendant sort on empty lists.
* Bug Fix: Memory was not fully released when a big file could not be opened.
•	1.01: 
Small bug fix about application background saved from one session to another.
•	1.0: 
First release of the Application.
Item List View
In this view mode, you can manage the different items (favourites). You can do this using the main or the contextual pop-up menu.
Items can be created, edited, removed, and moved up and down in the list.
You can create as many favourites as you want. They are persisted
If a star icon is displayed instead of a directory icon for a favourite, it means that the item is recursive and it may take some time to create the list
If in full screen mode, clicking on the top left square will bring a popup allowing access to different options (such as  ‘Quit’ ‘Cancel Full screen’)
File List View
In this view mode, the files found by the item request (created in the item list view mode) are listed.
This list can be sorted and randomized using the menu or the top right icon.
The top left icon (and the 'top' menu item) will switch to the Item List view mode.
If in full screen mode, clicking on this top left triangle icon will bring a popup allowing access to different options (such as ‘Quit’ ‘Cancel Full screen’ and ‘top’)
The top middle area displays the current folder (and wildcard) or the name of the item used to get the list. Clicking on it will allow you to change the current request (directory, wildcard, and recursion)
Clicking on a file will open it, internally or externally. If internally supported, the view will be switched to the full screen Image view (using the default view mode defined in the Global configuration dialog).
With a file selected (via the top or pop-up menu), you can display the file info, set the image as internal or theme background.
Clicking on the first list item ".." (or selecting 'up' in the menu) will let you browse, the upper directory.
Image View
This mode shows the image.
Dragging the screen will scroll the image.
Clicking on the screen or pressing the jog dial will show the OSD allowing changing some parameters related to the image.
Using the jog dial up and down will have different effects (zoom/rotate/cycle…) depending of the selected mode in the OSD.
In SmartNavigation mode, the behaviour is slightly different, check the SmartNav part for more information
OSD View
In this mode you can control some image parameters like the zoom, the rotation, the animation speed, the slide show delay, and the animation steps.
You can goes back to the file list view mode clicking on 'browse'.
To change those image parameters, you can either select the main line item and then use the jog dial or you can directly use the on screen plus, minus and arrows.
To launch the slide show, simply click on the slide show main item. 
Zan file format
This is a simple animation format I created in order to play short high quality animations with a high speed constraint.
(The problem of the animated gifs was the low colour limitation and the simple loop animations).
This format can use high colour images and can show those images either looping them or playing and rewinding them forever.
Since this is new file format, I associated BlueEyes as the main viewer of this file format. In any file browser, clicking on a *.zan file will launch BlueEyes.
To construct such a file you need to prepare in a directory the images (steps of the animation) renaming them either in the 
* "image1.jpg", "image2.jpg" ,… "image26.jpg" .. format
* "image001.jpg", "image002.jpg" ,… "image026.jpg" ... format
When the images are ready, you can add 3 empty special text files to the directory 
* "Duplicate.txt" will duplicate the first and last images when displaying the animation
* "Reverse.txt" will reverse the animation instead of looping it.
* "UseLowColors.txt" will force the use of 256 colours during the animation display (this will consume less memory)
These were the 3 options I needed, but I could add some more on demand.
Once all those files are ready, you just have to zip the full directory and to rename the *.zip file to *.zan. The zip compression rate should be equal to 0, since *.jpg files are already compressed and for a faster *.zip decompression.
Since all those images will be stored in memory for a quick animation, an animation with a high number of frames or with a high resolution will be hardly loaded and displayed.
Some samples of *.zan files should be available on my web site http://Gnese.free.fr/

Add Item
From This Dialog, you can add a directory Item. 
"Name»: Name that will be displayed in the list
"Directory»: List of directories to search. Paths in this list must be separated by a semicolon character, but a semicolon is not required after the final path. Directories must be fully qualified, including a drive letter and the name must end with a backslash (i.e.: "D:\Media files\audio\;C:\documents\Media files\audio\")
"Files»: Filename to search for. May contain wildcards. (i.e.: “b*.jpg”)
"Recursive»: Check this box to make the search recursive in all the specified directories
Edit Item
From This Dialog, you can edit an existing directory Item.
"Name»: Name that will be displayed in the list
"Directory»: List of directories to search. Paths in this list must be separated by a semicolon character, but a semicolon is not required after the final path. Directories must be fully qualified, including a drive letter and the name must end with a backslash (i.e.: "D:\Media files\audio\;C:\documents\Media files\audio\")
"Files»: Filename to search for. May contain wildcards. (i.e.: “b*.jpg”)
"Recursive»: Check this box to make the search recursive in all the specified directories
Remove Item
From This Dialog, you can delete a directory Item.
Only the list item is removed in Blue Eyes, the directory itself is of course not deleted.
Look Configuration
From Here, you can change the Look of Blue Eyes.
“Use System Font”: set this option to true if you want to use the system font (may be a true type one) instead of the default "SwissA" one. (Default = true)
“Font Size” is the size of the font in pixels. Note that not all sizes may be supported, depending of the font used (Default = 12)
“Show Text Outline in list”: set this option to true if you want to have an outlined text in the main list. Outlined texts have a better visibility but the drawback is that they are slower to be displayed. (Default = true)
“Show Text Outline in OSD”: set this option to true if you want to have an outlined text in the OSD. Outlined texts have a better visibility but the drawback is that they are slower to be displayed. (Default = true)
"Use Theme Background»: set this option to true if you want to use the Symbian theme’s background instead of BlueEyes’s one. This does may not work on the P800. (Default = true if P900, false if not)
"Background File" is the image file displayed in background. If the file is not correct then, a grey background will be displayed. This filename can be automatically changed using the appropriate menu item (Default = "INSTALLATIONDRIVE:\system\apps\BlueEyes\Images\Background.jpg").
"Use Phone’s Colours»: set this option to true if you want to use Phone’s default colours (according to the current theme) instead of some specific ones. (Default = true)
"Selection Colour" is the border colour of the selected item.
"Outline Colour" is the border colour of the unselected item.
"Scrollbar Fill Colour" is the filling colour of the scroll bar.
"Text Colour" is the colour of the text (and the arrow).
"Text Outline Colour" is the colour of the outline of the text (and the arrow).
“Set selected item transparent”: set this option to true if you want to have a semi-transparent background under the selected item. Using this option may result in a slower display (Default = true)
“Selected item colour” is the colour of the background of the selected item if the option “Set selected item transparent” is set to false
“Adaptive image background”: set this option to true if you want to have some coloured borders around the displayed image adapted to the image itself. Basically, the top left pixel colour is used as background colour. (Default = true)
“Image background colour” is the colour of the borders around the displayed image if the option “Adaptive image background” is set to false. (Default = black)
Layout Configuration
From Here, you can change the Layout of Blue Eyes.
“Show Icons”: set this option to true if you want the Icons to be displayed. They allow a quick preview of the image or file type in the list before displaying it. (Default = true)
“Icons max width” is the maximum width of the Icon. The maximum height is determined according to the number of displayed items in the list. (Default = 25)
“High Res Icons”: set this option to true if you want the Icons to have a high colour resolution (the maximum phone's resolution). If set to false, a 256 colours palette will bee used (taking less memory). (Default = false)
 “Nb Items” is the number of items displayed in the list. The more items there are, the more the list will take time to be displayed and smaller the Icons will be (Default = 9)
"Margin Size" is the space (in pixels) between the different items. (Default = 2)
"Scrollbar Width" is the width (in pixels) of the scrollbar displayed on the right. (Default = 16)
“Top list bar height” is the height (in pixels) of the top bar containing the directory and the top and sort buttons. (Default = 20)
“Top list button width” is the width (in pixels) of the top and sort buttons. (Default = 23)
“OSD symbol width” is the width (in pixels) of the small buttons in the OSD (containing the "+","-","<" and ">" symbols. (Default = 20)
“OSD rounded corners” is the value in pixels of the diameter of the rounded corners of the items displayed in the OSD. Set this value to 0 to get the quickest display. (Default = 10)
“Show info in OSD”: set this option to true if you want to have some additional info displayed in the OSD. It will take more time to be displayed (mainly if outlined text is used) but it will allow to get some information about the current image or animation (Default = true)

Behaviour Configuration
From Here, you can change the way BlueEyes will react with you.
 “Auto external open”: set this option to true to allow external launch of the not internally handled files when clicking on them in list view. (Default = true)
 “Slideshow increment” is the value (expressed in 1/10 of second) used to increase or decrease the slideshow delay. (Default = 10)
“Delay for Popup display” is the delay value (expressed in 1/10 of second) necessary to trigger the contextual popup of the list files or items. (Default = 7)
 “List scroll from middle”: set this option to true to centre the selected item in the list during list scroll. If set to false, the selected item can move freely in the list. (Default = false)
“Loop in Browse”: set this option to true to make the ‘Browse’ list cyclic. (Default = false)
“Loop in Cycle”: set this option to true to make the list in ‘Cycle’ mode cyclic. (Default = false)
“Loop in SmartNav”: set this option to true to make the list in ‘SmartNavigation’ mode cyclic. (Default = false)
“Loop in Slideshow”: set this option to true to make the ‘Slideshow’ loop or stop at end. (Default = true)
“Loop in OSD”: set this option to true to make the ‘OSD’ list cyclic. (Default = true)
“Invert wheel if rotation”: In Cycle or SmartNavigation modes, you can go from one image to another one. This navigation can be done thanks to the wheel (up/down) of your phone. In portrait view, the key mapping is the following one:
Up = previous image, Down = next image.
In landscape view (if the image is rotated) it can be more natural to have this configuration inverted. Set this option to true to do it. (Default = true)
“First image based”: The use of the ‘invert wheel if rotation’ option, can be very disappointing if you switch a lot of times between portrait and landscape view. Set this option to true to make the initialisation of the key mapping only ones (when the first image after Browse mode is displayed) (Default = true)

Global Configuration
From Here, you can change the some global parameters of BlueEyes.
“Main Image Viewer”: BlueEyes can be used instead of the default phone’s image viewer. Set this option to true to automatically launch BlueEyes when you select an image file from you phone’s file explorer. (Default = false)
“Force light in view”: set this option to true to have the light of your phone always on during the image view (not while in the list view). (Default = true)
“Save last visited directory”: set this option to true to save and restore the last visited directory (or the last request). (Default = true)
“Display OpenWith Dialog”: set this option to true to have the openWith dialog display. This can avoid wrong manipulation, since, this operation may cause problems. (Default = true)
 “Fit image to screen”: set this option to true if you want the image to be automatically zoomed to fit the screen. (Default = true)
“Rotate Image if needed”: set this option to true if you want the image to be automatically rotated to best fit the portrait or landscape view. (Default = true)
“Rotate Icon accordingly”: set this option to true if you want also the Icon to be rotated the same way. (Default = false)
“Internal Start Mode” is the view mode that will be used first when you will click on an image file in the internal BlueEyes browser. (Default = Cycle)
“External Start Mode” is the view mode that will be used first if BlueEyes is launched with a file in parameter (i.e.: if BlueEyes is the main image viewer).Default = Cycle)
System Configuration
From Here, you can change the system part of Blue Eyes. Those options should not really be changed, but depending of your phone’s capacity, it could be useful to activate/deactivate or tune some parts.
“Enable Pretty Resize”: set this option to true to allow BlueEyes to create, in background, a nicer resized image than the current one. (Since this nicer algorithm takes some times, a quick resize is done thirst). When the nicer image is available (if there was enough memory), the new image is displayed. (Default = true)
“Enable Degraded Mode”: set this option to true to allow BlueEyes to degrade the colour and size of the image if there is not enough memory. The algorithm used is, if not enough memory is available, to reduce the colour of the image (decreasing them one by one).If there is still not enough memory, the size is decreased (up to 3 times). If still no memory is available, then the image load fails. (Default = true)
 “Minimum Degraded colour” is the minimum allowed colour for colour degradation. (Default = 256)
 “Enable Preload”: set this option to true to allow BlueEyes to preload the next and previous image. (Default = true)
“Preload after first frame”: This preload can be done right after the first frame display. That is what will be done if this option is set to true. If set to false, the preload will be done once all the frames of the animation will be displayed (Default = true)
“Preload previous image”: It could be useful to only preload the next image. Uncheck this option to do this. (Default = true)
“Preload full size image”: Normally the image is preloaded full size. Uncheck this option to preload only the screen fitted size (this fitted image is displayed to get something quickly displayed on screen; the real full load of the image may then come after). (Default = true)
“Delete Icons if memory needed” : set this option to true to allow BlueEyes to delete the Icons from memory if there is not any memory left to display (or rotate) the current image (or animation). (Default = true)
“Restart Animation if low memory”: if there is not any memory left to display an animated image (i.e.: long Gif files), then the animation is not stored in memory anymore. With this option set to false, some memory will be free during the animation, making it quite slow during some time. Another solution can be to stop the animation (and restart it in a special mode which will consume less memory). Set this option to true to use this implementation instead. (Default = false)
“Unzip in thread”: Uncheck this option to make BlueEyes use a single Thread. If checked, a special thread is used to unzip some files (zip, cbz, zan) making the application quicker and more user reactive. Deactivating this option may be useful for Motorola users since it should correct a ‘BlueEyes_Unzipper error” (Default = true)
Effects Configuration
From Here, you can change some special effects of Blue Eyes.
“Sound effects”: set this option to true to get some sound effects during start-up (if animation) /shutdown (if animation) /image transition. (Default = true)
“Volume” is the volume of those sound effects. The max value for the volume is 5. (Default = 5)
“Animated Transitions”: set this option to true to have some animated transitions when cycling from an image to another one. (Default = true)
“Animate when OSD”: set this option to true to enable animated transitions when the OSD is displayed. Animation with the OSD can be quite slow (Default = false)
“Animated Startup” : set this option to true to have an animation at start-up of the program. (Default = true)
“Animated Shutdown”: set this option to true to have an animation at shutdown of the program. (Default = true)
“Arrow Animated”: set this option to true to have a blinking arrow displayed in SmartNavigation Mode when switching from one image to another if the image does not fit into the screen (this acts as a visual indication that another image will be displayed instead of scrolling into the current one). (Default = true)
 “Fit / Real size animation”: set this option to true to have a blinking screen border indicating that the image has reached its screen fitted or full size. (Default = true)
SmartNav (and Configuration)
The SmartNavigation mode is a special view mode combining, point/area zoom, intelligent/manual scroll and next/previous image display. This mode was mainly designed to navigate into big images (if you wand to zoom into particular parts) or to navigate through the different images of a comic book.
Click on the screen, or double click on the wheel (then selecting another time the ‘SmartNavigation’ mode) to switch from the fitted size to the full size of the image. Click on a special point of the image to make the full size zoom centred on it.
‘Drag and drop’ on the fitted size image to select an area that will be zoomed in order to be displayed in the whole screen area.
‘Drag and drop’ on the not fitted size image and you can move the image.
If the image is not fitted, use the jog dial up and down to navigate into the image, the steps of the scroll can be configured. The scroll is ‘intelligent’ (i.e.: If you reach the right side of the image, then the image will be moved at the bottom left next part). When you reach the bottom right part of the image, the top left of the next image is displayed (potentially with a visual or key confirmation). The zoom value will be kept from one image to another
The up and down key will act differently depending of the rotation of the image.
If the image is fitted, jog dial up and down will reach you directly to the next or previous image
To make the OSD displayed you can either push the jog dial or you can click in one of the 4 hot corners.

Here are the different options to configure the special ‘Smart Navigation’ mode of Blue Eyes.
“Previous/Next confirmation”: set this option to true to have key confirmation before switching from one image to another if the image does not fit into the screen (the wheel is also used to scroll into the image). (Default = true)
 “Hot Corner Size” is the size in pixels of the hot corners. Click in one of those corners to display the OSD (Default = 15)
“Scroll nb steps” is the number of animation steps used to display the scroll of the image (using the up/down keys) (Default = 3)
“% width increment” is a percentage of screen width moved for one horizontal scroll. (Default = 45)
“% height increment” is a percentage of screen height moved for one vertical scroll. (Default = 100)
“% invisible height for no change page” is the maximum percentage of hidden screen height to allow a bottom left move instead of an image change. (Default = 25)

File Information
This dialog is used to get some information about the selected file or folder.
This information is selectable in order to allow copying it in the press paper
The full file name, the modification date and the file size are displayed.
Rename File
This dialog is used to rename the selected file.
The renamed file (and extension) will be placed in the same directory. 
Delete File
This dialog is used to remove the selected file.
Once delete, it won’t be possible to recover the file.
Image to theme background
Use this option to modify the default theme’s background with the selected image file. The result is that the file “c:\system\data\themes\wallpaper\Launcher.mbm” will be overwritten.
The created file may be resized to fit in the [208*254] area. Some coloured borders may be added according to the “Adaptive image” and “Image background colour” option from the Behaviour tab. 
Image to internal background
Use this option to set the selected image as the internal BlueEyes background. The result is that the Background File option of the Look configuration tab will be updated
Image to file
Use this option to export the first frame of the selected file to a newly created file.
You can specify the maximum size of the new image giving the maximum width and height.
The source image can be rotated before the export
Since the resize will keep the aspect ratio, the created image may have a smaller size than the desired one. Set the fill background option if you want the resulting image to have the exact same size as the specified one. Some coloured borders will then be added (the same algorithm as the one used in BlueEyes is used to determine the colour of those borders).
Open with
From this option, you can open the selected file with a specific program. Use it at your own risk since most of the programs won't support it. (i.e., opening a file with the internal notepad (jotter) will make notepad delete this file because it will not recognise the file and then find that the file given in parameter is corrupted!). This dialog is preventing a wrong manipulation. It can be removed from behaviour options