Esempio n. 1
0
        private void Init(ResourceHandle<Image> imageHandle, float x, float y, float w, float h, Margin inMargin, float drawMarginScale = 1.0f)
        {
            this.imageHandle = imageHandle;

            m_Margin = inMargin;

            SetRect(0, x, y, m_Margin.Left, m_Margin.Top);
            SetRect(1, x + m_Margin.Left, y, w - m_Margin.Left - m_Margin.Right, m_Margin.Top);
            SetRect(2, (x + w) - m_Margin.Right, y, m_Margin.Right, m_Margin.Top);

            SetRect(3, x, y + m_Margin.Top, m_Margin.Left, h - m_Margin.Top - m_Margin.Bottom);
            SetRect(4, x + m_Margin.Left, y + m_Margin.Top, w - m_Margin.Left - m_Margin.Right,
                    h - m_Margin.Top - m_Margin.Bottom);
            SetRect(5, (x + w) - m_Margin.Right, y + m_Margin.Top, m_Margin.Right, h - m_Margin.Top - m_Margin.Bottom - 1);

            SetRect(6, x, (y + h) - m_Margin.Bottom, m_Margin.Left, m_Margin.Bottom);
            SetRect(7, x + m_Margin.Left, (y + h) - m_Margin.Bottom, w - m_Margin.Left - m_Margin.Right, m_Margin.Bottom);
            SetRect(8, (x + w) - m_Margin.Right, (y + h) - m_Margin.Bottom, m_Margin.Right, m_Margin.Bottom);

            m_Margin.Left = (int)(m_Margin.Left*drawMarginScale);
            m_Margin.Right = (int)(m_Margin.Right*drawMarginScale);
            m_Margin.Top = (int)(m_Margin.Top*drawMarginScale);
            m_Margin.Bottom = (int)(m_Margin.Bottom*drawMarginScale);

            m_Width = w - x;
            m_Height = h - y;
        }
Esempio n. 2
0
        public bool TryGetGlyphImage(Font font, int codepoint, out SubTexture texture, out ResourceHandle<Material> material)
        {
            material = textMaterial;

            var glyphId = new GlyphId(font, codepoint);
            if (glyphSubTextures.TryGetValue(glyphId, out texture))
                return true;

            var nativeFont = font.EngineFont.Resolve();
            var imageHandle = nativeFont.CreateGlyphImage(codepoint, font.Size);

            if (imageHandle.Id == ResourceHandle<Resource>.Invalid)
                return false;

            if (!textureAtlas.AddImage(imageHandle))
            {
                throw new Exception("Atlas full");
            }

            if (!textureAtlas.GetImageSubTexture(imageHandle, out texture))
                return false;

            glyphSubTextures.Add(glyphId, texture);

            return true;
        }
Esempio n. 3
0
        public void UnregisterResource(string resourceID)
        {
            ArgumentUtility.CheckNotNullOrEmpty ("resourceID", resourceID);

              var resourceHandle = new ResourceHandle (Guid.Parse (resourceID));
              ResourceManager.RemoveResource (resourceHandle);
        }
Esempio n. 4
0
        public Bordered(ResourceHandle<Image> imageHandle, float x, float y, float w, float h, Margin inMargin, float drawMarginScale = 1.0f)
            : this()
        {
            m_Rects = new SubRect[9];
            for (int i = 0; i < m_Rects.Length; i++)
            {
                m_Rects[i].uv = new float[4];
            }

            Init(imageHandle, x, y, w, h, inMargin, drawMarginScale);
        }
Esempio n. 5
0
        public ResourceHandle AddResource(FileSystemInfo path)
        {
            ArgumentUtility.CheckNotNull ("path", path);

              var resource = _resources.FirstOrDefault (p => p.Value.FullName == path.FullName);
              var handle = resource.Key;
              if (handle == default (ResourceHandle))
              {
            handle = new ResourceHandle (Guid.NewGuid());
            _resources[handle] = path;
              }
              return handle;
        }
Esempio n. 6
0
        public GlyphManager()
        {
            glyphSubTextures = new Dictionary<GlyphId, SubTexture>();
            glyphInfos = new Dictionary<GlyphId, Glyph>();

            textureAtlas = new TextureAtlas(512,PixelFormat.R8G8B8);

            textMaterial = Material.Create(Allocator.GetHeap(), "TextMaterial");
            var mat = textMaterial.Resolve();
            mat.BackfaceCulling = false;
            mat.SetBlending(BlendSource.SourceAlpha, BlendDestination.InverseSourceAlpha);
            mat.SetShader("Text");
            mat.SetTexture(0, textureAtlas.AtlasImageHandle);
            mat.GetTextureUnit(0).WrapMode = TextureWrapMode.ClampToEdge;
        }
Esempio n. 7
0
        public TerrainTile(RenderSystem rs, int col, int lat)
            : base(true)
        {
            terrain0 = TerrainMeshManager.Instance.CreateInstance(rs, col, lat, 17);
            terrain0.Touch();
            //terrain1 = TerrainMeshManager.Instance.CreateInstance(rs, col, lat, 17);
            //terrain1.Touch();
            Transformation = terrain0.GetWeakResource().Transformation;
            BoundingSphere = terrain0.GetWeakResource().BoundingSphere;

            //Transformation = terrain0.GetWeakResource().Transformation;
            //BoundingSphere = terrain0.GetWeakResource().BoundingSphere;

            //terrain0.GetWeakResource().ObjectSpaceChanged += TerrainMesh_ObjectSpaceChanged;
            //terrain1.GetWeakResource().ObjectSpaceChanged += TerrainMesh_ObjectSpaceChanged;
        }
Esempio n. 8
0
        public Single(ResourceHandle<Image> imageHandle, float x, float y, float w, float h )
        {
            this._imageHandle = imageHandle;

            float texw = imageHandle.Resolve().Width;
            float texh = imageHandle.Resolve().Height;

            m_uv = new float[4];
            m_uv[0] = x / texw;
            m_uv[1] = y / texh;
            m_uv[2] = (x + w) / texw;
            m_uv[3] = (y + h) / texh;

            m_Width = (int) w;
            m_Height = (int) h;
        }
Esempio n. 9
0
        public void AddRectangle(Rectangle rect, Vector2 uv1, Vector2 uv2,
            ResourceHandle<Image> imageHandle, System.Drawing.Color color)
        {
            BatchInfo batchInfo = GetCreateBatchInfo(imageHandle);
            batchInfo.Ranges.Add((int)gb.GetNumVertices());

            int top = Math.Max(rect.Bottom,rect.Top);
            int bottom = Math.Max(rect.Bottom,rect.Top);
            int left = rect.Left;
            int right = rect.Right;

            Vertex v1,v2,v3,v4;

            v1.position = new Vector3(left, bottom,zcount);
            v2.position = new Vector3(right, bottom,zcount);
            v3.position = new Vector3(right, top,zcount);
            v4.position = new Vector3(left, top,zcount);

            //TODO optimize precision/usage
            zcount += 0.001f;

            var c = new Color(color.R/255.0f,color.G/255.0f,color.B/255.0f,color.A/255.0f);

            v1.color = c;
            v2.color = c;
            v3.color = c;
            v4.color = c;

            //v1.uv = uv1;
            //v2.uv = new Vector2(uv2.x, uv1.y);
            //v3.uv = uv2;
            //v4.uv = new Vector2(uv1.x, uv2.y);

            // Vertex buffer setup
            //gb.Add((uint8*)&v1,sizeof(Vertex));
            //gb.Add((uint8*)&v2,sizeof(Vertex));
            //gb.Add((uint8*)&v3,sizeof(Vertex));
            //gb.Add((uint8*)&v4,sizeof(Vertex));
        }
Esempio n. 10
0
 /// <summary>
 /// Draws textured rectangle.
 /// </summary>
 /// <param name="t">MaterialHandle to use.</param>
 /// <param name="materialHandle">Material to use.</param>
 /// <param name="u1">MaterialHandle coordinate u1.</param>
 /// <param name="v1">MaterialHandle coordinate v1.</param>
 /// <param name="u2">MaterialHandle coordinate u2.</param>
 /// <param name="v2">MaterialHandle coordinate v2.</param>
 public void DrawTexturedRect(ResourceHandle<Image> imageHandle, Rectangle rect, float u1=0, float v1=0, float u2=1, float v2=1)
 {
     DrawTexturedRect(imageHandle, new RectangleF(rect.X, rect.Y, rect.Width, rect.Height), u1, v1, u2, v2);
 }
