1
1
Fork 0
mirror of https://github.com/QB64Official/qb64.git synced 2024-07-01 09:10:37 +00:00

Fix scroll wheel on Linux; tidy up licensing info; clean up Windows setup; fix OSX script permissions.

The scroll wheel now behaves correctly on Linux. Reports suggest that the fix does not have any effect
on OSX though. The licensing documentation is updated to reflect the fact that there are no GPL components
included in a QB64 program. Some redundant code was removed from the Windows setup script. OSX setup and
run scripts were missing the executable bit - hopefully the repository will preserve that change.
This commit is contained in:
Luke Ceddia 2015-08-06 21:39:16 +10:00
parent ea20dad4a9
commit c003f0bc20
6 changed files with 13 additions and 55 deletions

View file

@ -1,12 +1,12 @@
=== IMPORTANT LICENSING NOTE FOR QB64 PROGRAMMERS ===
All executables created with QB64 are subject to the LGPL licence conditions.
All executables which read sound files are subject to the GPL license as well (due to incorporation of libsamplerate).
When distributing your program as an executable all license requirements can be met by:
i) Making your program's source code (.BAS) available and declaring it to be GPL as well as
ii) Including this entire license folder distributed with QB64
It should be noted that the above is not the sole method one could use to abide by the license conditions
and that creating closed source QB64 programs is possible when LGPL (not GPL) code is dynamically
linked to, not embedded within your executable.
All executables which perform any kind of sound operation are subject to the LGPL license (due to incorporation of mpglibdll and OpenAL).
Other components are licensed under various permissive licences.
When sound components are included (thus the LGPL is in effect), the easiest way to meet terms of the LGPL is to make your program's source code (.BAS) available.
If you are not using sound components, you do not need to release the program's source.
If you are using fonts, you are bound by the terms of FreeType's license. Somewhere in your software package should include a notice that your program includes the FreeType library (see licence_freetype_ftl.txt for details)
In all cases, you should distribute the LICENSE folder with your program.
It should be noted that providing source code is not the only way to meet the conditions of the LGPL (eg dynamic linking) but it is by far the easiest from a technical point of view at this current time.
=====================================================
The license requirements for components of QB64 are as follows:
@ -36,8 +36,7 @@ License: BSD 2-clause license
License Website: http://opensource.org/licenses/BSD-2-Clause
License File: license_opus.txt
Location in QB64 distribution: internal/c/parts/audio/conversion/
Note that Opusinfo, which is included in the Opus Tools download, is licensed under the GPL but QB64 does not use those files (hence the appended GPL in the licence file).
They are distributed in the download/ folder as source only, for the sake of keeping the original download package whole.
OpusInfo, which is under a GPL licence, was included in Opus Tools but has been removed from the QB64 distribution.
Software/Library Name: mpglibdll
Website(s):
@ -65,13 +64,6 @@ License Website: http://www.gnu.org/licenses/licenses.html#LGPL
License File: license_gnu_lgpl_2.txt
Location in QB64 distribution: internal/c/parts/audio/out/
Software/Library Name: OpenAL-soft
Website:http://kcat.strangesoft.net/openal.html
License: LGPL 2
License Website: http://www.gnu.org/licenses/licenses.html#LGPL
License File: license_gnu_lgpl_2.txt
Location in QB64 distribution: internal/c/parts/audio/out/
Software/Library Name: FreeGLUT
Website: http://freeglut.sourceforge.net/
License: LGPL (note: website states LGPL, license file is not a copy of GNU LGPL)

View file

@ -30095,10 +30095,6 @@ QB64_GAMEPAD_INIT();
glutPassiveMotionFunc(GLUT_PASSIVEMOTION_FUNC);
glutReshapeFunc(GLUT_RESHAPE_FUNC);
#ifdef CORE_FREEGLUT
glutMouseWheelFunc(GLUT_MOUSEWHEEL_FUNC);
#endif
glutMainLoop();
#endif //QB64_GLUT
@ -33573,9 +33569,6 @@ else{
glutMotionFunc(GLUT_MOTION_FUNC);
glutPassiveMotionFunc(GLUT_PASSIVEMOTION_FUNC);
glutReshapeFunc(GLUT_RESHAPE_FUNC);
#ifdef CORE_FREEGLUT
glutMouseWheelFunc(GLUT_MOUSEWHEEL_FUNC);
#endif
#endif
}

View file

@ -1890,8 +1890,8 @@ if (src_hardware_img->source_state.PO2_fix){
if (glut_button==GLUT_LEFT_BUTTON) button=1;
if (glut_button==GLUT_RIGHT_BUTTON) button=3;
if (glut_button==GLUT_MIDDLE_BUTTON) button=2;
if (glut_button==4) button=4;
if (glut_button==5) button=5;
if (glut_button==3) button=4;
if (glut_button==4) button=5;
i=(last_mouse_message+1)&65535;
if (i==current_mouse_message) current_mouse_message=(current_mouse_message+1)&65535;//if buffer full, skip oldest message
mouse_messages[i].movementx=0;
@ -1941,8 +1941,8 @@ if (src_hardware_img->source_state.PO2_fix){
if (glut_button==GLUT_LEFT_BUTTON) button=1;
if (glut_button==GLUT_RIGHT_BUTTON) button=3;
if (glut_button==GLUT_MIDDLE_BUTTON) button=2;
if (glut_button==4) button=4;
if (glut_button==5) button=5;
if (glut_button==3) button=4;
if (glut_button==4) button=5;
i=(last_mouse_message+1)&65535;
if (i==current_mouse_message) current_mouse_message=(current_mouse_message+1)&65535;//if buffer full, skip oldest message
mouse_messages[i].movementx=0;
@ -2171,25 +2171,4 @@ if (src_hardware_img->source_state.PO2_fix){
}
void GLUT_MOUSEWHEEL_FUNC(int wheel, int direction, int x, int y){
#ifdef QB64_GLUT
//Note: freeglut specific, limited documentation existed so the following research was done:
// qbs_print(qbs_str(wheel),NULL); <-- was always 0 [could 1 indicate horizontal wheel?]
// qbs_print(qbs_str(direction),NULL); <-- 1(up) or -1(down)
// qbs_print(qbs_str(x),NULL); <--mouse x,y co-ordinates
// qbs_print(qbs_str(y),1); <
if (direction>0){GLUT_MouseButton_Down(4,x,y); GLUT_MouseButton_Up(4,x,y);}
if (direction<0){GLUT_MouseButton_Down(5,x,y); GLUT_MouseButton_Up(5,x,y);}
#endif
}
#endif

0
qb64_start_osx.command Normal file → Executable file
View file

0
setup_osx.command Normal file → Executable file
View file

View file

@ -39,12 +39,6 @@ if exist src.a del src.a
call setup_build.bat
cd ../../../../../..
cd internal\c\parts\user_mods\os\win
..\..\..\..\c_compiler\bin\gcc -DFREEGLUT_STATIC -I..\..\..\..\ -I..\..\include -c ..\..\src\luke_mods.cpp -o temp\luke_mods.o
..\..\..\..\c_compiler\bin\gcc -DFREEGLUT_STATIC -I..\..\..\..\ -I..\..\include -c ..\..\src\steve_mods.cpp -o temp\steve_mods.o
..\..\..\..\c_compiler\bin\ar rcs src.a temp\steve_mods.o temp\luke_mods.o
cd ..\..\..\..\..\..
echo Building 'QB64'
copy internal\source\*.* internal\temp\ >nul
cd internal\c