Exemplo n.º 1
0
 private void test_fully_peekable_stream(SKStream stream, int limit)
 {
     for (var i = 1; !stream.IsAtEnd; i++)
     {
         Assert.Equal(0, compare_peek_to_read(stream, i));
     }
 }
Exemplo n.º 2
0
        static void test_read(SKStream bufferedStream, byte[] expectations, int bytesToRead)
        {
            // output for reading bufferedStream.
            var storage = new byte[bytesToRead];

            var bytesRead = bufferedStream.Read(storage, bytesToRead);

            Assert.True(bytesRead == bytesToRead || bufferedStream.IsAtEnd);
            Assert.Equal(expectations.Take(bytesRead), storage.Take(bytesRead));
        }
Exemplo n.º 3
0
 // Test that hasLength() returns the correct value, based on the stream
 // being wrapped. A length can only be known if the wrapped stream has a
 // length and it has a position (so its initial position can be taken into
 // account when computing the length).
 private static void test_hasLength(SKStream bufferedStream, SKStream streamBeingBuffered)
 {
     if (streamBeingBuffered.HasLength && streamBeingBuffered.HasPosition)
     {
         Assert.True(bufferedStream.HasLength);
     }
     else
     {
         Assert.False(bufferedStream.HasLength);
     }
 }
Exemplo n.º 4
0
        public ImageLayer(string pFilename, bool pActive = true)
        {
            mActive = pActive;
            mName   = System.IO.Path.GetFileName(pFilename);

            //Open the defined image
            mFile   = new SKFileStream(pFilename);
            mBitmap = new SKBitmap();
            mBitmap = SKBitmap.Decode(mFile);

            paint = new SKPaint();
            var transparency = SKColors.Black;             // 127 => 50%

            paint.BlendMode = SKBlendMode.Plus;
            var cf = SKColorFilter.CreateBlendMode(transparency, SKBlendMode.DstIn);

            paint.ColorFilter = cf;
        }
Exemplo n.º 5
0
        private int compare_peek_to_read(SKStream stream, int bytesToPeek)
        {
            Assert.True(bytesToPeek > 0);

            var peekStorage = SKData.Create(bytesToPeek);
            var readStorage = SKData.Create(bytesToPeek);

            var bytesPeeked = stream.Peek(peekStorage.Data, bytesToPeek);
            var bytesRead   = stream.Read(readStorage.Data, bytesToPeek);

            // bytesRead should only be less than attempted if the stream is at the
            // end.
            Assert.True(bytesRead == bytesToPeek || stream.IsAtEnd);

            // peek and read should behave the same, except peek returned to the
            // original position, so they read the same data.
            Assert.Equal(peekStorage.ToArray().Take(bytesPeeked), readStorage.ToArray().Take(bytesPeeked));

            // A stream should never be able to peek more than it can read.
            Assert.True(bytesRead >= bytesPeeked);

            return(bytesRead - bytesPeeked);
        }
Exemplo n.º 6
0
        private static void test_rewind(SKStream bufferedStream, bool shouldSucceed)
        {
            var success = bufferedStream.Rewind();

            Assert.Equal(shouldSucceed, success);
        }