#include "BeDC.h"

int main(){
	//Create the BeDC Object
	BeDC dc;
	
	//Normal Message
	dc.SendMessage("Welcome to BeDC!!!");

	//Send a BPoint
	BPoint point(40,120);
	dc.SendPoint(point);   
	
	//Send a BRect    
	BRect rect(80,60,130,140);
	dc.SendRect(rect);    
	  
	//Create another BeDC Object - With green head
	BeDC dc_green("Multiple Colors", DC_GREEN);
	
	//Send an int32 - with a specified description
	dc_green.SendInt((int32)120, "item count");
	
	//Add a separator    
	dc_green.AddSeparator();
	
	//Send a error text
	dc_green.SendMessage("An error has occured!", DC_ERROR);
	
	//Send a success
	dc_green.SendMessage("Finished!!!", DC_SUCCESS);
	   
	//Dump a BMessage
	BMessage *Message = new BMessage((int32)1000);
	Message->AddString("Text", "Dump Message Test...");
	Message->AddInt32("An Int", 2000);
	Message->AddPoint("A BPoint", BPoint(150,360));
	dc.DumpBMessage(Message, "A Description");

	return 0;
}



