Change History WSMS 3.0.4.Rev 8 (WSMS3048)

Added Features
(SCR1122) Added wsms-widget-overlay operation Add() with sort parameter that allows widgets to be added without sorting.
(SCR1122) Added wsms-widget-overlay operation Sort() that allows all added widgets to be sorted into priority order, must be called after widgets are added without sorting.
(SCR1123) For WinMS releases the runtime library is now /MD instead of /MDd
(SCR1124) There is a new directory structure for releases this will allow multiple versions of WSMS to co-exist. Instead of cinclude and clib directories the files will be in WSMS30xx/include and WSMS30xx/lib.
(SCR1126) Added new widget wsms-widget-map-mesh that allows a user defined mesh to be applied as map data.
(SCR1128) Refined Render.Refresh() to only perform a refresh when something within a session area of interest is modified.
(SCR1129) Moved wsms-database-raster representation data structure into wsms-database.
(SCR1130) Added AGIL database reader that utilizes DevIL + WIFs to load any image format supported by DevIL as a geo-referenced raster tile. Note that files are not tiled internally and instead each file forms a complete tile. So to ensure efficient use of texture memory it is best if the files are sized in powers of 2 and generally not larger than 1024x1024 as many graphics cards cannot support textures larger than this size.
(SCR1131) Added GDAL database reader that utilizes the GDAL (Geographic Data Abstraction Library) to read many different GIS format datasets
(SCR1132) Added "Shadow" attribute to all WSMS components that utilize a font. Values are "None", "High", "Medium" and "Low". When applied this will double render the text slightly offset from the actual text using the background color. This provide better readability on multi-colored backgrounds.
(SCR1133) Added new session renderer class called PureGL. This allows rendering using a custom OpenGL engine without the need to use any operating system specific operations to create the GL context. All specific GL operations are passed in as callback operations when the render is created. This is very useful for embedded graphics cards or to allow WSMS to integrate with a non-supported graphics environment that provides some form of OpenGL widget.
Bug Fixes
(SCR1125) Updated rendering of WSMS Mil2525 Disrupt symbols to position the base tail as per the Mil-Std-2525b document images.
(SCR1127) Modified WSMS Series C++ mapping to be correctly aligned across different C++ compilers.
Special Notes
(SCR1122) To speed up the adding of multiple widgets to an overlay widgets can be added to an overlay instance without sorting. This significantly speeds up the addition of new widgets. After all widgets are added the Sort() operation must be called to sort widgets into Priority Order for correct rendering.
(SCR1124) This new directory structure and naming will allow multiple versions of WSMS to co-exist and for people to more easily identify which version of WSMS is being used. Instead of cinclude and clib directories the files will be in WSMS30xx/include and WSMS30xx/lib and the filenames will be
                     o	wsms30xx-winms-intel-msvcx.a
                     o	wsms30xx-winms-intel-msvcx.lib
                     o	wsms30xx-winms-intel-msvcx.dll
                     o	wsms30xx-wince-arm-msvcx.a
                     o	wsms30xx-wince-arm-msvcx.lib
                     o	wsms30xx-wince-arm-msvcx.dll
                     o	wsms30xx-linux-intel-gccxxx.a

(SCR1126) Added new WSMS widget wsms-widget-map-mesh, this widget allows a user defined mesh to be applied as map data. The mesh is centered in a geographic location and sized based on meters. This allows for dynamically changing map data to be geographically placed in the session framework.
                 a. Normal database, series and cache attributes for map class widgets are ignored as 
                    all data is sourced from the caller
                 b. Data is supplied as a pointer to a sized block of memory; this allows multiple 
                    data formats to be supplied.
                 c.	Currently supported formats are:
                       i.   Boolean1    (1 bit packed Boolean array where true values are mapped to 
                                         foreground color and False values are mapped to background color)
                       ii.  Boolean8    (8 bit Boolean array where true or zero values are mapped to 
                                         foreground color and False or non-zero values are mapped to 
                                         background color)
                       iii. RGBA        (32 bit .. 4 x byte = Red, Green, Blue, Alpha values are mapped 
                                         to the target image format and displayed as is)
                       iv.  Direct      (32bit .. 4 x byte = Red, Green, Blue, Alpha values are passed 
                                         directly to the image and not mapped to the output image format, 
                                         this is the fastest method of transferring data but relies on 
                                         the calling application to match the supplied data format with 
                                         the render device format
                 Special operation Set_Mesh() is used to pass the source data block to the widget.

(SCR1132) There is also a new entry in the wsms.dat file for the new widget, called "WSMS.Widget.Map.Mesh", see attached wsms.dat file. Please update the RC wsms.dat to include this entry.
                    token WSMS.Widget.Map.Mesh
                       Data                      : 0
                       Visible                   : True
                       Priority                  : 99
                       Center                    : 0.0 0.0 0.0
                       Rotation                  : 0.0
                       Selectable                : False
                       Highlight                 : False
                       Highlight_Method.Colored  : False
                       Highlight_Method.Color    : 000 000 000 255
                       Highlight_Method.Blink    : 0.0
                       Session_Links.Center      : False
                       Session_Links.Scale       : False
                       Session_Links.Rotation    : False
                       Cache                     : 0
                       Series                    : 
                       Attributes.Foreground     : 255 000 000 255
                       Attributes.Background     : 100 100 100 255
                       Attributes.Line_Style     : Solid
                       Attributes.Line_Width     : 0
                       Attributes.Fill_Style     : Solid
                       Attributes.Opaque         : True
                       Attributes.View           : View_2D
                       Attributes.Textured       : False
                       Attributes.Width          : 100
                       Attributes.Height         : 100