translation.y = locationOrtho.y + offset.y;
logger.fine("translation 1 = " + translation);
// Convert pixel offset to local coords and add it in
Dimension parentSize = parent.getSizeApp();
Vector2f pixelScaleOrtho = parent.getPixelScaleOrtho();
logger.fine("parentSize = " + parentSize);
translation.x += -parentSize.width * pixelScaleOrtho.x / 2f;
translation.y += parentSize.height * pixelScaleOrtho.y / 2f;
logger.fine("translation 2 = " + translation);
logger.fine("sizeApp = " + sizeApp);
pixelScaleOrtho = getPixelScaleOrtho();
translation.x += sizeApp.width * pixelScaleOrtho.x / 2f;
translation.y -= sizeApp.height * pixelScaleOrtho.y / 2f;
logger.fine("translation 3 = " + translation);
logger.fine("pixelOffset = " + pixelOffset);
translation.x += pixelOffset.x * pixelScaleOrtho.x;
translation.y -= pixelOffset.y * pixelScaleOrtho.y;
logger.fine("translation 4 = " + translation);
}
} else {
// Initialize to the first part of the offset (the local coordinate translation)
logger.fine("view = " + this);
logger.fine("parent = " + parent);
logger.fine("offset = " + offset);
translation.x = offset.x;
translation.y = offset.y;
logger.fine("translation 1 = " + translation);
if (type != Type.PRIMARY && type != Type.UNKNOWN && parent != null) {
// Convert pixel offset to local coords and add it in
// TODO: does the width/height need to include the scroll bars?
Vector2f pixelScale = parent.getPixelScaleCurrent();
Dimension parentSize = parent.getSizeApp();
logger.fine("parentSize = " + parentSize);
translation.x += -parentSize.width * pixelScale.x / 2f;
translation.y += parentSize.height * pixelScale.y / 2f;
logger.fine("translation 2 = " + translation);