note
	description: "Read-only version of a {GAME_PIXEL_FORMAT}."
	author: "Louis Marchand"
	date: "Thu, 02 Apr 2015 02:40:10 +0000"
	revision: "2.0"

class interface
	GAME_PIXEL_FORMAT_READABLE

create {GAME_SDL_ANY}
	make_from_flags,
	make_from_structure_pointer,
	share_from_structure_pointer,
	own_from_structure_pointer,
	make_from_bits_per_pixel_and_masks


create 
	make_from_other

feature -- Access

	out: STRING_8
			-- A text representation of the pixel format of Current.

	is_indexed: BOOLEAN
			-- Current used an indexed color system

	has_alpha: BOOLEAN
			-- Current used a color system with alpha channel

	is_four_cc: BOOLEAN
			-- Current used a color system that represent a FourCC format (Like YUV)

	is_unknown: BOOLEAN
			-- the pixel format of Current is unknown

	is_type_index_1: BOOLEAN
			-- the pixel format of Current is of type index 1 bit

	is_type_index_4: BOOLEAN
			-- the pixel format of Current is of type index 4 bits

	is_type_index_8: BOOLEAN
			-- the pixel format of Current is of type index 8 bits

	is_type_packed_8: BOOLEAN
			-- the pixel format of Current is of type packed 8 bits

	is_type_packed_16: BOOLEAN
			-- the pixel format of Current is of type packed 16 bits

	is_type_packed_32: BOOLEAN
			-- the pixel format of Current is of type packed 32 bits

	is_type_array_natural_8: BOOLEAN
			-- the pixel format of Current is of type array of 8 bits natural number (ARRAYU8)

	is_type_array_natural_16: BOOLEAN
			-- the pixel format of Current is of type array of 16 bits natural number (ARRAYU16)

	is_type_array_natural_32: BOOLEAN
			-- the pixel format of Current is of type array of 32 bits natural number (ARRAYU16)

	is_type_unknown: BOOLEAN
			-- the pixel format of Current is not of a known type

	is_order_bitmap_1234: BOOLEAN
			-- The bitmap pixel order (high bit -> low bit) or Current is 1234
		require
			is_bitmaped: is_type_index_1 or is_type_index_4

	is_order_bitmap_4321: BOOLEAN
			-- The bitmap pixel order (high bit -> low bit) or Current is 4321
		require
			is_bitmaped: is_type_index_1 or is_type_index_4

	is_order_bitmap_unknow: BOOLEAN
			-- The bitmap pixel order (high bit -> low bit) or Current is unknown
		require
			is_bitmaped: is_type_index_1 or is_type_index_4

	is_order_packed_xrgb: BOOLEAN
			-- The packed component order (high bit -> low bit) or Current is XRGB
		require
			is_packed: is_type_packed_8 or is_type_packed_16 or is_type_packed_32

	is_order_packed_rgbx: BOOLEAN
			-- The packed component order (high bit -> low bit) or Current is RGBX
		require
			is_packed: is_type_packed_8 or is_type_packed_16 or is_type_packed_32

	is_order_packed_argb: BOOLEAN
			-- The packed component order (high bit -> low bit) or Current is ARGB
		require
			is_packed: is_type_packed_8 or is_type_packed_16 or is_type_packed_32

	is_order_packed_rgba: BOOLEAN
			-- The packed component order (high bit -> low bit) or Current is RGBA
		require
			is_packed: is_type_packed_8 or is_type_packed_16 or is_type_packed_32

	is_order_packed_xbgr: BOOLEAN
			-- The packed component order (high bit -> low bit) or Current is XBGR
		require
			is_packed: is_type_packed_8 or is_type_packed_16 or is_type_packed_32

	is_order_packed_bgrx: BOOLEAN
			-- The packed component order (high bit -> low bit) or Current is BGRX
		require
			is_packed: is_type_packed_8 or is_type_packed_16 or is_type_packed_32

	is_order_packed_abgr: BOOLEAN
			-- The packed component order (high bit -> low bit) or Current is ABGR
		require
			is_packed: is_type_packed_8 or is_type_packed_16 or is_type_packed_32

	is_order_packed_bgra: BOOLEAN
			-- The packed component order (high bit -> low bit) or Current is BGRA
		require
			is_packed: is_type_packed_8 or is_type_packed_16 or is_type_packed_32

	is_order_packed_unknown: BOOLEAN
			-- The packed component order (high bit -> low bit) or Current is not known
		require
			is_packed: is_type_packed_8 or is_type_packed_16 or is_type_packed_32

	is_order_array_rgb: BOOLEAN
			-- The arrayed component order (low byte -> high byte) or Current is RGB
		require
			is_arrayed: is_type_array_natural_8 or is_type_array_natural_16 or is_type_array_natural_32

	is_order_array_rgba: BOOLEAN
			-- The arrayed component order (low byte -> high byte) or Current is RGBA
		require
			is_arrayed: is_type_array_natural_8 or is_type_array_natural_16 or is_type_array_natural_32

	is_order_array_argb: BOOLEAN
			-- The arrayed component order (low byte -> high byte) or Current is ARGB
		require
			is_arrayed: is_type_array_natural_8 or is_type_array_natural_16 or is_type_array_natural_32

	is_order_array_bgr: BOOLEAN
			-- The arrayed component order (low byte -> high byte) or Current is BGR
		require
			is_arrayed: is_type_array_natural_8 or is_type_array_natural_16 or is_type_array_natural_32

	is_order_array_bgra: BOOLEAN
			-- The arrayed component order (low byte -> high byte) or Current is BGRA
		require
			is_arrayed: is_type_array_natural_8 or is_type_array_natural_16 or is_type_array_natural_32

	is_order_array_abgr: BOOLEAN
			-- The arrayed component order (low byte -> high byte) or Current is ABGR
		require
			is_arrayed: is_type_array_natural_8 or is_type_array_natural_16 or is_type_array_natural_32

	is_order_array_unknown: BOOLEAN
			-- The arrayed component order (low byte -> high byte) or Current is not known
		require
			is_arrayed: is_type_array_natural_8 or is_type_array_natural_16 or is_type_array_natural_32

	is_packed_layout_332: BOOLEAN
			-- Current have the channel layouts 332
		require
			is_packed: is_type_packed_8

	is_packed_layout_4444: BOOLEAN
			-- Current have the channel layouts 4444
		require
			is_packed: is_type_packed_16

	is_packed_layout_1555: BOOLEAN
			-- Current have the channel layouts 1555
		require
			is_packed: is_type_packed_16

	is_packed_layout_5551: BOOLEAN
			-- Current have the channel layouts 5551
		require
			is_packed: is_type_packed_16

	is_packed_layout_565: BOOLEAN
			-- Current have the channel layouts 565
		require
			is_packed: is_type_packed_16

	is_packed_layout_8888: BOOLEAN
			-- Current have the channel layouts 8888
		require
			is_packed: is_type_packed_32

	is_packed_layout_2101010: BOOLEAN
			-- Current have the channel layouts 2101010
		require
			is_packed: is_type_packed_32

	is_packed_layout_1010102: BOOLEAN
			-- Current have the channel layouts 1010102
		require
			is_packed: is_type_packed_32

	is_index1lsb: BOOLEAN
			-- the pixel format of Current is index1lsb

	is_index1msb: BOOLEAN
			-- the pixel format of Current is index1msb

	is_index4lsb: BOOLEAN
			-- the pixel format of Current is index4lsb

	is_index4msb: BOOLEAN
			-- the pixel format of Current is index4msb

	is_index8: BOOLEAN
			-- the pixel format of Current is index8

	is_rgb332: BOOLEAN
			-- the pixel format of Current is rgb332

	is_rgb444: BOOLEAN
			-- the pixel format of Current is rgb444

	is_rgb555: BOOLEAN
			-- the pixel format of Current is rgb555

	is_bgr555: BOOLEAN
			-- the pixel format of Current is bgr555

	is_argb4444: BOOLEAN
			-- the pixel format of Current is argb4444

	is_rgba4444: BOOLEAN
			-- the pixel format of Current is rgba4444

	is_abgr4444: BOOLEAN
			-- the pixel format of Current is abgr4444

	is_bgra4444: BOOLEAN
			-- the pixel format of Current is bgra4444

	is_argb1555: BOOLEAN
			-- the pixel format of Current is argb1555

	is_rgba5551: BOOLEAN
			-- the pixel format of Current is rgba5551

	is_abgr1555: BOOLEAN
			-- the pixel format of Current is abgr1555

	is_bgra5551: BOOLEAN
			-- the pixel format of Current is bgra5551

	is_rgb565: BOOLEAN
			-- the pixel format of Current is rgb565

	is_bgr565: BOOLEAN
			-- the pixel format of Current is bgr565

	is_rgb24: BOOLEAN
			-- the pixel format of Current is rgb24

	is_bgr24: BOOLEAN
			-- the pixel format of Current is bgr24

	is_rgb888: BOOLEAN
			-- the pixel format of Current is rgb888

	is_rgbx8888: BOOLEAN
			-- the pixel format of Current is rgbx8888

	is_bgr888: BOOLEAN
			-- the pixel format of Current is bgr888

	is_bgrx8888: BOOLEAN
			-- the pixel format of Current is bgrx8888

	is_argb8888: BOOLEAN
			-- the pixel format of Current is argb8888

	is_rgba8888: BOOLEAN
			-- the pixel format of Current is rgba8888

	is_abgr8888: BOOLEAN
			-- the pixel format of Current is abgr8888

	is_bgra8888: BOOLEAN
			-- the pixel format of Current is bgra8888

	is_argb2101010: BOOLEAN
			-- the pixel format of Current is argb2101010

	is_yv12: BOOLEAN
			-- the pixel format of Current is yv12

	is_iyuv: BOOLEAN
			-- the pixel format of Current is iyuv

	is_yuy2: BOOLEAN
			-- the pixel format of Current is yuy2

	is_uyvy: BOOLEAN
			-- the pixel format of Current is uyvy

	is_yvyu: BOOLEAN
			-- the pixel format of Current is yvyu

	is_unsuported: BOOLEAN
			-- the pixel format of Current is not currently supported

	is_equal (a_other: like Current): BOOLEAN
			-- Is other attached to an object considered
			-- equal to current object?

	bits_per_pixel: INTEGER_32
			-- The number of significant bits in a pixel value

	bytes_per_pixel: INTEGER_32
			-- The number of bytes in a pixel value

	masks: TUPLE [red_mask: NATURAL_32; green_mask: NATURAL_32; blue_mask: NATURAL_32; alpha_mask: NATURAL_32]
			-- Masks representing the location of the red, green, blue and alpha components of the pixel

	color_palette: detachable GAME_COLOR_PALETTE
			-- The palette of color used in the indexed pixel format
		require
			is_indexed: is_indexed
	
feature -- Implementation

	dispose
			-- Action to be executed just before garbage collection
			-- reclaims an object.
			-- Effect it in descendants to perform specific dispose
			-- actions. Those actions should only take care of freeing
			-- external resources; they should not perform remote calls
			-- on other objects since these may also be dead and reclaimed.
	
end -- class GAME_PIXEL_FORMAT_READABLE

Generated by ISE EiffelStudio