+
+ static Colour GetColour(const CPURenderTarget & target, int64_t x, int64_t y)
+ {
+ int64_t index = 4*(x+y*target.w);
+ if (index < 0 || index >= 4*(target.w*target.h))
+ return Colour(0,0,0,0);
+ return Colour(target.pixels[index+0],target.pixels[index+1],target.pixels[index+2],target.pixels[index+3]);
+ }
+
+ static void SetColour(const CPURenderTarget & target, int64_t x, int64_t y, const Colour & c)
+ {
+ int64_t index = 4*(x+y*target.w);
+ if (index < 0 || index >= 4*(target.w*target.h))
+ return;
+
+ target.pixels[index+0] = c.r;
+ target.pixels[index+1] = c.g;
+ target.pixels[index+2] = c.b;
+ target.pixels[index+3] = c.a;
+ }
+