COMMENT @----------------------------------------------------------------------

	Copyright (c) GeoWorks 1989 -- All Rights Reserved

PROJECT:	PC GEOS
FILE:		Objects/inputC.def

DECLARER:	Kernel

DESCRIPTION:
	This file defines MetaInputMessages imported methods

	$Id: inputC.def,v 1.1 97/04/04 14:18:44 newdeal Exp $

------------------------------------------------------------------------------@

SetDef	__INPUTC

StartKernel

include Objects/metaC.def

;------------------------------------------------------------------------
;		Methods
;------------------------------------------------------------------------

MSG_META_MOUSE_BUTTON	method	MetaInputMessages
;
; This is the message sent out on any mouse button press or release.
; Emitted by mouse driver, this message passes through the Input Manager &
; to the UI, where it is converted to MSG_META_START/END_SELECT/MOVE_COPY 
; etc. messages before being passed on to applications.
;
; Pass:
;	cx = pointer x position
;	dx = pointer y position
;	bp low = ButtonInfo
;	bp high = ShiftState
; Return:
;	nothing
;	ax, cx, dx, bp - destroyed

MSG_META_MOUSE_PTR	method	MetaInputMessages
; 
; This is the message sent out on any mouse move.  Emitted by mouse driver,
; this message passes through the Input Manager & to the UI, where it is
; converted to a MSG_META_PTR before being passed on to applications.
;
; Pass:
;	cx = pointer x position
;	dx = pointer y position
;	bp low = ButtonInfo
;	bp high = ShiftState
; Return:
;	nothing
;	ax, cx, dx, bp - destroyed
;

;Chokes checkclass...
;MetaInputMessages	= MSG_META_MOUSE_PTR	; Back up counter to
;						; MSG_META_MOUSE_PTR, so
;						; MSG_META_PTR can have
;						; same value
;MSG_META_PTR	method	MetaInputMessages

MSG_META_PTR	equ	<MSG_META_MOUSE_PTR>
;
; Message sent to applications on mouse movement.
;
; Pass:
;		cx	- X position of mouse, in document coordinates of
;			  receiving object
;		dx	- X position of mouse, in document coordinates of
;			  receiving object
;
;		bp low  - ButtonInfo		(In input.def)
;			  mask BI_PRESS		- set if press
;			  mask BI_DOUBLE_PRESS	- set if double-press
;			  mask BI_B3_DOWN	- state of button 3
;			  mask BI_B2_DOWN	- state of button 2
;			  mask BI_B1_DOWN	- state of button 1
;			  mask BI_B0_DOWN	- state of button 0
;			  mask BI_BUTTON	- for non-PTR events, is
;						  physical button which has
;						  caused this event to be
;						  generated.
;		bp high - UIFunctionsActive	(In Objects/uiInputC.def)
;
; Return:
;		ax	- MouseReturnFlags	(In Objects/uiInputC.def)
; 			  mask MRF_PROCESSED - if event processed by gadget.
;					       See def. below.
;
; 			  mask MRF_REPLAY    - causes a replay of the button
;					       to the modified implied/active
;					       grab.   See def. below.
;
;			  mask MRF_SET_POINTER_IMAGE - sets the PIL_GADGET
;			  level cursor based on the value of cx:dx:
;			  cx:dx	- optr to PointerDef in sharable memory block,
;			  OR cx = 0, and dx = PtrImageValue (Internal/im.def)
;
;			  mask MRF_CLEAR_POINTER_IMAGE - Causes the PIL_GADGET
;						level cursor to be cleared
;

	
MSG_META_KBD_CHAR	method	MetaInputMessages
;
; This is the message sent out on any keyboard press or release.
;
; Pass:
;	cx - character value
;		SBCS: ch = CharacterSet, cl = Chars
;		DBCS: cx = Chars
;	dl = CharFlags
;	dh = ShiftState
;	bp low = ToggleState
;	bp high = scan code
; Return:
;	nothing
;	ax, cx, dx, bp - destroyed
;
	
MSG_META_PRESSURE	method	MetaInputMessages
MSG_META_DIRECTION	method	MetaInputMessages

MSG_META_MOUSE_TIMER	method	MetaInputMessages

MSG_META_MOUSE_DRAG	method	MetaInputMessages
;
; This is the message sent out whenever it has been determined that the user
; intends to perform a click/drag/release type of action with the mouse -- 
; basically, this method is generated following a mouse press if the mouse
; has been moved sufficient distance (to distiguish intentional movement from
; accidental movement while click/releasing), or if sufficient time has 
; passed since the press (to allow minute movement of windows/icons).
; This message is generated inside the Input Manager & passed on to the UI,
; where it is converted to MSG_META_DRAG_SELECT/MOVE_COPY etc. before being
; passed on to applications.
;
; Pass:
;	cx = pointer x position
;	dx = pointer y position
;	bp low = ButtonInfo
;	bp high = ShiftState
; Return:
;	nothing
;	cx, dx, bp - destroyed
;
	
;MSG_GADGET_REPEAT_PRESS	method	MetaInputMessages
;
; Commented out for now.  If we ever go back to having gadget repeat events
; go through the IM queue again, we'll want to add this back in, as well
; as code in im.asm, userFlowInput.asm, cviewScrollbar.asm, cviewPortWindow.asm,
; and copenApplication.asm.  There was a bug with port windows in that version.
; -cbh 10/22/90
;
;	This method is not sent off by the flow object or input manager,
; but by gadgets that currently have the active grab when they wish to
; repeat an action.  They send it to the input manager, who sends it right
; back to the object with the active grab.  It merely exists to keep the
; repeat event, which is started by a timer, synchronous with presses and
; releases, so that if a release is held up in the input manager, several
; repeat events won't make it through in the meantime.  -cbh 10/15/90
;
;	Pass:	cx, dx, bp -- arguments from the calling gadget, typically
;			      a timer tick count and ID.  These are passed
;			      back to the object, unchanged.
;

EndKernel
