diff --git a/PortabilityLayer/QDPixMap.cpp b/PortabilityLayer/QDPixMap.cpp index b459b58..3d11bec 100644 --- a/PortabilityLayer/QDPixMap.cpp +++ b/PortabilityLayer/QDPixMap.cpp @@ -1,72 +1,72 @@ -#include "QDPixMap.h" -#include "CoreDefs.h" - -#include - -namespace PortabilityLayer -{ - PixMapImpl::PixMapImpl(int16_t left, int16_t top, uint16_t width, uint16_t height, GpPixelFormat_t pixelFormat) - : m_left(left) - , m_top(top) - , m_width(width) - , m_height(height) - , m_dataCapacity(0) +#include "QDPixMap.h" +#include "CoreDefs.h" + +#include + +namespace PortabilityLayer +{ + PixMapImpl::PixMapImpl(int16_t left, int16_t top, uint16_t width, uint16_t height, GpPixelFormat_t pixelFormat) + : m_left(left) + , m_top(top) + , m_width(width) + , m_height(height) + , m_dataCapacity(0) { - const Rect rect = Rect::Create(top, left, static_cast(top + height), static_cast(left + width)); + const Rect rect = Rect::Create(top, left, static_cast(top + height), static_cast(left + width)); const size_t pitch = PitchForWidth(width, pixelFormat); void *dataPtr = reinterpret_cast(this) + AlignedSize(); - m_dataCapacity = PitchForWidth(width, pixelFormat) * height; + m_dataCapacity = PitchForWidth(width, pixelFormat) * height; - static_cast(this)->Init(rect, pixelFormat, PitchForWidth(width, pixelFormat), dataPtr); - } - - size_t PixMapImpl::SizeForDimensions(uint16_t width, uint16_t height, GpPixelFormat_t pixelFormat) - { - return AlignedSize() + PitchForWidth(width, pixelFormat) * height; - } - - size_t PixMapImpl::AlignedSize() - { - const size_t szBase = sizeof(PixMapImpl) + PL_SYSTEM_MEMORY_ALIGNMENT - 1; - const size_t szAdjusted = szBase - szBase % PL_SYSTEM_MEMORY_ALIGNMENT; - - return szAdjusted; - } - - size_t PixMapImpl::PitchForWidth(uint16_t width, GpPixelFormat_t pixelFormat) - { - size_t rowByteCount = 0; - - switch (pixelFormat) - { - case GpPixelFormats::k8BitCustom: + static_cast(this)->Init(rect, pixelFormat, PitchForWidth(width, pixelFormat), dataPtr); + } + + size_t PixMapImpl::SizeForDimensions(uint16_t width, uint16_t height, GpPixelFormat_t pixelFormat) + { + return AlignedSize() + PitchForWidth(width, pixelFormat) * height; + } + + size_t PixMapImpl::AlignedSize() + { + const size_t szBase = sizeof(PixMapImpl) + PL_SYSTEM_MEMORY_ALIGNMENT - 1; + const size_t szAdjusted = szBase - szBase % PL_SYSTEM_MEMORY_ALIGNMENT; + + return szAdjusted; + } + + size_t PixMapImpl::PitchForWidth(uint16_t width, GpPixelFormat_t pixelFormat) + { + size_t rowByteCount = 0; + + switch (pixelFormat) + { + case GpPixelFormats::k8BitCustom: case GpPixelFormats::k8BitStandard: - case GpPixelFormats::kBW1: - rowByteCount = width; - break; - case GpPixelFormats::kRGB555: - rowByteCount = width * 2; - break; - case GpPixelFormats::kRGB24: - rowByteCount = width * 3; - break; - case GpPixelFormats::kRGB32: - rowByteCount = width * 4; + case GpPixelFormats::kBW1: + rowByteCount = width; break; - default: - assert(false); - return 0; - } - const size_t szBase = rowByteCount + PL_SYSTEM_MEMORY_ALIGNMENT - 1; - const size_t szAdjusted = szBase - szBase % PL_SYSTEM_MEMORY_ALIGNMENT; - - return szAdjusted; - } -} + case GpPixelFormats::kRGB555: + rowByteCount = width * 2; + break; + case GpPixelFormats::kRGB24: + rowByteCount = width * 3; + break; + case GpPixelFormats::kRGB32: + rowByteCount = width * 4; + break; + default: + assert(false); + return 0; + } + const size_t szBase = rowByteCount + PL_SYSTEM_MEMORY_ALIGNMENT - 1; + const size_t szAdjusted = szBase - szBase % PL_SYSTEM_MEMORY_ALIGNMENT; + + return szAdjusted; + } +} void PixMap::Init(const Rect &rect, GpPixelFormat_t pixelFormat, size_t pitch, void *dataPtr) -{ +{ BitMap::Init(rect, pixelFormat, pitch, dataPtr); } diff --git a/PortabilityLayer/Vec2i.h b/PortabilityLayer/Vec2i.h index c021b84..beed314 100644 --- a/PortabilityLayer/Vec2i.h +++ b/PortabilityLayer/Vec2i.h @@ -1,77 +1,77 @@ -#pragma once - -#include - -namespace PortabilityLayer -{ - struct Vec2i - { - int32_t m_x; - int32_t m_y; - - Vec2i(); - Vec2i(const Vec2i &other); - Vec2i(int32_t x, int32_t y); - - Vec2i operator+(const Vec2i &other) const; - Vec2i operator-(const Vec2i &other) const; - - Vec2i &operator+=(const Vec2i &other); +#pragma once + +#include + +namespace PortabilityLayer +{ + struct Vec2i + { + int32_t m_x; + int32_t m_y; + + Vec2i(); + Vec2i(const Vec2i &other); + Vec2i(int32_t x, int32_t y); + + Vec2i operator+(const Vec2i &other) const; + Vec2i operator-(const Vec2i &other) const; + + Vec2i &operator+=(const Vec2i &other); Vec2i &operator-=(const Vec2i &other); - bool operator==(const Vec2i &other) const; - bool operator!=(const Vec2i &other) const; - }; - - inline Vec2i::Vec2i() - : m_x(0) - , m_y(0) - { - } - - inline Vec2i::Vec2i(const Vec2i &other) - : m_x(other.m_x) - , m_y(other.m_y) - { - } - - inline Vec2i::Vec2i(int32_t x, int32_t y) - : m_x(x) - , m_y(y) - { - } - - inline Vec2i Vec2i::operator+(const Vec2i &other) const - { - return Vec2i(m_x + other.m_x, m_y + other.m_y); - } - - inline Vec2i Vec2i::operator-(const Vec2i &other) const - { - return Vec2i(m_x - other.m_x, m_y - other.m_y); - } - - inline Vec2i &Vec2i::operator+=(const Vec2i &other) - { - m_x += other.m_x; - m_y += other.m_y; - return *this; - } - - inline Vec2i &Vec2i::operator-=(const Vec2i &other) - { - m_x -= other.m_x; - m_y -= other.m_y; - return *this; + bool operator==(const Vec2i &other) const; + bool operator!=(const Vec2i &other) const; + }; + + inline Vec2i::Vec2i() + : m_x(0) + , m_y(0) + { + } + + inline Vec2i::Vec2i(const Vec2i &other) + : m_x(other.m_x) + , m_y(other.m_y) + { + } + + inline Vec2i::Vec2i(int32_t x, int32_t y) + : m_x(x) + , m_y(y) + { + } + + inline Vec2i Vec2i::operator+(const Vec2i &other) const + { + return Vec2i(m_x + other.m_x, m_y + other.m_y); + } + + inline Vec2i Vec2i::operator-(const Vec2i &other) const + { + return Vec2i(m_x - other.m_x, m_y - other.m_y); + } + + inline Vec2i &Vec2i::operator+=(const Vec2i &other) + { + m_x += other.m_x; + m_y += other.m_y; + return *this; + } + + inline Vec2i &Vec2i::operator-=(const Vec2i &other) + { + m_x -= other.m_x; + m_y -= other.m_y; + return *this; } inline bool Vec2i::operator==(const Vec2i &other) const { - return m_x == other.m_x && m_y == other.m_y; + return m_x == other.m_x && m_y == other.m_y; } - + inline bool Vec2i::operator!=(const Vec2i &other) const { - return !((*this) == other); - } -} + return !((*this) == other); + } +}