diff options
author | James Courtier-Dutton <jcdutton@users.sourceforge.net> | 2002-03-08 13:50:40 +0000 |
---|---|---|
committer | James Courtier-Dutton <jcdutton@users.sourceforge.net> | 2002-03-08 13:50:40 +0000 |
commit | 4568a6f440de19e4f221a16bf7c3f57bb3bc573a (patch) | |
tree | 7c2dcb2c8a0387d7303202750a135d066a6676bb /src | |
parent | c637776abc2a051f9bfa5d10a638fdd46a86726f (diff) | |
download | xine-lib-4568a6f440de19e4f221a16bf7c3f57bb3bc573a.tar.gz xine-lib-4568a6f440de19e4f221a16bf7c3f57bb3bc573a.tar.bz2 |
Added xine OSD menu structures.
CVS patchset: 1545
CVS date: 2002/03/08 13:50:40
Diffstat (limited to 'src')
-rw-r--r-- | src/xine-engine/events.h | 10 | ||||
-rw-r--r-- | src/xine-engine/video_overlay.h | 33 |
2 files changed, 42 insertions, 1 deletions
diff --git a/src/xine-engine/events.h b/src/xine-engine/events.h index 2cdf32a88..8874fab3c 100644 --- a/src/xine-engine/events.h +++ b/src/xine-engine/events.h @@ -80,6 +80,16 @@ typedef struct { } xine_input_event_t; /* + * Menu events + */ +typedef struct { + xine_event_t event; + uint8_t button; /* Generally 1 = left, 2 = mid, 3 = right */ + uint16_t status; /* 0:no status, 1:selected, 2:actioned */ + uint8_t command[8]; /* DVD virtual machine command. */ +} xine_menu_event_t; + +/* * SPU event - send control events to the spu decoder */ typedef struct { diff --git a/src/xine-engine/video_overlay.h b/src/xine-engine/video_overlay.h index 08bf6e0a6..4eaca8e6e 100644 --- a/src/xine-engine/video_overlay.h +++ b/src/xine-engine/video_overlay.h @@ -17,7 +17,7 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA * - * $Id: video_overlay.h,v 1.5 2002/02/09 07:13:24 guenter Exp $ + * $Id: video_overlay.h,v 1.6 2002/03/08 13:50:41 jcdutton Exp $ * */ @@ -46,6 +46,35 @@ #define EVENT_SHOW_OSD 7 /* Not yet implemented */ #define EVENT_FREE_HANDLE 8 /* Frees a handle, previous allocated via get_handle */ +/* number of colors in the overlay palette. Currently limited to 256 + at most, because some alphablend functions use an 8-bit index into + the palette. This should probably be classified as a bug. */ +/* FIXME: Also defines in video_out.h */ +#define OVL_PALETTE_SIZE 256 + +typedef struct vo_buttons_s { + int32_t auto_action; /* -1:Button not valid, + 0:Button Valid, no auto_action, + 1:Button Valid, auto_action. + */ + int32_t clip_top; + int32_t clip_bottom; + int32_t clip_left; + int32_t clip_right; + int32_t up; + int32_t down; + int32_t left; + int32_t right; + uint32_t select_color[OVL_PALETTE_SIZE]; + uint8_t select_trans[OVL_PALETTE_SIZE]; + xine_menu_event_t select_event; + uint32_t active_color[OVL_PALETTE_SIZE]; + uint8_t active_trans[OVL_PALETTE_SIZE]; + xine_menu_event_t active_event; + int32_t clip_rgb_clut; /* true if clut was converted to rgb*/ + /* FIXME: Probably not needed ^^^ */ +} vo_buttons_t; + typedef struct video_overlay_object_s { int32_t handle; /* Used to match Show and Hide events. */ uint32_t object_type; /* 0=Subtitle, 1=Menu */ @@ -53,6 +82,8 @@ typedef struct video_overlay_object_s { vo_overlay_t *overlay; /* The image data. */ uint32_t palette_type; /* 1 Y'CrCB, 2 R'G'B' */ uint32_t *palette; /* If NULL, no palette contained in this event. */ + int32_t buttonN; /* Current highlighed button. -1 means no buttons present */ + vo_buttons_t button[32]; /* Info regarding each button on the overlay */ } video_overlay_object_t; /* This will hold all details of an event item, needed for event queue to function */ |