diff --git a/SDL2/sdl2.inc b/SDL2/sdl2.inc new file mode 100644 index 0000000..5373196 --- /dev/null +++ b/SDL2/sdl2.inc @@ -0,0 +1,5 @@ +#include +#include +#include +#include + diff --git a/SDL2/simplewindow.cpp b/SDL2/simplewindow.cpp new file mode 100644 index 0000000..7ec86a6 --- /dev/null +++ b/SDL2/simplewindow.cpp @@ -0,0 +1,45 @@ +#include "../jade.h" +#include "sdl2.inc" + +// SCREEN DIMENSIONS +CONSTANT INT SCREEN_WIDTH = 640; +CONSTANT INT SCREEN_HEIGHT = 480; + +MAIN + DIM AS SDL_Window* window = NULL; + DIM AS SDL_Surface* screenSurface = NULL; + + IF ( SDL_Init( SDL_INIT_VIDEO ) < 0 ) THEN + PRINT( SDL_GetError() ); + ELSE + //Create Window + window = SDL_CreateWindow( "SDL Simple Window", + SDL_WINDOWPOS_UNDEFINED, + SDL_WINDOWPOS_UNDEFINED, + SCREEN_WIDTH, + SCREEN_HEIGHT, + SDL_WINDOW_SHOWN); + + IF ( window == NULL ) THEN + PRINT( SDL_GetError() ); + ELSE + // Get Window Surface + screenSurface = SDL_GetWindowSurface( window ); + // Fill the surface with White + SDL_FillRect( screenSurface, NULL, SDL_MapRGB( screenSurface->format, 255, 255, 255 ) ); + // Update the Surface + SDL_UpdateWindowSurface( window ); + // Wait 5 seconds + SDL_Delay( 5000 ); + ENDIF + ENDIF + + //Destroy Window + SDL_DestroyWindow( window ); + + // Shutdown SDL + SDL_Quit(); + + RETURN 0; + +END \ No newline at end of file diff --git a/cppbas.inc b/cppbas.inc deleted file mode 100644 index 886c577..0000000 --- a/cppbas.inc +++ /dev/null @@ -1,97 +0,0 @@ -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#ifndef _WIN32 - #include - #include -#endif -#include -#include -#include -#include -#include -#include -#include - -/* DEFINES */ -#define MAIN int main (int argc, char** argv) { -#define ENDMAIN } -#define DECLARE -#define FUNCTION -#define ENDFUNCTION } -#define DIM -#define AS -#define SUB void -#define ENDSUB } -#define BEGIN { -#define END } -#define AND && -#define OR || -#define CLASS class -#define TYPE typedef struct -#define ADDR & -#define INCR ++ -#define DECR -- -#define NEXT ++ -#define PRIOR -- -#define BYREF * -#define NOT not -#define IF if -#define THEN { -#define ELSE } else { -#define ENDIF } -#define FOR for -#define TO ; -#define STEP ; -#define SELECT switch -#define CASE case -#define _TO_ ... -#define ENDCASE break; -#define CASE_ELSE default -#define ENDSELECT } -#define WHILE while -#define WEND } -#define RETURN return -#define CONSTANT const -#define STR$( x ) dynamic_cast< std::ostringstream & >( ( std::ostringstream() << std::dec << x ) ).str() -#define BOOL bool -#define INT int -#define UINT unsigned int -#define VECTOR std::vector -#define MAP std::map -#define CHAR char -#define ENUM enum { -#define ENDENUM }; -#define EXIT exit -#define BREAK break; -#define SHORT short -#define LPCHAR char* - -#ifndef TRUE - #define TRUE 1 -#endif - -#ifndef FALSE - #define FALSE 0 -#endif - -/* TYPEDEFS */ -typedef std::string CSTRING; - - -char LF [2]= {10,0}; // Line Feed - -#include "cppbasrt.inc" - diff --git a/cppbasrt.inc b/cppbasrt.inc deleted file mode 100644 index ab35f66..0000000 --- a/cppbasrt.inc +++ /dev/null @@ -1,204 +0,0 @@ -DECLARE FUNCTION CSTRING LTRIM$ (CSTRING); -DECLARE FUNCTION CSTRING RTRIM$ (CSTRING); -DECLARE FUNCTION CSTRING TRIM$ (CSTRING); -DECLARE FUNCTION CSTRING LEFT$ (CSTRING, INT); -DECLARE FUNCTION CSTRING MID$ (CSTRING, INT, INT); -DECLARE FUNCTION CSTRING RIGHT$ (CSTRING, INT); -DECLARE FUNCTION INT INSTR (CSTRING,CSTRING,size_t=0); -DECLARE FUNCTION CSTRING LCASE$ (CSTRING); -DECLARE FUNCTION CSTRING UCASE$ (CSTRING); -DECLARE FUNCTION CSTRING MCASE$ (CSTRING); -DECLARE FUNCTION CSTRING LOADFILE$ (CSTRING); -DECLARE FUNCTION CSTRING SPLITPATH$ (CSTRING, INT); -DECLARE FUNCTION CSTRING ENC$ (CSTRING,INT=34,INT=34); -DECLARE FUNCTION CSTRING REVERSE$ (CSTRING); -DECLARE FUNCTION CSTRING REPLACE$ (CSTRING subject, CONSTANT CSTRING& search, CONSTANT CSTRING& replace); -DECLARE FUNCTION INT VAL (CSTRING); -DECLARE SUB PRINT (CSTRING); -DECLARE SUB SAVEFILE(CSTRING src, CSTRING fname); - - -FUNCTION CSTRING REVERSE$ (CSTRING src) BEGIN - RETURN CSTRING( src.rbegin(),src.rend() ); -ENDFUNCTION - -SUB PRINT (CSTRING A="") BEGIN - IF (A.empty()) THEN - std::cout << std::endl; - ELSE - std::cout << A << std::endl; - ENDIF -ENDSUB - -FUNCTION CSTRING LTRIM$ (CSTRING s) BEGIN - s.erase(s.begin(),std::find_if(s.begin(),s.end(),std::not1(std::ptr_fun(std::isspace)))); - RETURN s; -ENDFUNCTION - - -FUNCTION CSTRING RTRIM$ (CSTRING s) BEGIN - s.erase(std::find_if(s.rbegin(),s.rend(),std::not1(std::ptr_fun(std::isspace))).base(),s.end()); - RETURN s; -ENDFUNCTION - - -FUNCTION CSTRING TRIM$ (CSTRING s) BEGIN - RETURN LTRIM$ (RTRIM$ (s)); -ENDFUNCTION - - -FUNCTION CSTRING LEFT$ (CSTRING s, INT length) BEGIN - RETURN s.substr(0,length); -ENDFUNCTION - - -FUNCTION CSTRING MID$ (CSTRING s, INT start, INT length) BEGIN - RETURN s.substr(start,length); -ENDFUNCTION - - -FUNCTION CSTRING RIGHT$ (CSTRING s, INT length) BEGIN - RETURN s.substr(s.size()-length); -ENDFUNCTION - - -FUNCTION INT INSTR (CSTRING s,CSTRING match, size_t offset) BEGIN - IF (s.empty() OR match.empty() OR offset>s.length()) THEN - RETURN 0; - ENDIF - RETURN s.find(match,offset); -ENDFUNCTION - - -FUNCTION CSTRING LCASE$ (CSTRING str) BEGIN - DIM AS CSTRING name(str); - std::transform(name.begin(),name.end(),name.begin(),::tolower); - RETURN name; -ENDFUNCTION - - -FUNCTION CSTRING UCASE$ (CSTRING str) BEGIN - DIM AS CSTRING name(str); - std::transform(name.begin(),name.end(),name.begin(),::toupper); - RETURN name; -ENDFUNCTION - - -FUNCTION CSTRING MCASE$ (CSTRING S) BEGIN - DIM AS CSTRING tmpStr(S); - DIM AS bool capFlag; - DIM AS register size_t i; - - - std::transform(tmpStr.begin(),tmpStr.end(),tmpStr.begin(),::tolower); - - FOR (i=0 TO i<=tmpStr.length() STEP i++) BEGIN - IF (std::ispunct(tmpStr[i]) OR std::isspace(tmpStr[i])) THEN - capFlag=FALSE; - ENDIF - - IF (capFlag==FALSE AND std::isalpha(tmpStr[i])) THEN - tmpStr[i]=std::toupper(tmpStr[i]); - capFlag=TRUE; - ENDIF - END - RETURN tmpStr; -ENDFUNCTION - - -FUNCTION CSTRING LOADFILE$ (CSTRING N) BEGIN - DIM AS CSTRING line, tmpStr; - DIM AS std::ifstream myFile(N.c_str()); - - IF( NOT myFile.good()) BEGIN - PRINT("Error opening file"); - RETURN "ERROR"; - ENDIF - - WHILE ( NOT myFile.eof()) BEGIN - getline(myFile,line); - line+=LF; - tmpStr+=line; - WEND - - myFile.close(); - - RETURN tmpStr; - -ENDFUNCTION - -SUB SAVEFILE (CSTRING src, CSTRING fname) BEGIN - DIM AS std::ofstream outfile; - - outfile.open(fname.c_str()); - outfile << src; - outfile.close(); - -ENDSUB - -FUNCTION CSTRING SPLITPATH$ (CSTRING FPATH, INT mask) BEGIN - DIM AS CSTRING fullPath(FPATH); - DIM AS CSTRING path, filename, extension; - DIM AS CSTRING::size_type lastSlashPos, extPos; - - lastSlashPos=fullPath.find_last_of("/"); - extPos=fullPath.find_last_of("."); - IF (lastSlashPos==CSTRING::npos) THEN - path.empty(); - filename=fullPath; - ELSE - path=fullPath.substr(0,lastSlashPos); - filename=fullPath.substr(lastSlashPos+1,(extPos-lastSlashPos)-1); - ENDIF - - IF (extPos==CSTRING::npos) THEN - extension.empty(); - ELSE - extension=fullPath.substr(extPos+1,fullPath.size()-extPos-1); - ENDIF - - SELECT (mask) BEGIN - CASE 4: - RETURN path; - ENDCASE - - CASE 8: - RETURN filename; - ENDCASE - - CASE 12: - RETURN path.append("/").append(filename); - ENDCASE - - CASE 16: - RETURN extension; - ENDCASE - - CASE_ELSE: - RETURN ""; - - ENDSELECT - -ENDFUNCTION - - -FUNCTION CSTRING ENC$ (CSTRING A, INT L, INT R) BEGIN - DIM AS std::stringstream buf; - buf<<(char)L<