#include #include #include SDL_Surface* Backbuffer = NULL; TTF_Font* Font = NULL; int FontSize=48; /////dirty hack lol int FS(); void DrawOutlineText(SDL_Surface* surface, char* string, int x, int y, TTF_Font* font, Uint8 r, Uint8 g, Uint8 b); void DrawTTFFonts(char * text,int line); //assume everything //void DrawTTFFonts(SDL_Surface* surface, char* string, int x, int y, TTF_Font* font, Uint8 r, Uint8 g, Uint8 b); //IDK, maybe I can make a better function //void DrawOutlineText(SDL_Surface* surface, std::string string, int x, int y, TTF_Font* font, Uint8 r, Uint8 g, Uint8 b); bool ProgramIsRunning(); /* * #include extern DECLSPEC SDL_Surface * SDLCALL TTF_RenderText_Solid(TTF_Font *font, const char *text, SDL_Color fg); extern DECLSPEC SDL_Surface * SDLCALL TTF_RenderUTF8_Solid(TTF_Font *font, const char *text, SDL_Color fg); extern DECLSPEC SDL_Surface * SDLCALL TTF_RenderUNICODE_Solid(TTF_Font *font, const Uint16 *text, SDL_Color fg); extern DECLSPEC SDL_Surface * SDLCALL TTF_RenderText_Solid(TTF_Font *font, string *text, SDL_Color fg); extern DECLSPEC SDL_Surface * SDLCALL TTF_RenderUTF8_Solid(TTF_Font *font, string *text, SDL_Color fg); extern DECLSPEC SDL_Surface * SDLCALL TTF_RenderUNICODE_Solid(TTF_Font *font, string *text, SDL_Color fg); * * Honestly fixing it is probably a wormhole * */ int FS(){ return FontSize; } //void DrawTTFFonts(SDL_Surface* surface, std::string, int x, int y, TTF_Font* font, Uint8 r, Uint8 g, Uint8 b); void DrawTTFFonts(char * text ,int line){ //track lines, clear screen if flagged, increment line by fontsize+margin //Font size (FS*lines)+margin>=screenHeight clear screen and keep typing //add functions for text animation printf(" %d\n", line); int margin=5; int var= (FS()*line)+margin; if(line==0){ DrawOutlineText(Backbuffer, text, 10, 10, Font, 255, 0, 0); } if(line>=1){ DrawOutlineText(Backbuffer, text, 10, var, Font, 255, 0, 0); } } void DrawOutlineText(SDL_Surface* surface, char* string, int x, int y, TTF_Font* font, Uint8 r, Uint8 g, Uint8 b){ //void DrawOutlineText(SDL_Surface* surface, std::string string, int x, int y, TTF_Font* font, Uint8 r, Uint8 g, Uint8 b){ SDL_Surface* renderedText = NULL; SDL_Color color; color.r = r; color.g = g; color.b = b; renderedText = TTF_RenderText_Solid(font, string, color); //needs to be fixed in sdl lib in /usr/local/include/SDL_ttf.h SDL_Rect pos; pos.x = x; pos.y = y; SDL_BlitSurface(renderedText, NULL, surface, &pos); SDL_FreeSurface(renderedText); } bool ProgramIsRunning(){ SDL_Event event; bool running = true; while(SDL_PollEvent(&event)){ if(event.type == SDL_QUIT) running = false; } return running; }