#include "modules/desktop_capture/desktop_frame_rotation.h"
#include "rtc_base/checks.h"
#include "third_party/libyuv/include/libyuv/rotate_argb.h"
namespace webrtc {
namespace {
libyuv::RotationMode ToLibyuvRotationMode(Rotation rotation) { … }
DesktopRect RotateAndOffsetRect(DesktopRect rect,
DesktopSize size,
Rotation rotation,
DesktopVector offset) { … }
}
Rotation ReverseRotation(Rotation rotation) { … }
DesktopSize RotateSize(DesktopSize size, Rotation rotation) { … }
DesktopRect RotateRect(DesktopRect rect, DesktopSize size, Rotation rotation) { … }
void RotateDesktopFrame(const DesktopFrame& source,
const DesktopRect& source_rect,
const Rotation& rotation,
const DesktopVector& target_offset,
DesktopFrame* target) { … }
}