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); }
/// <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(); }
/// <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); } }
/// <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); }
public override void releaseCOM() { if (!initialized) { return; } if (resource != null) { resource.Dispose(); resource = null; } base.releaseCOM(); }
/// <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); }
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); }
public PolygonObject(PPDDevice device, ImageResourceBase imageResource, Vertex.VertexInfo vertex) : base(device) { this.imageResource = imageResource; this.vertex = vertex; }