/// <summary> /// get diff caused by placement according to coordinate /// </summary> /// <param name="coord"></param> /// <returns></returns> private int PlacementDif(COORDINATE coord) { int placementDiff = 0; int dx; switch (coord) { case COORDINATE.LEFT: placementDiff = coordinator.getPlacementDif(PlacementDim.PLACE_X); if (containerRightToLeft) { dx = coordinator.getPlacementDif(PlacementDim.PLACE_DX); placementDiff -= dx; } break; case COORDINATE.RIGHT: placementDiff = coordinator.getPlacementDif(PlacementDim.PLACE_X); if (!containerRightToLeft) { dx = coordinator.getPlacementDif(PlacementDim.PLACE_DX); placementDiff += dx; } break; case COORDINATE.TOP: placementDiff = coordinator.getPlacementDif(PlacementDim.PLACE_Y); break; case COORDINATE.BOTTOM: placementDiff = coordinator.getPlacementDif(PlacementDim.PLACE_Y); placementDiff += coordinator.getPlacementDif(PlacementDim.PLACE_DY); break; default: break; } return(placementDiff); }
/// <summary> /// translate line coordinate according to Axe to table coordinates /// </summary> /// <param name="coordinate"></param> /// <param name="num"></param> /// <returns></returns> private int translateCoordinate(COORDINATE coordinate, int num) { if (_coordinator is TableCoordinator) { switch (coordinate) { case COORDINATE.LEFT: case COORDINATE.RIGHT: num = ((TableCoordinator)_coordinator).transformXToTable(num); break; case COORDINATE.TOP: case COORDINATE.BOTTOM: num = ((TableCoordinator)_coordinator).transformYToTable(num); break; default: break; } } return(LineHelper.translateCoordinate(coordinate, num)); }
/// <summary> /// translate line coordinate according to Axe to table coordinates /// </summary> /// <param name="coordinate"></param> /// <param name="num"></param> /// <returns></returns> public int translateCoordinate(COORDINATE coordinate, int num) { // TODO : handle for TableCoordinator return(num + PlacementDif(coordinate)); }