22#ifndef BACKENDS_GRAPHICS_ATARI_SURFACE_H
23#define BACKENDS_GRAPHICS_ATARI_SURFACE_H
25#include "graphics/managed_surface.h"
27#include "backends/graphics/atari/atari-supervidel.h"
41 void free() final override;
46 virtual void copyRectToSurface(
const void *buffer,
int srcPitch,
int destX,
int destY,
int width,
int height);
48 assert(subRect.
left % 16 == 0);
62 int getBitsPerPixel()
const {
63 return format == PIXELFORMAT_RGB121 ? 4 : 8;
66 static Common::Rect alignRect(
int x1,
int y1,
int x2,
int y2) {
68 return g_hasSuperVidel
70 :
Common::Rect(x1 & (-16), y1, (x2 + 15) & (-16), y2);
74 return g_hasSuperVidel
76 :
Common::Rect(rect.left & (-16), rect.top, (rect.right + 15) & (-16), rect.bottom);
83 SuperVidelSurface() =
default;
89 void copyRectToSurface(
const void *buffer,
int srcPitch,
int destX,
int destY,
int width,
int height)
override {
101 g_blitMask = (
const byte *)srcMask.
getBasePtr(subRect.
left, subRect.top);
105 g_blitMask =
nullptr;
111void AtariSurfaceInit();
112void AtariSurfaceDeinit();
Definition: atari-surface.h:33
void create(int16 width, int16 height, const Graphics::PixelFormat &pixelFormat) final override
void free() final override
void addDirtyRect(const Common::Rect &r) final override
Definition: atari-surface.h:43
Definition: managed_surface.h:51
virtual void create(int16 width, int16 height)
void copyRectToSurface(const void *buffer, int srcPitch, int destX, int destY, int width, int height)
Definition: managed_surface.h:815
PixelFormat & format
Definition: managed_surface.h:137
void copyRectToSurfaceWithKey(const void *buffer, int srcPitch, int destX, int destY, int width, int height, uint32 key)
Definition: managed_surface.h:835
Definition: algorithm.h:29
T height() const
Definition: rect.h:218
T left
Definition: rect.h:170
T width() const
Definition: rect.h:217
const void * getBasePtr(int x, int y) const
Definition: surface.h:140
int32 pitch
Definition: surface.h:83
PixelFormat format
Definition: surface.h:95