示例#1
0
 public static void ToggleVideo()
 {
     if (_Video != -1)
     {
         if (_VideoEnabled)
         {
             _VideoEnabled = false;
             CVideo.VdClose(_Video);
             _Video = -1;
             CDraw.RemoveTexture(ref _CurrentVideoTexture);
             return;
         }
         if (CVideo.VdFinished(_Video))
         {
             CVideo.VdClose(_Video);
             CDraw.RemoveTexture(ref _CurrentVideoTexture);
             _Video = -1;
             return;
         }
     }
     else
     {
         LoadVideo();
     }
 }
示例#2
0
        public void Draw()
        {
            if (!_Finished)
            {
                float VideoTime = _VideoTimer.ElapsedMilliseconds / 1000f;
                _Finished = CVideo.VdFinished(_VideoStream);

                STexture tex = new STexture(-1);
                tex.height = 0f;
                CVideo.VdGetFrame(_VideoStream, ref tex, VideoTime, ref VideoTime);

                if (tex.height > 0)
                {
                    CDraw.RemoveTexture(ref _VideoTexture);
                    _VideoTexture = tex;
                }
            }
            RectangleF bounds = new RectangleF(0f, 0f, CSettings.iRenderW, CSettings.iRenderH);
            RectangleF rect   = new RectangleF(0f, 0f, _VideoTexture.width, _VideoTexture.height);

            CHelper.SetRect(bounds, ref rect, rect.Width / rect.Height, EAspect.Crop);

            CDraw.DrawTexture(_VideoTexture, new SRectF(rect.X, rect.Y, rect.Width, rect.Height, CSettings.zFar / 4));
        }