Esempio n. 11
0
 /// <summary>
 /// Gets pixel color of a specified texture, returning default if otherwise failed. Slow.
 /// </summary>
 /// <param name="materialHandle"> </param>
 /// <param name="x">X.</param>
 /// <param name="y">Y.</param>
 /// <param name="defaultColor">Color to return on failure.</param>
 /// <returns>Pixel color.</returns>
 public virtual Color PixelColor(ResourceHandle<Image> imagelHandle, uint x, uint y, Color defaultColor)
 {
     return defaultColor;
 }
Esempio n. 12
0
        protected void AddQuad(IntPtr v1, IntPtr v2, IntPtr v3, IntPtr v4, uint structSize, ResourceHandle <Image> imageHandle)
        {
            var materialHandle = GetCreateMaterial(imageHandle);

            AddQuad(v1, v2, v3, v4, structSize, materialHandle);
        }
Esempio n. 13
0
 public void SetImage(ResourceHandle<Image> imageHandle)
 {
     this.imageHandle = imageHandle;
     SizeToContents();
 }
Esempio n. 14
0
        public override void InitalizeGraphics(RenderSystem rs)
        {

            ForestInfo info;
            info.Latitude = Latitude;
            info.Longitude = Longitude;
            info.Radius = Radius;

            info.Amount = CurrentAmount;

            //info.Plants = TreeModelLibrary.Instance.Get(0);

            model = TreeBatchModelManager.Instance.CreateInstance(rs, info);

            model.Touch();

            Transformation = model.GetWeakResource().Transformation;
            BoundingSphere = model.GetWeakResource().BoundingVolume;

            sound = SoundManager.Instance.MakeSoundObjcet("forest", null, BoundingSphere.Radius);
            sound.Position = BoundingSphere.Center;

            {
                float radLng = MathEx.Degree2Radian(Longitude);
                float radLat = MathEx.Degree2Radian(Latitude);

                float alt = TerrainData.Instance.QueryHeight(radLng, radLat);

                stdPosition = PlanetEarth.GetPosition(radLng, radLat, alt * TerrainMeshManager.PostHeightScale + PlanetEarth.PlanetRadius);

                stdTransform = PlanetEarth.GetOrientation(radLng, radLat);
                stdTransform.TranslationValue = stdPosition;


                selectionSphere.Center = stdPosition;
                selectionSphere.Radius = 200;
            }

            FileLocation fl = FileSystem.Instance.Locate("wooden_board_green.mesh", GameFileLocs.Model);

            board = new Model(ModelManager.Instance.CreateInstance(rs, fl));
            board.CurrentAnimation.Clear();
            board.CurrentAnimation.Add(
                new NoAnimaionPlayer(
                    Matrix.Translation(0, 0, 25) *
                    Matrix.Scaling(2.7f, 2.7f, 2.7f) *
                    Matrix.RotationX(-MathEx.PiOver2) *
                    Matrix.RotationY((-MathEx.PIf * 7.0f) / 8.0f)
                    ));

        }
Esempio n. 15
0
 protected abstract ResourceHandle<Material> CreateMaterial(ResourceHandle<Image> imageHandle);
Esempio n. 16
0
 public HavokNavmeshCostGraphProvider(ResourceHandle <HavokNavmeshResource> handle)
 {
     _resource = handle;
     _resource.AddResourceEventListener(this);
 }
Esempio n. 17
0
        protected override void Dispose(bool disposing)
        {
            base.Dispose(disposing);

            if (disposing)
            {
                terrain0.Dispose();
                //terrain2.Dispose();
            }
            terrain0 = null;
            //terrain2 = null;
        }
Esempio n. 18
0
 public CollisionSubmeshProvider(ResourceHandle <Resource.HavokCollisionResource> handle, int idx)
 {
     _resource  = handle;
     _meshIndex = idx;
 }
Esempio n. 19
0
 public NavmeshProvider(ResourceHandle <Resource.NVMNavmeshResource> handle)
 {
     _resource = handle;
     _resource.AddResourceEventListener(this);
 }
Esempio n. 20
0
 public CollisionMeshProvider(ResourceHandle <Resource.HavokCollisionResource> res)
 {
     _resource = res;
     //_resource.Acquire();
     _resource.AddResourceEventListener(this);
 }
Esempio n. 21
0
 public FlverSubmeshProvider(ResourceHandle <Resource.FlverResource> handle, int idx)
 {
     _resource  = handle;
     _meshIndex = idx;
 }
Esempio n. 22
0
 public FlverMeshProvider(ResourceHandle <Resource.FlverResource> res)
 {
     _resource = res;
     //_resource.Acquire();
     _resource.AddResourceEventListener(this);
 }
Esempio n. 23
0
        /// <summary>
        /// Sets the button's image.
        /// </summary>
        /// <param name="image">Image bitmap.</param>
        /// <param name="center">Determines whether the image should be centered.</param>
        public virtual void SetImage(ResourceHandle<Image> imageHandle, bool center = false)
        {
            if (m_Image == null)
            {
                m_Image = new ImagePanel(this);
            }

            m_Image.SetImage(imageHandle);

            m_Image.SizeToContents( );
            m_Image.SetPosition(Math.Max(Padding.Left, 2), 2);
            m_CenterImage = center;

            TextPadding = new Padding(m_Image.Right + 2, TextPadding.Top, TextPadding.Right, TextPadding.Bottom);
        }
Esempio n. 24
0
 public static void SetResource(Entity entity, ResourceHandle <AudioResource> resource)
 {
     entity.Set(resource);
 }
Esempio n. 25
0
 /// <summary>
 /// Draws textured rectangle.
 /// </summary>
 /// <param name="material">Material to use.</param>
 /// <param name="materialHandle">Rectangle bounds.</param>
 /// <param name="u1">MaterialHandle coordinate u1.</param>
 /// <param name="v1">MaterialHandle coordinate v1.</param>
 /// <param name="u2">MaterialHandle coordinate u2.</param>
 /// <param name="v2">MaterialHandle coordinate v2.</param>
 public virtual void DrawTexturedRect(ResourceHandle <Image> imageHandle, RectangleF rect, float u1 = 0, float v1 = 0, float u2 = 1, float v2 = 1)
 {
 }
        public void TestComplexAuthorization()
        {
            SetupComplexData();
            IAuthorizationProvider provider = Afcas.GetAuthorizationProvider();

            Principal PA = ObjectCache.Current.Get <Principal>("PA");
            //Principal PB = ObjectCache.Current.Get< Principal >( "PB" );
            Principal PC = ObjectCache.Current.Get <Principal>("PC");
            Principal PD = ObjectCache.Current.Get <Principal>("PD");
            //Principal PE = ObjectCache.Current.Get< Principal >( "PE" );
            Principal PF = ObjectCache.Current.Get <Principal>("PF");
            //Principal PG = ObjectCache.Current.Get< Principal >( "PG" );
            //Principal PH = ObjectCache.Current.Get< Principal >( "PH" );
            Principal PI = ObjectCache.Current.Get <Principal>("PI");
            Principal PJ = ObjectCache.Current.Get <Principal>("PJ");
            Principal PK = ObjectCache.Current.Get <Principal>("PK");
            Principal PP = ObjectCache.Current.Get <Principal>("PP");
            Principal PQ = ObjectCache.Current.Get <Principal>("PQ");
            //Principal PR = ObjectCache.Current.Get< Principal >( "PR" );
            //Principal PS = ObjectCache.Current.Get< Principal >( "PS" );
            //Principal PT = ObjectCache.Current.Get< Principal >( "PT" );


            Operation OA = ObjectCache.Current.Get <Operation>("OA");
            Operation OB = ObjectCache.Current.Get <Operation>("OB");
            Operation OC = ObjectCache.Current.Get <Operation>("OC");
            Operation OD = ObjectCache.Current.Get <Operation>("OD");
            Operation OE = ObjectCache.Current.Get <Operation>("OE");
            Operation OF = ObjectCache.Current.Get <Operation>("OF");
            Operation OG = ObjectCache.Current.Get <Operation>("OG");
            Operation OH = ObjectCache.Current.Get <Operation>("OH");

            ResourceHandleFactory resFac = Afcas.GetHandleFactory("SampleResource");
            ResourceHandle        RA     = resFac.GenerateResourceHandleByKey("RA");
            ResourceHandle        RB     = resFac.GenerateResourceHandleByKey("RB");
            ResourceHandle        RC     = resFac.GenerateResourceHandleByKey("RC");
            //ResourceHandle RD = resFac.GenerateResourceHandleByKey( "RD" );
            //ResourceHandle RE = resFac.GenerateResourceHandleByKey( "RE" );
            //ResourceHandle RF = resFac.GenerateResourceHandleByKey( "RF" );
            //ResourceHandle RG = resFac.GenerateResourceHandleByKey( "RG" );
            ResourceHandle RH = resFac.GenerateResourceHandleByKey("RH");
            //ResourceHandle RI = resFac.GenerateResourceHandleByKey( "RI" );
            //ResourceHandle RJ = resFac.GenerateResourceHandleByKey( "RJ" );
            ResourceHandle RK = resFac.GenerateResourceHandleByKey("RK");
            ResourceHandle RL = resFac.GenerateResourceHandleByKey("RL");


            // explicit auth. list
            Assert.That(provider.IsAuthorized(PI.Key, OH.Key, RL));
            Assert.That(provider.IsAuthorized(PD.Key, OA.Key, RA));
            Assert.That(provider.IsAuthorized(PP.Key, OE.Key, RH));
            Assert.That(provider.IsAuthorized(PA.Key, OG.Key, RL));
            Assert.That(provider.IsAuthorized(PQ.Key, OB.Key, RL));
            Assert.That(provider.IsAuthorized(PF.Key, OC.Key, RB));


            //implied ones
            Assert.That(provider.IsAuthorized(PI.Key, OA.Key, RA));
            Assert.That(provider.IsAuthorized(PI.Key, OE.Key, RC));
            Assert.That(provider.IsAuthorized(PI.Key, OF.Key, RK));

            Assert.That(provider.IsAuthorized(PK.Key, OF.Key, RA));
            Assert.That(provider.IsAuthorized(PK.Key, OE.Key, RC));
            Assert.That(provider.IsAuthorized(PK.Key, OF.Key, RK));

            Assert.That(provider.IsAuthorized(PK.Key, OH.Key, RL));
            Assert.That(provider.IsAuthorized(PJ.Key, OD.Key, RH));
            Assert.That(provider.IsAuthorized(PP.Key, OB.Key, RA));


            Assert.That(!provider.IsAuthorized(PC.Key, OE.Key, RC));
            Assert.That(!provider.IsAuthorized(PP.Key, OB.Key, RL));
        }
