This file is indexed.

/usr/share/pyshared/pyxine/osd.py is in python-pyxine 0.1alpha2-8.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

 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
91
92
# $Id: osd.py,v 1.1.1.1 2003/02/08 00:42:20 dairiki Exp $
#
# Copyright (C) 2003  Geoffrey T. Dairiki <dairiki@dairiki.org>
#
# This file is part of Pyxine, Python bindings for xine.
#
# Pyxine is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version.
#
# Pyxine is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.

from pyxine import libxine, constants, constwrap

class OsdColor:
    def __init__(self, color, trans):
        self.color, self.trans = color, trans
    def __repr__(self):
        return "<%s: (0x%06x, 0x%02x)>" % (self.__class__.__name__,
                                           self.color, self.trans)
    def __str__(self):
        return repr(self)

class Osd:
    def __init__(self, stream, width, height, x=0, y=0):
        self.this = libxine.xine_osd_new(stream.this, x, y, width, height)
        self.clear()
        self.set_font()
        self.set_text_palette(constants.XINE_TEXTPALETTE_WHITE_BLACK_TRANSPARENT)
        
    def __del__(self):
        self.hide()
        libxine.xine_osd_free(self.this)

    def set_position(self, x, y):
        libxine.xine_osd_set_position(self.this, x, y)
    def show(self, vpts=0):
        libxine.xine_osd_show(self.this, vpts)
    def hide(self, vpts=0):
        libxine.xine_osd_hide(self.this, vpts)

    def clear(self):
        libxine.xine_osd_clear(self.this)
        
    def draw_point(self, x, y, color):
        libxine.xine_osd_draw_point(self.this, x, y, color)
    def draw_line(self, x1, y1, x2, y2, color):
        libxine.xine_osd_draw_line(self.this, x1, y1, x2, y2, color)
    def draw_rect(self, x1, y1, x2, y2, color, filled=0):
        libxine.xine_osd_draw_rect(self.this, x1, y1, x2, y2, color, filled)

    def draw_text(self, x, y, text, color_base=constants.XINE_OSD_TEXT1):
        color_base = constwrap.XINE_OSD(color_base)
        libxine.xine_osd_draw_text(self.this, x, y, text, color_base)
    def set_font(self, fontname="sans", size=16):
        libxine.xine_osd_set_font(self.this, fontname, size)
    def get_text_size(self, text):
        return libxine.xine_osd_get_text_size(self.this, text)
    def set_text_palette(self,
                         palette_number=constants.XINE_TEXTPALETTE_WHITE_BLACK_TRANSPARENT,
                         color_base=constants.XINE_OSD_TEXT1):
        palette_number = constwrap.XINE_TEXTPALETTE(palette_number)
        color_base = constwrap.XINE_OSD(color_base)
        libxine.xine_osd_set_text_palette(self.this, palette_number, color_base)
        
    def get_palette(self):
        color, trans = libxine.xine_osd_get_palette(self.this)
        return map(OsdColor, color, trans)
    
    def set_palette(self, palette):
        assert palette.count() == 256
        color = map(lambda c: c.color, palette)
        trans = map(lambda c: c.trans, palette)
        libxine.xine_osd_set_palette(self.this, color, trans)

    def get_color(self, i):
        color, trans = libxine.xine_osd_get_palette(self.this)
        return OsdColor(color[i], trans[i])

    def set_color(self, i, val):
        color, trans = libxine.xine_osd_get_palette(self.this)
        color[i] = val.color
        trans[i] = val.trans
        libxine.xine_osd_set_palette(self.this, color, trans)