Changes in V6.1

Here is a brief summary of changes from V6.0 to V6.1 and links to the relevant reference documentation, where new functionality is marked with , and enhanced functionality is marked with

Deprecations Image facilities Audio recording Choice dialogs
Language scope extensions HTTP facilities XML/HTML facilities EIM exporting
Registry functions GUI enhancements Window facilities Units and Projections
Entity properties Directory removal Size Units String functions
Message files Channel facilities Entity picking and clashing  

Deprecations

As forecast in Release 6.0, the following commands have been dropped from this release of Fire 6:
   menu, wedit, wform, wmenu, wradio, wswitch
In consequence, the forms and menu window types are no longer supported.

Image Facilities

Support has been added for ECW, MrSID and JPEG 2000 image files (ECW is not available on Linux systems). The support is supplied via dynamic libraries (dll's) which are included in a full installation but not in the web-deployed Fire plugin. As a result on Unix systems the "bin" directory must be added to LD_LIBRARY_PATH so that the system can locate the libraries at run time.

Image files which contain self-defining world units and geo-positioning are now handled automatically within wcloth definitions.

Audio Recording

A new command record has been added for audio recording purposes. By designating a push button within a panel window, audio can be recorded to a file while the button is depressed. During recording, a new identifier recording is set to true

Other facilities associated with this command enable the audio format to be varied (via values from a new audio_formats array), and the recording paused, aborted or restarted.

An example of command usage can be found in the samples/fire directory in the released distribution.

Choice Dialogs

A new function choosedir has been added to select a directory or folder from the local file system via a popup dialog window. This is initially available on Windows systems only.

Another new function choosecolor has been added to select a color (rgb values) via a popup dialog window. This also is initially available on Windows systems only.

The parameter list for the choosefile has been extended to permit a list of selectable file types to be specified. A title for this dialog is now also available

The parameter list for the choosefont has been extended to permit a default font value to be supplied to the dialog. A title for this dialog is now also available

All the above dialog functions now set the value of the found identifier.

Language Scope Extensions

The attribute atable.deletable has been added for testing whether an atable is deletable (i.e. not in use).

An atable search path has been added to enable multiple atables to be available without having to be prefixed with ~whatever. The search path is defined by a new atable.search_path attribute.

The restriction of 255 user-definable types (e.g. structures) in an atable has been lifted.

A which function has been added to determine during debugging which atable an identifier name resolves to.

HTTP Facilities

A new command httppost has been added for sending HTTP POST messages to web servers. The download command has also been aliased to httpget for compatibility.

XML/HTML Facilities

An xmltest function has been added to test xml file integrity and top-level tag identification.

An html_encode function has been added to escape characters for inclusion in html/xml documents (e.g. & < >).

EIM exporting

In previous versions, symbology definitions were not exported by the export command. This has been rectified and comes into effect when the -full is used.

Registry Functions

-q switches have been added to the register command and registry function to suppress error messages.

GUI enhancements

A -sel switch has been added to text panels to enable the full contents to be pre-selected when the keyboard focus is acquired.

A -tj switch has been added to text panels to control text justification within the text box.

Window Facilities

A new qwindows function has been added to query the system for an array of available windows of particular type and/or attribute.

A new window.flash member procedure has been added to generic windows to enable the title banner to be flashed on demand.

A new window.post_navigate callback has been added to web windows to catch the event after a new URL has been visited.

A new interactive function colcur has been added to retrieve the red,green,blue components of a pixel.

A new numeric identifier clicks has been added to enable interactive point functions in a graphic window (e.g. pcur) to be terminated with a double mouse-click instead of a single one. The value of clicks will be 1 or 2 as appropriate.

Units and Projections

A new numeric identifier utom has been added to return the scaling factor converting current units into metres.

In addition, an additional units parameter/switch has been added to the cart and longlat functions and the project command to allow changes of units to be accommodated between different projections.

The project command has 2 new switches: -b and -r for projecting rectangles taking skew into account.

A series of known Oracle projections (srid#) has been added. Not all Oracle srid numbers are currently supported, the list will be extended as time passes.

A new cartographic transformation somercator has been added to support the Swiss Oblique Mercator projection.

Entity Properties

The glabel attribute for specifying whether its frame has a visible edge has been renamed from glabel.outline to glabel.frame_outline.

In previous versions the linemerge command applied a single linestyle to the result of the merge. This version now maintains the linestyles of the original source entities.

Directory Removal

The rmdir command has been added for directory/folder removal.

Size Units

A new size units primer has been added (R for real world meters). This therefore becomes available for use in various symbology definitions, textstyle, linestyle, markerstyle, etc.

String Functions

The misnamed ascii function has been replaced by a new charval function and returns the internal wide/Unicode value of a text character.

Message Files

Message files have been extended to provide for internationalization. A message file may now have multiple language entries for one or more messages.

The messagefile structure has 2 new properties current_language and languages, and the text() function can now select from different languages.

Channel Facilities

Various enhancements have been made to binary data channels. Socket channels may now be opened for binary data (open -bin) and may be opened in synchronous mode (open -syn switch) to prevent traffic confliction. The channel.binary attribute has been enhanced to enable switching between text and binary data on a socket channel.

The functionality of listening channels and IP channels has been extended for binary data handling. For channel callbacks which require to know which channel has received a binary event, a new channel identifier async_channel has been added.

Entity Picking and Clashing

Some enhancements have been made to entity picking, clashing and clumping operations. The results are now more accurate. This may result in different entities being selected from previous versions, particularly with regard to node entities where the node sizes are now taken into account. Previously only the node origin points were examined, ignoring any node size.

The functions affected by this are epick, clash_* and clump_*.

If you wish these operations to work as they did before, a new system numeric identifier ignore_node_size has been introduced. Set this to true for backward compatibility.