Esempio n. 27
0
        public override void PrepareVisibleObjects(ICamera cam, int level)
        {
            //if (level > 0)
            //{
            //    if (terrain1.State == ResourceState.Loaded)
            //    {
            //        ActiveTerrain = terrain1;
            //    }
            //    else
            //    {
            //        terrain1.Touch();
            //    }

            //    if (ActiveTerrain != null)
            //    {
            //        TerrainMesh tm = ActiveTerrain.Resource;

            //        tm.PrepareVisibleObjects(cam, level);
            //    }
            //}
            //else
            {
                if (terrain0.State == ResourceState.Loaded)
                {
                    ActiveTerrain = terrain0;
                }
                else
                {
                    terrain0.Touch();
                }

                if (ActiveTerrain != null)
                {
                    TerrainMesh tm = ActiveTerrain.Resource;

                    tm.PrepareVisibleObjects(cam, level);
                }
            }
        }
        private static ObjectCache SetupComplexData()
        {
            DBHelper.ExecuteNonQuery("Test_DeleteAllData");
            ObjectCache.PushCurrent(new ObjectCache());

            IAuthorizationManager manager = Afcas.GetAuthorizationManager();

            Principal PA = Principal.CreatePrincipal("PA", "PA", PrincipalType.Group, "");
            Principal PB = Principal.CreatePrincipal("PB", "PB", PrincipalType.Group, "");
            Principal PC = Principal.CreatePrincipal("PC", "PC", PrincipalType.Group, "");
            Principal PD = Principal.CreatePrincipal("PD", "PD", PrincipalType.Group, "");
            Principal PE = Principal.CreatePrincipal("PE", "PE", PrincipalType.User, "");
            Principal PF = Principal.CreatePrincipal("PF", "PF", PrincipalType.User, "");
            Principal PG = Principal.CreatePrincipal("PG", "PG", PrincipalType.User, "");
            Principal PH = Principal.CreatePrincipal("PH", "PH", PrincipalType.Group, "");
            Principal PI = Principal.CreatePrincipal("PI", "PI", PrincipalType.Group, "");
            Principal PJ = Principal.CreatePrincipal("PJ", "PJ", PrincipalType.User, "");
            Principal PK = Principal.CreatePrincipal("PK", "PK", PrincipalType.User, "");
            Principal PP = Principal.CreatePrincipal("PP", "PP", PrincipalType.Group, "");
            Principal PQ = Principal.CreatePrincipal("PQ", "PQ", PrincipalType.Group, "");
            Principal PR = Principal.CreatePrincipal("PR", "PR", PrincipalType.Group, "");
            Principal PS = Principal.CreatePrincipal("PS", "PS", PrincipalType.User, "");
            Principal PT = Principal.CreatePrincipal("PT", "PT", PrincipalType.User, "");

            manager.AddOrUpdate(PA, "");
            manager.AddOrUpdate(PB, "");
            manager.AddOrUpdate(PC, "");
            manager.AddOrUpdate(PD, "");
            manager.AddOrUpdate(PE, "");
            manager.AddOrUpdate(PF, "");
            manager.AddOrUpdate(PG, "");
            manager.AddOrUpdate(PH, "");
            manager.AddOrUpdate(PI, "");
            manager.AddOrUpdate(PJ, "");
            manager.AddOrUpdate(PK, "");
            manager.AddOrUpdate(PP, "");
            manager.AddOrUpdate(PQ, "");
            manager.AddOrUpdate(PR, "");
            manager.AddOrUpdate(PS, "");
            manager.AddOrUpdate(PT, "");

            manager.AddGroupMember(PA, PB);
            manager.AddGroupMember(PA, PC);
            manager.AddGroupMember(PA, PD);
            manager.AddGroupMember(PB, PD);
            manager.AddGroupMember(PB, PE);
            manager.AddGroupMember(PC, PE);
            manager.AddGroupMember(PC, PH);
            manager.AddGroupMember(PC, PI);
            manager.AddGroupMember(PD, PF);
            manager.AddGroupMember(PD, PG);
            manager.AddGroupMember(PD, PH);
            manager.AddGroupMember(PH, PP);
            manager.AddGroupMember(PI, PJ);
            manager.AddGroupMember(PI, PK);
            manager.AddGroupMember(PP, PQ);
            manager.AddGroupMember(PP, PR);
            manager.AddGroupMember(PQ, PS);
            manager.AddGroupMember(PQ, PT);
            manager.AddGroupMember(PR, PT);

            Operation OA = Operation.CreateOperation("OA", "OA");
            Operation OB = Operation.CreateOperation("OB", "OB");
            Operation OC = Operation.CreateOperation("OC", "OC");
            Operation OD = Operation.CreateOperation("OD", "OD");
            Operation OE = Operation.CreateOperation("OE", "OE");
            Operation OF = Operation.CreateOperation("OF", "OF");
            Operation OG = Operation.CreateOperation("OG", "OG");
            Operation OH = Operation.CreateOperation("OH", "OH");

            manager.AddSubOperation(OA, OB);
            manager.AddSubOperation(OA, OC);
            manager.AddSubOperation(OA, OD);
            manager.AddSubOperation(OE, OF);
            manager.AddSubOperation(OE, OG);
            manager.AddSubOperation(OH, OA);
            manager.AddSubOperation(OH, OE);

            ResourceHandleFactory resFac = Afcas.GetHandleFactory("SampleResource");

            ResourceHandle RA = resFac.GenerateResourceHandleByKey("RA");
            ResourceHandle RB = resFac.GenerateResourceHandleByKey("RB");
            ResourceHandle RC = resFac.GenerateResourceHandleByKey("RC");
            ResourceHandle RD = resFac.GenerateResourceHandleByKey("RD");
            ResourceHandle RE = resFac.GenerateResourceHandleByKey("RE");
            ResourceHandle RF = resFac.GenerateResourceHandleByKey("RF");
            ResourceHandle RG = resFac.GenerateResourceHandleByKey("RG");
            ResourceHandle RH = resFac.GenerateResourceHandleByKey("RH");
            ResourceHandle RI = resFac.GenerateResourceHandleByKey("RI");
            ResourceHandle RJ = resFac.GenerateResourceHandleByKey("RJ");
            ResourceHandle RK = resFac.GenerateResourceHandleByKey("RK");
            ResourceHandle RL = resFac.GenerateResourceHandleByKey("RL");

            manager.AddSubResource(RA, RB);
            manager.AddSubResource(RA, RC);
            manager.AddSubResource(RB, RD);
            manager.AddSubResource(RB, RE);
            manager.AddSubResource(RC, RE);
            manager.AddSubResource(RC, RF);
            manager.AddSubResource(RC, RG);
            manager.AddSubResource(RH, RI);
            manager.AddSubResource(RH, RJ);
            manager.AddSubResource(RH, RK);
            manager.AddSubResource(RL, RA);
            manager.AddSubResource(RL, RH);

            manager.AddAccessPredicate(PI.Key, OH.Key, RL, ResourceAccessPredicateType.Grant);
            manager.AddAccessPredicate(PD.Key, OA.Key, RA, ResourceAccessPredicateType.Grant);
            manager.AddAccessPredicate(PP.Key, OE.Key, RH, ResourceAccessPredicateType.Grant);

            manager.AddAccessPredicate(PA.Key, OG.Key, RL, ResourceAccessPredicateType.Grant);
            manager.AddAccessPredicate(PQ.Key, OB.Key, RL, ResourceAccessPredicateType.Grant);
            manager.AddAccessPredicate(PF.Key, OC.Key, RB, ResourceAccessPredicateType.Grant);
            return(ObjectCache.Current);
        }
