GrafX2 2.9.3227
The ultimate 256-color painting program
Special constaints drawing modes

For 8bits machines modes (ZX Spectrum, C64, etc.) More...

Functions

static void Pixel_in_screen_egx_with_opt_preview (word x, word y, byte color, int preview)
 Paint a pixel in CPC EGX mode. More...
 
static void Pixel_in_screen_thomson_with_opt_preview (word x, word y, byte color, int preview)
 Paint a pixel in 40col Thomson MO/TO mode or TMS9918 Graphics 2. More...
 
static void Pixel_in_screen_zx_with_opt_preview (word x, word y, byte color, int preview)
 Paint a pixel with 8x8 block constraints. More...
 
static void Pixel_in_screen_gbc_with_opt_preview (word x, word y, byte color, int preview)
 Paint a pixel with GBC constraints. More...
 
static void Pixel_in_screen_c64multi_with_opt_preview (word x, word y, byte color, int preview)
 Paint a pixel with C64 MultiColor constraints. More...
 
static void Pixel_in_screen_c64fli_underlay_with_opt_preview (word x, word y, byte color, int preview)
 Paint in the background or Color RAM layer of C64 FLI. More...
 
static void Pixel_in_screen_c64fli_bitmap_with_opt_preview (word x, word y, byte color, int preview)
 Paint in the bitmap layer of C64 FLI. More...
 
static void Pixel_in_screen_underlay_with_opt_preview (word x, word y, byte color, int preview)
 Paint a a single pixel in image and optionnaly on screen : in a layer under one that acts as a layer-selector (mode 5). More...
 
static void Pixel_in_screen_overlay_with_opt_preview (word x, word y, byte color, int preview)
 Paint a single pixel in the layer 5 of CPC rasterized modes. More...
 
void Update_color_hgr_pixel (word x, word y, int preview)
 generate color pixels in layer 2 from the monochrome layer 1 More...
 
static void Pixel_in_screen_hgr_mono_with_opt_preview (word x, word y, byte color, int preview)
 Paint a pixel in HGR mode in the monochrome layer. More...
 
static void Pixel_in_screen_hgr_color_with_opt_preview (word x, word y, byte color, int preview)
 Paint in the color layer of HGR. More...
 
void Update_color_dhgr_pixel (word x, word y, int preview)
 Update the color layer of DHGR according to the monochrome layer. More...
 
static void Pixel_in_screen_dhgr_mono_with_opt_preview (word x, word y, byte color, int preview)
 Paint in the monochrome layer of DHGR. More...
 
static void Pixel_in_screen_dhgr_color_with_opt_preview (word x, word y, byte color, int preview)
 Paint in the color layer of DHGR. More...
 

Detailed Description

For 8bits machines modes (ZX Spectrum, C64, etc.)

Function Documentation

◆ Pixel_in_screen_egx_with_opt_preview()

static void Pixel_in_screen_egx_with_opt_preview ( word  x,
word  y,
byte  color,
int  preview 
)
static

Paint a pixel in CPC EGX mode.

even lines have 2x more pixel than odd lines, but less colors

References T_Document::backups, T_Page::Image_mode, IMAGE_MODE_EGX, Main, T_List_of_pages::Pages, Pixel_in_screen_layered_with_opt_preview(), and T_Polygon_edge::x.

Referenced by Update_pixel_renderer().

◆ Pixel_in_screen_thomson_with_opt_preview()

static void Pixel_in_screen_thomson_with_opt_preview ( word  x,
word  y,
byte  color,
int  preview 
)
static

Paint a pixel in 40col Thomson MO/TO mode or TMS9918 Graphics 2.

Only 2 colors in a 8x1 pixel block

References Pixel_in_screen_layered_with_opt_preview(), Read_pixel_from_current_layer(), and T_Polygon_edge::x.

Referenced by Update_pixel_renderer().

◆ Pixel_in_screen_zx_with_opt_preview()

static void Pixel_in_screen_zx_with_opt_preview ( word  x,
word  y,
byte  color,
int  preview 
)
static

Paint a pixel with 8x8 block constraints.

Used for ZX Spectrum and C64 HiRes modes. Only 2 colors in a 8x8 block, and for the ZX Spectrum both must be either bight or not.

References T_Document::backups, T_Page::Image_mode, IMAGE_MODE_ZX, Main, T_List_of_pages::Pages, Pixel_in_screen_layered_with_opt_preview(), Read_pixel_from_current_layer(), and T_Polygon_edge::x.

Referenced by Update_pixel_renderer().

◆ Pixel_in_screen_gbc_with_opt_preview()

static void Pixel_in_screen_gbc_with_opt_preview ( word  x,
word  y,
byte  color,
int  preview 
)
static

Paint a pixel with GBC constraints.

Same 4 color palette for all pixels in a 8x8 block.

Megadrive constraints are nearly the same : same 16 color palette in a 8x8 tile

References T_Document::backups, T_Page::Image_mode, IMAGE_MODE_MEGADRIVE, Main, T_List_of_pages::Pages, Pixel_in_screen_layered_with_opt_preview(), Read_pixel_from_current_layer(), and T_Polygon_edge::x.

Referenced by Update_pixel_renderer().

◆ Pixel_in_screen_c64multi_with_opt_preview()

static void Pixel_in_screen_c64multi_with_opt_preview ( word  x,
word  y,
byte  color,
int  preview 
)
static

Paint a pixel with C64 MultiColor constraints.

Only 4 colors in a 4x8 block, including the background color which is common for all blocks.

Todo:
support for any background color (fixed to 0 now)

References Pixel_in_screen_layered_with_opt_preview(), Read_pixel_from_current_layer(), and T_Polygon_edge::x.

Referenced by Update_pixel_renderer().

◆ Pixel_in_screen_c64fli_underlay_with_opt_preview()

static void Pixel_in_screen_c64fli_underlay_with_opt_preview ( word  x,
word  y,
byte  color,
int  preview 
)
static

◆ Pixel_in_screen_c64fli_bitmap_with_opt_preview()

static void Pixel_in_screen_c64fli_bitmap_with_opt_preview ( word  x,
word  y,
byte  color,
int  preview 
)
static

Paint in the bitmap layer of C64 FLI.

enforce C64 FLI mode constraints.

References Pixel_in_screen_layered_with_opt_preview(), Read_pixel_from_current_layer(), Read_pixel_from_layer(), and T_Polygon_edge::x.

Referenced by Update_pixel_renderer().

◆ Pixel_in_screen_underlay_with_opt_preview()

static void Pixel_in_screen_underlay_with_opt_preview ( word  x,
word  y,
byte  color,
int  preview 
)
static

Paint a a single pixel in image and optionnaly on screen : in a layer under one that acts as a layer-selector (mode 5).

References T_Document::current_layer, T_Document::image_width, Main, Main_screen, Pixel_in_current_layer(), Pixel_preview, Read_pixel_from_layer(), and T_Polygon_edge::x.

Referenced by Update_pixel_renderer().

◆ Pixel_in_screen_overlay_with_opt_preview()

static void Pixel_in_screen_overlay_with_opt_preview ( word  x,
word  y,
byte  color,
int  preview 
)
static

Paint a single pixel in the layer 5 of CPC rasterized modes.

used when IMAGE_MODE_MODE5 or IMAGE_MODE_RASTER is active.

The layer 5 acts as a layer-selector. it contains INK 0 to 3 which select one of the layer from 1 to 4, the display color is retrieved from this one.

References T_Bitmap::Image, T_Document::image_width, T_Document::layers_visible, Main, Main_screen, Main_visible_image_depth_buffer, Pixel_in_current_layer(), Pixel_preview, Read_pixel_from_layer(), and T_Polygon_edge::x.

Referenced by Update_pixel_renderer().

◆ Update_color_hgr_pixel()

void Update_color_hgr_pixel ( word  x,
word  y,
int  preview 
)

generate color pixels in layer 2 from the monochrome layer 1

For Apple II HGR mode IMAGE_MODE_HGR

References T_Document::image_width, Main, Pixel_in_layer_with_opt_preview(), Read_pixel_from_layer(), and T_Polygon_edge::x.

Referenced by Convert_to_hgr(), and Pixel_in_screen_hgr_mono_with_opt_preview().

◆ Pixel_in_screen_hgr_mono_with_opt_preview()

static void Pixel_in_screen_hgr_mono_with_opt_preview ( word  x,
word  y,
byte  color,
int  preview 
)
static

Paint a pixel in HGR mode in the monochrome layer.

  • Layer 1 is the monochrome screen. Pixels are either black or white. 2 different values to reflect high bit
  • Layer 2 is the screen seen as color

References T_Document::image_width, Main, MAX, Pixel_in_layer_with_opt_preview(), Read_pixel_from_layer(), Update_color_hgr_pixel(), and T_Polygon_edge::x.

Referenced by Pixel_in_screen_hgr_color_with_opt_preview(), and Update_pixel_renderer().

◆ Pixel_in_screen_hgr_color_with_opt_preview()

static void Pixel_in_screen_hgr_color_with_opt_preview ( word  x,
word  y,
byte  color,
int  preview 
)
static

Paint in the color layer of HGR.

  • For B&W the 1st press change the pixel, the second one change the other pixel of the pair.
  • For colors, change both monochrome pixels

References Pixel_in_screen_hgr_mono_with_opt_preview(), Read_pixel_from_layer(), and T_Polygon_edge::x.

Referenced by Update_pixel_renderer().

◆ Update_color_dhgr_pixel()

void Update_color_dhgr_pixel ( word  x,
word  y,
int  preview 
)

Update the color layer of DHGR according to the monochrome layer.

Emulate "Le Chat Mauve" mode 3 (mixed mode).

References Pixel_in_layer_with_opt_preview(), Read_pixel_from_layer(), and T_Polygon_edge::x.

Referenced by Convert_to_dhgr(), and Pixel_in_screen_dhgr_mono_with_opt_preview().

◆ Pixel_in_screen_dhgr_mono_with_opt_preview()

static void Pixel_in_screen_dhgr_mono_with_opt_preview ( word  x,
word  y,
byte  color,
int  preview 
)
static

Paint in the monochrome layer of DHGR.

also update the color pixels.

References Pixel_in_layer_with_opt_preview(), Read_pixel_from_layer(), Update_color_dhgr_pixel(), and T_Polygon_edge::x.

Referenced by Pixel_in_screen_dhgr_color_with_opt_preview(), and Update_pixel_renderer().

◆ Pixel_in_screen_dhgr_color_with_opt_preview()

static void Pixel_in_screen_dhgr_color_with_opt_preview ( word  x,
word  y,
byte  color,
int  preview 
)
static

Paint in the color layer of DHGR.

use of color 16-31 forces the cell to be monochrome.

References Pixel_in_screen_dhgr_mono_with_opt_preview(), Read_pixel_from_layer(), and T_Polygon_edge::x.

Referenced by Update_pixel_renderer().