int GGI_lin1r_putpixel_nc(struct ggi_visual *vis, int x, int y, ggi_pixel col) { if (col & 1) { *PIXEL_WADDR(vis,x,y) |= (0x01 << (x & 7)); } else { *PIXEL_WADDR(vis,x,y) &= ~(0x01 << (x & 7)); } return 0; }
int GGI_lin1r_drawpixel_nc(struct ggi_visual *vis, int x, int y) { if (LIBGGI_GC_FGCOLOR(vis) & 1) { *PIXEL_WADDR(vis,x,y) |= (0x01 << (x & 7)); } else { *PIXEL_WADDR(vis,x,y) &= ~(0x01 << (x & 7)); } return 0; }
int GGI_t32_putpixel_nca(ggi_visual *vis, int x, int y, ggi_pixel col) { PREPARE_FB(vis); *PIXEL_WADDR(vis, x, y) = col; return 0; }
int GGI_t32_drawpixel_nca(ggi_visual *vis, int x, int y) { PREPARE_FB(vis); *PIXEL_WADDR(vis, x, y) = LIBGGI_GC_FGCOLOR(vis); return 0; }
int GGI_t16_putpixel(struct ggi_visual *vis, int x, int y, ggi_pixel col) { CHECKXY(vis, x, y); *PIXEL_WADDR(vis, x, y) = col; return 0; }
int GGI_t16_drawpixel(struct ggi_visual *vis, int x, int y) { CHECKXY(vis, x, y); *PIXEL_WADDR(vis, x, y) = LIBGGI_GC_FGCOLOR(vis); return 0; }
int GGI_ipl2_putpixel_nc(struct ggi_visual *vis, int x, int y, ggi_pixel col) { uint16_t *dest = PIXEL_WADDR(vis, x, y); uint16_t mask = 0x8000 >> (x & 15); int i; for (i=GT_DEPTH(LIBGGI_GT(vis)); i > 0; i--) { if (col & 1) { *dest++ |= mask; } else { *dest++ &= ~mask; } col >>= 1; } return 0; }
int GGI_ilbm_putpixel_nc(ggi_visual *vis, int x, int y, ggi_pixel col) { uint16_t *dest = PIXEL_WADDR(vis, x, y); uint16_t mask = 0x8000 >> (x & 15); int plane_add = LIBGGI_W_PLAN(vis).next_plane / 2; int i; for (i=GT_DEPTH(LIBGGI_GT(vis)); i > 0; i--) { if (col & 1) { *dest |= mask; } else { *dest &= ~mask; } col >>= 1; dest += plane_add; } return 0; }
int GGI_t16_putpixel_nc(struct ggi_visual *vis, int x, int y, ggi_pixel col) { *PIXEL_WADDR(vis, x, y) = col; return 0; }
int GGI_t32_drawpixel_nc(struct ggi_visual *vis, int x, int y) { *PIXEL_WADDR(vis, x, y) = LIBGGI_GC_FGCOLOR(vis); return 0; }