indexing
	description: "Information about messages Wm_mousemove, Wm_lbuttondown, Wm_mbuttondown, Wm_rbuttondown, Wm_lbuttonup, Wm_mbuttonup, Wm_rbuttonup, Wm_lbuttondblclk, Wm_mbuttondblclk, Wm_rbuttondblclk. Theses message are sent when the user clicks on the mouse."
	status: "See notice at end of class."
	date: "$Date$"
	revision: "$Revision$"

class interface
	WEL_MOUSE_MESSAGE

create 

	make (a_window: WEL_WINDOW; a_message, a_w_param, a_l_param: INTEGER)
			-- Set window, message, w_param, l_param with
			-- a_window, a_message, a_w_param, a_l_param
			-- (from WEL_MESSAGE_INFORMATION)
		ensure -- from WEL_MESSAGE_INFORMATION
			window_set: window = a_window
			message_set: message = a_message
			w_param_set: w_param = a_w_param
			l_param_set: l_param = a_l_param

feature -- Initialization

	make (a_window: WEL_WINDOW; a_message, a_w_param, a_l_param: INTEGER)
			-- Set window, message, w_param, l_param with
			-- a_window, a_message, a_w_param, a_l_param
			-- (from WEL_MESSAGE_INFORMATION)
		ensure -- from WEL_MESSAGE_INFORMATION
			window_set: window = a_window
			message_set: message = a_message
			w_param_set: w_param = a_w_param
			l_param_set: l_param = a_l_param
	
feature -- Access

	keys: INTEGER
			-- Keys flags.
			-- See class WEL_MK_CONSTANTS for different values.

	l_param: INTEGER
			-- Additional information about message. The exact
			-- meaning depends on the value of message.
			-- (from WEL_MESSAGE_INFORMATION)

	message: INTEGER
			-- Message number. See class WEL_WM_CONSTANTS for
			-- different values.
			-- (from WEL_MESSAGE_INFORMATION)

	w_param: INTEGER
			-- Additional information about message. The exact
			-- meaning depends on the value of message.
			-- (from WEL_MESSAGE_INFORMATION)

	window: WEL_WINDOW
			-- Window which receives message
			-- (from WEL_MESSAGE_INFORMATION)

	x: INTEGER
			-- Horizontal position of cursor

	y: INTEGER
			-- Vertical position of cursor
	
feature -- Status report

	control_down: BOOLEAN
			-- Is the CTRL key down?

	left_button_down: BOOLEAN
			-- Is the left mouse button down?

	middle_button_down: BOOLEAN
			-- Is the middle mouse button down?

	right_button_down: BOOLEAN
			-- Is the right mouse button down?

	shift_down: BOOLEAN
			-- Is the SHIFT key down?
	
invariant

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

end -- class WEL_MOUSE_MESSAGE