use of binnie.core.gui.resource.textures.Texture in project Binnie by ForestryMC.
the class StyleSheetParser method parseTextures.
private static Map<String, Texture> parseTextures(JsonObject jsonObject, Map<String, ParsedTextureSheet> textureSheets) {
JsonArray texturesJson = JsonUtils.getJsonArray(jsonObject, TEXTURES_KEY);
if (texturesJson == null) {
return Collections.emptyMap();
}
Map<String, Texture> textures = new HashMap<>();
for (JsonElement element : texturesJson) {
if (!element.isJsonObject()) {
continue;
}
try {
JsonObject sheetJson = element.getAsJsonObject();
String name = JsonUtils.getString(sheetJson, NAME_KEY);
String sheet = JsonUtils.getString(sheetJson, SHEET_KEY);
JsonArray uvArray = JsonUtils.getJsonArray(sheetJson, UV_KEY);
IBinnieTexture textureSheet = textureSheets.get(sheet);
Area uv = parseArea(uvArray);
Border border = Border.ZERO;
Border padding = Border.ZERO;
if (sheetJson.has(BORDER_KEY)) {
JsonArray array = JsonUtils.getJsonArray(sheetJson, BORDER_KEY);
border = parseBorder(array);
}
if (sheetJson.has(PADDING_KEY)) {
JsonArray array = JsonUtils.getJsonArray(sheetJson, PADDING_KEY);
padding = parseBorder(array);
}
Texture texture = new Texture(uv, padding, border, textureSheet);
textures.put(name, texture);
} catch (Exception e) {
Log.warning("Failed to load stylesheet for Binnie's Mods.", e);
}
}
return textures;
}
use of binnie.core.gui.resource.textures.Texture in project Binnie by ForestryMC.
the class ControlChromoPicker method onRenderBackground.
@Override
@SideOnly(Side.CLIENT)
public void onRenderBackground(int guiWidth, int guiHeight) {
super.onRenderBackground(guiWidth, guiHeight);
boolean selected = isMouseOver();
Texture text = selected ? this.selected : texture;
CraftGUI.RENDER.texture(text, Point.ZERO);
}
use of binnie.core.gui.resource.textures.Texture in project Binnie by ForestryMC.
the class StyleSheetParser method parseSheet.
@SideOnly(Side.CLIENT)
public static StyleSheet parseSheet(IResourceManager manager, ResourceLocation location) {
try {
IResource res = manager.getResource(location);
BufferedReader bufferedreader = new BufferedReader(new InputStreamReader(res.getInputStream(), Charsets.UTF_8));
JsonParser jsonParser = new JsonParser();
JsonObject jsonObject = jsonParser.parse(bufferedreader).getAsJsonObject();
Map<String, ParsedTextureSheet> textureSheets = parseTextureSheets(jsonObject);
Map<String, Texture> textures = parseTextures(jsonObject, textureSheets);
IOUtils.closeQuietly(bufferedreader);
return new StyleSheet(textures);
} catch (IOException e) {
throw new RuntimeException("Failed to load default stylesheet for Binnie's Mods.", e);
}
}
Aggregations