Example #1
0
 public Sound(byte[] buffer)
 {
     using (var cbuffer = new CBuffer(buffer))
     {
         ID = Native.Audio.SPF_LoadSound(cbuffer.Pointer, cbuffer.Length);
     }
     Duration = Native.Audio.SPF_GetSoundDuration(ID);
 }
Example #2
0
File: SPF.cs Project: Dreamnoid/SPF
 public Image(byte[] buffer)
 {
     using (var cbuffer = new CBuffer(buffer))
     {
         ID = Native.Images.SPF_LoadImage(cbuffer.Pointer, cbuffer.Length);
     }
     Width  = Native.Images.SPF_GetImageWidth(ID);
     Height = Native.Images.SPF_GetImageHeight(ID);
 }
Example #3
0
            public Texture(byte[] buffer)
            {
                using (var cbuffer = new CBuffer(buffer))
                {
                    ID = Native.Textures.SPF_LoadTexture(cbuffer.Pointer, cbuffer.Length);
                }

                Width   = Native.Textures.SPF_GetTextureWidth(ID);
                Height  = Native.Textures.SPF_GetTextureHeight(ID);
                Flipped = Native.Textures.SPF_IsTextureFlipped(ID);
            }
Example #4
0
File: SPF.cs Project: Dreamnoid/SPF
        public static Font LoadFont(byte[] buffer, int width, int height, int fontHeight, int firstCharacter = 32, int lastCharacter = 256)
        {
            int charactersCount = lastCharacter - firstCharacter;

            using (var cbuffer = new CBuffer(buffer))
            {
                var      glyphes   = new Glyph[charactersCount];
                GCHandle gcGlyphes = GCHandle.Alloc(glyphes, GCHandleType.Pinned);
                var      ptr       = Marshal.UnsafeAddrOfPinnedArrayElement(glyphes, 0);
                var      texID     = Native.Font.SPF_LoadFont(cbuffer.Pointer, width, height, fontHeight, firstCharacter, lastCharacter, gcGlyphes.AddrOfPinnedObject());
                gcGlyphes.Free();

                if (texID < 0)
                {
                    throw new Exception("Could not render font");
                }

                var texture = new Texture(texID, width, height);
                return(new Font(texture, glyphes, fontHeight, firstCharacter, lastCharacter));
            }
        }
Example #5
0
 public Music(byte[] buffer)
 {
     _cbuffer = new CBuffer(buffer);
     ID       = Native.Audio.SPF_LoadMusic(_cbuffer.Pointer, _cbuffer.Length);
 }