// uniCenta oPOS - Touch Friendly Point Of Sale // Copyright (c) 2009-2013 uniCenta & previous Openbravo POS works // http://www.unicenta.net/unicentaopos // // This file is part of uniCenta oPOS // // uniCenta oPOS is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // // uniCenta oPOS 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 General Public License for more details. // // You should have received a copy of the GNU General Public License // along with uniCenta oPOS. If not, see <http://www.gnu.org/licenses/>. package com.openbravo.pos.printer; /** * * @author adrianromero */ public class ScrollAnimator extends BaseAnimator { private int msglength; public ScrollAnimator(String line1, String line2) { msglength = Math.max(line1.length(), line2.length()); baseLine1 = DeviceTicket.alignLeft(line1, msglength); baseLine2 = DeviceTicket.alignLeft(line2, msglength); } @Override public void setTiming(int i) { int j = (i / 2) % (msglength + 20); if (j < 20) { currentLine1 = DeviceTicket.alignLeft(DeviceTicket.getWhiteString(20 - j) + baseLine1, 20); currentLine2 = DeviceTicket.alignLeft(DeviceTicket.getWhiteString(20 - j) + baseLine2, 20); } else { currentLine1 = DeviceTicket.alignLeft(baseLine1.substring(j - 20), 20); currentLine2 = DeviceTicket.alignLeft(baseLine2.substring(j - 20), 20); } } }