Index: osgVisual/bin/osgVisualConfig.xml
===================================================================
--- osgVisual/bin/osgVisualConfig.xml	(revision 152)
+++ osgVisual/bin/osgVisualConfig.xml	(revision 153)
@@ -18,5 +18,5 @@
   <module name="sky_silverlining" enabled="yes"></module>
   <module name="vista2d" enabled="yes">
-    <vista2d filename="hud.view"></vista2d>
+    <vista2d filename="hud.view" paintBackground="no" position_x="800" position_y="450" zoom="0.5"></vista2d>
   </module>
   
Index: osgVisual/include/vista2D/visual_vista2D.h
===================================================================
--- osgVisual/include/vista2D/visual_vista2D.h	(revision 152)
+++ osgVisual/include/vista2D/visual_vista2D.h	(revision 153)
@@ -17,4 +17,6 @@
 
 #include "VistaView.h"
+
+#include <string>
 
 #include <osg/Drawable>
@@ -70,5 +72,5 @@
 	 * @return : True if successful.
 	 */ 
-	static bool createVistaOverlay( std::string vista2DFilename_, osg::CoordinateSystemNode *sceneGraphRoot_ );
+	static bool init( osg::CoordinateSystemNode *sceneGraphRoot_, std::string configFileName );
 
 	/**
@@ -88,10 +90,11 @@
 
 private:
+
+	bool processXMLConfiguration();
+
 	/**
 	 * \brief This function initialized the visual_vista2D object after instantiation by createVistaOverlay()
-	 * 
-	 * @param vista2DFilename_ : Vista2D project file to instantiate.
 	 */ 
-	void init(std::string vista2DFilename_);
+	void startVista2D();
 
 	/**
@@ -109,4 +112,34 @@
 	 */ 
 	Vista2D::VistaView* view;
+
+	/**
+	 * XML config filename
+	 */ 
+	std::string configFileName;
+
+	/**
+	 * Filename of the Vista2D project file.
+	 */
+	std::string filename;
+
+	/**
+	 * Should the background of the Vista2D project be painted?
+	 */
+	bool paintBackground;
+
+	/**
+	 * X-Position to draw.
+	 */
+	int position_x;
+
+	/**
+	 * Y-Position to draw.
+	 */
+	int position_y;
+
+	/**
+	 * Zoom factor to draw the project.
+	 */
+	double zoom;
 }; 
 
Index: osgVisual/src/distortion/visual_distortion.cpp
===================================================================
--- osgVisual/src/distortion/visual_distortion.cpp	(revision 152)
+++ osgVisual/src/distortion/visual_distortion.cpp	(revision 153)
@@ -175,6 +175,4 @@
 	}
 
-
-
 	return true;
 }
Index: osgVisual/src/vista2D/visual_vista2D.cpp
===================================================================
--- osgVisual/src/vista2D/visual_vista2D.cpp	(revision 152)
+++ osgVisual/src/vista2D/visual_vista2D.cpp	(revision 153)
@@ -24,4 +24,10 @@
    // Create a Vista2D View
    view = new Vista2D::VistaView();
+
+   	filename = "";
+	paintBackground = false;;
+	position_x = 600;
+	position_y = 400;
+	zoom = 0.5;
 }
 
@@ -30,13 +36,13 @@
 }
 
