29#ifndef AGS_ENGINE_AC_DRAW_SOFTWARE_H
30#define AGS_ENGINE_AC_DRAW_SOFTWARE_H
32#include "ags/shared/gfx/bitmap.h"
33#include "ags/engine/gfx/ddb.h"
34#include "ags/shared/util/geometry.h"
35#include "ags/shared/util/scaling.h"
39using AGS::Shared::PlaneScaling;
42#define MAXDIRTYREGIONS 25
43#define WHOLESCREENDIRTY (MAXDIRTYREGIONS + 5)
44#define MAX_SPANS_PER_ROW 4
51 int mergeSpan(
int tx1,
int tx2);
57 IRSpan span[MAX_SPANS_PER_ROW];
75 Rect DirtyRegions[MAXDIRTYREGIONS];
76 size_t NumDirtyRegions;
81 void Init(
const Size &surf_size,
const Rect &viewport);
82 void SetSurfaceOffsets(
int x,
int y);
90void set_invalidrects_globaloffs(
int x,
int y);
93void init_invalid_regions(
int view_index,
const Size &surf_size,
const Rect &viewport);
95void delete_invalid_regions(
int view_index);
97void dispose_invalid_regions(
bool room_only);
99void set_invalidrects_cameraoffs(
int view_index,
int x,
int y);
101void invalidate_all_rects();
103void invalidate_all_camera_rects(
int view_index);
105void invalidate_rect_ds(
int x1,
int y1,
int x2,
int y2,
bool in_room);
107void invalidate_rect_global(
int x1,
int y1,
int x2,
int y2);
Definition: allegro_bitmap.h:44
Definition: viewport.h:128
Definition: scaling.h:108
Definition: draw_software.h:63
Definition: draw_software.h:56
Definition: draw_software.h:49
Definition: geometry.h:219
Definition: geometry.h:148