67
67
/*size has changed - indicate new w & h in .x end .y fields of event.
68
When sent to the user event proc, signals the scene size (if indicated in scene) upon connection
69
if scene size hasn't changed (seeking or other) this event is not sent
70
68
When sent from gpac to a video plugin, indicates the output size should be changed. This is only sent when the plugin
71
69
manages the output video himself
72
70
When sent from a video plugin to gpac, indicates the output size has been changed. This is only sent when the plugin
73
71
manages the output video himself
74
/*signals the scene size (if indicated in scene) upon connection (sent to the user event proc only)
75
if scene size hasn't changed (seeking or other) this event is not sent
76
78
GF_EVT_SHOWHIDE, /*window show/hide (minimized or other). This is also sent to the user to signal focus switch in fullscreen*/
77
79
GF_EVT_SET_CURSOR, /*set mouse cursor*/
78
GF_EVT_SET_STYLE, /*set window style*/
79
80
GF_EVT_SET_CAPTION, /*set window caption*/
80
81
GF_EVT_REFRESH, /*window needs repaint (whenever needed, eg restore, hide->show, background refresh, paint)*/
81
82
GF_EVT_QUIT, /*window is being closed*/
82
83
/*video hw setup message:
83
when sent from gpac to plugin, indicates that the plugin should resetup hardware context due to a window resize
84
when sent from plugin to gpac, indicates that hardware resources must be resetup before next render step (this is mainly
85
due to discard all openGL textures and cached objects.
86
This is done in two steps because depending on windowing systems it could be possible to resize a window without
87
destroying the GL context.
84
- when sent from gpac to plugin, indicates that the plugin should re-setup hardware context due to a window resize:
85
* for 2D output, this means resizing the backbuffer if needed (depending on HW constraints)
86
* for 3D output, this means re-setup of OpenGL context (depending on HW constraints). Depending on windowing systems
87
and implementations, it could be possible to resize a window without destroying the GL context.
89
- when sent from plugin to gpac, indicates that hardware resources must be resetup before next render step (this is mainly
90
due to discard all openGL textures and cached objects)
89
92
GF_EVT_VIDEO_SETUP,
90
94
/*terminal events*/
91
95
GF_EVT_CONNECT, /*signal URL is connected*/
92
96
GF_EVT_DURATION, /*signal duration of presentation*/
93
97
GF_EVT_AUTHORIZATION, /*indicates a user and pass is queried*/
94
98
GF_EVT_NAVIGATE, /*indicates the user app should load or jump to the given URL.*/
99
GF_EVT_NAVIGATE_INFO, /*indicates the link or its description under the mouse pointer*/
95
100
GF_EVT_MESSAGE, /*message from the MPEG-4 terminal*/
96
101
GF_EVT_PROGRESS, /*progress message from the MPEG-4 terminal*/
97
102
GF_EVT_VIEWPOINTS, /*indicates viewpoint list has changed - no struct associated*/
98
103
GF_EVT_STREAMLIST, /*indicates stream list has changed - no struct associated - only used when no scene info is present*/
105
GF_EVT_SYS_COLORS, /*queries the list of system colors*/
106
GF_EVT_RESET_RTI, /*forces a reset of the runtime info*/
107
GF_EVT_UPDATE_RTI, /*updates runtime info*/
101
110
/*virtual keys - codes respect MPEG4/VRML KeySensor ones*/
319
319
} GF_EventAuthorize;
322
/*event proc return value: 1 if info has been completed, 0 otherwise */
325
/*GF_EVT_SYS_COLORS*/
327
/*ARGB colors, in order:
328
ActiveBorder, ActiveCaption, AppWorkspace, Background, ButtonFace, ButtonHighlight, ButtonShadow,
329
ButtonText, CaptionText, GrayText, Highlight, HighlightText, InactiveBorder, InactiveCaption,
330
InactiveCaptionText, InfoBackground, InfoText, Menu, MenuText, Scrollbar, ThreeDDarkShadow,
331
ThreeDFace, ThreeDHighlight, ThreeDLightShadow, ThreeDShadow, Window, WindowFrame, WindowText
332
348
GF_EventProgress progress;
333
349
GF_EventConnect connect;
334
350
GF_EventCaption caption;
336
351
GF_EventCursor cursor;
337
352
GF_EventAuthorize auth;
353
GF_EventSysColors sys_cols;
359
/*display should be hidden upon initialization*/
360
GF_TERM_INIT_HIDE = 1,
361
/*no audio renderer will be created*/
362
GF_TERM_INIT_NO_AUDIO = 1<<1,
363
/*terminal is used to extract content:
364
* audio render is disabled
365
* media codecs are not threaded
366
* all composition memories are filled before rendering
367
* rendering is done after media decoding
368
* frame-rate regulation is disabled (no sleep)
369
* the user is responsible for updating the terminal
371
GF_TERM_INIT_NOT_THREADED = 1<<2,
372
/*forces 2D renderer, regardless of config file*/
373
GF_TERM_INIT_FORCE_2D = 1<<3,
374
/*forces 3D renderer, regardless of config file*/
375
GF_TERM_INIT_FORCE_3D = 1<<4
340
378
/*user object for all callbacks*/