Esempio n. 29
0
        public override void Setup(Material mat, ref RenderOperation op)
        {
            if (mode == RenderMode.Depth)
            {
                Matrix lightPrjTrans;
                Matrix.Multiply(ref op.Transformation, ref EffectParams.DepthViewProj, out lightPrjTrans);
                shdVtxShader.SetValue("mvp", ref lightPrjTrans);
            }
            else if (mode == RenderMode.DeferredNormal)
            {
                Matrix worldView = op.Transformation * EffectParams.CurrentCamera.ViewMatrix;
                Matrix mvp       = worldView * EffectParams.CurrentCamera.ProjectionMatrix;
                nrmGenVShader.SetValue("mvp", ref mvp);
                nrmGenVShader.SetValue("worldView", ref worldView);

                if (!stateSetted)
                {
                    ShaderSamplerState state = new ShaderSamplerState();
                    state.AddressU      = TextureAddressMode.Wrap;
                    state.AddressV      = TextureAddressMode.Wrap;
                    state.AddressW      = TextureAddressMode.Wrap;
                    state.MinFilter     = TextureFilter.Linear;
                    state.MagFilter     = TextureFilter.Linear;
                    state.MipFilter     = TextureFilter.Linear;
                    state.MaxAnisotropy = 8;
                    state.MipMapLODBias = 0;

                    nrmGenPShader.SetSamplerState("texDif", ref state);

                    ResourceHandle <Texture> clrTex = mat.GetTexture(0);
                    if (clrTex == null)
                    {
                        nrmGenPShader.SetTexture("texDif", noTexture);
                    }
                    else
                    {
                        nrmGenPShader.SetTexture("texDif", clrTex);
                    }
                }
            }
            else
            {
                Matrix mvp = op.Transformation * EffectParams.CurrentCamera.ViewMatrix * EffectParams.CurrentCamera.ProjectionMatrix;

                vtxShader.SetValue("mvp", ref mvp);
                vtxShader.SetValue("world", ref op.Transformation);

                Matrix lightPrjTrans;
                Matrix.Multiply(ref op.Transformation, ref EffectParams.DepthViewProj, out lightPrjTrans);

                vtxShader.SetValue("smTrans", lightPrjTrans);

                IResourceObject res = op.Sender as IResourceObject;
                if (res != null)
                {
                    pixShader.SetValue("amount", new Vector2(res.AmountPer, res.MaxValue));
                }
                else
                {
                    pixShader.SetValue("amount", new Vector2(123, 456));
                }

                WorldObject wo = op.Sender as WorldObject;
                if (wo != null)
                {
                    pixShader.SetValue("visiblity", wo.Visiblity);
                }
                else
                {
                    pixShader.SetValue("visiblity", 0.0f);
                }

                if (!stateSetted)
                {
                    ShaderSamplerState state = new ShaderSamplerState();
                    state.AddressU      = TextureAddressMode.Wrap;
                    state.AddressV      = TextureAddressMode.Wrap;
                    state.AddressW      = TextureAddressMode.Wrap;
                    state.MinFilter     = TextureFilter.Anisotropic;
                    state.MagFilter     = TextureFilter.Anisotropic;
                    state.MipFilter     = TextureFilter.Linear;
                    state.MaxAnisotropy = 8;
                    state.MipMapLODBias = 0;


                    pixShader.SetValue("k_a", mat.Ambient);
                    pixShader.SetValue("k_d", mat.Diffuse);


                    pixShader.SetSamplerState("texDif", ref state);

                    ResourceHandle <Texture> clrTex = mat.GetTexture(0);
                    if (clrTex == null)
                    {
                        pixShader.SetTexture("texDif", noTexture);
                    }
                    else
                    {
                        pixShader.SetTexture("texDif", clrTex);
                    }


                    stateSetted = true;
                }
            }
        }
        private static IEnumerable <Element> GetNamespaceAndResourceElements(ElementProviderContext context, string ns)
        {
            var resources = LocalizationsFacade.GetResourceKeys(ns);

            var folders  = new List <string>();
            var elements = new List <Element>();

            foreach (var key in resources)
            {
                var label = key.Key;

                if (label == ns)
                {
                    continue;
                }

                var labelParts = label.Split('.');

                if (!String.IsNullOrEmpty(ns))
                {
                    var nsParts = ns.Split('.');

                    if (nsParts.Length > labelParts.Length)
                    {
                        continue;
                    }

                    labelParts = labelParts.Skip(nsParts.Length).ToArray();
                    label      = String.Join(".", labelParts);
                }

                if (labelParts.Length > 1)
                {
                    var folder = labelParts[0];

                    if (!folders.Contains(folder))
                    {
                        folders.Add(folder);
                    }
                }
                else if (labelParts.Length == 1)
                {
                    var token = key.GetDataEntityToken();

                    var dragAndDropInfo = new ElementDragAndDropInfo(typeof(IResourceKey));

                    dragAndDropInfo.AddDropType(typeof(NamespaceFolderEntityToken));
                    dragAndDropInfo.SupportsIndexedPosition = false;

                    var elementHandle = context.CreateElementHandle(token);
                    var element       = new Element(elementHandle, dragAndDropInfo)
                    {
                        VisualData = new ElementVisualizedData
                        {
                            Label       = label,
                            ToolTip     = label,
                            HasChildren = false,
                            Icon        = ResourceHandle.BuildIconFromDefaultProvider("localization-element-closed-root"),
                            OpenedIcon  = ResourceHandle.BuildIconFromDefaultProvider("localization-element-opened-root")
                        }
                    };

                    var editActionToken = new WorkflowActionToken(typeof(EditResourceWorkflow), new[] { PermissionType.Edit });
                    element.AddAction(new ElementAction(new ActionHandle(editActionToken))
                    {
                        VisualData = new ActionVisualizedData
                        {
                            Label          = "Edit",
                            ToolTip        = "Edit",
                            Icon           = new ResourceHandle("Composite.Icons", "generated-type-data-edit"),
                            ActionLocation = Actions.ActionLocation
                        }
                    });

                    var deleteActionToken = new ConfirmWorkflowActionToken("Are you sure?", typeof(DeleteResourceActionToken));
                    element.AddAction(new ElementAction(new ActionHandle(deleteActionToken))
                    {
                        VisualData = new ActionVisualizedData
                        {
                            Label          = "Delete",
                            ToolTip        = "Delete",
                            Icon           = new ResourceHandle("Composite.Icons", "generated-type-data-delete"),
                            ActionLocation = Actions.ActionLocation
                        }
                    });

                    elements.Add(element);
                }
            }

            foreach (var folder in folders.OrderBy(f => f))
            {
                var handleNamespace = folder;
                if (!String.IsNullOrEmpty(ns))
                {
                    handleNamespace = ns + "." + handleNamespace;
                }

                var folderElement = NamespaceFolderEntityToken.CreateElement(context, folder, handleNamespace);

                var deleteActionToken = new ConfirmWorkflowActionToken("Are you sure?", typeof(DeleteNamespaceActionToken));
                folderElement.AddAction(new ElementAction(new ActionHandle(deleteActionToken))
                {
                    VisualData = new ActionVisualizedData
                    {
                        Label          = "Delete",
                        ToolTip        = "Delete",
                        Icon           = new ResourceHandle("Composite.Icons", "generated-type-data-delete"),
                        ActionLocation = Actions.ActionLocation
                    }
                });

                folderElement.AddAction(Actions.GetAddAction());
                folderElement.AddAction(Actions.GetExportAction());

                yield return(folderElement);
            }

            foreach (var el in elements)
            {
                yield return(el);
            }
        }
Esempio n. 31
0
        ResourceHandle<Material> GetCreateMaterial(ResourceHandle<Image> imageHandle)
        {
            var id = imageHandle.Id;

            if (!materials.ContainsKey(id))
            {
                var materialHandle = CreateMaterial(imageHandle);

                materials.Add(id, materialHandle);
            }

            return materials[id];
        }
