/*
* ******************************************************************************
* * 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.stage.tools;
import com.badlogic.ashley.core.Entity;
import com.badlogic.gdx.graphics.Color;
import com.badlogic.gdx.math.Vector2;
import com.badlogic.gdx.utils.Align;
import com.uwsoft.editor.Overlap2DFacade;
import com.uwsoft.editor.factory.ItemFactory;
import com.uwsoft.editor.proxy.CursorManager;
import com.uwsoft.editor.renderer.factory.EntityFactory;
/**
* Created by azakhary on 4/30/2015.
*/
public class TextTool extends ItemDropTool {
public static final String NAME = "TEXT_TOOL";
private String fontFamily;
private boolean isBold;
private boolean isItalic;
private int fontSize;
private int letterSpacing;
private Color color;
private boolean kerningEnabled;
private int align;
public TextTool() {
fontFamily = "arial";
fontSize = 20;
color = Color.WHITE;
kerningEnabled = true;
align = Align.left;
}
@Override
public void initTool() {
super.initTool();
CursorManager cursorManager = Overlap2DFacade.getInstance().retrieveProxy(CursorManager.NAME);
cursorManager.setCursor(CursorManager.TEXT_TOOL);
}
@Override
public Entity putItem(float x, float y) {
return ItemFactory.get().createLabel(this, new Vector2(x, y));
}
@Override
public int[] listItemFilters() {
int[] filter = {EntityFactory.LABEL_TYPE};
return filter;
}
public int getAlign() {
return align;
}
public void setAlign(int align) {
this.align = align;
}
public String getFontFamily() {
return fontFamily;
}
public void setFontFamily(String fontFamily) {
this.fontFamily = fontFamily;
}
public boolean isBold() {
return isBold;
}
public void setBold(boolean isBold) {
this.isBold = isBold;
}
public boolean isItalic() {
return isItalic;
}
public void setItalic(boolean isItalic) {
this.isItalic = isItalic;
}
public int getFontSize() {
return fontSize;
}
public void setFontSize(int fontSize) {
this.fontSize = fontSize;
}
public int getLetterSpacing() {
return letterSpacing;
}
public void setLetterSpacing(int letterSpacing) {
this.letterSpacing = letterSpacing;
}
public Color getColor() {
return color;
}
public void setColor(Color color) {
this.color = color;
}
public boolean isKerningEnabled() {
return kerningEnabled;
}
public void setKerningEnabled(boolean kerningEnabled) {
this.kerningEnabled = kerningEnabled;
}
}