/* * ****************************************************************************** * * Copyright 2015 See AUTHORS file. * * * * Licensed under the Apache License, Version 2.0 (the "License"); * * you may not use this file except in compliance with the License. * * You may obtain a copy of the License at * * * * http://www.apache.org/licenses/LICENSE-2.0 * * * * Unless required by applicable law or agreed to in writing, software * * distributed under the License is distributed on an "AS IS" BASIS, * * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * * See the License for the specific language governing permissions and * * limitations under the License. * ***************************************************************************** */ package com.uwsoft.editor.view.ui.box.resourcespanel.draggable.box; import com.badlogic.gdx.graphics.g2d.TextureAtlas.AtlasRegion; import com.badlogic.gdx.scenes.scene2d.Actor; import com.badlogic.gdx.scenes.scene2d.ui.Image; import com.commons.ResourcePayloadObject; import com.uwsoft.editor.view.ui.box.UIResourcesBoxMediator; public class ImageResource extends BoxItemResource { private final Image payloadImg; private final ResourcePayloadObject payload; public ImageResource(AtlasRegion region) { Image img = new Image(region); if (img.getWidth() > thumbnailSize || img.getHeight() > thumbnailSize) { // resizing is needed float scaleFactor = 1.0f; if (img.getWidth() > img.getHeight()) { //scale by width scaleFactor = 1.0f / (img.getWidth() / thumbnailSize); } else { scaleFactor = 1.0f / (img.getHeight() / thumbnailSize); } img.setScale(scaleFactor); img.setX((getWidth() - img.getWidth() * img.getScaleX()) / 2); img.setY((getHeight() - img.getHeight() * img.getScaleY()) / 2); } else { // put it in middle img.setX((getWidth() - img.getWidth()) / 2); img.setY((getHeight() - img.getHeight()) / 2); } addActor(img); setRightClickEvent(UIResourcesBoxMediator.IMAGE_RIGHT_CLICK, region.name); payloadImg = new Image(region); payload = new ResourcePayloadObject(); payload.name = region.name; payload.className = getClass().getName(); } @Override public Actor getDragActor() { return payloadImg; } @Override public ResourcePayloadObject getPayloadData() { return payload; } }