Esempio n. 32
0
 public override void DrawTexturedRect(ResourceHandle <Image> imageHandle, RectangleF rect, float u1, float v1, float u2, float v2)
 {
     rect = Translate(rect);
     _guiBuffer.AddRectangle(rect, new Vector2(u1, v1), new Vector2(u2, v1), new Vector2(u2, v2), new Vector2(u1, v2), imageHandle, DrawColor);
 }
        public IEnumerable <Element> Provide(ElementProviderContext context, EntityToken token)
        {
            var returnList = new List <Element>();

            var dataSourceToken = (DataSourceEntityToken)token;
            var type            = Type.GetType(dataSourceToken.Type);

            if (type != typeof(StringBasedDataSourceAttribute))
            {
                return(returnList);
            }

            var form = DynamicFormsFacade.GetFormByName(dataSourceToken.FormName);

            if (form == null)
            {
                return(returnList);
            }

            var field = form.Model.Fields.Get(dataSourceToken.FieldName);

            if (field == null)
            {
                return(returnList);
            }

            var dataSource = field.DataSource;

            if (dataSource == null)
            {
                return(returnList);
            }

            foreach (var entry in dataSource)
            {
                var fieldsElementHandle = context.CreateElementHandle(new StringBasedDataSourceEntryEntityToken(form.Name, field.Name, entry.Key));
                var fieldElement        = new Element(fieldsElementHandle)
                {
                    VisualData = new ElementVisualizedData
                    {
                        Label       = entry.Key,
                        ToolTip     = entry.Key,
                        HasChildren = false,
                        Icon        = ResourceHandle.BuildIconFromDefaultProvider("localization-element-closed-root"),
                        OpenedIcon  = ResourceHandle.BuildIconFromDefaultProvider("localization-element-opened-root")
                    }
                };

                var deleteActionToken = new ConfirmWorkflowActionToken("Delete: " + entry.Key, typeof(DeleteStringBasedDataSourceEntryActionToken));
                fieldElement.AddAction(new ElementAction(new ActionHandle(deleteActionToken))
                {
                    VisualData = new ActionVisualizedData
                    {
                        Label          = "Delete",
                        ToolTip        = "Delete",
                        Icon           = ResourceHandle.BuildIconFromDefaultProvider("generated-type-data-delete"),
                        ActionLocation = ActionLocation
                    }
                });

                returnList.Add(fieldElement);
            }

            return(returnList);
        }
        private IEnumerable <Element> GetAvailablePackageGroupFolderChildren(string groupName, SearchToken seachToken)
        {
            IEnumerable <PackageDescription> packageDescriptions =
                (from description in PackageSystemServices.GetFilteredAllAvailablePackages()
                 where description.GroupName == groupName
                 orderby description.Name
                 select description);

            foreach (PackageDescription packageDescription in packageDescriptions)
            {
                ResourceHandle packageIcon = (packageDescription.PriceAmmount > 0 || packageDescription.AvailableInSubscriptions.Any(f => f.Purchasable)
                    ? AvailableCommercialPackageItemIcon : AvailablePackageItemIcon);

                Element element = new Element(_context.CreateElementHandle(new PackageElementProviderAvailablePackagesItemEntityToken(
                                                                               packageDescription.Id.ToString(),
                                                                               packageDescription.GroupName)));
                element.VisualData = new ElementVisualizedData
                {
                    Label       = packageDescription.Name,
                    ToolTip     = packageDescription.Name,
                    HasChildren = false,
                    Icon        = packageIcon,
                };

                if (!string.IsNullOrEmpty(packageDescription.ConsoleBrowserUrl))
                {
                    element.PropertyBag.Add("BrowserUrl", packageDescription.ConsoleBrowserUrl);
                    element.PropertyBag.Add("BrowserToolingOn", "false");
                }

                element.AddAction(new ElementAction(new ActionHandle(new WorkflowActionToken(WorkflowFacade.GetWorkflowType("Composite.Plugins.Elements.ElementProviders.PackageElementProvider.ViewAvailablePackageInfoWorkflowWorkflow"), ActionPermissions)))
                {
                    VisualData = new ActionVisualizedData
                    {
                        Label          = StringResourceSystemFacade.GetString("Composite.Plugins.PackageElementProvider", "ViewAvailableInformationLabel"),
                        ToolTip        = StringResourceSystemFacade.GetString("Composite.Plugins.PackageElementProvider", "ViewAvailableInformationToolTip"),
                        Icon           = ViewInstalledInformationIcon,
                        Disabled       = false,
                        ActionLocation = new ActionLocation
                        {
                            ActionType  = ActionType.Edit,
                            IsInFolder  = false,
                            IsInToolbar = true,
                            ActionGroup = PrimaryActionGroup
                        }
                    }
                });

                element.AddAction(new ElementAction(new ActionHandle(new WorkflowActionToken(WorkflowFacade.GetWorkflowType("Composite.Plugins.Elements.ElementProviders.PackageElementProvider.InstallRemotePackageWorkflow"), ActionPermissions)))
                {
                    VisualData = new ActionVisualizedData
                    {
                        Label          = StringResourceSystemFacade.GetString("Composite.Plugins.PackageElementProvider", "InstallLabel"),
                        ToolTip        = StringResourceSystemFacade.GetString("Composite.Plugins.PackageElementProvider", "InstallToolTip"),
                        Icon           = InstallIcon,
                        Disabled       = false,
                        ActionLocation = new ActionLocation
                        {
                            ActionType  = ActionType.Add,
                            IsInFolder  = false,
                            IsInToolbar = true,
                            ActionGroup = PrimaryActionGroup
                        }
                    }
                });

                yield return(element);
            }
        }
Esempio n. 35
0
 /// <summary>
 /// Draws textured rectangle.
 /// </summary>
 /// <param name="material">Material to use.</param>
 /// <param name="materialHandle">Rectangle bounds.</param>
 /// <param name="u1">MaterialHandle coordinate u1.</param>
 /// <param name="v1">MaterialHandle coordinate v1.</param>
 /// <param name="u2">MaterialHandle coordinate u2.</param>
 /// <param name="v2">MaterialHandle coordinate v2.</param>
 public virtual void DrawTexturedRect(ResourceHandle<Image> imageHandle, RectangleF rect, float u1=0, float v1=0, float u2=1, float v2=1)
 {
 }
        public static IUiControl Render(
            string consoleId,
            string elementProviderName,
            FlowToken flowToken,
            FormFlowUiDefinition formFlowUiCommand,
            IFormChannelIdentifier channel,
            bool debugMode,
            FlowControllerServicesContainer servicesContainer)
        {
            FlowControllerServicesContainer formServicesContainer = new FlowControllerServicesContainer(servicesContainer);

            formServicesContainer.AddService(new FormFlowRenderingService());
            formServicesContainer.AddService(new FormFlowWebRenderingService());

            IFormMarkupProvider         formMarkupProvider = formFlowUiCommand.MarkupProvider;
            IFormMarkupProvider         customToolbarItemsMarkupProvider = formFlowUiCommand.CustomToolbarItemsMarkupProvider;
            Dictionary <string, object> innerFormBindings = formFlowUiCommand.BindingsProvider.GetBindings();
            Dictionary <IFormEventIdentifier, FormFlowEventHandler> eventHandlers           = formFlowUiCommand.EventHandlers;
            Dictionary <string, List <ClientValidationRule> >       bindingsValidationRules = formFlowUiCommand.BindingsValidationRules;

            FormTreeCompiler formCompiler       = new FormTreeCompiler();
            IUiContainer     renderingContainer = GetRenderingContainer(channel, formFlowUiCommand.UiContainerType);

            // Setting state related objects so the delegate below can access them "fresh"
            CurrentFormTreeCompiler  = formCompiler;
            CurrentInnerFormBindings = innerFormBindings;
            CurrentControlContainer  = (IWebUiContainer)renderingContainer;


            Dictionary <string, object> containerEventHandlerStubs = new Dictionary <string, object>();

            foreach (IFormEventIdentifier eventIdentifier in eventHandlers.Keys)
            {
                IFormEventIdentifier localScopeEventIdentifier = eventIdentifier;  // See: Local variable usage with anonymous methods within loop control structures

                EventHandler handlerStub = delegate(object sender, EventArgs e)
                {
                    try
                    {
                        BaseEventHandler(consoleId, elementProviderName, flowToken, formFlowUiCommand, servicesContainer, eventHandlers, localScopeEventIdentifier, formServicesContainer);
                    }
                    catch (Exception ex)
                    {
                        formServicesContainer.GetService <IManagementConsoleMessageService>().ShowLogEntry(typeof(FormFlowUiDefinitionRenderer), ex);
                        throw;
                    }
                };

                containerEventHandlerStubs.Add(eventIdentifier.BindingName, handlerStub);

                if (innerFormBindings.ContainsKey(eventIdentifier.BindingName))
                {
                    innerFormBindings.Remove(eventIdentifier.BindingName);
                }

                innerFormBindings.Add(eventIdentifier.BindingName, handlerStub);
            }

            XDocument document;

            using (XmlReader formMarkupReader = formMarkupProvider.GetReader())
            {
                document = XDocument.Load(formMarkupReader);
                formMarkupReader.Close();
            }

            formCompiler.Compile(document, channel, innerFormBindings, debugMode, "", bindingsValidationRules);

            IUiControl innerForm = formCompiler.UiControl;

            IUiControl customToolbarItems = null;

            if (customToolbarItemsMarkupProvider != null)
            {
                var toolbarCompiler = new FormTreeCompiler();
                CurrentCustomToolbarFormTreeCompiler = toolbarCompiler;

                using (XmlReader formMarkupReader = customToolbarItemsMarkupProvider.GetReader())
                {
                    toolbarCompiler.Compile(formMarkupReader, channel, innerFormBindings, debugMode, bindingsValidationRules);
                }
                customToolbarItems = toolbarCompiler.UiControl;
            }

            CurrentControlTreeRoot = (IWebUiControl)innerForm;

            string label = formCompiler.Label;

            if (label.IsNullOrEmpty())
            {
                label = formFlowUiCommand.ContainerLabel ?? "";
            }

            string         labelField    = GetFormLabelField(document);
            ResourceHandle containerIcon = formCompiler.Icon;

            return(renderingContainer.Render(formCompiler.UiControl, customToolbarItems, channel, containerEventHandlerStubs, label, labelField, formCompiler.Tooltip, containerIcon));
        }
