Пример #1
0
            public Circle(PPDDevice device, PPDFramework.Resource.ResourceManager resourceManager) : base(device)
            {
                loadCircleImageResource = resourceManager.GetResource <ImageResourceBase>(Utility.Path.Combine("logo", "circle.png"));

                loadCircleImageVertex    = device.GetModule <ShaderCommon>().CreateVertex(362);
                invLoadCircleImageVertex = device.GetModule <ShaderCommon>().CreateVertex(362);
                var tempLoadCircleVertices    = new ColoredTexturedVertex[362];
                var tempInvLoadCircleVertices = new ColoredTexturedVertex[362];

                for (var i = 0; i < tempLoadCircleVertices.Length; i++)
                {
                    tempLoadCircleVertices[i]    = new ColoredTexturedVertex(Vector3.Zero);
                    tempInvLoadCircleVertices[i] = new ColoredTexturedVertex(Vector3.Zero);
                }
                tempLoadCircleVertices[0].Position           = new Vector3(400, 225, 0.5f);
                tempLoadCircleVertices[0].TextureCoordinates = loadCircleImageResource.GetActualUV(new Vector2(0.5f));
                for (int i = 1; i < tempLoadCircleVertices.Length; i++)
                {
                    var rad = (float)((i - 1) * Math.PI / 180);
                    var uv  = new Vector2((float)Math.Sin(rad), -(float)Math.Cos(rad));
                    tempLoadCircleVertices[i].Position = new Vector3(
                        400 + loadCircleImageResource.Width / 2 * uv.X,
                        225 + loadCircleImageResource.Height / 2 * uv.Y,
                        0.5f);
                    tempLoadCircleVertices[i].TextureCoordinates = loadCircleImageResource.GetActualUV((uv / 2 + new Vector2(0.5f)));
                }

                Array.Copy(tempLoadCircleVertices, 1, tempInvLoadCircleVertices, 0, 361);
                Array.Reverse(tempInvLoadCircleVertices, 0, tempInvLoadCircleVertices.Length);
                tempInvLoadCircleVertices[0] = tempLoadCircleVertices[0];
                loadCircleImageVertex.Write(tempLoadCircleVertices);
                invLoadCircleImageVertex.Write(tempInvLoadCircleVertices);
            }
Пример #2
0
 /// <summary>
 /// コンストラクタ
 /// </summary>
 /// <param name="device"></param>
 /// <param name="filename">ファイルパス</param>
 /// <param name="resourceManager">リソースクラス</param>
 public NumberPictureObject(PPDDevice device, Resource.ResourceManager resourceManager, PathObject filename) : base(device)
 {
     imageResource = resourceManager.GetResource <ImageResourceBase>(filename);
     if (imageResource == null)
     {
         imageResource = (ImageResourceBase)resourceManager.Add(filename, ImageResourceFactoryManager.Factory.Create(device, filename, false));
     }
     UpdateResource();
 }
Пример #3
0
 /// <summary>
 /// コンストラクタ
 /// </summary>
 /// <param name="device"></param>
 /// <param name="resourceManager">リソースマネージャー</param>
 public CustomEffectObject(PPDDevice device, ResourceManager resourceManager, string filename, EffectStateStructure effectState) : base(device)
 {
     this.effestState     = effectState;
     this.resourceManager = resourceManager;
     imageResource        = resourceManager.GetResource <ImageResourceBase>(filename);
     if (imageResource == null)
     {
         imageResource = ImageResourceFactoryManager.Factory.Create(device, filename, false);
     }
 }
Пример #4
0
 /// <summary>
 /// コンストラクタ
 /// </summary>
 /// <param name="device"></param>
 /// <param name="imageResource"></param>
 /// <param name="center"></param>
 public PictureObject(PPDDevice device, ImageResourceBase imageResource, bool center) : base(device)
 {
     this.imageResource = imageResource;
     if (center)
     {
         RotationCenter = ScaleCenter = new Vector2(imageResource.Width / 2, imageResource.Height / 2);
         Offset         = new Vector2(-imageResource.Width / 2, -imageResource.Height / 2);
     }
     this.center = center;
     rec         = new RectangleF(0, 0, imageResource.Width, imageResource.Height);
 }
Пример #5
0
        public override void releaseCOM()
        {
            if (!initialized)
            {
                return;
            }

            if (resource != null)
            {
                resource.Dispose();
                resource = null;
            }
            base.releaseCOM();
        }
Пример #6
0
 /// <summary>
 /// コンストラクタ
 /// </summary>
 /// <param name="device"></param>
 /// <param name="filename">ファイルパス</param>
 /// <param name="center">センタリングするか</param>
 /// <param name="resourceManager">リソースマネージャー</param>
 public PictureObject(PPDDevice device, Resource.ResourceManager resourceManager, PathObject filename, bool center) : base(device)
 {
     imageResource = resourceManager.GetResource <ImageResourceBase>(filename);
     if (imageResource == null)
     {
         imageResource = (ImageResourceBase)resourceManager.Add(filename, ImageResourceFactoryManager.Factory.Create(device, filename, false));
     }
     if (center)
     {
         RotationCenter = ScaleCenter = new Vector2(imageResource.Width / 2, imageResource.Height / 2);
         Offset         = new Vector2(-imageResource.Width / 2, -imageResource.Height / 2);
     }
     this.center = center;
     rec         = new RectangleF(0, 0, imageResource.Width, imageResource.Height);
 }
Пример #7
0
        public override int Initialize()
        {
            this.graphBuilder2 = (IFilterGraph2) new FilterGraph();
            if (base.Initialize() != 0)
            {
                return(-1);
            }

            var dir = Path.GetDirectoryName(filename);

            foreach (string filepath in Directory.GetFiles(dir, "thumb.*", SearchOption.TopDirectoryOnly))
            {
                resource = ImageResourceFactoryManager.Factory.Create(device, filepath, false);
                maxu     = maxv = 1;
                width    = 800;
                height   = 450;
                break;
            }

            return(0);
        }
Пример #8
0
 public PolygonObject(PPDDevice device, ImageResourceBase imageResource, Vertex.VertexInfo vertex) : base(device)
 {
     this.imageResource = imageResource;
     this.vertex        = vertex;
 }