1
0
mirror of https://github.com/vlang/v.git synced 2023-08-10 21:13:21 +03:00
v/vlib/gg
2022-09-25 15:22:10 +03:00
..
m4 fmt: remove space in front of ? and ! (#14366) 2022-05-13 06:56:21 +03:00
testdata checker: fix nested struct reference type field initialized check. (fix: #15741) (#15752) 2022-09-15 07:59:31 +03:00
draw_fns_api_test.v ci: show failing compilation output in draw_fns_api_test.v (make diagnostic easier) 2022-02-22 16:53:06 +02:00
draw.c.v gg: improve arc/slice drawing (#15856) 2022-09-25 15:22:10 +03:00
enums.v all: replace "NB:" with "Note:" (docs/comments) 2022-03-06 20:01:22 +03:00
gg_android_outside_termux.c.v Revert "gg: fix android compilation for ~/.vmodules/ui/examples/rectangles.v" 2022-07-06 16:19:40 +03:00
gg_darwin.c.v scanner: make the 1. float error a warning for now 2021-08-25 16:58:54 +03:00
gg_darwin.m scanner: make the 1. float error a warning for now 2021-08-25 16:58:54 +03:00
gg_ui.c.v gg: some stuff required to have svg and png screenshots working on v ui (#14180) 2022-04-26 20:59:36 +03:00
gg.c.v builtin, compiler: replace isnil(x) calls with x == unsafe { nil } (a little faster without -prod) (#15759) 2022-09-15 14:59:37 +03:00
gg.js.v all: voidptr(0) => unsafe { nil } (p.2) 2022-07-21 20:51:54 +03:00
gg.v all: update copyright year 2022-01-04 12:21:12 +03:00
image.c.v all: ~500 more byte=>u8 2022-04-15 18:25:45 +03:00
image.js.v gg: move code using C types to c.v files, add js.v files (#12873) 2021-12-17 15:22:09 +02:00
image.v all: wrap up unsafe { nil } (p. 3) 2022-07-21 21:01:30 +03:00
import_gx.v gg: add a temporary import for gx + a gg.Color type alias for gx.Color, without using it 2022-01-29 21:42:19 +02:00
README.md tools: implement cgen tag for Markdown examples in v check-md (#13332) 2022-01-31 22:51:04 +02:00
recorder.c.v gg: add missing doc strings to android, recorder and gg.c.v (#13936) 2022-04-05 18:42:01 +03:00
recorder.js.v gg: move code using C types to c.v files, add js.v files (#12873) 2021-12-17 15:22:09 +02:00
recorder.v gg: move code using C types to c.v files, add js.v files (#12873) 2021-12-17 15:22:09 +02:00
text_rendering.c.v checker: fix nested struct reference type field initialized check. (fix: #15741) (#15752) 2022-09-15 07:59:31 +03:00
text_rendering.js.v gg: add text rendering, keyboard event handling for JS and other fixes (#12932) 2021-12-22 12:26:52 +02:00
text_rendering.v all: replace []byte with []u8 2022-04-15 15:35:35 +03:00

Description:

gg is V's simple graphics module. It is currently implemented using sokol, and makes easy creating apps that just need a way to draw simple 2D shapes, and to react to user's keyboard/mouse input.

Example:

module main

import gg
import gx

fn main() {
	mut context := gg.new_context(
		bg_color: gx.rgb(174, 198, 255)
		width: 600
		height: 400
		window_title: 'Polygons'
		frame_fn: frame
	)
	context.run()
}

fn frame(mut ctx gg.Context) {
	ctx.begin()
	ctx.draw_convex_poly([f32(100.0), 100.0, 200.0, 100.0, 300.0, 200.0, 200.0, 300.0, 100.0, 300.0],
		gx.blue)
	ctx.draw_poly_empty([f32(50.0), 50.0, 70.0, 60.0, 90.0, 80.0, 70.0, 110.0], gx.black)
	ctx.draw_triangle_filled(450, 142, 530, 280, 370, 280, gx.red)
	ctx.end()
}