about summary refs log tree commit diff
path: root/src/engine/external/glfw/lib/stream.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/engine/external/glfw/lib/stream.c')
-rw-r--r--src/engine/external/glfw/lib/stream.c194
1 files changed, 0 insertions, 194 deletions
diff --git a/src/engine/external/glfw/lib/stream.c b/src/engine/external/glfw/lib/stream.c
deleted file mode 100644
index 34f75c85..00000000
--- a/src/engine/external/glfw/lib/stream.c
+++ /dev/null
@@ -1,194 +0,0 @@
-//========================================================================

-// GLFW - An OpenGL framework

-// File:        stream.c

-// Platform:    Any

-// API version: 2.6

-// WWW:         http://glfw.sourceforge.net

-//------------------------------------------------------------------------

-// Copyright (c) 2002-2006 Camilla Berglund

-//

-// This software is provided 'as-is', without any express or implied

-// warranty. In no event will the authors be held liable for any damages

-// arising from the use of this software.

-//

-// Permission is granted to anyone to use this software for any purpose,

-// including commercial applications, and to alter it and redistribute it

-// freely, subject to the following restrictions:

-//

-// 1. The origin of this software must not be misrepresented; you must not

-//    claim that you wrote the original software. If you use this software

-//    in a product, an acknowledgment in the product documentation would

-//    be appreciated but is not required.

-//

-// 2. Altered source versions must be plainly marked as such, and must not

-//    be misrepresented as being the original software.

-//

-// 3. This notice may not be removed or altered from any source

-//    distribution.

-//

-//========================================================================

-

-

-#include "internal.h"

-

-

-//========================================================================

-// Opens a GLFW stream with a file

-//========================================================================

-

-int _glfwOpenFileStream( _GLFWstream *stream, const char* name, const char* mode )

-{

-    memset( stream, 0, sizeof(_GLFWstream) );

-

-    stream->File = fopen( name, mode );

-    if( stream->File == NULL )

-    {

-	return GL_FALSE;

-    }

-

-    return GL_TRUE;

-}

-

-

-//========================================================================

-// Opens a GLFW stream with a memory block

-//========================================================================

-

-int _glfwOpenBufferStream( _GLFWstream *stream, void *data, long size )

-{

-    memset( stream, 0, sizeof(_GLFWstream) );

-

-    stream->Data = data;

-    stream->Size = size;

-    return GL_TRUE;

-}

-

-

-//========================================================================

-// Reads data from a GLFW stream

-//========================================================================

-

-long _glfwReadStream( _GLFWstream *stream, void *data, long size )

-{

-    if( stream->File != NULL )

-    {

-	return fread( data, 1, size, stream->File );

-    }

-

-    if( stream->Data != NULL )

-    {

-	// Check for EOF

-	if( stream->Position == stream->Size )

-	{

-	    return 0;

-	}

-

-	// Clamp read size to available data

-	if( stream->Position + size > stream->Size )

-	{

-	    size = stream->Size - stream->Position;

-	}

-	

-	// Perform data read

-	memcpy( data, (unsigned char*) stream->Data + stream->Position, size );

-	stream->Position += size;

-	return size;

-    }

-

-    return 0;

-}

-

-

-//========================================================================

-// Returns the current position of a GLFW stream

-//========================================================================

-

-long _glfwTellStream( _GLFWstream *stream )

-{

-    if( stream->File != NULL )

-    {

-	return ftell( stream->File );

-    }

-

-    if( stream->Data != NULL )

-    {

-	return stream->Position;

-    }

-

-    return 0;

-}

-

-

-//========================================================================

-// Sets the current position of a GLFW stream

-//========================================================================

-

-int _glfwSeekStream( _GLFWstream *stream, long offset, int whence )

-{

-    long position;

-

-    if( stream->File != NULL )

-    {

-	if( fseek( stream->File, offset, whence ) != 0 )

-	{

-	    return GL_FALSE;

-	}

-

-	return GL_TRUE;

-    }

-

-    if( stream->Data != NULL )

-    {

-	position = offset;

-

-	// Handle whence parameter

-	if( whence == SEEK_CUR )

-	{

-	    position += stream->Position;

-	}

-	else if( whence == SEEK_END )

-	{

-	    position += stream->Size;

-	}

-	else if( whence != SEEK_SET )

-	{

-	    return GL_FALSE;

-	}

-

-	// Clamp offset to buffer bounds and apply it

-	if( position > stream->Size )

-	{

-	    stream->Position = stream->Size;

-	}

-	else if( position < 0 )

-	{

-	    stream->Position = 0;

-	}

-	else

-	{

-	    stream->Position = position;

-	}

-	

-	return GL_TRUE;

-    }

-

-    return GL_FALSE;

-}

-

-

-//========================================================================

-// Closes a GLFW stream

-//========================================================================

-

-void _glfwCloseStream( _GLFWstream *stream )

-{

-    if( stream->File != NULL )

-    {

-	fclose( stream->File );

-    }

-

-    // Nothing to be done about (user allocated) memory blocks

-

-    memset( stream, 0, sizeof(_GLFWstream) );

-}

-