summaryrefslogtreecommitdiff
path: root/noncore/apps/opie-console/emulation_widget.cpp
authorzecke <zecke>2002-10-14 13:16:07 (UTC)
committer zecke <zecke>2002-10-14 13:16:07 (UTC)
commit17e4897122da8089fadb05496d09fb196919f674 (patch) (side-by-side diff)
tree5445c6761d4215bc1c532407c79ab3fbbae6b551 /noncore/apps/opie-console/emulation_widget.cpp
parent767d7347ce002e7633278d66758e17d49f40b0f0 (diff)
downloadopie-17e4897122da8089fadb05496d09fb196919f674.zip
opie-17e4897122da8089fadb05496d09fb196919f674.tar.gz
opie-17e4897122da8089fadb05496d09fb196919f674.tar.bz2
Hi Murphy!
One ColorEntry *color_table in the class and one color table at the end of the file Which one does the Compiler pick? Fix crashes! ColorEntry use bitfields
Diffstat (limited to 'noncore/apps/opie-console/emulation_widget.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/apps/opie-console/emulation_widget.cpp59
1 files changed, 32 insertions, 27 deletions
diff --git a/noncore/apps/opie-console/emulation_widget.cpp b/noncore/apps/opie-console/emulation_widget.cpp
index 5a02fac..9138f29 100644
--- a/noncore/apps/opie-console/emulation_widget.cpp
+++ b/noncore/apps/opie-console/emulation_widget.cpp
@@ -19,2 +19,18 @@
+
+static const ColorEntry color_table[TABLE_COLORS] =
+{
+ ColorEntry(QColor(0x00,0x00,0x00), 0, 0 ), ColorEntry( QColor(0xB2,0xB2,0xB2), 1, 0 ), // Dfore, Dback
+ ColorEntry(QColor(0x00,0x00,0x00), 0, 0 ), ColorEntry( QColor(0xB2,0x18,0x18), 0, 0 ), // Black, Red
+ ColorEntry(QColor(0x18,0xB2,0x18), 0, 0 ), ColorEntry( QColor(0xB2,0x68,0x18), 0, 0 ), // Green, Yellow
+ ColorEntry(QColor(0x18,0x18,0xB2), 0, 0 ), ColorEntry( QColor(0xB2,0x18,0xB2), 0, 0 ), // Blue, Magenta
+ ColorEntry(QColor(0x18,0xB2,0xB2), 0, 0 ), ColorEntry( QColor(0xB2,0xB2,0xB2), 0, 0 ), // Cyan, White
+ // intensiv
+ ColorEntry(QColor(0x00,0x00,0x00), 0, 1 ), ColorEntry( QColor(0xFF,0xFF,0xFF), 1, 0 ),
+ ColorEntry(QColor(0x68,0x68,0x68), 0, 0 ), ColorEntry( QColor(0xFF,0x54,0x54), 0, 0 ),
+ ColorEntry(QColor(0x54,0xFF,0x54), 0, 0 ), ColorEntry( QColor(0xFF,0xFF,0x54), 0, 0 ),
+ ColorEntry(QColor(0x54,0x54,0xFF), 0, 0 ), ColorEntry( QColor(0xB2,0x18,0xB2), 0, 0 ),
+ ColorEntry(QColor(0x54,0xFF,0xFF), 0, 0 ), ColorEntry( QColor(0xFF,0xFF,0xFF), 0, 0 )
+};
+
EmulationWidget::EmulationWidget( const Profile& config, QWidget *parent, const char* name ) : WidgetLayer( config, parent, name )
@@ -22,3 +38,3 @@ EmulationWidget::EmulationWidget( const Profile& config, QWidget *parent, const
- // initialize font attributes
+ // initialize font attributes
QFontMetrics fm( font() );
@@ -34,6 +50,6 @@ EmulationWidget::EmulationWidget( const Profile& config, QWidget *parent, const
calcGeometry();
-
+
// load config
reloadConfig( config );
-
+
m_resizing = false;
@@ -43,3 +59,3 @@ void EmulationWidget::reloadConfig( const Profile& config )
{
-
+
// nothing yet
@@ -109,3 +125,3 @@ void EmulationWidget::setImage( QArray<Character> const newimg, int lines, int c
paint.begin( this );
-
+
QPoint tL = contentsRect().topLeft();
@@ -121,3 +137,3 @@ void EmulationWidget::setImage( QArray<Character> const newimg, int lines, int c
int cols = QMIN( m_columns, QMAX( 0, columns ) );
- QArray<QChar> disstrU = QArray<QChar>( cols );
+ QArray<QChar> disstrU = QArray<QChar>( cols );
@@ -132,3 +148,3 @@ void EmulationWidget::setImage( QArray<Character> const newimg, int lines, int c
//hasBlinker |= ( ext[x].r & RE_BLINK );
-
+
if ( ext[x] != lcl[x] )
@@ -174,3 +190,3 @@ void EmulationWidget::paintEvent( QPaintEvent* pe )
const QPixmap* pm = backgroundPixmap();
-
+
painter.begin( this );
@@ -182,3 +198,3 @@ void EmulationWidget::paintEvent( QPaintEvent* pe )
int tLy = tL.y();
-
+
int lux = QMIN(m_columns-1, QMAX(0,(rect.left() - tLx - m_blX ) / f_width));
@@ -187,3 +203,3 @@ void EmulationWidget::paintEvent( QPaintEvent* pe )
int rly = QMIN(m_lines-1, QMAX(0,(rect.bottom() - tLy - m_bY ) / f_height));
-
+
QChar *disstrU = new QChar[m_columns];
@@ -207,3 +223,3 @@ void EmulationWidget::paintEvent( QPaintEvent* pe )
- drawAttrString( unistr, painter, QRect( m_blX+tLx+f_width*x,m_bY+tLy+f_height*y,f_width*len,f_height ), m_image[loc(x ,y )], pm != NULL, false );
+ drawAttrString( unistr, painter, QRect( m_blX+tLx+f_width*x,m_bY+tLy+f_height*y,f_width*len,f_height ), m_image[loc(x ,y )], pm != 0l, false );
x +=len -1;
@@ -242,3 +258,3 @@ void EmulationWidget::calcGeometry()
}
-
+
m_lines = ( contentsRect().height() - 2 * rimY ) / f_height;
@@ -247,4 +263,5 @@ void EmulationWidget::calcGeometry()
-void EmulationWidget::drawAttrString( QString& string, QPainter &painter, QRect rect, Character attr, bool usePixmap, bool clear )
+void EmulationWidget::drawAttrString( QString& string, QPainter &painter, QRect rect, Character attr, bool usePixmap, bool clear )
{
+ qWarning("Color1 %s", color_table[attr.b].color.name().latin1() );
if ( usePixmap && color_table[attr.b].transparent )
@@ -262,2 +279,3 @@ void EmulationWidget::drawAttrString( QString& string, QPainter &painter, QRect
painter.setBackgroundMode( OpaqueMode );
+ qWarning("Color %s", color_table[attr.b].color.name().latin1() );
painter.setBackgroundColor( color_table[attr.b].color );
@@ -287,15 +305,2 @@ void EmulationWidget::setScroll( int cursor, int slines )
-static const ColorEntry color_table[TABLE_COLORS] =
-{
- ColorEntry(QColor(0x00,0x00,0x00), 0, 0 ), ColorEntry( QColor(0xB2,0xB2,0xB2), 1, 0 ), // Dfore, Dback
- ColorEntry(QColor(0x00,0x00,0x00), 0, 0 ), ColorEntry( QColor(0xB2,0x18,0x18), 0, 0 ), // Black, Red
- ColorEntry(QColor(0x18,0xB2,0x18), 0, 0 ), ColorEntry( QColor(0xB2,0x68,0x18), 0, 0 ), // Green, Yellow
- ColorEntry(QColor(0x18,0x18,0xB2), 0, 0 ), ColorEntry( QColor(0xB2,0x18,0xB2), 0, 0 ), // Blue, Magenta
- ColorEntry(QColor(0x18,0xB2,0xB2), 0, 0 ), ColorEntry( QColor(0xB2,0xB2,0xB2), 0, 0 ), // Cyan, White
- // intensiv
- ColorEntry(QColor(0x00,0x00,0x00), 0, 1 ), ColorEntry( QColor(0xFF,0xFF,0xFF), 1, 0 ),
- ColorEntry(QColor(0x68,0x68,0x68), 0, 0 ), ColorEntry( QColor(0xFF,0x54,0x54), 0, 0 ),
- ColorEntry(QColor(0x54,0xFF,0x54), 0, 0 ), ColorEntry( QColor(0xFF,0xFF,0x54), 0, 0 ),
- ColorEntry(QColor(0x54,0x54,0xFF), 0, 0 ), ColorEntry( QColor(0xB2,0x18,0xB2), 0, 0 ),
- ColorEntry(QColor(0x54,0xFF,0xFF), 0, 0 ), ColorEntry( QColor(0xFF,0xFF,0xFF), 0, 0 )
-};
+