v0.7.0-beta
Release Highlights
IDE Enhancements
Numerous enhancements to the IDE have been incorporated into this release. The code, output and console panels can be resized by dragging the panel dividers. There are now keyboard shortcuts for running the current program (F5) and the export/share feature (F11). Users can now customize the look and feel of the IDE by choosing from one of four themes.
Custom Fonts and Printing
Support has been added to allow the use of custom fonts. The following keywords are now available in support of this feature: _Font, _LoadFont, and _FreeFont. The _PrintMode keyword is also now supported to allow text to be printed with transparent background. Numerous updates have been made to the Print method to format the output more closely to QBasic/QB64.
2D Graphics Library
This release includes a new graphics library which provides native support for common graphics methods (e.g. FillTriangle, RotoZoom, FillCircle, FillEllipse). There is also new functionality to allow more control over both new graphics functions and standard QBasic graphics methods (e.g. LineWidth, LineCap, Shadow). The full list of new methods can be found here:
https://github.com/boxgaming/qbjs/wiki/Supported-Keywords#2d-graphics.
Console Output Library
A new console output library has been added to allow logging messages and simple output to the console window in the IDE. The full list of new methods can be found here:
https://github.com/boxgaming/qbjs/wiki/Supported-Keywords#console
File I/O Extension Library
This library provides the ability to upload and download files to and from the browser from within your application. The full documentation for the library can be found here:
https://github.com/boxgaming/qbjs/wiki/Supported-Keywords#filesystem
Release Notes
Enhancements
- Add Extended 2D graphics library
- Add Console output library
- Add File I/O extension library
- Support for file listing, upload and download
- IDE enhancements
- Support for multiple IDE themes
- Default (QB64 dark dark blue)
- QBasic (classic old school look-and-feel)
- Windows Classic
- VSCode Dark
- Run current program when F5 is pressed
- Show share/export dialog when F11 is pressed
- Allow resizing of IDE panels
- Support for multiple IDE themes
- Add support for querying the current foreground and background color
- _DefaultColor, _BackgroundColor
- Add support for setting font display behavior
- _PrintMode
- Add support for custom fonts
- _Font, _LoadFont, _FreeFont
- Add support for mouse scroll wheel (_MouseWheel)
Fixes
- String$ method not working correctly when character code passed for second parameter
- Missing _FontHeight method
- Print method not wrapping text when length would extend past the end of the screen (Issue #34)
- Print method not prefixing non-negative numbers with space character (Issue #41)
- Parsing error when negative numbers are used in array definition with (x To y) format
- Line with and height are off by 1 when using the B or BF option.
This was preventing anything from being drawn when the height or width of the requested line was 0. - Name method not using correct syntax:
- Expecting: NAME "oldFileName.txt", "newFileName.txt"
- Should Be: NAME "oldFileName.txt" AS "newFileName.txt"