[SCM] WebKit Debian packaging branch, debian/experimental, updated. upstream/1.3.3-9427-gc2be6fc
commit-queue at webkit.org
commit-queue at webkit.org
Wed Dec 22 12:27:31 UTC 2010
The following commit has been merged in the debian/experimental branch:
commit 6ae01a01ea000dc060941cfe2314bd1389bffbba
Author: commit-queue at webkit.org <commit-queue at webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Tue Aug 24 03:04:18 2010 +0000
2010-08-23 Patrick Gansterer <paroga at paroga.com>
Reviewed by Adam Roben.
Support all available biBitCount values in BitmapInfo
https://bugs.webkit.org/show_bug.cgi?id=43724
Add an enum with all possible values for biBitCount.
Also remove explicit initialization of bmiHeader members,
because that is already done in the constructor.
* platform/win/BitmapInfo.cpp: Added property svn:eol-style.
(WebCore::bitmapInfoForSize):
(WebCore::BitmapInfo::create):
(WebCore::BitmapInfo::createBottomUp):
* platform/win/BitmapInfo.h: Added property svn:eol-style.
(WebCore::BitmapInfo::):
(WebCore::BitmapInfo::bytesPerLine):
(WebCore::BitmapInfo::paddedBytesPerLine):
(WebCore::BitmapInfo::paddedWidth):
* platform/win/PopupMenuWin.cpp:
(WebCore::PopupMenuWin::paint):
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@65857 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index a17ce52..98fcbbb 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,26 @@
+2010-08-23 Patrick Gansterer <paroga at paroga.com>
+
+ Reviewed by Adam Roben.
+
+ Support all available biBitCount values in BitmapInfo
+ https://bugs.webkit.org/show_bug.cgi?id=43724
+
+ Add an enum with all possible values for biBitCount.
+ Also remove explicit initialization of bmiHeader members,
+ because that is already done in the constructor.
+
+ * platform/win/BitmapInfo.cpp: Added property svn:eol-style.
+ (WebCore::bitmapInfoForSize):
+ (WebCore::BitmapInfo::create):
+ (WebCore::BitmapInfo::createBottomUp):
+ * platform/win/BitmapInfo.h: Added property svn:eol-style.
+ (WebCore::BitmapInfo::):
+ (WebCore::BitmapInfo::bytesPerLine):
+ (WebCore::BitmapInfo::paddedBytesPerLine):
+ (WebCore::BitmapInfo::paddedWidth):
+ * platform/win/PopupMenuWin.cpp:
+ (WebCore::PopupMenuWin::paint):
+
2010-08-23 Kent Tamura <tkent at chromium.org>
Unreviewed, build fix for r65852.
@@ -21588,11 +21611,11 @@
Set bmiHeader.biSize only at constructor.
- * platform/win/BitmapInfo.cpp: Added property svn:eol-style.
+ * platform/win/BitmapInfo.cpp:
(WebCore::bitmapInfoForSize):
(WebCore::BitmapInfo::create):
(WebCore::BitmapInfo::createBottomUp):
- * platform/win/BitmapInfo.h: Added property svn:eol-style.
+ * platform/win/BitmapInfo.h:
(WebCore::BitmapInfo::is16bit):
(WebCore::BitmapInfo::is32bit):
(WebCore::BitmapInfo::width):
diff --git a/WebCore/platform/win/BitmapInfo.cpp b/WebCore/platform/win/BitmapInfo.cpp
index 514f722..610a27e 100644
--- a/WebCore/platform/win/BitmapInfo.cpp
+++ b/WebCore/platform/win/BitmapInfo.cpp
@@ -33,21 +33,14 @@
namespace WebCore {
-BitmapInfo bitmapInfoForSize(int width, int height, WORD bitCount)
+BitmapInfo bitmapInfoForSize(int width, int height, BitmapInfo::BitCount bitCount)
{
- ASSERT_ARG(bitCount, bitCount == 16 || bitCount == 32);
-
BitmapInfo bitmapInfo;
bitmapInfo.bmiHeader.biWidth = width;
bitmapInfo.bmiHeader.biHeight = height;
bitmapInfo.bmiHeader.biPlanes = 1;
bitmapInfo.bmiHeader.biBitCount = bitCount;
bitmapInfo.bmiHeader.biCompression = BI_RGB;
- bitmapInfo.bmiHeader.biSizeImage = 0;
- bitmapInfo.bmiHeader.biXPelsPerMeter = 0;
- bitmapInfo.bmiHeader.biYPelsPerMeter = 0;
- bitmapInfo.bmiHeader.biClrUsed = 0;
- bitmapInfo.bmiHeader.biClrImportant = 0;
return bitmapInfo;
}
@@ -58,12 +51,12 @@ BitmapInfo::BitmapInfo()
bmiHeader.biSize = sizeof(BITMAPINFOHEADER);
}
-BitmapInfo BitmapInfo::create(const IntSize& size, WORD bitCount)
+BitmapInfo BitmapInfo::create(const IntSize& size, BitCount bitCount)
{
return bitmapInfoForSize(size.width(), size.height(), bitCount);
}
-BitmapInfo BitmapInfo::createBottomUp(const IntSize& size, WORD bitCount)
+BitmapInfo BitmapInfo::createBottomUp(const IntSize& size, BitCount bitCount)
{
return bitmapInfoForSize(size.width(), -size.height(), bitCount);
}
diff --git a/WebCore/platform/win/BitmapInfo.h b/WebCore/platform/win/BitmapInfo.h
index d1c3319..caf1b31 100644
--- a/WebCore/platform/win/BitmapInfo.h
+++ b/WebCore/platform/win/BitmapInfo.h
@@ -35,19 +35,30 @@
namespace WebCore {
struct BitmapInfo : public BITMAPINFO {
+ enum BitCount {
+ BitCount1 = 1,
+ BitCount4 = 4,
+ BitCount8 = 8,
+ BitCount16 = 16,
+ BitCount24 = 24,
+ BitCount32 = 32
+ };
+
BitmapInfo();
- static BitmapInfo create(const IntSize&, WORD bitCount = 32);
- static BitmapInfo createBottomUp(const IntSize&, WORD bitCount = 32);
+ static BitmapInfo create(const IntSize&, BitCount bitCount = BitCount32);
+ static BitmapInfo createBottomUp(const IntSize&, BitCount bitCount = BitCount32);
bool is16bit() const { return bmiHeader.biBitCount == 16; }
bool is32bit() const { return bmiHeader.biBitCount == 32; }
unsigned width() const { return abs(bmiHeader.biWidth); }
unsigned height() const { return abs(bmiHeader.biHeight); }
IntSize size() const { return IntSize(width(), height()); }
- unsigned paddedWidth() const { return is16bit() ? (width() + 1) & ~0x1 : width(); }
+ unsigned bytesPerLine() const { return (width() * bmiHeader.biBitCount + 7) / 8; }
+ unsigned paddedBytesPerLine() const { return (bytesPerLine() + 3) & ~0x3; }
+ unsigned paddedWidth() const { return paddedBytesPerLine() * 8 / bmiHeader.biBitCount; }
unsigned numPixels() const { return paddedWidth() * height(); }
- unsigned paddedBytesPerLine() const { return is16bit() ? paddedWidth() * 2 : width() * 4; }
- unsigned bytesPerLine() const { return width() * bmiHeader.biBitCount / 8; }};
+};
+
} // namespace WebCore
#endif // BitmapInfo_h
diff --git a/WebCore/platform/win/PopupMenuWin.cpp b/WebCore/platform/win/PopupMenuWin.cpp
index aaadc53..6e22024 100644
--- a/WebCore/platform/win/PopupMenuWin.cpp
+++ b/WebCore/platform/win/PopupMenuWin.cpp
@@ -581,7 +581,7 @@ void PopupMenuWin::paint(const IntRect& damageRect, HDC hdc)
}
if (!m_bmp) {
#if OS(WINCE)
- BitmapInfo bitmapInfo = BitmapInfo::createBottomUp(clientRect().size(), 16);
+ BitmapInfo bitmapInfo = BitmapInfo::createBottomUp(clientRect().size(), BitmapInfo::BitCount16);
#else
BitmapInfo bitmapInfo = BitmapInfo::createBottomUp(clientRect().size());
#endif
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list