
/*
	TEDDY - General graphics application library
	Copyright (C) 1999, 2000, 2001	Timo Suoranta
	tksuoran@cc.helsinki.fi

		This library is free software; you can redistribute it and/or
		modify it under the terms of the GNU Lesser General Public
		License as published by the Free Software Foundation; either
		version 2.1 of the License, or (at your option) any later version.

		This library is distributed in the hope that it will be useful,
		but WITHOUT ANY WARRANTY; without even the implied warranty of
		MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
		Lesser General Public License for more details.

		You should have received a copy of the GNU Lesser General Public
		License along with this library; if not, write to the Free Software
		Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
*/


#include "Graphics/Features.h"
#include "Graphics/Texture.h"
#include "Graphics/View.h"
#include "PhysicalComponents/LayoutConstraint.h"
#include "PhysicalComponents/TextureFill.h"
using namespace Graphics;


namespace PhysicalComponents {


//!  Default constructor
TextureFill::TextureFill( Texture *texture ):Fill(){
	this->texture = texture;
}


//!  Drawing code
void TextureFill::drawSelf(){	
	int width;
	int height;

	getSize( width, height );

	view->enable( TEXTURE_2D );
	view->setTexture( texture );
	beginQuads();
	glTexCoord2f( 0, 0 ); vertex2i( 0, 0 );
	glTexCoord2f( 1, 0 ); vertex2i( width, 0 );
	glTexCoord2f( 1, 1 ); vertex2i( width, height );
	glTexCoord2f( 0, 1 ); vertex2i( 0, height );
	end();
	view->disable( TEXTURE_2D );
	//	!!! FIX
}


};	//	namespace PhysicalComponents

