From bc305859b2e2d1d1f5ffae2e2660b74a8e3be652 Mon Sep 17 00:00:00 2001
From: Maciej Suminski <maciej.suminski@cern.ch>
Date: Mon, 14 Oct 2013 20:40:36 +0200
Subject: [PATCH] Mainly case changes.

---
 common/gal/cairo/cairo_gal.cpp           |  38 +-
 common/gal/opengl/cached_container.cpp   |  30 +-
 common/gal/opengl/opengl_gal.cpp         |   6 +-
 common/gal/opengl/shader.cpp             |   6 +-
 common/gal/stroke_font.cpp               |  18 +-
 common/geometry/seg.cpp                  |  59 +-
 common/geometry/shape_collisions.cpp     |  23 +-
 common/geometry/shape_index.cpp          |   2 +-
 common/geometry/shape_line_chain.cpp     |  60 +-
 common/math/math_util.cpp                |  23 +-
 common/tool/context_menu.cpp             |  16 +-
 common/tool/tool_dispatcher.cpp          |  34 +-
 common/tool/tool_event.cpp               |  76 +-
 common/tool/tool_interactive.cpp         |   4 +-
 common/tool/tool_manager.cpp             |  24 +-
 common/view/view.cpp                     |  20 +-
 common/view/view_group.cpp               |   2 +-
 common/view/wx_view_controls.cpp         |  32 +-
 include/gal/cairo/cairo_gal.h            |  21 +-
 include/gal/definitions.h                |   4 +-
 include/gal/graphics_abstraction_layer.h |   6 +-
 include/gal/opengl/cached_container.h    |  34 +-
 include/gal/opengl/gpu_manager.h         |  39 +-
 include/gal/opengl/opengl_gal.h          |  15 +-
 include/gal/opengl/shader.h              |   8 +-
 include/gal/opengl/vertex_common.h       |   2 +-
 include/gal/stroke_font.h                |   8 +-
 include/geometry/seg.h                   | 425 +++++-----
 include/geometry/shape.h                 | 177 +++--
 include/geometry/shape_circle.h          |   9 +-
 include/geometry/shape_index_list.h      | 159 ++--
 include/geometry/shape_line_chain.h      | 962 ++++++++++++-----------
 include/geometry/shape_rect.h            | 220 +++---
 include/math/math_util.h                 |   8 +-
 include/math/matrix3x3.h                 |  58 +-
 include/math/vector2d.h                  |   4 +-
 include/tool/coroutine.h                 |  12 +-
 include/tool/delegate.h                  |  16 +-
 include/tool/tool_action.h               |   6 +-
 include/tool/tool_base.h                 |  14 +-
 include/tool/tool_dispatcher.h           |  13 +-
 include/tool/tool_event.h                | 194 ++---
 include/tool/tool_interactive.h          |  14 +-
 include/view/view.h                      |  51 +-
 include/view/view_controls.h             |  12 +-
 include/view/view_group.h                |  27 +-
 include/view/view_item.h                 |   7 +-
 include/view/wx_view_controls.h          |  11 +-
 pcbnew/router/direction.h                |   2 +-
 pcbnew/router/pns_line.cpp               | 167 ++--
 pcbnew/router/pns_line_placer.cpp        |  18 +-
 pcbnew/router/pns_node.cpp               |  34 +-
 pcbnew/router/pns_optimizer.cpp          |  16 +-
 pcbnew/router/pns_router.cpp             |  16 +-
 pcbnew/router/pns_segment.h              |   8 +-
 pcbnew/router/pns_shove.cpp              |   4 +-
 pcbnew/router/pns_walkaround.cpp         |   4 +-
 pcbnew/router/router_preview_item.cpp    |   4 +-
 pcbnew/router/router_tool.cpp            |   6 +-
 pcbnew/tools/item_state.h                |   2 +-
 pcbnew/tools/move_tool.cpp               |   6 +-
 pcbnew/tools/selection_tool.cpp          |  18 +-
 62 files changed, 1697 insertions(+), 1617 deletions(-)

