#include "ui/gfx/native_pixmap_handle.h"
#include <utility>
#include "base/logging.h"
#include "build/build_config.h"
#include "ui/gfx/buffer_format_util.h"
#include "ui/gfx/geometry/size.h"
#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
#include <drm_fourcc.h>
#include <unistd.h>
#include "base/posix/eintr_wrapper.h"
#endif
#if BUILDFLAG(IS_FUCHSIA)
#include <lib/zx/vmo.h>
#include "base/fuchsia/fuchsia_logging.h"
#endif
namespace gfx {
#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
static_assert …;
#endif
NativePixmapPlane::NativePixmapPlane() : … { … }
NativePixmapPlane::NativePixmapPlane(int stride,
int offset,
uint64_t size
#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
,
base::ScopedFD fd
#elif BUILDFLAG(IS_FUCHSIA)
,
zx::vmo vmo
#endif
)
: … { … }
NativePixmapPlane::NativePixmapPlane(NativePixmapPlane&& other) = default;
NativePixmapPlane::~NativePixmapPlane() = default;
NativePixmapPlane& NativePixmapPlane::operator=(NativePixmapPlane&& other) =
default;
NativePixmapHandle::NativePixmapHandle() = default;
NativePixmapHandle::NativePixmapHandle(NativePixmapHandle&& other) = default;
NativePixmapHandle::~NativePixmapHandle() = default;
NativePixmapHandle& NativePixmapHandle::operator=(NativePixmapHandle&& other) =
default;
NativePixmapHandle CloneHandleForIPC(const NativePixmapHandle& handle) { … }
bool CanFitImageForSizeAndFormat(const gfx::NativePixmapHandle& handle,
const gfx::Size& size,
gfx::BufferFormat format,
bool assume_single_memory_object) { … }
}