The msvVTKButtons properties OnCenter, OnCorner and CornerIndex are a bit confusing.
I would suggest instead to factorize those properties in 2:
enum LocationType
{
OnDataCenter = 0,
OnDataCorner = 1,
OnScreenCorner =2
};
vtkSetMacro(Location, int);
vtkGetMacro(Location, int);
enum ScreenCornerType
{
BottomLeft = 0,
BottomRight = 1,
TopLeft = 2,
TopRight = 3
};
vtkSetMacro(ScreenCorner, int);
vtkGetMacro(ScreenCorner, int);
This would gives the ability to easily extend the list of possible locations.