Coder Social home page Coder Social logo

octonato / doodle Goto Github PK

View Code? Open in Web Editor NEW

This project forked from creativescala/doodle

0.0 0.0 0.0 2.27 MB

Compositional vector graphics in Scala / Scala.JS

License: Apache License 2.0

Scala 93.23% Shell 0.04% Batchfile 0.03% Java 6.70%

doodle's Introduction

Doodle: Compositional Vector Graphics

Copyright Noel Welsh.

Doodle is a Scala library for compositional vector graphics.

Distributed under the Apache 2.0 license.

Build Status

Using Doodle

The current release is 0.9.21 and is on the master branch.

To use doodle add the following to your build.sbt:

scalaVersion := "2.13.1" // Doodle is currently published for Scala 2.12 and 2.13
libraryDependencies += "org.creativescala" %% "doodle" % "0.9.21"

Alternatively you can git clone or download Doodle and use it directly from the SBT console. See the instructions below.

Documentation

Documentation is still a work-in-progress.

Creative Scala provides another source of documentation for Doodle. Creative Scala is a free introductory Scala ebook.

Below we have a few tips to get you started.

Getting Started from SBT

If you downloaded Doodle, rather than adding it to an existing Scala project, you can play around with it as follows.

  1. Start SBT:

    bash$ sbt
    
    > # This is the SBT prompt. Press Ctrl+D to quit to the OS.
  2. Start the console:

    > rootJVM/console
    
    scala> # This is the Scala prompt. Press Ctrl+D to quit to SBT.
  3. Use Scala commands to draw a shape in a native window:

    scala> (Image.circle(10).fillColor(Color.red)).draw()

    A window should appear containing a red circle.

  4. You can also save your masterpieces to a file.

    scala> (Image.circle(10).fillColor.(Color.red)).write[Png]("masterpiece.png")

    Doodle currently supports writing to PNG, GIF, and JPG formats. Just alter the type parameter of write accordingly.

Acknowledgements

Doodle was written by Noel Welsh with contributions from the contributors listed by Github.

Notes

These are notes for developers.

Documentation

To generate the documentation run the documentation task in SBT without changing to any project. If you do the task just seems to disappear. I have no idea why. The output will be in docs/target/docs. Copy this to the website and upload.

If you run out of metaspace you can punch SBT in the face. Alternatively run just the documentation task (i.e. sbt documentation) and it seems to be happier.

Publishing

To publish a release:

  • update the version number on master in publish.sbt
  • update the version number in README.md
  • run + publishSigned
  • run sonatypeBundleRelease
  • tag master with the release version
  • push tags to origin.

doodle's People

Contributors

noelwelsh avatar noelhwelsh avatar sethtisue avatar d6y avatar xuwei-k avatar julienrf avatar ml10 avatar domesticmouse avatar jo-osborne avatar joe-warren-roo avatar matmoore avatar namn avatar indraastra avatar lucascaval avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.