GNU Octave  4.2.1
A high-level interpreted language, primarily intended for numerical computations, mostly compatible with Matlab
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
Macros | Enumerations | Functions | Variables
TerminalView.cpp File Reference
#include "unix/TerminalView.h"
#include <QApplication>
#include <QBoxLayout>
#include <QClipboard>
#include <QKeyEvent>
#include <QtCore/QEvent>
#include <QtCore/QTime>
#include <QtCore/QFile>
#include <QGridLayout>
#include <QLabel>
#include <QLayout>
#include <QPainter>
#include <QPixmap>
#include <QScrollBar>
#include <QStyle>
#include <QToolTip>
#include <QtCore>
#include <QtGui>
#include "unix/Filter.h"
#include "unix/konsole_wcwidth.h"
#include "unix/ScreenWindow.h"
#include "unix/TerminalCharacterDecoder.h"
#include <signal.h>
#include "LineFont.h"
Include dependency graph for TerminalView.cpp:

Go to the source code of this file.

Macros

#define loc(X, Y)   ((Y)*_columns+(X))
 
#define REPCHAR
 
#define yMouseScroll   1
 

Enumerations

enum  LineEncode {
  TopL = (1<<1), TopC = (1<<2), TopR = (1<<3), LeftT = (1<<5),
  Int11 = (1<<6), Int12 = (1<<7), Int13 = (1<<8), RightT = (1<<9),
  LeftC = (1<<10), Int21 = (1<<11), Int22 = (1<<12), Int23 = (1<<13),
  RightC = (1<<14), LeftB = (1<<15), Int31 = (1<<16), Int32 = (1<<17),
  Int33 = (1<<18), RightB = (1<<19), BotL = (1<<21), BotC = (1<<22),
  BotR = (1<<23)
}
 A table for emulating the simple (single width) unicode drawing chars. More...
 

Functions

static void drawLineChar (QPainter &paint, int x, int y, int w, int h, uchar code)
 
static bool isLineChar (quint16 c)
 
static bool isLineCharString (const QString &string)
 

Variables

unsigned short vt100_graphics [32]
 

Macro Definition Documentation

#define loc (   X,
  Y 
)    ((Y)*_columns+(X))
#define REPCHAR
Value:
"ABCDEFGHIJKLMNOPQRSTUVWXYZ" \
"abcdefgjijklmnopqrstuvwxyz" \
"0123456789./+@"

Definition at line 61 of file TerminalView.cpp.

Referenced by TerminalView::fontChange().

#define yMouseScroll   1

Definition at line 59 of file TerminalView.cpp.

Referenced by TerminalView::extendSelection().

Enumeration Type Documentation

enum LineEncode

A table for emulating the simple (single width) unicode drawing chars.

It represents the 250x - 257x glyphs. If it's zero, we can't use it. if it's not, it's encoded as follows: imagine a 5x5 grid where the points are numbered 0 to 24 left to top, top to bottom. Each point is represented by the corresponding bit.

Then, the pixels basically have the following interpretation: _|||_ -...- -...- -...- _|||_

where _ = none | = vertical line.

  • = horizontal line.
Enumerator
TopL 
TopC 
TopR 
LeftT 
Int11 
Int12 
Int13 
RightT 
LeftC 
Int21 
Int22 
Int23 
RightC 
LeftB 
Int31 
Int32 
Int33 
RightB 
BotL 
BotC 
BotR 

Definition at line 373 of file TerminalView.cpp.

Function Documentation

static void drawLineChar ( QPainter &  paint,
int  x,
int  y,
int  w,
int  h,
uchar  code 
)
static
static bool isLineChar ( quint16  c)
inlinestatic
static bool isLineCharString ( const QString &  string)
inlinestatic

Definition at line 146 of file TerminalView.cpp.

References at, isLineChar(), and jit_convention::length.

Referenced by TerminalView::drawCharacters().

Variable Documentation

unsigned short vt100_graphics[32]
Initial value:
=
{
0x0020, 0x25C6, 0x2592, 0x2409, 0x240c, 0x240d, 0x240a, 0x00b0,
0x00b1, 0x2424, 0x240b, 0x2518, 0x2510, 0x250c, 0x2514, 0x253c,
0xF800, 0xF801, 0x2500, 0xF803, 0xF804, 0x251c, 0x2524, 0x2534,
0x252c, 0x2502, 0x2264, 0x2265, 0x03C0, 0x2260, 0x00A3, 0x00b7
}

Definition at line 154 of file TerminalView.cpp.

Referenced by Vt102Emulation::applyCharset().