mirror of
https://github.com/hyprwm/Hyprland
synced 2024-11-29 23:45:58 +01:00
016da234d0
Moves Hyprland from wlroots to aquamarine for the backend. --------- Signed-off-by: Vaxry <vaxry@vaxry.net> Co-authored-by: Mihai Fufezan <mihai@fufexan.net> Co-authored-by: Jan Beich <jbeich@FreeBSD.org> Co-authored-by: vaxerski <vaxerski@users.noreply.github.com> Co-authored-by: UjinT34 <41110182+UjinT34@users.noreply.github.com> Co-authored-by: Tom Englund <tomenglund26@gmail.com> Co-authored-by: Ikalco <73481042+ikalco@users.noreply.github.com> Co-authored-by: diniamo <diniamo53@gmail.com>
38 lines
1.3 KiB
C++
38 lines
1.3 KiB
C++
#pragma once
|
|
|
|
#include <cstdint>
|
|
#include <string>
|
|
#include "math/Math.hpp"
|
|
#include <aquamarine/backend/Misc.hpp>
|
|
|
|
typedef uint32_t DRMFormat;
|
|
typedef uint32_t SHMFormat;
|
|
|
|
struct SPixelFormat {
|
|
DRMFormat drmFormat = 0; /* DRM_FORMAT_INVALID */
|
|
bool flipRB = false;
|
|
int glInternalFormat = 0;
|
|
int glFormat = 0;
|
|
int glType = 0;
|
|
bool withAlpha = true;
|
|
DRMFormat alphaStripped = 0; /* DRM_FORMAT_INVALID */
|
|
uint32_t bytesPerBlock = 0;
|
|
Vector2D blockSize;
|
|
};
|
|
|
|
typedef Aquamarine::SDRMFormat SDRMFormat;
|
|
|
|
namespace FormatUtils {
|
|
SHMFormat drmToShm(DRMFormat drm);
|
|
DRMFormat shmToDRM(SHMFormat shm);
|
|
|
|
const SPixelFormat* getPixelFormatFromDRM(DRMFormat drm);
|
|
const SPixelFormat* getPixelFormatFromGL(uint32_t glFormat, uint32_t glType, bool alpha);
|
|
bool isFormatOpaque(DRMFormat drm);
|
|
int pixelsPerBlock(const SPixelFormat* const fmt);
|
|
int minStride(const SPixelFormat* const fmt, int32_t width);
|
|
uint32_t drmFormatToGL(DRMFormat drm);
|
|
uint32_t glFormatToType(uint32_t gl);
|
|
std::string drmFormatName(DRMFormat drm);
|
|
std::string drmModifierName(uint64_t mod);
|
|
};
|