Esempio n. 37
0
 /// <summary>
 /// Gets pixel color of a specified texture. Slow.
 /// </summary>
 /// <param name="materialHandle"> </param>
 /// <param name="x">X.</param>
 /// <param name="y">Y.</param>
 /// <returns>Pixel color.</returns>
 public virtual Color PixelColor(ResourceHandle<Image> imagelHandle, uint x, uint y)
 {
     return PixelColor(imagelHandle, x, y, Color.White);
 }
Esempio n. 38
0
 public async Task ResourceHandle_should_return_the_same_instance()
 {
     using (var pool = new ResourcePool <IDisposable>(new InstanceHolder().CreateInstance))
         using (var handle = new ResourceHandle <IDisposable>(pool))
             Assert.That(await handle.ObtainAsync(), Is.SameAs(await handle.ObtainAsync()));
 }
Esempio n. 39
0
 public void RemoveSubResource(ResourceHandle resource, ResourceHandle subResource)
 {
     DBHelper.ExecuteNonQuery("RemoveEdgeWithSpaceSavings", subResource.AfcasKey, resource.AfcasKey, EdgeSource.Resource);
 }
        public static IEnumerable <Element> GetNamespaceAndFormElements(ElementProviderContext context, string ns)
        {
            using (var data = new DataConnection())
            {
                var allModelReferences = data.Get <IModelReference>();

                var folders      = new List <string>();
                var formElements = new List <Element>();

                if (String.IsNullOrEmpty(ns))
                {
                    var homepageIds = data.Get <IPageStructure>().Where(s => s.ParentId == Guid.Empty).Select(s => s.Id);
                    if (homepageIds.Count() > 1)
                    {
                        folders.AddRange(homepageIds
                                         .Select(id => PageManager.GetPageById(id))
                                         .Select(page => SanatizeFormName(page.Title)));
                    }
                }
                else
                {
                    allModelReferences = allModelReferences.Where(def => def.Name.StartsWith(ns + "."));
                }

                foreach (var modelReference in allModelReferences)
                {
                    var label = modelReference.Name;

                    if (!String.IsNullOrEmpty(ns))
                    {
                        label = label.Remove(0, ns.Length + 1);
                    }

                    var split = label.Split(new[] { '.' }, StringSplitOptions.RemoveEmptyEntries);
                    if (split.Length > 1)
                    {
                        var folder = split[0];

                        if (!folders.Contains(folder))
                        {
                            folders.Add(folder);
                        }
                    }
                    else if (split.Length == 1)
                    {
                        var token = modelReference.GetDataEntityToken();

                        var elementHandle = context.CreateElementHandle(token);
                        var formElement   = new Element(elementHandle)
                        {
                            VisualData = new ElementVisualizedData
                            {
                                Label       = label,
                                ToolTip     = label,
                                HasChildren = true,
                                Icon        = ResourceHandle.BuildIconFromDefaultProvider("localization-element-closed-root"),
                                OpenedIcon  = ResourceHandle.BuildIconFromDefaultProvider("localization-element-opened-root")
                            }
                        };

                        formElements.Add(formElement);
                    }
                }

                foreach (var folder in folders.OrderBy(f => f))
                {
                    var handleNamespace = folder;
                    if (!String.IsNullOrEmpty(ns))
                    {
                        handleNamespace = ns + "." + handleNamespace;
                    }

                    var folderElement = NamespaceFolderEntityToken.CreateElement(context, typeof(FormBuilderElementProvider).Name, folder, handleNamespace);

                    yield return(folderElement);
                }

                foreach (var form in formElements)
                {
                    yield return(form);
                }
            }
        }
Esempio n. 41
0
        private Element CreateElement(SimpleVirtualElement simpleElementNode)
        {
            EntityToken entityToken = new VirtualElementProviderEntityToken(_context.ProviderName, simpleElementNode.Name);

            Element element = new Element(_context.CreateElementHandle(entityToken))
            {
                TagValue   = simpleElementNode.Tag,
                VisualData = new ElementVisualizedData
                {
                    Label       = StringResourceSystemFacade.ParseString(simpleElementNode.Label),
                    HasChildren = true // fixing refresh problem easy way... was: HasChildren(baseElementNode)
                }
            };



            Action <IEnumerable> collectProviders = null;

            // Recursively searching for attached providers
            var attachedProviders = new List <AttachProviderVirtualElement>();

            collectProviders = currentElements =>
            {
                attachedProviders.AddRange(currentElements.OfType <AttachProviderVirtualElement>());
                currentElements.OfType <SimpleVirtualElement>().ForEach(e => collectProviders(e.Elements));
            };
            collectProviders(simpleElementNode.Elements);


            foreach (var attachedProvider in attachedProviders)
            {
                if (ElementFacade.ContainsLocalizedData(new ElementProviderHandle(attachedProvider.ProviderName)))
                {
                    element.IsLocaleAware = true;
                }
            }


            if (element.VisualData.HasChildren)
            {
                ResourceHandle openHandle  = IconResourceSystemFacade.GetResourceHandle(simpleElementNode.OpenFolderIconName);
                ResourceHandle closeHandle = IconResourceSystemFacade.GetResourceHandle(simpleElementNode.CloseFolderIconName);

                closeHandle = closeHandle ?? openHandle;
                openHandle  = openHandle ?? closeHandle;

                if (openHandle == null)
                {
                    openHandle  = CommonElementIcons.Folder;
                    closeHandle = CommonElementIcons.FolderOpen;
                }

                element.VisualData.Icon       = openHandle;
                element.VisualData.OpenedIcon = closeHandle;
            }
            else
            {
                element.VisualData.Icon = CommonElementIcons.FolderDisabled;
            }


            return(element);
        }
        private void AddTeaserInstances(EntityToken entityToken, List <Element> list, PageTeaserPositionFolderEntityToken folderToken)
        {
            var page      = PageManager.GetPageById(new Guid(entityToken.Source));
            var instances = TeaserFacade.GetPageTeasers(page, folderToken.Id, false);

            foreach (var instance in instances)
            {
                var attributes = instance.DataSourceId.InterfaceType.GetCustomAttributes(true).ToList();

                var icon       = new ResourceHandle("Composite.Icons", "dataassociation-rootfolder-closed");
                var openedIcon = new ResourceHandle("Composite.Icons", "dataassociation-rootfolder-open");

                var iconAttribute = attributes.OfType <IconAttribute>().FirstOrDefault();
                if (iconAttribute != null)
                {
                    icon = new ResourceHandle("Composite.Icons", iconAttribute.Name);

                    if (!String.IsNullOrEmpty(iconAttribute.OpenedName))
                    {
                        openedIcon = new ResourceHandle("Composite.Icons", iconAttribute.OpenedName);
                    }
                }

                var label = StringResourceSystemFacade.GetString("CompositeC1Contrib.Teasers", "TeaserElementAttachingProvider.NoLabel");
                try
                {
                    label = instance.GetLabel();
                }
                catch (Exception) { }

                var elementHandle = _context.CreateElementHandle(new PageTeaserInstanceEntityToken(page, instance));
                var teaserElement = new Element(elementHandle)
                {
                    VisualData = new ElementVisualizedData
                    {
                        Label       = label,
                        ToolTip     = label,
                        HasChildren = false,
                        Icon        = icon,
                        OpenedIcon  = openedIcon
                    }
                };

                var editWorkflowAttribute = attributes.OfType <EditWorkflowAttribute>().FirstOrDefault();
                if (editWorkflowAttribute != null)
                {
                    var editActionToken = new WorkflowActionToken(editWorkflowAttribute.EditWorkflowType, new[] { PermissionType.Edit });
                    teaserElement.AddAction(new ElementAction(new ActionHandle(editActionToken))
                    {
                        VisualData = new ActionVisualizedData
                        {
                            Label          = StringResourceSystemFacade.GetString("CompositeC1Contrib.Teasers", "TeaserElementAttachingProvider.Edit.Label"),
                            ToolTip        = StringResourceSystemFacade.GetString("CompositeC1Contrib.Teasers", "TeaserElementAttachingProvider.Edit.ToolTip"),
                            Icon           = new ResourceHandle("Composite.Icons", "generated-type-data-edit"),
                            ActionLocation = ActionLocation
                        }
                    });
                }

                var deleteActionToken = new ConfirmWorkflowActionToken(StringResourceSystemFacade.GetString("CompositeC1Contrib.Teasers", "TeaserElementAttachingProvider.DeleteItem") + label, typeof(DeletePageTeaserActionToken));
                teaserElement.AddAction(new ElementAction(new ActionHandle(deleteActionToken))
                {
                    VisualData = new ActionVisualizedData
                    {
                        Label          = StringResourceSystemFacade.GetString("CompositeC1Contrib.Teasers", "TeaserElementAttachingProvider.Delete.Label"),
                        ToolTip        = StringResourceSystemFacade.GetString("CompositeC1Contrib.Teasers", "TeaserElementAttachingProvider.Delete.ToolTip"),
                        Icon           = new ResourceHandle("Composite.Icons", "generated-type-data-delete"),
                        ActionLocation = ActionLocation
                    }
                });

                list.Add(teaserElement);
            }
        }
