Eiffel Media API
Overview Cluster Class Classes Index      Previous Next      Top Features

em.video

Class EM_COLOR



Creation

Features

Invariants

indexing

description

Color for the EiffelMedia library.

date

$Date: 2005/10/23 10:40:29 $

revision

$Revision: 1.12 $

class

EM_COLOR

create

make

-- Default creation.

ensure
alpha_set: alpha = 255
make_black

-- Create a black color.

ensure
red_set: red = 0
green_set: green = 0
blue_set: blue = 0
alpha_set: alpha = 255
make_white

-- Create a white color

ensure
red_set: red = 255
green_set: green = 255
blue_set: blue = 255
alpha_set: alpha = 255
make_with_rgb (red_value, green_value, blue_value: INTEGER)

-- Create color with red_value, green_value and blue_value.

require
red_value_in_range: 0 <= red_value and red_value <= 255
green_value_in_range: 0 <= green_value and green_value <= 255
blue_value_in_range: 0 <= blue_value and blue_value <= 255
ensure
red_set: red = red_value
green_set: green = green_value
blue_set: blue = blue_value
alpha_set: alpha = 255
make_transparent

-- Create with alpha = 0

ensure
red_set: red = 255
green_set: green = 255
blue_set: blue = 255
alpha_set: alpha = 0

create {EM_PALETTE}

make_from_pointer (a_pointer: POINTER)

-- Initialise with struct at a_pointer.

feature -- Initialization

make

-- Default creation.

ensure
alpha_set: alpha = 255
make_black

-- Create a black color.

ensure
red_set: red = 0
green_set: green = 0
blue_set: blue = 0
alpha_set: alpha = 255
make_transparent

-- Create with alpha = 0

ensure
red_set: red = 255
green_set: green = 255
blue_set: blue = 255
alpha_set: alpha = 0
make_white

-- Create a white color

ensure
red_set: red = 255
green_set: green = 255
blue_set: blue = 255
alpha_set: alpha = 255
make_with_rgb (red_value, green_value, blue_value: INTEGER)

-- Create color with red_value, green_value and blue_value.

require
red_value_in_range: 0 <= red_value and red_value <= 255
green_value_in_range: 0 <= green_value and green_value <= 255
blue_value_in_range: 0 <= blue_value and blue_value <= 255
ensure
red_set: red = red_value
green_set: green = green_value
blue_set: blue = blue_value
alpha_set: alpha = 255

feature -- Access

alpha: INTEGER

-- Opacity of the color
-- (value of 0 means transparent, 255 is opaque)

blue: INTEGER

-- Blue spectre of the color

green: INTEGER

-- Green spectre of the color

red: INTEGER

-- Red spectre of the color

sdl_pointer: POINTER

-- Pointer to sdl struct for passing this color to SDL.

feature -- Element change

set_alpha (a_value: INTEGER)

-- Set alpha to a_value

require
a_value_in_range: 0 <= a_value and a_value <= 255
ensure
blue_set: alpha = a_value
set_blue (a_value: INTEGER)

-- Set blue spectre of the color to a_value

require
a_value_in_range: 0 <= a_value and a_value <= 255
ensure
blue_set: blue = a_value
set_green (a_value: INTEGER)

-- Set green spectre of the color to a_value

require
a_value_in_range: 0 <= a_value and a_value <= 255
ensure
green_set: green = a_value
set_red (a_value: INTEGER)

-- Set red spectre of the color to a_value

require
a_value_in_range: 0 <= a_value and a_value <= 255
ensure
red_set: red = a_value

feature -- Basic operations

brighter: EM_COLOR

-- A brighter variant of Current.

ensure
brighter_color_not_void: Result /= Void
darker: EM_COLOR

-- A darker variant of Current.

ensure
darker_color_not_void: Result /= Void

invariant

sdl_colors_not_void: sdl_color_struct /= Void

-- From ANY
reflexive_equality: standard_is_equal (Current)
reflexive_conformance: conforms_to (Current)

end