X-Git-Url: http://git.nikiroo.be/?p=jvcard.git;a=blobdiff_plain;f=src%2Fcom%2Fgooglecode%2Flanterna%2Fgraphics%2FSubTextGraphics.java;fp=src%2Fcom%2Fgooglecode%2Flanterna%2Fgraphics%2FSubTextGraphics.java;h=0000000000000000000000000000000000000000;hp=c3ef0fdb477c4b18cedf6d1ebe839e47be8524b8;hb=f06c81000632cfb5f525ca458f719338f55f9f66;hpb=a73a906356c971b080c36368e71a15d87e8b8d31 diff --git a/src/com/googlecode/lanterna/graphics/SubTextGraphics.java b/src/com/googlecode/lanterna/graphics/SubTextGraphics.java deleted file mode 100644 index c3ef0fd..0000000 --- a/src/com/googlecode/lanterna/graphics/SubTextGraphics.java +++ /dev/null @@ -1,67 +0,0 @@ -/* - * This file is part of lanterna (http://code.google.com/p/lanterna/). - * - * lanterna is free software: you can redistribute it and/or modify - * it under the terms of the GNU Lesser General Public License as published by - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public License - * along with this program. If not, see . - * - * Copyright (C) 2010-2015 Martin - */ -package com.googlecode.lanterna.graphics; - -import com.googlecode.lanterna.TextCharacter; -import com.googlecode.lanterna.TerminalPosition; -import com.googlecode.lanterna.TerminalSize; - -/** - * This implementation of TextGraphics will take a 'proper' object and composite a view on top of it, by using a - * top-left position and a size. Any attempts to put text outside of this area will be dropped. - * @author Martin - */ -class SubTextGraphics extends AbstractTextGraphics { - private final TextGraphics underlyingTextGraphics; - private final TerminalPosition topLeft; - private final TerminalSize writableAreaSize; - - SubTextGraphics(TextGraphics underlyingTextGraphics, TerminalPosition topLeft, TerminalSize writableAreaSize) { - this.underlyingTextGraphics = underlyingTextGraphics; - this.topLeft = topLeft; - this.writableAreaSize = writableAreaSize; - } - - private TerminalPosition project(int column, int row) { - return topLeft.withRelative(column, row); - } - - @Override - public TextGraphics setCharacter(int columnIndex, int rowIndex, TextCharacter textCharacter) { - TerminalSize writableArea = getSize(); - if(columnIndex < 0 || columnIndex >= writableArea.getColumns() || - rowIndex < 0 || rowIndex >= writableArea.getRows()) { - return this; - } - TerminalPosition projectedPosition = project(columnIndex, rowIndex); - underlyingTextGraphics.setCharacter(projectedPosition, textCharacter); - return this; - } - - @Override - public TerminalSize getSize() { - return writableAreaSize; - } - - @Override - public TextCharacter getCharacter(int column, int row) { - TerminalPosition projectedPosition = project(column, row); - return underlyingTextGraphics.getCharacter(projectedPosition.getColumn(), projectedPosition.getRow()); - } -}