rem: WITH_VAR_STACK(c->Set(ss[p], ss[p], ss[p]));
add: WITH_VAR_STACK(c->Set(255-ss[p], 255-ss[p], 255-ss[p]));
context: static void dcSetARGBPixels(wxMemoryDC *dc, double x, double y, int w, int h, char *s, Bool set_alpha){  int i, j, p;  unsigned char *ss = (unsigned char *)s;  wxColour *c = NULL;  double xs, ys, xo, yo;  SETUP_VAR_STACK(3);  VAR_STACK_PUSH(0, ss);  VAR_STACK_PUSH(1, c);  VAR_STACK_PUSH(2, dc);  dc->GetUserScale(&xs, &ys);  dc->GetDeviceOrigin(&xo, &yo);  p = 0;      if (xs == 1 && ys == 1 && xo == 0 && yo == 0      && WITH_VAR_STACK(dc->BeginSetPixelFast((int)x, (int)y, w, h))) {    int xi = (int)x;    int yi = (int)y;    if (!set_alpha) {      for (j = 0; j < h; j++) {	for (i = 0; i < w; i++) {	  WITH_VAR_STACK(dc->SetPixelFast(xi + i, yi + j, ss[p+1], ss[p+2], ss[p+3]));	  p += 4;	}      }    } else {      for (j = 0; j < h; j++) {	for (i = 0; i < w; i++) {	  WITH_VAR_STACK(dc->SetPixelFast(xi + i, yi + j, ss[p], ss[p], ss[p]));	  p += 4;	}      }    }    WITH_VAR_STACK(dc->EndSetPixelFast());  } else {    c = new wxColour();      if (!set_alpha) {      for (j = 0; j < h; j++) {	for (i = 0; i < w; i++) {	  WITH_VAR_STACK(c->Set(ss[p+1], ss[p+2], ss[p+3]));	  WITH_VAR_STACK(dc->SetPixel(x + i, y + j, c));	  p += 4;	}      }    } else {      for (j = 0; j < h; j++) {	for (i = 0; i < w; i++) {	  WITH_VAR_STACK(c->Set(ss[p], ss[p], ss[p]));	  WITH_VAR_STACK(dc->SetPixel(x + i, y + j, c));	  p += 4;	}      }    }  }  READY_TO_RETURN;}