-void visual_vista2D::init(std::string vista2DFilename_)
-{	
+void visual_vista2D::startVista2D(std::string vista2DFilename_)
+{
     /***************
     load view
     ***************/
-	view->load( vista2DFilename_ );
-    view->setBackgroundMode(false);	// don't paint background
-	view->setPosition(800,450);
-	view->setZoom( 0.5 );
+	view->load( filename );
+    view->setBackgroundMode(paintBackground);	// don't paint background
+	view->setPosition( position_x,position_y);
+	view->setZoom( zoom );
 
     /***************
@@ -48,10 +54,98 @@
 }
 
-bool visual_vista2D::createVistaOverlay( std::string vista2DFilename_, osg::CoordinateSystemNode *sceneGraphRoot_ )
-{
+bool visual_vista2D::processXMLConfiguration()
+{
+	// Init XML
+	xmlDoc* tmpDoc;
+	bool disabled;
+	xmlNode* config = util::getModuleXMLConfig( configFileName, "vista2D", tmpDoc, disabled );
+
+	if( disabled)
+	{
+		OSG_NOTIFY( osg::ALWAYS ) << "..disabled by XML configuration file." << std::endl;
+		return false;
+	}
+	
+	// extract configuration values
+	if(config)
+	{
+		xmlNode* a_node = config->children;
+
+		for (xmlNode *cur_node = a_node; cur_node; cur_node = cur_node->next)
+		{
+		std::string node_name=reinterpret_cast<const char*>(cur_node->name);
+			//OSG_ALWAYS << "----visual_vista2D::processXMLConfiguration() - node type="<< cur_node->type <<", name=" << cur_node->name << std::endl;
+
+			// Check for vista2d node
+			if(cur_node->type == XML_ELEMENT_NODE && node_name == "vista2d")
+			{
+				// Check attributes
+				xmlAttr  *attr = cur_node->properties;
+				while ( attr ) 
+				{ 
+					std::string attr_name=reinterpret_cast<const char*>(attr->name);
+					std::string attr_value=reinterpret_cast<const char*>(attr->children->content);
+
+					if( attr_name == "filename" )
+					{
+						filename=attr_value
+					}
+
+					if( attr_name == "paintBackground" )
+					{
+						paintBackground = (attr_value == "yes") ? true : false;
+					}
+
+					if( attr_name == "position_x" )
+					{
+						std::stringstream sstr(attr_value);
+						sstr >> position_x;
+					}
+
+					if( attr_name == "position_y" )
+					{
+						std::stringstream sstr(attr_value);
+						sstr >> position_y;
+					}
+
+					if( attr_name == "zoom" )
+					{
+						std::stringstream sstr(attr_value);
+						sstr >> zoom;
+					}
+
+					attr = attr->next;
+				}	// WHILE attr END
+			}	// IF node == vista2d END
+		}	// FOR end
+	
+		// clean up
+		xmlFreeDoc(tmpDoc); xmlCleanupParser();
+		return true;
+	}	// IF Config valid END
+	else
+	{
+		OSG_WARN << "ERROR: visual_vista2D::processXMLConfiguration() - Module configuration not found" << std::endl;
+		return false;
+	}
+
+	return true;
+}
+
+bool visual_vista2D::init( osg::CoordinateSystemNode *sceneGraphRoot_, std::string configFileName )
+{
+	OSG_NOTIFY (osg::ALWAYS ) << "visual_vista2D initialize..";  // The sentence is finished by the init result...
+
+	this->configFileName = configFileName;
+
+	// Analyse XML configuration file
+		// Process XML configuration
+	if(!processXMLConfiguration())
+		return false;	// Abort vista2D initialization.
+
 	// Check if Vista2D file exist
-	if (! osgDB::fileExists( vista2DFilename_ ) )
-	{
-		osg::notify( osg::WARN ) << "WARNING: Could not find specified Vista2D projectfile. Skip adding Vista2D project." << std::endl;
+	if (! osgDB::fileExists( filename ) )
+	{
+		osg::notify( osg::WARN ) << "WARNING: visual_vista2D::createVistaOverlay - Could not find specified Vista2D projectfile. Skip adding Vista2D project." << std::endl;
 		return false;
 	}
@@ -92,5 +186,5 @@
 	// Add Payload: Vista2D			
 	osg::ref_ptr<visual_vista2D> vista2D = new visual_vista2D();
-	vista2D->init( vista2DFilename_ );
+	vista2D->startVista2D( vista2DFilename_ );
 
 	vista2D.get()->setUseDisplayList( false );
