2010-07-17 18:21:26 +00:00
|
|
|
//
|
|
|
|
// VT100.h
|
|
|
|
// 2Term
|
|
|
|
//
|
|
|
|
// Created by Kelvin Sherlock on 7/14/2010.
|
|
|
|
// Copyright 2010 __MyCompanyName__. All rights reserved.
|
|
|
|
//
|
|
|
|
|
|
|
|
#import <Cocoa/Cocoa.h>
|
|
|
|
|
|
|
|
#import "Emulator.h"
|
|
|
|
|
|
|
|
#include "iGeometry.h"
|
|
|
|
|
|
|
|
|
|
|
|
#ifdef __cplusplus
|
|
|
|
#include <vector>
|
|
|
|
#endif
|
|
|
|
|
|
|
|
@interface VT100 : NSObject <Emulator> {
|
|
|
|
|
|
|
|
unsigned _state;
|
|
|
|
|
2010-07-21 01:30:31 +00:00
|
|
|
BOOL _altKeyPad;
|
|
|
|
|
|
|
|
|
2010-07-17 18:21:26 +00:00
|
|
|
BOOL _keyMode;
|
|
|
|
BOOL _vt52Mode;
|
|
|
|
BOOL _graphics;
|
2010-07-28 01:42:54 +00:00
|
|
|
|
2010-07-17 18:21:26 +00:00
|
|
|
iPoint _dca;
|
2010-07-28 01:42:54 +00:00
|
|
|
|
|
|
|
|
|
|
|
struct __vt100flags {
|
|
|
|
unsigned int DECANM:1; // vt52 mode
|
|
|
|
unsigned int DECARM:1; // auto repeat mode.
|
|
|
|
unsigned int DECAWM:1; // autowrap mode
|
|
|
|
unsigned int DECCKM:1; // cursor key mode.
|
|
|
|
unsigned int DECKPAM:1; // alternate keypad.
|
|
|
|
unsigned int DECKPNM:1; // not alternate keypad.
|
|
|
|
unsigned int DECCOLM:1; // 80/132 mode.
|
|
|
|
unsigned int DECSCLM:1; // scrolling
|
|
|
|
unsigned int DECSCNM:1; // screen
|
|
|
|
unsigned int DECOM:1; // origin
|
|
|
|
unsigned int DECINLM:1; // interlace
|
|
|
|
|
|
|
|
unsigned int LNM:1; // line feed new line mode.
|
|
|
|
|
|
|
|
|
|
|
|
} _flags;
|
2010-07-17 18:21:26 +00:00
|
|
|
|
|
|
|
#ifdef __cplusplus
|
|
|
|
std::vector<int> _parms;
|
|
|
|
#endif
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
2010-07-21 01:30:31 +00:00
|
|
|
-(void)tab: (Screen *)screen;
|
|
|
|
|
|
|
|
|
2010-07-17 18:21:26 +00:00
|
|
|
@end
|