1
1
Fork 0
mirror of https://github.com/QB64Official/qb64.git synced 2024-07-05 15:50:25 +00:00
Commit graph

338 commits

Author SHA1 Message Date
FellippeHeitor 97151731b1 Updates internal/source/* 2018-08-01 02:14:35 -03:00
FellippeHeitor 5e0ff36205 Adds _ACCEPTFILEDROP as a function to return true (-1) if active/enabled.
Returns 0 otherwise.
2018-07-31 22:23:34 -03:00
FellippeHeitor 9a1b8450aa Enables the IDE to accept files via drag/drop (Windows-only). 2018-07-31 21:59:31 -03:00
FellippeHeitor 60d6aa7d27 Fixes missing #ifdef for sub__finishdrop(); 2018-07-31 10:30:34 -03:00
FellippeHeitor 975408e2ef _DROPPEDFILE$ now takes an optional index parameter.
- Allows using _DROPPEDFILE as an array ranging from 1 TO _TOTALDROPPEDFILES.
- Using _DROPPEDFILE as an array doesn't reset _TOTALDROPPEDFILES (unlike when reading _DROPPEDFILE$ sequentially with no parameter), so it's necessary to call _FINISHDROP after working with the list of dropped files so it'll be reset.
2018-07-31 10:24:52 -03:00
FellippeHeitor c83b15eb95 Implements Drag/Drop of files onto a program's window (Windows-only).
New statement:
    _ACCEPTFILEDROP [{ON|OFF}]
    Enables a program to accept files being dropped from a folder.

New functions:
    _TOTALDROPPEDFILES
    Returns the number of files that have been received via drag/drop.

    _DROPPEDFILE$
    Returns the list of files that have been dropped. The function sequentially returns the file list and decreases _TOTALDROPPEDFILES with every read.
2018-07-31 00:23:36 -03:00
RhoSigma-QB64 001d461b47
Add files via upload 2018-07-28 18:32:56 +02:00
FellippeHeitor 4ad9738b4d Makes qbs__trim a tad less thoughtful memory-wise. Addresses #56. 2018-07-27 11:09:23 -03:00
FellippeHeitor cdfa7e9cb9 Makes qbs__trim a tad more thoughtful memory-wise. 2018-07-18 00:27:11 -03:00
FellippeHeitor ed28f453f0 Adds _TRIM$ (both left and right TRIM). 2018-07-17 02:35:17 -03:00
FellippeHeitor 37986c978b Removes unused variables from func__instrrev(). 2018-07-16 11:35:53 -03:00
FellippeHeitor 7f0b086b63 Optimizes _INSTRREV - makes it use existing INSTR for searching backwards. 2018-07-16 11:20:47 -03:00
FellippeHeitor bc6b427a99 Implements _INSTRREV, to search for the last occurence of a substring.
The statement works as INSTR does but starts from the end of the passed string (or from the specified position) and looks for the passed substring while moving backards.

Takes after VBScript's InStrRev: https://www.w3schools.com/asp/func_instrrev.asp

Closes #51
2018-07-15 16:43:12 -03:00
Fellippe Heitor a846fdbc4d
OFF/_OFF allowed for _FULLSCREEN and _ALLOWFULLSCREEN (#50)
Closes #49
2018-07-13 18:03:00 -03:00
FellippeHeitor 6ee70f1afa Makes _RGB32 more flexible and powerful.
Existing syntax:
colour~& = _RGB32(red, green, blue)

New possible uses:
- Instead of passing identical rgb values to achieve a shade of gray, pass only 1 parameter for all color components:

    colour~& = _RGB32(51) 'same as _RGB32(51, 51, 51)

- _RGB32 can now take an optional alpha parameter, which makes _RGBA32 obsolete (although it still exists for retrocompatibility):

    colour~& = _RGB32(255, 0, 255, 30) 'same as _RGBA32(255, 0, 255, 30)

- If you want a shade of gray and also to specify the alpha level, you can pass just two parameters:

    colour~& = _RGB32(51, 30) 'same as _RGBA32(51, 51, 51, 30)

In summary:

    - 1 parameter  = red, green and blue simultaneously set.
    - 2 parameters = red, green and blue simultaneously set plus alpha level.
    - 3 parameters = red, green and blue as usual.
    - 4 parameters = red, green and blue plus alpha level (same as _RGBA32).
2018-07-01 21:46:08 -03:00
FellippeHeitor 4264666130 Adds _SMOOTH function to return current fullscreen antialiasing setting.
Returns true (-1) if enabled.
2018-06-30 17:09:29 -03:00
FellippeHeitor 12df99c8da Indentation work. No actual code changes. 2018-06-30 14:23:33 -03:00
FellippeHeitor d911e3d01e Implements _ALLOWFULLSCREEN to set how ALT+ENTER behaves. Closes #22.
Syntax:
    _ALLOWFULLSCREEN [{_STRETCH|_SQUAREPIXELS|_OFF|_ALL}][,{_SMOOTH|_OFF|_ALL}]

Existing _FULLSCREEN statement is not bound by _ALLOWFULLSCREEN's settings, only the ALT+ENTER key combo.
2018-06-29 11:30:14 -03:00
FellippeHeitor 688e31c0f3 Introduces _ECHO, which will output a string to the console.
_ECHO is more of a macro than a new statement, as it'll perform the following actions:

1- Save current _DEST;
2- Switch to _CONSOLE;
3- Print the passed string (only strings accepted);
4- Switch back to previous _DEST.

None of the PRINT features such as USING, numeric variables, retaining the cursor are implemented/planned for this statement.

Closes #29
2018-06-27 23:51:09 -03:00
FellippeHeitor bf99e30c30 Fix detection of title bar height globally.
_SCREENY would return wrong values after the recent commits.
2018-06-27 11:03:33 -03:00
FellippeHeitor 2c81a6d74b Properly calculates window area. 2018-06-26 20:14:48 -03:00
Fellippe Heitor 15958ca4a5
Fixes #24
Disables maximize box when $RESIZE isn't enabled. Windows only.
2018-06-26 16:57:40 -03:00
Fellippe Heitor 68c765db75
Merge pull request #43 from ebourg/development
Update NanoJPEG to the version 1.3.5
2018-06-17 22:11:06 -03:00
AshishKingdom 820d6736f7 Added multisample support (MSAA x4) 2018-06-15 22:27:30 +05:30
Emmanuel Bourg 6be33c0935 Update NanoJPEG to the version 1.3.5 2018-05-22 21:31:49 +02:00
Luke Ceddia ce1a4aa8c8 More dead code removal 2018-02-26 11:30:44 +11:00
Galleondragon 89860032a4 (Automated push) Update internal/source/* from qb64.bas 2018-02-10 05:26:50 -08:00
Galleondragon d23ed5d156 (Automated push) Update internal/source/* from qb64.bas 2018-02-03 05:16:57 -08:00
Luke Ceddia 3a5364e111 _SCREENIMAGE on Linux/OSX returns a blank image instead of an error 2018-01-21 22:24:16 +11:00
Luke Ceddia 06250fed9f Merge branch 'runtime_tidyup' into development 2018-01-18 19:12:10 +11:00
Luke Ceddia 61cb34f635 Remove some SDL stuff that was dead weight 2018-01-16 20:56:45 +11:00
Luke Ceddia 8a5d7e7eea Remove QB64_X11 2018-01-16 20:29:20 +11:00
Luke Ceddia 219bbc27f0 QB64_LINUX is now for linux exclusively 2018-01-16 20:22:32 +11:00
Luke Ceddia 96b40f2634 Hotfix: fix #defines on OSX 2018-01-11 14:20:21 +11:00
Luke Ceddia 1320d7fe52 Introduce QB64_LINUXONLY and _UNIX 2018-01-10 22:50:07 +11:00
Luke Ceddia a1a0536d69 Tidy up parts/core/src.c 2018-01-09 22:38:07 +11:00
Galleondragon efcf66a337 (Automated push) Update internal/source/* from qb64.bas 2018-01-06 05:15:59 -08:00
Luke Ceddia 3a0e1ae320 Move all executable code out of common.cpp; rename to common.h 2018-01-05 21:22:36 +11:00
Luke Ceddia adeda29619 Tidy up some #defines, remove a few Android #ifdefs 2018-01-04 20:20:38 +11:00
Luke Ceddia 7dc0054fa8 Include unistd.h for freeglut 2018-01-02 17:26:16 +11:00
Galleondragon 4873612275 (Automated push) Update internal/source/* from qb64.bas 2017-12-30 05:16:04 -08:00
Luke Ceddia 7655dda762 Unset modifier keys on window defocus 2017-12-30 01:03:47 +11:00
Luke Ceddia 64edcf1b47 Support _WINDOWHASFOCUS on Linux 2017-12-30 00:01:48 +11:00
Galleondragon 5ae6b6fd52 (Automated push) Update internal/source/* from qb64.bas 2017-11-14 05:16:14 -08:00
Galleondragon 2c8e7da05d (Automated push) Update internal/source/* from qb64.bas 2017-11-11 05:16:16 -08:00
Galleondragon 138308bfb0 (Automated push) Update internal/source/* from qb64.bas 2017-11-06 05:18:10 -08:00
Galleondragon c3cfb9a15a (Automated push) Update internal/source/* from qb64.bas 2017-11-05 05:15:20 -08:00
Galleondragon 5296fdd6a8 (Automated push) Update internal/source/* from qb64.bas 2017-10-27 05:15:33 -07:00
Galleondragon 1da1687633 (Automated push) Update internal/source/* from qb64.bas 2017-10-25 05:15:44 -07:00
Luke Ceddia e2bdbc01ad Correctly set speex's output buffer size 2017-10-23 00:51:17 +11:00
Galleondragon 6a7ee90a51 (Automated push) Update internal/source/* from qb64.bas 2017-10-19 05:17:50 -07:00
Fellippe Heitor a5f702eb6f Implements proper error handling for Cliboard routine on macOS. 2017-10-18 20:58:26 -02:00
Fellippe Heitor 50b1002aa4 Remove reference to undeclared identifier preventing compilation (macOS)
Details at http://www.qb64.net/forum/index.php?topic=14553.msg126181#msg126181

Signed-off-by: Fellippe Heitor <fellippeheitor@gmail.com>
2017-10-18 19:48:17 -02:00
Galleondragon 924922c8b8 (Automated push) Update internal/source/* from qb64.bas 2017-10-17 05:18:53 -07:00
FellippeHeitor 6dfbeb2419 Disables 256-color image loading again, until a better solution is found.
Returns -1 if there's an attempt to load an image in 256-color mode.
2017-10-17 03:08:33 -02:00
Galleondragon 3d01e8bcca (Automated push) Update internal/source/* from qb64.bas 2017-10-15 05:17:03 -07:00
Galleondragon 40c2ab73f6 (Automated push) Update internal/source/* from qb64.bas 2017-10-14 05:16:31 -07:00
Fellippe Heitor f7abc0e1fd Update help files. 2017-10-10 11:55:21 -03:00
Galleondragon 2cbd928800 (Automated push) Update internal/source/* from qb64.bas 2017-10-10 05:21:33 -07:00
FellippeHeitor 19917654aa Adds support for Alt+F4 to close a program's window (Windows-only). 2017-10-10 01:41:53 -03:00
Luke Ceddia 86a6646bdb Change freeglut to only look for ctrl/alt/shift down events when window
has focus.

Previously this functionality was in libqb.
2017-10-10 13:47:10 +11:00
Galleondragon 6e0fd03256 (Automated push) Update internal/source/* from qb64.bas 2017-10-09 05:18:54 -07:00
Galleondragon 7db38f2af0 (Automated push) Update internal/source/* from qb64.bas 2017-10-06 05:16:28 -07:00
Galleondragon 0bc77404e0 (Automated push) Update internal/source/* from qb64.bas 2017-10-05 05:16:31 -07:00
Galleondragon ffe2ec56f1 (Automated push) Update internal/source/* from qb64.bas 2017-10-04 05:15:08 -07:00
Galleondragon 17f86ad513 (Automated push) Update internal/source/* from qb64.bas 2017-10-02 05:11:10 -07:00
Galleondragon 181ebeb68c (Automated push) Update internal/source/* from qb64.bas 2017-09-28 05:16:33 -07:00
Galleondragon 6e929a9985 (Automated push) Update internal/source/* from qb64.bas 2017-09-26 05:15:54 -07:00
Luke Ceddia 0f293b9c5e Remove user_mods 2017-09-25 23:05:53 +10:00
Luke Ceddia 54574c1ca6 Add declaration for sub__keyclear() 2017-09-25 23:03:38 +10:00
Galleondragon f309ab7855 (Automated push) Update internal/source/* from qb64.bas 2017-09-25 05:18:26 -07:00
Luke Ceddia bdc3250b89 Resolved the issue of user mods not working for $console:only programs 2017-09-25 21:56:24 +10:00
FellippeHeitor 7998aa89cd Detect focus using GetForegroundWindow instead of GetActiveWindow. 2017-09-25 02:25:53 -03:00
SteveMcNeill 4f23fd9b7b Add function _AUTODISPLAY so user can get display/autodisplay staus 2017-09-24 18:41:00 -04:00
Galleondragon 034027553c (Automated push) Update internal/source/* from qb64.bas 2017-09-24 05:15:44 -07:00
FellippeHeitor 3488bd916b Fix to MessageBox call. 2017-09-24 08:20:18 -03:00
FellippeHeitor 5922d112bf Adds _WINDOWHANDLE, _WINDOWHASFOCUS and _TITLE$ (function).
- _WINDOWHANDLE exposes the current window's handle (Windows-only).
- _WINDOWHASFOCUS returns true (-1) when the program is the foremost window (Windows-only). Always returns -1 in other OSes.
- _TITLE$ (function) returns the last title set using the _TITLE statement.
2017-09-24 08:12:13 -03:00
SteveMcNeill d3a2424b73 Added right and middle button support for _SCREENCLICK with Windows 2017-09-24 01:08:29 -04:00
SteveMcNeill b89ade1c5c Patch to previous patch for Linux/Mac compatability 2017-09-23 20:33:58 -04:00
SteveMcNeill e264458841 Patch to SLEEP, _KEYHIT, INP(&H60), _SCREENEXISTS for WINDOWS
Change so that modifer keypresses will only register when the window has
focus in Windows.  This corrects the issue with SLEEP, KEYHIT, and
INP(&H60) registering SHIFT, CTRL, and ALT keypresses even when the
program is not in focus or is running as a background app.

Also changed _SCREENEXISTS (and a few other window user commands) so
that they require windows to have actually registered a windows handle
for the function to return -1, and not just for glut to have finished
initializing the screen itself.
2017-09-23 20:24:19 -04:00
Galleondragon cc6a5fb40a (Automated push) Update internal/source/* from qb64.bas 2017-09-22 05:15:55 -07:00
FellippeHeitor 13fa2ca4d5 Unnecessary repeated inline functions removed from _loadimage. 2017-09-22 00:29:41 -03:00
FellippeHeitor 5368b9d5d7 Initial attempt to restore _LOADIMAGE's ability to load in 8bit mode.
- When mode = 256, _LOADIMAGE will return an 8bit image with the loaded file's colors matching the default palette.
- Slower for bigger images, because of the call to matchcol();
2017-09-21 23:55:01 -03:00
Galleondragon 11bca56e8d (Automated push) Update internal/source/* from qb64.bas 2017-09-12 05:17:39 -07:00
FellippeHeitor 8fe5804fa2 Sets the proper dependency (DEPENDENCY_SCREENIMAGE) for clipboard features.
Using $CONSOLE:ONLY without the above causes compilation fails.
2017-09-11 10:29:45 -03:00
Galleondragon 532badd4d2 (Automated push) Update internal/source/* from qb64.bas 2017-09-10 05:16:16 -07:00
FellippeHeitor 7d3f1f9833 Temporary hack to reenable _SNDRAWLEN.
_SNDRAWLEN currently gets stuck at .3715192763764172; this reenables it by returning zero when < .375.
2017-09-09 13:17:03 -03:00
Galleondragon 66cb39f036 (Automated push) Update internal/source/* from qb64.bas 2017-09-07 05:17:15 -07:00
FellippeHeitor 90e0b0df16 Minor fix to _SCREENIMAGE (function).
_SETALPHA needs to be called on the resulting image, as some images com with alpha = 0 from the clipboard.
2017-09-06 21:03:41 -03:00
FellippeHeitor e3bb55da1a Add _CLIPBOARDIMAGE (statement and function)
- Fetch an image from the clipboard with handle& = _CLIPBOARDIMAGE
    - If there isn't an image in the clipboard, handle& will be -1.

- Copy a valid image to the clipboard (All screen modes, except 0) with _CLIPBOARDIMAGE = handle&
2017-09-06 11:19:54 -03:00
Galleondragon cb4d8f7c21 (Automated push) Update internal/source/* from qb64.bas 2017-08-22 05:16:03 -07:00
Galleondragon a992d0d2fe (Automated push) Update internal/source/* from qb64.bas 2017-08-18 05:16:42 -07:00
Luke Ceddia 2d651bfa76 Merge branch 'no_teapot' 2017-08-18 22:07:49 +10:00
Luke Ceddia a7a4783650 Remove teapot from setup build files 2017-08-18 21:52:23 +10:00
Luke Ceddia 995f563d0c Remove teapot, decrease executable by 18K 2017-08-18 20:20:42 +10:00
FellippeHeitor b5e2b06ecd Modifies _MOUSEX/_MOUSEY to return an integer value in SCREEN 0. 2017-08-17 23:11:30 -03:00
Galleondragon 58bae219cb (Automated push) Update internal/source/* from qb64.bas 2017-08-16 05:18:11 -07:00
FellippeHeitor 2f217fce6b Function _BLINK returns -1 if blinking is enabled; 0 if disabled. 2017-08-16 00:40:37 -03:00
FellippeHeitor de75b0aa29 Emulates port &H3C0 to disable/enable blinking using OUT.
Again, thanks to _vince for contributing this bit.
2017-08-16 00:24:33 -03:00
FellippeHeitor 2c153b3db0 Adds _BLINK {ON|OFF} to disable blinking in SCREEN 0 for colors 16-31.
Thanks to _vince for finding the right spots where blinking was set. Or flashing, you choose the naming.
2017-08-16 00:11:31 -03:00