#ifndef _renderPassQuads

#define _renderPassQuads


// Macros



#include "stdlib.h"

extern char * __ClassNames[];


// Includes

#include "../element.h"

#include "../quadMesh.h"

#include "../mesh.h"

#include "../resourceManager.h"

#include "../fontRenderer.h"

#include "../../int.h"

#include "../program.h"

#include "../shader.h"

#include "../program.h"

#include "../vector4.h"

#include "../vector3.h"

#include "../vector2.h"

#include "../event.h"

#include "renderPass.h"


typedef struct quads{

	mesh * mesh;

	fontRenderer * font;

	sampler2D * samplerArray;

	program * program;

	vector_quadMesh * meshes;

	vector_element * elements;

	vector_int * mouseOverElements;


} quads;

char * quads_textFromNumber( quads * this, int i );

void quads_prepare( quads * this );

void quads_sortOpacity( quads * this, vector_quadMesh * meshes );

void quads_createMeshes( quads * this );

quadMesh quads_updateMesh( quads * this, quadMesh currentMesh,  element currentElement );

void quads_callElementEvents( quads * this, event * currentEvent,  element * currentElement,  int elementIndex );

bool quads_integerContains( quads * this, vector_int * numbers,  int a );

void quads_render( quads * this );

extern resourceManager	* resources; 

extern event * globalEvent; 

quads quads_new(  );

quads * quads_newPointer(  );

#endif


typedef struct quads quads;