diff --git a/common/gal/cairo/cairo_gal.cpp b/common/gal/cairo/cairo_gal.cpp
index d274d994ff..a12b33dc7c 100644
--- a/common/gal/cairo/cairo_gal.cpp
+++ b/common/gal/cairo/cairo_gal.cpp
@@ -325,7 +325,7 @@ void CAIRO_GAL::SetIsFill( bool aIsFillEnabled )
 
     if( isGrouping )
     {
-        GroupElement groupElement;
+        GROUP_ELEMENT groupElement;
         groupElement.command = CMD_SET_FILL;
         groupElement.boolArgument = aIsFillEnabled;
         currentGroup->push_back( groupElement );
@@ -340,7 +340,7 @@ void CAIRO_GAL::SetIsStroke( bool aIsStrokeEnabled )
 
     if( isGrouping )
     {
-        GroupElement groupElement;
+        GROUP_ELEMENT groupElement;
         groupElement.command = CMD_SET_STROKE;
         groupElement.boolArgument = aIsStrokeEnabled;
         currentGroup->push_back( groupElement );
@@ -355,7 +355,7 @@ void CAIRO_GAL::SetStrokeColor( const COLOR4D& aColor )
 
     if( isGrouping )
     {
-        GroupElement groupElement;
+        GROUP_ELEMENT groupElement;
         groupElement.command = CMD_SET_STROKECOLOR;
         groupElement.arguments[0] = strokeColor.r;
         groupElement.arguments[1] = strokeColor.g;
@@ -373,7 +373,7 @@ void CAIRO_GAL::SetFillColor( const COLOR4D& aColor )
 
     if( isGrouping )
     {
-        GroupElement groupElement;
+        GROUP_ELEMENT groupElement;
         groupElement.command = CMD_SET_FILLCOLOR;
         groupElement.arguments[0] = fillColor.r;
         groupElement.arguments[1] = fillColor.g;
@@ -392,7 +392,7 @@ void CAIRO_GAL::SetLineWidth( double aLineWidth )
 
     if( isGrouping )
     {
-        GroupElement groupElement;
+        GROUP_ELEMENT groupElement;
         groupElement.command = CMD_SET_LINE_WIDTH;
         groupElement.arguments[0] = aLineWidth;
         currentGroup->push_back( groupElement );
@@ -446,7 +446,7 @@ void CAIRO_GAL::Rotate( double aAngle )
 
     if( isGrouping )
     {
-        GroupElement groupElement;
+        GROUP_ELEMENT groupElement;
         groupElement.command = CMD_ROTATE;
         groupElement.arguments[0] = aAngle;
         currentGroup->push_back( groupElement );
@@ -464,7 +464,7 @@ void CAIRO_GAL::Translate( const VECTOR2D& aTranslation )
 
     if( isGrouping )
     {
-        GroupElement groupElement;
+        GROUP_ELEMENT groupElement;
         groupElement.command = CMD_TRANSLATE;
         groupElement.arguments[0] = aTranslation.x;
         groupElement.arguments[1] = aTranslation.y;
@@ -483,7 +483,7 @@ void CAIRO_GAL::Scale( const VECTOR2D& aScale )
 
     if( isGrouping )
     {
-        GroupElement groupElement;
+        GROUP_ELEMENT groupElement;
         groupElement.command = CMD_SCALE;
         groupElement.arguments[0] = aScale.x;
         groupElement.arguments[1] = aScale.y;
@@ -502,7 +502,7 @@ void CAIRO_GAL::Save()
 
     if( isGrouping )
     {
-        GroupElement groupElement;
+        GROUP_ELEMENT groupElement;
         groupElement.command = CMD_SAVE;
         currentGroup->push_back( groupElement );
     }
@@ -519,7 +519,7 @@ void CAIRO_GAL::Restore()
 
     if( isGrouping )
     {
-        GroupElement groupElement;
+        GROUP_ELEMENT groupElement;
         groupElement.command = CMD_RESTORE;
         currentGroup->push_back( groupElement );
     }
@@ -538,7 +538,7 @@ int CAIRO_GAL::BeginGroup()
     // a attribute was changed or when grouping stops with the end group method.
     storePath();
 
-    Group group;
+    GROUP group;
     int groupNumber = getNewGroupNumber();
     groups.insert( std::make_pair( groupNumber, group ) );
     currentGroup = &groups[groupNumber];
@@ -564,7 +564,7 @@ void CAIRO_GAL::DrawGroup( int aGroupNumber )
 
     storePath();
 
-    for( Group::iterator it = groups[aGroupNumber].begin();
+    for( GROUP::iterator it = groups[aGroupNumber].begin();
          it != groups[aGroupNumber].end(); ++it )
     {
         switch( it->command )
@@ -649,7 +649,7 @@ void CAIRO_GAL::ChangeGroupColor( int aGroupNumber, const COLOR4D& aNewColor )
 {
     storePath();
 
-    for( Group::iterator it = groups[aGroupNumber].begin();
+    for( GROUP::iterator it = groups[aGroupNumber].begin();
          it != groups[aGroupNumber].end(); ++it )
     {
         if( it->command == CMD_SET_FILLCOLOR || it->command == CMD_SET_STROKECOLOR )
@@ -675,7 +675,7 @@ void CAIRO_GAL::DeleteGroup( int aGroupNumber )
     storePath();
 
     // Delete the Cairo paths
-    std::deque<GroupElement>::iterator it, end;
+    std::deque<GROUP_ELEMENT>::iterator it, end;
 
     for( it = groups[aGroupNumber].begin(), end = groups[aGroupNumber].end(); it != end; ++it )
     {
@@ -730,7 +730,7 @@ void CAIRO_GAL::RestoreScreen()
 }
 
 
-void CAIRO_GAL::SetTarget( RenderTarget aTarget )
+void CAIRO_GAL::SetTarget( RENDER_TARGET aTarget )
 {
     // If the compositor is not set, that means that there is a recaching process going on
     // and we do not need the compositor now
@@ -766,13 +766,13 @@ void CAIRO_GAL::SetTarget( RenderTarget aTarget )
 }
 
 
-RenderTarget CAIRO_GAL::GetTarget() const
+RENDER_TARGET CAIRO_GAL::GetTarget() const
 {
     return currentTarget;
 }
 
 
-void CAIRO_GAL::ClearTarget( RenderTarget aTarget )
+void CAIRO_GAL::ClearTarget( RENDER_TARGET aTarget )
 {
     // Save the current state
     unsigned int currentBuffer = compositor->GetBuffer();
@@ -844,7 +844,7 @@ void CAIRO_GAL::storePath()
             // add this command to the group list;
             if( isStrokeEnabled )
             {
-                GroupElement groupElement;
+                GROUP_ELEMENT groupElement;
                 groupElement.cairoPath = cairo_copy_path( currentContext );
                 groupElement.command   = CMD_STROKE_PATH;
                 currentGroup->push_back( groupElement );
@@ -852,7 +852,7 @@ void CAIRO_GAL::storePath()
 
             if( isFillEnabled )
             {
-                GroupElement groupElement;
+                GROUP_ELEMENT groupElement;
                 groupElement.cairoPath = cairo_copy_path( currentContext );
                 groupElement.command   = CMD_FILL_PATH;
                 currentGroup->push_back( groupElement );
diff --git a/common/gal/opengl/cached_container.cpp b/common/gal/opengl/cached_container.cpp
index b7126d5dff..dda078fd7f 100644
--- a/common/gal/opengl/cached_container.cpp
+++ b/common/gal/opengl/cached_container.cpp
@@ -45,7 +45,7 @@ CACHED_CONTAINER::CACHED_CONTAINER( unsigned int aSize ) :
     VERTEX_CONTAINER( aSize ), m_item( NULL )
 {
     // In the beginning there is only free space
-    m_freeChunks.insert( Chunk( aSize, 0 ) );
+    m_freeChunks.insert( CHUNK( aSize, 0 ) );
 }
 
 
@@ -80,7 +80,7 @@ void CACHED_CONTAINER::FinishItem()
         int itemOffset = m_item->GetOffset();
 
         // Add the not used memory back to the pool
-        m_freeChunks.insert( Chunk( m_chunkSize - m_itemSize, itemOffset + m_itemSize ) );
+        m_freeChunks.insert( CHUNK( m_chunkSize - m_itemSize, itemOffset + m_itemSize ) );
         m_freeSpace += ( m_chunkSize - m_itemSize );
         // mergeFreeChunks();   // veery slow and buggy
     }
@@ -152,7 +152,7 @@ void CACHED_CONTAINER::Delete( VERTEX_ITEM* aItem )
     // Insert a free memory chunk entry in the place where item was stored
     if( size > 0 )
     {
-        m_freeChunks.insert( Chunk( size, offset ) );
+        m_freeChunks.insert( CHUNK( size, offset ) );
         m_freeSpace += size;
         // Indicate that the item is not stored in the container anymore
         aItem->setSize( 0 );
@@ -186,7 +186,7 @@ void CACHED_CONTAINER::Clear()
 
     // Set the size of all the stored VERTEX_ITEMs to 0, so it is clear that they are not held
     // in the container anymore
-    Items::iterator it;
+    ITEMS::iterator it;
 
     for( it = m_items.begin(); it != m_items.end(); ++it )
     {
@@ -198,7 +198,7 @@ void CACHED_CONTAINER::Clear()
 
     // Now there is only free space left
     m_freeChunks.clear();
-    m_freeChunks.insert( Chunk( m_freeSpace, 0 ) );
+    m_freeChunks.insert( CHUNK( m_freeSpace, 0 ) );
 }
 
 
@@ -240,7 +240,7 @@ unsigned int CACHED_CONTAINER::reallocate( unsigned int aSize )
     }
 
     // Look for the free space chunk of at least given size
-    FreeChunkMap::iterator newChunk = m_freeChunks.lower_bound( aSize );
+    FREE_CHUNK_MAP::iterator newChunk = m_freeChunks.lower_bound( aSize );
 
     if( newChunk == m_freeChunks.end() )
     {
@@ -277,7 +277,7 @@ unsigned int CACHED_CONTAINER::reallocate( unsigned int aSize )
 
         // Free the space previously used by the chunk
         wxASSERT( m_itemSize > 0 );
-        m_freeChunks.insert( Chunk( m_itemSize, m_chunkOffset ) );
+        m_freeChunks.insert( CHUNK( m_itemSize, m_chunkOffset ) );
         m_freeSpace += m_itemSize;
     }
 
@@ -287,7 +287,7 @@ unsigned int CACHED_CONTAINER::reallocate( unsigned int aSize )
     // If there is some space left, return it to the pool - add an entry for it
     if( chunkSize > aSize )
     {
-        m_freeChunks.insert( Chunk( chunkSize - aSize, chunkOffset + aSize ) );
+        m_freeChunks.insert( CHUNK( chunkSize - aSize, chunkOffset + aSize ) );
     }
 
     m_freeSpace -= aSize;
@@ -321,7 +321,7 @@ bool CACHED_CONTAINER::defragment( VERTEX* aTarget )
     }
 
     int newOffset = 0;
-    Items::iterator it, it_end;
+    ITEMS::iterator it, it_end;
 
     for( it = m_items.begin(), it_end = m_items.end(); it != it_end; ++it )
     {
@@ -345,7 +345,7 @@ bool CACHED_CONTAINER::defragment( VERTEX* aTarget )
     // Now there is only one big chunk of free memory
     m_freeChunks.clear();
     wxASSERT( m_freeSpace > 0 );
-    m_freeChunks.insert( Chunk( m_freeSpace, m_currentSize - m_freeSpace ) );
+    m_freeChunks.insert( CHUNK( m_freeSpace, m_currentSize - m_freeSpace ) );
 
 #if CACHED_CONTAINER_TEST > 0
     prof_end( &totalTime );
@@ -369,9 +369,9 @@ void CACHED_CONTAINER::mergeFreeChunks()
 #endif
 
     // Reversed free chunks map - this one stores chunk size with its offset as the key
-    std::list<Chunk> freeChunks;
+    std::list<CHUNK> freeChunks;
 
-    FreeChunkMap::const_iterator it, it_end;
+    FREE_CHUNK_MAP::const_iterator it, it_end;
 
     for( it = m_freeChunks.begin(), it_end = m_freeChunks.end(); it != it_end; ++it )
     {
@@ -381,7 +381,7 @@ void CACHED_CONTAINER::mergeFreeChunks()
     m_freeChunks.clear();
     freeChunks.sort();
 
-    std::list<Chunk>::const_iterator itf, itf_end;
+    std::list<CHUNK>::const_iterator itf, itf_end;
     unsigned int offset = freeChunks.front().first;
     unsigned int size   = freeChunks.front().second;
     freeChunks.pop_front();
@@ -449,7 +449,7 @@ bool CACHED_CONTAINER::resizeContainer( unsigned int aNewSize )
         // We have to correct freeChunks after defragmentation
         m_freeChunks.clear();
         wxASSERT( aNewSize - reservedSpace() > 0 );
-        m_freeChunks.insert( Chunk( aNewSize - reservedSpace(), reservedSpace() ) );
+        m_freeChunks.insert( CHUNK( aNewSize - reservedSpace(), reservedSpace() ) );
     }
     else
     {
@@ -463,7 +463,7 @@ bool CACHED_CONTAINER::resizeContainer( unsigned int aNewSize )
         }
 
         // Add an entry for the new memory chunk at the end of the container
-        m_freeChunks.insert( Chunk( aNewSize - m_currentSize, m_currentSize ) );
+        m_freeChunks.insert( CHUNK( aNewSize - m_currentSize, m_currentSize ) );
     }
 
     m_vertices = newContainer;
diff --git a/common/gal/opengl/opengl_gal.cpp b/common/gal/opengl/opengl_gal.cpp
index e40ace14a6..1da1bd1788 100644
--- a/common/gal/opengl/opengl_gal.cpp
+++ b/common/gal/opengl/opengl_gal.cpp
@@ -691,7 +691,7 @@ void OPENGL_GAL::RestoreScreen()
 }
 
 
-void OPENGL_GAL::SetTarget( RenderTarget aTarget )
+void OPENGL_GAL::SetTarget( RENDER_TARGET aTarget )
 {
     switch( aTarget )
     {
@@ -713,13 +713,13 @@ void OPENGL_GAL::SetTarget( RenderTarget aTarget )
 }
 
 
-RenderTarget OPENGL_GAL::GetTarget() const
+RENDER_TARGET OPENGL_GAL::GetTarget() const
 {
     return currentTarget;
 }
 
 
-void OPENGL_GAL::ClearTarget( RenderTarget aTarget )
+void OPENGL_GAL::ClearTarget( RENDER_TARGET aTarget )
 {
     // Save the current state
     unsigned int oldTarget = compositor.GetBuffer();
diff --git a/common/gal/opengl/shader.cpp b/common/gal/opengl/shader.cpp
index e44dab4926..bddd40ca4c 100644
--- a/common/gal/opengl/shader.cpp
+++ b/common/gal/opengl/shader.cpp
@@ -63,7 +63,7 @@ SHADER::~SHADER()
 }
 
 
-bool SHADER::LoadBuiltinShader( unsigned int aShaderNumber, ShaderType aShaderType )
+bool SHADER::LoadBuiltinShader( unsigned int aShaderNumber, SHADER_TYPE aShaderType )
 {
     if( aShaderNumber >= shaders_number )
         return false;
@@ -72,7 +72,7 @@ bool SHADER::LoadBuiltinShader( unsigned int aShaderNumber, ShaderType aShaderTy
 }
 
 
-bool SHADER::LoadShaderFromFile( const std::string& aShaderSourceName, ShaderType aShaderType )
+bool SHADER::LoadShaderFromFile( const std::string& aShaderSourceName, SHADER_TYPE aShaderType )
 {
     // Load shader sources
     const std::string shaderSource = readSource( aShaderSourceName );
@@ -219,7 +219,7 @@ std::string SHADER::readSource( std::string aShaderSourceName )
 }
 
 
-bool SHADER::addSource( const std::string& aShaderSource, ShaderType aShaderType )
+bool SHADER::addSource( const std::string& aShaderSource, SHADER_TYPE aShaderType )
 {
     if( isShaderLinked )
     {
diff --git a/common/gal/stroke_font.cpp b/common/gal/stroke_font.cpp
index df449c616a..655a16c33f 100644
--- a/common/gal/stroke_font.cpp
+++ b/common/gal/stroke_font.cpp
@@ -59,7 +59,7 @@ bool STROKE_FONT::LoadNewStrokeFont( const char* const aNewStrokeFont[], int aNe
 
     for( int j = 0; j < aNewStrokeFontSize; j++ )
     {
-        Glyph    glyph;
+        GLYPH    glyph;
         double   glyphStartX = 0.0;
         double   glyphEndX = 0.0;
         VECTOR2D glyphBoundingX;
@@ -118,21 +118,21 @@ bool STROKE_FONT::LoadNewStrokeFont( const char* const aNewStrokeFont[], int aNe
 }
 
 
-BOX2D STROKE_FONT::computeBoundingBox( const Glyph& aGlyph, const VECTOR2D& aGlyphBoundingX ) const
+BOX2D STROKE_FONT::computeBoundingBox( const GLYPH& aGLYPH, const VECTOR2D& aGLYPHBoundingX ) const
 {
     BOX2D boundingBox;
 
     std::deque<VECTOR2D> boundingPoints;
 
-    boundingPoints.push_back( VECTOR2D( aGlyphBoundingX.x, 0 ) );
-    boundingPoints.push_back( VECTOR2D( aGlyphBoundingX.y, 0 ) );
+    boundingPoints.push_back( VECTOR2D( aGLYPHBoundingX.x, 0 ) );
+    boundingPoints.push_back( VECTOR2D( aGLYPHBoundingX.y, 0 ) );
 
-    for( Glyph::const_iterator pointListIt = aGlyph.begin(); pointListIt != aGlyph.end(); ++pointListIt )
+    for( GLYPH::const_iterator pointListIt = aGLYPH.begin(); pointListIt != aGLYPH.end(); ++pointListIt )
     {
         for( std::deque<VECTOR2D>::const_iterator pointIt = pointListIt->begin();
                 pointIt != pointListIt->end(); ++pointIt )
         {
-            boundingPoints.push_back( VECTOR2D( aGlyphBoundingX.x, pointIt->y ) );
+            boundingPoints.push_back( VECTOR2D( aGLYPHBoundingX.x, pointIt->y ) );
         }
     }
 
@@ -241,15 +241,15 @@ void STROKE_FONT::Draw( std::string aText, const VECTOR2D& aPosition, double aRo
             continue;
         }
 
-        GlyphList::iterator glyphIt = m_glyphs.begin();
+        GLYPH_LIST::iterator glyphIt = m_glyphs.begin();
         std::deque<BOX2D>::iterator bbIt = m_glyphBoundingBoxes.begin();
 
         advance( glyphIt, (int) ( *chIt ) - (int) ' ' );
         advance( bbIt, (int) ( *chIt ) - (int) ' ' );
 
-        Glyph glyph = *glyphIt;
+        GLYPH glyph = *glyphIt;
 
-        for( Glyph::iterator pointListIt = glyph.begin(); pointListIt != glyph.end();
+        for( GLYPH::iterator pointListIt = glyph.begin(); pointListIt != glyph.end();
              pointListIt++ )
         {
             std::deque<VECTOR2D> pointListScaled;
diff --git a/common/geometry/seg.cpp b/common/geometry/seg.cpp
index 4668899e8d..daff746f98 100644
--- a/common/geometry/seg.cpp
+++ b/common/geometry/seg.cpp
@@ -22,28 +22,27 @@
  * 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA
  */
 
-
 #include <geometry/seg.h>
 
-template<typename T>
-int sgn( T val )
+template <typename T>
+int sgn( T aVal )
 {
-    return ( T( 0 ) < val ) - ( val < T( 0 ) );
+    return ( T( 0 ) < aVal ) - ( aVal < T( 0 ) );
 }
 
 
-bool SEG::PointCloserThan( const VECTOR2I& aP, int dist ) const
+bool SEG::PointCloserThan( const VECTOR2I& aP, int aDist ) const
 {
-    VECTOR2I         d = b - a;
-    ecoord dist_sq = (ecoord) dist * dist;
+    VECTOR2I d = B - A;
+    ecoord dist_sq = (ecoord) aDist * aDist;
 
     SEG::ecoord l_squared = d.Dot( d );
-    SEG::ecoord t = d.Dot( aP - a );
+    SEG::ecoord t = d.Dot( aP - A );
 
     if( t <= 0 || !l_squared )
-        return ( aP - a ).SquaredEuclideanNorm() < dist_sq;
+        return ( aP - A ).SquaredEuclideanNorm() < dist_sq;
     else if( t >= l_squared )
-        return ( aP - b ).SquaredEuclideanNorm() < dist_sq;
+        return ( aP - B ).SquaredEuclideanNorm() < dist_sq;
 
     int dxdy = abs( d.x ) - abs( d.y );
 
@@ -51,7 +50,7 @@ bool SEG::PointCloserThan( const VECTOR2I& aP, int dist ) const
     {
         int ca = -sgn( d.y );
         int cb = sgn( d.x );
-        int cc = -ca * a.x - cb * a.y;
+        int cc = -ca * A.x - cb * A.y;
 
         ecoord num = ca * aP.x + cb * aP.y + cc;
         num *= num;
@@ -66,8 +65,8 @@ bool SEG::PointCloserThan( const VECTOR2I& aP, int dist ) const
     }
 
     VECTOR2I nearest;
-    nearest.x = a.x + rescale( t, (ecoord) d.x, l_squared );
-    nearest.y = a.y + rescale( t, (ecoord) d.y, l_squared );
+    nearest.x = A.x + rescale( t, (ecoord) d.x, l_squared );
+    nearest.y = A.y + rescale( t, (ecoord) d.y, l_squared );
 
     return ( nearest - aP ).SquaredEuclideanNorm() <= dist_sq;
 }
@@ -81,10 +80,10 @@ SEG::ecoord SEG::SquaredDistance( const SEG& aSeg ) const
 
     const VECTOR2I pts[4] =
     {
-        aSeg.NearestPoint( a ) - a,
-        aSeg.NearestPoint( b ) - b,
-        NearestPoint( aSeg.a ) - aSeg.a,
-        NearestPoint( aSeg.b ) - aSeg.b
+        aSeg.NearestPoint( A ) - A,
+        aSeg.NearestPoint( B ) - B,
+        NearestPoint( aSeg.A ) - aSeg.A,
+        NearestPoint( aSeg.B ) - aSeg.B
     };
 
     ecoord m = VECTOR2I::ECOORD_MAX;
@@ -98,9 +97,9 @@ SEG::ecoord SEG::SquaredDistance( const SEG& aSeg ) const
 
 OPT_VECTOR2I SEG::Intersect( const SEG& aSeg, bool aIgnoreEndpoints, bool aLines ) const
 {
-    const VECTOR2I  e( b - a );
-    const VECTOR2I  f( aSeg.b - aSeg.a );
-    const VECTOR2I  ac( aSeg.a - a );
+    const VECTOR2I  e( B - A );
+    const VECTOR2I  f( aSeg.B - aSeg.A );
+    const VECTOR2I  ac( aSeg.A - A );
 
     ecoord d = f.Cross( e );
     ecoord p = f.Cross( ac );
@@ -118,16 +117,16 @@ OPT_VECTOR2I SEG::Intersect( const SEG& aSeg, bool aIgnoreEndpoints, bool aLines
     if( !aLines && aIgnoreEndpoints && ( q == 0 || q == d ) && ( p == 0 || p == d ) )
         return OPT_VECTOR2I();
 
-    VECTOR2I ip( aSeg.a.x + rescale( q, (ecoord) f.x, d ),
-                 aSeg.a.y + rescale( q, (ecoord) f.y, d ) );
+    VECTOR2I ip( aSeg.A.x + rescale( q, (ecoord) f.x, d ),
+                 aSeg.A.y + rescale( q, (ecoord) f.y, d ) );
 
      return ip;
 }
 
 
-bool SEG::ccw( const VECTOR2I& a, const VECTOR2I& b, const VECTOR2I& c ) const
+bool SEG::ccw( const VECTOR2I& aA, const VECTOR2I& aB, const VECTOR2I& aC ) const
 {
-    return (ecoord) ( c.y - a.y ) * ( b.x - a.x ) > (ecoord) ( b.y - a.y ) * ( c.x - a.x );
+    return (ecoord) ( aC.y - aA.y ) * ( aB.x - aA.x ) > (ecoord) ( aB.y - aA.y ) * ( aC.x - aA.x );
 }
 
 
@@ -135,17 +134,17 @@ bool SEG::Collide( const SEG& aSeg, int aClearance ) const
 {
     // check for intersection
     // fixme: move to a method
-    if( ccw( a, aSeg.a, aSeg.b ) != ccw( b, aSeg.a, aSeg.b ) &&
-            ccw( a, b, aSeg.a ) != ccw( a, b, aSeg.b ) )
+    if( ccw( A, aSeg.A, aSeg.B ) != ccw( B, aSeg.A, aSeg.B ) &&
+            ccw( A, B, aSeg.A ) != ccw( A, B, aSeg.B ) )
         return true;
 
 #define CHK( _seg, _pt ) \
     if( (_seg).PointCloserThan( _pt, aClearance ) ) return true;
 
-    CHK( *this, aSeg.a );
-    CHK( *this, aSeg.b );
-    CHK( aSeg, a );
-    CHK( aSeg, b );
+    CHK( *this, aSeg.A );
+    CHK( *this, aSeg.B );
+    CHK( aSeg, A );
+    CHK( aSeg, B );
 #undef CHK
 
     return false;
diff --git a/common/geometry/shape_collisions.cpp b/common/geometry/shape_collisions.cpp
index ea6d856615..abd13caccf 100644
--- a/common/geometry/shape_collisions.cpp
+++ b/common/geometry/shape_collisions.cpp
@@ -50,6 +50,7 @@ static inline bool Collide( const SHAPE_CIRCLE& aA, const SHAPE_CIRCLE& aB, int
     return true;
 }
 
+
 static inline  bool Collide( const SHAPE_RECT& aA, const SHAPE_CIRCLE& aB, int aClearance,
                              bool aNeedMTV, VECTOR2I& aMTV )
 {
@@ -154,7 +155,8 @@ static inline bool Collide( const SHAPE_RECT& aA, const SHAPE_LINE_CHAIN& aB, in
 }
 
 
-bool CollideShapes( const SHAPE* aA, const SHAPE* aB, int aClearance, bool aNeedMTV, VECTOR2I& aMTV )
+bool CollideShapes( const SHAPE* aA, const SHAPE* aB, int aClearance,
+                    bool aNeedMTV, VECTOR2I& aMTV )
 {
     switch( aA->Type() )
     {
@@ -163,53 +165,56 @@ bool CollideShapes( const SHAPE* aA, const SHAPE* aB, int aClearance, bool aNeed
             {
                 case SH_CIRCLE:
                     return Collide( *static_cast<const SHAPE_RECT*>( aA ),
-                            *static_cast<const SHAPE_CIRCLE*>( aB ), aClearance, aNeedMTV, aMTV );
+                        *static_cast<const SHAPE_CIRCLE*>( aB ), aClearance, aNeedMTV, aMTV );
 
                 case SH_LINE_CHAIN:
                     return Collide( *static_cast<const SHAPE_RECT*>( aA ),
-                            *static_cast<const SHAPE_LINE_CHAIN*>( aB ), aClearance, aNeedMTV, aMTV );
+                        *static_cast<const SHAPE_LINE_CHAIN*>( aB ), aClearance, aNeedMTV, aMTV );
 
                 default:
                     break;
             }
+            break;
 
         case SH_CIRCLE:
             switch( aB->Type() )
             {
                 case SH_RECT:
                     return Collide( *static_cast<const SHAPE_RECT*>( aB ),
-                            *static_cast<const SHAPE_CIRCLE*>( aA ), aClearance, aNeedMTV, aMTV );
+                        *static_cast<const SHAPE_CIRCLE*>( aA ), aClearance, aNeedMTV, aMTV );
 
                 case SH_CIRCLE:
                     return Collide( *static_cast<const SHAPE_CIRCLE*>( aA ),
-                            *static_cast<const SHAPE_CIRCLE*>( aB ), aClearance, aNeedMTV, aMTV );
+                        *static_cast<const SHAPE_CIRCLE*>( aB ), aClearance, aNeedMTV, aMTV );
 
                 case SH_LINE_CHAIN:
                     return Collide( *static_cast<const SHAPE_CIRCLE*>( aA ),
-                            *static_cast<const SHAPE_LINE_CHAIN *>( aB ), aClearance, aNeedMTV, aMTV );
+                        *static_cast<const SHAPE_LINE_CHAIN *>( aB ), aClearance, aNeedMTV, aMTV );
 
                 default:
                     break;
             }
+            break;
 
         case SH_LINE_CHAIN:
             switch( aB->Type() )
             {
                 case SH_RECT:
                     return Collide( *static_cast<const SHAPE_RECT*>( aB ),
-                            *static_cast<const SHAPE_LINE_CHAIN*>( aA ), aClearance, aNeedMTV, aMTV );
+                        *static_cast<const SHAPE_LINE_CHAIN*>( aA ), aClearance, aNeedMTV, aMTV );
 
                 case SH_CIRCLE:
                     return Collide( *static_cast<const SHAPE_CIRCLE*>( aB ),
-                            *static_cast<const SHAPE_LINE_CHAIN*>( aA ), aClearance, aNeedMTV, aMTV );
+                        *static_cast<const SHAPE_LINE_CHAIN*>( aA ), aClearance, aNeedMTV, aMTV );
 
                 case SH_LINE_CHAIN:
                     return Collide( *static_cast<const SHAPE_LINE_CHAIN*>( aA ),
-                            *static_cast<const SHAPE_LINE_CHAIN*>( aB ), aClearance, aNeedMTV, aMTV );
+                        *static_cast<const SHAPE_LINE_CHAIN*>( aB ), aClearance, aNeedMTV, aMTV );
 
                 default:
                     break;
             }
+            break;
 
         default:
             break;
diff --git a/common/geometry/shape_index.cpp b/common/geometry/shape_index.cpp
index 986dd0c0bd..0af0e444ab 100644
--- a/common/geometry/shape_index.cpp
+++ b/common/geometry/shape_index.cpp
@@ -25,7 +25,7 @@
 
 #include <geometry/shape_index.h>
 
-template<>
+template <>
 const SHAPE* shapeFunctor( SHAPE* aItem )
 {
     return aItem;
diff --git a/common/geometry/shape_line_chain.cpp b/common/geometry/shape_line_chain.cpp
index 2587c3f14d..a78e94a584 100644
--- a/common/geometry/shape_line_chain.cpp
+++ b/common/geometry/shape_line_chain.cpp
@@ -31,6 +31,7 @@ using boost::optional;
 bool SHAPE_LINE_CHAIN::Collide( const VECTOR2I& aP, int aClearance ) const
 {
     assert( false );
+
     return false;
 }
 
@@ -38,19 +39,20 @@ bool SHAPE_LINE_CHAIN::Collide( const VECTOR2I& aP, int aClearance ) const
 bool SHAPE_LINE_CHAIN::Collide( const BOX2I& aBox, int aClearance ) const
 {
     assert( false );
+
     return false;
 }
 
 
 bool SHAPE_LINE_CHAIN::Collide( const SEG& aSeg, int aClearance ) const
 {
-    BOX2I box_a( aSeg.a, aSeg.b - aSeg.a );
+    BOX2I box_a( aSeg.A, aSeg.B - aSeg.A );
     BOX2I::ecoord_type dist_sq = (BOX2I::ecoord_type) aClearance * aClearance;
 
     for( int i = 0; i < SegmentCount(); i++ )
     {
         const SEG& s = CSegment( i );
-        BOX2I box_b( s.a, s.b - s.a );
+        BOX2I box_b( s.A, s.B - s.A );
 
         BOX2I::ecoord_type d = box_a.SquaredDistance( box_b );
 
@@ -158,7 +160,7 @@ int SHAPE_LINE_CHAIN::Split( const VECTOR2I& aP )
 
         // make sure we are not producing a 'slightly concave' primitive. This might happen
         // if aP lies very close to one of already existing points.
-        if( dist < min_dist && seg.a != aP && seg.b != aP )
+        if( dist < min_dist && seg.A != aP && seg.B != aP )
         {
             min_dist = dist;
             ii = s;
@@ -208,8 +210,8 @@ struct compareOriginDistance
     compareOriginDistance( VECTOR2I& aOrigin ) :
         m_origin( aOrigin ) {};
 
-    bool operator()( const SHAPE_LINE_CHAIN::Intersection& aA,
-                     const SHAPE_LINE_CHAIN::Intersection& aB )
+    bool operator()( const SHAPE_LINE_CHAIN::INTERSECTION& aA,
+                     const SHAPE_LINE_CHAIN::INTERSECTION& aB )
     {
         return ( m_origin - aA.p ).EuclideanNorm() < ( m_origin - aB.p ).EuclideanNorm();
     }
@@ -218,7 +220,7 @@ struct compareOriginDistance
 };
 
 
-int SHAPE_LINE_CHAIN::Intersect( const SEG& aSeg, Intersections& aIp ) const
+int SHAPE_LINE_CHAIN::Intersect( const SEG& aSeg, INTERSECTIONS& aIp ) const
 {
     for( int s = 0; s < SegmentCount(); s++ )
     {
@@ -226,7 +228,7 @@ int SHAPE_LINE_CHAIN::Intersect( const SEG& aSeg, Intersections& aIp ) const
 
         if( p )
         {
-            Intersection is;
+            INTERSECTION is;
             is.our = CSegment( s );
             is.their = aSeg;
             is.p = *p;
@@ -234,21 +236,21 @@ int SHAPE_LINE_CHAIN::Intersect( const SEG& aSeg, Intersections& aIp ) const
         }
     }
 
-    compareOriginDistance comp( aSeg.a );
+    compareOriginDistance comp( aSeg.A );
     sort( aIp.begin(), aIp.end(), comp );
 
     return aIp.size();
 }
 
 
-int SHAPE_LINE_CHAIN::Intersect( const SHAPE_LINE_CHAIN& aChain, Intersections& aIp ) const
+int SHAPE_LINE_CHAIN::Intersect( const SHAPE_LINE_CHAIN& aChain, INTERSECTIONS& aIp ) const
 {
     BOX2I bb_other = aChain.BBox();
 
     for( int s1 = 0; s1 < SegmentCount(); s1++ )
     {
         const SEG& a = CSegment( s1 );
-        const BOX2I bb_cur( a.a, a.b - a.a );
+        const BOX2I bb_cur( a.A, a.B - a.A );
 
         if( !bb_other.Intersects( bb_cur ) )
             continue;
@@ -256,14 +258,14 @@ int SHAPE_LINE_CHAIN::Intersect( const SHAPE_LINE_CHAIN& aChain, Intersections&
         for( int s2 = 0; s2 < aChain.SegmentCount(); s2++ )
         {
             const SEG& b = aChain.CSegment( s2 );
-            Intersection is;
+            INTERSECTION is;
 
             if( a.Collinear( b ) )
             {
-                if( a.Contains( b.a ) ) { is.p = b.a; aIp.push_back( is ); }
-                if( a.Contains( b.b ) ) { is.p = b.b; aIp.push_back( is ); }
-                if( b.Contains( a.a ) ) { is.p = a.a; aIp.push_back( is ); }
-                if( b.Contains( a.b ) ) { is.p = a.b; aIp.push_back( is ); }
+                if( a.Contains( b.A ) ) { is.p = b.A; aIp.push_back( is ); }
+                if( a.Contains( b.B ) ) { is.p = b.B; aIp.push_back( is ); }
+                if( b.Contains( a.A ) ) { is.p = a.A; aIp.push_back( is ); }
+                if( b.Contains( a.B ) ) { is.p = a.B; aIp.push_back( is ); }
             }
             else
             {
@@ -289,7 +291,7 @@ int SHAPE_LINE_CHAIN::Intersect( const SHAPE_LINE_CHAIN& aChain, Intersections&
             const SEG& a = CSegment( s1 );
             const SEG& b = aChain.CSegment( s2 );
             OPT_VECTOR2I p = a.Intersect( b );
-            Intersection is;
+            INTERSECTION is;
 
             if( p )
             {
@@ -300,16 +302,16 @@ int SHAPE_LINE_CHAIN::Intersect( const SHAPE_LINE_CHAIN& aChain, Intersections&
             }
             else if( a.Collinear( b ) )
             {
-                if( a.a != b.a && a.a != b.b && b.Contains( a.a ) )
+                if( a.A != b.A && a.A != b.B && b.Contains( a.A ) )
                 {
-                    is.p = a.a;
+                    is.p = a.A;
                     is.our = a;
                     is.their = b;
                     aIp.push_back( is );
                 }
-                else if( a.b != b.a && a.b != b.b && b.Contains( a.b ) )
+                else if( a.B != b.A && a.B != b.B && b.Contains( a.B ) )
                 {
-                    is.p = a.b;
+                    is.p = a.B;
                     is.our = a;
                     is.their = b;
                     aIp.push_back( is );
@@ -333,7 +335,7 @@ int SHAPE_LINE_CHAIN::PathLength( const VECTOR2I& aP ) const
 
         if( d <= 1 )
         {
-            sum += ( aP - seg.a ).EuclideanNorm();
+            sum += ( aP - seg.A ).EuclideanNorm();
             return sum;
         }
         else
@@ -358,7 +360,7 @@ bool SHAPE_LINE_CHAIN::PointInside( const VECTOR2I& aP ) const
     {
         const SEG s = CSegment( i );
 
-        if( aP == s.a || aP == s.b ) // edge does not belong to the interior!
+        if( aP == s.A || aP == s.B ) // edge does not belong to the interior!
             return false;
 
         if( s.Side( aP ) != cur )
@@ -378,7 +380,7 @@ bool SHAPE_LINE_CHAIN::PointOnEdge( const VECTOR2I& aP ) const
     {
         const SEG s = CSegment( i );
 
-        if( s.a == aP || s.b == aP )
+        if( s.A == aP || s.B == aP )
             return true;
 
         if( s.Distance( aP ) <= 1 )
@@ -389,17 +391,17 @@ bool SHAPE_LINE_CHAIN::PointOnEdge( const VECTOR2I& aP ) const
 }
 
 
-const optional<SHAPE_LINE_CHAIN::Intersection> SHAPE_LINE_CHAIN::SelfIntersecting() const
+const optional<SHAPE_LINE_CHAIN::INTERSECTION> SHAPE_LINE_CHAIN::SelfIntersecting() const
 {
     for( int s1 = 0; s1 < SegmentCount(); s1++ )
     {
         for( int s2 = s1 + 1; s2 < SegmentCount(); s2++ )
         {
-            const VECTOR2I s2a = CSegment( s2 ).a, s2b = CSegment( s2 ).b;
+            const VECTOR2I s2a = CSegment( s2 ).A, s2b = CSegment( s2 ).B;
 
             if( s1 + 1 != s2 && CSegment( s1 ).Contains( s2a ) )
             {
-                Intersection is;
+                INTERSECTION is;
                 is.our = CSegment( s1 );
                 is.their = CSegment( s2 );
                 is.p = s2a;
@@ -407,7 +409,7 @@ const optional<SHAPE_LINE_CHAIN::Intersection> SHAPE_LINE_CHAIN::SelfIntersectin
             }
             else if( CSegment( s1 ).Contains( s2b ) )
             {
-                Intersection is;
+                INTERSECTION is;
                 is.our = CSegment( s1 );
                 is.their = CSegment( s2 );
                 is.p = s2b;
@@ -419,7 +421,7 @@ const optional<SHAPE_LINE_CHAIN::Intersection> SHAPE_LINE_CHAIN::SelfIntersectin
 
                 if( p )
                 {
-                    Intersection is;
+                    INTERSECTION is;
                     is.our = CSegment( s1 );
                     is.their = CSegment( s2 );
                     is.p = *p;
@@ -429,7 +431,7 @@ const optional<SHAPE_LINE_CHAIN::Intersection> SHAPE_LINE_CHAIN::SelfIntersectin
         }
     }
 
-    return optional<Intersection>();
+    return optional<INTERSECTION>();
 }
 
 
diff --git a/common/math/math_util.cpp b/common/math/math_util.cpp
index c8d462b0b0..9743acb1b2 100644
--- a/common/math/math_util.cpp
+++ b/common/math/math_util.cpp
@@ -28,31 +28,32 @@
 #include <climits>
 #include <math/math_util.h>
 
-template<>
-int rescale( int numerator, int value, int denominator )
+template <>
+int rescale( int aNumerator, int aValue, int aDenominator )
 {
-    return (int) ( (int64_t) numerator * (int64_t) value / (int64_t) denominator );
+    return (int) ( (int64_t) aNumerator * (int64_t) aValue / (int64_t) aDenominator );
 }
 
 
-template<>
-int64_t rescale( int64_t numerator, int64_t value, int64_t denominator )
+template <>
+int64_t rescale( int64_t aNumerator, int64_t aValue, int64_t aDenominator )
 {
     int64_t r = 0;
-    int64_t sign = ( ( numerator < 0) ? -1 : 1 ) * ( denominator < 0 ? -1 : 1 ) * ( value < 0 ? -1 : 1 );
+    int64_t sign = ( ( aNumerator < 0 ) ? -1 : 1 ) * ( aDenominator < 0 ? -1 : 1 ) *
+                                                    ( aValue < 0 ? -1 : 1 );
 
-    int64_t a = std::abs( numerator );
-    int64_t b = std::abs( value );
-    int64_t c = std::abs( denominator );
+    int64_t a = std::abs( aNumerator );
+    int64_t b = std::abs( aValue );
+    int64_t c = std::abs( aDenominator );
 
     r = c / 2;
 
     if( b <= INT_MAX && c <= INT_MAX )
     {
         if( a <= INT_MAX )
-            return sign * ( (a * b + r ) / c );
+            return sign * ( ( a * b + r ) / c );
         else
-            return sign * (a / c * b + (a % c * b + r) / c);
+            return sign * ( a / c * b + ( a % c * b + r ) / c);
     }
     else
     {
diff --git a/common/tool/context_menu.cpp b/common/tool/context_menu.cpp
index 9ea4770eed..e20dfdf115 100644
--- a/common/tool/context_menu.cpp
+++ b/common/tool/context_menu.cpp
@@ -104,8 +104,8 @@ void CONTEXT_MENU::Add( const TOOL_ACTION& aAction )
     wxString menuEntry;
 
     if( aAction.HasHotKey() )
-        menuEntry = wxString( ( aAction.GetMenuItem() + '\t' + getHotKeyDescription( aAction ) ).c_str(),
-                              wxConvUTF8 );
+        menuEntry = wxString( ( aAction.GetMenuItem() + '\t' +
+                                getHotKeyDescription( aAction ) ).c_str(), wxConvUTF8 );
     else
         menuEntry = wxString( aAction.GetMenuItem().c_str(), wxConvUTF8 );
 
@@ -134,17 +134,17 @@ std::string CONTEXT_MENU::getHotKeyDescription( const TOOL_ACTION& aAction ) con
 
     std::string description = "";
 
-    if( hotkey & MD_ModAlt )
+    if( hotkey & MD_ALT )
         description += "ALT+";
 
-    if( hotkey & MD_ModCtrl )
+    if( hotkey & MD_CTRL )
         description += "CTRL+";
 
-    if( hotkey & MD_ModShift )
+    if( hotkey & MD_SHIFT )
         description += "SHIFT+";
 
     // TODO dispatch keys such as Fx, TAB, PG_UP/DN, HOME, END, etc.
-    description += char(hotkey & ~MD_ModifierMask);
+    description += char( hotkey & ~MD_MODIFIER_MASK );
 
     return description;
 }
@@ -159,7 +159,7 @@ void CONTEXT_MENU::CMEventHandler::onEvent( wxEvent& aEvent )
     // For example, the selection tool can use this to dynamically highlight the current item
     // from selection clarification popup.
     if( type == wxEVT_MENU_HIGHLIGHT )
-        evt = TOOL_EVENT( TC_Command, TA_ContextMenuUpdate, aEvent.GetId() );
+        evt = TOOL_EVENT( TC_COMMAND, TA_CONTEXT_MENU_UPDATE, aEvent.GetId() );
 
     // One of menu entries was selected..
     else if( type == wxEVT_COMMAND_MENU_SELECTED )
@@ -172,7 +172,7 @@ void CONTEXT_MENU::CMEventHandler::onEvent( wxEvent& aEvent )
         else
         {
             // Handling non-action menu entries (e.g. items in clarification list)
-            evt = TOOL_EVENT( TC_Command, TA_ContextMenuChoice, aEvent.GetId() );
+            evt = TOOL_EVENT( TC_COMMAND, TA_CONTEXT_MENU_CHOICE, aEvent.GetId() );
         }
     }
 
diff --git a/common/tool/tool_dispatcher.cpp b/common/tool/tool_dispatcher.cpp
index d9e8744283..71c0998b6d 100644
--- a/common/tool/tool_dispatcher.cpp
+++ b/common/tool/tool_dispatcher.cpp
@@ -40,9 +40,9 @@
 using boost::optional;
 
 ///> Stores information about a mouse button state
-struct TOOL_DISPATCHER::ButtonState
+struct TOOL_DISPATCHER::BUTTON_STATE
 {
-    ButtonState( TOOL_MouseButtons aButton, const wxEventType& aDownEvent,
+    BUTTON_STATE( TOOL_MOUSE_BUTTONS aButton, const wxEventType& aDownEvent,
                  const wxEventType& aUpEvent ) :
         button( aButton ),
         downEvent( aDownEvent ),
@@ -66,7 +66,7 @@ struct TOOL_DISPATCHER::ButtonState
     double dragMaxDelta;
 
     ///> Determines the mouse button for which information are stored.
-    TOOL_MouseButtons button;
+    TOOL_MOUSE_BUTTONS button;
 
     ///> The type of wxEvent that determines mouse button press.
     wxEventType downEvent;
@@ -89,9 +89,9 @@ struct TOOL_DISPATCHER::ButtonState
 TOOL_DISPATCHER::TOOL_DISPATCHER( TOOL_MANAGER* aToolMgr, PCB_BASE_FRAME* aEditFrame ) :
     m_toolMgr( aToolMgr ), m_editFrame( aEditFrame )
 {
-    m_buttons.push_back( new ButtonState( MB_Left, wxEVT_LEFT_DOWN, wxEVT_LEFT_UP ) );
-    m_buttons.push_back( new ButtonState( MB_Right, wxEVT_RIGHT_DOWN, wxEVT_RIGHT_UP ) );
-    m_buttons.push_back( new ButtonState( MB_Middle, wxEVT_MIDDLE_DOWN, wxEVT_MIDDLE_UP ) );
+    m_buttons.push_back( new BUTTON_STATE( MB_LEFT, wxEVT_LEFT_DOWN, wxEVT_LEFT_UP ) );
+    m_buttons.push_back( new BUTTON_STATE( MB_RIGHT, wxEVT_RIGHT_DOWN, wxEVT_RIGHT_UP ) );
+    m_buttons.push_back( new BUTTON_STATE( MB_MIDDLE, wxEVT_MIDDLE_DOWN, wxEVT_MIDDLE_UP ) );
 
     ResetState();
 }
@@ -99,14 +99,14 @@ TOOL_DISPATCHER::TOOL_DISPATCHER( TOOL_MANAGER* aToolMgr, PCB_BASE_FRAME* aEditF
 
 TOOL_DISPATCHER::~TOOL_DISPATCHER()
 {
-    BOOST_FOREACH( ButtonState* st, m_buttons )
+    BOOST_FOREACH( BUTTON_STATE* st, m_buttons )
         delete st;
 }
 
 
 void TOOL_DISPATCHER::ResetState()
 {
-    BOOST_FOREACH( ButtonState* st, m_buttons )
+    BOOST_FOREACH( BUTTON_STATE* st, m_buttons )
         st->Reset();
 }
 
@@ -119,7 +119,7 @@ KIGFX::VIEW* TOOL_DISPATCHER::getView()
 
 bool TOOL_DISPATCHER::handleMouseButton( wxEvent& aEvent, int aIndex, bool aMotion )
 {
-    ButtonState* st = m_buttons[aIndex];
+    BUTTON_STATE* st = m_buttons[aIndex];
     wxEventType type = aEvent.GetEventType();
     optional<TOOL_EVENT> evt;
     bool isClick = false;
@@ -137,7 +137,7 @@ bool TOOL_DISPATCHER::handleMouseButton( wxEvent& aEvent, int aIndex, bool aMoti
         st->downPosition = m_lastMousePos;
         st->dragMaxDelta = 0;
         st->pressed = true;
-        evt = TOOL_EVENT( TC_Mouse, TA_MouseDown, args );
+        evt = TOOL_EVENT( TC_MOUSE, TA_MOUSE_DOWN, args );
     }
     else if( up )    // Handle mouse button release
     {
@@ -152,13 +152,13 @@ bool TOOL_DISPATCHER::handleMouseButton( wxEvent& aEvent, int aIndex, bool aMoti
                     st->dragMaxDelta < DragDistanceThreshold )
                 isClick = true;
             else
-                evt = TOOL_EVENT( TC_Mouse, TA_MouseUp, args );
+                evt = TOOL_EVENT( TC_MOUSE, TA_MOUSE_UP, args );
         }
         else
             isClick = true;
 
         if( isClick )
-            evt = TOOL_EVENT( TC_Mouse, TA_MouseClick, args );
+            evt = TOOL_EVENT( TC_MOUSE, TA_MOUSE_CLICK, args );
 
         st->dragging = false;
     }
@@ -174,7 +174,7 @@ bool TOOL_DISPATCHER::handleMouseButton( wxEvent& aEvent, int aIndex, bool aMoti
 
         if( t - st->downTimestamp > DragTimeThreshold || st->dragMaxDelta > DragDistanceThreshold )
         {
-            evt = TOOL_EVENT( TC_Mouse, TA_MouseDrag, args );
+            evt = TOOL_EVENT( TC_MOUSE, TA_MOUSE_DRAG, args );
             evt->SetMouseDragOrigin( st->dragOrigin );
             evt->SetMouseDelta( m_lastMousePos - st->dragOrigin );
         }
@@ -222,7 +222,7 @@ void TOOL_DISPATCHER::DispatchWxEvent( wxEvent& aEvent )
 
         if( !buttonEvents && motion )
         {
-            evt = TOOL_EVENT( TC_Mouse, TA_MouseMotion );
+            evt = TOOL_EVENT( TC_MOUSE, TA_MOUSE_MOTION );
             evt->SetMousePosition( pos );
         }
     }
@@ -237,13 +237,13 @@ void TOOL_DISPATCHER::DispatchWxEvent( wxEvent& aEvent )
         if( type == wxEVT_KEY_UP )
         {
             if( key == WXK_ESCAPE ) // ESC is the special key for cancelling tools
-                evt = TOOL_EVENT( TC_Command, TA_CancelTool );
+                evt = TOOL_EVENT( TC_COMMAND, TA_CANCEL_TOOL );
             else
-                evt = TOOL_EVENT( TC_Keyboard, TA_KeyUp, key | mods );
+                evt = TOOL_EVENT( TC_KEYBOARD, TA_KEY_UP, key | mods );
         }
         else
         {
-            evt = TOOL_EVENT( TC_Keyboard, TA_KeyDown, key | mods );
+            evt = TOOL_EVENT( TC_KEYBOARD, TA_KEY_DOWN, key | mods );
         }
     }
 
diff --git a/common/tool/tool_event.cpp b/common/tool/tool_event.cpp
index 641ccb6dff..b064b87624 100644
--- a/common/tool/tool_event.cpp
+++ b/common/tool/tool_event.cpp
@@ -40,14 +40,14 @@ struct FlagString
 };
 
 
-static const std::string flag2string( int flag, const FlagString* exps )
+static const std::string flag2string( int aFlag, const FlagString* aExps )
 {
     std::string rv;
 
-    for( int i = 0; exps[i].str.length(); i++ )
+    for( int i = 0; aExps[i].str.length(); i++ )
     {
-        if( exps[i].flag & flag )
-            rv += exps[i].str + " ";
+        if( aExps[i].flag & aFlag )
+            rv += aExps[i].str + " ";
     }
 
     return rv;
@@ -66,51 +66,51 @@ const std::string TOOL_EVENT::Format() const
 
     const FlagString categories[] =
     {
-        { TC_Mouse,    "mouse"    },
-        { TC_Keyboard, "keyboard" },
-        { TC_Command,  "command"  },
-        { TC_Message,  "message"  },
-        { TC_View,     "view"     },
+        { TC_MOUSE,    "mouse"    },
+        { TC_KEYBOARD, "keyboard" },
+        { TC_COMMAND,  "command"  },
+        { TC_MESSAGE,  "message"  },
+        { TC_VIEW,     "view"     },
         { 0,           ""         }
     };
 
     const FlagString actions[] =
     {
-        { TA_MouseClick,        "click"               },
-        { TA_MouseUp,           "button-up"           },
-        { TA_MouseDown,         "button-down"         },
-        { TA_MouseDrag,         "drag"                },
-        { TA_MouseMotion,       "motion"              },
-        { TA_MouseWheel,        "wheel"               },
-        { TA_KeyUp,             "key-up"              },
-        { TA_KeyDown,           "key-down"            },
-        { TA_ViewRefresh,       "view-refresh"        },
-        { TA_ViewZoom,          "view-zoom"           },
-        { TA_ViewPan,           "view-pan"            },
-        { TA_ViewDirty,         "view-dirty"          },
-        { TA_ChangeLayer,       "change-layer"        },
-        { TA_CancelTool,        "cancel-tool"         },
-        { TA_ContextMenuUpdate, "context-menu-update" },
-        { TA_ContextMenuChoice, "context-menu-choice" },
-        { TA_Action,            "action"              },
-        { 0,                    ""                    }
+        { TA_MOUSE_CLICK,           "click"               },
+        { TA_MOUSE_UP,              "button-up"           },
+        { TA_MOUSE_DOWN,            "button-down"         },
+        { TA_MOUSE_DRAG,            "drag"                },
+        { TA_MOUSE_MOTION,          "motion"              },
+        { TA_MOUSE_WHEEL,           "wheel"               },
+        { TA_KEY_UP,                "key-up"              },
+        { TA_KEY_DOWN,              "key-down"            },
+        { TA_VIEW_REFRESH,          "view-refresh"        },
+        { TA_VIEW_ZOOM,             "view-zoom"           },
+        { TA_VIEW_PAN,              "view-pan"            },
+        { TA_VIEW_DIRTY,            "view-dirty"          },
+        { TA_CHANGE_LAYER,          "change-layer"        },
+        { TA_CANCEL_TOOL,           "cancel-tool"         },
+        { TA_CONTEXT_MENU_UPDATE,   "context-menu-update" },
+        { TA_CONTEXT_MENU_CHOICE,   "context-menu-choice" },
+        { TA_ACTION,                "action"              },
+        { 0,                        ""                    }
     };
 
     const FlagString buttons[] =
     {
-        { MB_None,   "none"   },
-        { MB_Left,   "left"   },
-        { MB_Right,  "right"  },
-        { MB_Middle, "middle" },
+        { MB_NONE,   "none"   },
+        { MB_LEFT,   "left"   },
+        { MB_RIGHT,  "right"  },
+        { MB_MIDDLE, "middle" },
         { 0,         ""       }
     };
 
     const FlagString modifiers[] =
     {
-        { MD_ModShift, "shift" },
-        { MD_ModCtrl,  "ctrl"  },
-        { MD_ModAlt,   "alt"   },
-        { 0,           ""      }
+        { MD_SHIFT, "shift" },
+        { MD_CTRL,  "ctrl"  },
+        { MD_ALT,   "alt"   },
+        { 0,        ""      }
     };
 
     ev = "category: ";
@@ -118,20 +118,20 @@ const std::string TOOL_EVENT::Format() const
     ev += " action: ";
     ev += flag2string( m_actions, actions );
 
-    if( m_actions & TA_Mouse )
+    if( m_actions & TA_MOUSE )
     {
         ev += " btns: ";
         ev += flag2string( m_mouseButtons, buttons );
     }
 
-    if( m_actions & TA_Keyboard )
+    if( m_actions & TA_KEYBOARD )
     {
         char tmp[128];
         sprintf( tmp, "key: %d", m_keyCode );
         ev += tmp;
     }
 
-    if( m_actions & ( TA_Mouse | TA_Keyboard ) )
+    if( m_actions & ( TA_MOUSE | TA_KEYBOARD ) )
     {
         ev += " mods: ";
         ev += flag2string( m_modifiers, modifiers );
diff --git a/common/tool/tool_interactive.cpp b/common/tool/tool_interactive.cpp
index efc764684c..33756cf3d8 100644
--- a/common/tool/tool_interactive.cpp
+++ b/common/tool/tool_interactive.cpp
@@ -30,13 +30,13 @@
 #include <tool/context_menu.h>
 
 TOOL_INTERACTIVE::TOOL_INTERACTIVE( TOOL_ID aId, const std::string& aName ) :
-    TOOL_BASE( TOOL_Interactive, aId, aName )
+    TOOL_BASE( INTERACTIVE, aId, aName )
 {
 }
 
 
 TOOL_INTERACTIVE::TOOL_INTERACTIVE( const std::string& aName ) :
-    TOOL_BASE( TOOL_Interactive, TOOL_MANAGER::MakeToolId( aName ), aName )
+    TOOL_BASE( INTERACTIVE, TOOL_MANAGER::MakeToolId( aName ), aName )
 {
 }
 
diff --git a/common/tool/tool_manager.cpp b/common/tool/tool_manager.cpp
index 9952127c33..0604aa80f3 100644
--- a/common/tool/tool_manager.cpp
+++ b/common/tool/tool_manager.cpp
@@ -134,7 +134,7 @@ void TOOL_MANAGER::RegisterTool( TOOL_BASE* aTool )
 
     aTool->m_toolMgr = this;
 
-    if( aTool->GetType() == TOOL_Interactive )
+    if( aTool->GetType() == INTERACTIVE )
     {
         bool initState = static_cast<TOOL_INTERACTIVE*>( aTool )->Init();
 
@@ -158,7 +158,7 @@ bool TOOL_MANAGER::InvokeTool( TOOL_ID aToolId )
 {
     TOOL_BASE* tool = FindTool( aToolId );
 
-    if( tool && tool->GetType() == TOOL_Interactive )
+    if( tool && tool->GetType() == INTERACTIVE )
         return invokeTool( tool );
 
     return false;       // there is no tool with the given id
@@ -169,7 +169,7 @@ bool TOOL_MANAGER::InvokeTool( const std::string& aToolName )
 {
     TOOL_BASE* tool = FindTool( aToolName );
 
-    if( tool && tool->GetType() == TOOL_Interactive )
+    if( tool && tool->GetType() == INTERACTIVE )
         return invokeTool( tool );
 
     return false;       // there is no tool with the given name
@@ -192,7 +192,7 @@ bool TOOL_MANAGER::invokeTool( TOOL_BASE* aTool )
 {
     wxASSERT( aTool != NULL );
 
-    TOOL_EVENT evt( TC_Command, TA_Action, aTool->GetName() );
+    TOOL_EVENT evt( TC_COMMAND, TA_ACTION, aTool->GetName() );
     ProcessEvent( evt );
 
     return true;
@@ -203,7 +203,7 @@ bool TOOL_MANAGER::runTool( TOOL_ID aToolId )
 {
     TOOL_BASE* tool = FindTool( aToolId );
 
-    if( tool && tool->GetType() == TOOL_Interactive )
+    if( tool && tool->GetType() == INTERACTIVE )
         return runTool( tool );
 
     return false;       // there is no tool with the given id
@@ -214,7 +214,7 @@ bool TOOL_MANAGER::runTool( const std::string& aToolName )
 {
     TOOL_BASE* tool = FindTool( aToolName );
 
-    if( tool && tool->GetType() == TOOL_Interactive )
+    if( tool && tool->GetType() == INTERACTIVE )
         return runTool( tool );
 
     return false;       // there is no tool with the given name
@@ -360,13 +360,13 @@ void TOOL_MANAGER::dispatchInternal( TOOL_EVENT& aEvent )
 
 bool TOOL_MANAGER::dispatchStandardEvents( TOOL_EVENT& aEvent )
 {
-    if( aEvent.Action() == TA_KeyUp )
+    if( aEvent.Action() == TA_KEY_UP )
     {
         // Check if there is a hotkey associated
         if( m_actionMgr->RunHotKey( aEvent.Modifier() | aEvent.KeyCode() ) )
             return false;                       // hotkey event was handled so it does not go any further
     }
-    else if( aEvent.Category() == TC_Command )  // it may be a tool activation event
+    else if( aEvent.Category() == TC_COMMAND )  // it may be a tool activation event
     {
         dispatchActivation( aEvent );
         // do not return false, as the event has to go on to the destined tool
@@ -433,11 +433,11 @@ bool TOOL_MANAGER::ProcessEvent( TOOL_EVENT& aEvent )
         // or immediately (CMENU_NOW) mode. The latter is used for clarification lists.
         if( st->contextMenuTrigger != CMENU_OFF )
         {
-            if( st->contextMenuTrigger == CMENU_BUTTON && !aEvent.IsClick( MB_Right ) )
+            if( st->contextMenuTrigger == CMENU_BUTTON && !aEvent.IsClick( MB_RIGHT ) )
                 break;
 
             st->pendingWait = true;
-            st->waitEvents = TOOL_EVENT( TC_Any, TA_Any );
+            st->waitEvents = TOOL_EVENT( TC_ANY, TA_ANY );
 
             if( st->contextMenuTrigger == CMENU_NOW )
                 st->contextMenuTrigger = CMENU_OFF;
@@ -446,7 +446,7 @@ bool TOOL_MANAGER::ProcessEvent( TOOL_EVENT& aEvent )
             GetEditFrame()->PopupMenu( menu->GetMenu() );
 
             //
-            TOOL_EVENT evt( TC_Command, TA_ContextMenuChoice );
+            TOOL_EVENT evt( TC_COMMAND, TA_CONTEXT_MENU_CHOICE );
             dispatchInternal( evt );
 
             break;
@@ -498,7 +498,7 @@ void TOOL_MANAGER::SetEnvironment( EDA_ITEM* aModel, KIGFX::VIEW* aView,
     {
         TOOL_BASE* tool = m_toolIdIndex[toolId]->theTool;
 
-        if( tool->GetType() == TOOL_Interactive )
+        if( tool->GetType() == INTERACTIVE )
             static_cast<TOOL_INTERACTIVE*>( tool )->Reset();
     }
 }
diff --git a/common/view/view.cpp b/common/view/view.cpp
index bee8903722..8ecb887086 100644
--- a/common/view/view.cpp
+++ b/common/view/view.cpp
@@ -67,7 +67,7 @@ VIEW::VIEW( bool aIsDynamic ) :
 
 VIEW::~VIEW()
 {
-    BOOST_FOREACH( LayerMap::value_type& l, m_layers )
+    BOOST_FOREACH( LAYER_MAP::value_type& l, m_layers )
     {
         delete l.second.items;
     }
@@ -156,7 +156,7 @@ struct queryVisitor
     void operator()( VIEW_ITEM* aItem )
     {
         if( aItem->ViewIsVisible() )
-            m_cont.push_back( VIEW::LayerItemPair( aItem, m_layer ) );
+            m_cont.push_back( VIEW::LAYER_ITEM_PAIR( aItem, m_layer ) );
     }
 
     Container&  m_cont;
@@ -164,7 +164,7 @@ struct queryVisitor
 };
 
 
-int VIEW::Query( const BOX2I& aRect, std::vector<LayerItemPair>& aResult )
+int VIEW::Query( const BOX2I& aRect, std::vector<LAYER_ITEM_PAIR>& aResult )
 {
     if( m_orderedLayers.empty() )
         return 0;
@@ -179,7 +179,7 @@ int VIEW::Query( const BOX2I& aRect, std::vector<LayerItemPair>& aResult )
         if( ( *i )->displayOnly )
             continue;
 
-        queryVisitor<std::vector<LayerItemPair> > visitor( aResult, ( *i )->id );
+        queryVisitor<std::vector<LAYER_ITEM_PAIR> > visitor( aResult, ( *i )->id );
         ( *i )->items->Query( aRect, visitor );
     }
 
@@ -424,7 +424,7 @@ void VIEW::UpdateAllLayersColor()
 
     r.SetMaximum();
 
-    for( LayerMapIter i = m_layers.begin(); i != m_layers.end(); ++i )
+    for( LAYER_MAP_ITER i = m_layers.begin(); i != m_layers.end(); ++i )
     {
         VIEW_LAYER* l = &( ( *i ).second );
 
@@ -555,7 +555,7 @@ void VIEW::UpdateAllLayersOrder()
 {
     sortLayers();
 
-    BOOST_FOREACH( LayerMap::value_type& l, m_layers )
+    BOOST_FOREACH( LAYER_MAP::value_type& l, m_layers )
     {
         ChangeLayerDepth( l.first, l.second.renderingOrder );
     }
@@ -727,7 +727,7 @@ void VIEW::Clear()
 
     r.SetMaximum();
 
-    for( LayerMapIter i = m_layers.begin(); i != m_layers.end(); ++i )
+    for( LAYER_MAP_ITER i = m_layers.begin(); i != m_layers.end(); ++i )
     {
         VIEW_LAYER* l = &( ( *i ).second );
         unlinkItem v;
@@ -811,7 +811,7 @@ void VIEW::clearGroupCache()
     r.SetMaximum();
     clearLayerCache visitor( this );
 
-    for( LayerMapIter i = m_layers.begin(); i != m_layers.end(); ++i )
+    for( LAYER_MAP_ITER i = m_layers.begin(); i != m_layers.end(); ++i )
     {
         VIEW_LAYER* l = &( ( *i ).second );
         l->items->Query( r, visitor );
@@ -858,7 +858,7 @@ void VIEW::sortLayers()
 
     m_orderedLayers.resize( m_layers.size() );
 
-    for( LayerMapIter i = m_layers.begin(); i != m_layers.end(); ++i )
+    for( LAYER_MAP_ITER i = m_layers.begin(); i != m_layers.end(); ++i )
         m_orderedLayers[n++] = &i->second;
 
     sort( m_orderedLayers.begin(), m_orderedLayers.end(), compareRenderingOrder );
@@ -974,7 +974,7 @@ void VIEW::RecacheAllItems( bool aImmediately )
     prof_start( &totalRealTime, false );
 #endif /* __WXDEBUG__ */
 
-    for( LayerMapIter i = m_layers.begin(); i != m_layers.end(); ++i )
+    for( LAYER_MAP_ITER i = m_layers.begin(); i != m_layers.end(); ++i )
     {
         VIEW_LAYER* l = &( ( *i ).second );
 
diff --git a/common/view/view_group.cpp b/common/view/view_group.cpp
index 7cc187c397..1459954902 100644
--- a/common/view/view_group.cpp
+++ b/common/view/view_group.cpp
@@ -142,7 +142,7 @@ void VIEW_GROUP::ItemsSetVisibility( bool aVisible )
 }
 
 
-void VIEW_GROUP::ItemsViewUpdate( VIEW_ITEM::ViewUpdateFlags aFlags )
+void VIEW_GROUP::ItemsViewUpdate( VIEW_ITEM::VIEW_UPDATE_FLAGS aFlags )
 {
     std::set<VIEW_ITEM*>::const_iterator it, it_end;
 
diff --git a/common/view/wx_view_controls.cpp b/common/view/wx_view_controls.cpp
index 8a2f16c8d6..7f7308d935 100644
--- a/common/view/wx_view_controls.cpp
+++ b/common/view/wx_view_controls.cpp
@@ -39,26 +39,26 @@ WX_VIEW_CONTROLS::WX_VIEW_CONTROLS( VIEW* aView, wxWindow* aParentPanel ) :
     m_state( IDLE ),
     m_parentPanel( aParentPanel )
 {
-    m_parentPanel->Connect( wxEVT_MOTION, wxMouseEventHandler(
-                    WX_VIEW_CONTROLS::onMotion ), NULL, this );
-    m_parentPanel->Connect( wxEVT_MOUSEWHEEL, wxMouseEventHandler(
-                    WX_VIEW_CONTROLS::onWheel ), NULL, this );
-    m_parentPanel->Connect( wxEVT_MIDDLE_UP, wxMouseEventHandler(
-                    WX_VIEW_CONTROLS::onButton ), NULL, this );
-    m_parentPanel->Connect( wxEVT_MIDDLE_DOWN, wxMouseEventHandler(
-                    WX_VIEW_CONTROLS::onButton ), NULL, this );
-    m_parentPanel->Connect( wxEVT_LEFT_UP, wxMouseEventHandler(
-                    WX_VIEW_CONTROLS::onButton ), NULL, this );
-    m_parentPanel->Connect( wxEVT_LEFT_DOWN, wxMouseEventHandler(
-                    WX_VIEW_CONTROLS::onButton ), NULL, this );
+    m_parentPanel->Connect( wxEVT_MOTION,
+                            wxMouseEventHandler( WX_VIEW_CONTROLS::onMotion ), NULL, this );
+    m_parentPanel->Connect( wxEVT_MOUSEWHEEL,
+                            wxMouseEventHandler( WX_VIEW_CONTROLS::onWheel ), NULL, this );
+    m_parentPanel->Connect( wxEVT_MIDDLE_UP,
+                            wxMouseEventHandler( WX_VIEW_CONTROLS::onButton ), NULL, this );
+    m_parentPanel->Connect( wxEVT_MIDDLE_DOWN,
+                            wxMouseEventHandler( WX_VIEW_CONTROLS::onButton ), NULL, this );
+    m_parentPanel->Connect( wxEVT_LEFT_UP,
+                            wxMouseEventHandler( WX_VIEW_CONTROLS::onButton ), NULL, this );
+    m_parentPanel->Connect( wxEVT_LEFT_DOWN,
+                            wxMouseEventHandler( WX_VIEW_CONTROLS::onButton ), NULL, this );
 #if defined _WIN32 || defined _WIN64
-    m_parentPanel->Connect( wxEVT_ENTER_WINDOW, wxMouseEventHandler(
-                    WX_VIEW_CONTROLS::onEnter ), NULL, this );
+    m_parentPanel->Connect( wxEVT_ENTER_WINDOW,
+                            wxMouseEventHandler( WX_VIEW_CONTROLS::onEnter ), NULL, this );
 #endif
 
     m_panTimer.SetOwner( this );
-    this->Connect( wxEVT_TIMER, wxTimerEventHandler(
-                    WX_VIEW_CONTROLS::onTimer ), NULL, this );
+    this->Connect( wxEVT_TIMER,
+                   wxTimerEventHandler( WX_VIEW_CONTROLS::onTimer ), NULL, this );
 }
 
 
diff --git a/include/gal/cairo/cairo_gal.h b/include/gal/cairo/cairo_gal.h
index 09a2793273..20477db08a 100644
--- a/include/gal/cairo/cairo_gal.h
+++ b/include/gal/cairo/cairo_gal.h
@@ -217,13 +217,13 @@ public:
     virtual void RestoreScreen();
 
     /// @copydoc GAL::SetTarget()
-    virtual void SetTarget( RenderTarget aTarget );
+    virtual void SetTarget( RENDER_TARGET aTarget );
 
     /// @copydoc GAL::GetTarget()
-    virtual RenderTarget GetTarget() const;
+    virtual RENDER_TARGET GetTarget() const;
 
     /// @copydoc GAL::ClearTarget()
-    virtual void ClearTarget( RenderTarget aTarget );
+    virtual void ClearTarget( RENDER_TARGET aTarget );
 
     // -------
     // Cursor
@@ -267,7 +267,7 @@ private:
     boost::shared_ptr<CAIRO_COMPOSITOR> compositor; ///< Object for layers compositing
     unsigned int            mainBuffer;             ///< Handle to the main buffer
     unsigned int            overlayBuffer;          ///< Handle to the overlay buffer
-    RenderTarget            currentTarget;          ///< Current rendering target
+    RENDER_TARGET           currentTarget;          ///< Current rendering target
     bool                    validCompositor;        ///< Compositor initialization flag
 
     // Variables related to wxWidgets
@@ -290,7 +290,8 @@ private:
     static const int MAX_CAIRO_ARGUMENTS = 6;
 
     /// Definitions for the command recorder
-    enum GraphicsCommand {
+    enum GRAPHICS_COMMAND
+    {
         CMD_SET_FILL,                               ///< Enable/disable filling
         CMD_SET_STROKE,                             ///< Enable/disable stroking
         CMD_SET_FILLCOLOR,                          ///< Set the fill color
@@ -310,20 +311,20 @@ private:
     /// Type definition for an graphics group element
     typedef struct
     {
-        GraphicsCommand command;                    ///< Command to execute
+        GRAPHICS_COMMAND command;                    ///< Command to execute
         double arguments[MAX_CAIRO_ARGUMENTS];      ///< Arguments for Cairo commands
         bool boolArgument;                          ///< A bool argument
         int intArgument;                            ///< An int argument
         cairo_path_t* cairoPath;                    ///< Pointer to a Cairo path
-    } GroupElement;
+    } GROUP_ELEMENT;
 
     // Variables for the grouping function
     bool                        isGrouping;         ///< Is grouping enabled ?
     bool                        isElementAdded;     ///< Was an graphic element added ?
-    typedef std::deque<GroupElement> Group;         ///< A graphic group type definition
-    std::map<int, Group>        groups;             ///< List of graphic groups
+    typedef std::deque<GROUP_ELEMENT> GROUP;        ///< A graphic group type definition
+    std::map<int, GROUP>        groups;             ///< List of graphic groups
     unsigned int                groupCounter;       ///< Counter used for generating keys for groups
-    Group*                      currentGroup;       ///< Currently used group
+    GROUP*                      currentGroup;       ///< Currently used group
 
     // Variables related to Cairo <-> wxWidgets
     cairo_matrix_t      cairoWorldScreenMatrix; ///< Cairo world to screen transformation matrix
diff --git a/include/gal/definitions.h b/include/gal/definitions.h
index 87db4103be..4ee1d6f077 100644
--- a/include/gal/definitions.h
+++ b/include/gal/definitions.h
@@ -34,9 +34,9 @@
 namespace KIGFX
 {
 /**
- * RenderTarget: Possible rendering targets
+ * RENDER_TARGET: Possible rendering targets
  */
-enum RenderTarget
+enum RENDER_TARGET
 {
     TARGET_CACHED = 0,      ///< Main rendering target (cached)
     TARGET_NONCACHED,       ///< Auxiliary rendering target (noncached)
diff --git a/include/gal/graphics_abstraction_layer.h b/include/gal/graphics_abstraction_layer.h
index 6bb796c9cd..f374979531 100644
--- a/include/gal/graphics_abstraction_layer.h
+++ b/include/gal/graphics_abstraction_layer.h
@@ -589,21 +589,21 @@ public:
      *
      * @param aTarget is the new target for rendering.
      */
-    virtual void SetTarget( RenderTarget aTarget ) = 0;
+    virtual void SetTarget( RENDER_TARGET aTarget ) = 0;
 
     /**
      * @brief Gets the currently used target for rendering.
      *
      * @return The current rendering target.
      */
-    virtual RenderTarget GetTarget() const = 0;
+    virtual RENDER_TARGET GetTarget() const = 0;
 
     /**
      * @brief Clears the target for rendering.
      *
      * @param aTarget is the target to be cleared.
      */
-    virtual void ClearTarget( RenderTarget aTarget ) = 0;
+    virtual void ClearTarget( RENDER_TARGET aTarget ) = 0;
 
     // -------------
     // Grid methods
diff --git a/include/gal/opengl/cached_container.h b/include/gal/opengl/cached_container.h
index 3c99fd0ea3..e4547ceaee 100644
--- a/include/gal/opengl/cached_container.h
+++ b/include/gal/opengl/cached_container.h
@@ -49,19 +49,19 @@ class CACHED_CONTAINER : public VERTEX_CONTAINER
 public:
     CACHED_CONTAINER( unsigned int aSize = defaultInitSize );
 
-    ///< @copydoc VERTEX_CONTAINER::SetItem()
+    ///> @copydoc VERTEX_CONTAINER::SetItem()
     virtual void SetItem( VERTEX_ITEM* aItem );
 
-    ///< @copydoc VERTEX_CONTAINER::FinishItem()
+    ///> @copydoc VERTEX_CONTAINER::FinishItem()
     virtual void FinishItem();
 
-    ///< @copydoc VERTEX_CONTAINER::Allocate()
+    ///> @copydoc VERTEX_CONTAINER::Allocate()
     virtual VERTEX* Allocate( unsigned int aSize );
 
-    ///< @copydoc VERTEX_CONTAINER::Delete()
+    ///> @copydoc VERTEX_CONTAINER::Delete()
     virtual void Delete( VERTEX_ITEM* aItem );
 
-    ///< @copydoc VERTEX_CONTAINER::Clear()
+    ///> @copydoc VERTEX_CONTAINER::Clear()
     virtual void Clear();
 
     /**
@@ -73,23 +73,23 @@ public:
     virtual VERTEX* GetVertices( const VERTEX_ITEM* aItem ) const;
 
 protected:
-    ///< Maps size of free memory chunks to their offsets
-    typedef std::pair<unsigned int, unsigned int> Chunk;
-    typedef std::multimap<unsigned int, unsigned int> FreeChunkMap;
+    ///> Maps size of free memory chunks to their offsets
+    typedef std::pair<unsigned int, unsigned int> CHUNK;
+    typedef std::multimap<unsigned int, unsigned int> FREE_CHUNK_MAP;
 
     /// List of all the stored items
-    typedef std::set<VERTEX_ITEM*> Items;
+    typedef std::set<VERTEX_ITEM*> ITEMS;
 
-    ///< Stores size & offset of free chunks.
-    FreeChunkMap        m_freeChunks;
+    ///> Stores size & offset of free chunks.
+    FREE_CHUNK_MAP      m_freeChunks;
 
-    ///< Stored VERTEX_ITEMs
-    Items               m_items;
+    ///> Stored VERTEX_ITEMs
+    ITEMS               m_items;
 
-    ///< Currently modified item
+    ///> Currently modified item
     VERTEX_ITEM*        m_item;
 
-    ///< Properties of currently modified chunk & item
+    ///> Properties of currently modified chunk & item
     unsigned int        m_chunkSize;
     unsigned int        m_chunkOffset;
     unsigned int        m_itemSize;
@@ -146,7 +146,7 @@ private:
      *
      * @param aChunk is the chunk.
      */
-    inline int getChunkSize( const Chunk& aChunk ) const
+    inline int getChunkSize( const CHUNK& aChunk ) const
     {
         return aChunk.first;
     }
@@ -157,7 +157,7 @@ private:
      *
      * @param aChunk is the chunk.
      */
-    inline unsigned int getChunkOffset( const Chunk& aChunk ) const
+    inline unsigned int getChunkOffset( const CHUNK& aChunk ) const
     {
         return aChunk.second;
     }
diff --git a/include/gal/opengl/gpu_manager.h b/include/gal/opengl/gpu_manager.h
index 0088d2942c..7415ac5cfc 100644
--- a/include/gal/opengl/gpu_manager.h
+++ b/include/gal/opengl/gpu_manager.h
@@ -89,15 +89,17 @@ public:
 protected:
     GPU_MANAGER( VERTEX_CONTAINER* aContainer );
 
-    ///< Drawing status flag.
+    ///> Drawing status flag.
     bool m_isDrawing;
 
-    ///< Container that stores vertices data.
+    ///> Container that stores vertices data.
     VERTEX_CONTAINER* m_container;
 
-    ///< Shader handling
+    ///> Shader handling
     SHADER* m_shader;
-    int m_shaderAttrib;    ///< Location of shader attributes (for glVertexAttribPointer)
+
+    ///> Location of shader attributes (for glVertexAttribPointer)
+    int m_shaderAttrib;
 };
 
 
@@ -107,19 +109,19 @@ public:
     GPU_CACHED_MANAGER( VERTEX_CONTAINER* aContainer );
     ~GPU_CACHED_MANAGER();
 
-    ///< @copydoc GPU_MANAGER::Initialize()
+    ///> @copydoc GPU_MANAGER::Initialize()
     virtual void Initialize();
 
-    ///< @copydoc GPU_MANAGER::BeginDrawing()
+    ///> @copydoc GPU_MANAGER::BeginDrawing()
     virtual void BeginDrawing();
 
-    ///< @copydoc GPU_MANAGER::DrawIndices()
+    ///> @copydoc GPU_MANAGER::DrawIndices()
     virtual void DrawIndices( unsigned int aOffset, unsigned int aSize );
 
-    ///< @copydoc GPU_MANAGER::DrawAll()
+    ///> @copydoc GPU_MANAGER::DrawAll()
     virtual void DrawAll();
 
-    ///< @copydoc GPU_MANAGER::EndDrawing()
+    ///> @copydoc GPU_MANAGER::EndDrawing()
     virtual void EndDrawing();
 
     /**
@@ -130,10 +132,19 @@ public:
     virtual void uploadToGpu();
 
 protected:
+    ///> Buffers initialization flag
     bool m_buffersInitialized;
+
+    ///> Pointer to the current indices buffer
     boost::scoped_array<GLuint> m_indices;
+
+    ///> Pointer to the first free cell in the indices buffer
     GLuint* m_indicesPtr;
+
+    ///> Handle to vertices buffer
     GLuint  m_verticesBuffer;
+
+    ///> Number of indices stored in the indices buffer
     unsigned int m_indicesSize;
 };
 
@@ -143,19 +154,19 @@ class GPU_NONCACHED_MANAGER : public GPU_MANAGER
 public:
     GPU_NONCACHED_MANAGER( VERTEX_CONTAINER* aContainer );
 
-    ///< @copydoc GPU_MANAGER::Initialize()
+    ///> @copydoc GPU_MANAGER::Initialize()
     virtual void Initialize();
 
-    ///< @copydoc GPU_MANAGER::BeginDrawing()
+    ///> @copydoc GPU_MANAGER::BeginDrawing()
     virtual void BeginDrawing();
 
-    ///< @copydoc GPU_MANAGER::DrawIndices()
+    ///> @copydoc GPU_MANAGER::DrawIndices()
     virtual void DrawIndices( unsigned int aOffset, unsigned int aSize );
 
-    ///< @copydoc GPU_MANAGER::DrawAll()
+    ///> @copydoc GPU_MANAGER::DrawAll()
     virtual void DrawAll();
 
-    ///< @copydoc GPU_MANAGER::EndDrawing()
+    ///> @copydoc GPU_MANAGER::EndDrawing()
     virtual void EndDrawing();
 };
 } // namespace KIGFX
diff --git a/include/gal/opengl/opengl_gal.h b/include/gal/opengl/opengl_gal.h
index 6d64035195..401f0a4411 100644
--- a/include/gal/opengl/opengl_gal.h
+++ b/include/gal/opengl/opengl_gal.h
@@ -106,7 +106,8 @@ public:
     virtual void DrawLine( const VECTOR2D& aStartPoint, const VECTOR2D& aEndPoint );
 
     /// @copydoc GAL::DrawSegment()
-    virtual void DrawSegment( const VECTOR2D& aStartPoint, const VECTOR2D& aEndPoint, double aWidth );
+    virtual void DrawSegment( const VECTOR2D& aStartPoint, const VECTOR2D& aEndPoint,
+                              double aWidth );
 
     /// @copydoc GAL::DrawCircle()
     virtual void DrawCircle( const VECTOR2D& aCenterPoint, double aRadius );
@@ -209,13 +210,13 @@ public:
     virtual void RestoreScreen();
 
     /// @copydoc GAL::SetTarget()
-    virtual void SetTarget( RenderTarget aTarget );
+    virtual void SetTarget( RENDER_TARGET aTarget );
 
     /// @copydoc GAL::GetTarget()
-    virtual RenderTarget GetTarget() const;
+    virtual RENDER_TARGET GetTarget() const;
 
     /// @copydoc GAL::ClearTarget()
-    virtual void ClearTarget( RenderTarget aTarget );
+    virtual void ClearTarget( RENDER_TARGET aTarget );
 
     // -------
     // Cursor
@@ -275,8 +276,8 @@ private:
     wxEvtHandler*           paintListener;
 
     // Vertex buffer objects related fields
-    typedef std::map< unsigned int, boost::shared_ptr<VERTEX_ITEM> > GroupsMap;
-    GroupsMap               groups;                 ///< Stores informations about VBO objects (groups)
+    typedef std::map< unsigned int, boost::shared_ptr<VERTEX_ITEM> > GROUPS_MAP;
+    GROUPS_MAP              groups;                 ///< Stores informations about VBO objects (groups)
     unsigned int            groupCounter;           ///< Counter used for generating keys for groups
     VERTEX_MANAGER*         currentManager;         ///< Currently used VERTEX_MANAGER (for storing VERTEX_ITEMs)
     VERTEX_MANAGER          cachedManager;          ///< Container for storing cached VERTEX_ITEMs
@@ -287,7 +288,7 @@ private:
     OPENGL_COMPOSITOR       compositor;             ///< Handles multiple rendering targets
     unsigned int            mainBuffer;             ///< Main rendering target
     unsigned int            overlayBuffer;          ///< Auxiliary rendering target (for menus etc.)
-    RenderTarget            currentTarget;          ///< Current rendering target
+    RENDER_TARGET           currentTarget;          ///< Current rendering target
 
     // Shader
     SHADER                  shader;         ///< There is only one shader used for different objects
diff --git a/include/gal/opengl/shader.h b/include/gal/opengl/shader.h
index 4ac02cf2ab..a83de846e3 100644
--- a/include/gal/opengl/shader.h
+++ b/include/gal/opengl/shader.h
@@ -39,7 +39,7 @@ namespace KIGFX
 class OPENGL_GAL;
 
 /// Type definition for the shader
-enum ShaderType
+enum SHADER_TYPE
 {
     SHADER_TYPE_VERTEX	 = GL_VERTEX_SHADER,    ///< Vertex shader
     SHADER_TYPE_FRAGMENT = GL_FRAGMENT_SHADER,  ///< Fragment shader
@@ -77,7 +77,7 @@ public:
      * @param aShaderType is the type of the shader.
      * @return True in case of success, false otherwise.
      */
-    bool LoadBuiltinShader( unsigned int aShaderNumber, ShaderType aShaderType );
+    bool LoadBuiltinShader( unsigned int aShaderNumber, SHADER_TYPE aShaderType );
 
     /**
      * @brief Loads one of the built-in shaders and compiles it.
@@ -86,7 +86,7 @@ public:
      * @param aShaderType is the type of the shader.
      * @return True in case of success, false otherwise.
      */
-    bool LoadShaderFromFile( const std::string& aShaderSourceName, ShaderType aShaderType );
+    bool LoadShaderFromFile( const std::string& aShaderSourceName, SHADER_TYPE aShaderType );
 
     /**
      * @brief Link the shaders.
@@ -193,7 +193,7 @@ private:
      * @param aShaderType is the type of the shader.
      * @return True in case of success, false otherwise.
      */
-    bool addSource( const std::string& aShaderSource, ShaderType aShaderType );
+    bool addSource( const std::string& aShaderSource, SHADER_TYPE aShaderType );
 
     std::deque<GLuint>  shaderNumbers;      ///< Shader number list
     GLuint              programNumber;      ///< Shader program number
diff --git a/include/gal/opengl/vertex_common.h b/include/gal/opengl/vertex_common.h
index 2610ffb0ef..9ec8d9bf2f 100644
--- a/include/gal/opengl/vertex_common.h
+++ b/include/gal/opengl/vertex_common.h
@@ -35,7 +35,7 @@
 namespace KIGFX
 {
 // Possible types of shaders
-enum SHADER_TYPE
+enum SHADER_MODE
 {
     SHADER_NONE = 0,
     SHADER_LINE,
diff --git a/include/gal/stroke_font.h b/include/gal/stroke_font.h
index 034214e296..50882ee142 100644
--- a/include/gal/stroke_font.h
+++ b/include/gal/stroke_font.h
@@ -38,8 +38,8 @@ namespace KIGFX
 {
 class GAL;
 
-typedef std::deque< std::deque<VECTOR2D> > Glyph;
-typedef std::deque<Glyph>                  GlyphList;
+typedef std::deque< std::deque<VECTOR2D> > GLYPH;
+typedef std::deque<GLYPH>                  GLYPH_LIST;
 
 /**
  * @brief Class STROKE_FONT implements stroke font drawing.
@@ -157,7 +157,7 @@ public:
 
 private:
     GAL*                m_gal;                                    ///< Pointer to the GAL
-    GlyphList           m_glyphs;                                 ///< Glyph list
+    GLYPH_LIST          m_glyphs;                                 ///< Glyph list
     std::deque<BOX2D>   m_glyphBoundingBoxes;                     ///< Bounding boxes of the glyphs
     double              m_scaleFactor;                            ///< Scale factor for the glyph
     VECTOR2D            m_glyphSize;                              ///< Size of the glyphs
@@ -172,7 +172,7 @@ private:
      * @param aGlyphBoundingX is the x-component of the bounding box size.
      * @return is the complete bounding box size.
      */
-    BOX2D computeBoundingBox( const Glyph& aGlyph, const VECTOR2D& aGlyphBoundingX ) const;
+    BOX2D computeBoundingBox( const GLYPH& aGlyph, const VECTOR2D& aGlyphBoundingX ) const;
 
     /**
      * @brief Compute the size of a given text.
diff --git a/include/geometry/seg.h b/include/geometry/seg.h
index 4a2e8ccecc..b400930ef2 100644
--- a/include/geometry/seg.h
+++ b/include/geometry/seg.h
@@ -43,18 +43,18 @@ public:
     friend inline std::ostream& operator<<( std::ostream& aStream, const SEG& aSeg );
 
     /* Start and the of the segment. Public, to make access simpler. These are references
-     * to an object the segment belongs to (e.g. a line chain) or references to locally stored points
-     * (m_a, m_b).
+     * to an object the segment belongs to (e.g. a line chain) or references to locally stored
+     * points (m_a, m_b).
      */
-    VECTOR2I& a, b;
+    VECTOR2I& A, B;
 
     /** Default constructor
      * Creates an empty (0, 0) segment, locally-referenced
      */
-    SEG() : a( m_a ), b( m_b )
+    SEG() : A( m_a ), B( m_b )
     {
-        a = m_a;
-        b = m_b;
+        A = m_a;
+        B = m_b;
         m_is_local = true;
         m_index = -1;
     }
@@ -63,238 +63,243 @@ public:
      * Constructor
      * Creates a segment between (aX1, aY1) and (aX2, aY2), locally referenced
      */
-    SEG( int aX1, int aY1, int aX2, int aY2 ) : a( m_a ), b( m_b )
+    SEG( int aX1, int aY1, int aX2, int aY2 ) : A( m_a ), B( m_b )
     {
         m_a = VECTOR2I( aX1, aY1 );
         m_b = VECTOR2I( aX2, aY2 );
-        a = m_a;
-        b = m_b;
+        A = m_a;
+        B = m_b;
         m_is_local = true;
         m_index = -1;
     }
 
-        /**
-         * Constructor
-         * Creates a segment between (aA) and (aB), locally referenced
-         */
-        SEG( const VECTOR2I& aA, const VECTOR2I& aB ) : a( m_a ), b( m_b ), m_a( aA ), m_b( aB )
+    /**
+     * Constructor
+     * Creates a segment between (aA) and (aB), locally referenced
+     */
+    SEG( const VECTOR2I& aA, const VECTOR2I& aB ) : A( m_a ), B( m_b ), m_a( aA ), m_b( aB )
+    {
+        A = m_a;
+        B = m_b;
+        m_is_local = true;
+        m_index = -1;
+    }
+
+    /**
+     * Constructor
+     * Creates a segment between (aA) and (aB), referenced to a multi-segment shape
+     * @param aA reference to the start point in the parent shape
+     * @param aB reference to the end point in the parent shape
+     * @param aIndex index of the segment within the parent shape
+     */
+    SEG ( VECTOR2I& aA, VECTOR2I& aB, int aIndex ) : A( aA ), B( aB )
+    {
+        m_is_local = false;
+        m_index = aIndex;
+    }
+
+    /**
+     * Copy constructor
+     */
+    SEG ( const SEG& aSeg ) : A( m_a ), B( m_b )
+    {
+        if( aSeg.m_is_local )
         {
-            a = m_a;
-            b = m_b;
+            m_a = aSeg.m_a;
+            m_b = aSeg.m_b;
+            A = m_a;
+            B = m_b;
             m_is_local = true;
             m_index = -1;
         }
-
-        /**
-         * Constructor
-         * Creates a segment between (aA) and (aB), referenced to a multi-segment shape
-         * @param aA reference to the start point in the parent shape
-         * @param aB reference to the end point in the parent shape
-         * @param aIndex index of the segment within the parent shape
-         */
-        SEG ( VECTOR2I& aA, VECTOR2I& aB, int aIndex ) : a( aA ), b( aB )
+        else
         {
-            m_is_local = false;
-            m_index = aIndex;
-        }
-
-        /**
-         * Copy constructor
-         */
-        SEG ( const SEG& aSeg ) : a( m_a ), b( m_b )
-        {
-            if (aSeg.m_is_local)
-            {
-                m_a = aSeg.m_a;
-                m_b = aSeg.m_b;
-                a = m_a;
-                b = m_b;
-                m_is_local = true;
-                m_index = -1;
-            } else {
-                a = aSeg.a;
-                b = aSeg.b;
-                m_index = aSeg.m_index;
-                m_is_local = false;
-            }
-        }
-
-        SEG& operator=( const SEG& aSeg )
-        {
-            a = aSeg.a;
-            b = aSeg.b;
-            m_a = aSeg.m_a;
-            m_b = aSeg.m_b;
+            A = aSeg.A;
+            B = aSeg.B;
             m_index = aSeg.m_index;
-            m_is_local = aSeg.m_is_local;
-            return *this;
+            m_is_local = false;
         }
+    }
 
-        /**
-          * Function LineProject()
-          *
-          * Computes the perpendicular projection point of aP on a line passing through
-          * ends of the segment.
-          * @param aP point to project
-          * @return projected point
-          */
-        VECTOR2I LineProject( const VECTOR2I& aP ) const;
+    SEG& operator=( const SEG& aSeg )
+    {
+        A = aSeg.A;
+        B = aSeg.B;
+        m_a = aSeg.m_a;
+        m_b = aSeg.m_b;
+        m_index = aSeg.m_index;
+        m_is_local = aSeg.m_is_local;
 
-        /**
-          * Function Side()
-          *
-          * Determines on which side of directed line passing via segment ends point aP lies.
-          * @param aP point to determine the orientation wrs to self
-          * @return: < 0: left, 0 : on the line, > 0 : right
-          */
-        int Side( const VECTOR2I& aP ) const
-        {
-            const ecoord det = ( b - a ).Cross( aP - a );
+        return *this;
+    }
 
-             return det < 0 ? -1 : ( det > 0 ? 1 : 0 );
-        }
+    /**
+      * Function LineProject()
+      *
+      * Computes the perpendicular projection point of aP on a line passing through
+      * ends of the segment.
+      * @param aP point to project
+      * @return projected point
+      */
+    VECTOR2I LineProject( const VECTOR2I& aP ) const;
 
-        /**
-          * Function LineDistance()
-          *
-          * Returns the closest Euclidean distance between point aP and the line defined by
-          * the ends of segment (this).
-          * @param aDetermineSide: when true, the sign of the returned value indicates
-          * the side of the line at which we are (negative = left)
-          * @return the distance
-          */
-        int LineDistance( const VECTOR2I& aP, bool aDetermineSide = false ) const;
+    /**
+      * Function Side()
+      *
+      * Determines on which side of directed line passing via segment ends point aP lies.
+      * @param aP point to determine the orientation wrs to self
+      * @return: < 0: left, 0 : on the line, > 0 : right
+      */
+    int Side( const VECTOR2I& aP ) const
+    {
+        const ecoord det = ( B - A ).Cross( aP - A );
 
-        /**
-          * Function NearestPoint()
-          *
-          * Computes a point on the segment (this) that is closest to point aP.
-          * @return: nearest point
-          */
-        const VECTOR2I NearestPoint( const VECTOR2I &aP ) const;
+        return det < 0 ? -1 : ( det > 0 ? 1 : 0 );
+    }
 
-        /**
-         * Function Intersect()
-         *
-         * Computes intersection point of segment (this) with segment aSeg.
-         * @param aSeg: segment to intersect with
-         * @param aIgnoreEndpoints: don't treat corner cases (i.e. end of one segment touching the other)
-         * as intersections.
-         * @param aLines: treat segments as infinite lines
-         * @return intersection point, if exists
-         */
-        OPT_VECTOR2I Intersect( const SEG& aSeg, bool aIgnoreEndpoints = false, bool aLines = false ) const;
+    /**
+      * Function LineDistance()
+      *
+      * Returns the closest Euclidean distance between point aP and the line defined by
+      * the ends of segment (this).
+      * @param aDetermineSide: when true, the sign of the returned value indicates
+      * the side of the line at which we are (negative = left)
+      * @return the distance
+      */
+    int LineDistance( const VECTOR2I& aP, bool aDetermineSide = false ) const;
 
-        /**
-         * Function IntersectLines()
-         *
-         * Computes the intersection point of lines passing through ends of (this) and aSeg
-         * @param aSeg segment defining the line to intersect with
-         * @return intersection point, if exists
-         */
-        OPT_VECTOR2I IntersectLines( const SEG& aSeg ) const
-        {
-            return Intersect( aSeg, false, true );
-        }
+    /**
+      * Function NearestPoint()
+      *
+      * Computes a point on the segment (this) that is closest to point aP.
+      * @return: nearest point
+      */
+    const VECTOR2I NearestPoint( const VECTOR2I &aP ) const;
 
-        bool Collide( const SEG& aSeg, int aClearance ) const;
+    /**
+     * Function Intersect()
+     *
+     * Computes intersection point of segment (this) with segment aSeg.
+     * @param aSeg: segment to intersect with
+     * @param aIgnoreEndpoints: don't treat corner cases (i.e. end of one segment touching the
+     * other) as intersections.
+     * @param aLines: treat segments as infinite lines
+     * @return intersection point, if exists
+     */
+    OPT_VECTOR2I Intersect( const SEG& aSeg, bool aIgnoreEndpoints = false,
+                            bool aLines = false ) const;
 
-        /**
-         * Function Distance()
-         *
-         * Computes minimum Euclidean distance to segment aSeg.
-         * @param aSeg other segment
-         * @return minimum distance
-         */
+    /**
+     * Function IntersectLines()
+     *
+     * Computes the intersection point of lines passing through ends of (this) and aSeg
+     * @param aSeg segment defining the line to intersect with
+     * @return intersection point, if exists
+     */
+    OPT_VECTOR2I IntersectLines( const SEG& aSeg ) const
+    {
+        return Intersect( aSeg, false, true );
+    }
 
-        ecoord SquaredDistance( const SEG& aSeg ) const;
+    bool Collide( const SEG& aSeg, int aClearance ) const;
 
-        int Distance( const SEG& aSeg ) const
-        {
-            return sqrt( SquaredDistance( aSeg ) );
-        }
+    /**
+     * Function Distance()
+     *
+     * Computes minimum Euclidean distance to segment aSeg.
+     * @param aSeg other segment
+     * @return minimum distance
+     */
 
-        /**
-         * Function Distance()
-         *
-         * Computes minimum Euclidean distance to point aP.
-         * @param aP the point
-         * @return minimum distance
-         */
-        ecoord SquaredDistance( const VECTOR2I& aP ) const
-        {
-            return ( NearestPoint( aP ) - aP ).SquaredEuclideanNorm();
-        }
+    ecoord SquaredDistance( const SEG& aSeg ) const;
 
-        int Distance( const VECTOR2I& aP ) const
-        {
-            return sqrt( SquaredDistance( aP ) );
-        }
+    int Distance( const SEG& aSeg ) const
+    {
+        return sqrt( SquaredDistance( aSeg ) );
+    }
 
-        /**
-         * Function Collinear()
-         *
-         * Checks if segment aSeg lies on the same line as (this).
-         * @param aSeg the segment to chech colinearity with
-         * @return true, when segments are collinear.
-         */
-        bool Collinear( const SEG& aSeg ) const
-        {
-            ecoord qa1 = a.y - b.y;
-            ecoord qb1 = b.x - a.x;
-            ecoord qc1 = -qa1 * a.x - qb1 * a.y;
-            ecoord qa2 = aSeg.a.y - aSeg.b.y;
-            ecoord qb2 = aSeg.b.x - aSeg.a.x;
-            ecoord qc2 = -qa2 * aSeg.a.x - qb2 * aSeg.a.y;
+    /**
+     * Function Distance()
+     *
+     * Computes minimum Euclidean distance to point aP.
+     * @param aP the point
+     * @return minimum distance
+     */
+    ecoord SquaredDistance( const VECTOR2I& aP ) const
+    {
+        return ( NearestPoint( aP ) - aP ).SquaredEuclideanNorm();
+    }
 
-            return ( qa1 == qa2 ) && ( qb1 == qb2 ) && ( qc1 == qc2 );
-        }
+    int Distance( const VECTOR2I& aP ) const
+    {
+        return sqrt( SquaredDistance( aP ) );
+    }
 
-        /**
-         * Function Length()
-         *
-         * Returns the length (this)
-         * @return length
-         */
-        int Length() const
-        {
-            return ( a - b ).EuclideanNorm();
-        }
+    /**
+     * Function Collinear()
+     *
+     * Checks if segment aSeg lies on the same line as (this).
+     * @param aSeg the segment to chech colinearity with
+     * @return true, when segments are collinear.
+     */
+    bool Collinear( const SEG& aSeg ) const
+    {
+        ecoord qa1 = A.y - B.y;
+        ecoord qb1 = B.x - A.x;
+        ecoord qc1 = -qa1 * A.x - qb1 * A.y;
+        ecoord qa2 = aSeg.A.y - aSeg.B.y;
+        ecoord qb2 = aSeg.B.x - aSeg.A.x;
+        ecoord qc2 = -qa2 * aSeg.A.x - qb2 * aSeg.A.y;
 
-        ecoord SquaredLength() const
-        {
-            return ( a - b ).SquaredEuclideanNorm();
-        }
+        return ( qa1 == qa2 ) && ( qb1 == qb2 ) && ( qc1 == qc2 );
+    }
 
-        /**
-         * Function Index()
-         *
-         * Return the index of this segment in its parent shape (applicable only to non-local segments)
-         * @return index value
-         */
-        int Index() const
-        {
-            return m_index;
-        }
+    /**
+     * Function Length()
+     *
+     * Returns the length (this)
+     * @return length
+     */
+    int Length() const
+    {
+        return ( A - B ).EuclideanNorm();
+    }
 
-        bool Contains( const VECTOR2I& aP ) const;
+    ecoord SquaredLength() const
+    {
+        return ( A - B ).SquaredEuclideanNorm();
+    }
 
-        bool PointCloserThan( const VECTOR2I& aP, int aDist ) const;
+    /**
+     * Function Index()
+     *
+     * Return the index of this segment in its parent shape (applicable only to non-local segments)
+     * @return index value
+     */
+    int Index() const
+    {
+        return m_index;
+    }
 
-    //    friend std::ostream& operator<<( std::ostream& stream, const SEG& aSeg );
-    private:
-        bool ccw( const VECTOR2I& aA, const VECTOR2I& aB, const VECTOR2I &aC ) const;
+    bool Contains( const VECTOR2I& aP ) const;
 
-        ///> locally stored start/end coordinates (used when m_is_local == true)
-        VECTOR2I m_a, m_b;
+    bool PointCloserThan( const VECTOR2I& aP, int aDist ) const;
 
-        ///> index withing the parent shape (used when m_is_local == false)
-        int m_index;
+//    friend std::ostream& operator<<( std::ostream& stream, const SEG& aSeg );
+private:
+    bool ccw( const VECTOR2I& aA, const VECTOR2I& aB, const VECTOR2I &aC ) const;
 
-        ///> locality flag
-        bool m_is_local;
+    ///> locally stored start/end coordinates (used when m_is_local == true)
+    VECTOR2I m_a, m_b;
+
+    ///> index withing the parent shape (used when m_is_local == false)
+    int m_index;
+
+    ///> locality flag
+    bool m_is_local;
 };
 
+
 inline VECTOR2I SEG::LineProject( const VECTOR2I& aP ) const
 {
     // fixme: numerical errors for large integers
@@ -302,45 +307,47 @@ inline VECTOR2I SEG::LineProject( const VECTOR2I& aP ) const
     return VECTOR2I( 0, 0 );
 }
 
+
 inline int SEG::LineDistance( const VECTOR2I& aP, bool aDetermineSide ) const
 {
-    ecoord p = a.y - b.y;
-    ecoord q = b.x - a.x;
-    ecoord r = -p * a.x - q * a.y;
+    ecoord p = A.y - B.y;
+    ecoord q = B.x - A.x;
+    ecoord r = -p * A.x - q * A.y;
 
     ecoord dist = ( p * aP.x + q * aP.y + r ) / sqrt( p * p + q * q );
 
     return aDetermineSide ? dist : abs( dist );
 }
 
+
 inline const VECTOR2I SEG::NearestPoint( const VECTOR2I& aP ) const
 {
-    VECTOR2I d = b - a;
+    VECTOR2I d = B - A;
     ecoord l_squared = d.Dot( d );
 
     if( l_squared == 0 )
-        return a;
+        return A;
 
-    ecoord t = d.Dot( aP - a );
+    ecoord t = d.Dot( aP - A );
 
     if( t < 0 )
-        return a;
+        return A;
     else if( t > l_squared )
-        return b;
+        return B;
 
     int xp = rescale( t, (ecoord)d.x, l_squared );
     int yp = rescale( t, (ecoord)d.y, l_squared );
 
-    return a + VECTOR2I( xp, yp );
+    return A + VECTOR2I( xp, yp );
 }
 
+
 inline std::ostream& operator<<( std::ostream& aStream, const SEG& aSeg )
 {
     if( aSeg.m_is_local )
-        aStream << "[ local " << aSeg.a << " - " << aSeg.b << " ]";
+        aStream << "[ local " << aSeg.A << " - " << aSeg.B << " ]";
 
     return aStream;
 }
 
 #endif // __SEG_H
-
diff --git a/include/geometry/shape.h b/include/geometry/shape.h
index ff273e2160..98c8ffcd82 100644
--- a/include/geometry/shape.h
+++ b/include/geometry/shape.h
@@ -31,11 +31,11 @@
 #include <geometry/seg.h>
 
 /**
- * Enum ShapeType
+ * Enum SHAPE_TYPE
  * Lists all supported shapes
  */
 
-enum ShapeType
+enum SHAPE_TYPE
 {
     SH_RECT = 0,        ///> axis-aligned rectangle
     SH_SEGMENT,         ///> line segment
@@ -50,101 +50,108 @@ enum ShapeType
  */
 class SHAPE
 {
-    protected:
-        typedef VECTOR2I::extended_type ecoord;
+protected:
+    typedef VECTOR2I::extended_type ecoord;
 
-    public:
-        /**
-         * Constructor
-         *
-         * Creates an empty shape of type aType
-         */
+public:
+    /**
+     * Constructor
+     *
+     * Creates an empty shape of type aType
+     */
 
-        SHAPE ( ShapeType aType ) : m_type( aType ) { };
+    SHAPE ( SHAPE_TYPE aType ) : m_type( aType )
+    {}
 
-        // Destructor
-        virtual ~SHAPE() {};
+    // Destructor
+    virtual ~SHAPE()
+    {}
 
-        /**
-         * Function Type()
-         *
-         * Returns the type of the shape.
-         * @retval the type
-         */
-        ShapeType Type() const { return m_type; }
+    /**
+     * Function Type()
+     *
+     * Returns the type of the shape.
+     * @retval the type
+     */
+    SHAPE_TYPE Type() const
+    {
+        return m_type;
+    }
 
-        /**
-         * Function Clone()
-         *
-         * Returns a dynamically allocated copy of the shape
-         * @retval copy of the shape
-         */
-        virtual SHAPE* Clone() const
-        {
-            assert( false );
-            return NULL;
-        };
+    /**
+     * Function Clone()
+     *
+     * Returns a dynamically allocated copy of the shape
+     * @retval copy of the shape
+     */
+    virtual SHAPE* Clone() const
+    {
+        assert( false );
+        return NULL;
+    };
 
-        /**
-         * Function Collide()
-         *
-         * Checks if the boundary of shape (this) lies closer to the point aP than aClearance, indicating
-         * a collision.
-         * @return true, if there is a collision.
-         */
-        virtual bool Collide( const VECTOR2I& aP, int aClearance = 0 ) const
-        {
-            return Collide( SEG( aP, aP ), aClearance );
-        }
+    /**
+     * Function Collide()
+     *
+     * Checks if the boundary of shape (this) lies closer to the point aP than aClearance,
+     * indicating a collision.
+     * @return true, if there is a collision.
+     */
+    virtual bool Collide( const VECTOR2I& aP, int aClearance = 0 ) const
+    {
+        return Collide( SEG( aP, aP ), aClearance );
+    }
 
-        /**
-         * Function Collide()
-         *
-         * Checks if the boundary of shape (this) lies closer to the shape aShape than aClearance, indicating
-         * a collision.
-         * @param aShape shape to check collision against
-         * @param aClearance minimum clearance
-         * @param aMTV minimum translation vector
-         * @return true, if there is a collision.
-         */
-        virtual bool Collide( const SHAPE* aShape, int aClerance, VECTOR2I& aMTV ) const;
-        virtual bool Collide( const SHAPE* aShape, int aClerance = 0 ) const;
+    /**
+     * Function Collide()
+     *
+     * Checks if the boundary of shape (this) lies closer to the shape aShape than aClearance,
+     * indicating a collision.
+     * @param aShape shape to check collision against
+     * @param aClearance minimum clearance
+     * @param aMTV minimum translation vector
+     * @return true, if there is a collision.
+     */
+    virtual bool Collide( const SHAPE* aShape, int aClerance, VECTOR2I& aMTV ) const;
+    virtual bool Collide( const SHAPE* aShape, int aClerance = 0 ) const;
 
-        /**
-         * Function Collide()
-         *
-         * Checks if the boundary of shape (this) lies closer to the segment aSeg than aClearance, indicating
-         * a collision.
-         * @return true, if there is a collision.
-         */
-        virtual bool Collide( const SEG& aSeg, int aClearance = 0 ) const = 0;
+    /**
+     * Function Collide()
+     *
+     * Checks if the boundary of shape (this) lies closer to the segment aSeg than aClearance,
+     * indicating a collision.
+     * @return true, if there is a collision.
+     */
+    virtual bool Collide( const SEG& aSeg, int aClearance = 0 ) const = 0;
 
-        /**
-         * Function Collide()
-         *
-         * Computes a bounding box of the shape, with a margin of aClearance
-         * a collision.
-         * @aClearance how much the bounding box is expanded wrs to the minimum enclosing rectangle for the shape.
-         * @return the bounding box.
-         */
-        virtual const BOX2I BBox( int aClearance = 0 ) const = 0;
+    /**
+     * Function Collide()
+     *
+     * Computes a bounding box of the shape, with a margin of aClearance
+     * a collision.
+     * @aClearance how much the bounding box is expanded wrs to the minimum enclosing rectangle
+     * for the shape.
+     * @return the bounding box.
+     */
+    virtual const BOX2I BBox( int aClearance = 0 ) const = 0;
 
-        /**
-         * Function Centre()
-         *
-         * Computes a center-of-mass of the shape
-         * @return the center-of-mass point
-         */
-        virtual VECTOR2I Centre() const
-        {
-            return BBox( 0 ).Centre(); // if nothing better is available....
-        }
+    /**
+     * Function Centre()
+     *
+     * Computes a center-of-mass of the shape
+     * @return the center-of-mass point
+     */
+    virtual VECTOR2I Centre() const
+    {
+        return BBox( 0 ).Centre(); // if nothing better is available....
+    }
 
-    private:
-        ///> type of our shape
-        ShapeType m_type;
+private:
+    ///> type of our shape
+    SHAPE_TYPE m_type;
 };
 
-bool CollideShapes( const SHAPE* aA, const SHAPE* aB, int aClearance, bool aNeedMTV, VECTOR2I& aMTV );
+bool CollideShapes( const SHAPE* aA, const SHAPE* aB, int aClearance,
+                    bool aNeedMTV, VECTOR2I& aMTV );
 
 #endif // __SHAPE_H
diff --git a/include/geometry/shape_circle.h b/include/geometry/shape_circle.h
index 2e2745401a..a11cd4da8f 100644
--- a/include/geometry/shape_circle.h
+++ b/include/geometry/shape_circle.h
@@ -31,12 +31,15 @@ class SHAPE_CIRCLE : public SHAPE
 {
 public:
     SHAPE_CIRCLE() :
-        SHAPE( SH_CIRCLE ), m_radius( 0 ) {};
+        SHAPE( SH_CIRCLE ), m_radius( 0 )
+    {}
 
     SHAPE_CIRCLE( const VECTOR2I& aCenter, int aRadius ) :
-        SHAPE( SH_CIRCLE ), m_radius( aRadius ), m_center( aCenter ) {};
+        SHAPE( SH_CIRCLE ), m_radius( aRadius ), m_center( aCenter )
+    {}
 
-    ~SHAPE_CIRCLE() {};
+    ~SHAPE_CIRCLE()
+    {}
 
     const BOX2I BBox( int aClearance = 0 ) const
     {
diff --git a/include/geometry/shape_index_list.h b/include/geometry/shape_index_list.h
index b021ccff8d..0d0e644803 100644
--- a/include/geometry/shape_index_list.h
+++ b/include/geometry/shape_index_list.h
@@ -36,16 +36,16 @@ const SHAPE* defaultShapeFunctor( const T aItem )
 template <class T, const SHAPE* (ShapeFunctor) (const T) = defaultShapeFunctor<T> >
 class SHAPE_INDEX_LIST
 {
-    struct ShapeEntry
+    struct SHAPE_ENTRY
     {
-        ShapeEntry( T aParent )
+        SHAPE_ENTRY( T aParent )
         {
             shape = ShapeFunctor( aParent );
             bbox = shape->BBox( 0 );
             parent = aParent;
         }
 
-        ~ShapeEntry()
+        ~SHAPE_ENTRY()
         {
         }
 
@@ -54,21 +54,24 @@ class SHAPE_INDEX_LIST
         BOX2I bbox;
     };
 
-    typedef std::vector<ShapeEntry> ShapeVec;
-    typedef typename std::vector<ShapeEntry>::iterator ShapeVecIter;
+    typedef std::vector<SHAPE_ENTRY> SHAPE_VEC;
+    typedef typename std::vector<SHAPE_ENTRY>::iterator SHAPE_VEC_ITER;
 
 public:
     // "Normal" iterator interface, for STL algorithms.
     class iterator
     {
     public:
-        iterator() {};
+        iterator()
+        {}
 
-        iterator( ShapeVecIter aCurrent ) :
-            m_current( aCurrent ) {};
+        iterator( SHAPE_VEC_ITER aCurrent ) :
+            m_current( aCurrent )
+        {}
 
         iterator( const iterator& aB ) :
-            m_current( aB.m_current ) {};
+            m_current( aB.m_current )
+        {}
 
         T operator*() const
         {
@@ -103,7 +106,7 @@ public:
         }
 
     private:
-        ShapeVecIter m_current;
+        SHAPE_VEC_ITER m_current;
     };
 
     // "Query" iterator, for iterating over a set of spatially matching shapes.
@@ -114,7 +117,7 @@ public:
         {
         }
 
-        query_iterator( ShapeVecIter aCurrent, ShapeVecIter aEnd, SHAPE* aShape,
+        query_iterator( SHAPE_VEC_ITER aCurrent, SHAPE_VEC_ITER aEnd, SHAPE* aShape,
                         int aMinDistance, bool aExact ) :
               m_end( aEnd ),
               m_current( aCurrent ),
@@ -122,80 +125,80 @@ public:
               m_minDistance( aMinDistance ),
               m_exact( aExact )
         {
-             if( aShape )
-             {
-                    m_refBBox = aShape->BBox();
-                    next();
-                }
-            }
-
-            query_iterator( const query_iterator& aB ) :
-                  m_end( aB.m_end ),
-                  m_current( aB.m_current ),
-                  m_shape( aB.m_shape ),
-                  m_minDistance( aB.m_minDistance ),
-                  m_exact( aB.m_exact ),
-                  m_refBBox( aB.m_refBBox )
-            {
-            }
-
-            T operator*() const
-            {
-                return (*m_current).parent;
-            }
-
-            query_iterator& operator++()
-            {
-                ++m_current;
+         if( aShape )
+         {
+                m_refBBox = aShape->BBox();
                 next();
-                 return *this;
             }
+        }
 
-            query_iterator& operator++( int aDummy )
-            {
-                ++m_current;
-                next();
-                return *this;
-            }
+        query_iterator( const query_iterator& aB ) :
+              m_end( aB.m_end ),
+              m_current( aB.m_current ),
+              m_shape( aB.m_shape ),
+              m_minDistance( aB.m_minDistance ),
+              m_exact( aB.m_exact ),
+              m_refBBox( aB.m_refBBox )
+        {
+        }
 
-            bool operator==( const query_iterator& aRhs ) const
-            {
-                return m_current == aRhs.m_current;
-            }
+        T operator*() const
+        {
+            return (*m_current).parent;
+        }
 
-            bool operator!=( const query_iterator& aRhs ) const
-            {
-                return m_current != aRhs.m_current;
-            }
+        query_iterator& operator++()
+        {
+            ++m_current;
+            next();
+             return *this;
+        }
 
-            const query_iterator& operator=( const query_iterator& aRhs )
-            {
-                m_end = aRhs.m_end;
-                m_current = aRhs.m_current;
-                m_shape = aRhs.m_shape;
-                m_minDistance = aRhs.m_minDistance;
-                m_exact = aRhs.m_exact;
-                m_refBBox = aRhs.m_refBBox;
-                return *this;
-            }
+        query_iterator& operator++( int aDummy )
+        {
+            ++m_current;
+            next();
+            return *this;
+        }
 
-        private:
-            void next()
+        bool operator==( const query_iterator& aRhs ) const
+        {
+            return m_current == aRhs.m_current;
+        }
+
+        bool operator!=( const query_iterator& aRhs ) const
+        {
+            return m_current != aRhs.m_current;
+        }
+
+        const query_iterator& operator=( const query_iterator& aRhs )
+        {
+            m_end = aRhs.m_end;
+            m_current = aRhs.m_current;
+            m_shape = aRhs.m_shape;
+            m_minDistance = aRhs.m_minDistance;
+            m_exact = aRhs.m_exact;
+            m_refBBox = aRhs.m_refBBox;
+            return *this;
+        }
+
+    private:
+        void next()
+        {
+            while( m_current != m_end )
             {
-                while( m_current != m_end )
+                if( m_refBBox.Distance( m_current->bbox ) <= m_minDistance )
                 {
-                    if( m_refBBox.Distance( m_current->bbox ) <= m_minDistance )
-                    {
-                        if( !m_exact || m_current->shape->Collide( m_shape, m_minDistance ) )
-                            return;
-                    }
-
-                    ++m_current;
+                    if( !m_exact || m_current->shape->Collide( m_shape, m_minDistance ) )
+                        return;
                 }
-            }
 
-        ShapeVecIter m_end;
-        ShapeVecIter m_current;
+                ++m_current;
+            }
+        }
+
+        SHAPE_VEC_ITER m_end;
+        SHAPE_VEC_ITER m_current;
         BOX2I   m_refBBox;
         bool    m_exact;
         SHAPE* m_shape;
@@ -204,14 +207,14 @@ public:
 
     void Add( T aItem )
     {
-        ShapeEntry s( aItem );
+        SHAPE_ENTRY s( aItem );
 
         m_shapes.push_back( s );
     }
 
     void Remove( const T aItem )
     {
-        ShapeVecIter i;
+        SHAPE_VEC_ITER i;
 
         for( i = m_shapes.begin(); i != m_shapes.end(); ++i )
         {
@@ -233,7 +236,7 @@ public:
     template <class Visitor>
     int Query( const SHAPE* aShape, int aMinDistance, Visitor& aV, bool aExact = true )    // const
     {
-        ShapeVecIter i;
+        SHAPE_VEC_ITER i;
         int n = 0;
         VECTOR2I::extended_type minDistSq = (VECTOR2I::extended_type) aMinDistance * aMinDistance;
 
@@ -282,7 +285,7 @@ public:
     }
 
 private:
-    ShapeVec m_shapes;
+    SHAPE_VEC m_shapes;
 };
 
 #endif
diff --git a/include/geometry/shape_line_chain.h b/include/geometry/shape_line_chain.h
index 6a2e61372e..44505a3668 100644
--- a/include/geometry/shape_line_chain.h
+++ b/include/geometry/shape_line_chain.h
@@ -38,504 +38,510 @@
  * Class SHAPE_LINE_CHAIN
  *
  * Represents a polyline (an zero-thickness chain of connected line segments).
- * I purposedly didn't name it "polyline" to avoid confusion with the existing CPolyLine class in pcbnew.
+ * I purposedly didn't name it "polyline" to avoid confusion with the existing CPolyLine
+ * class in pcbnew.
  *
  * SHAPE_LINE_CHAIN class shall not be used for polygons!
  */
-class SHAPE_LINE_CHAIN : public SHAPE {
-    private:
-        typedef std::vector<VECTOR2I>::iterator point_iter;
-        typedef std::vector<VECTOR2I>::const_iterator point_citer;
+class SHAPE_LINE_CHAIN : public SHAPE
+{
+private:
+    typedef std::vector<VECTOR2I>::iterator point_iter;
+    typedef std::vector<VECTOR2I>::const_iterator point_citer;
 
-    public:
+public:
+    /**
+     * Struct INTERSECTION
+     *
+     * Represents an intersection between two line segments
+     */
+    struct INTERSECTION
+    {
+        /// segment belonging from the (this) argument of Intersect()
+        SEG our;
+        /// segment belonging from the aOther argument of Intersect()
+        SEG their;
+        /// point of intersection between our and their.
+        VECTOR2I p;
+    };
 
-        /**
-         * Struct Intersection
-         *
-         * Represents an intersection between two line segments
-         */
-        struct Intersection
+    typedef std::vector<INTERSECTION> INTERSECTIONS;
+
+    /**
+     * Constructor
+     * Initializes an empty line chain.
+     */
+    SHAPE_LINE_CHAIN() :
+        SHAPE( SH_LINE_CHAIN ), m_closed( false )
+    {}
+
+    /**
+     * Copy Constructor
+     */
+    SHAPE_LINE_CHAIN( const SHAPE_LINE_CHAIN& aShape ) :
+        SHAPE( SH_LINE_CHAIN ), m_points( aShape.m_points ), m_closed( aShape.m_closed )
+    {}
+
+    /**
+     * Constructor
+     * Initializes a 2-point line chain (a single segment)
+     */
+    SHAPE_LINE_CHAIN( const VECTOR2I& aA, const VECTOR2I& aB ) :
+        SHAPE( SH_LINE_CHAIN ), m_closed( false )
+    {
+        m_points.resize( 2 );
+        m_points[0] = aA;
+        m_points[1] = aB;
+    }
+
+    SHAPE_LINE_CHAIN( const VECTOR2I& aA, const VECTOR2I& aB, const VECTOR2I& aC ) :
+        SHAPE( SH_LINE_CHAIN ), m_closed( false )
+    {
+        m_points.resize( 3 );
+        m_points[0] = aA;
+        m_points[1] = aB;
+        m_points[2] = aC;
+    }
+
+    SHAPE_LINE_CHAIN(const VECTOR2I* aV, int aCount ) :
+        SHAPE( SH_LINE_CHAIN ),
+        m_closed( false )
+    {
+        m_points.resize( aCount );
+
+        for( int i = 0; i < aCount; i++ )
+            m_points[i] = *aV++;
+    }
+
+    ~SHAPE_LINE_CHAIN()
+    {}
+
+    /**
+     * Function Clear()
+     * Removes all points from the line chain.
+     */
+    void Clear()
+    {
+        m_points.clear();
+        m_closed = false;
+    }
+
+    /**
+     * Function SetClosed()
+     *
+     * Marks the line chain as closed (i.e. with a segment connecting the last point with
+     * the first point).
+     * @param aClosed: whether the line chain is to be closed or not.
+     */
+    void SetClosed( bool aClosed )
+    {
+        m_closed = aClosed;
+    }
+
+    /**
+     * Function IsClosed()
+     *
+     * @return aClosed: true, when our line is closed.
+     */
+    bool IsClosed() const
+    {
+        return m_closed;
+    }
+
+    /**
+     * Function SegmentCount()
+     *
+     * Returns number of segments in this line chain.
+     * @return number of segments
+     */
+    int SegmentCount() const
+    {
+        int c = m_points.size() - 1;
+        if( m_closed )
+            c++;
+
+        return std::max( 0, c );
+    }
+
+    /**
+     * Function PointCount()
+     *
+     * Returns the number of points (vertices) in this line chain
+     * @return number of points
+     */
+    int PointCount() const
+    {
+        return m_points.size();
+    }
+
+    /**
+     * Function Segment()
+     *
+     * Returns a segment referencing to the segment (index) in the line chain.
+     * Modifying ends of the returned segment will modify corresponding points in the line chain.
+     * @param aIndex: index of the segment in the line chain. Negative values are counted from
+     * the end (i.e. -1 means the last segment in the line chain)
+     * @return SEG referenced to given segment in the line chain
+     */
+    SEG Segment( int aIndex )
+    {
+        if( aIndex < 0 )
+            aIndex += SegmentCount();
+
+        if( aIndex == ( m_points.size() - 1 ) && m_closed )
+            return SEG( m_points[aIndex], m_points[0], aIndex );
+        else
+            return SEG( m_points[aIndex], m_points[aIndex + 1], aIndex );
+    }
+
+    /**
+     * Function CSegment()
+     *
+     * Returns a read-only segment referencing to the segment (index) in the line chain.
+     * @param aIndex: index of the segment in the line chain. Negative values are counted from
+     * the end (i.e. -1 means the last segment in the line chain)
+     * @return SEG referenced to given segment in the line chain
+     */
+    const SEG CSegment( int aIndex ) const
+    {
+        if( aIndex < 0 )
+            aIndex += SegmentCount();
+
+        if( aIndex == ( m_points.size() - 1 ) && m_closed )
+            return SEG( const_cast<VECTOR2I&>( m_points[aIndex] ),
+                        const_cast<VECTOR2I&>( m_points[0] ), aIndex );
+        else
+            return SEG( const_cast<VECTOR2I&>( m_points[aIndex] ),
+                        const_cast<VECTOR2I&>( m_points[aIndex + 1] ), aIndex );
+    }
+
+    /**
+     * Function Point()
+     *
+     * Returns a reference to a given point in the line chain.
+     * @param aIndex index of the point
+     * @return reference to the point
+     */
+    VECTOR2I& Point( int aIndex )
+    {
+        if( aIndex < 0 )
+            aIndex += PointCount();
+
+        return m_points[aIndex];
+    }
+
+    /**
+     * Function CPoint()
+     *
+     * Returns a const reference to a given point in the line chain.
+     * @param aIndex index of the point
+     * @return const reference to the point
+     */
+    const VECTOR2I& CPoint( int aIndex ) const
+    {
+        if( aIndex < 0 )
+            aIndex += PointCount();
+
+        return m_points[aIndex];
+    }
+
+    /// @copydoc SHAPE::BBox()
+    const BOX2I BBox( int aClearance = 0 ) const
+    {
+        BOX2I bbox;
+        bbox.Compute( m_points );
+
+        return bbox;
+    }
+
+    /**
+     * Function Collide()
+     *
+     * Checks if point aP lies closer to us than aClearance.
+     * @param aP the point to check for collisions with
+     * @param aClearance minimum distance that does not qualify as a collision.
+     * @return true, when a collision has been found
+     */
+    bool Collide( const VECTOR2I& aP, int aClearance = 0 ) const;
+
+    /**
+     * Function Collide()
+     *
+     * Checks if box aBox lies closer to us than aClearance.
+     * @param aP the box to check for collisions with
+     * @param aClearance minimum distance that does not qualify as a collision.
+     * @return true, when a collision has been found
+     */
+    bool Collide( const BOX2I& aBox, int aClearance = 0 ) const;
+
+    /**
+     * Function Collide()
+     *
+     * Checks if segment aSeg lies closer to us than aClearance.
+     * @param aSeg the segment to check for collisions with
+     * @param aClearance minimum distance that does not qualify as a collision.
+     * @return true, when a collision has been found
+     */
+    bool Collide( const SEG& aSeg, int aClearance = 0 ) const;
+
+    /**
+     * Function Distance()
+     *
+     * Computes the minimum distance between the line chain and a point aP.
+     * @param aP the point
+     * @return minimum distance.
+     */
+    int Distance( const VECTOR2I& aP ) const;
+
+    /**
+     * Function Reverse()
+     *
+     * Reverses point order in the line chain.
+     * @return line chain with reversed point order (original A-B-C-D: returned D-C-B-A)
+     */
+    const SHAPE_LINE_CHAIN Reverse() const;
+
+    /**
+     * Function Length()
+     *
+     * Returns length of the line chain in Euclidean metric.
+     * @return length of the line chain
+     */
+    int Length() const;
+
+    /**
+     * Function Append()
+     *
+     * Appends a new point at the end of the line chain.
+     * @param aX is X coordinate of the new point
+     * @param aY is Y coordinate of the new point
+     */
+    void Append( int aX, int aY )
+    {
+        VECTOR2I v( aX, aY );
+        Append( v );
+    }
+
+    /**
+     * Function Append()
+     *
+     * Appends a new point at the end of the line chain.
+     * @param aP the new point
+     */
+    void Append( const VECTOR2I& aP )
+    {
+        if( m_points.size() == 0 )
+            m_bbox = BOX2I( aP, VECTOR2I( 0, 0 ) );
+
+        if( m_points.size() == 0 || CPoint( -1 ) != aP )
         {
-            /// segment belonging from the (this) argument of Intersect()
-            SEG our;
-            /// segment belonging from the aOther argument of Intersect()
-            SEG their;
-            /// point of intersection between our and their.
-            VECTOR2I p;
-        };
+            m_points.push_back( aP );
+            m_bbox.Merge( aP );
+        }
+    }
 
-        typedef std::vector<Intersection> Intersections;
+    /**
+     * Function Append()
+     *
+     * Appends another line chain at the end.
+     * @param aOtherLine the line chain to be appended.
+     */
+    void Append( const SHAPE_LINE_CHAIN& aOtherLine )
+    {
+        if( aOtherLine.PointCount() == 0 )
+            return;
 
-        /**
-         * Constructor
-         * Initializes an empty line chain.
-         */
-        SHAPE_LINE_CHAIN():
-            SHAPE( SH_LINE_CHAIN ), m_closed( false ) {};
-
-        /**
-         * Copy Constructor
-         */
-        SHAPE_LINE_CHAIN( const SHAPE_LINE_CHAIN& aShape ) :
-            SHAPE( SH_LINE_CHAIN ), m_points( aShape.m_points ), m_closed( aShape.m_closed ) {};
-
-        /**
-         * Constructor
-         * Initializes a 2-point line chain (a single segment)
-         */
-        SHAPE_LINE_CHAIN( const VECTOR2I& aA, const VECTOR2I& aB ) :
-            SHAPE( SH_LINE_CHAIN ),
-            m_closed( false )
-            {
-                m_points.resize( 2 );
-                m_points[0] = aA;
-                m_points[1] = aB;
-            }
-
-        SHAPE_LINE_CHAIN( const VECTOR2I& aA, const VECTOR2I& aB, const VECTOR2I& aC ):
-            SHAPE( SH_LINE_CHAIN ),
-            m_closed( false )
-            {
-                m_points.resize( 3 );
-                m_points[0] = aA;
-                m_points[1] = aB;
-                m_points[2] = aC;
-            }
-
-        SHAPE_LINE_CHAIN(const VECTOR2I* aV, int aCount ) :
-            SHAPE( SH_LINE_CHAIN ),
-            m_closed( false )
+        else if( PointCount() == 0 || aOtherLine.CPoint( 0 ) != CPoint( -1 ) )
         {
-            m_points.resize( aCount );
-
-            for( int i = 0; i < aCount; i++ )
-                m_points[i] = *aV++;
+            const VECTOR2I p = aOtherLine.CPoint( 0 );
+            m_points.push_back( p );
+            m_bbox.Merge( p );
         }
 
-        ~SHAPE_LINE_CHAIN() {};
-
-        /**
-         * Function Clear()
-         * Removes all points from the line chain.
-         */
-        void Clear()
+        for( int i = 1; i < aOtherLine.PointCount(); i++ )
         {
-            m_points.clear();
-            m_closed = false;
+            const VECTOR2I p = aOtherLine.CPoint( i );
+            m_points.push_back( p );
+            m_bbox.Merge( p );
+        }
+    }
+
+    /**
+     * Function Replace()
+     *
+     * Replaces points with indices in range [start_index, end_index] with a single
+     * point aP.
+     * @param aStartIndex start of the point range to be replaced (inclusive)
+     * @param aEndIndex end of the point range to be replaced (inclusive)
+     * @param aP replacement point
+     */
+    void Replace( int aStartIndex, int aEndIndex, const VECTOR2I& aP );
+
+    /**
+     * Function Replace()
+     *
+     * Replaces points with indices in range [start_index, end_index] with the points from
+     * line chain aLine.
+     * @param aStartIndex start of the point range to be replaced (inclusive)
+     * @param aEndIndex end of the point range to be replaced (inclusive)
+     * @param aLine replacement line chain.
+     */
+    void Replace( int aStartIndex, int aEndIndex, const SHAPE_LINE_CHAIN& aLine );
+
+    /**
+     * Function Remove()
+     *
+     * Removes the range of points [start_index, end_index] from the line chain.
+     * @param aStartIndex start of the point range to be replaced (inclusive)
+     * @param aEndIndex end of the point range to be replaced (inclusive)
+     */
+    void Remove( int aStartIndex, int aEndIndex );
+
+    /**
+     * Function Split()
+     *
+     * Inserts the point aP belonging to one of the our segments, splitting the adjacent
+     * segment in two.
+     * @param aP the point to be inserted
+     * @return index of the newly inserted point (or a negative value if aP does not lie on
+     * our line)
+     */
+    int Split( const VECTOR2I& aP );
+
+    /**
+     * Function Find()
+     *
+     * Searches for point aP.
+     * @param aP the point to be looked for
+     * @return index of the correspoinding point in the line chain or negative when not found.
+     */
+    int Find ( const VECTOR2I& aP ) const;
+
+    /**
+     * Function Slice()
+     *
+     * Returns a subset of this line chain containing the [start_index, end_index] range of points.
+     * @param aStartIndex start of the point range to be returned (inclusive)
+     * @param aEndIndex end of the point range to be returned (inclusive)
+     * @return cut line chain.
+     */
+    const SHAPE_LINE_CHAIN Slice( int aStartIndex, int aEndIndex = -1 ) const;
+
+    struct compareOriginDistance
+    {
+        compareOriginDistance( VECTOR2I& aOrigin ):
+            m_origin( aOrigin )
+        {}
+
+        bool operator()( const INTERSECTION& aA, const INTERSECTION& aB )
+        {
+            return ( m_origin - aA.p ).EuclideanNorm() < ( m_origin - aB.p ).EuclideanNorm();
         }
 
-        /**
-         * Function SetClosed()
-         *
-         * Marks the line chain as closed (i.e. with a segment connecting the last point with the first point).
-         * @param aClosed: whether the line chain is to be closed or not.
-          */
-        void SetClosed( bool aClosed )
+        VECTOR2I m_origin;
+    };
+
+    /**
+     * Function Intersect()
+     *
+     * Finds all intersection points between our line chain and the segment aSeg.
+     * @param aSeg the segment chain to find intersections with
+     * @param aIp reference to a vector to store found intersections. Intersection points
+     * are sorted with increasing distances from point aSeg.a.
+     * @return number of intersections found
+     */
+    int Intersect( const SEG& aSeg, INTERSECTIONS& aIp ) const;
+
+    /**
+     * Function Intersect()
+     *
+     * Finds all intersection points between our line chain and the line chain aChain.
+     * @param aChain the line chain to find intersections with
+     * @param aIp reference to a vector to store found intersections. Intersection points
+     * are sorted with increasing path lengths from the starting point of aChain.
+     * @return number of intersections found
+     */
+    int Intersect( const SHAPE_LINE_CHAIN& aChain, INTERSECTIONS& aIp ) const;
+
+    /**
+     * Function PathLength()
+     *
+     * Computes the walk path length from the beginning of the line chain and
+     * the point aP belonging to our line.
+     * @return: path length in Euclidean metric or negative if aP does not belong to
+     * the line chain.
+     */
+    int PathLength( const VECTOR2I& aP ) const;
+
+    /**
+     * Function PointInside()
+     *
+     * Checks if point aP lies inside a convex polygon defined by the line chain. For closed
+     * shapes only.
+     * @param aP point to check
+     * @return true if the point is inside the shape (edge is not treated as being inside).
+     */
+     bool PointInside( const VECTOR2I& aP ) const;
+
+    /**
+     * Function PointOnEdge()
+     *
+     * Checks if point aP lies on an edge or vertex of the line chain.
+     * @param aP point to check
+     * @return true if the point lies on the edge.
+     */
+    bool PointOnEdge( const VECTOR2I& aP ) const;
+
+    /**
+     * Function SelfIntersecting()
+     *
+     * Checks if the line chain is self-intersecting.
+     * @return (optional) first found self-intersection point.
+     */
+    const boost::optional<INTERSECTION> SelfIntersecting() const;
+
+    /**
+     * Function Simplify()
+     *
+     * Simplifies the line chain by removing colinear adjacent segments and duplicate vertices.
+     * @return reference to self.
+     */
+    SHAPE_LINE_CHAIN& Simplify();
+
+    /**
+     * Function NearestPoint()
+     *
+     * Finds a point on the line chain that is closest to point aP.
+     * @return the nearest point.
+     */
+    const VECTOR2I NearestPoint( const VECTOR2I& aP ) const;
+
+    /// @copydoc SHAPE::Format()
+    const std::string Format() const;
+
+    bool operator!=( const SHAPE_LINE_CHAIN& aRhs ) const
+    {
+        if( PointCount() != aRhs.PointCount() )
+            return true;
+
+        for( int i = 0; i < PointCount(); i++ )
         {
-            m_closed = aClosed;
-        }
-
-        /**
-         * Function IsClosed()
-         *
-         * @return aClosed: true, when our line is closed.
-         */
-        bool IsClosed() const
-        {
-            return m_closed;
-        }
-
-        /**
-         * Function SegmentCount()
-         *
-         * Returns number of segments in this line chain.
-         * @return number of segments
-         */
-        int SegmentCount() const
-        {
-            int c = m_points.size() - 1;
-            if( m_closed )
-                c++;
-
-            return std::max( 0, c );
-        }
-
-        /**
-         * Function PointCount()
-         *
-         * Returns the number of points (vertices) in this line chain
-         * @return number of points
-         */
-        int PointCount() const
-        {
-            return m_points.size();
-        }
-
-        /**
-         * Function Segment()
-         *
-         * Returns a segment referencing to the segment (index) in the line chain.
-         * Modifying ends of the returned segment will modify corresponding points in the line chain.
-         * @param aIndex: index of the segment in the line chain. Negative values are counted from the end (i.e. -1 means
-         * the last segment in the line chain)
-         * @return SEG referenced to given segment in the line chain
-         */
-        SEG Segment( int aIndex )
-        {
-            if( aIndex < 0 )
-                aIndex += SegmentCount();
-
-            if( aIndex == ( m_points.size() - 1 ) && m_closed )
-                return SEG( m_points[aIndex], m_points[0], aIndex );
-            else
-                return SEG( m_points[aIndex], m_points[aIndex + 1], aIndex );
-        }
-
-        /**
-         * Function CSegment()
-         *
-         * Returns a read-only segment referencing to the segment (index) in the line chain.
-         * @param aIndex: index of the segment in the line chain. Negative values are counted from the end (i.e. -1 means
-         * the last segment in the line chain)
-         * @return SEG referenced to given segment in the line chain
-         */
-        const SEG CSegment( int aIndex ) const
-        {
-            if( aIndex < 0 )
-                aIndex += SegmentCount();
-
-            if( aIndex == ( m_points.size() - 1 ) && m_closed )
-                return SEG( const_cast<VECTOR2I&>( m_points[aIndex] ),
-                            const_cast<VECTOR2I&>( m_points[0] ), aIndex );
-            else
-                return SEG( const_cast<VECTOR2I&>( m_points[aIndex] ),
-                            const_cast<VECTOR2I&>( m_points[aIndex + 1] ), aIndex );
-        }
-
-        /**
-         * Function Point()
-         *
-         * Returns a reference to a given point in the line chain.
-         * @param aIndex index of the point
-         * @return reference to the point
-         */
-        VECTOR2I& Point( int aIndex )
-        {
-            if( aIndex < 0 )
-                aIndex += PointCount();
-
-            return m_points[aIndex];
-        }
-
-        /**
-         * Function CPoint()
-         *
-         * Returns a const reference to a given point in the line chain.
-         * @param aIndex index of the point
-         * @return const reference to the point
-         */
-        const VECTOR2I& CPoint( int aIndex ) const
-        {
-            if( aIndex < 0 )
-                aIndex += PointCount();
-
-            return m_points[aIndex];
-        }
-
-        /// @copydoc SHAPE::BBox()
-        const BOX2I BBox( int aClearance = 0 ) const
-        {
-            BOX2I bbox;
-            bbox.Compute( m_points );
-
-            return bbox;
-        }
-
-        /**
-         * Function Collide()
-         *
-         * Checks if point aP lies closer to us than aClearance.
-         * @param aP the point to check for collisions with
-         * @param aClearance minimum distance that does not qualify as a collision.
-         * @return true, when a collision has been found
-         */
-        bool Collide( const VECTOR2I& aP, int aClearance = 0 ) const;
-
-        /**
-         * Function Collide()
-         *
-         * Checks if box aBox lies closer to us than aClearance.
-         * @param aP the box to check for collisions with
-         * @param aClearance minimum distance that does not qualify as a collision.
-         * @return true, when a collision has been found
-         */
-        bool Collide( const BOX2I& aBox, int aClearance = 0 ) const;
-
-        /**
-         * Function Collide()
-         *
-         * Checks if segment aSeg lies closer to us than aClearance.
-         * @param aSeg the segment to check for collisions with
-         * @param aClearance minimum distance that does not qualify as a collision.
-         * @return true, when a collision has been found
-         */
-        bool Collide( const SEG& aSeg, int aClearance = 0 ) const;
-
-        /**
-         * Function Distance()
-         *
-         * Computes the minimum distance between the line chain and a point aP.
-         * @param aP the point
-         * @return minimum distance.
-         */
-        int Distance( const VECTOR2I& aP ) const;
-
-        /**
-         * Function Reverse()
-         *
-         * Reverses point order in the line chain.
-         * @return line chain with reversed point order (original A-B-C-D: returned D-C-B-A)
-         */
-        const SHAPE_LINE_CHAIN Reverse() const;
-
-        /**
-         * Function Length()
-         *
-         * Returns length of the line chain in Euclidean metric.
-         * @return length of the line chain
-         */
-        int Length() const;
-
-        /**
-         * Function Append()
-         *
-         * Appends a new point at the end of the line chain.
-         * @param aX is X coordinate of the new point
-         * @param aY is Y coordinate of the new point
-         */
-        void Append( int aX, int aY )
-        {
-            VECTOR2I v( aX, aY );
-            Append( v );
-        }
-
-        /**
-         * Function Append()
-         *
-         * Appends a new point at the end of the line chain.
-         * @param aP the new point
-         */
-        void Append( const VECTOR2I& aP )
-        {
-            if( m_points.size() == 0 )
-                m_bbox = BOX2I( aP, VECTOR2I( 0, 0 ) );
-
-            if( m_points.size() == 0 || CPoint( -1 ) != aP )
-            {
-                m_points.push_back( aP );
-                m_bbox.Merge( aP );
-            }
-        }
-
-        /**
-         * Function Append()
-         *
-         * Appends another line chain at the end.
-         * @param aOtherLine the line chain to be appended.
-         */
-        void Append( const SHAPE_LINE_CHAIN& aOtherLine )
-        {
-            if( aOtherLine.PointCount() == 0 )
-                return;
-
-            else if( PointCount() == 0 || aOtherLine.CPoint( 0 ) != CPoint( -1 ) )
-            {
-                const VECTOR2I p = aOtherLine.CPoint( 0 );
-                m_points.push_back( p );
-                m_bbox.Merge( p );
-            }
-
-            for( int i = 1; i < aOtherLine.PointCount(); i++ )
-            {
-                const VECTOR2I p = aOtherLine.CPoint( i );
-                m_points.push_back( p );
-                m_bbox.Merge( p );
-            }
-        }
-
-        /**
-         * Function Replace()
-         *
-         * Replaces points with indices in range [start_index, end_index] with a single
-         * point aP.
-         * @param aStartIndex start of the point range to be replaced (inclusive)
-         * @param aEndIndex end of the point range to be replaced (inclusive)
-         * @param aP replacement point
-         */
-        void Replace( int aStartIndex, int aEndIndex, const VECTOR2I& aP );
-
-        /**
-         * Function Replace()
-         *
-         * Replaces points with indices in range [start_index, end_index] with the points from
-         * line chain aLine.
-         * @param aStartIndex start of the point range to be replaced (inclusive)
-         * @param aEndIndex end of the point range to be replaced (inclusive)
-         * @param aLine replacement line chain.
-         */
-        void Replace( int aStartIndex, int aEndIndex, const SHAPE_LINE_CHAIN& aLine );
-
-        /**
-         * Function Remove()
-         *
-         * Removes the range of points [start_index, end_index] from the line chain.
-         * @param aStartIndex start of the point range to be replaced (inclusive)
-         * @param aEndIndex end of the point range to be replaced (inclusive)
-         */
-        void Remove( int aStartIndex, int aEndIndex );
-
-        /**
-         * Function Split()
-         *
-         * Inserts the point aP belonging to one of the our segments, splitting the adjacent
-         * segment in two.
-         * @param aP the point to be inserted
-         * @return index of the newly inserted point (or a negative value if aP does not lie on our line)
-         */
-        int Split( const VECTOR2I& aP );
-
-        /**
-         * Function Find()
-         *
-         * Searches for point aP.
-         * @param aP the point to be looked for
-         * @return index of the correspoinding point in the line chain or negative when not found.
-         */
-        int Find ( const VECTOR2I& aP ) const;
-
-        /**
-         * Function Slice()
-         *
-         * Returns a subset of this line chain containing the [start_index, end_index] range of points.
-         * @param aStartIndex start of the point range to be returned (inclusive)
-         * @param aEndIndex end of the point range to be returned (inclusive)
-         * @return cut line chain.
-         */
-        const SHAPE_LINE_CHAIN Slice( int aStartIndex, int aEndIndex = -1) const;
-
-        struct compareOriginDistance
-        {
-            compareOriginDistance( VECTOR2I& aOrigin ):
-                m_origin( aOrigin ) {};
-
-            bool operator()( const Intersection& aA, const Intersection& aB )
-            {
-                return ( m_origin - aA.p ).EuclideanNorm() < ( m_origin - aB.p ).EuclideanNorm();
-            }
-
-            VECTOR2I m_origin;
-        };
-
-        /**
-         * Function Intersect()
-         *
-         * Finds all intersection points between our line chain and the segment aSeg.
-         * @param aSeg the segment chain to find intersections with
-         * @param aIp reference to a vector to store found intersections. Intersection points
-         * are sorted with increasing distances from point aSeg.a.
-         * @return number of intersections found
-         */
-        int Intersect ( const SEG& aSeg, Intersections& aIp ) const;
-
-        /**
-         * Function Intersect()
-         *
-         * Finds all intersection points between our line chain and the line chain aChain.
-         * @param aChain the line chain to find intersections with
-         * @param aIp reference to a vector to store found intersections. Intersection points
-         * are sorted with increasing path lengths from the starting point of aChain.
-         * @return number of intersections found
-         */
-        int Intersect( const SHAPE_LINE_CHAIN& aChain, Intersections& aIp ) const;
-
-        /**
-         * Function PathLength()
-         *
-         * Computes the walk path length from the beginning of the line chain and
-         * the point aP belonging to our line.
-         * @return: path length in Euclidean metric or negative if aP does not belong to the line chain.
-         */
-        int PathLength( const VECTOR2I& aP ) const;
-
-        /**
-         * Function PointInside()
-         *
-         * Checks if point aP lies inside a convex polygon defined by the line chain. For closed
-         * shapes only.
-         * @param aP point to check
-         * @return true if the point is inside the shape (edge is not treated as being inside).
-         */
-         bool PointInside( const VECTOR2I& aP ) const;
-
-        /**
-         * Function PointOnEdge()
-         *
-         * Checks if point aP lies on an edge or vertex of the line chain.
-         * @param aP point to check
-         * @return true if the point lies on the edge.
-         */
-        bool PointOnEdge( const VECTOR2I& aP ) const;
-
-        /**
-         * Function SelfIntersecting()
-         *
-         * Checks if the line chain is self-intersecting.
-         * @return (optional) first found self-intersection point.
-         */
-        const boost::optional<Intersection> SelfIntersecting() const;
-
-        /**
-         * Function Simplify()
-         *
-         * Simplifies the line chain by removing colinear adjacent segments and duplicate vertices.
-         * @return reference to self.
-         */
-        SHAPE_LINE_CHAIN& Simplify();
-
-        /**
-         * Function NearestPoint()
-         *
-         * Finds a point on the line chain that is closest to point aP.
-         * @return the nearest point.
-         */
-        const VECTOR2I NearestPoint( const VECTOR2I& aP ) const;
-
-        /// @copydoc SHAPE::Format()
-        const std::string Format() const;
-
-        bool operator!=( const SHAPE_LINE_CHAIN& aRhs ) const
-        {
-            if( PointCount() != aRhs.PointCount() )
+            if( CPoint( i ) != aRhs.CPoint( i ) )
                 return true;
-
-            for( int i = 0; i < PointCount(); i++ )
-            {
-                if( CPoint( i ) != aRhs.CPoint( i ) )
-                    return true;
-            }
-
-            return false;
         }
 
-    private:
-        /// array of vertices
-        std::vector<VECTOR2I> m_points;
+        return false;
+    }
 
-        /// is the line chain closed?
-        bool m_closed;
+private:
+    /// array of vertices
+    std::vector<VECTOR2I> m_points;
 
-        /// cached bounding box
-        BOX2I m_bbox;
+    /// is the line chain closed?
+    bool m_closed;
+
+    /// cached bounding box
+    BOX2I m_bbox;
 };
 
 #endif // __SHAPE_LINE_CHAIN
diff --git a/include/geometry/shape_rect.h b/include/geometry/shape_rect.h
index 59e372dfd9..d2c5f22a33 100644
--- a/include/geometry/shape_rect.h
+++ b/include/geometry/shape_rect.h
@@ -32,126 +32,130 @@
 
 class SHAPE_RECT : public SHAPE
 {
-    public:
-        /**
-         * Constructor
-         * Creates an empty (0-sized) rectangle
-         */
-        SHAPE_RECT() :
-            SHAPE( SH_RECT ), m_w( 0 ), m_h( 0 ) {};
+public:
+    /**
+     * Constructor
+     * Creates an empty (0-sized) rectangle
+     */
+    SHAPE_RECT() :
+        SHAPE( SH_RECT ), m_w( 0 ), m_h( 0 )
+    {}
 
-        /**
-         * Constructor
-         * Creates a rectangle defined by top-left corner (aX0, aY0), width aW and height aH.
-         */
-        SHAPE_RECT( int aX0, int aY0, int aW, int aH ) :
-            SHAPE( SH_RECT ), m_p0( aX0, aY0 ), m_w( aW ), m_h( aH ) {};
+    /**
+     * Constructor
+     * Creates a rectangle defined by top-left corner (aX0, aY0), width aW and height aH.
+     */
+    SHAPE_RECT( int aX0, int aY0, int aW, int aH ) :
+        SHAPE( SH_RECT ), m_p0( aX0, aY0 ), m_w( aW ), m_h( aH )
+    {}
 
-        /**
-         * Constructor
-         * Creates a rectangle defined by top-left corner aP0, width aW and height aH.
-         */
-         SHAPE_RECT( const VECTOR2I& aP0, int aW, int aH ) :
-            SHAPE( SH_RECT ), m_p0( aP0 ), m_w( aW ), m_h( aH ) {};
+    /**
+     * Constructor
+     * Creates a rectangle defined by top-left corner aP0, width aW and height aH.
+     */
+     SHAPE_RECT( const VECTOR2I& aP0, int aW, int aH ) :
+        SHAPE( SH_RECT ), m_p0( aP0 ), m_w( aW ), m_h( aH )
+    {}
 
-        /// @copydoc SHAPE::BBox()
-        const BOX2I BBox( int aClearance = 0 ) const
+    /// @copydoc SHAPE::BBox()
+    const BOX2I BBox( int aClearance = 0 ) const
+    {
+        BOX2I bbox( VECTOR2I( m_p0.x - aClearance,  m_p0.y - aClearance ),
+                    VECTOR2I( m_w + 2 * aClearance, m_h + 2 * aClearance ) );
+        //printf("bb : %s\n",bbox.Format().c_str());
+        return bbox;
+    }
+
+    /**
+     * Function Diagonal()
+     *
+     * Returns length of the diagonal of the rectangle
+     * @return diagonal length
+     */
+    int Diagonal() const
+    {
+        return VECTOR2I( m_w, m_h ).EuclideanNorm();
+    }
+
+    /// @copydoc SHAPE::Collide()
+    bool Collide( const SEG& aSeg, int aClearance = 0 ) const
+    {
+        //VECTOR2I pmin = VECTOR2I( std::min( aSeg.a.x, aSeg.b.x ), std::min( aSeg.a.y, aSeg.b.y ) );
+        //VECTOR2I pmax = VECTOR2I( std::max( aSeg.a.x, aSeg.b.x ), std::max( aSeg.a.y, aSeg.b.y ));
+        //BOX2I r( pmin, VECTOR2I( pmax.x - pmin.x, pmax.y - pmin.y ) );
+
+        //if( BBox( 0 ).SquaredDistance( r ) > aClearance * aClearance )
+        //    return false;
+
+        if( BBox( 0 ).Contains( aSeg.A ) || BBox( 0 ).Contains( aSeg.B ) )
+            return true;
+
+         VECTOR2I vts[] = { VECTOR2I( m_p0.x, m_p0.y ),
+                            VECTOR2I( m_p0.x, m_p0.y + m_h ),
+                            VECTOR2I( m_p0.x + m_w, m_p0.y + m_h ),
+                            VECTOR2I( m_p0.x + m_w, m_p0.y ),
+                            VECTOR2I( m_p0.x, m_p0.y ) };
+
+        for( int i = 0; i < 4; i++ )
         {
-            BOX2I bbox( VECTOR2I( m_p0.x - aClearance, m_p0.y - aClearance ),
-                          VECTOR2I( m_w + 2 * aClearance, m_h + 2 * aClearance ) );
-            //printf("bb : %s\n",bbox.Format().c_str());
-            return bbox;
-        }
+            SEG s( vts[i], vts[i + 1], i );
 
-        /**
-         * Function Diagonal()
-         *
-         * Returns length of the diagonal of the rectangle
-         * @return diagonal length
-         */
-        int Diagonal() const
-        {
-            return VECTOR2I( m_w, m_h ).EuclideanNorm();
-        }
-
-        /// @copydoc SHAPE::Collide()
-        bool Collide( const SEG& aSeg, int aClearance = 0 ) const
-        {
-            //VECTOR2I pmin = VECTOR2I( std::min( aSeg.a.x, aSeg.b.x ), std::min( aSeg.a.y, aSeg.b.y ) );
-            //VECTOR2I pmax = VECTOR2I( std::max( aSeg.a.x, aSeg.b.x ), std::max( aSeg.a.y, aSeg.b.y ));
-            //BOX2I r( pmin, VECTOR2I( pmax.x - pmin.x, pmax.y - pmin.y ) );
-
-            //if( BBox( 0 ).SquaredDistance( r ) > aClearance * aClearance )
-            //    return false;
-
-            if( BBox( 0 ).Contains( aSeg.a ) || BBox( 0 ).Contains( aSeg.b ) )
+            if( s.Distance( aSeg ) <= aClearance )
                 return true;
-
-             VECTOR2I vts[] = { VECTOR2I( m_p0.x, m_p0.y ),
-                                VECTOR2I( m_p0.x, m_p0.y + m_h ),
-                                VECTOR2I( m_p0.x + m_w, m_p0.y + m_h ),
-                                VECTOR2I( m_p0.x + m_w, m_p0.y ),
-                                VECTOR2I( m_p0.x, m_p0.y ) };
-
-            for( int i = 0; i < 4; i++ )
-            {
-                SEG s( vts[i], vts[i + 1], i );
-                if( s.Distance( aSeg ) <= aClearance )
-                    return true;
-            }
-
-            return false;
-        };
-
-        /**
-         * Function GetPosition()
-         *
-         * @return top-left corner of the rectangle
-         */
-        const VECTOR2I& GetPosition() const
-        {
-            return m_p0;
         }
 
-        /**
-         * Function GetSize()
-         *
-         * @return size of the rectangle
-         */
-        const VECTOR2I GetSize() const
-        {
-            return VECTOR2I( m_w, m_h );
-        }
+        return false;
+    }
 
-        /**
-         * Function GetWidth()
-         *
-         * @return width of the rectangle
-         */
-         const int GetWidth() const
-         {
-             return m_w;
-         }
+    /**
+     * Function GetPosition()
+     *
+     * @return top-left corner of the rectangle
+     */
+    const VECTOR2I& GetPosition() const
+    {
+        return m_p0;
+    }
 
-        /**
-         * Function GetHeight()
-         *
-         * @return height of the rectangle
-         */
-        const int GetHeight() const
-        {
-            return m_h;
-        }
+    /**
+     * Function GetSize()
+     *
+     * @return size of the rectangle
+     */
+    const VECTOR2I GetSize() const
+    {
+        return VECTOR2I( m_w, m_h );
+    }
 
-    private:
-        ///> Top-left corner
-        VECTOR2I m_p0;
+    /**
+     * Function GetWidth()
+     *
+     * @return width of the rectangle
+     */
+     const int GetWidth() const
+     {
+         return m_w;
+     }
 
-        ///> Width
-        int m_w;
+    /**
+     * Function GetHeight()
+     *
+     * @return height of the rectangle
+     */
+    const int GetHeight() const
+    {
+        return m_h;
+    }
 
-        ///> Height
-        int m_h;
-    };
+private:
+    ///> Top-left corner
+    VECTOR2I m_p0;
+
+    ///> Width
+    int m_w;
+
+    ///> Height
+    int m_h;
+};
 
 #endif // __SHAPE_RECT_H
diff --git a/include/math/math_util.h b/include/math/math_util.h
index 0b82203bea..812b52fba8 100644
--- a/include/math/math_util.h
+++ b/include/math/math_util.h
@@ -35,17 +35,17 @@
  */
 
 template <typename T>
-T rescale( T numerator, T value, T denominator )
+T rescale( T aNumerator, T aValue, T aDenominator )
 {
-    return numerator * value / denominator;
+    return aNumerator * aValue / aDenominator;
 }
 
 
 // explicit specializations for integer types, taking care of overflow.
 template <>
-int rescale( int numerator, int value, int denominator );
+int rescale( int aNumerator, int aValue, int aDenominator );
 
 template <>
-int64_t rescale( int64_t numerator, int64_t value, int64_t denominator );
+int64_t rescale( int64_t aNumerator, int64_t aValue, int64_t aDenominator );
 
 #endif // __MATH_UTIL_H
diff --git a/include/math/matrix3x3.h b/include/math/matrix3x3.h
index 8d0cc68235..dd27b08eac 100644
--- a/include/math/matrix3x3.h
+++ b/include/math/matrix3x3.h
@@ -55,7 +55,7 @@ template <class T>
 class MATRIX3x3;
 
 template <class T>
-std::ostream& operator<<( std::ostream& stream, const MATRIX3x3<T>& matrix );
+std::ostream& operator<<( std::ostream& aStream, const MATRIX3x3<T>& aMatrix );
 
 template <class T>
 class MATRIX3x3
@@ -92,7 +92,7 @@ public:
      *
      * The diagonal components of the matrix are set to 1.
      */
-    void SetIdentity( void );
+    void SetIdentity();
 
     /**
      * @brief Set the translation components of the matrix.
@@ -106,7 +106,7 @@ public:
      *
      * @return is the translation (2D-vector).
      */
-    VECTOR2<T> GetTranslation( void ) const;
+    VECTOR2<T> GetTranslation() const;
 
     /**
      * @brief Set the rotation components of the matrix.
@@ -129,14 +129,14 @@ public:
      *
      * @return the scale factors, specified as 2D-vector.
      */
-    VECTOR2<T> GetScale( void ) const;
+    VECTOR2<T> GetScale() const;
 
     /**
      * @brief Compute the determinant of the matrix.
      *
      * @return the determinant value.
      */
-    T Determinant( void ) const;
+    T Determinant() const;
 
     /**
      * @brief Determine the inverse of the matrix.
@@ -148,33 +148,33 @@ public:
      *
      * @return the inverse matrix.
      */
-    MATRIX3x3 Inverse( void ) const;
+    MATRIX3x3 Inverse() const;
 
     /**
      * @brief Get the transpose of the matrix.
      *
      * @return the transpose matrix.
      */
-    MATRIX3x3 Transpose( void ) const;
+    MATRIX3x3 Transpose() const;
 
     /**
      * @brief Output to a stream.
      */
-    friend std::ostream& operator<<<T>( std::ostream& stream, const MATRIX3x3<T>& matrix );
+    friend std::ostream& operator<<<T>( std::ostream& aStream, const MATRIX3x3<T>& aMatrix );
 
 };
 
 // Operators
 
 //! @brief Matrix multiplication
-template <class T> MATRIX3x3<T> const operator*( MATRIX3x3<T> const& a, MATRIX3x3<T> const& b );
+template <class T> MATRIX3x3<T> const operator*( MATRIX3x3<T> const& aA, MATRIX3x3<T> const& aB );
 
 //! @brief Multiplication with a 2D vector, the 3rd z-component is assumed to be 1
-template <class T> VECTOR2<T> const operator*( MATRIX3x3<T> const& a, VECTOR2<T> const& b );
+template <class T> VECTOR2<T> const operator*( MATRIX3x3<T> const& aA, VECTOR2<T> const& aB );
 
 //! @brief Multiplication with a scalar
-template <class T, class S> MATRIX3x3<T> const operator*( MATRIX3x3<T> const& a, T scalar );
-template <class T, class S> MATRIX3x3<T> const operator*( T scalar, MATRIX3x3<T> const& matrix );
+template <class T, class S> MATRIX3x3<T> const operator*( MATRIX3x3<T> const& aA, T aScalar );
+template <class T, class S> MATRIX3x3<T> const operator*( T aScalar, MATRIX3x3<T> const& aMatrix );
 
 // ----------------------
 // --- Implementation ---
@@ -235,11 +235,12 @@ void MATRIX3x3<T>::SetTranslation( VECTOR2<T> aTranslation )
 
 
 template <class T>
-VECTOR2<T> MATRIX3x3<T>::GetTranslation( void ) const
+VECTOR2<T> MATRIX3x3<T>::GetTranslation() const
 {
     VECTOR2<T> result;
     result.x = m_data[0][2];
     result.y = m_data[1][2];
+
     return result;
 }
 
@@ -265,15 +266,16 @@ void MATRIX3x3<T>::SetScale( VECTOR2<T> aScale )
 
 
 template <class T>
-VECTOR2<T> MATRIX3x3<T>::GetScale( void ) const
+VECTOR2<T> MATRIX3x3<T>::GetScale() const
 {
     VECTOR2<T> result( m_data[0][0], m_data[1][1] );
+
     return result;
 }
 
 
 template <class T>
-MATRIX3x3<T> const operator*( MATRIX3x3<T> const& a, MATRIX3x3<T> const& b )
+MATRIX3x3<T> const operator*( MATRIX3x3<T> const& aA, MATRIX3x3<T> const& aB )
 {
     MATRIX3x3<T> result;
 
@@ -281,8 +283,9 @@ MATRIX3x3<T> const operator*( MATRIX3x3<T> const& a, MATRIX3x3<T> const& b )
     {
         for( int j = 0; j < 3; j++ )
         {
-            result.m_data[i][j] = a.m_data[i][0] * b.m_data[0][j] + a.m_data[i][1] * b.m_data[1][j]
-                                  + a.m_data[i][2] * b.m_data[2][j];
+            result.m_data[i][j] = aA.m_data[i][0] * aB.m_data[0][j] +
+                                  aA.m_data[i][1] * aB.m_data[1][j] +
+                                  aA.m_data[i][2] * aB.m_data[2][j];
         }
     }
 
@@ -291,21 +294,20 @@ MATRIX3x3<T> const operator*( MATRIX3x3<T> const& a, MATRIX3x3<T> const& b )
 
 
 template <class T>
-VECTOR2<T> const operator*( MATRIX3x3<T> const& matrix,
-                            VECTOR2<T> const& vector )
+VECTOR2<T> const operator*( MATRIX3x3<T> const& aMatrix, VECTOR2<T> const& aVector )
 {
     VECTOR2<T> result( 0, 0 );
-    result.x = matrix.m_data[0][0] * vector.x + matrix.m_data[0][1] * vector.y
-               + matrix.m_data[0][2];
-    result.y = matrix.m_data[1][0] * vector.x + matrix.m_data[1][1] * vector.y
-               + matrix.m_data[1][2];
+    result.x = aMatrix.m_data[0][0] * aVector.x + aMatrix.m_data[0][1] * aVector.y
+               + aMatrix.m_data[0][2];
+    result.y = aMatrix.m_data[1][0] * aVector.x + aMatrix.m_data[1][1] * aVector.y
+               + aMatrix.m_data[1][2];
 
     return result;
 }
 
 
 template <class T>
-T MATRIX3x3<T>::Determinant( void ) const
+T MATRIX3x3<T>::Determinant() const
 {
     return m_data[0][0] * ( m_data[1][1] * m_data[2][2] - m_data[1][2] * m_data[2][1] )
            - m_data[0][1] * ( m_data[1][0] * m_data[2][2] - m_data[1][2] * m_data[2][0] )
@@ -314,7 +316,7 @@ T MATRIX3x3<T>::Determinant( void ) const
 
 
 template <class T, class S>
-MATRIX3x3<T> const operator*( MATRIX3x3<T> const& matrix, S scalar )
+MATRIX3x3<T> const operator*( MATRIX3x3<T> const& aMatrix, S aScalar )
 {
     MATRIX3x3<T> result;
 
@@ -322,7 +324,7 @@ MATRIX3x3<T> const operator*( MATRIX3x3<T> const& matrix, S scalar )
     {
         for( int j = 0; j < 3; j++ )
         {
-            result.m_data[i][j] = matrix.m_data[i][j] * scalar;
+            result.m_data[i][j] = aMatrix.m_data[i][j] * aScalar;
         }
     }
 
@@ -331,9 +333,9 @@ MATRIX3x3<T> const operator*( MATRIX3x3<T> const& matrix, S scalar )
 
 
 template <class T, class S>
-MATRIX3x3<T> const operator*( S scalar, MATRIX3x3<T> const& matrix )
+MATRIX3x3<T> const operator*( S aScalar, MATRIX3x3<T> const& aMatrix )
 {
-    return matrix * scalar;
+    return aMatrix * aScalar;
 }
 
 
diff --git a/include/math/vector2d.h b/include/math/vector2d.h
index 514008401e..09cae7b31f 100644
--- a/include/math/vector2d.h
+++ b/include/math/vector2d.h
@@ -62,7 +62,7 @@ struct VECTOR2_TRAITS<int>
 template <class T>
 class VECTOR2;
 template <class T>
-std::ostream& operator<<( std::ostream& stream, const VECTOR2<T>& vector );
+std::ostream& operator<<( std::ostream& aStream, const VECTOR2<T>& aVector );
 
 /**
  * Class VECTOR2
@@ -351,6 +351,8 @@ VECTOR2<T>& VECTOR2<T>::operator-=( const T& aScalar )
     y -= aScalar;
     return *this;
 }
+
+
 template <class T>
 VECTOR2<T> VECTOR2<T>::Rotate( double aAngle ) const
 {
diff --git a/include/tool/coroutine.h b/include/tool/coroutine.h
index 188034863a..9d502ff5c4 100644
--- a/include/tool/coroutine.h
+++ b/include/tool/coroutine.h
@@ -108,9 +108,9 @@ public:
      * Yield with a value - passes a value of given type to the caller.
      * Useful for implementing generator objects.
      */
-    void Yield( ReturnType& retVal )
+    void Yield( ReturnType& aRetVal )
     {
-        m_retVal = retVal;
+        m_retVal = aRetVal;
         boost::context::jump_fcontext( m_self, m_saved, 0 );
     }
 
@@ -130,7 +130,7 @@ public:
      * @return true, if the coroutine has yielded and false if it has finished its
      * execution (returned).
      */
-    bool Call( ArgType args )
+    bool Call( ArgType aArgs )
     {
         // fixme: Clean up stack stuff. Add a guard
         m_stack = malloc( c_defaultStackSize );
@@ -138,7 +138,7 @@ public:
         // align to 16 bytes
         void* sp = (void*) ( ( ( (ptrdiff_t) m_stack ) + m_stackSize - 0xf ) & ( ~0x0f ) );
 
-        m_args = &args;
+        m_args = &aArgs;
         m_self = boost::context::make_fcontext( sp, m_stackSize, callerStub );
         m_saved = new boost::context::fcontext_t();
 
@@ -186,10 +186,10 @@ private:
     static const int c_defaultStackSize = 2000000;    // fixme: make configurable
 
     /* real entry point of the coroutine */
-    static void callerStub( intptr_t data )
+    static void callerStub( intptr_t aData )
     {
         // get pointer to self
-        COROUTINE<ReturnType, ArgType>* cor = reinterpret_cast<COROUTINE<ReturnType, ArgType>*>( data );
+        COROUTINE<ReturnType, ArgType>* cor = reinterpret_cast<COROUTINE<ReturnType, ArgType>*>( aData );
 
         // call the coroutine method
         cor->m_retVal = cor->m_func( *cor->m_args );
diff --git a/include/tool/delegate.h b/include/tool/delegate.h
index 101e10dfa8..a350dec799 100644
--- a/include/tool/delegate.h
+++ b/include/tool/delegate.h
@@ -45,17 +45,17 @@ public:
     }
 
     template <class T>
-    DELEGATE( T* object, ReturnType(T::* ptr)( Arg ) )
+    DELEGATE( T* aObject, ReturnType(T::* aPtr)( Arg ) )
     {
-        m_ptr = reinterpret_cast<MemberPointer>( ptr );
-        m_object = reinterpret_cast<void*>( object );
+        m_ptr = reinterpret_cast<MemberPointer>( aPtr );
+        m_object = reinterpret_cast<void*>( aObject );
     };
 
 
-    ReturnType operator()( Arg a ) const
+    ReturnType operator()( Arg aA ) const
     {
         DELEGATE<ReturnType, Arg>* casted = reinterpret_cast<DELEGATE<ReturnType, Arg>*>( m_object );
-        return (casted->*m_ptr)( a );
+        return (casted->*m_ptr)( aA );
     }
 
 private:
@@ -79,10 +79,10 @@ public:
     }
 
     template <class T>
-    DELEGATE0( T* object, ReturnType(T::* ptr)() )
+    DELEGATE0( T* aObject, ReturnType(T::* aPtr)() )
     {
-        m_ptr = reinterpret_cast<MemberPointer>( ptr );
-        m_object = reinterpret_cast<void*>( object );
+        m_ptr = reinterpret_cast<MemberPointer>( aPtr );
+        m_object = reinterpret_cast<void*>( aObject );
     };
 
 
diff --git a/include/tool/tool_action.h b/include/tool/tool_action.h
index af06a1d091..8a3e7c4111 100644
--- a/include/tool/tool_action.h
+++ b/include/tool/tool_action.h
@@ -45,7 +45,7 @@
 class TOOL_ACTION
 {
 public:
-    TOOL_ACTION( const std::string& aName, TOOL_ActionScope aScope = AS_CONTEXT,
+    TOOL_ACTION( const std::string& aName, TOOL_ACTION_SCOPE aScope = AS_CONTEXT,
             int aDefaultHotKey = 0, const std::string& aMenuItem = std::string( "" ),
             const std::string& aMenuDesc = std::string( "" ) ) :
         m_name( aName ), m_scope( aScope ), m_defaultHotKey( aDefaultHotKey ),
@@ -148,7 +148,7 @@ public:
      */
     TOOL_EVENT MakeEvent() const
     {
-        return TOOL_EVENT( TC_Command, TA_Action, m_name, m_scope );
+        return TOOL_EVENT( TC_COMMAND, TA_ACTION, m_name, m_scope );
     }
 
     const std::string& GetMenuItem() const
@@ -190,7 +190,7 @@ private:
     std::string m_name;
 
     /// Scope of the action (ie. the event that is issued after activation).
-    TOOL_ActionScope m_scope;
+    TOOL_ACTION_SCOPE m_scope;
 
     /// Default hot key that activates the action.
     const int m_defaultHotKey;
diff --git a/include/tool/tool_base.h b/include/tool/tool_base.h
index c635859b38..7425ea8801 100644
--- a/include/tool/tool_base.h
+++ b/include/tool/tool_base.h
@@ -40,13 +40,13 @@ class VIEW;
 class VIEW_CONTROLS;
 };
 
-enum TOOL_Type
+enum TOOL_TYPE
 {
     ///> Tool that interacts with the user
-    TOOL_Interactive = 0x01,
+    INTERACTIVE = 0x01,
 
     ///> Tool that runs in the background without any user intervention
-    TOOL_Batch       = 0x02
+    BATCH       = 0x02
 };
 
 /// Unique identifier for tools
@@ -62,7 +62,7 @@ typedef DELEGATE<int, TOOL_EVENT&> TOOL_STATE_FUNC;
 class TOOL_BASE
 {
 public:
-    TOOL_BASE( TOOL_Type aType, TOOL_ID aId, const std::string& aName = std::string( "" ) ) :
+    TOOL_BASE( TOOL_TYPE aType, TOOL_ID aId, const std::string& aName = std::string( "" ) ) :
         m_type( aType ),
         m_toolId( aId ),
         m_toolName( aName ),
@@ -75,7 +75,7 @@ public:
      * Returns the type of the tool.
      * @return The type of the tool.
      */
-    TOOL_Type GetType() const
+    TOOL_TYPE GetType() const
     {
         return m_type;
     }
@@ -158,7 +158,7 @@ protected:
      * Returns the model object if it matches the requested type.
      */
     template <typename T>
-    T* getModel( KICAD_T modelType ) const
+    T* getModel( KICAD_T aModelType ) const
     {
         EDA_ITEM* m = getModelInt();
 
@@ -166,7 +166,7 @@ protected:
     }
 
     ///> Stores the type of the tool.
-    TOOL_Type m_type;
+    TOOL_TYPE m_type;
 
     ///> Unique identifier for the tool, assigned by a TOOL_MANAGER instance.
     TOOL_ID m_toolId;
diff --git a/include/tool/tool_dispatcher.h b/include/tool/tool_dispatcher.h
index 8bd9783a79..3a9be1ac64 100644
--- a/include/tool/tool_dispatcher.h
+++ b/include/tool/tool_dispatcher.h
@@ -32,7 +32,8 @@
 class TOOL_MANAGER;
 class PCB_BASE_FRAME;
 
-namespace KIGFX {
+namespace KIGFX
+{
 class VIEW;
 };
 
@@ -102,25 +103,25 @@ private:
         int mods = 0;
 
         if( aState->ControlDown() )
-            mods |= MD_ModCtrl;
+            mods |= MD_CTRL;
 
         if( aState->AltDown() )
-            mods |= MD_ModAlt;
+            mods |= MD_ALT;
 
         if( aState->ShiftDown() )
-            mods |= MD_ModShift;
+            mods |= MD_SHIFT;
 
         return mods;
     }
 
     ///> Stores all the informations regarding a mouse button state.
-    struct ButtonState;
+    struct BUTTON_STATE;
 
     ///> The last mouse cursor position (in world coordinates).
     VECTOR2D m_lastMousePos;
 
     ///> State of mouse buttons.
-    std::vector<ButtonState*> m_buttons;
+    std::vector<BUTTON_STATE*> m_buttons;
 
     ///> Returns the instance of VIEW, used by the application.
     KIGFX::VIEW* getView();
diff --git a/include/tool/tool_event.h b/include/tool/tool_event.h
index f35f8d1023..33f512b668 100644
--- a/include/tool/tool_event.h
+++ b/include/tool/tool_event.h
@@ -40,77 +40,77 @@ class TOOL_MANAGER;
  * Internal (GUI-independent) event definitions.
  * Enums are mostly self-explanatory.
  */
-enum TOOL_EventCategory
+enum TOOL_EVENT_CATEGORY
 {
-    TC_None     = 0x00,
-    TC_Mouse    = 0x01,
-    TC_Keyboard = 0x02,
-    TC_Command  = 0x04,
-    TC_Message  = 0x08,
-    TC_View     = 0x10,
-    TC_Any      = 0xffffffff
+    TC_NONE     = 0x00,
+    TC_MOUSE    = 0x01,
+    TC_KEYBOARD = 0x02,
+    TC_COMMAND  = 0x04,
+    TC_MESSAGE  = 0x08,
+    TC_VIEW     = 0x10,
+    TC_ANY      = 0xffffffff
 };
 
-enum TOOL_Actions
+enum TOOL_ACTIONS
 {
     // UI input events
-    TA_None         = 0x0000,
-    TA_MouseClick   = 0x0001,
-    TA_MouseUp      = 0x0002,
-    TA_MouseDown    = 0x0004,
-    TA_MouseDrag    = 0x0008,
-    TA_MouseMotion  = 0x0010,
-    TA_MouseWheel   = 0x0020,
-    TA_Mouse        = 0x003f,
-    TA_KeyUp        = 0x0040,
-    TA_KeyDown      = 0x0080,
-    TA_Keyboard     = TA_KeyUp | TA_KeyDown,
+    TA_NONE         = 0x0000,
+    TA_MOUSE_CLICK  = 0x0001,
+    TA_MOUSE_UP     = 0x0002,
+    TA_MOUSE_DOWN   = 0x0004,
+    TA_MOUSE_DRAG   = 0x0008,
+    TA_MOUSE_MOTION = 0x0010,
+    TA_MOUSE_WHEEL  = 0x0020,
+    TA_MOUSE        = 0x003f,
+    TA_KEY_UP       = 0x0040,
+    TA_KEY_DOWN     = 0x0080,
+    TA_KEYBOARD     = TA_KEY_UP | TA_KEY_DOWN,
 
     // View related events
-    TA_ViewRefresh  = 0x0100,
-    TA_ViewZoom     = 0x0200,
-    TA_ViewPan      = 0x0400,
-    TA_ViewDirty    = 0x0800,
-    TA_ChangeLayer  = 0x1000,
+    TA_VIEW_REFRESH = 0x0100,
+    TA_VIEW_ZOOM    = 0x0200,
+    TA_VIEW_PAN     = 0x0400,
+    TA_VIEW_DIRTY   = 0x0800,
+    TA_CHANGE_LAYER = 0x1000,
 
     // Tool cancel event. Issued automagically when the user hits escape or selects End Tool from
     // the context menu.
-    TA_CancelTool   = 0x2000,
+    TA_CANCEL_TOOL  = 0x2000,
 
     // Context menu update. Issued whenever context menu is open and the user hovers the mouse
     // over one of choices. Used in dynamic highligting in disambiguation menu
-    TA_ContextMenuUpdate = 0x4000,
+    TA_CONTEXT_MENU_UPDATE = 0x4000,
 
     // Context menu choice. Sent if the user picked something from the context menu or
     // closed it without selecting anything.
-    TA_ContextMenuChoice = 0x8000,
+    TA_CONTEXT_MENU_CHOICE = 0x8000,
 
     // Tool action (allows to control tools)
-    TA_Action            = 0x10000,
+    TA_ACTION             = 0x10000,
 
-    TA_Any = 0xffffffff
+    TA_ANY = 0xffffffff
 };
 
-enum TOOL_MouseButtons
+enum TOOL_MOUSE_BUTTONS
 {
-    MB_None         = 0x0,
-    MB_Left         = 0x1,
-    MB_Right        = 0x2,
-    MB_Middle       = 0x4,
-    MB_ButtonMask   = MB_Left | MB_Right | MB_Middle,
-    MB_Any          = 0xffffffff
+    MB_NONE         = 0x0,
+    MB_LEFT         = 0x1,
+    MB_RIGHT        = 0x2,
+    MB_MIDDLE       = 0x4,
+    MB_BUTTON_MASK  = MB_LEFT | MB_RIGHT | MB_MIDDLE,
+    MB_ANY          = 0xffffffff
 };
 
-enum TOOL_Modifiers
+enum TOOL_MODIFIERS
 {
-    MD_ModShift     = 0x1000,
-    MD_ModCtrl      = 0x2000,
-    MD_ModAlt       = 0x4000,
-    MD_ModifierMask = MD_ModShift | MD_ModCtrl | MD_ModAlt,
+    MD_SHIFT        = 0x1000,
+    MD_CTRL         = 0x2000,
+    MD_ALT          = 0x4000,
+    MD_MODIFIER_MASK = MD_SHIFT | MD_CTRL | MD_ALT,
 };
 
 /// Scope of tool actions
-enum TOOL_ActionScope
+enum TOOL_ACTION_SCOPE
 {
     AS_CONTEXT = 1,  ///> Action belongs to a particular tool (i.e. a part of a pop-up menu)
     AS_ACTIVE,       ///> All active tools
@@ -141,8 +141,8 @@ public:
      */
     const std::string Format() const;
 
-    TOOL_EVENT( TOOL_EventCategory aCategory = TC_None, TOOL_Actions aAction = TA_None,
-            TOOL_ActionScope aScope = AS_GLOBAL ) :
+    TOOL_EVENT( TOOL_EVENT_CATEGORY aCategory = TC_NONE, TOOL_ACTIONS aAction = TA_NONE,
+            TOOL_ACTION_SCOPE aScope = AS_GLOBAL ) :
         m_category( aCategory ),
         m_actions( aAction ),
         m_scope( aScope ),
@@ -150,52 +150,50 @@ public:
         m_keyCode( 0 ),
         m_modifiers( 0 ) {}
 
-    TOOL_EVENT( TOOL_EventCategory aCategory,
-            TOOL_Actions aAction,
-            int aExtraParam,
-            TOOL_ActionScope aScope = AS_GLOBAL ) :
+    TOOL_EVENT( TOOL_EVENT_CATEGORY aCategory, TOOL_ACTIONS aAction, int aExtraParam,
+            TOOL_ACTION_SCOPE aScope = AS_GLOBAL ) :
         m_category( aCategory ),
         m_actions( aAction ),
         m_scope( aScope )
     {
-        if( aCategory == TC_Mouse )
+        if( aCategory == TC_MOUSE )
         {
-            m_mouseButtons = aExtraParam & MB_ButtonMask;
+            m_mouseButtons = aExtraParam & MB_BUTTON_MASK;
         }
-        else if( aCategory == TC_Keyboard )
+        else if( aCategory == TC_KEYBOARD )
         {
-            m_keyCode = aExtraParam & ~MD_ModifierMask;         // Filter out modifiers
+            m_keyCode = aExtraParam & ~MD_MODIFIER_MASK;         // Filter out modifiers
         }
-        else if( aCategory == TC_Command )
+        else if( aCategory == TC_COMMAND )
         {
             m_commandId = aExtraParam;
         }
 
-        if( aCategory & ( TC_Mouse | TC_Keyboard ) )
+        if( aCategory & ( TC_MOUSE | TC_KEYBOARD ) )
         {
-            m_modifiers = aExtraParam & MD_ModifierMask;
+            m_modifiers = aExtraParam & MD_MODIFIER_MASK;
         }
     }
 
-    TOOL_EVENT( TOOL_EventCategory aCategory, TOOL_Actions aAction,
-            const std::string& aExtraParam, TOOL_ActionScope aScope = AS_GLOBAL ) :
+    TOOL_EVENT( TOOL_EVENT_CATEGORY aCategory, TOOL_ACTIONS aAction,
+            const std::string& aExtraParam, TOOL_ACTION_SCOPE aScope = AS_GLOBAL ) :
         m_category( aCategory ),
         m_actions( aAction ),
         m_scope( aScope ),
         m_mouseButtons( 0 )
     {
-        if( aCategory == TC_Command )
+        if( aCategory == TC_COMMAND )
             m_commandStr = aExtraParam;
     }
 
     ///> Returns the category (eg. mouse/keyboard/action) of an event..
-    TOOL_EventCategory Category() const
+    TOOL_EVENT_CATEGORY Category() const
     {
         return m_category;
     }
 
     ///> Returns more specific information about the type of an event.
-    TOOL_Actions Action() const
+    TOOL_ACTIONS Action() const
     {
         return m_actions;
     }
@@ -204,59 +202,59 @@ public:
     ///> where dragging has started.
     const VECTOR2D Delta() const
     {
-        assert( m_category == TC_Mouse );    // this should be used only with mouse events
+        assert( m_category == TC_MOUSE );    // this should be used only with mouse events
         return m_mouseDelta;
     }
 
     ///> Returns mouse cursor position in world coordinates.
     const VECTOR2D& Position() const
     {
-        assert( m_category == TC_Mouse );    // this should be used only with mouse events
+        assert( m_category == TC_MOUSE );    // this should be used only with mouse events
         return m_mousePos;
     }
 
     ///> Returns the point where dragging has started.
     const VECTOR2D& DragOrigin() const
     {
-        assert( m_category == TC_Mouse );    // this should be used only with mouse events
+        assert( m_category == TC_MOUSE );    // this should be used only with mouse events
         return m_mouseDragOrigin;
     }
 
     ///> Returns information about mouse buttons state.
     int Buttons() const
     {
-        assert( m_category == TC_Mouse );    // this should be used only with mouse events
+        assert( m_category == TC_MOUSE );    // this should be used only with mouse events
         return m_mouseButtons;
     }
 
-    bool IsClick( int aButtonMask = MB_Any ) const
+    bool IsClick( int aButtonMask = MB_ANY ) const
     {
-        return ( m_actions == TA_MouseClick )
+        return ( m_actions == TA_MOUSE_CLICK )
                && ( ( m_mouseButtons & aButtonMask ) == aButtonMask );
     }
 
-    bool IsDrag( int aButtonMask = MB_Any ) const
+    bool IsDrag( int aButtonMask = MB_ANY ) const
     {
-        return ( m_actions == TA_MouseDrag ) && ( ( m_mouseButtons & aButtonMask ) == aButtonMask );
+        return ( m_actions == TA_MOUSE_DRAG ) && ( ( m_mouseButtons & aButtonMask ) == aButtonMask );
     }
 
-    bool IsMouseUp( int aButtonMask = MB_Any ) const
+    bool IsMouseUp( int aButtonMask = MB_ANY ) const
     {
-        return ( m_actions == TA_MouseUp ) && ( ( m_mouseButtons & aButtonMask ) == aButtonMask );
+        return ( m_actions == TA_MOUSE_UP ) && ( ( m_mouseButtons & aButtonMask ) == aButtonMask );
     }
 
     bool IsMotion() const
     {
-        return m_actions == TA_MouseMotion;
+        return m_actions == TA_MOUSE_MOTION;
     }
 
     bool IsCancel() const
     {
-        return m_actions == TA_CancelTool;
+        return m_actions == TA_CANCEL_TOOL;
     }
 
     ///> Returns information about key modifiers state (Ctrl, Alt, etc.)
-    int Modifier( int aMask = MD_ModifierMask ) const
+    int Modifier( int aMask = MD_MODIFIER_MASK ) const
     {
         return m_modifiers & aMask;
     }
@@ -268,12 +266,12 @@ public:
 
     bool IsKeyUp() const
     {
-        return m_actions == TA_KeyUp;
+        return m_actions == TA_KEY_UP;
     }
 
     bool IsKeyDown() const
     {
-        return m_actions == TA_KeyDown;
+        return m_actions == TA_KEY_DOWN;
     }
 
     void SetMouseDragOrigin( const VECTOR2D& aP )
@@ -306,7 +304,7 @@ public:
         if( !( m_actions & aEvent.m_actions ) )
             return false;
 
-        if( m_category == TC_Command )
+        if( m_category == TC_COMMAND )
         {
             if( m_commandStr && aEvent.m_commandStr )
                 return *m_commandStr == *aEvent.m_commandStr;
@@ -334,9 +332,9 @@ public:
 private:
     friend class TOOL_MANAGER;
 
-    TOOL_EventCategory m_category;
-    TOOL_Actions m_actions;
-    TOOL_ActionScope m_scope;
+    TOOL_EVENT_CATEGORY m_category;
+    TOOL_ACTIONS m_actions;
+    TOOL_ACTION_SCOPE m_scope;
 
     ///> Difference between mouse cursor position and
     ///> the point where dragging event has started
@@ -377,7 +375,8 @@ public:
     typedef std::deque<TOOL_EVENT>::const_iterator const_iterator;
 
     ///> Default constructor. Creates an empty list.
-    TOOL_EVENT_LIST() {};
+    TOOL_EVENT_LIST()
+    {}
 
     ///> Constructor for a list containing only one TOOL_EVENT.
     TOOL_EVENT_LIST( const TOOL_EVENT& aSingleEvent )
@@ -393,10 +392,10 @@ public:
      */
     const std::string Format() const;
 
-    boost::optional<const TOOL_EVENT&> Matches( const TOOL_EVENT& b ) const
+    boost::optional<const TOOL_EVENT&> Matches( const TOOL_EVENT& aEvent ) const
     {
         for( const_iterator i = m_events.begin(); i != m_events.end(); ++i )
-            if( i->Matches( b ) )
+            if( i->Matches( aEvent ) )
                 return *i;
 
         return boost::optional<const TOOL_EVENT&>();
@@ -442,12 +441,12 @@ public:
         m_events.clear();
     }
 
-    TOOL_EVENT_LIST& operator=( const TOOL_EVENT_LIST& b )
+    TOOL_EVENT_LIST& operator=( const TOOL_EVENT_LIST& aEventList )
     {
         m_events.clear();
 
-        for( std::deque<TOOL_EVENT>::const_iterator i = b.m_events.begin();
-             i != b.m_events.end(); ++i )
+        for( std::deque<TOOL_EVENT>::const_iterator i = aEventList.m_events.begin();
+             i != aEventList.m_events.end(); ++i )
         {
             m_events.push_back( *i );
         }
@@ -455,20 +454,20 @@ public:
         return *this;
     }
 
-    TOOL_EVENT_LIST& operator=( const TOOL_EVENT& b )
+    TOOL_EVENT_LIST& operator=( const TOOL_EVENT& aEvent )
     {
         m_events.clear();
-        m_events.push_back( b );
+        m_events.push_back( aEvent );
         return *this;
     }
 
-    TOOL_EVENT_LIST& operator||( const TOOL_EVENT& b )
+    TOOL_EVENT_LIST& operator||( const TOOL_EVENT& aEvent )
     {
-        Add( b );
+        Add( aEvent );
         return *this;
     }
 
-    TOOL_EVENT_LIST& operator||( const TOOL_EVENT_LIST& b )
+    TOOL_EVENT_LIST& operator||( const TOOL_EVENT_LIST& aEvent )
     {
         return *this;
     }
@@ -477,22 +476,23 @@ private:
     std::deque<TOOL_EVENT> m_events;
 };
 
-inline const TOOL_EVENT_LIST operator||( const TOOL_EVENT& a, const TOOL_EVENT& b )
+inline const TOOL_EVENT_LIST operator||( const TOOL_EVENT& aEventA, const TOOL_EVENT& aEventB )
 {
     TOOL_EVENT_LIST l;
 
-    l.Add( a );
-    l.Add( b );
+    l.Add( aEventA );
+    l.Add( aEventB );
 
     return l;
 }
 
 
-inline const TOOL_EVENT_LIST operator||( const TOOL_EVENT& a, const TOOL_EVENT_LIST& b )
+inline const TOOL_EVENT_LIST operator||( const TOOL_EVENT& aEvent,
+                                         const TOOL_EVENT_LIST& aEventList )
 {
-    TOOL_EVENT_LIST l( b );
+    TOOL_EVENT_LIST l( aEventList );
 
-    l.Add( a );
+    l.Add( aEvent );
     return l;
 }
 
diff --git a/include/tool/tool_interactive.h b/include/tool/tool_interactive.h
index a6a7e76310..d66b17ae05 100644
--- a/include/tool/tool_interactive.h
+++ b/include/tool/tool_interactive.h
@@ -83,7 +83,7 @@ public:
      */
     template <class T>
     void Go( int (T::* aStateFunc)( TOOL_EVENT& ),
-            const TOOL_EVENT_LIST& aConditions = TOOL_EVENT( TC_Any, TA_Any ) );
+            const TOOL_EVENT_LIST& aConditions = TOOL_EVENT( TC_ANY, TA_ANY ) );
 
     /**
      * Function Wait()
@@ -91,7 +91,7 @@ public:
      * Suspends execution of the tool until an event specified in aEventList arrives.
      * No parameters means waiting for any event.
      */
-    OPT_TOOL_EVENT Wait( const TOOL_EVENT_LIST& aEventList = TOOL_EVENT (TC_Any, TA_Any) );
+    OPT_TOOL_EVENT Wait( const TOOL_EVENT_LIST& aEventList = TOOL_EVENT( TC_ANY, TA_ANY ) );
 
     /** functions below are not yet implemented - their interface may change */
     /*template <class Parameters, class ReturnValue>
@@ -111,10 +111,10 @@ protected:
     const TOOL_EVENT evCommand( int aCommandId = -1 );
     const TOOL_EVENT evCommand( std::string aCommandStr = "" );
     const TOOL_EVENT evMotion();
-    const TOOL_EVENT evClick( int aButton = MB_Any );
-    const TOOL_EVENT evDrag( int aButton = MB_Any );
-    const TOOL_EVENT evButtonUp( int aButton = MB_Any );
-    const TOOL_EVENT evButtonDown(int aButton = MB_Any );
+    const TOOL_EVENT evClick( int aButton = MB_ANY );
+    const TOOL_EVENT evDrag( int aButton = MB_ANY );
+    const TOOL_EVENT evButtonUp( int aButton = MB_ANY );
+    const TOOL_EVENT evButtonDown(int aButton = MB_ANY );
 
 private:
     void goInternal( TOOL_STATE_FUNC& aState, const TOOL_EVENT_LIST& aConditions );
@@ -123,7 +123,7 @@ private:
 // hide TOOL_MANAGER implementation
 template <class T>
 void TOOL_INTERACTIVE::Go( int (T::* aStateFunc)( TOOL_EVENT& ),
-        const TOOL_EVENT_LIST& aConditions )
+                           const TOOL_EVENT_LIST& aConditions )
 {
     TOOL_STATE_FUNC sptr( static_cast<T*>( this ), aStateFunc );
 
diff --git a/include/view/view.h b/include/view/view.h
index 31268839ba..a5e0756219 100644
--- a/include/view/view.h
+++ b/include/view/view.h
@@ -60,7 +60,7 @@ class VIEW
 public:
     friend class VIEW_ITEM;
 
-    typedef std::pair<VIEW_ITEM*, int> LayerItemPair;
+    typedef std::pair<VIEW_ITEM*, int> LAYER_ITEM_PAIR;
 
     /**
      * Constructor.
@@ -94,7 +94,7 @@ public:
      *  first).
      * @return Number of found items.
      */
-    int Query( const BOX2I& aRect, std::vector<LayerItemPair>& aResult );
+    int Query( const BOX2I& aRect, std::vector<LAYER_ITEM_PAIR>& aResult );
 
     /**
      * Function SetRequired()
@@ -131,7 +131,10 @@ public:
      * Returns the GAL this view is using to draw graphical primitives.
      * @return Pointer to the currently used GAL instance.
      */
-    GAL* GetGAL() const { return m_gal; }
+    GAL* GetGAL() const
+    {
+        return m_gal;
+    }
 
     /**
      * Function SetPainter()
@@ -144,7 +147,10 @@ public:
      * Returns the painter object used by the view for drawing VIEW_ITEMS.
      * @return Pointer to the currently used Painter instance.
      */
-    PAINTER* GetPainter() const { return m_painter; };
+    PAINTER* GetPainter() const
+    {
+        return m_painter;
+    }
 
     /**
      * Function SetViewport()
@@ -189,7 +195,10 @@ public:
      * Function GetScale()
      * @return Current scalefactor of this VIEW
      */
-    double  GetScale() const { return m_scale; }
+    double  GetScale() const
+    {
+        return m_scale;
+    }
 
     /**
      * Function SetCenter()
@@ -204,7 +213,10 @@ public:
      * Returns the center point of this VIEW (in world space coordinates)
      * @return center point of the view
      */
-    const VECTOR2D& GetCenter() const { return m_center; }
+    const VECTOR2D& GetCenter() const
+    {
+        return m_center;
+    }
 
     /**
      * Function ToWorld()
@@ -291,7 +303,7 @@ public:
      * @param aLayer is the layer.
      * @param aTarget is the rendering target.
      */
-    inline void SetLayerTarget( int aLayer, RenderTarget aTarget )
+    inline void SetLayerTarget( int aLayer, RENDER_TARGET aTarget )
     {
         m_layers[aLayer].target = aTarget;
     }
@@ -410,7 +422,10 @@ public:
      * Tells if the VIEW is dynamic (ie. can be changed, for example displaying PCBs in a window)
      * or static (that cannot be modified, eg. displaying image/PDF).
      */
-    bool IsDynamic() const { return m_dynamic; }
+    bool IsDynamic() const
+    {
+        return m_dynamic;
+    }
 
     /**
      * Function IsDirty()
@@ -488,15 +503,15 @@ private:
         VIEW_RTREE*             items;           ///* R-tree indexing all items on this layer.
         int                     renderingOrder;  ///* rendering order of this layer
         int                     id;              ///* layer ID
-        RenderTarget            target;          ///* where the layer should be rendered
-        std::set<int>           requiredLayers;  ///* layers that are required to be enabled to show the layer
+        RENDER_TARGET           target;          ///* where the layer should be rendered
+        std::set<int>           requiredLayers;  ///* layers that have to be enabled to show the layer
     };
 
     // Convenience typedefs
-    typedef boost::unordered_map<int, VIEW_LAYER>   LayerMap;
-    typedef LayerMap::iterator                      LayerMapIter;
-    typedef std::vector<VIEW_LAYER*>                LayerOrder;
-    typedef std::vector<VIEW_LAYER*>::iterator      LayerOrderIter;
+    typedef boost::unordered_map<int, VIEW_LAYER>   LAYER_MAP;
+    typedef LAYER_MAP::iterator                     LAYER_MAP_ITER;
+    typedef std::vector<VIEW_LAYER*>                LAYER_ORDER;
+    typedef std::vector<VIEW_LAYER*>::iterator      LAYER_ORDER_ITER;
 
     // Function objects that need to access VIEW/VIEW_ITEM private/protected members
     struct clearLayerCache;
@@ -573,9 +588,9 @@ private:
     void updateLayers( VIEW_ITEM* aItem );
 
     /// Determines rendering order of layers. Used in display order sorting function.
-    static bool compareRenderingOrder( VIEW_LAYER* i, VIEW_LAYER* j )
+    static bool compareRenderingOrder( VIEW_LAYER* aI, VIEW_LAYER* aJ )
     {
-        return i->renderingOrder > j->renderingOrder;
+        return aI->renderingOrder > aJ->renderingOrder;
     }
 
     /// Checks if every layer required by the aLayerId layer is enabled.
@@ -585,10 +600,10 @@ private:
     bool m_enableOrderModifier;
 
     /// Contains set of possible displayed layers and its properties
-    LayerMap m_layers;
+    LAYER_MAP m_layers;
 
     /// Sorted list of pointers to members of m_layers
-    LayerOrder m_orderedLayers;
+    LAYER_ORDER m_orderedLayers;
 
     /// Stores set of layers that are displayed on the top
     std::set<unsigned int> m_topLayers;
diff --git a/include/view/view_controls.h b/include/view/view_controls.h
index df8311da1d..a51048dca3 100644
--- a/include/view/view_controls.h
+++ b/include/view/view_controls.h
@@ -48,8 +48,11 @@ class VIEW_CONTROLS
 public:
     VIEW_CONTROLS( VIEW* aView ) : m_view( aView ), m_forceCursorPosition( false ),
         m_snappingEnabled( false ), m_grabMouse( false ), m_autoPanEnabled( false ),
-        m_autoPanMargin( 0.1 ), m_autoPanSpeed( 0.15 ) {};
-    virtual ~VIEW_CONTROLS() {};
+        m_autoPanMargin( 0.1 ), m_autoPanSpeed( 0.15 )
+    {}
+
+    virtual ~VIEW_CONTROLS()
+    {}
 
     /**
      * Function SetSnapping()
@@ -134,6 +137,11 @@ public:
         m_forceCursorPosition = aEnabled;
     }
 
+    /**
+     * Function ShowCursor()
+     * Enables or disables display of cursor.
+     * @param aEnabled decides if the cursor should be shown.
+     */
     virtual void ShowCursor( bool aEnabled );
 
 protected:
diff --git a/include/view/view_group.h b/include/view/view_group.h
index 711d1b4031..2a1ad62756 100644
--- a/include/view/view_group.h
+++ b/include/view/view_group.h
@@ -164,17 +164,32 @@ public:
      *
      * @param aFlags determines the way in which items will be updated.
      */
-    virtual void ItemsViewUpdate( VIEW_ITEM::ViewUpdateFlags aFlags );
+    virtual void ItemsViewUpdate( VIEW_ITEM::VIEW_UPDATE_FLAGS aFlags );
 
 protected:
     /// These functions cannot be used with VIEW_GROUP as they are intended only to work with
     /// singular VIEW_ITEMs (there is only one-to-one relation between item/layer combination and
     /// its group).
-    int getGroup( int aLayer ) const { return -1; };
-    std::vector<int> getAllGroups() const { return std::vector<int>(); };
-    void setGroup( int aLayer, int aGroup ) {};
-    void deleteGroups() {};
-    bool storesGroups() const { return false; };
+    int getGroup( int aLayer ) const
+    {
+        return -1;
+    }
+
+    std::vector<int> getAllGroups() const
+    {
+        return std::vector<int>();
+    }
+
+    void setGroup( int aLayer, int aGroup )
+    {}
+
+    void deleteGroups()
+    {}
+
+    bool storesGroups() const
+    {
+        return false;
+    }
 
     /// Layer on which the group is drawn
     int m_layer;
diff --git a/include/view/view_item.h b/include/view/view_item.h
index 8ecf1ecc00..11d826322d 100644
--- a/include/view/view_item.h
+++ b/include/view/view_item.h
@@ -155,14 +155,14 @@ class VIEW_ITEM
 {
 public:
     /**
-     * Enum ViewUpdateFlags.
+     * Enum VIEW_UPDATE_FLAGS.
      * Defines the how severely the shape/appearance of the item has been changed:
      * - APPEARANCE: shape or layer set of the item have not been affected,
      * only colors or visibility.
      * - GEOMETRY: shape or layer set of the item have changed, VIEW may need to reindex it.
      * - ALL: all flags above */
 
-    enum ViewUpdateFlags {
+    enum VIEW_UPDATE_FLAGS {
         APPEARANCE  = 0x01,     /// Visibility flag has changed
         COLOR       = 0x02,     /// Color has changed
         GEOMETRY    = 0x04,     /// Position or shape has changed
@@ -212,7 +212,8 @@ public:
      * @param aLayer: current drawing layer
      * @param aGal: pointer to the GAL device we are drawing on
      */
-    virtual void ViewDraw( int aLayer, GAL* aGal ) const {};
+    virtual void ViewDraw( int aLayer, GAL* aGal ) const
+    {}
 
     /**
      * Function ViewGetLayers()
diff --git a/include/view/wx_view_controls.h b/include/view/wx_view_controls.h
index 6d946e0184..f5561f7d2d 100644
--- a/include/view/wx_view_controls.h
+++ b/include/view/wx_view_controls.h
@@ -48,7 +48,8 @@ class WX_VIEW_CONTROLS : public VIEW_CONTROLS, public wxEvtHandler
 {
 public:
     WX_VIEW_CONTROLS( VIEW* aView, wxWindow* aParentPanel );
-    ~WX_VIEW_CONTROLS() {};
+    ~WX_VIEW_CONTROLS()
+    {}
 
     /// Handler functions
     void onWheel( wxMouseEvent& aEvent );
@@ -80,10 +81,10 @@ public:
     }
 
     /// @copydoc VIEW_CONTROLS::GetMousePosition()
-    virtual const VECTOR2D GetMousePosition() const;
+    const VECTOR2D GetMousePosition() const;
 
     /// @copydoc VIEW_CONTROLS::GetCursorPosition()
-    virtual const VECTOR2D GetCursorPosition() const;
+    const VECTOR2D GetCursorPosition() const;
 
     /// Event that forces mouse move event in the dispatcher (eg. used in autopanning, when mouse
     /// cursor does not move in screen coordinates, but does in world coordinates)
@@ -91,7 +92,7 @@ public:
 
 private:
     /// Possible states for WX_VIEW_CONTROLS
-    enum State
+    enum STATE
     {
         IDLE = 1,           /// Nothing is happening
         DRAG_PANNING,       /// Panning with mouse button pressed
@@ -109,7 +110,7 @@ private:
     bool handleAutoPanning( const wxMouseEvent& aEvent );
 
     /// Current state of VIEW_CONTROLS
-    State       m_state;
+    STATE       m_state;
 
     /// Panel that is affected by VIEW_CONTROLS
     wxWindow*   m_parentPanel;
diff --git a/pcbnew/router/direction.h b/pcbnew/router/direction.h
index a984d965cb..0b7d8cb62d 100644
--- a/pcbnew/router/direction.h
+++ b/pcbnew/router/direction.h
@@ -82,7 +82,7 @@ public:
      */
     DIRECTION_45( const SEG& aSeg )
     {
-        construct( aSeg.b - aSeg.a );
+        construct( aSeg.B - aSeg.A );
     }
 
     /**
diff --git a/pcbnew/router/pns_line.cpp b/pcbnew/router/pns_line.cpp
index 0f3583ff59..7600d65400 100644
--- a/pcbnew/router/pns_line.cpp
+++ b/pcbnew/router/pns_line.cpp
@@ -118,22 +118,22 @@ bool PNS_LINE::MergeObtuseSegments()
 
                 if( s1.Distance( ip ) <= 1 || s2.Distance( ip ) <= 1 )
                 {
-                    s1opt = SEG( s1.a, ip );
-                    s2opt = SEG( ip, s2.b );
+                    s1opt = SEG( s1.A, ip );
+                    s2opt = SEG( ip, s2.B );
                 }
                 else
                 {
-                    s1opt = SEG( s1.a, ip );
-                    s2opt = SEG( ip, s2.b );
+                    s1opt = SEG( s1.A, ip );
+                    s2opt = SEG( ip, s2.B );
                 }
 
 
                 if( DIRECTION_45( s1opt ).IsObtuse( DIRECTION_45( s2opt ) ) )
                 {
                     SHAPE_LINE_CHAIN opt_path;
-                    opt_path.Append( s1opt.a );
-                    opt_path.Append( s1opt.b );
-                    opt_path.Append( s2opt.b );
+                    opt_path.Append( s1opt.A );
+                    opt_path.Append( s1opt.B );
+                    opt_path.Append( s2opt.B );
 
                     PNS_LINE opt_track( *this, opt_path );
 
@@ -204,12 +204,10 @@ bool PNS_LINE::MergeSegments()
 
             if( n > 0 )
             {
-                SHAPE_LINE_CHAIN path_straight = DIRECTION_45().BuildInitialTrace( s1.a,
-                        s2.a,
-                        false );
-                SHAPE_LINE_CHAIN path_diagonal = DIRECTION_45().BuildInitialTrace( s1.a,
-                        s2.a,
-                        true );
+                SHAPE_LINE_CHAIN path_straight = DIRECTION_45().BuildInitialTrace( s1.A,
+                                                                                   s2.A, false );
+                SHAPE_LINE_CHAIN path_diagonal = DIRECTION_45().BuildInitialTrace( s1.A,
+                                                                                   s2.A, true );
             }
 
             if( DIRECTION_45( s1 ) == DIRECTION_45( s2 ) )
@@ -219,8 +217,8 @@ bool PNS_LINE::MergeSegments()
                     // printf("Colinear: np %d step %d n1 %d n2 %d\n", n_segs, step, n, n+step);
 
                     SHAPE_LINE_CHAIN opt_path;
-                    opt_path.Append( s1.a );
-                    opt_path.Append( s2.b );
+                    opt_path.Append( s1.A );
+                    opt_path.Append( s2.B );
 
                     PNS_LINE tmp( *this, opt_path );
 
@@ -239,22 +237,22 @@ bool PNS_LINE::MergeSegments()
 
                 if( s1.Distance( ip ) <= 1 || s2.Distance( ip ) <= 1 )
                 {
-                    s1opt = SEG( s1.a, ip );
-                    s2opt = SEG( ip, s2.b );
+                    s1opt = SEG( s1.A, ip );
+                    s2opt = SEG( ip, s2.B );
                 }
                 else
                 {
-                    s1opt = SEG( s1.a, ip );
-                    s2opt = SEG( ip, s2.b );
+                    s1opt = SEG( s1.A, ip );
+                    s2opt = SEG( ip, s2.B );
                 }
 
 
                 if( DIRECTION_45( s1opt ).IsObtuse( DIRECTION_45( s2opt ) ) )
                 {
                     SHAPE_LINE_CHAIN opt_path;
-                    opt_path.Append( s1opt.a );
-                    opt_path.Append( s1opt.b );
-                    opt_path.Append( s2opt.b );
+                    opt_path.Append( s1opt.A );
+                    opt_path.Append( s1opt.B );
+                    opt_path.Append( s2opt.B );
 
                     PNS_LINE opt_track( *this, opt_path );
 
@@ -319,14 +317,14 @@ void PNS_LINE::NewWalkaround( const SHAPE_LINE_CHAIN& aObstacle,
         SHAPE_LINE_CHAIN& aPostPath,
         bool aCw ) const
 {
-    typedef SHAPE_LINE_CHAIN::Intersection Intersection;
+    typedef SHAPE_LINE_CHAIN::INTERSECTION INTERSECTION;
 
     SHAPE_LINE_CHAIN l_orig( m_line );
     SHAPE_LINE_CHAIN l_hull;
     vector<bool> outside, on_edge, inside;
     SHAPE_LINE_CHAIN path;
 
-    vector<Intersection> isects;
+    vector<INTERSECTION> isects;
 
     // don't calculate walkaround for empty lines
     if( m_line.PointCount() < 2 )
@@ -345,7 +343,7 @@ void PNS_LINE::NewWalkaround( const SHAPE_LINE_CHAIN& aObstacle,
     else
         l_hull = aObstacle;
 
-    BOOST_FOREACH( Intersection isect, isects ) {
+    BOOST_FOREACH( INTERSECTION isect, isects ) {
         l_orig.Split( isect.p );
         l_hull.Split( isect.p );
     }
@@ -379,7 +377,7 @@ void PNS_LINE::NewWalkaround( const SHAPE_LINE_CHAIN& aObstacle,
     for( int i = l_orig.PointCount() - 1; i >= 1; i-- )
         if( inside[i] && outside[i - 1] )
         {
-            SHAPE_LINE_CHAIN::Intersections ips;
+            SHAPE_LINE_CHAIN::INTERSECTIONS ips;
             l_hull.Intersect( SEG( l_orig.CPoint( i ), l_orig.CPoint( i - 1 ) ), ips );
             l_orig.Remove( i, -1 );
             l_orig.Append( ips[0].p );
@@ -488,55 +486,50 @@ bool PNS_LINE::onEdge( const SHAPE_LINE_CHAIN& obstacle, VECTOR2I p, int& ei,
 }
 
 
-bool PNS_LINE::walkScan( const SHAPE_LINE_CHAIN& line,
-        const SHAPE_LINE_CHAIN& obstacle,
-        bool reverse,
-        VECTOR2I& ip,
-        int& index_o,
-        int& index_l,
-        bool& is_vertex ) const
+bool PNS_LINE::walkScan( const SHAPE_LINE_CHAIN& aLine, const SHAPE_LINE_CHAIN& aObstacle,
+        bool aReverse, VECTOR2I& aIp, int& aIndexO, int& aIndexL, bool& aIsVertex ) const
 {
-    int sc = line.SegmentCount();
+    int sc = aLine.SegmentCount();
 
-    for( int i = 0; i < line.SegmentCount(); i++ )
+    for( int i = 0; i < aLine.SegmentCount(); i++ )
     {
-        printf( "check-seg rev %d %d/%d %d\n", reverse, i, sc, sc - 1 - i );
-        SEG tmp = line.CSegment( reverse ? sc - 1 - i : i );
-        SEG s( tmp.a, tmp.b );
+        printf( "check-seg rev %d %d/%d %d\n", aReverse, i, sc, sc - 1 - i );
+        SEG tmp = aLine.CSegment( aReverse ? sc - 1 - i : i );
+        SEG s( tmp.A, tmp.B );
 
-        if( reverse )
+        if( aReverse )
         {
-            s.a = tmp.b;
-            s.b = tmp.a;
+            s.A = tmp.B;
+            s.B = tmp.A;
         }
 
-        if( onEdge( obstacle, s.a, index_o, is_vertex ) )
+        if( onEdge( aObstacle, s.A, aIndexO, aIsVertex ) )
         {
-            index_l = (reverse ?  sc - 1 - i : i);
-            ip = s.a;
-            printf( "vertex %d on-%s %d\n", index_l,
-                    is_vertex ? "vertex" : "edge", index_o );
+            aIndexL = (aReverse ?  sc - 1 - i : i);
+            aIp = s.A;
+            printf( "vertex %d on-%s %d\n", aIndexL,
+                    aIsVertex ? "vertex" : "edge", aIndexO );
             return true;
         }
 
-        if( onEdge( obstacle, s.b, index_o, is_vertex ) )
+        if( onEdge( aObstacle, s.B, aIndexO, aIsVertex ) )
         {
-            index_l = (reverse ?  sc - 1 - i - 1 : i + 1);
-            ip = s.b;
-            printf( "vertex %d on-%s %d\n", index_l,
-                    is_vertex ? "vertex" : "edge", index_o );
+            aIndexL = (aReverse ?  sc - 1 - i - 1 : i + 1);
+            aIp = s.B;
+            printf( "vertex %d on-%s %d\n", aIndexL,
+                    aIsVertex ? "vertex" : "edge", aIndexO );
             return true;
         }
 
-        SHAPE_LINE_CHAIN::Intersections ips;
-        int n_is = obstacle.Intersect( s, ips );
+        SHAPE_LINE_CHAIN::INTERSECTIONS ips;
+        int n_is = aObstacle.Intersect( s, ips );
 
         if( n_is > 0 )
         {
-            index_o = ips[0].our.Index();
-            index_l = reverse ? sc - 1 - i : i;
-            printf( "segment-%d intersects edge-%d\n", index_l, index_o );
-            ip = ips[0].p;
+            aIndexO = ips[0].our.Index();
+            aIndexL = aReverse ? sc - 1 - i : i;
+            printf( "segment-%d intersects edge-%d\n", aIndexL, aIndexO );
+            aIp = ips[0].p;
             return true;
         }
     }
@@ -545,11 +538,8 @@ bool PNS_LINE::walkScan( const SHAPE_LINE_CHAIN& line,
 }
 
 
-bool PNS_LINE::Walkaround( SHAPE_LINE_CHAIN obstacle,
-        SHAPE_LINE_CHAIN& pre,
-        SHAPE_LINE_CHAIN& walk,
-        SHAPE_LINE_CHAIN& post,
-        bool cw ) const
+bool PNS_LINE::Walkaround( SHAPE_LINE_CHAIN aObstacle, SHAPE_LINE_CHAIN& aPre,
+                           SHAPE_LINE_CHAIN& aWalk, SHAPE_LINE_CHAIN& aPost, bool aCw ) const
 {
     const SHAPE_LINE_CHAIN& line = GetCLine();
     VECTOR2I ip_start;
@@ -562,60 +552,55 @@ bool PNS_LINE::Walkaround( SHAPE_LINE_CHAIN obstacle,
     if( line.SegmentCount() < 1 )
         return false;
 
-    if( obstacle.PointInside( line.CPoint( 0 ) ) ||
-            obstacle.PointInside( line.CPoint( -1 ) ) )
+    if( aObstacle.PointInside( line.CPoint( 0 ) ) ||
+            aObstacle.PointInside( line.CPoint( -1 ) ) )
         return false;
 
 // printf("forward:\n");
-    bool found = walkScan( line,
-            obstacle,
-            false,
-            ip_start,
-            index_o_start,
-            index_l_start,
-            is_vertex_start );
+    bool found = walkScan( line, aObstacle, false, ip_start, index_o_start,
+                            index_l_start, is_vertex_start );
     // printf("reverse:\n");
-    found |= walkScan( line, obstacle, true, ip_end, index_o_end, index_l_end, is_vertex_end );
+    found |= walkScan( line, aObstacle, true, ip_end, index_o_end, index_l_end, is_vertex_end );
 
     if( !found || ip_start == ip_end )
     {
-        pre = line;
+        aPre = line;
         return true;
     }
 
-    pre = line.Slice( 0, index_l_start );
-    pre.Append( ip_start );
-    walk.Clear();
-    walk.Append( ip_start );
+    aPre = line.Slice( 0, index_l_start );
+    aPre.Append( ip_start );
+    aWalk.Clear();
+    aWalk.Append( ip_start );
 
-    if( cw )
+    if( aCw )
     {
-        int is = ( index_o_start + 1 ) % obstacle.PointCount();
-        int ie = ( is_vertex_end ? index_o_end : index_o_end + 1 ) % obstacle.PointCount();
+        int is = ( index_o_start + 1 ) % aObstacle.PointCount();
+        int ie = ( is_vertex_end ? index_o_end : index_o_end + 1 ) % aObstacle.PointCount();
 
         while( 1 )
         {
             printf( "is %d\n", is );
-            walk.Append( obstacle.CPoint( is ) );
+            aWalk.Append( aObstacle.CPoint( is ) );
 
             if( is == ie )
                 break;
 
             is++;
 
-            if( is == obstacle.PointCount() )
+            if( is == aObstacle.PointCount() )
                 is = 0;
         }
     }
     else
     {
         int is = index_o_start;
-        int ie = ( is_vertex_end ? index_o_end : index_o_end ) % obstacle.PointCount();
+        int ie = ( is_vertex_end ? index_o_end : index_o_end ) % aObstacle.PointCount();
 
         while( 1 )
         {
             printf( "is %d\n", is );
-            walk.Append( obstacle.CPoint( is ) );
+            aWalk.Append( aObstacle.CPoint( is ) );
 
             if( is == ie )
                 break;
@@ -623,15 +608,15 @@ bool PNS_LINE::Walkaround( SHAPE_LINE_CHAIN obstacle,
             is--;
 
             if( is < 0 )
-                is = obstacle.PointCount() - 1;
+                is = aObstacle.PointCount() - 1;
         }
     }
 
-    walk.Append( ip_end );
+    aWalk.Append( ip_end );
 
-    post.Clear();
-    post.Append( ip_end );
-    post.Append( line.Slice( is_vertex_end ? index_l_end : index_l_end + 1, -1 ) );
+    aPost.Clear();
+    aPost.Append( ip_end );
+    aPost.Append( line.Slice( is_vertex_end ? index_l_end : index_l_end + 1, -1 ) );
 
     // for(int i = (index_o_start + 1) % obstacle.PointCount();
     // i != (index_o_end + 1) % obstacle.PointCount(); i=(i+1) % obstacle.PointCount())
@@ -714,8 +699,8 @@ bool PNS_LINE::Is45Degree()
         const SEG& s = m_line.CSegment( i );
 
         double angle = 180.0 / M_PI *
-                       atan2( (double) s.b.y - (double) s.a.y,
-                              (double) s.b.x - (double) s.a.x );
+                       atan2( (double) s.B.y - (double) s.A.y,
+                              (double) s.B.x - (double) s.A.x );
 
         if( angle < 0 )
             angle += 360.0;
diff --git a/pcbnew/router/pns_line_placer.cpp b/pcbnew/router/pns_line_placer.cpp
index bda0d661c0..294da09695 100644
--- a/pcbnew/router/pns_line_placer.cpp
+++ b/pcbnew/router/pns_line_placer.cpp
@@ -100,7 +100,7 @@ void PNS_LINE_PLACER::SetInitialDirection( const DIRECTION_45& aDirection )
 
 bool PNS_LINE_PLACER::handleSelfIntersections()
 {
-    SHAPE_LINE_CHAIN::Intersections ips;
+    SHAPE_LINE_CHAIN::INTERSECTIONS ips;
     SHAPE_LINE_CHAIN& head = m_head.GetLine();
     SHAPE_LINE_CHAIN& tail = m_tail.GetLine();
 
@@ -119,7 +119,7 @@ bool PNS_LINE_PLACER::handleSelfIntersections()
 
     // if there is more than one intersection, find the one that is
     // closest to the beginning of the tail.
-    BOOST_FOREACH( SHAPE_LINE_CHAIN::Intersection i, ips )
+    BOOST_FOREACH( SHAPE_LINE_CHAIN::INTERSECTION i, ips )
     {
         if( i.our.Index() < n )
         {
@@ -147,7 +147,7 @@ bool PNS_LINE_PLACER::handleSelfIntersections()
         // Clip till the last tail segment before intersection.
         // Set the direction to the one of this segment.
         const SEG last = tail.CSegment( n - 1 );
-        m_p_start = last.a;
+        m_p_start = last.A;
         m_direction = DIRECTION_45( last );
         tail.Remove( n, -1 );
         return true;
@@ -190,7 +190,7 @@ bool PNS_LINE_PLACER::handlePullback()
     {
         const SEG last = tail.CSegment( -1 );
         m_direction = DIRECTION_45( last );
-        m_p_start = last.a;
+        m_p_start = last.A;
 
         TRACE( 0, "Placer: pullback triggered [%d] [%s %s]",
                 n % last_tail.Format().c_str() % first_head.Format().c_str() );
@@ -240,7 +240,7 @@ bool PNS_LINE_PLACER::reduceTail( const VECTOR2I& aEnd )
 
         // calculate a replacement route and check if it matches
         // the direction of the segment to be replaced
-        SHAPE_LINE_CHAIN replacement = dir.BuildInitialTrace( s.a, aEnd );
+        SHAPE_LINE_CHAIN replacement = dir.BuildInitialTrace( s.A, aEnd );
 
         PNS_LINE tmp( m_tail, replacement );
 
@@ -249,7 +249,7 @@ bool PNS_LINE_PLACER::reduceTail( const VECTOR2I& aEnd )
 
         if( DIRECTION_45( replacement.Segment( 0 ) ) == dir )
         {
-            new_start = s.a;
+            new_start = s.A;
             new_direction = dir;
             reduce_index = i;
         }
@@ -326,18 +326,18 @@ bool PNS_LINE_PLACER::mergeHead()
     }
 
     if( !n_tail )
-        tail.Append( head.CSegment( 0 ).a );
+        tail.Append( head.CSegment( 0 ).A );
 
     for( int i = 0; i < n_head - 2; i++ )
     {
-        tail.Append( head.CSegment( i ).b );
+        tail.Append( head.CSegment( i ).B );
     }
 
     tail.Simplify();
 
     SEG last = tail.CSegment( -1 );
 
-    m_p_start = last.b;
+    m_p_start = last.B;
     m_direction = DIRECTION_45( last ).Right();
 
     head.Remove( 0, n_head - 2 );
diff --git a/pcbnew/router/pns_node.cpp b/pcbnew/router/pns_node.cpp
index 1de4ca8995..c1a14d81a8 100644
--- a/pcbnew/router/pns_node.cpp
+++ b/pcbnew/router/pns_node.cpp
@@ -284,7 +284,7 @@ PNS_NODE::OptObstacle PNS_NODE::NearestObstacle( const PNS_LINE* aItem, int aKin
         VECTOR2I ip_first, ip_last;
         int dist_max = INT_MIN;
 
-        vector<SHAPE_LINE_CHAIN::Intersection> isect_list;
+        vector<SHAPE_LINE_CHAIN::INTERSECTION> isect_list;
 
         int clearance = GetClearance( obs.item, &aLine );
 
@@ -298,7 +298,7 @@ PNS_NODE::OptObstacle PNS_NODE::NearestObstacle( const PNS_LINE* aItem, int aKin
 
             viaHull.Intersect( hull, isect_list );
 
-            BOOST_FOREACH( SHAPE_LINE_CHAIN::Intersection isect, isect_list )
+            BOOST_FOREACH( SHAPE_LINE_CHAIN::INTERSECTION isect, isect_list )
             {
                 int dist = aLine.GetCLine().Length() +
                            ( isect.p - aLine.GetVia().GetPos() ).EuclideanNorm();
@@ -324,7 +324,7 @@ PNS_NODE::OptObstacle PNS_NODE::NearestObstacle( const PNS_LINE* aItem, int aKin
 
         hull.Intersect( aLine.GetCLine(), isect_list );
 
-        BOOST_FOREACH( SHAPE_LINE_CHAIN::Intersection isect, isect_list )
+        BOOST_FOREACH( SHAPE_LINE_CHAIN::INTERSECTION isect, isect_list )
         {
             int dist = aLine.GetCLine().PathLength( isect.p );
 
@@ -473,14 +473,14 @@ void PNS_NODE::addLine( PNS_LINE* aLine )
     {
         SEG s = l.CSegment( i );
 
-        if( s.a != s.b )
+        if( s.A != s.B )
         {
             PNS_SEGMENT* pseg = new PNS_SEGMENT( *aLine, s );
 
             pseg->SetOwner( this );
 
-            linkJoint( s.a, pseg->GetLayers(), aLine->GetNet(), pseg );
-            linkJoint( s.b, pseg->GetLayers(), aLine->GetNet(), pseg );
+            linkJoint( s.A, pseg->GetLayers(), aLine->GetNet(), pseg );
+            linkJoint( s.B, pseg->GetLayers(), aLine->GetNet(), pseg );
 
             aLine->LinkSegment( pseg );
 
@@ -492,7 +492,7 @@ void PNS_NODE::addLine( PNS_LINE* aLine )
 
 void PNS_NODE::addSegment( PNS_SEGMENT* aSeg )
 {
-    if( aSeg->GetSeg().a == aSeg->GetSeg().b )
+    if( aSeg->GetSeg().A == aSeg->GetSeg().B )
     {
         TRACEn( 0, "attempting to add a segment with same end coordinates, ignoring." )
         return;
@@ -500,8 +500,8 @@ void PNS_NODE::addSegment( PNS_SEGMENT* aSeg )
 
     aSeg->SetOwner( this );
 
-    linkJoint( aSeg->GetSeg().a, aSeg->GetLayers(), aSeg->GetNet(), aSeg );
-    linkJoint( aSeg->GetSeg().b, aSeg->GetLayers(), aSeg->GetNet(), aSeg );
+    linkJoint( aSeg->GetSeg().A, aSeg->GetLayers(), aSeg->GetNet(), aSeg );
+    linkJoint( aSeg->GetSeg().B, aSeg->GetLayers(), aSeg->GetNet(), aSeg );
 
     m_index->Add( aSeg );
 }
@@ -555,8 +555,8 @@ void PNS_NODE::doRemove( PNS_ITEM* aItem )
 
 void PNS_NODE::removeSegment( PNS_SEGMENT* aSeg )
 {
-    unlinkJoint( aSeg->GetSeg().a, aSeg->GetLayers(), aSeg->GetNet(), aSeg );
-    unlinkJoint( aSeg->GetSeg().b, aSeg->GetLayers(), aSeg->GetNet(), aSeg );
+    unlinkJoint( aSeg->GetSeg().A, aSeg->GetLayers(), aSeg->GetNet(), aSeg );
+    unlinkJoint( aSeg->GetSeg().B, aSeg->GetLayers(), aSeg->GetNet(), aSeg );
 
     doRemove( aSeg );
 }
@@ -629,7 +629,7 @@ void PNS_NODE::followLine( PNS_SEGMENT* current, bool scanDirection, int& pos,
     for( ; ; )
     {
         const VECTOR2I p =
-            (scanDirection ^ prevReversed) ? current->GetSeg().b : current->GetSeg().a;
+            (scanDirection ^ prevReversed) ? current->GetSeg().B : current->GetSeg().A;
         const OptJoint jt = FindJoint( p, current->GetLayer(), current->GetNet() );
 
         assert( jt );
@@ -645,7 +645,7 @@ void PNS_NODE::followLine( PNS_SEGMENT* current, bool scanDirection, int& pos,
 
         current = jt->NextSegment( current );
         prevReversed =
-            ( jt->GetPos() == (scanDirection ? current->GetSeg().b : current->GetSeg().a ) );
+            ( jt->GetPos() == (scanDirection ? current->GetSeg().B : current->GetSeg().A ) );
     }
 }
 
@@ -870,8 +870,8 @@ void PNS_NODE::Dump( bool aLong )
                 case PNS_ITEM::SEGMENT:
                     {
                         const PNS_SEGMENT* seg = static_cast<const PNS_SEGMENT*>(item);
-                        printf( " -> seg %s %s\n", seg->GetSeg().a.Format().c_str(),
-                                seg->GetSeg().b.Format().c_str() );
+                        printf( " -> seg %s %s\n", seg->GetSeg().A.Format().c_str(),
+                                seg->GetSeg().B.Format().c_str() );
                         break;
                     }
 
@@ -897,10 +897,10 @@ void PNS_NODE::Dump( bool aLong )
 
         for( vector<PNS_SEGMENT*>::iterator j = seg_refs->begin(); j != seg_refs->end(); ++j )
         {
-            printf( "%s ", (*j)->GetSeg().a.Format().c_str() );
+            printf( "%s ", (*j)->GetSeg().A.Format().c_str() );
 
             if( j + 1 == seg_refs->end() )
-                printf( "%s\n", (*j)->GetSeg().b.Format().c_str() );
+                printf( "%s\n", (*j)->GetSeg().B.Format().c_str() );
 
             all_segs.erase( *j );
         }
diff --git a/pcbnew/router/pns_optimizer.cpp b/pcbnew/router/pns_optimizer.cpp
index 12999a4f3b..49e3f8cc5c 100644
--- a/pcbnew/router/pns_optimizer.cpp
+++ b/pcbnew/router/pns_optimizer.cpp
@@ -311,22 +311,22 @@ bool PNS_OPTIMIZER::mergeObtuse( PNS_LINE* aLine )
 
                 if( s1.Distance( ip ) <= 1 || s2.Distance( ip ) <= 1 )
                 {
-                    s1opt = SEG( s1.a, ip );
-                    s2opt = SEG( ip, s2.b );
+                    s1opt = SEG( s1.A, ip );
+                    s2opt = SEG( ip, s2.B );
                 }
                 else
                 {
-                    s1opt = SEG( s1.a, ip );
-                    s2opt = SEG( ip, s2.b );
+                    s1opt = SEG( s1.A, ip );
+                    s2opt = SEG( ip, s2.B );
                 }
 
 
                 if( DIRECTION_45( s1opt ).IsObtuse( DIRECTION_45( s2opt ) ) )
                 {
                     SHAPE_LINE_CHAIN opt_path;
-                    opt_path.Append( s1opt.a );
-                    opt_path.Append( s1opt.b );
-                    opt_path.Append( s2opt.b );
+                    opt_path.Append( s1opt.A );
+                    opt_path.Append( s1opt.B );
+                    opt_path.Append( s2opt.B );
 
                     PNS_LINE opt_track( *aLine, opt_path );
 
@@ -446,7 +446,7 @@ bool PNS_OPTIMIZER::mergeStep( PNS_LINE* aLine, SHAPE_LINE_CHAIN& aCurrentPath,
         for( int i = 0; i < 2; i++ )
         {
             bool postureMatch = true;
-            SHAPE_LINE_CHAIN bypass = DIRECTION_45().BuildInitialTrace( s1.a, s2.b, i );
+            SHAPE_LINE_CHAIN bypass = DIRECTION_45().BuildInitialTrace( s1.A, s2.B, i );
             cost[i] = INT_MAX;
 
 
diff --git a/pcbnew/router/pns_router.cpp b/pcbnew/router/pns_router.cpp
index 7b43f370ea..7921feab19 100644
--- a/pcbnew/router/pns_router.cpp
+++ b/pcbnew/router/pns_router.cpp
@@ -392,10 +392,10 @@ const VECTOR2I PNS_ROUTER::SnapToItem( PNS_ITEM* item, VECTOR2I aP, bool& aSplit
 
             aSplitsSegment = false;
 
-            if( (aP - s.a).EuclideanNorm() < w / 2 )
-                anchor = s.a;
-            else if( (aP - s.b).EuclideanNorm() < w / 2 )
-                anchor = s.b;
+            if( ( aP - s.A ).EuclideanNorm() < w / 2 )
+                anchor = s.A;
+            else if( ( aP - s.B ).EuclideanNorm() < w / 2 )
+                anchor = s.B;
             else
             {
                 anchor = s.NearestPoint( aP );
@@ -559,8 +559,8 @@ void PNS_ROUTER::splitAdjacentSegments( PNS_NODE* aNode, PNS_ITEM* aSeg, const V
         s_new[0] = s_old->Clone();
         s_new[1] = s_old->Clone();
 
-        s_new[0]->SetEnds( s_old->GetSeg().a, aP );
-        s_new[1]->SetEnds( aP, s_old->GetSeg().b );
+        s_new[0]->SetEnds( s_old->GetSeg().A, aP );
+        s_new[1]->SetEnds( aP, s_old->GetSeg().B );
 
         aNode->Remove( s_old );
         aNode->Add( s_new[0] );
@@ -598,8 +598,8 @@ void PNS_ROUTER::commitRouting( PNS_NODE* aNode )
                 TRACK* track = new TRACK( m_board );
                 const SEG& s = seg->GetSeg();
 
-                track->SetStart( wxPoint( s.a.x, s.a.y ) );
-                track->SetEnd( wxPoint( s.b.x, s.b.y ) );
+                track->SetStart( wxPoint( s.A.x, s.A.y ) );
+                track->SetEnd( wxPoint( s.B.x, s.B.y ) );
                 track->SetWidth( seg->GetWidth() );
                 track->SetLayer( seg->GetLayers().Start() );
                 track->SetNet( seg->GetNet() );
diff --git a/pcbnew/router/pns_segment.h b/pcbnew/router/pns_segment.h
index 3c7565aa9c..06ab41dfa0 100644
--- a/pcbnew/router/pns_segment.h
+++ b/pcbnew/router/pns_segment.h
@@ -44,8 +44,8 @@ public:
     {
         m_net = aNet;
         m_shape.Clear();
-        m_shape.Append( aSeg.a );
-        m_shape.Append( aSeg.b );
+        m_shape.Append( aSeg.A );
+        m_shape.Append( aSeg.B );
     };
 
     PNS_SEGMENT( const PNS_LINE& aParentLine, const SEG& aSeg ) :
@@ -55,8 +55,8 @@ public:
         m_layers = aParentLine.GetLayers();
         m_width = aParentLine.GetWidth();
         m_shape.Clear();
-        m_shape.Append( aSeg.a );
-        m_shape.Append( aSeg.b );
+        m_shape.Append( aSeg.A );
+        m_shape.Append( aSeg.B );
     };
 
 
diff --git a/pcbnew/router/pns_shove.cpp b/pcbnew/router/pns_shove.cpp
index fd666780ea..ebde946a93 100644
--- a/pcbnew/router/pns_shove.cpp
+++ b/pcbnew/router/pns_shove.cpp
@@ -128,8 +128,8 @@ bool PNS_SHOVE::tryShove( PNS_NODE* aNode, PNS_LINE* aHead, PNS_LINE* aObstacle,
 
         if( aNode->CheckColliding( &hs, aObstacle ) )
         {
-            VECTOR2I v1 = hs.GetSeg().b - hs.GetSeg().a;
-            VECTOR2I v2 = aObstacleSeg.GetSeg().b - aObstacleSeg.GetSeg().a;
+            VECTOR2I v1 = hs.GetSeg().B - hs.GetSeg().A;
+            VECTOR2I v2 = aObstacleSeg.GetSeg().B - aObstacleSeg.GetSeg().A;
 
             VECTOR2I::extended_type det = v1.Cross( v2 );
 
diff --git a/pcbnew/router/pns_walkaround.cpp b/pcbnew/router/pns_walkaround.cpp
index 6368a40442..e2a13ac358 100644
--- a/pcbnew/router/pns_walkaround.cpp
+++ b/pcbnew/router/pns_walkaround.cpp
@@ -196,8 +196,8 @@ PNS_WALKAROUND::WalkaroundStatus PNS_WALKAROUND::Route( const PNS_LINE& aInitial
             const SEG s = l.Segment( i );
 
             VECTOR2I nearest = s.NearestPoint( m_cursorPos );
-            VECTOR2I::extended_type dist_a = ( s.a - m_cursorPos ).SquaredEuclideanNorm();
-            VECTOR2I::extended_type dist_b = ( s.b - m_cursorPos ).SquaredEuclideanNorm();
+            VECTOR2I::extended_type dist_a = ( s.A - m_cursorPos ).SquaredEuclideanNorm();
+            VECTOR2I::extended_type dist_b = ( s.B - m_cursorPos ).SquaredEuclideanNorm();
             VECTOR2I::extended_type dist_n = ( nearest - m_cursorPos ).SquaredEuclideanNorm();
 
             if( dist_n <= dist_a && dist_n < dist_b )
diff --git a/pcbnew/router/router_preview_item.cpp b/pcbnew/router/router_preview_item.cpp
index 72321aff88..b29caf7322 100644
--- a/pcbnew/router/router_preview_item.cpp
+++ b/pcbnew/router/router_preview_item.cpp
@@ -127,10 +127,10 @@ void ROUTER_PREVIEW_ITEM::ViewDraw( int aLayer, KIGFX::GAL* aGal ) const
         aGal->SetIsFill( false );
 
         for( int s = 0; s < m_line.SegmentCount(); s++ )
-            aGal->DrawLine( m_line.CSegment( s ).a, m_line.CSegment( s ).b );
+            aGal->DrawLine( m_line.CSegment( s ).A, m_line.CSegment( s ).B );
 
         if( m_line.IsClosed() )
-            aGal->DrawLine( m_line.CSegment( -1 ).b, m_line.CSegment( 0 ).a );
+            aGal->DrawLine( m_line.CSegment( -1 ).B, m_line.CSegment( 0 ).A );
         break;
 
     case PR_VIA:
diff --git a/pcbnew/router/router_tool.cpp b/pcbnew/router/router_tool.cpp
index db92452662..1d97f0c2a4 100644
--- a/pcbnew/router/router_tool.cpp
+++ b/pcbnew/router/router_tool.cpp
@@ -87,7 +87,7 @@ void ROUTER_TOOL::Reset()
     if( getView() )
         m_router->SetView( getView() );
 
-    Go( &ROUTER_TOOL::Main, TOOL_EVENT( TC_Command, TA_Action, GetName() ) );
+    Go( &ROUTER_TOOL::Main, TOOL_EVENT( TC_COMMAND, TA_ACTION, GetName() ) );
 }
 
 
@@ -323,7 +323,7 @@ void ROUTER_TOOL::startRouting()
             updateEndItem( *evt );
             m_router->Move( m_endSnapPoint, m_endItem );
         }
-        else if( evt->IsClick( MB_Left ) )
+        else if( evt->IsClick( MB_LEFT ) )
         {
             updateEndItem( *evt );
 
@@ -396,7 +396,7 @@ int ROUTER_TOOL::Main( TOOL_EVENT& aEvent )
             break; // Finish
         else if( evt->IsMotion() )
             updateStartItem( *evt );
-        else if( evt->IsClick( MB_Left ) )
+        else if( evt->IsClick( MB_LEFT ) )
         {
             updateStartItem( *evt );
             startRouting();
diff --git a/pcbnew/tools/item_state.h b/pcbnew/tools/item_state.h
index 5708ac122b..61e4e6e767 100644
--- a/pcbnew/tools/item_state.h
+++ b/pcbnew/tools/item_state.h
@@ -182,7 +182,7 @@ public:
      * them properly.
      * @return Flag required to refresh items.
      */
-    KIGFX::VIEW_ITEM::ViewUpdateFlags GetUpdateFlag() const
+    KIGFX::VIEW_ITEM::VIEW_UPDATE_FLAGS GetUpdateFlag() const
     {
         if( m_flips % 2 == 1 ) // If number of flips is odd, then we need to change layers
             return KIGFX::VIEW_ITEM::LAYERS;
diff --git a/pcbnew/tools/move_tool.cpp b/pcbnew/tools/move_tool.cpp
index 2164e1cb7e..016b2c4071 100644
--- a/pcbnew/tools/move_tool.cpp
+++ b/pcbnew/tools/move_tool.cpp
@@ -102,7 +102,7 @@ int MOVE_TOOL::Main( TOOL_EVENT& aEvent )
         }
 
         // Dispatch TOOL_ACTIONs
-        else if( evt->Category() == TC_Command )
+        else if( evt->Category() == TC_COMMAND )
         {
             VECTOR2D cursorPos = getView()->ToWorld( getViewControls()->GetCursorPosition() );
 
@@ -118,7 +118,7 @@ int MOVE_TOOL::Main( TOOL_EVENT& aEvent )
             }
         }
 
-        else if( evt->IsMotion() || evt->IsDrag( MB_Left ) )
+        else if( evt->IsMotion() || evt->IsDrag( MB_LEFT ) )
         {
             if( dragging )
             {
@@ -143,7 +143,7 @@ int MOVE_TOOL::Main( TOOL_EVENT& aEvent )
             selection.group->ViewUpdate( VIEW_ITEM::GEOMETRY );
             dragPosition = evt->Position();
         }
-        else if( evt->IsMouseUp( MB_Left ) || evt->IsClick( MB_Left ) )
+        else if( evt->IsMouseUp( MB_LEFT ) || evt->IsClick( MB_LEFT ) )
             break; // Finish
     }
 
diff --git a/pcbnew/tools/selection_tool.cpp b/pcbnew/tools/selection_tool.cpp
index 9dcc9ed6bf..ca36c73281 100644
--- a/pcbnew/tools/selection_tool.cpp
+++ b/pcbnew/tools/selection_tool.cpp
@@ -92,7 +92,7 @@ int SELECTION_TOOL::Main( TOOL_EVENT& aEvent )
     {
         // Should selected items be added to the current selection or
         // become the new selection (discarding previously selected items)
-        m_additive = evt->Modifier( MD_ModShift );
+        m_additive = evt->Modifier( MD_SHIFT );
 
         if( evt->IsCancel() )
         {
@@ -103,11 +103,11 @@ int SELECTION_TOOL::Main( TOOL_EVENT& aEvent )
         }
 
         // single click? Select single object
-        if( evt->IsClick( MB_Left ) )
+        if( evt->IsClick( MB_LEFT ) )
             selectSingle( evt->Position() );
 
         // drag with LMB? Select multiple objects (or at least draw a selection box) or drag them
-        if( evt->IsDrag( MB_Left ) )
+        if( evt->IsDrag( MB_LEFT ) )
         {
             if( m_selection.Empty() || m_additive )
             {
@@ -299,7 +299,7 @@ bool SELECTION_TOOL::selectMultiple()
             break;
         }
 
-        if( evt->IsDrag( MB_Left ) )
+        if( evt->IsDrag( MB_LEFT ) )
         {
             if( !m_additive )
                 clearSelection();
@@ -311,17 +311,17 @@ bool SELECTION_TOOL::selectMultiple()
             m_selArea->ViewUpdate( VIEW_ITEM::GEOMETRY );
         }
 
-        if( evt->IsMouseUp( MB_Left ) )
+        if( evt->IsMouseUp( MB_LEFT ) )
         {
             // End drawing the selection box
             m_selArea->ViewSetVisible( false );
 
             // Mark items within the selection box as selected
-            std::vector<VIEW::LayerItemPair> selectedItems;
+            std::vector<VIEW::LAYER_ITEM_PAIR> selectedItems;
             BOX2I selectionBox = m_selArea->ViewBBox();
             view->Query( selectionBox, selectedItems );         // Get the list of selected items
 
-            std::vector<VIEW::LayerItemPair>::iterator it, it_end;
+            std::vector<VIEW::LAYER_ITEM_PAIR>::iterator it, it_end;
 
             for( it = selectedItems.begin(), it_end = selectedItems.end(); it != it_end; ++it )
             {
@@ -369,7 +369,7 @@ BOARD_ITEM* SELECTION_TOOL::disambiguationMenu( GENERAL_COLLECTOR* aCollector )
 
     while( OPT_TOOL_EVENT evt = Wait() )
     {
-        if( evt->Action() == TA_ContextMenuUpdate )
+        if( evt->Action() == TA_CONTEXT_MENU_UPDATE )
         {
             if( current )
                 current->ClearBrightened();
@@ -385,7 +385,7 @@ BOARD_ITEM* SELECTION_TOOL::disambiguationMenu( GENERAL_COLLECTOR* aCollector )
             else
                 current = NULL;
         }
-        else if( evt->Action() == TA_ContextMenuChoice )
+        else if( evt->Action() == TA_CONTEXT_MENU_CHOICE )
         {
             optional<int> id = evt->GetCommandId();