public SimpleBitmapAtlas CreateSimpleBitmapAtlas()
        {
            SimpleBitmapAtlas atlas = new SimpleBitmapAtlas
            {
                TextureKind = this.TextureKind,
                FontName    = this.FontName,
                SizeInPts   = this.FontSizeInPoints
            };

            foreach (BitmapAtlasItemSource src in _items.Values)
            {
                Rectangle area = src.Area;

                atlas.AddAtlasItem(new AtlasItem(src.UniqueInt16Name)
                {
                    Width  = src.Width,
                    Left   = area.X,
                    Top    = area.Top,
                    Height = area.Height,

                    TextureXOffset = src.TextureXOffset,
                    TextureYOffset = src.TextureYOffset
                });
            }

            return(atlas);
        }
예제 #2
0
        void ReadAtlasItems(BinaryReader reader)
        {
            ushort itemCount = reader.ReadUInt16();

            for (int i = 0; i < itemCount; ++i)
            {
                //read each glyph map info

                var item = new AtlasItem(reader.ReadUInt16());

                //2. area
                item.Left   = reader.ReadUInt16();
                item.Top    = reader.ReadUInt16();
                item.Width  = reader.ReadUInt16();
                item.Height = reader.ReadUInt16();

                //3. texture offset
                item.TextureXOffset = reader.ReadInt16();
                item.TextureYOffset = reader.ReadInt16();

                _atlas.AddAtlasItem(item);
            }
        }