summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorReinhard Nißl <rnissl@gmx.de>2009-01-02 18:00:01 +0000
committerReinhard Nißl <rnissl@gmx.de>2009-01-02 18:00:01 +0000
commitdb791923958fd4c72f75d4fede7aff189ff879a2 (patch)
tree42445acb47eba45f3015d44d1b5008ec227fbcc9 /include
parentfd02e4d93b00d02cf784018c274c26a142324003 (diff)
downloadxine-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.in24
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