blob: 6a0ee2fc39cc5ba051027d067d89ffcdd62dc780 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
|
/****************************************************************************
*
* $Id: rmaevent.h 7 2003-05-30 02:18:02Z gabest $
*
* Copyright (C) 1995-1999 RealNetworks, Inc. All rights reserved.
*
* This program contains proprietary information of RealNetworks, Inc.,
* and is licensed subject to restrictions on use and distribution.
*
* rmaevent.h
*
*/
#ifndef _RMAEVENT_H_
#define _RMAEVENT_H_
#define RMA_BASE_EVENT 0x00001000UL
// This class of events are events sent to site users of windowless
// sites to notify them of events on the site with platform independent
// messages.
#define RMA_SURFACE_EVENTS RMA_BASE_EVENT + 0x00001000
// RMA_SURFACE_UPDATE is sent by the site to the renderer when the
// surface has damage and needs to be updated. The event struct is
// filled out as follows:
//
// ULONG32 event; RMA_SURFACE_UPDATE
// void* window; Native Window - may be null if no window is associated with the site
// void* param1; IRMAVideoSurface*
// void* param2; UNIX - PNxWindow, Mac/Win - UNUSED
//
// void* result; HRESULT result code of message handling
// BOOL handled; TRUE if handled, FALSE if not handled
//
#define RMA_SURFACE_UPDATE RMA_SURFACE_EVENTS + 1
// Each event should document the values of PNxEvent struct expected
// on input and output.
// The next surface event should use this ID:
#define RMA_SURFACE_NEXT_EVENT RMA_SURFACE_EVENTS + 2
// This class of events are sent to site users to
// notify them of mouse events.
// All mouse events have the event structure filled out as follows:
//
// UINT32 event;
// void* window;
// void* param1; PNxPoint struct with mouse position local to the renderer
// void* param2; UINT32 of flags for modifier keys
// void* result; HRESULT result code of message handling
// BOOL handled; TRUE if handled, FALSE if not handled
//
#define RMA_MOUSE_EVENTS (RMA_BASE_EVENT + 0x00002000)
#define RMA_SHIFT_KEY 0x00000001
#define RMA_CTRL_KEY 0x00000002
#define RMA_ALT_COMMAND_KEY 0x00000004 // Apple/Splat key
#define RMA_PRIMARY_BUTTON_DOWN (RMA_MOUSE_EVENTS + 1)
#define RMA_PRIMARY_BUTTON_UP (RMA_MOUSE_EVENTS + 2)
#define RMA_CONTEXT_BUTTON_DOWN (RMA_MOUSE_EVENTS + 3)
#define RMA_CONTEXT_BUTTON_UP (RMA_MOUSE_EVENTS + 4)
#define RMA_MOUSE_MOVE (RMA_MOUSE_EVENTS + 5)
#define RMA_MOUSE_ENTER (RMA_MOUSE_EVENTS + 6)
#define RMA_MOUSE_LEAVE (RMA_MOUSE_EVENTS + 7)
// This class of events are sent to renderers to
// notify them of the validation of the window
// All window events have the event structure filled out as follows:
//
// UINT32 event;
// void* window;
// void* UNUSED;
// void* UNUSED;
// void* result; HRESULT result code of message handling
// BOOL handled; TRUE if handled, FALSE if not handled
//
#define RMA_WINDOW_EVENTS RMA_BASE_EVENT + 0x00003000
#define RMA_ATTACH_WINDOW RMA_WINDOW_EVENTS + 1
#define RMA_DETACH_WINDOW RMA_WINDOW_EVENTS + 2
// Each event class should have a comment describing the kinds
// of events that belong to this class
// The next event class should use this base:
#define RMA_NEXT_EVENT_CLASS RMA_BASE_EVENT + 0x00004000
#endif // _RMAEVENT_H_
|