#include "modules/desktop_capture/desktop_region.h"
#include <algorithm>
#include <utility>
#include "rtc_base/checks.h"
namespace webrtc {
DesktopRegion::RowSpan::RowSpan(int32_t left, int32_t right)
: … { … }
DesktopRegion::Row::Row(const Row&) = default;
DesktopRegion::Row::Row(Row&&) = default;
DesktopRegion::Row::Row(int32_t top, int32_t bottom)
: … { … }
DesktopRegion::Row::~Row() { … }
DesktopRegion::DesktopRegion() { … }
DesktopRegion::DesktopRegion(const DesktopRect& rect) { … }
DesktopRegion::DesktopRegion(const DesktopRect* rects, int count) { … }
DesktopRegion::DesktopRegion(const DesktopRegion& other) { … }
DesktopRegion::~DesktopRegion() { … }
DesktopRegion& DesktopRegion::operator=(const DesktopRegion& other) { … }
bool DesktopRegion::Equals(const DesktopRegion& region) const { … }
void DesktopRegion::Clear() { … }
void DesktopRegion::SetRect(const DesktopRect& rect) { … }
void DesktopRegion::AddRect(const DesktopRect& rect) { … }
void DesktopRegion::AddRects(const DesktopRect* rects, int count) { … }
void DesktopRegion::MergeWithPrecedingRow(Rows::iterator row) { … }
void DesktopRegion::AddRegion(const DesktopRegion& region) { … }
void DesktopRegion::Intersect(const DesktopRegion& region1,
const DesktopRegion& region2) { … }
void DesktopRegion::IntersectRows(const RowSpanSet& set1,
const RowSpanSet& set2,
RowSpanSet* output) { … }
void DesktopRegion::IntersectWith(const DesktopRegion& region) { … }
void DesktopRegion::IntersectWith(const DesktopRect& rect) { … }
void DesktopRegion::Subtract(const DesktopRegion& region) { … }
void DesktopRegion::Subtract(const DesktopRect& rect) { … }
void DesktopRegion::Translate(int32_t dx, int32_t dy) { … }
void DesktopRegion::Swap(DesktopRegion* region) { … }
bool DesktopRegion::CompareSpanRight(const RowSpan& r, int32_t value) { … }
bool DesktopRegion::CompareSpanLeft(const RowSpan& r, int32_t value) { … }
void DesktopRegion::AddSpanToRow(Row* row, int left, int right) { … }
bool DesktopRegion::IsSpanInRow(const Row& row, const RowSpan& span) { … }
void DesktopRegion::SubtractRows(const RowSpanSet& set_a,
const RowSpanSet& set_b,
RowSpanSet* output) { … }
DesktopRegion::Iterator::Iterator(const DesktopRegion& region)
: … { … }
DesktopRegion::Iterator::~Iterator() { … }
bool DesktopRegion::Iterator::IsAtEnd() const { … }
void DesktopRegion::Iterator::Advance() { … }
void DesktopRegion::Iterator::UpdateCurrentRect() { … }
}