Esempio n. 43
0
        /// <summary>
        /// Initializes a new instance of the <see cref="TexturedSkin"/> class.
        /// </summary>
        /// <param name="renderer">Renderer to use.</param>
        /// <param name="imageHandle">Name of the skin texture map.</param>
        /// <param name="defaultFont"> </param>
        public TexturedSkin(Renderers.Renderer renderer, ResourceHandle<Image> imageHandle, Font defaultFont)
            : base(renderer, defaultFont)
        {
            this.imageHandle = imageHandle;

            InitializeColors();
            InitializeTextures();
        }
Esempio n. 44
0
 public void DrawTexturedRect(ResourceHandle<Image> imageHandle, RectangleF rect, Vector2 topLeftUV, Vector2 topRightUV, Vector2 bottomRightUV, Vector2 bottomLeftUV)
 {
     rect = Translate(rect);
     _guiBuffer.AddRectangle(rect,topLeftUV,topRightUV,bottomRightUV,bottomLeftUV, imageHandle, DrawColor);
 }
Esempio n. 45
0
        protected void AddQuad(IntPtr v1, IntPtr v2, IntPtr v3, IntPtr v4, uint structSize, ResourceHandle <Material> materialHandle)
        {
            var batchInfo = GetCreateBatchInfo(materialHandle);

            batchInfo.Ranges.Add((int)gb.NumVertices);

            gb.Add(v1, structSize);
            gb.Add(v2, structSize);
            gb.Add(v3, structSize);
            gb.Add(v4, structSize);
        }
Esempio n. 46
0
        public void AddRectangle(RectangleF rect, 
            Vector2 topLeftUV, Vector2 topRightUV, Vector2 bottomRightUV, Vector2 bottomLeftUV,
            ResourceHandle<Material> materialHandle, Color color)
        {
            Vertex v1, v2, v3, v4;

            InitVetexes(out v1, out v2, out v3, out v4,
                        rect, color,
                        topLeftUV, topRightUV, bottomRightUV, bottomLeftUV);

             unsafe
             {
                 AddQuad(new IntPtr(&v1),new IntPtr(&v2),new IntPtr(&v3),new IntPtr(&v4), (uint)sizeof(Vertex), materialHandle);
             }
        }
 /// <summary>
 /// Initializes the <see cref="ErrorWarnInfoProvider"/> class.
 /// </summary>
 static ErrorWarnInfoProvider()
 {
   DefaultIconInformation = new AssemblyResourceHandle(typeof(ErrorWarnInfoProvider), "CslaContrib.WebGUI.Resources.InformationIcon.png");
   DefaultIconWarning = new AssemblyResourceHandle(typeof(ErrorWarnInfoProvider), "CslaContrib.WebGUI.Resources.WarningIcon.png");
   DefaultIconError = new AssemblyResourceHandle(typeof(ErrorWarnInfoProvider), "CslaContrib.WebGUI.Resources.ErrorIcon.png");
 }
Esempio n. 48
0
 protected void AddQuad(IntPtr v1, IntPtr v2, IntPtr v3, IntPtr v4, uint structSize, ResourceHandle<Image> imageHandle)
 {
     var materialHandle = GetCreateMaterial(imageHandle);
     AddQuad(v1, v2, v3, v4, structSize, materialHandle);
 }
Esempio n. 49
0
 public override void DrawTexturedRect(ResourceHandle<Image> imageHandle, RectangleF rect, float u1, float v1, float u2, float v2)
 {
     rect = Translate(rect);
     _guiBuffer.AddRectangle(rect, new Vector2(u1,v1), new Vector2(u2,v1), new Vector2(u2,v2), new Vector2(u1,v2), imageHandle, DrawColor);
 }
Esempio n. 50
0
 public void DrawTexturedRect(ResourceHandle <Image> imageHandle, RectangleF rect, Vector2 topLeftUV, Vector2 topRightUV, Vector2 bottomRightUV, Vector2 bottomLeftUV)
 {
     rect = Translate(rect);
     _guiBuffer.AddRectangle(rect, topLeftUV, topRightUV, bottomRightUV, bottomLeftUV, imageHandle, DrawColor);
 }
Esempio n. 51
0
        public override Color PixelColor(ResourceHandle<Image> imageHandle, uint x, uint y, Color defaultColor)
        {
            var image = imageHandle.Resolve();
            if(image == null || image.Width == 0)
                return defaultColor;

            var offset = (int)(4 * (x + y * image.Width));
            var data = image.Buffer;

            var pixel = new Color(data[offset + 0],
                data[offset + 1], data[offset + 2], data[offset + 3]);

            return pixel;
        }
Esempio n. 52
0
 public override void SetContainerIcon(ResourceHandle icon)
 {
     this.ContainerIcon = icon;
 }
Esempio n. 53
0
        protected override ResourceHandle<Material> CreateMaterial(ResourceHandle<Image> imageHandle)
        {
            var materialHandle = Material.Create(Allocator.GetHeap(), "GwenGui");
            var mat = materialHandle.Resolve();
            mat.BackfaceCulling = false;
            mat.SetBlending(BlendSource.SourceAlpha, BlendDestination.InverseSourceAlpha);

            if (imageHandle.Id == ResourceHandle<Image>.Invalid)
            {
                mat.SetShader("VertexColor");
            }
            else
            {
                mat.SetShader("TexColor");
                mat.SetTexture(0, imageHandle);
                mat.GetTextureUnit(0).WrapMode = TextureWrapMode.Clamp;
            }

            return materialHandle;
        }
