[SCM] WebKit Debian packaging branch, debian/unstable, updated. debian/1.1.15-1-40151-g37bb677
kocienda
kocienda at 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Sat Sep 26 05:52:04 UTC 2009
The following commit has been merged in the debian/unstable branch:
commit 4f4b67ab2c0fb66125579ebb7b2db731c81a0410
Author: kocienda <kocienda at 268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Fri Nov 9 18:12:42 2001 +0000
Cleaned up some table rendering issues.
Added some better support for named colors in QColor.
Some cleanups in QBrush and QPen.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@428 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/WebCore/khtml/css/html4.css b/WebCore/khtml/css/html4.css
index 4b97b7e..3c4c44f 100644
--- a/WebCore/khtml/css/html4.css
+++ b/WebCore/khtml/css/html4.css
@@ -181,6 +181,7 @@ TABLE {
vertical-align: middle;
text-align: justify;
border-spacing: 2px;
+ border-color: gray;
border-style: outset;
border-width: 0px;
padding: 1px;
diff --git a/WebCore/kwq/KWQColor.h b/WebCore/kwq/KWQColor.h
index 4f1882f..471a449 100644
--- a/WebCore/kwq/KWQColor.h
+++ b/WebCore/kwq/KWQColor.h
@@ -84,6 +84,7 @@ public:
void setRgb(int);
void hsv(int *, int *, int *) const;
+ void setHsv(int h, int s, int v);
QColor light(int f = 150) const;
QColor dark(int f = 200) const;
diff --git a/WebCore/kwq/KWQColor.mm b/WebCore/kwq/KWQColor.mm
index dec0cd5..db15a4b 100644
--- a/WebCore/kwq/KWQColor.mm
+++ b/WebCore/kwq/KWQColor.mm
@@ -28,6 +28,9 @@
#include <kwqdebug.h>
+static NSDictionary *namedColors;
+
+
QRgb qRgb(int r, int g, int b)
{
return r << 16 | g << 8 | b;
@@ -119,57 +122,104 @@ static int hex2int( QChar hexchar )
return v;
}
+static bool looksLikeSixLetterHexColorString(const QString &string)
+{
+ bool result;
+
+ result = TRUE;
+
+ for (int i = 0; i < 6; i++) {
+ QChar c = string.at(i);
+ if ((c >= '0' && c <= '9') ||
+ (c >= 'a' && c <= 'f') ||
+ (c >= 'A' && c <= 'F')) {
+ continue;
+ }
+ else {
+ result = FALSE;
+ break;
+ }
+ }
+
+ return result;
+}
-void QColor::setNamedColor(const QString&name)
+static bool decodeColorFromHexColorString(const QString &string, int *r, int *g, int *b)
+{
+ bool decoded;
+
+ decoded = FALSE;
+
+ if ((string.length() == 7 && string[0] == '#') ||
+ (string.length() == 6 && looksLikeSixLetterHexColorString(string))) {
+ int offset = 0;
+ int len;
+ if (string[0] == '#') {
+ offset = 1;
+ len = string.length() - 1;
+ }
+ else {
+ len = string.length();
+ }
+ const QChar *p = string.unicode() + offset;
+ if (len == 12) {
+ *r = (hex2int(p[0]) << 4) + hex2int(p[1]);
+ *g = (hex2int(p[4]) << 4) + hex2int(p[5]);
+ *b = (hex2int(p[8]) << 4) + hex2int(p[9]);
+ decoded = TRUE;
+ } else if (len == 9) {
+ *r = (hex2int(p[0]) << 4) + hex2int(p[1]);
+ *g = (hex2int(p[3]) << 4) + hex2int(p[4]);
+ *b = (hex2int(p[6]) << 4) + hex2int(p[7]);
+ decoded = TRUE;
+ } else if (len == 6) {
+ *r = (hex2int(p[0]) << 4) + hex2int(p[1]);
+ *g = (hex2int(p[2]) << 4) + hex2int(p[3]);
+ *b = (hex2int(p[4]) << 4) + hex2int(p[5]);
+ decoded = TRUE;
+ } else if (len == 3) {
+ *r = (hex2int(p[0]) << 4) + hex2int(p[0]);
+ *g = (hex2int(p[1]) << 4) + hex2int(p[1]);
+ *b = (hex2int(p[2]) << 4) + hex2int(p[2]);
+ decoded = TRUE;
+ }
+ }
+
+ return decoded;
+}
+
+void QColor::setNamedColor(const QString &name)
{
// FIXME: The combination of this code with the code that
// is in khtml/misc/helper.cpp makes setting colors by
// name a real crock. We need to look at the process
// of mapping names to colors and figure out something
// better.
+ //
+ // [kocienda: 2001-11-08]: I've made some improvements
+ // but it's still a crock.
+
+ int r, g, b;
+
+ r = g = b = 0;
+
if ( name.isEmpty() ) {
- setRgb( 0 );
+ setRgb( 0 );
}
- else if ((name.length() == 7 && name[0] == '#') || name.length() == 6) {
- int offset = 0;
- int len;
- if (name[0] == '#') {
- offset = 1;
- len = name.length() - 1;
+ else if (decodeColorFromHexColorString(name, &r, &g, &b)) {
+ setRgb(r, g, b);
+ }
+ else {
+ NSString *hexString;
+
+ hexString = [namedColors objectForKey:[QSTRING_TO_NSSTRING(name) lowercaseString]];
+
+ if (hexString && decodeColorFromHexColorString(NSSTRING_TO_QSTRING(hexString), &r, &g, &b)) {
+ setRgb(r, g, b);
}
else {
- len = name.length();
- }
- const QChar *p = name.unicode() + offset;
- int r, g, b;
- if ( len == 12 ) {
- r = (hex2int(p[0]) << 4) + hex2int(p[1]);
- g = (hex2int(p[4]) << 4) + hex2int(p[5]);
- b = (hex2int(p[8]) << 4) + hex2int(p[9]);
- } else if ( len == 9 ) {
- r = (hex2int(p[0]) << 4) + hex2int(p[1]);
- g = (hex2int(p[3]) << 4) + hex2int(p[4]);
- b = (hex2int(p[6]) << 4) + hex2int(p[7]);
- } else if ( len == 6 ) {
- r = (hex2int(p[0]) << 4) + hex2int(p[1]);
- g = (hex2int(p[2]) << 4) + hex2int(p[3]);
- b = (hex2int(p[4]) << 4) + hex2int(p[5]);
- } else if ( len == 3 ) {
- r = (hex2int(p[0]) << 4) + hex2int(p[0]);
- g = (hex2int(p[1]) << 4) + hex2int(p[1]);
- b = (hex2int(p[2]) << 4) + hex2int(p[2]);
- } else {
- r = g = b = 0;
- }
- setRgb( r, g, b );
-
- } else {
- if (color != nil)
- [color release];
- color = [NSColor colorWithCatalogName: @"Apple" colorName: QSTRING_TO_NSSTRING(name)];
- if (color == nil) {
NSLog (@"WARNING %s:%d %s couldn't create color using name %s\n", __FILE__, __LINE__, __FUNCTION__, name.ascii());
- color = [NSColor colorWithCalibratedRed:0 green:0 blue:0 alpha:1];
+ setRgb(0, 0, 0);
}
}
}
@@ -279,41 +329,100 @@ void QColor::hsv(int *h, int *s, int *v) const
}
}
-QColor QColor::light(int f = 150) const
+void QColor::setHsv(int h, int s, int v)
{
- _logNotYetImplemented();
- return *this;
+ int i, f, p, q, t;
+
+ if( s == 0 ) {
+ // achromatic (gray)
+ setRgb(v, v, v);
+ return;
+ }
+
+ h /= 60; // sector 0 to 5
+ i = (int)floor(h);
+ f = h - i; // factorial part of h
+ p = v * (1 - s);
+ q = v * (1 - s * f);
+ t = v * (1 - s * (1 - f));
+
+ switch( i ) {
+ case 0:
+ setRgb(v, t, p);
+ break;
+ case 1:
+ setRgb(q, v, p);
+ break;
+ case 2:
+ setRgb(p, v, t);
+ break;
+ case 3:
+ setRgb(p, q, v);
+ break;
+ case 4:
+ setRgb(t, p, v);
+ break;
+ default: // case 5:
+ setRgb(v, p, q);
+ break;
+ }
}
-QColor QColor::dark(int f = 200) const
+QColor QColor::light(int factor) const
{
- QColor result;
NSColor *newColor;
- float factor;
- if (f <= 0) {
- result.setRgb(red(), green(), blue());
- return result;
+ if (factor <= 0) {
+ return QColor(*this);
}
- else if (f < 100) {
- // NOTE: this is actually a lighten operation
- factor = 10000.0f / (float)f;
- newColor = [color highlightWithLevel:factor];
+ else if (factor < 100) {
+ // NOTE: this is actually a darken operation
+ return dark(10000 / factor);
}
- else if (f > 10000) {
- newColor = [color shadowWithLevel:1.0f];
+
+ int h, s, v;
+
+ hsv(&h, &s, &v);
+ v = (factor * v) / 100;
+
+ if (v > 255) {
+ s -= (v - 255);
+ if (s < 0) {
+ s = 0;
+ }
+ v = 255;
}
- else {
- factor = (float)f / 10000.0f;
- newColor = [color shadowWithLevel:factor];
+
+ QColor result;
+
+ result.setHsv(h, s, v);
+
+ return result;
+}
+
+
+QColor QColor::dark(int factor) const
+{
+ NSColor *newColor;
+
+ if (factor <= 0) {
+ return QColor(*this);
+ }
+ else if (factor < 100) {
+ // NOTE: this is actually a lighten operation
+ return light(10000 / factor);
}
- result.setRgb(
- (int)([color redComponent] * 255),
- (int)([color greenComponent] * 255),
- (int)([color blueComponent] * 255)
- );
+ int h, s, v;
+
+ hsv(&h, &s, &v);
+ v = (v * 100) / factor;
+
+ QColor result;
+
+ result.setHsv(h, s, v);
+
return result;
}
@@ -404,5 +513,152 @@ void QColor::initGlobalColors()
stdcol[16].setRgb( 0, 128, 128 );
stdcol[17].setRgb( 128, 0, 128 );
stdcol[18].setRgb( 128, 128, 0 );
+
+ namedColors = [NSDictionary dictionaryWithObjectsAndKeys: \
+ @"#f0f8ff",@"aliceblue", \
+ @"#faebd7",@"antiquewhite", \
+ @"#00ffff",@"aqua", \
+ @"#7fffd4",@"aquamarine", \
+ @"#f0ffff",@"azure", \
+ @"#f5f5dc",@"beige", \
+ @"#ffe4c4",@"bisque", \
+ @"#000000",@"black", \
+ @"#ffebcd",@"blanchedalmond", \
+ @"#0000ff",@"blue", \
+ @"#8a2be2",@"blueviolet", \
+ @"#a52a2a",@"brown", \
+ @"#deb887",@"burlywood", \
+ @"#5f9ea0",@"cadetblue", \
+ @"#7fff00",@"chartreuse", \
+ @"#d2691e",@"chocolate", \
+ @"#ff7f50",@"coral", \
+ @"#6495ed",@"cornflowerblue", \
+ @"#fff8dc",@"cornsilk", \
+ @"#dc143c",@"crimson", \
+ @"#00ffff",@"cyan", \
+ @"#00008b",@"darkblue", \
+ @"#008b8b",@"darkcyan", \
+ @"#b8860b",@"darkgoldenrod", \
+ @"#a9a9a9",@"darkgray", \
+ @"#006400",@"darkgreen", \
+ @"#bdb76b",@"darkkhaki", \
+ @"#8b008b",@"darkmagenta", \
+ @"#556b2f",@"darkolivegreen", \
+ @"#ff8c00",@"darkorange", \
+ @"#9932cc",@"darkorchid", \
+ @"#8b0000",@"darkred", \
+ @"#e9967a",@"darksalmon", \
+ @"#8fbc8f",@"darkseagreen", \
+ @"#483d8b",@"darkslateblue", \
+ @"#2f4f4f",@"darkslategray", \
+ @"#00ced1",@"darkturquoise", \
+ @"#9400d3",@"darkviolet", \
+ @"#ff1493",@"deeppink", \
+ @"#00bfff",@"deepskyblue", \
+ @"#696969",@"dimgray", \
+ @"#1e90ff",@"dodgerblue", \
+ @"#b22222",@"firebrick", \
+ @"#fffaf0",@"floralwhite", \
+ @"#228b22",@"forestgreen", \
+ @"#ff00ff",@"fuchsia", \
+ @"#dcdcdc",@"gainsboro", \
+ @"#f8f8ff",@"ghostwhite", \
+ @"#ffd700",@"gold", \
+ @"#daa520",@"goldenrod", \
+ @"#808080",@"gray", \
+ @"#008000",@"green", \
+ @"#adff2f",@"greenyellow", \
+ @"#f0fff0",@"honeydew", \
+ @"#ff69b4",@"hotpink", \
+ @"#cd5c5c",@"indianred ", \
+ @"#4b0082",@"indigo ", \
+ @"#fffff0",@"ivory", \
+ @"#f0e68c",@"khaki", \
+ @"#e6e6fa",@"lavender", \
+ @"#fff0f5",@"lavenderblush", \
+ @"#7cfc00",@"lawngreen", \
+ @"#fffacd",@"lemonchiffon", \
+ @"#add8e6",@"lightblue", \
+ @"#f08080",@"lightcoral", \
+ @"#e0ffff",@"lightcyan", \
+ @"#fafad2",@"lightgoldenrodyellow", \
+ @"#d3d3d3",@"lightgray", \
+ @"#90ee90",@"lightgreen", \
+ @"#ffb6c1",@"lightpink", \
+ @"#ffa07a",@"lightsalmon", \
+ @"#20b2aa",@"lightseagreen", \
+ @"#87cefa",@"lightskyblue", \
+ @"#8470ff",@"lightslateblue", \
+ @"#778899",@"lightslategray", \
+ @"#b0c4de",@"lightsteelblue", \
+ @"#ffffe0",@"lightyellow", \
+ @"#00ff00",@"lime", \
+ @"#32cd32",@"limegreen", \
+ @"#faf0e6",@"linen", \
+ @"#ff00ff",@"magenta", \
+ @"#800000",@"maroon", \
+ @"#66cdaa",@"mediumaquamarine", \
+ @"#0000cd",@"mediumblue", \
+ @"#ba55d3",@"mediumorchid", \
+ @"#9370d8",@"mediumpurple", \
+ @"#3cb371",@"mediumseagreen", \
+ @"#7b68ee",@"mediumslateblue", \
+ @"#00fa9a",@"mediumspringgreen", \
+ @"#48d1cc",@"mediumturquoise", \
+ @"#c71585",@"mediumvioletred", \
+ @"#191970",@"midnightblue", \
+ @"#f5fffa",@"mintcream", \
+ @"#ffe4e1",@"mistyrose", \
+ @"#ffe4b5",@"moccasin", \
+ @"#ffdead",@"navajowhite", \
+ @"#000080",@"navy", \
+ @"#fdf5e6",@"oldlace", \
+ @"#808000",@"olive", \
+ @"#6b8e23",@"olivedrab", \
+ @"#ffa500",@"orange", \
+ @"#ff4500",@"orangered", \
+ @"#da70d6",@"orchid", \
+ @"#eee8aa",@"palegoldenrod", \
+ @"#98fb98",@"palegreen", \
+ @"#afeeee",@"paleturquoise", \
+ @"#d87093",@"palevioletred", \
+ @"#ffefd5",@"papayawhip", \
+ @"#ffdab9",@"peachpuff", \
+ @"#cd853f",@"peru", \
+ @"#ffc0cb",@"pink", \
+ @"#dda0dd",@"plum", \
+ @"#b0e0e6",@"powderblue", \
+ @"#800080",@"purple", \
+ @"#ff0000",@"red", \
+ @"#bc8f8f",@"rosybrown", \
+ @"#4169e1",@"royalblue", \
+ @"#8b4513",@"saddlebrown", \
+ @"#fa8072",@"salmon", \
+ @"#f4a460",@"sandybrown", \
+ @"#2e8b57",@"seagreen", \
+ @"#fff5ee",@"seashell", \
+ @"#a0522d",@"sienna", \
+ @"#c0c0c0",@"silver", \
+ @"#87ceeb",@"skyblue", \
+ @"#6a5acd",@"slateblue", \
+ @"#708090",@"slategray", \
+ @"#fffafa",@"snow", \
+ @"#00ff7f",@"springgreen", \
+ @"#4682b4",@"steelblue", \
+ @"#d2b48c",@"tan", \
+ @"#008080",@"teal", \
+ @"#d8bfd8",@"thistle", \
+ @"#ff6347",@"tomato", \
+ @"#40e0d0",@"turquoise", \
+ @"#ee82ee",@"violet", \
+ @"#d02090",@"violetred", \
+ @"#f5deb3",@"wheat", \
+ @"#ffffff",@"white", \
+ @"#f5f5f5",@"whitesmoke", \
+ @"#ffff00",@"yellow", \
+ @"#9acd32",@"yellowgreen", \
+ NULL \
+ ];
+ [namedColors retain];
}
diff --git a/WebCore/kwq/KWQPainter.mm b/WebCore/kwq/KWQPainter.mm
index fb6fd53..5365b29 100644
--- a/WebCore/kwq/KWQPainter.mm
+++ b/WebCore/kwq/KWQPainter.mm
@@ -132,9 +132,15 @@ void QPainter::setPen(const QPen &pen)
}
-void QPainter::setPen(PenStyle ps)
+void QPainter::setPen(PenStyle style)
{
- data->qpen.setStyle(ps);
+ QPen::QPenData *d = data->qpen.data;
+ if (d->count != 1) {
+ data->qpen.detach();
+ d = data->qpen.data;
+ }
+
+ data->qpen.setStyle(style);
data->qpen.setColor(Qt::black);
data->qpen.setWidth(0);
}
@@ -147,8 +153,14 @@ void QPainter::setBrush(const QBrush &brush)
void QPainter::setBrush(BrushStyle style)
{
- // Either NoBrush or SolidPattern.
+ QBrush::QBrushData *d = data->qbrush.data;
+ if (d->count != 1) {
+ data->qbrush.detach();
+ d = data->qbrush.data;
+ }
+
data->qbrush.setStyle(style);
+ data->qbrush.setColor(Qt::black);
}
const QBrush &QPainter::brush() const
@@ -205,12 +217,14 @@ void QPainter::restore()
void QPainter::drawRect(int x, int y, int w, int h)
{
_lockFocus();
- if (data->qbrush.style() == SolidPattern){
- //_setColorFromBrush();
- //[NSBezierPath fillRect:NSMakeRect(x, y, w, h)];
+ if (data->qbrush.style() != NoBrush){
+ _setColorFromBrush();
+ [NSBezierPath fillRect:NSMakeRect(x, y, w, h)];
+ }
+ if (data->qpen.style() != NoPen){
+ _setColorFromPen();
+ [NSBezierPath strokeRect:NSMakeRect(x, y, w, h)];
}
- _setColorFromPen();
- [NSBezierPath strokeRect:NSMakeRect(x, y, w, h)];
_unlockFocus();
}
@@ -252,12 +266,14 @@ void QPainter::drawEllipse(int x, int y, int w, int h)
path = [NSBezierPath bezierPathWithOvalInRect: NSMakeRect (x, y, w, h)];
_lockFocus();
- if (data->qbrush.style() == SolidPattern){
+ if (data->qbrush.style() != NoBrush){
_setColorFromBrush();
[path fill];
}
- _setColorFromPen();
- [path stroke];
+ if (data->qpen.style() != NoPen){
+ _setColorFromPen();
+ [path stroke];
+ }
_unlockFocus();
}
@@ -265,28 +281,31 @@ void QPainter::drawEllipse(int x, int y, int w, int h)
// Only supports arc on circles. That's all khtml needs.
void QPainter::drawArc (int x, int y, int w, int h, int a, int alen)
{
- NSBezierPath *path;
- float fa, falen;
+ if (data->qpen.style() != NoPen){
+
+ NSBezierPath *path;
+ float fa, falen;
- if (w != h){
- NSLog (@"ERROR (INCOMPLETE IMPLEMENTATION) void QPainter::drawArc (int x, int y, int w, int h, int a, int alen)\nOnly supports drawing arcs on a circle.\n");
- }
+ if (w != h){
+ NSLog (@"ERROR (INCOMPLETE IMPLEMENTATION) void QPainter::drawArc (int x, int y, int w, int h, int a, int alen)\nOnly supports drawing arcs on a circle.\n");
+ }
+
+ path = [[[NSBezierPath alloc] init] autorelease];
+ fa = (float)(a/16);
+ falen = fa + (float)(alen/16);
+ [path appendBezierPathWithArcWithCenter: NSMakePoint(x + w/2, y + h/2)
+ radius: (float)(w/2)
+ startAngle: -fa
+ endAngle: -falen
+ clockwise: YES];
- path = [[[NSBezierPath alloc] init] autorelease];
- fa = (float)(a/16);
- falen = fa + (float)(alen/16);
- [path appendBezierPathWithArcWithCenter: NSMakePoint(x + w/2, y + h/2)
- radius: (float)(w/2)
- startAngle: -fa
- endAngle: -falen
- clockwise: YES];
-
- _lockFocus();
-
- _setColorFromPen();
- [path stroke];
-
- _unlockFocus();
+ _lockFocus();
+
+ _setColorFromPen();
+ [path stroke];
+
+ _unlockFocus();
+ }
}
void QPainter::drawLineSegments(const QPointArray &points, int index, int nlines)
@@ -300,49 +319,49 @@ void QPainter::drawPolyline(const QPointArray &points, int index, int npoints)
}
-void QPainter::drawPolygon(const QPointArray &points, bool winding, int index,
+void QPainter::drawPolygon(const QPointArray &points, bool winding, int index,
int npoints)
{
_drawPoints (points, winding, index, npoints, TRUE);
}
-void QPainter::_drawPoints (const QPointArray &_points, bool winding, int index, int _npoints, bool fill)
+void QPainter::_drawPoints (const QPointArray &_points, bool winding, int index,
+ int _npoints, bool fill)
{
NSBezierPath *path;
float fa, falen;
int i;
int npoints = _npoints != -1 ? _npoints : _points.size()-index;
-
- {
- NSPoint points[npoints];
-
- for (i = 0; i < npoints; i++){
- points[i].x = _points[index+i].x();
- points[i].y = _points[index+i].y();
- }
-
-
- path = [[[NSBezierPath alloc] init] autorelease];
- [path appendBezierPathWithPoints: &points[0] count: npoints];
- [path closePath]; // Qt always closes the path. Determined empirically.
-
- _lockFocus();
+ NSPoint points[npoints];
+
+ for (i = 0; i < npoints; i++){
+ points[i].x = _points[index+i].x();
+ points[i].y = _points[index+i].y();
+ }
+
+ path = [[[NSBezierPath alloc] init] autorelease];
+ [path appendBezierPathWithPoints: &points[0] count: npoints];
+ [path closePath]; // Qt always closes the path. Determined empirically.
+
+ _lockFocus();
- if (fill == TRUE && data->qbrush.style() == SolidPattern){
- if (winding == TRUE)
- [path setWindingRule: NSNonZeroWindingRule];
- else
- [path setWindingRule: NSEvenOddWindingRule];
- _setColorFromBrush();
- [path fill];
- }
+ if (fill == TRUE && data->qbrush.style() != NoBrush){
+ if (winding == TRUE)
+ [path setWindingRule: NSNonZeroWindingRule];
+ else
+ [path setWindingRule: NSEvenOddWindingRule];
+ _setColorFromBrush();
+ [path fill];
+ }
+
+ if (data->qpen.style() != NoPen){
_setColorFromPen();
[path stroke];
-
- _unlockFocus();
}
+
+ _unlockFocus();
}
diff --git a/WebCore/kwq/KWQPen.h b/WebCore/kwq/KWQPen.h
index 96eecca..dd09ac6 100644
--- a/WebCore/kwq/KWQPen.h
+++ b/WebCore/kwq/KWQPen.h
@@ -33,11 +33,13 @@
#include <qnamespace.h>
#include <qcolor.h>
+class QPainter;
class QPenPrivate;
// class QPen ==================================================================
class QPen : public Qt {
+friend class QPainter;
public:
// typedefs ----------------------------------------------------------------
diff --git a/WebCore/kwq/qt/qcolor.h b/WebCore/kwq/qt/qcolor.h
index 4f1882f..471a449 100644
--- a/WebCore/kwq/qt/qcolor.h
+++ b/WebCore/kwq/qt/qcolor.h
@@ -84,6 +84,7 @@ public:
void setRgb(int);
void hsv(int *, int *, int *) const;
+ void setHsv(int h, int s, int v);
QColor light(int f = 150) const;
QColor dark(int f = 200) const;
diff --git a/WebCore/kwq/qt/qpen.h b/WebCore/kwq/qt/qpen.h
index 96eecca..dd09ac6 100644
--- a/WebCore/kwq/qt/qpen.h
+++ b/WebCore/kwq/qt/qpen.h
@@ -33,11 +33,13 @@
#include <qnamespace.h>
#include <qcolor.h>
+class QPainter;
class QPenPrivate;
// class QPen ==================================================================
class QPen : public Qt {
+friend class QPainter;
public:
// typedefs ----------------------------------------------------------------
diff --git a/WebCore/src/kdelibs/khtml/css/html4.css b/WebCore/src/kdelibs/khtml/css/html4.css
index 4b97b7e..3c4c44f 100644
--- a/WebCore/src/kdelibs/khtml/css/html4.css
+++ b/WebCore/src/kdelibs/khtml/css/html4.css
@@ -181,6 +181,7 @@ TABLE {
vertical-align: middle;
text-align: justify;
border-spacing: 2px;
+ border-color: gray;
border-style: outset;
border-width: 0px;
padding: 1px;
diff --git a/WebCore/src/kwq/KWQColor.mm b/WebCore/src/kwq/KWQColor.mm
index dec0cd5..db15a4b 100644
--- a/WebCore/src/kwq/KWQColor.mm
+++ b/WebCore/src/kwq/KWQColor.mm
@@ -28,6 +28,9 @@
#include <kwqdebug.h>
+static NSDictionary *namedColors;
+
+
QRgb qRgb(int r, int g, int b)
{
return r << 16 | g << 8 | b;
@@ -119,57 +122,104 @@ static int hex2int( QChar hexchar )
return v;
}
+static bool looksLikeSixLetterHexColorString(const QString &string)
+{
+ bool result;
+
+ result = TRUE;
+
+ for (int i = 0; i < 6; i++) {
+ QChar c = string.at(i);
+ if ((c >= '0' && c <= '9') ||
+ (c >= 'a' && c <= 'f') ||
+ (c >= 'A' && c <= 'F')) {
+ continue;
+ }
+ else {
+ result = FALSE;
+ break;
+ }
+ }
+
+ return result;
+}
-void QColor::setNamedColor(const QString&name)
+static bool decodeColorFromHexColorString(const QString &string, int *r, int *g, int *b)
+{
+ bool decoded;
+
+ decoded = FALSE;
+
+ if ((string.length() == 7 && string[0] == '#') ||
+ (string.length() == 6 && looksLikeSixLetterHexColorString(string))) {
+ int offset = 0;
+ int len;
+ if (string[0] == '#') {
+ offset = 1;
+ len = string.length() - 1;
+ }
+ else {
+ len = string.length();
+ }
+ const QChar *p = string.unicode() + offset;
+ if (len == 12) {
+ *r = (hex2int(p[0]) << 4) + hex2int(p[1]);
+ *g = (hex2int(p[4]) << 4) + hex2int(p[5]);
+ *b = (hex2int(p[8]) << 4) + hex2int(p[9]);
+ decoded = TRUE;
+ } else if (len == 9) {
+ *r = (hex2int(p[0]) << 4) + hex2int(p[1]);
+ *g = (hex2int(p[3]) << 4) + hex2int(p[4]);
+ *b = (hex2int(p[6]) << 4) + hex2int(p[7]);
+ decoded = TRUE;
+ } else if (len == 6) {
+ *r = (hex2int(p[0]) << 4) + hex2int(p[1]);
+ *g = (hex2int(p[2]) << 4) + hex2int(p[3]);
+ *b = (hex2int(p[4]) << 4) + hex2int(p[5]);
+ decoded = TRUE;
+ } else if (len == 3) {
+ *r = (hex2int(p[0]) << 4) + hex2int(p[0]);
+ *g = (hex2int(p[1]) << 4) + hex2int(p[1]);
+ *b = (hex2int(p[2]) << 4) + hex2int(p[2]);
+ decoded = TRUE;
+ }
+ }
+
+ return decoded;
+}
+
+void QColor::setNamedColor(const QString &name)
{
// FIXME: The combination of this code with the code that
// is in khtml/misc/helper.cpp makes setting colors by
// name a real crock. We need to look at the process
// of mapping names to colors and figure out something
// better.
+ //
+ // [kocienda: 2001-11-08]: I've made some improvements
+ // but it's still a crock.
+
+ int r, g, b;
+
+ r = g = b = 0;
+
if ( name.isEmpty() ) {
- setRgb( 0 );
+ setRgb( 0 );
}
- else if ((name.length() == 7 && name[0] == '#') || name.length() == 6) {
- int offset = 0;
- int len;
- if (name[0] == '#') {
- offset = 1;
- len = name.length() - 1;
+ else if (decodeColorFromHexColorString(name, &r, &g, &b)) {
+ setRgb(r, g, b);
+ }
+ else {
+ NSString *hexString;
+
+ hexString = [namedColors objectForKey:[QSTRING_TO_NSSTRING(name) lowercaseString]];
+
+ if (hexString && decodeColorFromHexColorString(NSSTRING_TO_QSTRING(hexString), &r, &g, &b)) {
+ setRgb(r, g, b);
}
else {
- len = name.length();
- }
- const QChar *p = name.unicode() + offset;
- int r, g, b;
- if ( len == 12 ) {
- r = (hex2int(p[0]) << 4) + hex2int(p[1]);
- g = (hex2int(p[4]) << 4) + hex2int(p[5]);
- b = (hex2int(p[8]) << 4) + hex2int(p[9]);
- } else if ( len == 9 ) {
- r = (hex2int(p[0]) << 4) + hex2int(p[1]);
- g = (hex2int(p[3]) << 4) + hex2int(p[4]);
- b = (hex2int(p[6]) << 4) + hex2int(p[7]);
- } else if ( len == 6 ) {
- r = (hex2int(p[0]) << 4) + hex2int(p[1]);
- g = (hex2int(p[2]) << 4) + hex2int(p[3]);
- b = (hex2int(p[4]) << 4) + hex2int(p[5]);
- } else if ( len == 3 ) {
- r = (hex2int(p[0]) << 4) + hex2int(p[0]);
- g = (hex2int(p[1]) << 4) + hex2int(p[1]);
- b = (hex2int(p[2]) << 4) + hex2int(p[2]);
- } else {
- r = g = b = 0;
- }
- setRgb( r, g, b );
-
- } else {
- if (color != nil)
- [color release];
- color = [NSColor colorWithCatalogName: @"Apple" colorName: QSTRING_TO_NSSTRING(name)];
- if (color == nil) {
NSLog (@"WARNING %s:%d %s couldn't create color using name %s\n", __FILE__, __LINE__, __FUNCTION__, name.ascii());
- color = [NSColor colorWithCalibratedRed:0 green:0 blue:0 alpha:1];
+ setRgb(0, 0, 0);
}
}
}
@@ -279,41 +329,100 @@ void QColor::hsv(int *h, int *s, int *v) const
}
}
-QColor QColor::light(int f = 150) const
+void QColor::setHsv(int h, int s, int v)
{
- _logNotYetImplemented();
- return *this;
+ int i, f, p, q, t;
+
+ if( s == 0 ) {
+ // achromatic (gray)
+ setRgb(v, v, v);
+ return;
+ }
+
+ h /= 60; // sector 0 to 5
+ i = (int)floor(h);
+ f = h - i; // factorial part of h
+ p = v * (1 - s);
+ q = v * (1 - s * f);
+ t = v * (1 - s * (1 - f));
+
+ switch( i ) {
+ case 0:
+ setRgb(v, t, p);
+ break;
+ case 1:
+ setRgb(q, v, p);
+ break;
+ case 2:
+ setRgb(p, v, t);
+ break;
+ case 3:
+ setRgb(p, q, v);
+ break;
+ case 4:
+ setRgb(t, p, v);
+ break;
+ default: // case 5:
+ setRgb(v, p, q);
+ break;
+ }
}
-QColor QColor::dark(int f = 200) const
+QColor QColor::light(int factor) const
{
- QColor result;
NSColor *newColor;
- float factor;
- if (f <= 0) {
- result.setRgb(red(), green(), blue());
- return result;
+ if (factor <= 0) {
+ return QColor(*this);
}
- else if (f < 100) {
- // NOTE: this is actually a lighten operation
- factor = 10000.0f / (float)f;
- newColor = [color highlightWithLevel:factor];
+ else if (factor < 100) {
+ // NOTE: this is actually a darken operation
+ return dark(10000 / factor);
}
- else if (f > 10000) {
- newColor = [color shadowWithLevel:1.0f];
+
+ int h, s, v;
+
+ hsv(&h, &s, &v);
+ v = (factor * v) / 100;
+
+ if (v > 255) {
+ s -= (v - 255);
+ if (s < 0) {
+ s = 0;
+ }
+ v = 255;
}
- else {
- factor = (float)f / 10000.0f;
- newColor = [color shadowWithLevel:factor];
+
+ QColor result;
+
+ result.setHsv(h, s, v);
+
+ return result;
+}
+
+
+QColor QColor::dark(int factor) const
+{
+ NSColor *newColor;
+
+ if (factor <= 0) {
+ return QColor(*this);
+ }
+ else if (factor < 100) {
+ // NOTE: this is actually a lighten operation
+ return light(10000 / factor);
}
- result.setRgb(
- (int)([color redComponent] * 255),
- (int)([color greenComponent] * 255),
- (int)([color blueComponent] * 255)
- );
+ int h, s, v;
+
+ hsv(&h, &s, &v);
+ v = (v * 100) / factor;
+
+ QColor result;
+
+ result.setHsv(h, s, v);
+
return result;
}
@@ -404,5 +513,152 @@ void QColor::initGlobalColors()
stdcol[16].setRgb( 0, 128, 128 );
stdcol[17].setRgb( 128, 0, 128 );
stdcol[18].setRgb( 128, 128, 0 );
+
+ namedColors = [NSDictionary dictionaryWithObjectsAndKeys: \
+ @"#f0f8ff",@"aliceblue", \
+ @"#faebd7",@"antiquewhite", \
+ @"#00ffff",@"aqua", \
+ @"#7fffd4",@"aquamarine", \
+ @"#f0ffff",@"azure", \
+ @"#f5f5dc",@"beige", \
+ @"#ffe4c4",@"bisque", \
+ @"#000000",@"black", \
+ @"#ffebcd",@"blanchedalmond", \
+ @"#0000ff",@"blue", \
+ @"#8a2be2",@"blueviolet", \
+ @"#a52a2a",@"brown", \
+ @"#deb887",@"burlywood", \
+ @"#5f9ea0",@"cadetblue", \
+ @"#7fff00",@"chartreuse", \
+ @"#d2691e",@"chocolate", \
+ @"#ff7f50",@"coral", \
+ @"#6495ed",@"cornflowerblue", \
+ @"#fff8dc",@"cornsilk", \
+ @"#dc143c",@"crimson", \
+ @"#00ffff",@"cyan", \
+ @"#00008b",@"darkblue", \
+ @"#008b8b",@"darkcyan", \
+ @"#b8860b",@"darkgoldenrod", \
+ @"#a9a9a9",@"darkgray", \
+ @"#006400",@"darkgreen", \
+ @"#bdb76b",@"darkkhaki", \
+ @"#8b008b",@"darkmagenta", \
+ @"#556b2f",@"darkolivegreen", \
+ @"#ff8c00",@"darkorange", \
+ @"#9932cc",@"darkorchid", \
+ @"#8b0000",@"darkred", \
+ @"#e9967a",@"darksalmon", \
+ @"#8fbc8f",@"darkseagreen", \
+ @"#483d8b",@"darkslateblue", \
+ @"#2f4f4f",@"darkslategray", \
+ @"#00ced1",@"darkturquoise", \
+ @"#9400d3",@"darkviolet", \
+ @"#ff1493",@"deeppink", \
+ @"#00bfff",@"deepskyblue", \
+ @"#696969",@"dimgray", \
+ @"#1e90ff",@"dodgerblue", \
+ @"#b22222",@"firebrick", \
+ @"#fffaf0",@"floralwhite", \
+ @"#228b22",@"forestgreen", \
+ @"#ff00ff",@"fuchsia", \
+ @"#dcdcdc",@"gainsboro", \
+ @"#f8f8ff",@"ghostwhite", \
+ @"#ffd700",@"gold", \
+ @"#daa520",@"goldenrod", \
+ @"#808080",@"gray", \
+ @"#008000",@"green", \
+ @"#adff2f",@"greenyellow", \
+ @"#f0fff0",@"honeydew", \
+ @"#ff69b4",@"hotpink", \
+ @"#cd5c5c",@"indianred ", \
+ @"#4b0082",@"indigo ", \
+ @"#fffff0",@"ivory", \
+ @"#f0e68c",@"khaki", \
+ @"#e6e6fa",@"lavender", \
+ @"#fff0f5",@"lavenderblush", \
+ @"#7cfc00",@"lawngreen", \
+ @"#fffacd",@"lemonchiffon", \
+ @"#add8e6",@"lightblue", \
+ @"#f08080",@"lightcoral", \
+ @"#e0ffff",@"lightcyan", \
+ @"#fafad2",@"lightgoldenrodyellow", \
+ @"#d3d3d3",@"lightgray", \
+ @"#90ee90",@"lightgreen", \
+ @"#ffb6c1",@"lightpink", \
+ @"#ffa07a",@"lightsalmon", \
+ @"#20b2aa",@"lightseagreen", \
+ @"#87cefa",@"lightskyblue", \
+ @"#8470ff",@"lightslateblue", \
+ @"#778899",@"lightslategray", \
+ @"#b0c4de",@"lightsteelblue", \
+ @"#ffffe0",@"lightyellow", \
+ @"#00ff00",@"lime", \
+ @"#32cd32",@"limegreen", \
+ @"#faf0e6",@"linen", \
+ @"#ff00ff",@"magenta", \
+ @"#800000",@"maroon", \
+ @"#66cdaa",@"mediumaquamarine", \
+ @"#0000cd",@"mediumblue", \
+ @"#ba55d3",@"mediumorchid", \
+ @"#9370d8",@"mediumpurple", \
+ @"#3cb371",@"mediumseagreen", \
+ @"#7b68ee",@"mediumslateblue", \
+ @"#00fa9a",@"mediumspringgreen", \
+ @"#48d1cc",@"mediumturquoise", \
+ @"#c71585",@"mediumvioletred", \
+ @"#191970",@"midnightblue", \
+ @"#f5fffa",@"mintcream", \
+ @"#ffe4e1",@"mistyrose", \
+ @"#ffe4b5",@"moccasin", \
+ @"#ffdead",@"navajowhite", \
+ @"#000080",@"navy", \
+ @"#fdf5e6",@"oldlace", \
+ @"#808000",@"olive", \
+ @"#6b8e23",@"olivedrab", \
+ @"#ffa500",@"orange", \
+ @"#ff4500",@"orangered", \
+ @"#da70d6",@"orchid", \
+ @"#eee8aa",@"palegoldenrod", \
+ @"#98fb98",@"palegreen", \
+ @"#afeeee",@"paleturquoise", \
+ @"#d87093",@"palevioletred", \
+ @"#ffefd5",@"papayawhip", \
+ @"#ffdab9",@"peachpuff", \
+ @"#cd853f",@"peru", \
+ @"#ffc0cb",@"pink", \
+ @"#dda0dd",@"plum", \
+ @"#b0e0e6",@"powderblue", \
+ @"#800080",@"purple", \
+ @"#ff0000",@"red", \
+ @"#bc8f8f",@"rosybrown", \
+ @"#4169e1",@"royalblue", \
+ @"#8b4513",@"saddlebrown", \
+ @"#fa8072",@"salmon", \
+ @"#f4a460",@"sandybrown", \
+ @"#2e8b57",@"seagreen", \
+ @"#fff5ee",@"seashell", \
+ @"#a0522d",@"sienna", \
+ @"#c0c0c0",@"silver", \
+ @"#87ceeb",@"skyblue", \
+ @"#6a5acd",@"slateblue", \
+ @"#708090",@"slategray", \
+ @"#fffafa",@"snow", \
+ @"#00ff7f",@"springgreen", \
+ @"#4682b4",@"steelblue", \
+ @"#d2b48c",@"tan", \
+ @"#008080",@"teal", \
+ @"#d8bfd8",@"thistle", \
+ @"#ff6347",@"tomato", \
+ @"#40e0d0",@"turquoise", \
+ @"#ee82ee",@"violet", \
+ @"#d02090",@"violetred", \
+ @"#f5deb3",@"wheat", \
+ @"#ffffff",@"white", \
+ @"#f5f5f5",@"whitesmoke", \
+ @"#ffff00",@"yellow", \
+ @"#9acd32",@"yellowgreen", \
+ NULL \
+ ];
+ [namedColors retain];
}
diff --git a/WebCore/src/kwq/KWQPainter.mm b/WebCore/src/kwq/KWQPainter.mm
index fb6fd53..5365b29 100644
--- a/WebCore/src/kwq/KWQPainter.mm
+++ b/WebCore/src/kwq/KWQPainter.mm
@@ -132,9 +132,15 @@ void QPainter::setPen(const QPen &pen)
}
-void QPainter::setPen(PenStyle ps)
+void QPainter::setPen(PenStyle style)
{
- data->qpen.setStyle(ps);
+ QPen::QPenData *d = data->qpen.data;
+ if (d->count != 1) {
+ data->qpen.detach();
+ d = data->qpen.data;
+ }
+
+ data->qpen.setStyle(style);
data->qpen.setColor(Qt::black);
data->qpen.setWidth(0);
}
@@ -147,8 +153,14 @@ void QPainter::setBrush(const QBrush &brush)
void QPainter::setBrush(BrushStyle style)
{
- // Either NoBrush or SolidPattern.
+ QBrush::QBrushData *d = data->qbrush.data;
+ if (d->count != 1) {
+ data->qbrush.detach();
+ d = data->qbrush.data;
+ }
+
data->qbrush.setStyle(style);
+ data->qbrush.setColor(Qt::black);
}
const QBrush &QPainter::brush() const
@@ -205,12 +217,14 @@ void QPainter::restore()
void QPainter::drawRect(int x, int y, int w, int h)
{
_lockFocus();
- if (data->qbrush.style() == SolidPattern){
- //_setColorFromBrush();
- //[NSBezierPath fillRect:NSMakeRect(x, y, w, h)];
+ if (data->qbrush.style() != NoBrush){
+ _setColorFromBrush();
+ [NSBezierPath fillRect:NSMakeRect(x, y, w, h)];
+ }
+ if (data->qpen.style() != NoPen){
+ _setColorFromPen();
+ [NSBezierPath strokeRect:NSMakeRect(x, y, w, h)];
}
- _setColorFromPen();
- [NSBezierPath strokeRect:NSMakeRect(x, y, w, h)];
_unlockFocus();
}
@@ -252,12 +266,14 @@ void QPainter::drawEllipse(int x, int y, int w, int h)
path = [NSBezierPath bezierPathWithOvalInRect: NSMakeRect (x, y, w, h)];
_lockFocus();
- if (data->qbrush.style() == SolidPattern){
+ if (data->qbrush.style() != NoBrush){
_setColorFromBrush();
[path fill];
}
- _setColorFromPen();
- [path stroke];
+ if (data->qpen.style() != NoPen){
+ _setColorFromPen();
+ [path stroke];
+ }
_unlockFocus();
}
@@ -265,28 +281,31 @@ void QPainter::drawEllipse(int x, int y, int w, int h)
// Only supports arc on circles. That's all khtml needs.
void QPainter::drawArc (int x, int y, int w, int h, int a, int alen)
{
- NSBezierPath *path;
- float fa, falen;
+ if (data->qpen.style() != NoPen){
+
+ NSBezierPath *path;
+ float fa, falen;
- if (w != h){
- NSLog (@"ERROR (INCOMPLETE IMPLEMENTATION) void QPainter::drawArc (int x, int y, int w, int h, int a, int alen)\nOnly supports drawing arcs on a circle.\n");
- }
+ if (w != h){
+ NSLog (@"ERROR (INCOMPLETE IMPLEMENTATION) void QPainter::drawArc (int x, int y, int w, int h, int a, int alen)\nOnly supports drawing arcs on a circle.\n");
+ }
+
+ path = [[[NSBezierPath alloc] init] autorelease];
+ fa = (float)(a/16);
+ falen = fa + (float)(alen/16);
+ [path appendBezierPathWithArcWithCenter: NSMakePoint(x + w/2, y + h/2)
+ radius: (float)(w/2)
+ startAngle: -fa
+ endAngle: -falen
+ clockwise: YES];
- path = [[[NSBezierPath alloc] init] autorelease];
- fa = (float)(a/16);
- falen = fa + (float)(alen/16);
- [path appendBezierPathWithArcWithCenter: NSMakePoint(x + w/2, y + h/2)
- radius: (float)(w/2)
- startAngle: -fa
- endAngle: -falen
- clockwise: YES];
-
- _lockFocus();
-
- _setColorFromPen();
- [path stroke];
-
- _unlockFocus();
+ _lockFocus();
+
+ _setColorFromPen();
+ [path stroke];
+
+ _unlockFocus();
+ }
}
void QPainter::drawLineSegments(const QPointArray &points, int index, int nlines)
@@ -300,49 +319,49 @@ void QPainter::drawPolyline(const QPointArray &points, int index, int npoints)
}
-void QPainter::drawPolygon(const QPointArray &points, bool winding, int index,
+void QPainter::drawPolygon(const QPointArray &points, bool winding, int index,
int npoints)
{
_drawPoints (points, winding, index, npoints, TRUE);
}
-void QPainter::_drawPoints (const QPointArray &_points, bool winding, int index, int _npoints, bool fill)
+void QPainter::_drawPoints (const QPointArray &_points, bool winding, int index,
+ int _npoints, bool fill)
{
NSBezierPath *path;
float fa, falen;
int i;
int npoints = _npoints != -1 ? _npoints : _points.size()-index;
-
- {
- NSPoint points[npoints];
-
- for (i = 0; i < npoints; i++){
- points[i].x = _points[index+i].x();
- points[i].y = _points[index+i].y();
- }
-
-
- path = [[[NSBezierPath alloc] init] autorelease];
- [path appendBezierPathWithPoints: &points[0] count: npoints];
- [path closePath]; // Qt always closes the path. Determined empirically.
-
- _lockFocus();
+ NSPoint points[npoints];
+
+ for (i = 0; i < npoints; i++){
+ points[i].x = _points[index+i].x();
+ points[i].y = _points[index+i].y();
+ }
+
+ path = [[[NSBezierPath alloc] init] autorelease];
+ [path appendBezierPathWithPoints: &points[0] count: npoints];
+ [path closePath]; // Qt always closes the path. Determined empirically.
+
+ _lockFocus();
- if (fill == TRUE && data->qbrush.style() == SolidPattern){
- if (winding == TRUE)
- [path setWindingRule: NSNonZeroWindingRule];
- else
- [path setWindingRule: NSEvenOddWindingRule];
- _setColorFromBrush();
- [path fill];
- }
+ if (fill == TRUE && data->qbrush.style() != NoBrush){
+ if (winding == TRUE)
+ [path setWindingRule: NSNonZeroWindingRule];
+ else
+ [path setWindingRule: NSEvenOddWindingRule];
+ _setColorFromBrush();
+ [path fill];
+ }
+
+ if (data->qpen.style() != NoPen){
_setColorFromPen();
[path stroke];
-
- _unlockFocus();
}
+
+ _unlockFocus();
}
diff --git a/WebCore/src/kwq/qt/qcolor.h b/WebCore/src/kwq/qt/qcolor.h
index 4f1882f..471a449 100644
--- a/WebCore/src/kwq/qt/qcolor.h
+++ b/WebCore/src/kwq/qt/qcolor.h
@@ -84,6 +84,7 @@ public:
void setRgb(int);
void hsv(int *, int *, int *) const;
+ void setHsv(int h, int s, int v);
QColor light(int f = 150) const;
QColor dark(int f = 200) const;
diff --git a/WebCore/src/kwq/qt/qpen.h b/WebCore/src/kwq/qt/qpen.h
index 96eecca..dd09ac6 100644
--- a/WebCore/src/kwq/qt/qpen.h
+++ b/WebCore/src/kwq/qt/qpen.h
@@ -33,11 +33,13 @@
#include <qnamespace.h>
#include <qcolor.h>
+class QPainter;
class QPenPrivate;
// class QPen ==================================================================
class QPen : public Qt {
+friend class QPainter;
public:
// typedefs ----------------------------------------------------------------
diff --git a/WebKit/WebKit.pbproj/kocienda.pbxuser b/WebKit/WebKit.pbproj/kocienda.pbxuser
index a236a49..223994d 100644
--- a/WebKit/WebKit.pbproj/kocienda.pbxuser
+++ b/WebKit/WebKit.pbproj/kocienda.pbxuser
@@ -15,9 +15,10 @@
ActiveTab = 0;
Frame = "{{0, 23}, {1207, 1005}}";
Split0 = {
+ ActiveTab = 2;
Frame = "{{313, 0}, {894, 1005}}";
Split0 = {
- Frame = "{{0, 25}, {894, 980}}";
+ Frame = "{{0, 663}, {894, 342}}";
};
SplitCount = 1;
Tab0 = {
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list