This is old and unmaintained code, ignore it. starfish is a simple, SDL based, 2D graphics and user input library for Go. If you intend to work on it, please fork from the 'devel' branch, not 'master'. Current release: 0.12.0

What is starfish?

What starfish is:

starfish is a simple 2D graphics and user input library for Go built on SDL.

What starfish is not:

While it is built on SDL, unlike many SDL wrappers, starfish is not meant to replicate the SDL API, only leverage it. Don't expect knowledge of SDL to be beneficial when using this library.

This is done for two reasons:

  • If a better foundation comes along or SDL is no longer sufficient, it will be a simple matter to reimplement starfish with it.
  • SDL has more options than most programmers care about for simple applications. A greater number of options leads to greater complexity and a higher learning curve.

Getting starfish:

Prerequisites:

Install GCC, SDL, SDL_gfx, SDL_image, and SDL_ttf:

  • RHEL-like systems the following should work:

      	yum install gcc SDL-devel SDL_gfx-devel SDL_image-devel SDL_ttf-devel
    
  • Arch Linux the following should work:

      	pacman -S gcc sdl2 sdl2_gfx sdl2_image sdl2_ttf
    
  • Anyone feel free to add instructions for other systems here.

Installation:

Install the lastest and greatest stable release

To install starfish, the following should pull and install all four starfish packages:

		go get github.com/gtalent/starfish/gfx
		go get github.com/gtalent/starfish/input

Install release any release/branch you want (0.11.1 and later)

		cd $GOPATH/src
		mkdir -p gtalent
		cd gtalent
		rm -rf starfish
		git clone https://github.com/gtalent/starfish.git
		cd starfish
		git checkout origin/<release or tag you want here>
		make install
Similar Resources

Canvas is a Go drawing library based on OpenGL or using software rendering that is very similar to the HTML5 canvas API

Canvas is a Go drawing library based on OpenGL or using software rendering that is very similar to the HTML5 canvas API

Go canvas Canvas is a pure Go library that provides drawing functionality as similar as possible to the HTML5 canvas API. It has nothing to do with HT

Jan 3, 2023

A Go skia binding based on skia C library through cgo

go-skia is a Go skia binding based on skia C library through cgo. Note: the project is still in early stage, and it only supports Linux-amd64 now. The

Nov 7, 2022

A simple API written in Go that creates badges in SVG format, based on the requested route.

A simple API written in Go that creates badges in SVG format, based on the requested route. Those graphics can be used to style README.md files, or to add tags to webpages.

Jul 2, 2021

An API which allows you to upload an image and responds with the same image, stripped of EXIF data

strip-metadata This is an API which allows you to upload an image and responds with the same image, stripped of EXIF data. How to run You need to have

Nov 25, 2021

A note taking app, that you can draw in, syncs to the cloud, and is on most platforms!

About NoteDraw About · How to contribute · How to run Structure Codebase Description SRC The sorce code for the client side (Go) Branches Only Ones th

Jul 11, 2022

Find out where you fall on the Open-Source Character Alignment Chart

gitaligned Find out where you fall on the Open-Source Character Alignment Chart Binaries available in releases. If you prefer to install from source,

Dec 28, 2022

Radius parsing in golang using gopacket. You can parse from either live traffic or from pcap of your choice.

go-radius Radius parsing in golang using gopacket. You can parse from either live traffic or from pcap of your choice. RADIUS RADIUS is an AAA (authen

Dec 1, 2022

code2img can generate image of source code

code2img can generate image of source code

code2img code2img can generate image of source code. This was inspired by carbon and silicon Features Doesn't need browser & Internet Copy image of so

Nov 15, 2022

Package qrcode implements a QR Code encoder

A matrix barcode, Arbitrary content may be encoded, with URLs being a popular choice

Nov 1, 2021
Comments
  • Spaces Not Drawn In Text

    Spaces Not Drawn In Text

    Spaces do not appear when entered in text that is drawn to the screen. It seems that this might be an SDL problem, though solutions would be simple enough even if there is no way to force SDL to draw the text correctly itself.

  • Removed redundant and incorrect usage of close() in example code.

    Removed redundant and incorrect usage of close() in example code.

    There's no need to call close() on a channel other than to signal that there are no more values to be sent. It's also an error to call close() from the receiver.

A simple javascript website that takes user input, queries a Go based backend which then creates ascii art and sends it back to the frontend

A simple javascript website that takes user input, queries a Go based backend which then creates ascii art and sends it back to the frontend. Finally the site displays the ascii art and offers the option to download as multiple file types.

Jan 7, 2022
A Grid based 2D Graphics library
A Grid based 2D Graphics library

gridder Built on top of Go Graphics github.com/fogleman/gg with the idea to simplify visualizing Grids using 2D Graphics. Dependencies gg github.com/f

Dec 1, 2022
Go binding for the cairo graphics library

go-cairo Go binding for the cairo graphics library Based on Dethe Elza's version https://bitbucket.org/dethe/gocairo but significantly extended and up

Dec 19, 2022
Go Graphics - 2D rendering in Go with a simple API.
Go Graphics - 2D rendering in Go with a simple API.

Go Graphics gg is a library for rendering 2D graphics in pure Go. Installation go get -u github.com/fogleman/gg Alternatively, you may use gopkg.in t

Dec 29, 2022
Simple tool for changing graphics in dbd

Config changer for Dead By Deaylight For now only for epic store version And if only installed under C:\ further updates will include support for vers

May 3, 2022
A phoenix Chain client based on the go-ethereum fork,the new PoS consensus engine is based on the VRF algorithm.

Phoenix Official Golang implementation of the Phoenix protocol. !!!The current version is for testing and developing purposes only!!! Building the sou

Aug 18, 2022
a tool to output images as RGB ANSI graphics on the terminal
a tool to output images as RGB ANSI graphics on the terminal

imgcat Tool to output images in the terminal. Built with bubbletea install homebrew brew install trashhalo/homebrew-brews/imgcat prebuilt packages Pr

Dec 28, 2022
A soothing face filter where you can appreciate the beauty but not fully identify the person.
A soothing face filter where you can appreciate the beauty but not fully identify the person.

⭐ the project to show your appreciation. ↗️ Showerglass A soothing face filter where you can appreciate the beauty but not fully identify the person.

Oct 26, 2022
User programmable screen overlay using web technologies
User programmable screen overlay using web technologies

Topframe User programmable screen overlay using web technologies Display information and always-on-top widgets Use HTML/JS/CSS to draw on your screen

Dec 29, 2022
A festive Christmas tree GIF generator implemented using only Golang standard library code
A festive Christmas tree GIF generator implemented using only Golang standard library code

Christmas Tree GIF Generator A festive Christmas tree GIF generator implemented

Feb 4, 2022