Esempio n. 54
0
        private static TreeNode BuildDataElementsTreeNode(XElement element, Tree tree)
        {
            XAttribute typeAttribute             = element.Attribute("Type");
            XAttribute labelAttribute            = element.Attribute("Label");
            XAttribute toolTipAttribute          = element.Attribute("ToolTip");
            XAttribute iconAttribute             = element.Attribute("Icon");
            XAttribute openedIconAttribute       = element.Attribute("OpenedIcon");
            XAttribute showForeignItemsAttribute = element.Attribute("ShowForeignItems");
            XAttribute leafDisplayAttribute      = element.Attribute("Display");
            XAttribute browserUrlAttribute       = element.Attribute("BrowserUrl");
            XAttribute browserImagelAttribute    = element.Attribute("BrowserImage");

            if (typeAttribute == null)
            {
                tree.AddValidationError(element, "TreeValidationError.Common.MissingAttribute", "Type");
                return(null);
            }

            Type interfaceType = TypeManager.TryGetType(typeAttribute.Value);

            if (interfaceType == null)
            {
                tree.AddValidationError(element, "TreeValidationError.Common.UnknownInterfaceType",
                                        typeAttribute.Value);
                return(null);
            }


            LeafDisplayMode leafDisplay = LeafDisplayModeHelper.ParseDisplayMode(leafDisplayAttribute, tree);


            ResourceHandle icon = null;

            if (iconAttribute != null)
            {
                icon = FactoryHelper.GetIcon(iconAttribute.Value);
            }

            ResourceHandle openedIcon = null;

            if (icon != null && openedIconAttribute == null)
            {
                openedIcon = icon;
            }
            else if (openedIconAttribute != null)
            {
                openedIcon = FactoryHelper.GetIcon(openedIconAttribute.Value);
            }

            var dataElementsTreeNode = new DataElementsTreeNode
            {
                Tree             = tree,
                Id               = tree.BuildProcessContext.CreateNewNodeId(),
                InterfaceType    = interfaceType,
                Label            = labelAttribute.GetValueOrDefault(null),
                ToolTip          = toolTipAttribute.GetValueOrDefault(null),
                Icon             = icon,
                OpenedIcon       = openedIcon,
                ShowForeignItems = showForeignItemsAttribute.GetValueOrDefault("true").ToLowerInvariant() == "true",
                Display          = leafDisplay,
                BrowserUrl       = browserUrlAttribute.GetValueOrDefault(null),
                BrowserImage     = browserImagelAttribute.GetValueOrDefault(null),
            };

            List <TreeNode> treeNodes;

            if (tree.BuildProcessContext.DataInteraceToTreeNodes.TryGetValue(interfaceType, out treeNodes) == false)
            {
                treeNodes = new List <TreeNode>();
                tree.BuildProcessContext.DataInteraceToTreeNodes.Add(interfaceType, treeNodes);
            }

            treeNodes.Add(dataElementsTreeNode);

            return(dataElementsTreeNode);
        }
Esempio n. 55
0
        protected unsafe void AddQuad(IntPtr v1, IntPtr v2, IntPtr v3, IntPtr v4, uint structSize, ResourceHandle<Material> materialHandle)
        {
            var batchInfo = GetCreateBatchInfo(materialHandle);
            batchInfo.Ranges.Add((int) gb.NumVertices);

            gb.Add((byte*)v1.ToPointer(), structSize);
            gb.Add((byte*)v2.ToPointer(), structSize);
            gb.Add((byte*)v3.ToPointer(), structSize);
            gb.Add((byte*)v4.ToPointer(), structSize);
        }
Esempio n. 56
0
        public override void Setup(Material mat, ref RenderOperation op)
        {
            if (mode == RenderMode.Depth)
            {
                Matrix lightPrjTrans;
                Matrix.Multiply(ref op.Transformation, ref EffectParams.DepthViewProj, out lightPrjTrans);
                shdVtxShader.SetValue("mvp", ref lightPrjTrans);
            }
            else if (mode == RenderMode.DeferredNormal)
            {
                Matrix worldView = op.Transformation * EffectParams.CurrentCamera.ViewMatrix;
                Matrix mvp       = worldView * EffectParams.CurrentCamera.ProjectionMatrix;
                nrmGenVShader.SetValue("mvp", ref mvp);
                nrmGenVShader.SetValue("worldView", ref worldView);

                if (!stateSetted)
                {
                    ShaderSamplerState state = new ShaderSamplerState();
                    state.AddressU      = TextureAddressMode.Wrap;
                    state.AddressV      = TextureAddressMode.Wrap;
                    state.AddressW      = TextureAddressMode.Wrap;
                    state.MinFilter     = TextureFilter.Linear;
                    state.MagFilter     = TextureFilter.Linear;
                    state.MipFilter     = TextureFilter.Linear;
                    state.MaxAnisotropy = 8;
                    state.MipMapLODBias = 0;

                    nrmGenPShader.SetSamplerState("texDif", ref state);

                    ResourceHandle <Texture> clrTex = mat.GetTexture(0);
                    if (clrTex != null)
                    {
                        nrmGenPShader.SetTexture("texDif", clrTex);
                    }
                }
            }
            else
            {
                Matrix mvp = op.Transformation * EffectParams.CurrentCamera.ViewMatrix * EffectParams.CurrentCamera.ProjectionMatrix;

                vtxShader.SetValue("mvp", ref mvp);
                vtxShader.SetValue("world", ref op.Transformation);

                Matrix lightPrjTrans;
                Matrix.Multiply(ref op.Transformation, ref EffectParams.DepthViewProj, out lightPrjTrans);

                vtxShader.SetValue("smTrans", lightPrjTrans);

                City sender = op.Sender as City;

                pixShader.SetValue("k_a", mat.Ambient);
                if (sender != null && sender.IsCaptured)
                {
                    Color4F color = new Color4F(sender.Owner.SideColor);
                    pixShader.SetValue("k_d", color);
                }
                else
                {
                    pixShader.SetValue("k_d", mat.Diffuse);
                }

                if (!stateSetted)
                {
                    ShaderSamplerState state = new ShaderSamplerState();
                    state.AddressU      = TextureAddressMode.Wrap;
                    state.AddressV      = TextureAddressMode.Wrap;
                    state.AddressW      = TextureAddressMode.Wrap;
                    state.MinFilter     = TextureFilter.Anisotropic;
                    state.MagFilter     = TextureFilter.Anisotropic;
                    state.MipFilter     = TextureFilter.Linear;
                    state.MaxAnisotropy = 8;
                    state.MipMapLODBias = 0;

                    pixShader.SetSamplerState("texDif", ref state);

                    ResourceHandle <Texture> clrTex = mat.GetTexture(0);
                    if (clrTex != null)
                    {
                        pixShader.SetTexture("texDif", clrTex);
                    }

                    stateSetted = true;
                }
            }
        }
Esempio n. 57
0
        BatchInfo GetCreateBatchInfo(ResourceHandle<Material> materialHandle)
        {
            if (!batches.ContainsKey(materialHandle.Id))
            {
                var batch = new RenderBatch
                {
                    GeometryBuffer = gb,
                    RenderLayer = RenderLayer.Overlays,
                    PrimitiveType = PrimitiveType.Quads,
                    Material = materialHandle
                };

                var batchInfo = new BatchInfo {Batch = batch, Ranges = new List<int>()};
                batches[materialHandle.Id] = batchInfo;
            }

            return batches[materialHandle.Id];
        }
Esempio n. 58
0
 public byte[] SaveShellHandle(ResourceHandle handle)
 {
     return(((ShellFileHandle)handle).SaveIdList());
 }
Esempio n. 59
0
        public IEnumerable <ElementAction> Provide(EntityToken entityToken)
        {
            var token = (FormFieldEntityToken)entityToken;

            var defintion = DynamicFormsFacade.GetFormByName(token.FormName);

            if (defintion == null)
            {
                yield break;
            }

            var field = defintion.Model.Fields.Get(token.FieldName);

            if (field == null)
            {
                yield break;
            }

            var editActionToken = new WorkflowActionToken(typeof(EditFormFieldWorkflow));

            yield return(new ElementAction(new ActionHandle(editActionToken))
            {
                TagValue = "edit",

                VisualData = new ActionVisualizedData
                {
                    Label = "Edit",
                    ToolTip = "Edit",
                    Icon = ResourceHandle.BuildIconFromDefaultProvider("generated-type-data-edit"),
                    ActionLocation = ActionLocation
                }
            });

            var deleteActionToken = new ConfirmWorkflowActionToken("Delete: " + field.Name, typeof(DeleteFormFieldActionToken));

            yield return(new ElementAction(new ActionHandle(deleteActionToken))
            {
                VisualData = new ActionVisualizedData
                {
                    Label = "Delete",
                    ToolTip = "Delete",
                    Icon = ResourceHandle.BuildIconFromDefaultProvider("generated-type-data-delete"),
                    ActionLocation = ActionLocation
                }
            });

            if (!field.Attributes.OfType <DataSourceAttribute>().Any())
            {
                var addDataSourceActionToken = new WorkflowActionToken(typeof(AddDataSourceWorkflow));
                yield return(new ElementAction(new ActionHandle(addDataSourceActionToken))
                {
                    VisualData = new ActionVisualizedData
                    {
                        Label = "Add datasource",
                        ToolTip = "Add datasource",
                        Icon = ResourceHandle.BuildIconFromDefaultProvider("generated-type-data-edit"),
                        ActionLocation = ActionLocation
                    }
                });
            }
        }
Esempio n. 60
0
 protected abstract ResourceHandle <Material> CreateMaterial(ResourceHandle <Image> imageHandle);