Skip to content

Commit

Permalink
Added bounds/offsets entries to reduce the number of entries needed p…
Browse files Browse the repository at this point in the history
…er region.
  • Loading branch information
NathanSweet committed Dec 17, 2020
1 parent 377a7aa commit 21a8407
Show file tree
Hide file tree
Showing 2 changed files with 32 additions and 12 deletions.
Expand Up @@ -436,28 +436,32 @@ private void writePackFile (File outputDir, String scaledPackFileName, Array<Pag

private void writeRect (Writer writer, Page page, Rect rect, String name) throws IOException {
writer.write(Rect.getAtlasName(name, settings.flattenPaths) + "\n");
if (rect.index != -1) writer.write("\tindex: " + rect.index + "\n");

writer.write("\tbounds: " //
+ (page.x + rect.x) + ", " + (page.y + page.height - rect.y - (rect.height - settings.paddingY)) + "," //
+ rect.regionWidth + ", " + rect.regionHeight + "\n");

int offsetY = rect.originalHeight - rect.regionHeight - rect.offsetY;
if (rect.offsetX != 0 || offsetY != 0 //
|| rect.originalWidth != rect.regionWidth || rect.originalHeight != rect.regionHeight) {
writer.write("\toffsets: " //
+ rect.offsetX + ", " + offsetY + ", " //
+ rect.originalWidth + ", " + rect.originalHeight + "\n");
}

if (rect.rotated) writer.write("\trotate: " + rect.rotated + "\n");
writer
.write("\txy: " + (page.x + rect.x) + ", " + (page.y + page.height - rect.y - (rect.height - settings.paddingY)) + "\n");
writer.write("\tsize: " + rect.regionWidth + ", " + rect.regionHeight + "\n");

if (rect.splits != null) {
writer.write("\tsplit: " //
+ rect.splits[0] + ", " + rect.splits[1] + ", " + rect.splits[2] + ", " + rect.splits[3] + "\n");
+ rect.splits[0] + ", " + rect.splits[1] + ", " //
+ rect.splits[2] + ", " + rect.splits[3] + "\n");
}

if (rect.pads != null) {
if (rect.splits == null) writer.write("\tsplit: 0, 0, 0, 0\n");
writer.write("\tpad: " + rect.pads[0] + ", " + rect.pads[1] + ", " + rect.pads[2] + ", " + rect.pads[3] + "\n");
}

if (rect.originalWidth != rect.regionWidth || rect.originalHeight != rect.regionHeight)
writer.write("\torig: " + rect.originalWidth + ", " + rect.originalHeight + "\n");

int offsetY = rect.originalHeight - rect.regionHeight - rect.offsetY;
if (rect.offsetX != 0 || offsetY != 0) writer.write("\toffset: " + rect.offsetX + ", " + offsetY + "\n");

if (rect.index != -1) writer.write("\tindex: " + rect.index + "\n");
}

private @Null String getRepeatValue () {
Expand Down
16 changes: 16 additions & 0 deletions gdx/src/com/badlogic/gdx/graphics/g2d/TextureAtlas.java
Expand Up @@ -115,6 +115,14 @@ public void parse (Region region) {
region.height = Integer.parseInt(entry[2]);
}
});
regionFields.put("bounds", new Field<Region>() {
public void parse (Region region) {
region.left = Integer.parseInt(entry[1]);
region.top = Integer.parseInt(entry[2]);
region.width = Integer.parseInt(entry[3]);
region.height = Integer.parseInt(entry[4]);
}
});
regionFields.put("orig", new Field<Region>() {
public void parse (Region region) {
region.originalWidth = Integer.parseInt(entry[1]);
Expand All @@ -127,6 +135,14 @@ public void parse (Region region) {
region.offsetY = Integer.parseInt(entry[2]);
}
});
regionFields.put("offsets", new Field<Region>() {
public void parse (Region region) {
region.offsetX = Integer.parseInt(entry[1]);
region.offsetY = Integer.parseInt(entry[2]);
region.originalWidth = Integer.parseInt(entry[3]);
region.originalHeight = Integer.parseInt(entry[4]);
}
});
regionFields.put("index", new Field<Region>() {
public void parse (Region region) {
region.index = Integer.parseInt(entry[1]);
Expand Down

0 comments on commit 21a8407

Please sign in to comment.