Chromium Code Reviews| Index: webrtc/modules/desktop_capture/desktop_frame_generator.cc |
| diff --git a/webrtc/modules/desktop_capture/desktop_frame_generator.cc b/webrtc/modules/desktop_capture/desktop_frame_generator.cc |
| index ae5c9492cb92f5806846668cb9a92559cb637a20..f499b60d9e99af4585084e2e3abd56bb4bbc61ce 100644 |
| --- a/webrtc/modules/desktop_capture/desktop_frame_generator.cc |
| +++ b/webrtc/modules/desktop_capture/desktop_frame_generator.cc |
| @@ -17,6 +17,7 @@ |
| #include "webrtc/base/random.h" |
| #include "webrtc/base/timeutils.h" |
| +#include "webrtc/modules/desktop_capture/rgba_color.h" |
| namespace webrtc { |
| @@ -60,11 +61,12 @@ void SetUpdatedRegion(DesktopFrame* frame, |
| } |
| // Paints pixels in |rect| of |frame| to |color|. |
| -void PaintRect(DesktopFrame* frame, DesktopRect rect, uint32_t color) { |
| +void PaintRect(DesktopFrame* frame, DesktopRect rect, RgbaColor rgba_color) { |
| static_assert(DesktopFrame::kBytesPerPixel == sizeof(uint32_t), |
| "kBytesPerPixel should be 4."); |
| RTC_DCHECK(frame->size().width() >= rect.right() && |
| frame->size().height() >= rect.bottom()); |
| + uint32_t color = rgba_color.ToUInt32(); |
| uint8_t* row = frame->GetFrameDataAtPos(rect.top_left()); |
| for (int i = 0; i < rect.height(); i++) { |
| uint32_t* column = reinterpret_cast<uint32_t*>(row); |
| @@ -76,10 +78,12 @@ void PaintRect(DesktopFrame* frame, DesktopRect rect, uint32_t color) { |
| } |
| // Paints pixels in |region| of |frame| to |color|. |
| -void PaintRegion(DesktopFrame* frame, DesktopRegion* region, uint32_t color) { |
| +void PaintRegion(DesktopFrame* frame, |
| + DesktopRegion* region, |
| + RgbaColor rgba_color) { |
| region->IntersectWith(DesktopRect::MakeSize(frame->size())); |
| for (DesktopRegion::Iterator it(*region); !it.IsAtEnd(); it.Advance()) { |
| - PaintRect(frame, it.rect(), color); |
| + PaintRect(frame, it.rect(), rgba_color); |
| } |
| } |
| @@ -171,7 +175,7 @@ bool BlackWhiteDesktopFramePainter::Paint(DesktopFrame* frame, |
| DesktopRegion* updated_region) { |
| RTC_DCHECK(updated_region->is_empty()); |
| memset(frame->data(), 0, frame->stride() * frame->size().height()); |
| - PaintRegion(frame, &updated_region_, UINT32_MAX); |
| + PaintRegion(frame, &updated_region_, RgbaColor(UINT32_MAX)); |
|
Sergey Ulanov
2016/09/20 21:06:41
0xFFFFFFFF would be more appropriate here instead
Hzj_jie
2016/09/20 23:50:12
Done.
|
| updated_region_.Swap(updated_region); |
| return true; |
| } |