mirror of
https://github.com/KDE/konsole.git
synced 2026-01-21 13:39:23 -05:00
121 lines
4.1 KiB
Plaintext
121 lines
4.1 KiB
Plaintext
NOTE: this is most probably broken, better keep hands off here.
|
|
|
|
--- TEWidget.C Wed May 6 19:05:54 1998
|
|
+++ TEWidget.C-withANY_FONT Wed May 6 19:02:21 1998
|
|
@@ -184,6 +184,9 @@
|
|
QPainter paint;
|
|
setUpdatesEnabled(FALSE);
|
|
paint.begin( this );
|
|
+#ifdef ANY_FONT
|
|
+ paint.setBackgroundMode( TransparentMode );
|
|
+#endif
|
|
|
|
QPoint tL = contentsRect().topLeft();
|
|
int tLx = tL.x();
|
|
@@ -225,6 +228,14 @@
|
|
disstr[len] = ext[x+len].c;
|
|
}
|
|
//printf("draw: %d %d %d\n",y,x,len);
|
|
+#ifdef ANY_FONT
|
|
+ cb = ext[x].b;
|
|
+ if (!pm || cb != DEFAULT_BACK_COLOR)
|
|
+ paint.fillRect(blX+tLx+font_w*x,bY+tLy+font_h*y,font_w*len,font_h,
|
|
+ color_table[cb]);
|
|
+ else
|
|
+ erase(blX+tLx+font_w*x,bY+tLy+font_h*y,font_w*len,font_h);
|
|
+#else
|
|
if (ext[x].b != cb)
|
|
{
|
|
cb = ext[x].b;
|
|
@@ -238,12 +249,23 @@
|
|
}
|
|
if (pm && cb == DEFAULT_BACK_COLOR)
|
|
erase(blX+tLx+font_w*x,bY+tLy+font_h*y,font_w*len,font_h);
|
|
- paint.drawText(blX+tLx+font_w*x,bY+tLy+font_a+font_h*y, disstr,len);
|
|
- if (cr & RE_BOLD)
|
|
- paint.drawText(blX+tLx+font_w*x+1,bY+tLy+font_a+font_h*y, disstr,len);
|
|
- if (cr & RE_UNDERLINE)
|
|
- paint.drawLine(blX+tLx+font_w*x, bY+tLy+font_a+font_h*y+1,
|
|
- blX+tLx+font_w*(x+len),bY+tLy+font_a+font_h*y+1 );
|
|
+#endif
|
|
+#ifdef ANY_FONT
|
|
+ if (fixed_font)
|
|
+ {
|
|
+#endif
|
|
+ paint.drawText(blX+tLx+font_w*x,bY+tLy+font_a+font_h*y, disstr,len);
|
|
+ if (cr & RE_BOLD)
|
|
+ paint.drawText(blX+tLx+font_w*x+1,bY+tLy+font_a+font_h*y, disstr,len);
|
|
+ if (cr & RE_UNDERLINE)
|
|
+ paint.drawLine(blX+tLx+font_w*x, bY+tLy+font_a+font_h*y+1,
|
|
+ blX+tLx+font_w*(x+len),bY+tLy+font_a+font_h*y+1 );
|
|
+#ifdef ANY_FONT
|
|
+ }
|
|
+ else // proportional font
|
|
+ for (int i = 0; i < len; i++)
|
|
+ paint.drawText(blX+tLx+font_w*(x+i),bY+tLy+font_a+font_h*y, disstr+i,1);
|
|
+#endif
|
|
x += len - 1;
|
|
}
|
|
}
|
|
@@ -310,6 +332,13 @@
|
|
{
|
|
disstr[len] = image[loc(x+len,y)].c; len += 1;
|
|
}
|
|
+#ifdef ANY_FONT
|
|
+ if (!pm || cb != DEFAULT_BACK_COLOR)
|
|
+ paint.fillRect(blX+tLx+font_w*x,bY+tLy+font_h*y,font_w*len,font_h,
|
|
+ color_table[cb]);
|
|
+ else
|
|
+ erase(blX+tLx+font_w*x,bY+tLy+font_h*y,font_w*len,font_h);
|
|
+#else
|
|
if (!pm || cb != DEFAULT_BACK_COLOR)
|
|
{
|
|
if (blinking)
|
|
@@ -326,14 +355,25 @@
|
|
paint.setBackgroundMode( TransparentMode );
|
|
erase(blX+tLx+font_w*x,bY+tLy+font_h*y,font_w*len,font_h);
|
|
}
|
|
+#endif
|
|
if (!blinking || !(cr & RE_BLINK))
|
|
{
|
|
- paint.drawText(blX+tLx+font_w*x,bY+tLy+font_a+font_h*y, disstr,len);
|
|
- if (cr & RE_BOLD)
|
|
- paint.drawText(blX+tLx+font_w*x+1,bY+tLy+font_a+font_h*y, disstr,len);
|
|
- if (cr & RE_UNDERLINE)
|
|
- paint.drawLine(blX+tLx+font_w*x, bY+tLy+font_a+font_h*y+1,
|
|
- blX+tLx+font_w*(x+len),bY+tLy+font_a+font_h*y+1 );
|
|
+#ifdef ANY_FONT
|
|
+ if (fixed_font)
|
|
+ {
|
|
+#endif
|
|
+ paint.drawText(blX+tLx+font_w*x,bY+tLy+font_a+font_h*y, disstr,len);
|
|
+ if (cr & RE_BOLD)
|
|
+ paint.drawText(blX+tLx+font_w*x+1,bY+tLy+font_a+font_h*y, disstr,len);
|
|
+ if (cr & RE_UNDERLINE)
|
|
+ paint.drawLine(blX+tLx+font_w*x, bY+tLy+font_a+font_h*y+1,
|
|
+ blX+tLx+font_w*(x+len),bY+tLy+font_a+font_h*y+1 );
|
|
+#ifdef ANY_FONT
|
|
+ }
|
|
+ else // proportional font
|
|
+ for (int i = 0; i < len; i++)
|
|
+ paint.drawText(blX+tLx+font_w*(x+i),bY+tLy+font_a+font_h*y, disstr+i,1);
|
|
+#endif
|
|
}
|
|
x += len - 1;
|
|
}
|
|
@@ -458,6 +498,14 @@
|
|
font_h = fontMetrics().height();
|
|
font_w = fontMetrics().maxWidth();
|
|
font_a = fontMetrics().ascent();
|
|
+#ifdef ANY_FONT
|
|
+ //FIXME: this is broken. QT returns false for "9x15"!
|
|
+ // anyway, the option is deactivated by default
|
|
+ // and the bug will only harm a speed penalty.
|
|
+ fixed_font = fontInfo().fixedPitch();
|
|
+#else
|
|
+ fixed_font = TRUE;
|
|
+#endif
|
|
|
|
setMinimumSize(blX+brX+5*font_w,2*bY+5*font_h);
|
|
|