[haiku-commits] r38089 - haiku/trunk/src/apps/terminal
- From: pulkomandy@xxxxxxxxxxxxxxxxx
- To: haiku-commits@xxxxxxxxxxxxx
- Date: Fri, 13 Aug 2010 17:53:34 +0200 (CEST)
Author: pulkomandy
Date: 2010-08-13 17:53:34 +0200 (Fri, 13 Aug 2010)
New Revision: 38089
Changeset: http://dev.haiku-os.org/changeset/38089
Modified:
haiku/trunk/src/apps/terminal/BasicTerminalBuffer.cpp
haiku/trunk/src/apps/terminal/BasicTerminalBuffer.h
haiku/trunk/src/apps/terminal/TermConst.h
haiku/trunk/src/apps/terminal/TermParse.h
haiku/trunk/src/apps/terminal/TermView.cpp
haiku/trunk/src/apps/terminal/TermView.h
haiku/trunk/src/apps/terminal/TerminalLine.h
Log:
Enlarge attributes to 32 bit instead of 16. This prepares 256-color support for
terminal.
Modified: haiku/trunk/src/apps/terminal/BasicTerminalBuffer.cpp
===================================================================
--- haiku/trunk/src/apps/terminal/BasicTerminalBuffer.cpp 2010-08-13
15:19:36 UTC (rev 38088)
+++ haiku/trunk/src/apps/terminal/BasicTerminalBuffer.cpp 2010-08-13
15:53:34 UTC (rev 38089)
@@ -267,7 +267,7 @@
int
BasicTerminalBuffer::GetChar(int32 row, int32 column, UTF8Char& character,
- uint16& attributes) const
+ uint32& attributes) const
{
TerminalLine* lineBuffer = ALLOC_LINE_ON_STACK(fWidth);
TerminalLine* line = _HistoryLineAt(row, lineBuffer);
@@ -289,7 +289,7 @@
int32
BasicTerminalBuffer::GetString(int32 row, int32 firstColumn, int32 lastColumn,
- char* buffer, uint16& attributes) const
+ char* buffer, uint32& attributes) const
{
TerminalLine* lineBuffer = ALLOC_LINE_ON_STACK(fWidth);
TerminalLine* line = _HistoryLineAt(row, lineBuffer);
Modified: haiku/trunk/src/apps/terminal/BasicTerminalBuffer.h
===================================================================
--- haiku/trunk/src/apps/terminal/BasicTerminalBuffer.h 2010-08-13 15:19:36 UTC
(rev 38088)
+++ haiku/trunk/src/apps/terminal/BasicTerminalBuffer.h 2010-08-13 15:53:34 UTC
(rev 38089)
@@ -77,10 +77,10 @@
bool IsFullWidthChar(int32
row, int32 column) const;
int GetChar(int32
row, int32 column,
UTF8Char& character,
- uint16&
attributes) const;
+ uint32&
attributes) const;
int32 GetString(int32 row,
int32 firstColumn,
int32
lastColumn, char* buffer,
- uint16&
attributes) const;
+ uint32&
attributes) const;
void
GetStringFromRegion(BString& string,
const
TermPos& start,
const
TermPos& end) const;
Modified: haiku/trunk/src/apps/terminal/TermConst.h
===================================================================
--- haiku/trunk/src/apps/terminal/TermConst.h 2010-08-13 15:19:36 UTC (rev
38088)
+++ haiku/trunk/src/apps/terminal/TermConst.h 2010-08-13 15:53:34 UTC (rev
38089)
@@ -183,9 +183,9 @@
#define FONT 0x0100
#define RESERVE 0x0080
#define DUMPCR 0x0040
-#define FORECOLOR 0x0038
-#define BACKCOLOR 0x0007
-#define CHAR_ATTRIBUTES 0x773f
+#define FORECOLOR 0xFF0000
+#define BACKCOLOR 0xFF000000
+#define CHAR_ATTRIBUTES 0xFFFF7700
#define IS_WIDTH(x) (((x) & A_WIDTH) )
#define IS_BOLD(x) (((x) & BOLD) )
@@ -196,11 +196,11 @@
#define IS_BACKSET(x) (((x) & BACKSET) )
#define IS_FONT(x) (((x) & FONT) )
#define IS_CR(x) (((x) & DUMPCR) )
-#define IS_FORECOLOR(x) (((x) & FORECOLOR) >> 3)
-#define IS_BACKCOLOR(x) (((x) & BACKCOLOR) )
+#define IS_FORECOLOR(x) (((x) & FORECOLOR) >> 16)
+#define IS_BACKCOLOR(x) (((x) & BACKCOLOR) >> 24)
-#define FORECOLORED(x) ((x) << 3)
-#define BACKCOLORED(x) ((x) << 0)
+#define FORECOLORED(x) ((x) << 16)
+#define BACKCOLORED(x) ((x) << 24)
#endif // TERMCONST_H_INCLUDED
Modified: haiku/trunk/src/apps/terminal/TermParse.h
===================================================================
--- haiku/trunk/src/apps/terminal/TermParse.h 2010-08-13 15:19:36 UTC (rev
38088)
+++ haiku/trunk/src/apps/terminal/TermParse.h 2010-08-13 15:53:34 UTC (rev
38089)
@@ -84,8 +84,8 @@
int fFd;
- ushort fAttr;
- ushort fSavedAttr;
+ uint32 fAttr;
+ uint32 fSavedAttr;
thread_id fParseThread;
thread_id fReaderThread;
Modified: haiku/trunk/src/apps/terminal/TermView.cpp
===================================================================
--- haiku/trunk/src/apps/terminal/TermView.cpp 2010-08-13 15:19:36 UTC (rev
38088)
+++ haiku/trunk/src/apps/terminal/TermView.cpp 2010-08-13 15:53:34 UTC (rev
38089)
@@ -849,7 +849,7 @@
//! Draw part of a line in the given view.
void
-TermView::_DrawLinePart(int32 x1, int32 y1, uint16 attr, char *buf,
+TermView::_DrawLinePart(int32 x1, int32 y1, uint32 attr, char *buf,
int32 width, bool mouse, bool cursor, BView *inView)
{
rgb_color rgb_fore = fTextForeColor, rgb_back = fTextBackColor;
@@ -926,7 +926,7 @@
int32 firstVisible = _LineAt(0);
UTF8Char character;
- uint16 attr;
+ uint32 attr;
bool cursorVisible = _IsCursorVisible();
@@ -1156,7 +1156,7 @@
for (int32 i = k; i <= x2;) {
int32 lastColumn = x2;
bool insideSelection = _CheckSelectedRegion(j,
i, lastColumn);
- uint16 attr;
+ uint32 attr;
int32 count = fVisibleTextBuffer->GetString(j -
firstVisible, i,
lastColumn, buf, attr);
@@ -1198,7 +1198,7 @@
TermView::_DoPrint(BRect updateRect)
{
#if 0
- ushort attr;
+ uint32 attr;
uchar buf[1024];
const int numLines = (int)((updateRect.Height()) / fFontHeight);
Modified: haiku/trunk/src/apps/terminal/TermView.h
===================================================================
--- haiku/trunk/src/apps/terminal/TermView.h 2010-08-13 15:19:36 UTC (rev
38088)
+++ haiku/trunk/src/apps/terminal/TermView.h 2010-08-13 15:53:34 UTC (rev
38089)
@@ -139,7 +139,7 @@
void _Activate();
void _Deactivate();
- void _DrawLinePart(int32 x1, int32
y1, uint16 attr,
+ void _DrawLinePart(int32 x1, int32
y1, uint32 attr,
char* buffer,
int32 width, bool mouse,
bool cursor,
BView* inView);
void _DrawCursor();
Modified: haiku/trunk/src/apps/terminal/TerminalLine.h
===================================================================
--- haiku/trunk/src/apps/terminal/TerminalLine.h 2010-08-13 15:19:36 UTC
(rev 38088)
+++ haiku/trunk/src/apps/terminal/TerminalLine.h 2010-08-13 15:53:34 UTC
(rev 38089)
@@ -12,7 +12,7 @@
struct TerminalCell {
UTF8Char character;
- uint16 attributes;
+ uint32 attributes;
};
Other related posts: