$Id: //depot/POVRAY/povwin/source/windows/changes.txt#6$ This document lists some of the changes/fixes to POVWIN since version 3.02 was released. It does not contain a comprehensive list of changes ! Only some are listed. Note that this document does not list changes made to the renderer itself - this file relates only to Windows-specific changes. Changes to POVWIN as of version 3.1 beta 6 ------------------------------------------ This release has a new editor in it. It may not work as expected. Remember that this is BETA software - don't use it if you're not prepared to put up with some bugs. Quick Summary: o Added new editor. o Added rubberband mode to render window for selection of render region. o Added auto-load of file if there's a parse error (goes to line and col). o Modified the way the insert menu works. It's now like the 'Start Menu'. o Removed a bunch of stuff that was a legacy of our (now gone) Win32s mode. o Fixed the GUI Extension compatibility problem. ============================================================================= IT IS IMPORTANT THAT YOU READ THE FOLLOWING NOTES ABOUT THE EDITOR !!!!!!!!!! ============================================================================= o Totally rewrote the editor from scratch. It contains a custom control (CodeMax from WinMain Software [www.winmain.com], who kindly donated it), and the associated wrapper code to turn it into an integrated tool. This is not a port of the Delphi editor in previous versions - it's a new implementation (several thousand lines of code) in C++Builder (cmedit.dll), with the editor control itself being cmax101.dll. Both of these should be in \bin. o The editor is extensively customisable. It utilises syntax highlighting and understands .POV and .INC files as being in POV syntax. You can change the colour settings used from the properties dialog (ALT-ENTER). It also has built-in syntax highlighting for C, C++, Java, Basic, Pascal and SQL. o Here's a quick editor feature summary. Please inspect the editor menus to gain a better understanding of its available features, until such time as the new docs are written. o Syntax highlighting. o Keystroke macros. These are preserved across sessions. o Optional auto-save which, if turned on, saves changed files periodically. o Brace matching is available (cursor must be on a brace when you do it). o Block indent/undent o Tabify/untabify o Customisable colours. o Most key bindings are customisable (not all, just most). o Smart case preservation in replace operations. o Up to 10 bookmarks. o Optional auto-reload of changed files (not yet implemented). o Multiple views of the one file (via splits). o OLE drag and drop between the editor and other programs. o Optional smooth-scrolling. o Intellimouse support. o Column selection (control-leftbutton and drag). o Up to 32 edit sessions. o MRU list also tracks the line, column, language, tab and indent settings. o You can split editor panes by dragging the little bar just above the top of the vertical scrollbar (and likewise for horizontal). This is only possible if it's not disabled via the properties dialog. Editor splits are not preserved across sessions (this is by design). You can drag and drop selected text between panes. o By default both scrollbars are on. You can change this from the properties or the Editor menu. o Printing is not yet implemented (nor are a few other options, which is why they are grayed out in the menus). o If the editor gets into a strange state, and restarting POV-Win doesn't fix it, you may need to clear the registry settings for the editor. To do this, it is essential that POVWIN is not running (otherwise it will rewrite the old values when it finally does exit). Then, using REGEDIT.EXE or similar, delete the entire subkey HKEY_LOCAL_MACHINE\Software\POV-Ray\v3.1\POV-Edit. o Note that the editor properties dialog only allows you to set things that are implemented within the editor. There are some other options implemented within the editor wrapper code in POV-Ray for Windows which are able to be accessed via the Editor menu (only visible when an editor is selected). For example, the keybinding for saving a file (Ctrl-S) is not listed in the editor properties since this function is handled by the wrapper code. You can't change this assignment. o Some properties only affect the current file, and some affect all files. Additionally, most (but not all) of those that affect the current file will become the default for any new files opened after that point. This is by design. For example, changing the tab stop setting only affects the current file, but will then become the default for new files from that point on. o You can drag and drop selected text between panes of the editor window, or between the editor and any OLE compliant drag and drop application, such as Microsoft Word. Control-dragging copies instead of cuts. o Some people have asked why the 'quit bugging me' option in the render save dialog is not persistent across sessions. This is by design and is not likely to change. o The RMB context menu has an option for 'show/hide message window' (as before, though many people didn't look closely enough to realise it). This window is now sizable (unlike the previous version, where it was a fixed size). A quick way to close this window is to drag the divider down to within a few pixels of the bottom border - when you release the mouse, the message window will vanish. o You can also tell POVWIN not to display the message window automatically when starting a render. You do this from the Editor menu, by turning off 'Auto-Show Parse Messages'. This is most useful with the Error File option. o POVWIN will now optionally automatically load a file in which a parse error has occurred into the editor (or select it if it's already loaded) and place the cursor on the line and column of the offending code. This is able to be turned on or off using the 'Auto-Load Error File' option in the Editor menu. Also, if this option is on, and the message window was displayed automatically (see above), it will be closed automatically rather than being left open (as used to be the case when an error happened). The text describing the error will be displayed in the status bar at the bottom of the window. o Quick key summary (this is not comprehensive and does NOT include shortcuts already listed in the menus - check the menus for these). Ctrl-LeftButton and drag Column Selection Drag selection Move text (also drag and drop) Ctrl-LButton and drag selection Copy selection Click and drag splitter bar Split window Double-click splitter bar Split window in half, or unsplit. Alt-Left or RightArrow Change selected editor tab Ctrl-Tab Change selected editor tab Tab when some text is selected Indent selected lines Shift-tab when text is selected Undent selected lines o Drastically changed the way the Insert menu is built. Instead of a template file (previously pov3tmpl.txt), the Insert Menu is built the same way as such things as the Windows 95/98/NT Start Menu ; it's a series of folders with the actual text that gets inserted being .txt files within them. You'll find this in \Insert Menu. Just select 'edit this menu' from the Insert Menu to get to there. For those of you who had a customised version of the old template file and want to convert it - if there's enough people who ask we'll release the converter program. o Added an 'Older Files' submenu to the File menu. This contains recently used files (up to 32 of them) that have scrolled off the main MRU list at the bottom of the File menu. Note that this (and the main MRU list) now not only stores the filename, but also the line, column, language, indent, and tab settings that were last in use when the file was previously open. o Fixed a problem relating to turning off the toolbar then restoring the window from the taskbar. o Removed the non-client code that draws the custom caption button. This is no longer needed since we no longer support Win32s (Windows 3.1x) and there is a better way available to true Win32 applications. For the time being (and perhaps forever) there is no way to get the old 'mini window' mode (did anyone use it in any case ??? We don't even know). o Removed the 'Tiny Render window caption' option. o Removed the old statusbar code and replaced it with the common control. POV-Ray for Windows can no longer be moved by clicking on the status bar. o Pared down the Appearance menu, merged with Misc menu, renamed it Options. Added a new menu called 'Text', available only when the editor is in use. o Removed the 'Expert Menus' option - full menus are always on now. o Added a 'rubberband' mode to the render window. Once a render is completed, you can click and drag on the render window to draw a box that represents a selection. Once you release the mouse button, you have the option of starting a new render that will only trace the pixels within the box. Note that this is NOT a zoom function ; the render does not zoom in to the box, but just renders the pixels inside it. You can also shift-drag to have the co-ordinates of the area you selected added to the command-line (so the selection will last for the rest of your POV session). POVWIN attempts to remove the selection from the command-line before shutting down on exit. Changes to POVWIN as of version 3.1 beta 5 ------------------------------------------ o Add an option to stop the render animation (see the Appearance menu). o POVWIN should now detect Win98 and not draw the caption text in the title bar. One day we'll make it use DrawFrameControl () instead of the way we draw the extra button now. (DrawFrameControl () was not present in the earlier versions of windows that POVWIN was originally written for). o An old bug (solved in 3.02 but present in earlier versions) reappeared in 3.1 betas prior to beta5. This typically shows itself as corrupted text in the message window, and/or random crashes, particularly when starting a render or clearing the message pane from the edit menu. The cause of this is a memory overwrite coming from inside the generic POV-Ray code, and came back since the fix never made it into the generic source after the release of 3.02. It's now fixed for good. o There was a problem with POVWIN not releasing memory after a render. This actually was not as clear as it seems - POVWIN did in fact release the memory, but the C runtime library did not. The memory was not wasted in that if you did a new render, the memory got re-used. But it still was not available to other Windows apps. The solution is compiler-specific (see CONFIG.H if you're compiling your own copy of POVWIN). The official POV-Team version of POV-Ray for Windows (which is compiled with Watcom C/C++) now does release this memory, so the problem is fixed for most users. o The 'render from memory' feature is gone. It is a difficult feature to implement (because the main POV-Ray rendering engine does not have a concept of rendering from memory, so a simulation of a file had to be done. This did not always work as expected). We decided that the due to