Add readme
This commit is contained in:
		
							
								
								
									
										59
									
								
								grogs/README.md
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										59
									
								
								grogs/README.md
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,59 @@ | |||||||
|  | # grogs (Ground graphics) library | ||||||
|  |  | ||||||
|  | This library uses SDL3 to add graphics support to Ground. | ||||||
|  |  | ||||||
|  | ## Compiling | ||||||
|  |  | ||||||
|  | First, ensure SDL3 is installed on your system. Then: | ||||||
|  |  | ||||||
|  | ```bash | ||||||
|  | g++ -shared -fPIC -lSDL3 -o grogs.so grogs.cpp | ||||||
|  | ``` | ||||||
|  |  | ||||||
|  | ## Functions | ||||||
|  |  | ||||||
|  | ### fun -int !initSDL -string &windowTitle -int &width -int &height | ||||||
|  |  | ||||||
|  | This function initialises SDL for use in Grogs. **This must be run before trying to run any other Grogs functions!** | ||||||
|  |  | ||||||
|  | First argument is the window title, second and third are width and height of the window, respectively. | ||||||
|  |  | ||||||
|  | If everything goes fine, returns 0. | ||||||
|  |  | ||||||
|  | If SDL couldn't create the window, returns 1. If already initialized, returns 2. | ||||||
|  |  | ||||||
|  | Example: | ||||||
|  |  | ||||||
|  | ``` | ||||||
|  | pusharg "My Awesome Window" 640 480 | ||||||
|  | !grogs:initSDL &result | ||||||
|  | ``` | ||||||
|  |  | ||||||
|  | ### fun -int !pollEvent | ||||||
|  |  | ||||||
|  | Returns a code for an event that has been polled. For now, only window closing is supported, which will return 0. Anything else for now will return -1. | ||||||
|  |  | ||||||
|  | ### fun -int !clearRenderer | ||||||
|  |  | ||||||
|  | Clears the renderer of any pixels to be rendered. Returns 0, unless SDL is not initialized. | ||||||
|  |  | ||||||
|  | ### fun -int !renderFrame | ||||||
|  |  | ||||||
|  | Renders frame on the screen. Whichever pixels have been set will be displayed. Returns 0, unless SDL is not initialized. | ||||||
|  |  | ||||||
|  | ### fun -int !setPixel -int &xpos -int &ypos -int &red -int &green -int &blue | ||||||
|  |  | ||||||
|  | Sets a pixel at the desired location to the desired colour. Returns 0, unless SDL is not initialized. | ||||||
|  |  | ||||||
|  | First argument: xpos | ||||||
|  | Second argument: ypos | ||||||
|  | Third argument: red value (0 to 255) | ||||||
|  | Fourth argument: green value (0 to 255) | ||||||
|  | Fifth argument: blue value (0 to 255) | ||||||
|  |  | ||||||
|  | This example sets the pixel at (10, 10) to white (RGB(255, 255, 255)): | ||||||
|  |  | ||||||
|  | ``` | ||||||
|  | pusharg 10 10 255 255 255 | ||||||
|  | call !grogs:setPixel &result | ||||||
|  | ``` | ||||||
| @@ -57,7 +57,7 @@ GroundValue renderFrame(GroundValue* args, int arg_count) { | |||||||
|         return GROUND_INT_VAL(-1); |         return GROUND_INT_VAL(-1); | ||||||
|     } |     } | ||||||
|     SDL_RenderPresent(renderer); |     SDL_RenderPresent(renderer); | ||||||
|     return GROUND_BOOL_VAL(true); |     return GROUND_INT_VAL(0); | ||||||
| } | } | ||||||
|  |  | ||||||
| GroundValue setPixel(GroundValue* args, int arg_count) { | GroundValue setPixel(GroundValue* args, int arg_count) { | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user