diff options
author | Reinhard Nißl <rnissl@gmx.de> | 2009-01-02 18:00:01 +0000 |
---|---|---|
committer | Reinhard Nißl <rnissl@gmx.de> | 2009-01-02 18:00:01 +0000 |
commit | db791923958fd4c72f75d4fede7aff189ff879a2 (patch) | |
tree | 42445acb47eba45f3015d44d1b5008ec227fbcc9 /include | |
parent | fd02e4d93b00d02cf784018c274c26a142324003 (diff) | |
download | xine-lib-db791923958fd4c72f75d4fede7aff189ff879a2.tar.gz xine-lib-db791923958fd4c72f75d4fede7aff189ff879a2.tar.bz2 |
Add framegrabbing support; extend ARGB OSD interface.
Diffstat (limited to 'include')
-rw-r--r-- | include/xine.h.in | 24 |
1 files changed, 20 insertions, 4 deletions
diff --git a/include/xine.h.in b/include/xine.h.in index f66ed0d3e..e27a58e29 100644 --- a/include/xine.h.in +++ b/include/xine.h.in @@ -2134,8 +2134,10 @@ void xine_event_send (xine_stream_t *stream, const xine_event_t *event) XINE_PRO /* yellow text, black border, transparent background */ #define XINE_TEXTPALETTE_YELLOW_BLACK_TRANSPARENT 3 -#define XINE_OSD_CAP_FREETYPE2 0x0001 /* freetype2 support compiled in */ -#define XINE_OSD_CAP_UNSCALED 0x0002 /* unscaled overlays supp. by vo drv */ +#define XINE_OSD_CAP_FREETYPE2 0x0001 /* freetype2 support compiled in */ +#define XINE_OSD_CAP_UNSCALED 0x0002 /* unscaled overlays supp. by vo drv */ +#define XINE_OSD_CAP_CUSTOM_EXTENT 0x0004 /* hardware scaled to match video output window */ +#define XINE_OSD_CAP_ARGB_LAYER 0x0008 /* supports separate true color layer */ typedef struct xine_osd_s xine_osd_t; @@ -2203,10 +2205,24 @@ void xine_osd_set_palette (xine_osd_t *self, /* * set an argb buffer to be blended into video - * this is currently only supported with vdpau + * the buffer must exactly match the osd dimensions + * and stay valid while the osd is on screen. pass + * a NULL pointer to safely remove the buffer from + * the osd layer. only the dirty area will be + * updated on screen. for convinience the whole + * osd object will be considered dirty when setting + * a different buffer pointer. + * see also XINE_OSD_CAP_ARGB_LAYER */ void xine_osd_set_argb_buffer(xine_osd_t *self, uint32_t *argb_buffer, - int x, int y, int width, int height) XINE_PROTECTED; + int dirty_x, int dirty_y, int dirty_width, int dirty_height) XINE_PROTECTED; + +/* + * define extent of reference coordinate system + * for video resolution independent osds. + * see also XINE_OSD_CAP_CUSTOM_EXTENT + */ +void xine_osd_set_extent(xine_osd_t *self, int extent_width, int extent_height) XINE_PROTECTED; /* * close osd rendering engine |