Sha256: 87e4cdfdc6a01c5f37b810954178d979480b2f29e86c224f56bbec47e855d01e

Contents?: true

Size: 943 Bytes

Versions: 4

Compression:

Stored size: 943 Bytes

Contents

// -*- c++ -*-
#pragma once
#ifndef __RAYS_SRC_TEXTURE_H__
#define __RAYS_SRC_TEXTURE_H__


#include <xot/pimpl.h>
#include "rays/defs.h"
#include "rays/color_space.h"
#include "opengl.h"


namespace Rays
{


	class Bitmap;


	class Texture
	{

		public:

			Texture ();

			Texture (
				int width, int height, const ColorSpace& cs = RGBA,
				bool smooth = false);

			Texture (const Bitmap& bitmap, bool smooth = false);

			Texture& operator = (const Bitmap& bitmap);

			~Texture ();

			int          width () const;

			int reserved_width () const;

			int          height () const;

			int reserved_height () const;

			const ColorSpace& color_space () const;

			bool smooth () const;

			GLuint id () const;

			void set_modified (bool modified = true);

			bool     modified () const;

			operator bool () const;

			bool operator ! () const;

			struct Data;

			Xot::PSharedImpl<Data> self;

	};// Texture


}// Rays


#endif//EOH

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
rays-0.3.4 src/texture.h
rays-0.3.3 src/texture.h
rays-0.3.2 src/texture.h
rays-0.3.1 src/texture.h