31 lines
1.2 KiB
Go
31 lines
1.2 KiB
Go
|
package allg5
|
||
|
|
||
|
// #include <allegro5/allegro.h>
|
||
|
// #include <allegro5/allegro_primitives.h>
|
||
|
import "C"
|
||
|
import "unsafe"
|
||
|
|
||
|
func DrawFilledRectangle(x1, y1, x2, y2 float32, c Color) {
|
||
|
C.al_draw_filled_rectangle(C.float(x1), C.float(y1), C.float(x2), C.float(y2), c.color)
|
||
|
}
|
||
|
|
||
|
func DrawFilledTriangle(x1, y1, x2, y2, x3, y3 float32, c Color) {
|
||
|
C.al_draw_filled_triangle(C.float(x1), C.float(y1), C.float(x2), C.float(y2), C.float(x3), C.float(y3), c.color)
|
||
|
}
|
||
|
|
||
|
func DrawLine(x1, y1, x2, y2 float32, c Color, thickness float32) {
|
||
|
C.al_draw_line(C.float(x1), C.float(y1), C.float(x2), C.float(y2), c.color, C.float(thickness))
|
||
|
}
|
||
|
|
||
|
func DrawPolyline(vertices []float32, c Color, thickness float32) {
|
||
|
C.al_draw_polyline((*C.float)(unsafe.Pointer(&vertices[0])), 8, C.int(len(vertices)>>1), C.ALLEGRO_LINE_JOIN_ROUND, C.ALLEGRO_LINE_CAP_ROUND, c.color, C.float(thickness), 1)
|
||
|
}
|
||
|
|
||
|
func DrawRectangle(x1, y1, x2, y2 float32, c Color, thickness float32) {
|
||
|
C.al_draw_rectangle(C.float(x1), C.float(y1), C.float(x2), C.float(y2), c.color, C.float(thickness))
|
||
|
}
|
||
|
|
||
|
func DrawTriangle(x1, y1, x2, y2, x3, y3 float32, c Color, thickness float32) {
|
||
|
C.al_draw_triangle(C.float(x1), C.float(y1), C.float(x2), C.float(y2), C.float(x3), C.float(y3), c.color, C.float(thickness))
|
||
|
}
|