Skip to content
/ tie Public

Package franeklubi/tie provides a Processing-like API for simple and fun drawing, game making, data and algorithm visualization, and generally - art :)

License

Notifications You must be signed in to change notification settings

franeklubi/tie

Repository files navigation

franeklubi/tie

GoDoc

logo

Package franeklubi/tie provides a Processing-like API for simple and fun drawing, game making, data and algorithm visualization, and generally - art :)



Installation

To install this package:

go get github.com/franeklubi/tie

You'll also need to install dependencies. (see Dependencies)

Dependencies

This package depends on two other packages:

  • gl v2.1
  • glfw v3.2

To install these, use:

go get github.com/go-gl/gl/v2.1/gl

then

go get github.com/go-gl/glfw/v3.2/glfw

and You should be all set! :)

Features

Main features:

  • it's beginner friendly,
  • has Processing-like API - no need to learn a new framework from the ground up,
  • provides easy image manipulation,
  • it's fun :D

Example

( For more examples visit franeklubi/tie-examples! )

package main

// import the package
import (
    "github.com/franeklubi/tie"
)

func main() {
    // initialize engine in main
    tie.Init(500, 500, "window_name", false)
    //   width, height, window_name, is_resizable

    // pass all the functions you want used by the engine
    tie.PassFunctions(
        preload,
        setup,
        draw,
    )

    // launch the engine
    tie.Launch()
}

var (
    img tie.Image
)

// called only once, before setup, nothing can be drawn here
func preload() {
    img = tie.LoadImage("/path/to/image.png")
}

// called only once, before draw, you can draw here
func setup() {
    tie.Background(255, 255, 255, 255)
}

// called once every frame
func draw() {
    // drawing loaded image
    tie.Fill(255, 255, 255, 255)
    tie.PastePixels(img, 0, 0, tie.Width, tie.Height)

    // drawing ellipse
    tie.Fill(0, 255, 0, 255)
    tie.Ellipse(tie.Width/2, tie.Height/2, 200, 200)

    // drawing rectangle
    tie.Fill(0, 255, 255, 255)
    tie.Rect(tie.Width/2-50, tie.Height/2-50, 100, 100)
}

About

Package franeklubi/tie provides a Processing-like API for simple and fun drawing, game making, data and algorithm visualization, and generally - art :)

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages