' color tables
LET cspace_rgb%=&H1
LET cspace_argb%=&H2
LET cspace_cmyk%=&H4
'
LET cbitmap_magic%=&H6362746D    !'cbtm'
LET color_tab_magic%=&H63746162  !'ctab'
'
' offsets for gcbitmap structure used by vr_transfer_bits()
LET gc_magic&=0
LET gc_length&=4
LET gc_format&=8
LET gc_reserved&=12
LET gc_addr&=16
LET gc_width&=20
LET gc_bits&=24
LET gc_px_format&=28
LET gc_xmin&=32
LET gc_ymin&=36
LET gc_xmax&=40
LET gc_ymax&=44
LET gc_ctab&=48
LET gc_itab&=52
LET gc_reserved0&=56
LET gc_reserved1&=60
'
' offsets for color table structure
LET ct_magic&=0
LET ct_length&=4
LET ct_format&=8
LET ct_reserved&=12
LET ct_map_id&=16
LET ct_color_space&=20
LET ct_flags&=24
LET ct_no_colors&=28
LET ct_reserved1&=32
LET ct_reserved2&=36
LET ct_reserved3&=40
LET ct_reserved4&=44
LET ct_colors&=48
'
' modes for vr_transfer_bits()
LET t_not&=4            !constant for inversion in logical transfer modes
LET t_colorize&=16      !constant for coloring
'
LET t_logic_mode&=0
LET t_draw_mode&=32
LET t_arith_mode&=64    !constants for arithmetic transfer modes
LET t_dither_mode&=128  !constant for dithering
'
' logical transfer modes
LET t_logic_copy&=t_logic_mode&+0
LET t_logic_or&=t_logic_mode&+1
LET t_logic_xor&=t_logic_mode&+2
LET t_logic_and&=t_logic_mode&+3
LET t_logic_not_copy&=t_logic_mode&+4
LET t_logic_not_or&=t_logic_mode&+5
LET t_logic_not_xor&=t_logic_mode&+6
LET t_logic_not_and&=t_logic_mode&+7
'
' drawing modes
LET t_replace&=t_draw_mode&+0
LET t_transparent&=t_draw_mode&+1
LET t_hilite&=t_draw_mode&+2
LET t_revers_transparent&=t_draw_mode&+3
'
' arithmetic transfer modes
LET t_blend&=t_arith_mode&+0
LET t_add&=t_arith_mode&+1
LET t_add_over&=t_arith_mode&+2
LET t_sub&=t_arith_mode&+3
LET t_max&=t_arith_mode&+5
LET t_sub_over&=t_arith_mode&+6
LET t_min&=t_arith_mode&+7
'
' Constants for pixel formats
LET px_1comp%=&H1000000    !Pixel consists of one used component: color index
LET px_3comp%=&H3000000    !Pixel consists of three components used, e.g. RGB
LET px_4comp%=&H4000000    !Pixel consists of four components used, e.g. CMYK
'
LET px_reversed%=&H800000  !Pixel is output in reverse byte order
LET px_xfirst%=&H400000    !unused bits precede the used bits (viewed in Motorola format)
LET px_kfirst%=&H200000    !K is in front of CMY (viewed in Motorola format)
LET px_afirst%=&H100000    !Alpha channels are in front of the color bits (viewed in Motorola format)
'
LET px_packed%=&H20000     !Bits are stored consecutively
LET px_planes%=&H10000     !Bits are distributed over several levels (order: 0, 1, ..., n)
LET px_iplanes%=&H0        !Bits are distributed over several words (order: 0, 1, ..., n)
'
LET px_uses1%=&H100        !1 bits of the pixel are used
LET px_uses2%=&H200        !2 bits of the pixel are used
LET px_uses3%=&H300        !3 bits of the pixel are used
LET px_uses4%=&H400        !4 bits of the pixel are used
LET px_uses8%=&H800        !8 bits of the pixel are used
LET px_uses15%=&HF00       !15 bits of the pixel are used
LET px_uses16%=&H1000      !16 bits of the pixel are used
LET px_uses24%=&H1800      !24 bits of the pixel are used
LET px_uses32%=&H2000      !32 bits of the pixel are used
LET px_uses48%=&H3000      !48 bits of the pixel are used
'
LET px_1bit%=&H1           !Pixel consists of 1 Bit
LET px_2bit%=&H2           !Pixel consists of 2 Bit
LET px_3bit%=&H3           !Pixel consists of 3 Bit
LET px_4bit%=&H4           !Pixel consists of 4 Bit
LET px_8bit%=&H8           !Pixel consists of 8 Bit
LET px_16bit%=&H10         !Pixel consists of 16 Bit
LET px_24bit%=&H18         !Pixel consists of 24 Bit
LET px_32bit%=&H20         !Pixel consists of 32 Bit
LET px_48bit%=&H30         !Pixel consists of 48 Bit
'
LET px_cmpnts%=&HF000000   !Mask for number of pixel components
LET px_flags%=&HF00000     !Mask for various flags
LET px_packing%=&H30000    !Mask for pixel format
LET px_used%=&H3F00        !Mask for the number of bits used
LET px_bits%=&H3F          !Mask for the number of bits per pixel
'
' Pixel formats for ATARI graphics
LET px_atari1%=(px_packed%+px_1comp%+px_uses1%+px_1bit%)
LET px_atari2%=(px_iplanes%+px_1comp%+px_uses2%+px_2bit%)
LET px_atari4%=(px_iplanes%+px_1comp%+px_uses4%+px_4bit%)
LET px_atari8%=(px_iplanes%+px_1comp%+px_uses8%+px_8bit%)
LET px_falcon15%=(px_packed%+px_3comp%+px_uses16%+px_16bit%)
'
' Pixel formats for Macintosh
LET px_mac1%=(px_packed%+px_1comp%+px_uses1%+px_1bit%)
LET px_mac4%=(px_packed%+px_1comp%+px_uses4%+px_4bit%)
LET px_mac8%=(px_packed%+px_1comp%+px_uses8%+px_8bit%)
LET px_mac15%=(px_xfirst%+px_packed%+px_3comp%+px_uses15%+px_16bit%)
LET px_mac32%=(px_xfirst%+px_packed%+px_3comp%+px_uses24%+px_32bit%)
'
' Pixel formats for graphics cards
LET px_vga1%=(px_packed%+px_1comp%+px_uses1%+px_1bit%)
LET px_vga4%=(px_planes%+px_1comp%+px_uses4%+px_4bit%)
LET px_vga8%=(px_packed%+px_1comp%+px_uses8%+px_8bit%)
LET px_vga15%=(px_reversed%+px_xfirst%+px_packed%+px_3comp%+px_uses15%+px_16bit%)
LET px_vga16%=(px_reversed%+px_packed%+px_3comp%+px_uses16%+px_16bit%)
LET px_vga24%=(px_reversed%+px_packed%+px_3comp%+px_uses24%+px_24bit%)
LET px_vga32%=(px_reversed%+px_xfirst%+px_packed%+px_3comp%+px_uses24%+px_32bit%)
'
LET px_matrix16%=(px_packed%+px_3comp%+px_uses16%+px_16bit%)
'
LET px_nova32%=(px_packed%+px_3comp%+px_uses24%+px_32bit%)
'
' Pixel formats for printers
LET px_prn1%=(px_packed%+px_1comp%+px_uses1%+px_1bit%)
LET px_prn8%=(px_packed%+px_1comp%+px_uses8%+px_8bit%)
LET px_prn32%=(px_xfirst%+px_packed%+px_3comp%+px_uses24%+px_32bit%)
'
' preferred (fast) pixel formats for bitmaps
LET px_pref1%=(px_packed%+px_1comp%+px_uses1%+px_1bit%)
LET px_pref2%=(px_packed%+px_1comp%+px_uses2%+px_2bit%)
LET px_pref4%=(px_packed%+px_1comp%+px_uses4%+px_4bit%)
LET px_pref8%=(px_packed%+px_1comp%+px_uses8%+px_8bit%)
LET px_pref15%=(px_xfirst%+px_packed%+px_3comp%+px_uses15%+px_16bit%)
LET px_pref32%=(px_xfirst%+px_packed%+px_3comp%+px_uses24%+px_32bit%)
'
LET px_pref24%=(px_packed%+px_3comp%+px_uses24%+px_24bit%)  !added by lp, was missing?
