All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.bigcustard.scene2dplus.textarea.command.CopyCommand Maven / Gradle / Ivy

There is a newer version: 1.4.0
Show newest version
package com.bigcustard.scene2dplus.textarea.command;

import com.badlogic.gdx.Gdx;
import com.badlogic.gdx.utils.Clipboard;
import com.bigcustard.scene2dplus.XY;
import com.bigcustard.scene2dplus.textarea.TextAreaModel;
import com.google.common.annotations.VisibleForTesting;

public class CopyCommand extends AbstractTextAreaCommand {
    public CopyCommand(TextAreaModel model) {
        super(model);
    }

    @Override
    public boolean canExecute() {
        return model.caret().isAreaSelected();
    }

    @Override
    public void execute() {
        TextAreaModel.Caret caret = model.caret();
        if (!caret.isAreaSelected()) {
            int y = caret.location().y;
            caret.setSelection(new XY(0, y), new XY(0, y + 1));
        }
        getClipboard().setContents(model.getSelection());
    }

    @VisibleForTesting
    protected Clipboard getClipboard() {
        return Gdx.app.getClipboard();
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy