/**
*
*/
package com.jediterm.terminal.display;
import com.jediterm.terminal.TextStyle;
import com.jediterm.terminal.emulator.charset.CharacterSet;
import com.jediterm.terminal.emulator.charset.GraphicSetState;
import org.jetbrains.annotations.NotNull;
public class StoredCursor {
//Cursor position
private final int myCursorX;
private final int myCursorY;
//Character attributes set by the SGR command
private final TextStyle myTextStyle;
//Character sets (G0, G1, G2, or G3) currently in GL and GR
private final int myGLMapping;
private final int myGRMapping;
//Wrap flag (autowrap or no autowrap)
private final boolean myAutoWrap;
//State of origin mode (DECOM)
private final boolean myOriginMode;
//Selective erase attribute
//Any single shift 2 (SS2) or single shift 3 (SS3) functions sent
private final int myGLOverride;
private final CharacterSet[] myDesignations = new CharacterSet[4];
public StoredCursor(int cursorX,
int cursorY,
@NotNull TextStyle textStyle,
boolean autoWrap,
boolean originMode,
GraphicSetState graphicSetState) {
myCursorX = cursorX;
myCursorY = cursorY;
myTextStyle = textStyle;
myAutoWrap = autoWrap;
myOriginMode = originMode;
myGLMapping = graphicSetState.getGL().getIndex();
myGRMapping = graphicSetState.getGR().getIndex();
myGLOverride = graphicSetState.getGLOverrideIndex();
for (int i = 0; i<4; i++) {
myDesignations[i] = graphicSetState.getGraphicSet(i).getDesignation();
}
}
public int getCursorX() {
return myCursorX;
}
public int getCursorY() {
return myCursorY;
}
public TextStyle getTextStyle() {
return myTextStyle;
}
public int getGLMapping() {
return myGLMapping;
}
public int getGRMapping() {
return myGRMapping;
}
public boolean isAutoWrap() {
return myAutoWrap;
}
public boolean isOriginMode() {
return myOriginMode;
}
public int getGLOverride() {
return myGLOverride;
}
public CharacterSet[] getDesignations() {
return myDesignations;
}
}