INDEX CLUSTER FEATURES SHORT FRAMES NO FRAMES

indexing

title: "Color defined by intensity of the red, green, blue color. ", "WEL: library of reusable components for Eiffel. ", "Based on WEL library for ISE Eiffel, used with permission. "
project: "Windows Eiffel Library"
copyright: "(c) 1986-1997 Interactive Software Engineering Inc. ", "Modifications and extensions: ", "(c) 1997 Object Tools ", "All rights reserved. Duplication and distribution prohibited", "May be used only with Visual Eiffel under terms of user ", "license "
cluster: wel
class WEL_COLOR_REF
inherit

WEL_ANY
export
{ANY}
clone,
copy,
is_equal
redefine
exists,
is_equal
end

WEL_COLOR_CONSTANTS
export
{NONE}
all
{ANY}
valid_color_constant
undefine
is_equal
end
creation

make,
make_by_pointer,
make_rgb,
make_system
feature {NONE}-- Initialization

make
-- Make a black color
ensure
red_set: red = 0
green_set: green = 0
blue_set: blue = 0

make_rgb (a_red, a_green, a_blue: INTEGER)
-- Set `red', `green', `blue' with
-- `a_red', `a_green', `a_blue'
require
valid_red_inf: a_red >= 0
valid_red_sup: a_red <= 255
valid_green_inf: a_green >= 0
valid_green_sup: a_green <= 255
valid_blue_inf: a_blue >= 0
valid_blue_sup: a_blue <= 255
ensure
red_set: red = a_red
green_set: green = a_green
blue_set: blue = a_blue

make_system (index: INTEGER)
-- Make a system color identified by `index'.
-- See WEL_COLOR_CONSTANTS for `index' values.
require
valid_color_constant: valid_color_constant (index)
feature -- Access

red: INTEGER
-- Intensity value for the red component

green: INTEGER
-- Intensity value for the green component

blue: INTEGER
-- Intensity value for the blue component
feature -- Element change

set_rgb (a_red, a_green, a_blue: INTEGER)
-- Set `red', `green', `blue' with
-- `a_red', `a_green', `a_blue'
require
valid_red_inf: a_red >= 0
valid_red_sup: a_red <= 255
valid_green_inf: a_green >= 0
valid_green_sup: a_green <= 255
valid_blue_inf: a_blue >= 0
valid_blue_sup: a_blue <= 255
ensure
red_set: red = a_red
green_set: green = a_green
blue_set: blue = a_blue

set_red (a_red: INTEGER)
-- Set `red' with `a_red'
require
valid_red_inf: a_red >= 0
valid_red_sup: a_red <= 255
ensure
red_set: red = a_red

set_green (a_green: INTEGER)
-- Set `green' with `a_green'
require
valid_green_inf: a_green >= 0
valid_green_sup: a_green <= 255
ensure
green_set: green = a_green

set_blue (a_blue: INTEGER)
-- Set `blue' with `a_blue'
require
valid_blue_inf: a_blue >= 0
valid_blue_sup: a_blue <= 255
ensure
blue_set: blue = a_blue
feature -- Status report

exists: BOOLEAN
feature -- Comparison

is_equal (other: like Current): BOOLEAN
-- Is `Current' equal to `other'?
invariant

exists: exists
valid_red_inf: red >= 0
valid_red_sup: red <= 255
valid_green_inf: green >= 0
valid_green_sup: green <= 255
valid_blue_inf: blue >= 0
valid_blue_sup: blue <= 255
end -- class WEL_COLOR_REF

INDEX CLUSTER FEATURES SHORT FRAMES NO FRAMES