
//******************************************************************************** //funtion: DPrint() //purpose: Contructs new Dprint object /////////////////////////////PARAMETERS/////////////////////////////////////////////// //startx: The beginning x screen coordinate for Println //starty: The beginning y screen coordinate for Println //vertical_spacing: The vertical spacing between each subsequent line using Println //pdevice: The D3D Device //******************************************************************************** DPrint(int startx, int starty, int vertical_spacing, LPDIRECT3DDEVICE9 pdevice); /*Creates with autoFilter Settings*/ //autoFilter: Turn auto filter on or off //filterTime: the frequency of auto filtration DPrint(int startx, int starty, int vertical_spacing, LPDIRECT3DDEVICE9 pdevice, bool autoFilter, UINT filterTime=10000); //******************************************************************** //function: TestPrint //purpose: Tests boundaries of a line of text, preparing to be written. //returns: An array of RECTs holding the calculated size of each character // block in the text and the whole length of the text. /////////////////////////////PARAMETERS/////////////////////////////////////////////// //Rectarr: An array of RECT that one must past to the function which will // be filled with the location, width and height of each character printed //pFormat: A reference to the Format which holds one's font preferences //str: The string to test. //******************************************************************** void TestPrintln(RECT* Rectarr, LPFFORMAT pFormat, char* str); //******************************************************************************************* //function: CalcConcat //purpose: will return the least amount of letters that must be erased for a string in order // for that string to be concatenated with a new string and still fit in the pixel // limitations supplied. /////////////////////////////PARAMETERS/////////////////////////////////////////////// //Rectarr: An array of RECT that one must past to the function which will // be filled with the location, width and height of each character printed. //bufout: bufin will be concatenated to this string. //bufin: The initial string to be concatenated. //maxpixwidth: The concatenated string will not be longer then maxpixwidth, if it is the string // will be shortened until it fits within the horizontal limitations of maxpixwidth. //pFormat: Naturally different fonts take up different amounts of screen realistate, so one must // specify which font is to be made to fit in maxpixwidth. //******************************************************************************************* int CalcConcat(RECT* RectArr, char* bufout, char* bufin, int maxpixwidth, LPFFORMAT pFormat); //********************************************************************* //funtion: Println //purpose: Will print a new line of text to screen //returns: A reactangle holding the size of the text drawn in Rectptr //remarks: Starts at the locations specified by startx and starty. On each call // the cursor moves down vertically vspacing pixels until ResetCursor is // called which resets the cursor. // /////////////////////////////PARAMETERS/////////////////////////////////////////////// //Rectarr: An array of RECT that one must past to the function which will // be filled with the location, width and height of each character printed. //fontColor:The color for the text to be printed. //pFormat: The Format for the text to be printed //str: The text to be printed. //********************************************************************* void Println(RECT* Rectptr, D3DCOLOR fontColor, LPFFORMAT pFormat, char* str); //********************************************************************* //funtion: Print //purpose: Will print text to the size of the RECT provided /////////////////////////////PARAMETERS/////////////////////////////////////////////// //rbox: A reference to a RECT. Holds coordinates for text to be printed //fontColor:The color for the text to be printed. //pFormat: The Format for the text to be printed. //str: The text to be printed. //********************************************************************* void Print(RECT* rbox, D3DCOLOR fontColor, LPFFORMAT pFormat, char* str); //******************************************************* // function: DrawBox // purpose: Will draw a box based on dimensions and color specified. // NOTE: Not mine. Leeched code. //******************************************************* void DrawBox(int x, int y, int w, int h, D3DCOLOR col); //******************************************************** // function: TextBox // purpose: Will try to draw text in the given RECT /////////////////////////////PARAMETERS/////////////////////////////////////////////// //Rectarr: An array of RECT that one must past to the function which will // be filled with the location, width and height of each character printed. //FormatRect: A reference to a RECT. Holds coordinates for text to be printed. //text: Text to be printed. //pFormat: The Format for the text to be printed. //inside: Color of inside of textbox. //border: Color of border of textbox. //textcol: Color of text to be printed in box. // ******************************************************* void TextBox(RECT* Rectptr, RECT* FormatRect, string text, LPFFORMAT pFormat, D3DCOLOR inside, D3DCOLOR border, D3DCOLOR textcol); //Font Functions void Filter(); //manual filter void SetFilter(bool autoFilter, UINT cycletime = 10000);//automatic filter settings //Set Functions void SetCursor(int newx, int newy); //Set X and Y coords for text printing void ResetCursor(); //sets Println cursor back to starty and startx. void Setvspc(int vertical_spacing); //change vertical spacing. //Get Functions int getx();//startx int gety();//starty int getvspc();// get vertical spacing //Resets Font Pointers void PreReset(); //OnLostDevice void PostReset(); //OnResetDevice //RECT HELPERS static RECT* rectcpy(RECT* out, RECT* in); static int rectw(RECT* in); //width static int recth(RECT* in); //height //TEXT HELPERS // a bit misleading. Does not tick all the way through only to end of text. Does not loop. static int TickerText(char* strin, char* strout, unsigned int constraint, int wait, int time);
