What I'd Like to See in PureBasic
Posted: Thu Aug 13, 2015 5:01 am
(1) A built-in graphics Text-based replacement for Console. No more dependency on the APIs for the ability to do the following, some of which can't be done now:
(1) Based on a cross-platform graphics package like OpenGL, GTK+, or as noted at http://www.binpress.com/blog/2014/05/14 ... me-engine/
"If you love open-source and want to deploy to many platforms, go for Cocos2D JS"
From http://www.cocos2d-x.org/.
"Cocos2d-X is a suite of open-source, cross-platform, game-development tools used by thousands of developers all over the world"
I'm not harping on one graphic engine here, but open source, cross-platform are important, and 2D rather than 3D simplifies things a bit. But whatever graphics engine is used, it is necessary to write a DLL for PureBasic to replace the functionality of the Console, which is rather restrictive in terms of its features. As a default, the new Console replacement should emulate existing Console settings closely.
(2) Allow for a broader range of colors for characters and background. Also support images or transparent background.
(3) Include the ability to pass Text for display to the new Console in Strings of printable characters. Perhaps allow numbers to be passed as well, as this is common with many Print statements.
(4) Printing is to begin at the current row.column setting, which is determined by font style and size. My preference is for nono-spaced type forms, as this is best for columnising what appears on the screen, but some may opt for something different.
(5) Take keyboard input and render it on the screen at the current row,column location. Have the option to replace displayed characters with "*" to hide passwords.
(6) Allow two different xy designations for the console: The first designation is the number of columns by the number of rows that will be used for the screen memory to hold unicode values. The second set is the number of pixels that the Console window will use, width-by-height. If the console viewport is too small, scroll bars will be added on the right side and/or bottom to move the viewport over the screen memory's contents. If the viewport is too large, the apparent size of the viewed characters can be increased accordingly.
(7) Add the ability to designate a specific font and size for use with the Console window. I debated whether to allow a mix of font types and/or sizes, but the Console is not intended to be a showcase. It really serves as a utility for program development. So this should be kept in mind, at least during preliminary development.
I also considered some of the possible alternatives to using a graphics engine. These have merit, but may involve other side issues. Like scripting HTML or RTF on the fly and showing those results in what appears to be a Console window. I'm flexible in this matter. I have found that the Windows version of 5,31 installs, loads, and runs properly in a linux wine environment, but that nothing Console-related appears on the screen, though no error is given. A further limitation of Wine, but I thought it worth mentioning.
(1) Based on a cross-platform graphics package like OpenGL, GTK+, or as noted at http://www.binpress.com/blog/2014/05/14 ... me-engine/
"If you love open-source and want to deploy to many platforms, go for Cocos2D JS"
From http://www.cocos2d-x.org/.
"Cocos2d-X is a suite of open-source, cross-platform, game-development tools used by thousands of developers all over the world"
I'm not harping on one graphic engine here, but open source, cross-platform are important, and 2D rather than 3D simplifies things a bit. But whatever graphics engine is used, it is necessary to write a DLL for PureBasic to replace the functionality of the Console, which is rather restrictive in terms of its features. As a default, the new Console replacement should emulate existing Console settings closely.
(2) Allow for a broader range of colors for characters and background. Also support images or transparent background.
(3) Include the ability to pass Text for display to the new Console in Strings of printable characters. Perhaps allow numbers to be passed as well, as this is common with many Print statements.
(4) Printing is to begin at the current row.column setting, which is determined by font style and size. My preference is for nono-spaced type forms, as this is best for columnising what appears on the screen, but some may opt for something different.
(5) Take keyboard input and render it on the screen at the current row,column location. Have the option to replace displayed characters with "*" to hide passwords.
(6) Allow two different xy designations for the console: The first designation is the number of columns by the number of rows that will be used for the screen memory to hold unicode values. The second set is the number of pixels that the Console window will use, width-by-height. If the console viewport is too small, scroll bars will be added on the right side and/or bottom to move the viewport over the screen memory's contents. If the viewport is too large, the apparent size of the viewed characters can be increased accordingly.
(7) Add the ability to designate a specific font and size for use with the Console window. I debated whether to allow a mix of font types and/or sizes, but the Console is not intended to be a showcase. It really serves as a utility for program development. So this should be kept in mind, at least during preliminary development.
I also considered some of the possible alternatives to using a graphics engine. These have merit, but may involve other side issues. Like scripting HTML or RTF on the fly and showing those results in what appears to be a Console window. I'm flexible in this matter. I have found that the Windows version of 5,31 installs, loads, and runs properly in a linux wine environment, but that nothing Console-related appears on the screen, though no error is given. A further limitation of Wine, but I thought it worth mentioning.