55 lines
		
	
	
		
			953 B
		
	
	
	
		
			V
		
	
	
			
		
		
	
	
			55 lines
		
	
	
		
			953 B
		
	
	
	
		
			V
		
	
	
| module main
 | |
| 
 | |
| import gg
 | |
| import gx
 | |
| 
 | |
| struct App {
 | |
| mut:
 | |
| 	gg     &gg.Context
 | |
| 	pixels []f32
 | |
| }
 | |
| 
 | |
| fn main() {
 | |
| 	mut pixels := []f32{}
 | |
| 	density := 4
 | |
| 	for x in 30 .. 60 {
 | |
| 		if x % density == 0 {
 | |
| 			continue
 | |
| 		}
 | |
| 		for y in 30 .. 60 {
 | |
| 			if y % density == 0 {
 | |
| 				continue
 | |
| 			}
 | |
| 			pixels << f32(x + density)
 | |
| 			pixels << f32(y + density)
 | |
| 		}
 | |
| 	}
 | |
| 	mut app := &App{
 | |
| 		gg: 0
 | |
| 		pixels: pixels
 | |
| 	}
 | |
| 	app.gg = gg.new_context(
 | |
| 		bg_color: gx.rgb(174, 198, 255)
 | |
| 		width: 100
 | |
| 		height: 100
 | |
| 		window_title: 'Set Pixels'
 | |
| 		frame_fn: frame
 | |
| 		user_data: app
 | |
| 	)
 | |
| 	app.gg.run()
 | |
| }
 | |
| 
 | |
| fn frame(mut app App) {
 | |
| 	app.gg.begin()
 | |
| 
 | |
| 	// Draw a blue pixel near each corner. (Find your magnifying glass)
 | |
| 	app.gg.draw_pixel(2, 2, gx.blue)
 | |
| 	app.gg.draw_pixel(app.gg.width - 2, 2, gx.blue)
 | |
| 	app.gg.draw_pixel(app.gg.width - 2, app.gg.height - 2, gx.blue)
 | |
| 	app.gg.draw_pixel(2, app.gg.height - 2, gx.blue)
 | |
| 
 | |
| 	// Draw pixels in a grid-like pattern.
 | |
| 	app.gg.draw_pixels(app.pixels, gx.red)
 | |
| 	app.gg.end()
 | |
| }
 |