2004-09-07 12:32:21 +00:00
/*
Copyright ( C ) 1996 - 1997 Id Software , Inc .
This program is free software ; you can redistribute it and / or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation ; either version 2
of the License , or ( at your option ) any later version .
This program 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 General Public License for more details .
You should have received a copy of the GNU General Public License
along with this program ; if not , write to the Free Software
Foundation , Inc . , 59 Temple Place - Suite 330 , Boston , MA 02111 - 1307 , USA .
*/
// screen.h
extern float scr_con_current ;
extern float scr_conlines ; // lines of console to display
extern int sb_lines ;
extern int clearnotify ; // set to 0 whenever notify text is drawn
extern qboolean scr_disabled_for_loading ;
extern cvar_t scr_fov ;
extern cvar_t scr_viewsize ;
extern cvar_t scr_viewsize ;
qboolean scr_skipupdate ;
qboolean SCR_RSShot ( void ) ;
//void SCR_DrawConsole (qboolean noback);
//void SCR_SetUpToDrawConsole (void);
//void SCR_BeginLoadingPlaque (void);
//void SCR_EndLoadingPlaque (void);
//void SCR_Init (void);
//void SCR_UpdateScreen (void);
2009-11-04 21:16:50 +00:00
# if defined(GLQUAKE)
2004-09-07 12:32:21 +00:00
void GLSCR_UpdateScreen ( void ) ;
# endif
void SCR_ImageName ( char * mapname ) ;
//this stuff is internal to the screen systems.
2007-08-06 21:13:15 +00:00
void RSpeedShow ( void ) ;
2004-11-23 00:43:27 +00:00
void SCR_CrosshairPosition ( int pnum , int * x , int * y ) ;
2004-09-07 12:32:21 +00:00
void SCR_DrawLoading ( void ) ;
void SCR_CalcRefdef ( void ) ;
void SCR_TileClear ( void ) ;
void SCR_DrawNotifyString ( void ) ;
void SCR_CheckDrawCenterString ( void ) ;
void SCR_DrawNet ( void ) ;
void SCR_DrawTurtle ( void ) ;
void SCR_DrawPause ( void ) ;
void SCR_VRectForPlayer ( vrect_t * vrect , int pnum ) ; //returns a region for the player's view
2009-11-04 21:16:50 +00:00
void SCR_DrawCursor ( int prydoncursornum ) ;
2004-09-07 23:36:32 +00:00
2005-01-23 17:49:42 +00:00
void CLSCR_Init ( void ) ; //basically so I can register a few friendly cvars.
2004-09-07 23:36:32 +00:00
//TEI_SHOWLMP2 stuff
void SCR_ShowPics_Draw ( void ) ;
void SCR_ShowPic_Create ( void ) ;
void SCR_ShowPic_Hide ( void ) ;
void SCR_ShowPic_Move ( void ) ;
void SCR_ShowPic_Update ( void ) ;
void SCR_ShowPic_Clear ( void ) ;
2004-11-23 00:43:27 +00:00
//a header is better than none...
void Draw_TextBox ( int x , int y , int width , int lines ) ;
2007-05-25 22:16:29 +00:00
qboolean SCR_ScreenShot ( char * filename ) ;
2005-01-24 23:47:32 +00:00
void SCR_DrawTwoDimensional ( int uimenu , qboolean nohud ) ;
2009-04-06 00:34:32 +00:00
enum
{
LS_NONE ,
LS_CONNECTION ,
LS_SERVER ,
LS_CLIENT ,
} ;
int SCR_GetLoadingStage ( void ) ;
2009-04-19 00:50:42 +00:00
void SCR_SetLoadingStage ( int stage ) ;
2009-11-04 21:16:50 +00:00
/*fonts*/
void Font_Init ( void ) ;
void Font_Shutdown ( void ) ;
struct font_s * Font_LoadFont ( int height , char * fontfilename ) ;
void Font_Free ( struct font_s * f ) ;
void Font_BeginString ( struct font_s * font , int vx , int vy , int * px , int * py ) ;
2010-07-11 02:22:39 +00:00
void Font_BeginScaledString ( struct font_s * font , float vx , float vy , float * px , float * py ) ; /*avoid using*/
2011-06-16 02:03:57 +00:00
void Font_Transform ( int vx , int vy , int * px , int * py ) ;
2009-11-04 21:16:50 +00:00
int Font_CharHeight ( void ) ;
int Font_CharWidth ( unsigned int charcode ) ;
2012-03-19 06:30:41 +00:00
int Font_CharEndCoord ( struct font_s * font , int x , unsigned int charcode ) ;
2009-11-04 21:16:50 +00:00
int Font_DrawChar ( int px , int py , unsigned int charcode ) ;
2010-07-11 02:22:39 +00:00
float Font_DrawScaleChar ( float px , float py , float cw , float ch , unsigned int charcode ) ; /*avoid using*/
void Font_EndString ( struct font_s * font ) ;
2010-02-06 01:25:04 +00:00
void Font_ForceColour ( float r , float g , float b , float a ) ; //This colour will be applied while the char mask remains WHITE. If you print char by char, make sure to include the mask.
2010-03-14 14:35:56 +00:00
void Font_InvalidateColour ( void ) ;
/*these three functions deal with formatted blocks of text (including tabs and new lines)*/
2009-11-04 21:16:50 +00:00
int Font_LineBreaks ( conchar_t * start , conchar_t * end , int maxpixelwidth , int maxlines , conchar_t * * starts , conchar_t * * ends ) ;
2010-03-14 14:35:56 +00:00
int Font_LineWidth ( conchar_t * start , conchar_t * end ) ;
void Font_LineDraw ( int x , int y , conchar_t * start , conchar_t * end ) ;
2009-11-04 21:16:50 +00:00
extern struct font_s * font_conchar ;
extern struct font_s * font_tiny ;
/*end fonts*/