Ejemplo n.º 1
0
    def createVideoDDS(self, ddobj, size=None):
        if self._rect is None:
            return
        if size is not None:
            w, h = size
        else:
            w, h = self._rect[2:]

        if ddobj is None:
            intefacePtr = Qt.GetDDObject()
            if intefacePtr:
                ddobj = ddraw.CreateDirectDrawWrapper(intefacePtr)

        if ddobj:
            self._ddobj = ddobj
            ddsd = ddraw.CreateDDSURFACEDESC()
            ddsd.SetFlags(ddraw.DDSD_WIDTH | ddraw.DDSD_HEIGHT
                          | ddraw.DDSD_CAPS)
            ddsd.SetCaps(ddraw.DDSCAPS_OFFSCREENPLAIN)
            ddsd.SetSize(w, h)
            self._dds = ddobj.CreateSurface(ddsd)
            Qt.SetDDObject(self._ddobj)
            Qt.SetDDPrimarySurface(self._dds)

        self._movie.SetMovieBox((0, 0, w, h))
        self._movie.SetMovieActive(1)