Giter VIP home page Giter VIP logo

shapes's Introduction

icon

Shapes in Small Basic

Made with Small Basic

Shapes in Small Basic is a simple Scalable Vector Graphics editor written in Microsoft Small Basic program language. This program can also read/write Small Basic program which has shape array.

Releases

Releases are available here.

Following two files are runtime executables.

  • SmallBasicLibrary.dll
  • Shapes.exe

Following file is the source code. This file is read from Shapes.exe at run time.

  • Shapes.sb

Credit

Made with Small Basic badge is designed by rockycodeshimhe-1332

See Also

  • Wiki (document)
  • Anime (animation editor - alpha version)

shapes's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

shapes's Issues

Support Text

Text command may be useful. But current problems are:

  • Source code will become bigger.
  • No space to add Text command icon.

By the way, text function is already implemented in the shape array.

See Also
Shape Array Specification

Passive Text Support

Some subroutines are already supporting text function. But Shapes itself can't retrieve the shapes file which includes text function. And font size will change with the text function. This issue is very small subset of #7.

Support text tag (element)

The array shape already supports text function but not following features yet.

  • GUI to draw text
  • Small SVG file format

Support relative path input

Old Shapes supported absolute path only. Small SVG Editor supported absolute path and current path only. New version should support relative path in Open dialog.

Remove exe files

Remove executable files from the repository. This is especially for GitHub Page.

Compress Tool

Remove Comments is a tool to remove comments from Small Basic source file in order to shrink source file size for Publish. But this is not enough now. Following features are to be added to this tool.

  1. Remove redundant spaces.
  2. Remove trailing comment in each line
  3. Rename this tool because removing also spaces.

How about naming this tool "Compress"?

Pen Color Missing

Pen color is missing with following procedure.

  1. Change Pen Width to 0.
  2. Create a shape.
  3. Chenge Pen Width to 1 or more.
  4. Save the shape.

Redesign color palette

Color selection popup window in old Shapes was smaller. But current version of the popup is full window size. So more colors can be arranged in color palette.

Causes Divide by Zero Error

With Small Basic v1.2, Shapes causes divide by zero error (as follows) when to draw rectangle.

Attempted to divide by zero. 

at System.Decimal.FCallDivide(Decimal& d1, Decimal& d2) 
at Microsoft.SmallBasic.Library.Primitive.Divide(Primitive divisor) 
at Microsoft.SmallBasic.Library.Primitive.op_Division(Primitive primitive1, Primitive primitive2) 
at _SmallBasicProgram.math_cartesiantopolar() 
at _SmallBasicProgram.shapes_calcrotatepos() 
at _SmallBasicProgram.normalizepos() 
at _SmallBasicProgram.waittoreleases() 
at _SmallBasicProgram.domenu() 
at _SmallBasicProgram.doobject() 
at _SmallBasicProgram._Main()

Show File Name in Title

Show file name as following format in title.

Filebase.ext [*] - Shapes X.X

[*] means * if edited
X.X means Shapes version number
Before opening file, following title should be shown.

Untitled - Shapes X.X

Support to get Shapes_Init_xxx

Many recent programs have not only Shapes_Init but Shapes_Init_xxx subroutines. These multiple shapes initialization subroutines should read when [Open].

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.