We would need a C# (VS2005 .NET 2.0) winforms user control which is able to perform the following:
1. Handle large bmp files efficiently (as much as possible, 30000x30000 8bit ~900MB). In our case it is going to be a map which is in bmp format (don't ask me why). The goal is to "seek" in the file quickly instead of loading the whole bitmap into the memory. The control should only load that part of the picture(file) which is going to be displayed. We can provide the file if needed.
2. The control should be resizable.
3. When moving or resizing only new areas of the picture should be loaded from the disc (like google maps when you move online)
4. The control should be able to work as a container for other controls (display all children controls OVER the original bitmap).
5. Speed is important, code should be very well optimized. Prefetch and or caching would be great (like 3 times of the currently displayed are could be preloaded/cached). This cache feature should be parameterized (how big part is cached, and limit memory usage).
6. Painting/Repainting effect should be minimized.
7. All the features should be available with events and functions (including mouse positions (absolute and relative), clicks, etc.). Bitmap should be movable by mouse and events.
8. Loading the control and display the first part of the picture on the screen should not take longer than five seconds (in a really simple c# sample app).
9. Code should be nicely commented (in English), only MS .NET "standard" components and types should be used.
10. The image should fill the avaialable space (eg. you can't move behind the border of the image).
11. Control should keep in memory the embedded controls and their position and display them if needed (like displaying cars on the map when they visible).
11. Should not use more memory than needed (of course) and shouldn't make too much garbage in .NET (eg. reusing as many variables as possible).
## Deliverables
1) Complete and fully-functional working source code, and test application in [login to view URL] 2005. using C#.
2 Should be tested and error free (mostly).
3) All deliverables will be considered "work made for hire" under U.S. Copyright law. Buyer will receive exclusive and complete copyrights to all work purchased. (No GPL, GNU, 3rd party components, etc. unless all copyright ramifications are explained AND AGREED TO by the buyer on the site per the coder's Seller Legal Agreement).
## Platform
Windows XP,2003,Vista.
VS 2005, C#.
We will use new machines, so the minimum config where you should reach the expected performance can be something like: Core2Duo/AMD Athlon x2, 10K RPM Sata HDD, 2GB Memory (lets say 100MB for caching).