diff --git a/.gitmodules b/.gitmodules index 00613c366..c66c62cda 100644 --- a/.gitmodules +++ b/.gitmodules @@ -4,4 +4,4 @@ [submodule "docs"] path = docs url = git@github.com:Calvin-CS/TSGL.git - branch = gh-pages + branch = master diff --git a/MacBinInstaller/TSGL.dmg b/MacBinInstaller/TSGL.dmg index 9c1b95b5a..cb47f7a63 100644 Binary files a/MacBinInstaller/TSGL.dmg and b/MacBinInstaller/TSGL.dmg differ diff --git a/install-mac b/MacBinInstaller/install-mac similarity index 53% rename from install-mac rename to MacBinInstaller/install-mac index 7de9eedcf..9491d2919 100755 --- a/install-mac +++ b/MacBinInstaller/install-mac @@ -36,10 +36,10 @@ fi if [ $(has brew) = 0 ]; then echo "Installing Homebrew..." ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" - export PATH=/usr/local/bin:$PATH + export PATH=/usr/bin:$PATH else echo "Homebrew detected." - export PATH=/usr/local/bin:$PATH + export PATH=/usr/bin:$PATH fi echo @@ -70,6 +70,40 @@ brew install doxygen echo "Installing cxxopts..." brew install cxxopts +#glm +echo "Installing glm..." +brew install glm + +#################################################################################### + +#redefine path variable and append to bashrc +tsglFile=/usr/local/lib/libtsgl.so + +if [ -f "$tsglFile" ] +then + echo "" + echo "export PATH=/usr/local/bin:$PATH" >> ~/.bashrc + echo "export TSGL_HOME=/usr/local" >> ~/.bashrc + echo "export TSGL_DEFAULT_FONT=/include/TSGL/assets/freefont/FreeSansBold.ttf" >> ~/.bashrc + + source ~/.profile +else + echo "" +fi + +source ~/.profile +#change the call for assets and LFLAG directory +#cd src/examples +#grep -rli '/usr/include/TSGL/assets' * | xargs perl -i -pe's|/usr/include/TSGL/assets|/usr/local/include/TSGL/assets|g' + +#grep -rli 'L/usr/lib' * | xargs perl -pi -e 's|L/usr/lib|L/usr/local/lib|g' +#cd - + +#move stb to /usr/local/include +#sudo cp -r stb /usr/local/include + +#################################################################################### + #g++ gVers=$(g++ -v 2>&1) gVeres=$(g++ -v 2>&1 | grep "gcc version" | cut -f 3 -d ' ' | tr -d .) @@ -79,30 +113,33 @@ echo "$gVers" | grep "clang" > check.txt version=490 #First, check if we need to move an existing g++ compiler -if [ -e /usr/local/bin/g++ ] && [ ! -e /usr/local/Cellar/gcc49 ]; +if [ -e /usr/bin/g++ ] && [ ! -e /usr/Cellar/gcc49 ]; then - sudo mv /usr/local/bin/g++ /usr/local/bin/g++old - sudo mv /usr/local/bin/gcc /usr/local/bin/gccold - + echo "" + #sudo mv /usr/bin/g++ /usr/bin/g++old + #sudo mv /usr/bin/gcc /usr/bin/gccold fi #Now check if we need to install gcc10 if grep --quiet clang check.txt; then echo "Installing g++...this may take a while!" brew install gcc - sudo rm /usr/local/bin/gcc - sudo rm /usr/local/bin/g++ - sudo ln -s /usr/local/Cellar/gcc/10.2.0/bin/gcc-10 /usr/local/bin/gcc - sudo ln -s /usr/local/Cellar/gcc/10.2.0/bin/g++-10 /usr/local/bin/g++ + #sudo rm /usr/bin/gcc + #sudo rm /usr/bin/g++ + #sudo ln -s /usr/Cellar/gcc/10.2.0/bin/gcc-10 /usr/bin/gcc + #sudo ln -s /usr/Cellar/gcc/10.2.0/bin/g++-10 /usr/bin/g++ else echo "Installing g++...this may take a while!" brew install gcc - sudo rm /usr/local/bin/gcc - sudo rm /usr/local/bin/g++ - sudo ln -s /usr/local/Cellar/gcc/10.2.0/bin/gcc-10 /usr/local/bin/gcc - sudo ln -s /usr/local/Cellar/gcc/10.2.0/bin/g++-10 /usr/local/bin/g++ + #sudo rm /usr/bin/gcc + #sudo rm /usr/bin/g++ + #sudo ln -s /usr/Cellar/gcc/10.2.0/bin/gcc-10 /usr/bin/gcc + #sudo ln -s /usr/Cellar/gcc/10.2.0/bin/g++-10 /usr/bin/g++ fi +#delete check.txt +rm check.txt + #Symlinks echo "Fixing missing symlinks..." if [ ! -e /usr/X11/lib/libX11.dylib ]; then @@ -114,8 +151,8 @@ if [ ! -e /usr/X11/lib/libXrandr.dylib ]; then fi #Remove any broken symlinks before installing -sudo rm -f /usr/local/lib/libtsgl.* -sudo rm -rf /usr/local/include/TSGL +rm -f /usr/lib/libtsgl.* +rm -rf /usr/include/TSGL #Build TSGL and install echo "Building TSGL..." @@ -131,4 +168,27 @@ sudo make install echo echo "Installation complete!" + +echo +#checking update +echo "Checking for updates..." + +TSGL_VERSION=$(git describe --tags --abbrev=0) +TSGL_LATEST_VERSION=$(git describe --tags $(git rev-list --tags --max-count=1)) + +if [ $TSGL_VERSION < $TSGL_LATEST_VERSION ] +then + echo "" +else + echo "Latest version $TSGL_LATEST_VERSION found. WARNING, If you have changed anything in the TSGL folder it may be overwritten during update. To keep your changes, please commit them before updating." + read -p "Do you want to install the update? This will replace all the files with the updated ones (y/n): " INPUT + if [ $INPUT == y ] || [ $INPUT == Y ] + then + echo "Updating TSGL..." + git remote add tsgl https://github.com/Calvin-CS/TSGL.git + git pull tsgl master + fi + echo "Latest version already installed" +fi + echo "Run \"./runtests\" to verify everything is working." diff --git a/Makefile b/Makefile index eef1d9f87..d85b5b1e4 100644 --- a/Makefile +++ b/Makefile @@ -7,7 +7,6 @@ AR=ar CC=g++ RM=rm -f INSTALL=/usr/bin/install -PREFIX=/usr/local SRC_PATH=src/TSGL/ TESTS_PATH=src/tests/ @@ -45,31 +44,18 @@ ifeq ($(UNAME), Darwin) OS_EXTRA_LIB := OS_GL := OS_OMP := -fopenmp -lomp - OS_COMPILER := -std=c++0x + OS_COMPILER := -std=c++11 endif -CXXFLAGS=-O3 -g3 -ggdb3 \ - -Wall -Wextra \ - -D__GXX_EXPERIMENTAL_CXX0X__ \ - -I/usr/local/include/Cellar/glfw3/3.3/include/ \ - -I${SRC_PATH}/ \ - -I/usr/include/ \ - -I/usr/local/include/ \ - -I/usr/local/include/freetype2 \ - -I/usr/local/include/freetype2/freetype \ - -I/opt/AMDAPP/include/ \ - -I/usr/include/c++/4.6/ \ - -I/usr/include/c++/4.6/x86_64-linux-gnu/ \ - -I/usr/lib/gcc/x86_64-linux-gnu/9/include/ \ - -I/usr/include/freetype2 \ - -I/usr/include/freetype2/freetype \ - -I./ \ - $(OS_COMPILER) -fopenmp \ - ${NOWARN} -fpermissive - # -pedantic-errors +CXXFLAGS = -O3 -g3 -ggdb3 \ + -I$(TSGL_HOME)/include \ + -I${SRC_PATH} \ + -Isrc \ + -I$(TSGL_HOME)/include/freetype2 \ LFLAGS=-Llib/ \ - -L/usr/local/lib \ + -L/usr/lib \ + -L$(TSGL_HOME)/lib \ ${OS_EXTRA_LIB} \ -L/usr/X11/lib/ \ ${OS_LDIRS} \ @@ -134,6 +120,9 @@ cleandocs: # -include build/*.d + +PREFIX=$(prefix) + #install ifeq ($(UNAME), Linux) install: @@ -143,6 +132,9 @@ install: install -m 0644 lib/libtsgl.a $(PREFIX)/lib install -m 0755 lib/libtsgl.so $(PREFIX)/lib cp -r src/TSGL $(PREFIX)/include + cp src/tsgl.h $(PREFIX)/include + cp -r assets/ $(PREFIX)/include/TSGL + cp -r src/stb/ $(PREFIX)/include endif ifeq ($(UNAME), CYGWIN_NT-10.0) install: @@ -152,6 +144,9 @@ install: install -m 0644 lib/libtsgl.a $(PREFIX)/lib install -m 0755 lib/libtsgl.dll $(PREFIX)/lib cp -r src/TSGL $(PREFIX)/include + cp src/tsgl.h $(PREFIX)/include + cp -r assets/ $(PREFIX)/include/TSGL + cp -r src/stb/ $(PREFIX)/include endif ifeq ($(UNAME), Darwin) install: @@ -161,7 +156,9 @@ install: install -m 0644 lib/libtsgl.a $(PREFIX)/lib install -m 0755 lib/libtsgl.so $(PREFIX)/lib cp -r src/TSGL $(PREFIX)/include - cp -r stb $(PREFIX)/include + cp src/tsgl.h $(PREFIX)/include + cp -r src/stb $(PREFIX)/include + cp -r assets $(PREFIX)/include/TSGL endif build/build: ${HEADERS} ${SOURCES} ${TESTS} diff --git a/TSGL.wiki/Bringing-It-All-Together.md b/TSGL.wiki/Bringing-It-All-Together.md new file mode 100644 index 000000000..9b9b7721a --- /dev/null +++ b/TSGL.wiki/Bringing-It-All-Together.md @@ -0,0 +1,293 @@ +End of the line, folks! + +***Linux/Mac users:*** Follow the steps from the previous tutorials. Name the folder "Tutorial9" and the file "thread.cpp". Replace "program" in the "TARGET" line of the Makefile with "thread". + +***Windows users:*** Follow the steps from the previous tutorials. Name the Solution folder "Tutorial9" and the Visual Studio project "Threads". After adding the Property sheet, name the .cpp file "thread.cpp". + +***All three platforms:*** Follow the steps in the [[Building Programs]] page on how to compile and run the program (Linux/Mac users, this is a single-file program). + +We've seen how TSGL draws shapes, handles colors, text, I/O events, and command-line arguments. + +Now...how exactly does threading come into play in this library? + +TSGL does stand for "Thread-Safe Graphics Library." + +How can we utilize threading in our drawings? + +Simple. Let's first write some skeleton code: + +~~~{.cpp} +#include +using namespace tsgl; + +int main() { + RasterCanvas c(100, 100, 500, 500, "Threading", FRAME); + c.start(); + c.wait(); +} + +~~~ + +Compile and run. A black screen should appear. + +When your program includes the header file ```tsgl.h```, it also includes the header file (```omp.h```) needed in order to use OpenMP library functions such as ```omp_get_num_threads()``` and ```omp_get_thread_num()``` (which gets the number of threads spawned and the id number of a thread, respectively). It also allows us to utilize the ```#pragma omp``` directive, which enables us to write blocks of code that should be executed in parallel. + +We're going to use the RasterCanvas because we'll be drawing points. + +Now, we've seen drawing loops in the tutorial, [[Animation Loops]], but we aren't going to be adding one to this code. Instead, we are going to do something a little differently: + +~~~{.cpp} +#include +using namespace tsgl; + +void drawTutorial(RasterCanvas & can) { + +} + +int main() { + RasterCanvas c(100, 100, 500, 500, "Threading", FRAME); + c.start(); + + double startTime = omp_get_wtime(); + drawTutorial(c); + + printf("\nTime to color pixels: %f\n", omp_get_wtime() - startTime); + c.wait(); +} + +~~~ + +Let us explain what we did differently. We added a function stub ( ```drawTutorial()``` ) that takes in a reference to a Canvas object. We also added timing statements: ```double startTime = omp_get_wtime();```, ```printf("\nTime to color pixels: %f\n", omp_get_wtime() - startTime);```. These statements will keep track of how long our drawing took when we call our ```drawTutorial()``` function. + +Next, let's define the function so that it actually draws something onto the passed Canvas: + +~~~{.cpp} +#include +using namespace tsgl; + +void drawTutorial(RasterCanvas & can) { + ColorFloat color = RED; + for(unsigned i = 0; i < can.getWindowWidth(); i++) { + can.sleep(); + for(unsigned j = 0; j < can.getWindowHeight(); j++) { + can.drawPoint(i, j, color); + } + } +} + +int main() { + RasterCanvas c(100, 100, 500, 500, "Threading", FRAME); + c.start(); + + double startTime = omp_get_wtime(); + drawTutorial(c); + + printf("\nTime to color pixels: %f\n", omp_get_wtime() - startTime); + c.wait(); +} + +~~~ + +Re-compile and run. The screen should now be red. It took 8.319619 seconds to color all of the pixels on our machine. (Note that we are using the ```can.sleep()``` call to slow the computation down, so that you can see the main thread coloring the pixels.) + +The main function passes our created RasterCanvas, ```c```, to the ```drawTutorial()``` function. That function colors each pixel of its ```can``` parameter red, and since ```can``` is a reference parameter for our argument ```c```, this colors each pixel of ```c``` red. + +So where do threads come in? + +As it stands, we just have the main thread creating and initializing a Canvas object, and then coloring it red in the ```drawTutorial()``` function. To spread the work of coloring the Canvas across multiple threads, we can add a parallel block and parallel ```for``` loop to our function: + +~~~{.cpp} +#include +using namespace tsgl; + +void drawTutorial(RasterCanvas & can) { + ColorFloat color = RED; + #pragma omp parallel + { + #pragma omp for + for(unsigned i = 0; i < can.getWindowWidth(); i++) { + can.sleep(); + for(unsigned j = 0; j < can.getWindowHeight(); j++) { + can.drawPoint(i, j, color); + } + } + } +} + +int main() { + omp_set_num_threads(4); //Set the number of threads to use + RasterCanvas c(100, 100, 500, 500, "Threading", FRAME); + c.start(); + + double startTime = omp_get_wtime(); + drawTutorial(c); + + printf("\nTime to color pixels: %f\n", omp_get_wtime() - startTime); + c.wait(); +} + +~~~ + +Re-compile and run. The screen should still be red. It took 2.080817 seconds to color all of the pixels with four threads (about 1/4 of the original time) on our machine. + +Let's take a look at the parallel block: + +~~~{.cpp} + ColorFloat color = RED; + #pragma omp parallel + { + #pragma omp for + for(unsigned i = 0; i < can.getWindowWidth(); i++) { + can.sleep(); + for(unsigned j = 0; j < can.getWindowHeight(); j++) { + can.drawPoint(i, j, color); + } + } + } +~~~ + +```color``` is set to ```RED```, and a parallel block is made with ```4``` threads (see the ```omp_set_num_threads()``` function in the main method before we create a Canvas). + +Because of the ```omp_set_num_threads(4);``` statement in the ```main()``` function, the ```#pragma omp parallel``` directive causes the main thread to fork 3 new threads. Each of the four threads will then perform the statements in the block that follows the ```pragma```. The ```#pragma omp for``` directive then divides up the iterations of the ```for``` loop that follows it among those four threads. Since the inner loop colors the pixels ```RED```, all of the threads end up coloring their pixels the same color. + +It also speeds up the coloring of the pixels in proportion to the number of threads being used; in this case, four threads were used, so the time to color all of the pixels red was about 1/4 of the original time. + +This is nice and all....but we can't really visualize the four threads coloring different pixels. We know they are coloring them ```RED```, but which ones? + +Let's add some more code to better visualize this: + +~~~{.cpp} +#include +using namespace tsgl; + +void drawTutorial(RasterCanvas & can) { + //Parallel block + #pragma omp parallel + { + //Current thread id & number of threads + float tid = omp_get_thread_num(); + + //Give it a color + ColorFloat color = Colors::highContrastColor(tid); + + //Color the pixels + #pragma omp for + for(unsigned i = 0; i < can.getWindowWidth(); i++) { + can.sleep(); + for(unsigned j = 0; j < can.getWindowHeight(); j++) { + can.drawPoint(i, j, color); + } + } + } +} + +int main() { + omp_set_num_threads(4); //Set the number of threads to use + RasterCanvas c(100, 100, 500, 500, "Threading", FRAME); + c.start(); + + double startTime = omp_get_wtime(); + drawTutorial(c); + + printf("\nTime to color pixels: %f\n", omp_get_wtime() - startTime); + c.wait(); +} + +~~~ +Recompile and run. There should now be four differently colored sections! (It took 2.079545 seconds to color the the screen four different colors on our machine!) + +Since the changes were made only to ```drawTutorial()```, let's take a closer look at that function: + +~~~{.cpp} +void drawTutorial(RasterCanvas & can) { + //Parallel block + #pragma omp parallel + { + //Current thread id & number of threads + float tid = omp_get_thread_num(); + + //Give it a color + ColorFloat color = Colors::highContrastColor(tid); + + //Color the pixels + #pragma omp for + for(unsigned i = 0; i < can.getWindowWidth(); i++) { + can.sleep(); + for(unsigned j = 0; j < can.getWindowHeight(); j++) { + can.drawPoint(i, j, color); + } + } + } +} +~~~ + +This function allows us to see the threads coloring different sections of the Canvas and thereby make it ***MUCH*** easier to visualize. + +Next, let's add support for command-line arguments so that we can control the number of threads being used: + +~~~{.cpp} +#include +using namespace tsgl; + +void drawTutorial(RasterCanvas & can) { + //Parallel block + #pragma omp parallel + { + //Current thread id & number of threads + float tid = omp_get_thread_num(); + + //Give it a color + ColorFloat color = Colors::highContrastColor(tid); + + //Color the pixels + #pragma omp for + for(unsigned i = 0; i < can.getWindowWidth(); i++) { + can.sleep(); + for(unsigned j = 0; j < can.getWindowHeight(); j++) { + can.drawPoint(i, j, color); + } + } + } +} + +//Adding command-line argument support... +int main(int argc, char * argv[]) { + int width = (argc > 1) ? atoi(argv[1]) : 700; + int height = (argc > 2) ? atoi(argv[2]) : 800; + if(width <= 0 || height <= 0) { + width = height = 900; + } + //Threads... + int threads = (argc > 3) ? atoi(argv[3]) : omp_get_num_procs(); + if(threads <= 0) { + //omp_get_num_procs() gets the number of available processors on your system + threads = omp_get_num_procs(); + } + omp_set_num_threads(threads); //Use the number of threads passed via command-line + RasterCanvas c(100, 100, width, height, "Threading", FRAME); + c.start(); + + double startTime = omp_get_wtime(); + drawTutorial(c); + + printf("\nTime to color pixels: %f\n", omp_get_wtime() - startTime); + c.wait(); +} + +~~~ + +We just added support for three command-line arguments: the width and height of the Canvas, and the number of threads to use in rendering. We added checks to make sure that they were valid arguments, and then we used the first two as the width and height of the Canvas. + +We are then passing the third argument, the number of threads to use, into ```omp_set_num_threads()``` so that we can use that number in rendering. + +Before continuing, note that we did not use an animation loop because our ```drawTutorial()``` function is not animating anything — it is just creating an inanimate drawing on the Canvas. We only need to use animation loops when we are animating something. + +Compile and run the program, passing these command-line arguments: 700, 700, 10. There should now be 10 differently colored sections of the Canvas! (It took 0.830523 seconds to color the 10 different sections on our machine!) + +Since we used 10 threads, the time should be about 1/10 of the original time. Using n threads, it should take about 1/n seconds of the original time (with one thread) to draw, provided (a) we have enough work for the threads to do, (b) the work of each thread is independent of the others, and (c) there are enough cores available for them to run independently. + +In sum, OpenMP makes it easy to add multithreading to speed up a sequential program, and TSGL can be used to visualize what each thread is doing. You can use command-line arguments to control the number of threads; you can also a function that draws a particular drawing (with or without multithreading). + +That concludes this tutorial! + +We hope that these tutorial pages help you get started with TSGL, and that you make some amazing creations with this library! diff --git a/TSGL.wiki/Building-Programs.md b/TSGL.wiki/Building-Programs.md new file mode 100644 index 000000000..c08f2183c --- /dev/null +++ b/TSGL.wiki/Building-Programs.md @@ -0,0 +1,11 @@ +***NOTE:*** As of Summer 2016, there have been packages made for tsgl for ease of installation. Specifically, for Ubuntu and Red Hat (Fedora). As a result, if you install one of the TSGL packages, the generic ```Makefile``` will be located in ```/usr/include/TSGL_GENERIC_MAKEFILE/```. You can copy over the ```Makefile``` to your project directory and then follow the videos. + +Linux/Mac: + +* Single file programs: https://www.youtube.com/watch?v=DHSMKTXII8k +* Multi-file/class programs: https://www.youtube.com/watch?v=-nR9kCeEAR0 + +***NOTE:*** Type ```make clean``` after you have made a change to a ```.cpp``` or ```.h``` file. Then type ```make``` to remake the project (Linux/Mac only). + +Windows: https://www.youtube.com/watch?v=it19F38oAMk + diff --git a/TSGL.wiki/Command-line-arguments.md b/TSGL.wiki/Command-line-arguments.md new file mode 100644 index 000000000..1f4a209e5 --- /dev/null +++ b/TSGL.wiki/Command-line-arguments.md @@ -0,0 +1,157 @@ +Love giving commands? This is the page for you! + +To begin, in the ```tests``` subfolder of the ```src``` folder of the TSGL source code there are a plethora of tests that you can launch individually. + +Some of these tests take in command-line arguments. Command-line arguments are values which you pass whenever you execute a test file from the command-line (for Linux: ./testName argument1 argument2 ...). + +These arguments can change something within the code; this ranges from the width and height of the Canvas screen to the number of threads to use when drawing something. + +How do we give command-line capabilities to new animations though? + +We're about to find out. + +***Linux/Mac users:*** Follow the steps from the previous tutorials. Name the folder "Tutorial8" and the file "command.cpp". Replace "program" in the "TARGET" line of the Makefile with "command". + +***Windows users:*** Follow the steps from the previous tutorials. Name the Solution folder "Tutorial8" and the Visual Studio project "Commands". After adding the Property sheet, name the .cpp file "command.cpp". + +***All three platforms:*** Follow the steps in the [[Building Programs]] page on how to compile and run the program (Linux/Mac users, this is a single-file program). + +Let's start with skeleton code: + +~~~{.cpp} +#include +using namespace tsgl; + +int main() { + Canvas c(0, 0, 500, 500, "Command-line Example", FRAME); + c.start(); + c.wait(); +} +~~~ + +Compile and run. A blank gray screen should appear. + +Now, how can we add the ability to take in command-line arguments? Sounds complicated. + +Its actually fairly simple: + +~~~{.cpp} +#include +using namespace tsgl; + +int main(int argc, char * argv[]) { + Canvas c(0, 0, 500, 500, "Command-line Example", FRAME); + c.start(); + c.wait(); +} +~~~ + +Notice how we add parameters to the main method? This is the standard way to receive arguments from the command-line. The ```argc``` parameter is the number of arguments passed and the ```argv``` parameter is the array containing the arguments (with ```argv[0]``` being the name of the program). + +Here's a way to get the arguments passed from the command-line and into the code: + +~~~{.cpp} +#include +using namespace tsgl; + +int main(int argc, char * argv[]) { + int width = atoi(argv[1]), height = atoi(argv[2]); //Get the width and height from the command-line + Canvas c(0, 0, width, height, "Command-line Example", FRAME); //Pass them as parameters + c.start(); + c.wait(); +} +~~~ + +Since the types of elements in ```argv``` are char pointers, we need to convert them into integers in order for this example to use them as the width and the height of the Canvas. + +```atoi()``` converts alphabet characters into integers. + +Compile the code. Because of the way that we have added command-line argument capabilities to our code, we MUST pass two of them, or a segmentation fault (a run-time error) will occur. (We will fix this shortly.) + +Attempting to run the code without command-line arguments now will trigger a segmentation fault (an error). + +To run a program with command-line arguments depends on your system's OS. There are videos that can show you how to run an individual test file in the TSGL bin folder from the command-line: + +* Linux/Mac: https://www.youtube.com/watch?v=ASMtIoJFJVI +* Windows: https://www.youtube.com/watch?v=9aXBKVQ4n4I + +This code is being run on a Linux machine, so the tutorial will continue using this format. + +When you run the code with command-line arguments, the screen should appear but in a different size. + +But wait...what happens when someone accidentally forgets to put in a command-line argument? The code will seg fault regardless! + +To avert this, we need to place a few checks in the code: + +~~~{.cpp} +#include +using namespace tsgl; + +int main(int argc, char * argv[]) { + int width = (argc > 1) ? atoi(argv[1]) : 600; //Checks for command-line arguments + int height = (argc > 2) ? atoi(argv[2]) : 800; + Canvas c(0, 0, width, height, "Command-line Example", FRAME); //Pass them as parameters + c.start(); + c.wait(); +} +~~~ + +Now compile and run the code without command-line arguments. The window should still appear without causing a seg fault. + +The checks are essentially conditional operators that are laid out as follows: + +~~~{.cpp} + +(condition) ? expression_if_true : expression_if_false; + +~~~ + +When execution reaches a conditional expression, its ```condition``` (usually a boolean expression) gets evaluated. If it evaluates to ```true``` then ```expression_if_true``` is the value produced by the expression. If it evaluates to ```false``` then ```expression_if_false``` is the value produced by the expression. So when this appears on the right side of an assignment statement: + +~~~{.cpp} + +variable = (condition) ? expression_if_true : expression_if_false; + +~~~ + +the value assigned to ```variable``` varies depending on the value of the ```condition```, which is why it is called a "conditional expression". + +In a nutshell, think of it as a one-line if-else statement. + +Now, what about invalid widths and heights? We can't have a negative value or 0! + +To avert this, we need one more check: + +~~~{.cpp} +#include +using namespace tsgl; + +int main(int argc, char * argv[]) { + int width = (argc > 1) ? atoi(argv[1]) : 600; //Checks for command-line arguments + int height = (argc > 2) ? atoi(argv[2]) : 800; + if(width <= 0 || height <= 0) { //Check for negative or zero values + width = height = 800; //Set defaults if invalid widths or heights + } + Canvas c(0, 0, width, height, "Command-line Example", FRAME); //Pass them as parameters + c.start(); + c.wait(); +} +~~~ + +Compile and run the code with a negative value or 0. The window should still appear without causing any problems. + +In sum, to use command-line arguments to control your application, you *MUST* edit the ```main()``` method signature so that it looks like this: + +~~~{.cpp} +int main(int argc, char * argv[]) { + +} +~~~ + +Then, you can use the first parameter, ```argc```, to determine whether any arguments have been given on the command-line. If so, you can use the second parameter, ```argv```, to retrieve those arguments from the command-line. + +You must then include any checks to make sure there have been command-line arguments passed and then make sure those arguments are valid for you animation. + +That concludes this tutorial! + +In the final one, [[Bringing It All Together]], we recap everything we've seen into an example with threading! \ No newline at end of file diff --git a/TSGL.wiki/Creating-New-Deb-Packages.md b/TSGL.wiki/Creating-New-Deb-Packages.md new file mode 100644 index 000000000..d7cf0b8aa --- /dev/null +++ b/TSGL.wiki/Creating-New-Deb-Packages.md @@ -0,0 +1,480 @@ +***WORK IN PROGRESS!!!*** + +------------------------------------------------------------------------------ +| HOW TO CREATE NEW TSGL DEBIAN PACKAGES FOR UBUNTU (Last updated: 08/11/16) | +------------------------------------------------------------------------------ + +***NOTE:*** *Before* reading this page, please make sure that you have read the following pages: + +* [[GPG Keys and You]] +* [[PPA and our TSGL team]] + +(Example of making the same package for a different distro: tsgl (1.1-1~) + +If you are creating a new TSGL package for a new distro, see ***NEW PAGE COMING SOON*** + +***NOTE:*** This document attempts to guide you in the process of Debian package creation. Given that, package creation can be a long and complex process. If there's something that we missed, or perhaps have misleading information, please edit this page accordingly! + +Hello! + +So, you need to make a new Debian package for TSGL. + +Package creation isn't trivial, and has a steep learning curve. + +What's more, we think that creating a Debian package is a ***LOT*** more complex than creating an RPM package. + +The reason? Instead of having to keep track of one file (SPEC file), you have to keep track of multiple. + +Luckily, this document will attempt to guide you through the process. + +Let's get started with a brief intro to Debian packages. + +----------------------------------- +| Creating Debian packages: intro | +----------------------------------- +Before we can even begin to talk about how to build a Debian package, we need to know what's inside one. + +So, what exactly is inside of a Debian package? + +Magic? Close. + +There are three components to a Debian package: + +1). Upstream tarball - the original source code for the library/application. This comes from developers "upstream", which means that they are the original authors of the code. + +2). Source package - has all of the necessary files needed to compile/build the software. Includes: the upstream tarball with ```.tar.gz``` ending, a description file (```.dsc```), and a tarball with any changes made to the upstream source code and all files created for the Debian package (usually has a ```.debian.tar.gz``` or ```.diff.gz``` ending). + +3). Binary packages - what actually get installed on a user's system. + +You usually have to get the upstream tarball from some developers who are working on a piece of software. +(You type ```apt-get source ``` in order to fetch it). + +In this case, however, the upstream tarball will be created by you. + +Therefore, there is no need to get an upstream tarball. You'll create one yourself! + +Follow these steps: + +1). Create a new folder and call it ```tsgl-```, replacing `````` with whatever version TSGL is currently. + +(If you've made minor changes, like new features or improvements, bump up the middle number by 1. + + e.g. 1.1.1 -> 1.2.1. + + If you've added a bug fix, bump up the third number by one (or add 1 if there is no third number). + + e.g. 1.3 -> 1.3.1 OR 1.1.1 -> 1.1.2 + + If you've made only improvements to the documentation, make no changes to the version number.) + +2). Go to wherever you have the TSGL folder (which you can get using git if you don't have it; ```git clone https://www.github.com/Calvin-CS/TSGL.git```). + +3). Take *ALL* of the files in the TSGL folder, and copy them over to the ```tsgl-``` folder. + +Okay, now we'll create the actual upstream tarball. + +1). Open up a terminal, and go to the place where the ```tsgl-``` folder is located. + +2). Type: + +``` + + tar czvf tsgl-.tar.gz tsgl- + +``` + +3). Type ```ls```, and you should see files that look like this: + +``` + + tsgl-.tar.gz tsgl- + +``` + +Congrats! You created the upstream tarball, and have taken your first step in making a Debian package. + +Now, let's take a closer look at the intricacies of debian package creation. + +---------------------------------------------------------- +| Creating Debian packages: files, files, and more files | +---------------------------------------------------------- + +Now that you have the upstream tarball created, it's time to get into the nitty gritty details of Debian packaging. + +We'll go into preparing the library so that it can be packaged up. + +You know how you have to prepare a turkey before actually cooking it? + +The process is somewhat similar when creating a Debian package. + +Go into the ```tsgl-``` folder after creating the upstream tarball. Create a folder named ```debian```. + +This one folder, ```debian```, will store all of the necessary files needed in order to create a Debian package. + +And quite a lot of files we need.... + ++ ```changelog``` ++ ```control``` ++ ```rules``` ++ ```compat``` ++ ```tsgl.install``` ++ ```copyright``` ++ ```source/format``` ++ ```postinst``` + +There are more, but these will suffice. + +You're going to have to create each and every one of these files. + +Like we said, a bit more complicated than RPM package creation. + +Let's get started with the ```changelog``` file. + +------------------------ +| ```changelog``` file | +------------------------ + +This file essentially explains what has been changed in the Debian package. Ranging from a minor change to the ```control``` file (explained shortly), or a full scale rework of the entire package, you have to explain what you changed in this file. + +Don't worry, you don't have to explain ***EVERY*** little detail. You only have to summarize your changes. + +This file is also ***EXTREMELY*** picky in regards to format. There is a specific format for this file that *MUST* be followed. + +Since you're creating a brand new package, we assume that the only thing that has been changed is the TSGL source code. + +To create the ```changelog``` file, be in the ```tsgl-``` directory, and type this command: + +``` + + dch --create -v --package tsgl + +``` +(If ```dch``` isn't installed, type ```sudo apt-get install devscripts``` and repeat this step). + +You'll be asked to pick an editor. Pick whichever one is the easiest one to use. + +Now, you should see something like this: + +``` + + tsgl (-) UNRELEASED; urgency=medium + + * Initial release. (Closes: #XXXXXX) + + -- kodemonkey Mon, 06 Jun 2016 15:56:57 -0400 + +``` + +Let's break it down: + ++ ```tsgl (-)``` specifies the name of the package and the current version number. The `````` tells us what version is the DEBIAN package. You can create multiple versions of the same package, without changing the source code of the package software. Usually this is when a new dependency needs to be added, or a new file needs to be added to the ```debian``` folder. In this case, since we are creating it, set this number to 1. + +If this were an already created package, and we didn't make any changes to the TSGL source code, but made changes to the ```debian``` files, we would have to add 1 to the `````` + +E.g. tsgl (1.1.2-1) -> tsgl (1.1.2-***2***) + ++ ```UNRELEASED``` specifies the Linux distro that we developed the library for. + +```trusty``` is for ```Ubuntu 14.04```, ```xenial``` is for ```Ubuntu 16.04```. + +If you are creating a new TSGL package for either one of those distros, replace ```UNRELEASED``` with the distro name. + ++ ```urgency=medium``` specifies the priority level for this package. You can leave it as is. + ++ ```* Initial release.``` specifies what has been changed in the library. You can leave it as is. + ++ Remove the ```(Closes: #XXXXXX)``` as that is for bug fixes. + ++ ```-- kodemonkey Mon, 06 Jun 2016 15:56:57 -0400``` specifies the person who made the changes (```kodemonkey```), an email that you can contact them by (```kodemonkey@kodemonkey-desktop```), and the time and date that the changes were made. + +You'll want to replace the name and email with the Real Name and Email associated with your GPG key (see [[GPG keys and You]]). + +You should end up with a file like this after changes have been made: + +``` + + tsgl (1.0-1) trusty; urgency=medium + + * Initial release. + + -- Chris Dilley Mon, 06 Jun 2016 15:56:57 -0400 + +``` + +Save the changes and close the file. + +Next, let's take a look at the ```control``` file. + +---------------------- +| ```control``` file | +---------------------- + +This file tells ```apt-get``` how to manage the package. + +It's also a real workhorse of a file. + +Here's the general format: + +``` + + 1 Source: + 2 Maintainer: + 3 Section: + 4 Priority: + 5 Standards-Version: + 6 Build-Depends: + 7 + 8 Package: + 9 Architecture: + 10 Depends: + 11 Description: + +(Line numbers added) + +``` + +As you can see, there are two sections. Lines 1-7 specify information for the source package, while lines 9-12 specify information for the binary package. + +Let's break them down: + +----SOURCE---- + ++ ```Source``` specifies the name of the source package. + ++ ```Maintainer``` specifies the person who is keeping track of the package in terms of updates, tweaks, etc. + ++ ```Section``` species the section of the distribution that the source package goes into (libs, for example). + ++ ```Priority``` specifies the importance of this package. + ++ ```Standards-Version``` specifies the Debian standards for packaging that we are following. + ++ ```Build-Depends``` specifies what libraries need to be present in order to build our library. + +----BINARY---- + ++ ```Package``` specifies the name of the package. Note that the Source and Package name fields do NOT have to be the same. + ++ ```Architecture``` specifies the architectures that the binary package can be compiled for. + ++ ```Depends``` specifies what libraries need to be present in order for our binary package to behave correctly. + ++ ```Description``` specifies a short summary of what the package is. + +At the time of this writing, this was the ```control``` file for the ```trusty``` TSGL debian package: + +``` + + 1 Source: tsgl + 2 Maintainer: Chris Dilley + 3 Section: libs + 4 Priority: optional + 5 Standards-Version: 3.9.5 + 6 Build-Depends: debhelper (>= 9), glfw, doxygen, libglew-dev, libfreetype6-dev, libfreetype6, libxrandr-dev, libxi-dev, x11proto-xf86vidmode-dev, libglu1-mesa-dev + 7 + 8 Package: tsgl + 9 Architecture: amd64 + 10 Depends: ${shlibs:Depends}, ${misc:Depends}, glfw, libfreetype6, libfreetype6-dev, libglew-dev, libxrandr-dev, doxygen, devscripts, build-essential + 11 Description: A Thread-Safe Graphics Library. + +``` + +(Line numbers added) + +The one for the ```xenial``` package is the same. + +If nothing has changed (no new dependencies have been added...), simply copy and paste it into the new ```control``` file. +(Be sure to remove the added line numbers!) + +Change the ```Maintainer``` field to the Real Name and Email associated with your GPG key (see [[GPG keys and You]]). + +Save the changes and close the file. + +--------------------- +| ```compat``` file | +--------------------- + +This is the easiest file to make. Create the file, and type ```9```. Save the changes and don't touch the file again. + +Essentially, all this file does is tell the packaging tools to use ```debhelper``` version 9. + +This means, "Use the tools which help build Debian packages from toolset version 9." + +-------------------- +| ```rules``` file | +-------------------- + +This file tells the build system how to make the binary package (in this case, the one that will be built in our PPA after we upload the source package). + +As mentioned above, there are three components to a Debian package: upstream tarball, source package, and binary package. + +We've already made the upstream tarball. + +Our source and binary packages, however, will be made for us. + +The source package will be made as a result of the work done in the next section. + +The PPA has a build system which takes our uploaded source package and creates a binary package out of that. + +It then publishes the upstream tarball, source package, and binary packages so that users can download and install tsgl. + +You can upload binaries, though it is NOT recommended. + +At any rate, this is what the ```rules``` files looks like for both the ```trusty``` and ```xenial``` packages: + +``` + +#!/usr/bin/make -f + +%: + dh $@ + +override_dh_auto_install: + #Do nothing. + +``` + +The ```override_dh_auto_install:``` section tells the build system to not perform an automatic dry install of TSGL. +Originally, we had the build system do the automatic install (to test whether it would install correctly), but we kept getting ```Permission denied``` errors whenever it tried to install the ```libtsgl.so``` file. + +This is why we had to override the auto install and create a ```tsgl.install``` file that would install the files manually (see next section). + +The ```%:``` tells the build system to use our ```Makefile``` in order to create TSGL. + +If no changes need to be made, copy and paste the code section into the ```rules``` file. + +Save the changes and close the file. + +--------------------------- +| ```tsgl.install``` file | +--------------------------- + +This file explains where files need to go when the package is being installed. + +Whenever something is installed on a user's system, certain files need to go to certain places. + +An example would be an executable. Normally, you put executables inside of a user's ```/usr/bin``` or ```/usr/local/bin``` directory when it is being installed. + +This file specifies where certain files go on a user's system. + +In our case, we need to put the ```libtsgl.so``` and ```libtsgl.a``` files into ```/usr/lib/```, the ```.h``` header files from ```src/TSGL``` into ```/usr/include/TSGL/```, and the generic ```Makefile``` into ```/usr/include/TSGL_GENERIC_MAKEFILE/``` (so users can create programs with TSGL with ease). + +Here is what the file looks like for both ```trusty``` and ```xenial```: + +``` + + lib/libtsgl.a usr/lib + lib/libtsgl.so usr/lib + src/TSGL/*.h usr/include/TSGL + genericMakefile/Makefile usr/include/TSGL_GENERIC_MAKEFILE/ + +``` + +If no changes need to be made, simplu copy and paste it into ```tsgl.install```. + +Save the changes and close the file. + +---------------------------- +| ```source/format``` file | +---------------------------- + +------------------------ +| ```copyright``` file | +------------------------ + +This file is used to store licensing information and legal stuff associated with your software. + +In much the same way as inventors patent their products in order to protect them, software developers use licenses in order to protect their software. + +"Protection" means not having your ideas stolen, etc. + +It's essentially a way of telling everyone, "This software is available for use, but with some restrictions." + +In the case of TSGL, we use the GPL v3 license. + +This is located in the TSGL main folder, in a file called, "license". + +Simply open that file up, copy the contents, and paste them into the ```copyright``` file. + +Save the changes and close the file. + +----------------------- +| ```postinst``` file | +----------------------- + +This file is usually a shell/bash script that is executed ***after*** the installation of the package. + +You can do many things with this file. + +We use it to change file permissions on the generic Makefile. + +This is so that users can do whatever they wish to it. + +Here is what the file looks like for the ```trusty``` and ```xenial``` packages: + +``` + + #!/bin/sh + + sudo chmod 777 /usr/include/TSGL_GENERIC_MAKEFILE/Makefile + +``` + +If no changes need to be made, copy and paste it into the ```postinst``` file. + +Save the changes and close the file. + +Whew, that was a lot of files! + +Let's move onto the easiest part of Debian package creation: actually building one! + +---------------------------------------------------------- +| Creating Debian packages: ```debuild``` is your friend | +---------------------------------------------------------- + +So, you have created all of the files in the debian folder. + +Now all that's left to do is to create the files needed in order to create our full Debian package and upload said package. + +You'll also have to sign the package (so Debian knows that you made the package) with a GPG key, located in keyID.txt. + +How do we do all that? + +With the ```debuild``` command. + +The ```debuild``` command creates our Debian package and files needed in order to upload said package. + +Simply type this command either inside of the ```debian``` directory or ```tsgl-``` directory: + +``` + debuild -S -rfakeroot -k + +``` +(replacing with the key ID located in key.txt). + +and debuild takes care of the rest! + +debuild -S -rfakeroot -k +cd .. +ls +.source_changes + +-------- +| MISC | +-------- + +Does something not make sense? Have we missed something? Take a look at these links for more information. + +https://wiki.debian.org/Packaging/Intro?action=show&redirect=IntroDebianPackaging + +https://en.wikipedia.org/wiki/Upstream_%28software_development%29 + +https://wiki.debian.org/Packaging/SourcePackage?action=show&redirect=SourcePackage + +https://www.debian.org/doc/manuals/maint-guide/dreq.en.html + +https://www.debian.org/doc/manuals/maint-guide/dreq.en.html#control + +https://wiki.debian.org/Packaging/SourcePackage?action=show&redirect=SourcePackage#Working_with_a_source_package + +***PLEASE*** update this document if you come across new links, or if there's missing/false information. diff --git a/TSGL.wiki/Creating-New-MacOS-X-Packages.md b/TSGL.wiki/Creating-New-MacOS-X-Packages.md new file mode 100644 index 000000000..928e063f4 --- /dev/null +++ b/TSGL.wiki/Creating-New-MacOS-X-Packages.md @@ -0,0 +1,322 @@ +***WORK IN PROGRESS!!!"*** + +---------------------------------------------------------------------- +| CREATING A NEW MAC OS X INSTALLER PACKAGE (Last updated: 08/11/16) | +---------------------------------------------------------------------- + +Creating a new ```.pkg``` Installer for Mac OS X isn't as difficult as creating an RPM or Debian package. + +You do have to be on a Mac, however. + +If you cannot procure a Mac with OS X 10.5 or greater (or a VM with OS X 10.5 or greater on it, *though this has not been tested*), ***please stop reading and go get a Mac***. + +Otherwise, please continue. + +------------ +| Packages | +------------ + +When we first started to create the Mac OS X Installer package, we used a tool called ```Packages```. + +This made the process of creating a Mac OS X binary installer much easier and less tedious. + +You have to download it from this [link](http://s.sudre.free.fr/Software/Packages/about.html). + +The download will be a ```.dmg``` file. Move it to your ```Desktop```. + +Now, mount it. (Double-click on it). You should see a Volume appear on your ```Desktop``` with the name, ```Packages #.#.#```. Double-click on it. + +Now, double-click on the ```Install Packages.pkg``` file. + +Follow the installation process, and you should have the ```Packages``` tool installed. + +------------------------------- +| Creating the TSGL Installer | +------------------------------- + +After installing ```Packages```, open up the application. + +A screen should pop-up with the title, ```New Project```. + +This is where you choose what project you'd like to make. + +We used the ```Distribution``` template, so go ahead and click on that option. + +Click ```Next```. + +The project name will be ```InstallTSGL```, and the project directory will be ```~/Desktop```. + +A screen should appear showing you the project details. + +In here, you can edit the settings for the project, how the Installer looks, and more. + +On the left, you'll see a section named ```PACKAGES```. + +At the moment, there's only one package in it: ```InstallTSGL```. + +We're going to rename it to just ```TSGL```. + +Double-click on it, and when the text appears highlighted, type ```TSGL``` and hit ```ENTER```. + +Now, take a look at the ```Settings``` page. + +This contains the settings that you can edit for this package. + +If you take a look at the text box next to the ```Identifier: ``` label, you can see that the Identifier for the package still has ```InstallTSGL``` at the end. + +We're going to change the ```InstallTSGL``` part to say ```TSGL```. + +Click on the text box next to the ```Identifier: ``` label, and delete the ```InstallTSGL``` part. Replace it with ```TSGL``` and hit ```ENTER```. + +We can now leave the ```Settings``` page as it is. + +On the left, click on ```Project```. + +You'll be taken back to the ```Settings``` page for the Installer. + +Leave the ```Settings``` page as is, and click on the ```Presentation``` tab. + +In here, you'll be able to customize the text for the ```Introduction```, ```Read Me```, and ```License``` screens. + +To do so, we must first create the text files that will hold the customized screen text. + +Create three new text files: ```intro.txt```, ```README.txt```, and ```license.txt```. + +We'll edit ```intro.txt``` first. + +------------------- +| ```intro.txt``` | +------------------- + +This is the first thing that a user will see when they double-click on the Installer package. + +Here's the introduction that we used: + +``` + Hello! Thank you for choosing to install TSGL on your Mac! + + To start, please click "Continue". + +``` + +Copy and paste this into your ```intro.txt``` file and make any changes. + +Save and close it when you are satisfied. + +-------------------- +| ```README.txt``` | +-------------------- + +This is the next thing that a user will see when they continue with the installation process. + +Essentially, we specified what dependencies would be installed and with which package manager. + +``` + + The following dependencies will be installed on your Mac: + + - X11 libs + - Homebrew + - Freetype (through Homebrew) + - glfw3 (through Homebrew) + - glew (through Homebrew) + - doxygen (through Homebrew) + - gcc5 (through Homebrew) + + By clicking "Continue", you agree to having these dependencies installed. + + +``` + +Copy the above text and paste it into your ```README.txt``` file. + +Make any changes as you see fit, then save and close the file. + +--------------------- +| ```license.txt``` | +--------------------- + +This is the last thing a user will see before selecting a destination, choosing installation type, and installing TSGL on their Mac. + +We took the opportunity to use the license associated with TSGL (GPLv3). + +This file is actually inside of the TSGL source code folder. + +Simply open up the TSGL source code folder (the clone or downloaded zip file), open up ```license```, and copy the text inside of it. Paste that text inside of ```license.txt```. + +Save and close the file. + +---------------- +| Almost there | +---------------- + +Now that we have those three text files made, it's time to integrate them into the Installer. + +Back in ```Packages```, make sure that you are in the ```Project``` details (click on ```Project``` on the left side of the window), and on the ```Presentation``` page (click on the ```Presentation``` tab). + +In the drop down box on the right, make sure that it says ```Introduction```. + +Then, click the big plus (```+```) button underneath the ```Custom Introduction``` table. + +One of the table slots inside of the ```Custom Introduction``` table should be filled in and highlighted. + +Click on the section that has the ```-``` in it, and click ```Choose``` from the drop down menu. + +Double-click on the ```intro.txt``` file that we made earlier. + +Now the text inside of the ```Introduction``` Installer page should change to the text inside of ```intro.txt```. + +Do the same thing for the ```README.txt``` and ```license.txt``` files. + +Once you have done that, you are almost ready to create the ```.pkg``` Installer! + +--------------------- +| Installer plugins | +--------------------- + +Our Installer can have two shell scripts which are executed before and after TSGL is installed. + +The ```preinstall``` and ```postinstall``` scripts, respectively. + +We will go into more detail later on these scripts, but for now just know that they are needed for our Installer. + +However, they are not the *ONLY* things that are needed. + +As we developed the ```.pkg``` Installer, we focused primarily on making it self-contained. + +We wanted a user to simply mount our ```.dmg``` file, double-click on the ```.pkg``` file, and have TSGL installed on their Mac. + +We didn't want them to execute any programs beforehand; we wanted everything to be done by the ```.pkg``` Installer. + +This proved to be most difficult with just the ```preinstall``` and ```postinstall``` scripts. + +Which is why, another resource was needed: an Installer plugin. + +An Installer plugin is essentially another pane that you can add to the installation process. + +What's important about this resource? + +You can execute commands based off of user input. + +Even shell scripts. + +This was *VERY* useful for us when we had to install ```Homebrew``` as a dependency, as well as a solution to many problems, for the reasons outlined in the next section. + +----------------------------------------------------------- +| The trouble with ```preinstall``` and ```postinstall``` | +----------------------------------------------------------- + +As mentioned above, the ```preinstall``` and ```postinstall``` scripts are shell scripts which can be executed before and after TSGL is installed, respectively. + +They are perfect for small tasks, like making symlinks or installing some dependencies. + +However, they are run as ```root```. + +This doesn't seem like such a big deal, but consider this scenario: + +1). The ```preinstall``` script is executed when the user clicks ```Install``` during the TSGL installation process. + +2). The script finds that a user doesn't have ```Homebrew``` installed. + +3). It attempts to install ```Homebrew```. + +4). Because the script was run as ```root```, ```Homebrew``` refuses to install. + +5). No dependencies are installed, and the installation process shows that TSGL was installed correctly (even though it wasn't). + +See [the Homebrew FAQ page](https://github.com/Homebrew/brew/blob/master/share/doc/homebrew/FAQ.md) for more information on why using ```sudo``` and ```brew``` is a bad thing. + +This was a recurring problem, with many workarounds attempted. + +One of them involved creating a separate executable that the user could run *before* the ```.pkg``` Installer, but that would mean that the Installer would no longer be self-contained. Strike 1. + +You can execute the scripts as normal user by changing a setting inside of the ```.pkg``` file *after* it's been created. +That would be a workaround. + +However, that brings another problem to the table. + +When we have to install ```X11``` libs, we use the ```curl``` command in order to download the ```xQuartz``` ```.dmg``` file which contains a ```.pkg``` file so that they can be installed. + +We then open up that file and tell the user to follow the installation process. + +But...two Installers *cannot* be running at the same time. + +If they are, one will wait for the other to finish before beginning. + +This *always* happened with the installation of the ```X11``` libs. + +The installation would wait until *after* the installation of TSGL was completed, then move onto installing ```X11``` libs. TSGL needs those libs in order to compile, and because they were not installed *before* TSGL, this would mean that TSGL would fail to compile and would *NOT* be installed correctly. + +A workaround for this would be to use the ```installer``` command and use it to install the ```.pkg``` file via a Terminal. + +But...the execution of the ```installer``` command could cause the same issue (two Installer running at the same time). + +Even if it were to work, this workaround brings with it a new problem. + +For some odd reason, the commands executed by the ```preinstall``` script are asynchronous. + +What this means is that when one command is executed, the next command doesn't wait until the first has terminated. It executes, and the successive commands do the same. + +This is really bad in terms of installing dependencies. + +To give an example, consider ```Homebrew``` again. + +```Homebrew``` needs to be installed before ```glew```, ```glfw3```, ```doxygen```, ```freetype```, and ```gcc5```. + +If a user doesn't have ```Homebrew``` installed, the script needs to install ```Homebrew```. + +As a consequence of the commands being executed asynchronously, the other dependencies will also be installed *regardless of the ```Homebrew``` install finishing or not*. + +This would lead to another failed install. Strike 2. + +There are other problems, but we won't go into them in detail. + +We attempted numerous workarounds, ranging from having the ```preinstall``` script execute other install scripts, to using ```sleep``` and ```wait``` commands. + +None of them provided a solid, foolproof binary Installer. Strike 3. + +Given all of these reasons, we ultimately decided to go with Installer plugins. + +They provided a solid, self-contained, foolproof Installer. + +We used one to install ```Homebrew```, and ```X11``` libs. + +We also utilized the ```sleep``` command in order to avoid having multiple dependencies installed at once (e.g. ```XCode Command Line Tools``` and dependencies installed by ```Homebrew```). + +----------------------------- +| Back to Installer plugins | +----------------------------- + +-------------------------- +| Building the Installer | +-------------------------- + + + +--------------------------------- +| Wrapping it up in a .dmg file | +--------------------------------- + +Now that you have the ```.pkg``` file created, it's time to wrap it up in a ```.dmg``` file. + +Open up the ```Disk Utility``` application (which should be located in a folder called ```Utilities```). + +This is where we'll be creating the .dmg file. + + + + + +That concludes this page! + + + + + +-------- +| MISC | +-------- + +For more help with the Packages tool, please see this website: http://s.sudre.free.fr/Software/documentation/Packages/en/index.html + + diff --git a/TSGL.wiki/Creating-New-RPM-Packages.md b/TSGL.wiki/Creating-New-RPM-Packages.md new file mode 100644 index 000000000..179c28681 --- /dev/null +++ b/TSGL.wiki/Creating-New-RPM-Packages.md @@ -0,0 +1,414 @@ +--------------------------------------------------------------------------- +| CREATING NEW RPM PACKAGES FOR RED HAT (FEDORA) (Last updated: 08/05/16) | +--------------------------------------------------------------------------- + +***NOTE:*** This document guides you in the process of creating RPM packages by hand. The package creation process has already been automated, so you do not need to follow this document if the automation process is working fine. If, however, the automation process has failed and you need to make an RPM package by hand, please continue to read the document. ***DO NOT ATTEMPT TO CREATE AN RPM PACKAGE BY HAND IF THE AUTOMATION PROCESS IS STILL FUNCTIONAL!!!*** + +***NOTE:*** This document attempts to guide you in the process of RPM package creation. Given that, package creation can be a long and complex process. If there's something that we missed, or perhaps have misleading information, please edit this page accordingly! + +Hey there! + +So, you need to create a new RPM package for Red Hat (Fedora). + +Package creation is no simple task. + +It is a complex procedure, with a steep learning curve. + +Fortunately, this document will guide you in the creation of RPM packages. + +Before we continue, make sure that you are on a machine that has Red Hat on it! (Preferably Fedora!) + +Also, make sure that your graphics drivers are up-to-date. (TSGL needs at least OpenGL 3.0 in order to function correctly). There are many online tutorials that will help you do this. + +Got all that? Okay, we're ready to go! + +-------------- +| Setting up | +-------------- + +Okay, first we need to set you up so that you can build and test RPM packages. + +Open up a terminal, and type the following: + +``` + +sudo dnf install fedora-packager rpmdevtools + +``` + +(For Fedora 23 and lower, use ```yum``` instead of ```dnf```). + +This should set you up with the necessary tools. Once they are all installed, make sure that you are in your home directory. Then, type: + +``` + rpmdev-setuptree + +``` +(If you get a permission denied error, use ```sudo```). + +What this command does is setup all of the directories that will be used as we create RPM packages. If you do a quick ```ls```, you will see that a new directory named ```rpmbuild``` has been created. ```cd``` into it, and do a quick ```ls```. You should see the following directories: + +```BUILD``` - where your application/library is unpacked and compiled. + +```RPMS``` - where the binary RPMS are located (what gets installed on a user's machine). + +```SOURCES``` - where the source code for the application/library should be when you create an RPM (e.g. the upstream tarball, patch files, etc). + +```SPECS``` - where SPEC files should go (more on those later). + +```SRPMS``` - where the source RPMS are located (sRPMs are files that contain the upstream tarball and patch files for your application/library). + +Each one of these directories will be utilized in the creation of RPM packages. + +That concludes the "Setting up" section! + +----------------------------------- +| SPEC file: the heart of an RPM | +----------------------------------- + +Regardless of what package you are trying to make, there's always some sort of metadata involved. + +For Debian, it's the debian files (control, changelog, rules....). + +For RPM, it's the SPEC file. + +We like to call the metadata the "heart" of the package. + +The reason is because, without metadata, it would almost be impossible to create a package. + +The metadata specifies dependencies, how to build the application/library, and more. + +In the case of an RPM package, the SPEC file does all of this. + +SPEC files are not hard to make, though they can get complicated. + +Let's start out with a simple one: + +### A simple SPEC file + +``` + +Summary: + +Name: + +Version: + +Release: + +Group: + +License: + +URL: + +Source: + +BuildRequires: + +Requires: + +%description + +%prep + +%build + +%install + +%files + +%changelog + +``` + +There are 9 different sections included within a SPEC file, 7 of which are shown. Let's go through each one: + +1). The Preamble + +``` + +Summary: + +Name: + +Version: + +Release: + +Group: + +License: + +URL: + +Source: + +BuildRequires: + +Requires: + +``` + +This puppy is a human-readable form for the specification of the RPM package being created. Each tag has a function: + +```Summary``` - a one sentence summary of the application/library being packaged (do NOT end it with a period). + +```Name``` - the name of the package. + +```Version``` - the version of the software being packaged. + +```Release``` - how many times the software has been packaged up. + +```Group``` - how the packaged software should be grouped with other packages (e.g. Development/Library/Other) (type less /usr/share/doc/rpm/GROUPS in a Terminal for more names) + +```License``` - the open source license protecting the software. + +```URL``` - a website that gives more information for the software being packaged. + +```Source``` - the source code being packaged. (Usually a URL, but not for our purposes). + +```BuildRequires``` - what libraries need to be present in order to build the application/library. + +```Requires``` - what libraries need to be present in order for the application/library to function correctly. (The libraries may or may not be the same as those in ```BuildRequires```). + +There are many more tags, but these should suffice. + +2). ```%description``` - a longer explanation of the software being packaged. + +3). ```%prep``` - prepares the sources and gets stuff ready in order to build the application/software. This is similar to the configure step in a standard configure-make-make install process. You can just use the %setup macro here, which unpacks the sources and cd's into the source directory. + +4). ```%build``` - the compilation and building of the application/library occurs here. Similar to the make part of the standard configure-make-make install. If you have a Makefile in your sources, you can simply put make in here. + +5). ```%install``` - installs your application/library on a user's machine. Similar to the make install part of the standard configure-make-make install. If your Makefile already has a make install section, place make install here. + +6). ```%files``` - lists the files that are included in the binary package. You *MUST* have this section in the SPEC file, and it must list *ALL* files that have been installed. + +7). ```%changelog``` - this lists the changes that have been made to the RPM package. Format for a new entry in the change log is: + +``` + * + +``` +Then, under that line, you create a list of changes made: + +``` + - Change #1. + - Change #2. + . + . + . + +``` + +The other two sections are ```%clean```, which cleans up after the installation of an RPM, and scriptlet sections which peform various tasks before the installation of an RPM, after the installation, before the removal of an RPM, and after the removal of an RPM. + +We will not worry about the ```%clean``` section for the TSGL SPEC file. + +Unfortunately, the simplified SPEC file above will *NOT* suffice for our TSGL SPEC file. + +You can see why by looking at an old TSGL SPEC file below: + +``` + +# specfile for package TSGL + +Summary: A Thread-Safe Graphics Library +Name: tsgl +Version: 1.1 +Release: 1%{?dist} +Group: Development/Libraries/Other +License: GPLv3 +URL:https://github.com/Calvin-CS/TSGL +Source: tsgl-1.1.tar.gz +#This tag tells rpm which packages need to be on the system to build TSGL (like Build-Depends) +BuildRequires: glfwTSGL, libX11-devel libXrandr-devel libXinerama-devel libXcursor-devel mesa-libGLU-devel libXmu-devel libXi-devel libGL-devel glew-devel freetype-devel doxygen +#This tag tells rpm which packages need to be on the system (like Depends) +Requires: glfwTSGL, freetype, glew + +#https://fedoraproject.org/wiki/Packaging:Debuginfo#Useless_or_incomplete_debuginfo_packages_due_to_other_reasons +#It is not necessary to generate debug packages +%global debug_package %{nil} + +%description +A Thread-Safe Graphics Library which draws 2D graphics in parallel. + +#This is the preparation step. +#Simply use the setup macro. +%prep +%setup + +#This is the build step. +#Use the master Makefile to make the library. +%build +make + +#http://www.tldp.org/HOWTO/RPM-HOWTO/build.html +#This is the install step. +#Create any directories (lib64, TSGL, GENERIC_MAKEFILE). +#Install the files into those directories (install is like cp, but you can set file +#permissions on the fly). +%install +mkdir -p $RPM_BUILD_ROOT/usr/lib64 +mkdir -p $RPM_BUILD_ROOT/usr/include/TSGL +mkdir -p $RPM_BUILD_ROOT/usr/include/TSGL_GENERIC_MAKEFILE + +install -m 0644 lib/libtsgl.a $RPM_BUILD_ROOT/usr/lib64/ +install -m 0755 lib/libtsgl.so $RPM_BUILD_ROOT/usr/lib64/ +install -m 0777 genericMakefile/Makefile $RPM_BUILD_ROOT/usr/include/TSGL_GENERIC_MAKEFILE/ +install -t $RPM_BUILD_ROOT/usr/include/TSGL src/TSGL/*.h + +#This is the postinstall step. +#Create a symlink to the OpenGL library. +%post +ln -sfn /usr/lib64/libGL.so.1 /usr/lib64/libGL.so +exit 0 + +#This is the postuninstall step. +#Remove the symlink created in the postinstall step. +%postun +unlink /usr/lib64/libGL.so +exit 0 + +#These files belong to the tsgl package. +#The license file, libtsgl.so, libtsgl.a, and the Makefile. +%files +%license license +/usr/lib64/* +/usr/include/* + +#https://docs.fedoraproject.org/en-US/Fedora_Draft_Documentation/0.1/html/Packagers_Guide/sect-Packagers_Guide-Creating_a_Basic_Spec_File.html +# * date Packager's Name version-revision +# - Summary of changes +%changelog +* Wed Jul 6 2016 Chris Dilley 1.0-1 +- Created the first TSGL rpm package. +- Uploaded to openSUSE build server, tested installation on Fedora 24. +- Added post, postun, and pre sections to SPEC file. + +``` + +As you can see, we have the 7 sections, but we also have a lot more than that. + +Here's the extra stuff that we have: + +* ```%post```, ```%postun```. + + + These are scriplets which are run before and after installing the TSGL package, as well as after removing the TSGL package. The ```%post``` scriplet makes a symlink to the correct OpenGL library (if one doesn't already exist). The ```%postun``` scriplet removes the symlink and the generic Makefile directory. Each scriplet *MUST* exit with 0 (to show that it executed successfully). + +* ```%install``` section. + + + We have a make install section in our master Makefile for the TSGL library, but we ran into some problems when attempting to use it for the %install section. (In particular, "permission denied" problems). So, we decided to install each file manually. + + + We had to create ```/usr/lib64```, ```/usr/include```, and ```/usr/include/TSGL_GENERIC_MAKEFILE``` directories whenever we simulated a build of the package. This is because they are not there by default whenever you simulate a build. You must include ```$RPM_BUILD_ROOT``` in the directory path. See http://stackoverflow.com/questions/8084796/what-actually-is-rpm-build-root for reasons why. + +* ```%global debug_package %{nil}``` + + + Whenever an RPM package is created, debuginfo packages are also created (see https://fedoraproject.org/wiki/Packaging:Debuginfo#Useless_or_incomplete_debuginfo_packages_due_to_other_reasons). We do NOT need those for TSGL, and so as a result, they are not built. This causes errors in the build process, and so we needed to define a global macro which told our build repos to not make debuginfo packages. + +* ```%files``` section + + + The ```%license``` macro specifies the license for the software and separates it from documentation files. See https://fedoraproject.org/wiki/Changes/Use_license_macro_in_RPMs_for_packages_in_Cloud_Image + + + The ```*``` after the directories says that whatever the binary package put into those directories belongs to it. This is an easy way to specify what files belong to the binary package without having to know what files are installed by it. + +This makes the TSGL SPEC file a bit more complicated than your run of the mill SPEC file. + +If anything needs changing, please make your changes to this version of the SPEC file. + +That includes new library dependencies that have not been added, new version number, etc. + +Save your changes in a file named ```tsgl.spec```, and place that file in the ```SPECS directory``` inside of the ```rpmbuild``` directory. + +That concludes this section! + +-------------------- +| Building the RPM | +-------------------- + +The heart of the RPM package isn't the only thing you need. + +You've got most of what you need to create an RPM, but you're missing a key ingredient. + +Can you think of what it is? + +Hint: there's code involved. + +The upstream tarball. + +You need that in order to build an RPM. + +Why? Think about it. + +The upstream tarball contains the source code needed in order to build your application/library... +You need to build your application/library before installing it onto a user's machine... +Because you can't create the TSGL .so and .a files out of thin air.... +You can only create them through compilation... +Which involves the TSGL source code... + +See where we're going with this? + +To create the upstream tarball, first make sure that you have the most recent version of the TSGL source code. + +You can get this either by downloading the zip file from our GitHub repo, or by cloning the repo with this command: + +``` + + git clone https://www.github.com/Calvin-CS/TSGL.git + +``` + +If you've already done this, and have an edited version of the code, use that. + +Make sure that you know the version number associated with it. This is usually found in the SPEC file, so whatever version you put in the SPEC file, make sure that that's the version you use! + +Now, create a directory named ```tsgl-```, replacing `````` with the version number that TSGL is currently. + +Copy all files from your TSGL source code directory over to th. + +After that, type: + +``` + + tar xczf tsgl-.tar.gz tsgl- + +``` +This will create your upstream tarball. + +Usually, upstream tarballs go into the ```SOURCE``` directory that's in your ```rpmbuild``` directory. Place the newly created upstream tarball inside of that directory. + +Now, the moment of truth. + +Go into the ```SPECS``` folder, and type this command: + +``` + + rpmbuild -ba tsgl.spec + +``` + +You should see a bunch of output text. If you see ```exit 0``` at the end of all of that, then the build was successful! + +The RPM package should be located in ```RPMS``` and the source RPM should be located in ```SRPMS```. + +That concludes the building of RPM packages! + +-------- +| MISC | +-------- + +If you need anymore help, or something is unclear, or you have run across an error, please see these links: + +https://fedoraproject.org/wiki/How_to_create_an_RPM_package#Getting_ready_to_package_a_particular_program + +http://www.rpm.org/max-rpm/s1-rpm-build-creating-spec-file.html + +http://www.rpm.org/max-rpm/ch-rpm-build.html + +https://fedoraproject.org/wiki/Packaging:Scriptlets + +https://docs.fedoraproject.org/en-US/Fedora_Draft_Documentation/0.1/html/Packagers_Guide/sect-Packagers_Guide-Creating_a_Basic_Spec_File.html + +http://www.tldp.org/HOWTO/RPM-HOWTO/build.html + +If you find anymore links, or want to update this document, please change the "Last updated:" date above and make your changes. (This will help future students down the road!) diff --git a/TSGL.wiki/Creating-New-Windows-Installer.md b/TSGL.wiki/Creating-New-Windows-Installer.md new file mode 100644 index 000000000..ca2a406f1 --- /dev/null +++ b/TSGL.wiki/Creating-New-Windows-Installer.md @@ -0,0 +1,26 @@ +***WORK IN PROGRESS!!!*** + +-------------------------------------------------------------------- +| CREATING NEW WINDOWS INSTALLER FOR TSGL (Last updated: 08/11/16) | +-------------------------------------------------------------------- + +So, you need to create a new Windows installer for TSGL. + +This probably means that you also created a new Visual Studio solution for TSGL. + +If not, please see [[New Visual Studio Versions]] *before* continuing. + +Creating a new Windows installer isn't particularly difficult. + +But it does require a tool called "Inno Setup". + +You can download the installer for it [here](http://www.jrsoftware.org/isdl.php). + +Be sure to download the ```innosetup-#.#.#.exe``` file from that website! + +After downloading it, open it up. + + +Rename the installer to "install-windowsVS****" and move it to the cloned TSGL workspace folder. +Delete all files EXCEPT for the freetype6.dll and zlib.dll files. +Rebuild Solution. diff --git a/TSGL.wiki/Debian-(Aptitude).md b/TSGL.wiki/Debian-(Aptitude).md new file mode 100644 index 000000000..af90c99b7 --- /dev/null +++ b/TSGL.wiki/Debian-(Aptitude).md @@ -0,0 +1,24 @@ +***NOTE:*** This page is for Ubuntu/Debian users. If you are a Fedora/RedHat user, please see the [[RPM]] page! + +***NOTE:*** Please make SURE that you have ***at least OpenGL 3.0 or greater*** on your machine. + +As of Summer 2016, an aptitude/debian package has been made for TSGL for ease of installation. Packages have been made for the following Ubuntu distros: + +* Ubuntu 14.04 (Trusty Tahr) +* Ubuntu 16.04 (Xenial Xerus) + +If you have one of those distros, you can use ```apt-get``` to install the TSGL library. + +Follow these steps in order to get TSGL on your machine: + +1). Type ```sudo add-apt-repository ppa:tsgl-test/tsgl-dev```. When prompted, hit ```ENTER```. + +2). Type ```sudo apt-get update```. + +3). Type ```sudo apt-get install tsgl```. + +TSGL will be installed along with a packaged version of the GLFW library. + +The generic ```Makefile``` for creating programs (as seen in the tutorials, i.e. [[Building Programs]]) is located in the ```TSGL_GENERIC_MAKEFILE``` directory under ```/usr/include/```. + +Go into that directory, and copy over the ```Makefile``` into your project directory in order to start building applications that use TSGL. \ No newline at end of file diff --git a/TSGL.wiki/Doxygen-and-Wiki.md b/TSGL.wiki/Doxygen-and-Wiki.md new file mode 100644 index 000000000..d2f423697 --- /dev/null +++ b/TSGL.wiki/Doxygen-and-Wiki.md @@ -0,0 +1,87 @@ +***NOTE:*** This process is for people who have cloned the repository on Linux/Mac. Windows users may use [Git Bash](https://git-scm.com/download/win), though that has not been tested. + +***NOTE:*** Before updating the Doxygen, please see the [READMEMISC.txt](https://github.com/Calvin-CS/TSGL/blob/master/READMEMISC.txt) file. **You will not be able to update the Doxygen correctly if you fail to read [READMEMISC.txt](https://github.com/Calvin-CS/TSGL/blob/master/READMEMISC.txt) first!** + +***BIG NOTE:*** You ***NEED*** doxygen 1.8.6 in order to update the documentation correctly. Previous versions will cause a ***LOT*** of problems. + +In order to provide an API and extensive documentation for the TSGL library, we rely on a tool known as [Doxygen](http://www.stack.nl/~dimitri/doxygen/). + +We also use the [Wiki](https://github.com/Calvin-CS/TSGL/wiki) pages to provide important information about the TSGL library (Debian and RPM packages, FAQs, etc...). + +If you take a look at our [Doxygen](http://calvin-cs.github.io/TSGL/html/pages.html) pages, you'll notice that our Wiki pages also show up as well as the documentation for the TSGL code. + +Which means, in order to keep these two up-to-date, whenever you make a change to the Wiki pages, you'll have to also update the Doxygen pages. + +If you only added new documentation to the TSGL source code, then you do ***NOT*** have to update the Wiki pages. You simply have to update the Doxygen pages. + +We provide two different processes for each situation. Follow the one that matches closely to your situation. + +## Updating the Doxygen pages only ## + +1). Navigate into the TSGL root directory (where the Makefile is). + +2). Type "make cleandocs". + +3). cd into the docs/ directory. + +4). Type "rm -r html". + +5). cd back out of the docs/ directory (cd ../). + +6). Type "make docs". + +7). cd into the docs/ directory again. + +8). Type "git add --all" . + +9). Do a "git commit -m "" " inside of the docs/ directory. + +10). Type "git push origin gh-pages" . This should push the new Doxygen pages to our gh-pages branch (where our documentation ***SHOULD*** reside). + +11). cd back out of the docs/ directory (cd ../). + +12). Type "git add ." . + +13). Do a "git commit -m "" ". + +14). Type "git push origin master". This should update the docs/ submodule inside of our main GitHub branch. + +## Updating the Wiki and Doxygen pages ## + +1). Make any changes to the Wiki pages and save them. + +2). Navigate into the TSGL root directory (where the Makefile is). + +3). Type "git submodule update --remote". This should cause the docs-wiki/ submodule to update (and docs/ if it has been updated recently). + +4). Type "git add ." . This should add the docs-wiki/ submodule (and possibly the docs/ submodule if it has been updated recently). + +5). Do a "git commit -m "" ". + +6). Type "git push origin master" . This should push the changes to the main GitHub branch. + +7). Type "make cleandocs". + +8). cd into the docs/ directory. + +9). Type "rm -r html". + +10). cd back out of the docs/ directory (cd ../). + +11). Type "make docs". + +12). cd into the docs/ directory again. + +13). Type "git add --all" . + +14). Do a "git commit -m "" " inside of the docs/ directory. + +15). Type "git push origin gh-pages" . This should push the new Doxygen pages to our gh-pages branch (where our documentation ***SHOULD*** reside). + +16). cd back out of the docs/ directory (cd ../). + +17). Type "git add ." . + +18). Do a "git commit -m "" ". + +19). Type "git push origin master". This should update the docs/ submodule inside of our main GitHub branch. diff --git a/TSGL.wiki/FAQ.md b/TSGL.wiki/FAQ.md new file mode 100644 index 000000000..ed3a45c42 --- /dev/null +++ b/TSGL.wiki/FAQ.md @@ -0,0 +1,111 @@ +Welcome to the FAQ page! In here, we try to answer the most common questions that users may have in regards to TSGL. + +#### Categories: #### + +[Installing TSGL](#installing-tsgl) + +[Errors and Debugging](#errors-and-debugging) + +[How do I...?](#using-tsgl) + +### Errors and Debugging ### + +***Q:*** A test keeps crashing with the error "the font file could not be opened and read"! What do I do? + +***A:*** Are you in the bin folder of the tsgl folder? Some tests won't work unless you are in the bin folder. Specifically: + +```testBlurImage```, ```testCalcPi```, ```testCosineIntegral```, ```testGetPixels```, ```testGreyscale```, ```testImage```, ```testImageCart```, ```testInverter```, ```testMandelbrot```, ```testPhilosophers```, ```testProgressBar```, ```testSpectrogram```, ```testText```, ```testTextCart```, ```testTextTwo```, ```testUnits``` + +If the test that keeps crashing is in the list above, go into the bin folder and execute it from there. + +***Q:*** Does TSGL have Debug messages in case things break? + +***A:*** In fact it does. Check out the [Error.h](http://calvin-cs.github.io/TSGL/html/_error_8h_source.html) file and you will see a commented out line: + +~~~{.cpp} +//#define TSGL_DEBUG +~~~ + +Uncommenting out this line will turn on Debug messages for the TSGL library in case things break (font not loading, image not found, etc...). + +***Q:*** What if I want to tell you about a different problem? + +***A:*** You can bring up an issue in the [issues tab](Isssues and Reviews). + +### Installing TSGL ### + +***Q:*** With which operating systems does TSGL work? + +***A:*** Good question! TSGL has been successfully tested on: + +#### Linux + +* Ubuntu 14.04 (Trusty Tahr) +* Ubuntu 16.04 (Xenial Xerus) +* Arch Linux + +(With g++-4.8, g++-4.9, g++-5.1). + +#### Red Hat + +* CentOS 7 +* Fedora 24 + +(With g++-4.8). + +#### Windows + +* Windows 7 +* Windows 10 + +(With Visual Studio 2012, Visual Studio 2013, and Visual Studio 2015). + +#### Mac OS X + +* MacOS 10.9.5 (Wrangler) +* MacOS 10.10.x (Yosemite) +* MacOS 10.11.x (El Capitan) + +(With g++-4.8, g++4.9, g++-5). + +***Q:*** What is the maximum number of threads I can use in Windows? + +***A:*** You can only have up to 64 threads at a time in Windows. + +***Q:*** Why won't my tsgl Solution build in Windows? + +***A:*** Have you built the tsgl project first? You must build that first in order to create the lib file for TSGL. Then, you can build the entire Solution. + +***Q:*** I'm an Ubuntu user. Is there a Debian package out there for TSGL? + +***A:*** Indeed there is! As of summer 2016, TSGL has a Debian package for easy installation. See the [[Debian (Aptitude)]] page. + +***Q:*** What about Red Hat users? Is there an RPM package? + +***A:*** Of course! See the [[RPM]] page! + +***Q:*** So, if TSGL has a Debian package, and an RPM package, how do I create new ones? + +***A:*** Take a look at our [[Creating New Deb Packages]] and [[Creating New RPM Packages]] pages. However, it is not recommended, as the process for creating these packages has already been automated. + +***Q:*** A new version of Visual Studio has come out, but there's no TSGL Solution made! How do I create one? + +***A:*** Check out our [[New Visual Studio Versions]] page for detailed instructions on how to make a new Visual Studio Solution. + +***Q:*** What about a binary installer for MacOS X? If I recall correctly, it was especially difficult to install TSGL on a Mac... + +***A:*** Yes, the process was a tad bit difficult for MacOS X users. Luckily, we have made a new MacOS X .pkg Installer which automates the entire installation process. Take a look at the [[MacOS X]] page. (There is also a refactored [install-mac](https://github.com/Calvin-CS/TSGL/blob/master/install-mac) script, if you wish to install TSGL from source agan). + +***Q:*** What about creating new MacOS X .pkg Installers? + +***A:*** Excellent question! See the [[Creating New MacOS X Packages]] page. + +### Using TSGL ### + +***Q:*** How do I update the Doxygen pages? Or the Wiki pages? I found that a change needs to be made. + +***A:*** I'm glad you asked! See the [[Doxygen and Wiki]] page. + +***Q:*** How do I know which Canvas I should be using? + +***A:*** We have four different Canvases, and you can know which one to use by asking two questions about your project. First, what kind of coordinates do you want? If you want standard coordinates based on pixels, then you want the standard Canvas. If you want to graph a function or use Cartesian coordinates, then you should be using one of the Cartesian Canvases. Second, how do you want the Canvas to update? If you want it to draw everything every frame, which keeps up for hundreds of items, then use a standard Canvas. (See ReaderWriter, ProducerConsumer, or DiningPhilosophers.) This way allows you to move shapes around or take them off the Canvas. If you want it to draw once and then never again, use the Raster version of the Canvas. This is necessary if you want to use drawPoint() and can keep up if you want to draw a point on every pixel of the Canvas. (See Mandelbrot.) diff --git a/TSGL.wiki/Feedback.md b/TSGL.wiki/Feedback.md new file mode 100644 index 000000000..6e759a00e --- /dev/null +++ b/TSGL.wiki/Feedback.md @@ -0,0 +1,11 @@ +***HELP US HELP YOU!*** + +We need feedback on anything and everything! + +Is the installation process simple? Did we forget to document something? Is there something that we could do to make things much simpler? + +Or perhaps something needs to be changed in the documentation/wiki? + +Feel free to post your issues, reviews, comments, on our [Issues](https://github.com/Calvin-CS/TSGL/issues) page! + +For more information, please see our [[Issues and Reviews]] page! diff --git a/TSGL.wiki/GCC-and-OMP.md b/TSGL.wiki/GCC-and-OMP.md new file mode 100644 index 000000000..9a816707a --- /dev/null +++ b/TSGL.wiki/GCC-and-OMP.md @@ -0,0 +1,3 @@ +GCC version 4.9 supports version 4.0 of OpenMP[\[1\]](https://software.intel.com/en-us/articles/gcc-49-openmp-code-cannot-be-linked-with-intel-openmp-runtime). This makes any code compiled with OMP before GCC 4.9 binary uncompatable with code compiled under 4.9 or higher. One error cause by this is something similar to `Undefined "GOMP_parallel"`. + +To resolve this error, you can either downgrade your compiler to GCC 4.8 or earlier, or recompile all OMP code under GCC 4.9 or later. diff --git a/TSGL.wiki/GPG-Keys-and-You.md b/TSGL.wiki/GPG-Keys-and-You.md new file mode 100644 index 000000000..28703d0df --- /dev/null +++ b/TSGL.wiki/GPG-Keys-and-You.md @@ -0,0 +1,194 @@ +----------------------------------------------------------------- +| GPG KEYS FOR SIGNING DEBIAN PACKAGES (Last updated: 08/09/16) | +----------------------------------------------------------------- + +***NOTE:*** This document attempts to guide you in the process of creating a GPG key. If there's something that we have missed, or perhaps have misleading information, please edit this page accordingly! + +Before you can begin the process of creating a Debian package, you *NEED* to have a GPG key. +This is so that you can sign Debian packages and upload them to our PPA (see [[PPA and our TSGL team]]). + +This is a security measure; Launchpad has you sign Debian packages with a GPG key. + +Think of this as a stamp of approval that says, "this package does not contain malware". + +Also, if the package is tampered with while you are uploading it, the GPG key will reflect this. +This will result in the package being rejected, since it was tampered with. + +A GPG key has two parts: a public key that you can distribute freely to others, and a private key that you should NEVER distribute. + +In order to generate those parts, you need to use the ```gpg``` program via a terminal. (There's a GUI version that you can use called ```seahorse```, but that process has never been tested). + +Open up a terminal, and let's get started. + +1). Type: + +``` + + sudo apt-get install haveged + +``` + +This daemon will help generate random bytes, used in the process of making a GPG key. + +2). Type: + +``` + + gpg --gen-key + +``` + +You should now have the ```gpg``` program up and running. Something like this will show up: + +``` + + Please select what kind of key you want: + (1) DSA and Elgamal (default) + (2) DSA (sign only) + (5) RSA (sign only) + + Your selection? + +``` + +Type ```1```, then hit ```ENTER```. + +3). Next prompt: + +``` + + RSA keys may be between 1024 and 4096 bits long. + What keysize do you want? (2048) + +``` + +Type ```2048```, and hit ```ENTER```. + +4). Next prompt: + +``` + + Please specify how long the key should be valid. + 0 = key does not expire + = key expires in n days + w = key expires in n weeks + m = key expires in n months + y = key expires in n years + Key is valid for? (0) + +``` + +Type```0```, and hit ```ENTER```. +Type ```y``` afterwards and hit ```ENTER```. + +5). Next prompt: + +``` + You need a user ID to identify your key; the software constructs the user ID + from the Real Name, Comment and Email Address in this form: + "Heinrich Heine (Der Dichter) " + + Real name: + +``` + +Use your name and email for the ```Real name:``` and ```Email address:``` portion. +For the ```Comment:```` part, you can just press ```ENTER```. + +Once you have done that, you should be shown this: + +``` + +You selected this USER-ID: + "Real name (Comment) " + +Change (N)ame, (C)omment, (E)mail or (O)kay/(Q)uit? + +``` + +Make any changes, then type ```O``` to move on. + + +6). You will now be asked for a passphrase. Make this something easy for you to remember, but hard for others to guess. Keep this passphrase in mind, because you'll need it whenever you sign Debian packages with this new key. + +7). Your key will now be generated. + +Now that your key is generated, it's time to send it to the Ubuntu keyserver. + +First, copy the `````` part of the text that was generated after your key was generated: + +``` + + gpg: key marked as ultimately trusted. + public and secret key created and signed. + + (more stuff here...) + +``` + +Once you have the `````` copied, type: + +``` + + gpg --send-keys --keyserver keyserver.ubuntu.com + +``` + +(Replacing `````` with the key id that you copied). + +Now, type: + +``` + + gpg --list-keys + +``` + +You should see something like this: + +``` + + pub #####/******** 2016-06-20 + uid Real Name + sub #####/******** 2016-06-20 + +``` + +The ```*********``` in the ```sub``` line is what you will use as your `````` when signing packages. +You can also use the ```*********``` in the ```pub``` line, but *PLEASE* be consistent! + +To get the GPG key fingerprint (which is what you'll need if you haven't seen our [[PPA and our TSGL team]] page!), type: + +``` + + gpg --fingerprint + +``` + +You should see something like this: + +``` + + pub #####/******** 2016-06-02 + Key fingerprint = **** **** **** **** **** **** **** **** **** **** + uid Real Name + sub #####/******** 2016-06-02 + +``` +The ```Key fingerprint = **** **** **** **** **** **** **** **** **** **** ``` is your fingerprint. + +You should now be ready to sign Debian packages! + +If you haven't already, please see the [[PPA and our TSGL team]] page. + +You may also want to take a look at the [[Saving GPG keys]] page, if you haven't already. + +Otherwise, feel free to continue with the [[Creating New Deb Packages]] page. + +-------- +| MISC | +-------- + +For more information, please see this [website](http://ubuntuforums.org/showthread.php?t=680292). + +***PLEASE*** update this document if you come across new links, or if there's missing/false information. \ No newline at end of file diff --git a/TSGL.wiki/Home.md b/TSGL.wiki/Home.md new file mode 100644 index 000000000..81d20edea --- /dev/null +++ b/TSGL.wiki/Home.md @@ -0,0 +1,17 @@ +Welcome to the TSGL wiki! + +In here, you'll find a plethora of information about TSGL. + +Currently, all of the tutorials are for using the OOP version of the library. This can be found in the OpenGL2.1 branch. + +Confused on how to install TSGL? Take a look at the [[Installing TSGL]] page! + +Need help on how to get started? Check out the [[Using Canvas]] page! + +Wondering how to build and compile a program with TSGL code? See [[Building Programs]]! + +Have a burning question that needs to be answered? Perhaps it's in the [[FAQ]] page! + +Want to check out the API for each TSGL class? The [TSGL API](http://calvin-cs.github.io/TSGL/html/annotated.html) page is where it’s at! + +You'll find all of that information and more here! diff --git a/TSGL.wiki/Installing-TSGL.md b/TSGL.wiki/Installing-TSGL.md new file mode 100644 index 000000000..c5922e01e --- /dev/null +++ b/TSGL.wiki/Installing-TSGL.md @@ -0,0 +1,72 @@ +### Introduction + +As of summer 2016, there are two main ways that you can install TSGL: + +* via a binary package ***(recommended)***. +* directly from source. + +In essence, the binary packages depend on a laundry list of dependencies. + +The same is true when you install from source. + +However, the three main dependencies are: + +* [FreeType](https://www.freetype.org/download.html) + +* [GLFW](https://www.glfw.org/download.html) + +* [GLEW](https://downloads.sourceforge.net/project/glew/glew/1.12.0/glew-1.12.0.zip) + +These, along with the other dependencies (```doxygen```, development header files, ...), are installed along with TSGL regardless of which method you choose. + +When installing TSGL using a binary package on Ubuntu & Fedora, the following is true: + +* Debian/Ubuntu: + + * The Debian packages install ```libfreetype6``` and ```libfreetype6-dev```. This resolves the FreeType dependency. + + * The Debian packages install ```libglew-dev```. This resolves the GLEW dependency. + + * A packaged version of the ```GLFW``` library is installed along with the TSGL Debian packages. This resolves the GLFW dependency. + + * Please be sure to have ***at least OpenGL 3.0 or greater*** on your machine. You can update your graphics drivers by typing the following command: ```sudo ubuntu-drivers autoinstall```. If that does not work, there are plenty of online tutorials which should help you. + +* Fedora/RPM: + + * The RPM package installs ```freetype``` and ```freetype-devel```. This resolves the FreeType dependency. + + * The RPM package installs ```glew``` and ```glew-devel```. This resolves the GLEW dependency. + + * A packaged version of the ```GLFW``` library (named ```glfwTSGL```) is also installed along with TSGL. This resolves the GLFW dependency. + + * As with the Debian packages, please be sure to have ***at least OpenGL 3.0 or greater*** on your machine! + +Given this, let's take a closer look at the ways you can install TSGL. + +### Install TSGL From Binary Package +Please see the respective page for you OS: + +* Linux + + [Debian/Ubuntu](https://github.com/Calvin-CS/TSGL/wiki/Debian-%28Aptitude%29) + + + [Fedora/RPM](https://github.com/Calvin-CS/TSGL/wiki/RPM) + +* MacOS X + + [MacOS X](https://github.com/Calvin-CS/TSGL/wiki/MacOS-X) + +* [Windows](https://github.com/Calvin-CS/TSGL/blob/master/readMeWindows.txt) + +### Install TSGL From Source + +Use the appropriate script for your OS: + +* Linux + + Ubuntu: [install-ubuntu.sh](https://github.com/Calvin-CS/TSGL/blob/master/install-ubuntu.sh) + + + Fedora: [install-fedora.sh](https://github.com/Calvin-CS/TSGL/blob/master/install-fedora.sh) + + + CentOS: [install-centos.sh](https://github.com/Calvin-CS/TSGL/blob/master/install-centos.sh) + +* MacOS: [install-mac](https://github.com/Calvin-CS/TSGL/blob/master/install-mac) + +(There are currently ***NO*** source install scripts for Windows). diff --git a/TSGL.wiki/Issues-and-Reviews.md b/TSGL.wiki/Issues-and-Reviews.md new file mode 100644 index 000000000..0ba1236bc --- /dev/null +++ b/TSGL.wiki/Issues-and-Reviews.md @@ -0,0 +1,13 @@ +Found an issue with TSGL? Perhaps it's an annoying bug, or maybe it's a feature request. Maybe you have a question specific to one of the classes, or maybe you found a fix that another user might find particularly helpful. + +Or perhaps you'd like to leave a review of the library as a whole. + +Whatever tickles your fancy, click the [Issues](https://github.com/Calvin-CS/TSGL/issues) tab (it looks like a circle with an exclamation point (!) ) and you'll be taken to the [Issues](https://github.com/Calvin-CS/TSGL/issues) page of the repository. + +We are currently using this as a makeshift review board as well as an issues page. + +Create a "New Issue" on the page and mark it with the corresponding label. + +Then, subscribe to the issue board and be sure to watch the repository in order to receive notifications of replies to your post. + +We will check it out or someone else will for you! \ No newline at end of file diff --git a/TSGL.wiki/Library-Versions.md b/TSGL.wiki/Library-Versions.md new file mode 100644 index 000000000..8519793bd --- /dev/null +++ b/TSGL.wiki/Library-Versions.md @@ -0,0 +1,39 @@ +## Windows: +[GLFW](https://github.com/glfw/glfw/releases/download/3.1.1/glfw-3.1.1.zip) - We tested against 3.1.1. + +[GLEW](http://downloads.sourceforge.net/project/glew/glew/1.12.0/glew-1.12.0.zip) - We tested against 1.12.0. + +[FreeType](http://downloads.sourceforge.net/project/gnuwin32/freetype/2.3.5-1/freetype-2.3.5-1-bin.zip) - +We tested against version 2.3.5. + +[FreeGLUT](http://downloads.sourceforge.net/project/freeglut/freeglut/3.0.0/freeglut-3.0.0.tar.gz) - We tested against 3.0.0. + +(The libraries are installed automatically when you run the install-windows.exe or the install-windowsVS****.exe). + +## Mac OS X: + +glfw3 - We tested against version 3.1.1, 3.2.1. + +[GLEW](http://downloads.sourceforge.net/project/glew/glew/1.12.0/glew-1.12.0.zip) - We tested against 1.12.0. + +[FreeType](http://downloads.sourceforge.net/project/gnuwin32/freetype/2.3.5-1/freetype-2.3.5-1-bin.zip) - Whichever version that brew installs. + +(The libraries are installed automatically when you run the install-mac installation script). + +(They are also installed when you run the binary installer). + +## Linux: +[GLFW](http://www.glfw.org/download.html) - We tested against version 3.1.1, 3.2.1. + +[GLEW](http://glew.sourceforge.net/) - We tested against version 1.12.0. + +[FreeType](http://www.freetype.org/download.html) - We tested against 2.5.3, 2.6.3. + +([GLFW](http://www.glfw.org/download.html) and [GLEW](http://downloads.sourceforge.net/project/glew/glew/1.12.0/glew-1.12.0.zip) are installed automatically when you run the install-ubuntu, install-fedora, or install-centos installation script). + +(The dependencies are also installed when you run the binary installer). + +## All platforms: +[stb](https://github.com/nothings/stb/archive/master.zip) - Downloads it manually from GitHub, most recent version. + +[GL](https://www.opengl.org/) We tested against 3.0, 3.2, 4.5.0. \ No newline at end of file diff --git a/TSGL.wiki/MacOS-X.md b/TSGL.wiki/MacOS-X.md new file mode 100644 index 000000000..7c49abef6 --- /dev/null +++ b/TSGL.wiki/MacOS-X.md @@ -0,0 +1,16 @@ +As of Summer 2016, we now have a Mac OS X Installer which greatly simplifies the process of installing TSGL on a Mac. + +We wrapped it up in a ```.dmg``` file, which is located in the GitHub repo. + +You can download that file [here](https://github.com/Calvin-CS/TSGL/blob/master/MacBinInstaller/TSGL.dmg). + +Once you have downloaded that file, follow these instructions: + +1). Uncompress the file, then place the ```.dmg``` file anywhere that'd you like (e.g. ```~/Desktop/```). + +2). Mount the ```.dmg``` file (double-click on it), and a new volume named ```TSGL``` should appear. + +3). Read the ```README.txt``` file. + +4). Open up the volume, and you should see a ```.pkg``` file named ```InstallTSGL```. Double-click on that file, follow the installation process, and TSGL should be installed on your Mac! + diff --git a/TSGL.wiki/New-Visual-Studio-Versions.md b/TSGL.wiki/New-Visual-Studio-Versions.md new file mode 100644 index 000000000..b12a52880 --- /dev/null +++ b/TSGL.wiki/New-Visual-Studio-Versions.md @@ -0,0 +1,386 @@ +***NOTE:*** This page contains information which has been acquired to the best of our abilities. There may be some things that the documentation fails to report, or things may have changed. If this is the case, PLEASE update this page so that others may benefit from your findings! (See [[Doxygen and Wiki]] for more information on how to updated the wiki pages). + +Hello! + +A new Visual Studio version has come out, and the TSGL Solution must be updated. + +The process is long and tedious, but this page will guide you. + +Let's begin. + +--------------------------------- +| Starting out: tsgl VS project | +--------------------------------- + +1). Get the TSGL zip folder from GitHub. + +2). Install TSGL (using an earlier version of VS). + +3). Make a clone of TSGL in a different place using Git Bash. + +4). Copy over the ```lib``` and ```include``` directories from the zip file location to the cloned TSGL directory. + +5). Create a new ```VS****``` folder inside of the cloned TSGL directory (replacing ```****``` with the Visual Studio version number). + +6). Open up the new version of Visual Studio, and create a new ```tsgl``` project inside of the cloned TSGL folder. (```File -> New -> Project```, ```Visual C++```, ```Empty Project```, then change the name to ```tsgl``` and the ```Location``` to wherever you put the cloned TSGL folder). + +You should now have a ```tsgl``` folder inside of the cloned TSGL folder. + +7). Via File Manager, go into the cloned TSGL folder, and into the ```tsgl``` VS project folder. Copy over all files from the project folder (and from the ```tsgl``` folder that is inside of the ```tsgl``` VS project folder) over to the cloned TSGL folder. + +You should have the solution file, and the project files for the ```tsgl``` VS project in the cloned TSGL workspace. (Plus a few extra). + +8). Close VS****, and delete the ```tsgl``` folder from the cloned TSGL workspace. + +9). Reopen VS****, and open up the TSGL solution file that's in the cloned TSGL workspace. (```File -> Open -> Project/Solution```, then choose the solution file that is in the cloned TSGL folder). + +It will say that it can't find the ```tsgl``` project (or that it can't load it). + +You'll have to re-add it back into the solution. + +Remove the failed ```tsgl``` project (```right click on tsgl -> Remove```). + +10). Right click on ```Solution 'tsgl'```, ```Add```, then ```Existing Project```. + +Get the ```tsgl``` project file that's in the cloned TSGL workspace (it should say ```tsgl``` and have a ```.vcxproj``` suffix). + +11). MAKE SURE THAT YOU HAVE DEBUG SET TO x86 OR WIN32! + +12). Add the ```.cpp``` and ```.h``` files to the ```tsgl``` project. + +```Right-click on tsgl -> Add -> Existing Item```, then go to the ```src/TSGL``` folder inside of the cloned TSGL workspace folder, and add ALL of the files to the project + +Once that is done, and now that ```tsgl``` is added back into the appropriate solution file, right-click on it. Choose ```Properties```. + +Here is where the magic happens. We'll have to edit a few of these in order for ```tsgl``` to build correctly. + +Here are the ones that *MUST* be edited (for ```tsgl```): + +###General: + ++ ```Target Platform Version:``` 10.0.10586.0 (If that doesn't work, do 8.1. You'll have to install the Windows 10 SDK then). ++ ```Output Directory:``` $(SolutionDir)lib\ ++ ```Intermediate Directory:``` $(Configuration)\$(TargetName)\ ++ ```Target Extension:``` .lib ++ ```Build Log File:``` $(IntDir)\$(MSBuildProjectName).log ++ ```Platform Toolset:``` Whatever version of Visual Studio that you are currently working in. ++ ```Configuration Type:``` Static library (.lib) + +Click ```Apply```. + +###Debugging: + ++ ```Environment:``` PATH=$(TsglDllDir);%PATH%;$(LocalDebuggerEnvironment) + +Click ```Apply```. + +###VC++ Directories: + ++ ```Include Directories:``` $(SolutionDir)\src\TSGL;$(SolutionDir)\include;$(IncludePath) ++ ```Library Directories:``` $(SolutionDir)lib;$(LibraryPath) + +Click ```Apply```. + +###C/C++: + +Under ```General```: + + + ```Debug Information Format:``` Program Database (/Zi) + + ```Warning Level:``` Turn Off All Warnings (/W0) + + ```SDL checks:``` No (/sdl-) + +Under ```Preprocessor```: + + + ```Preprocessor Definitions:``` WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions) + +Under ```Language```: + + + ```Open MP Support:``` Yes (/openmp) + +Click ```Apply```. + +Now, click ```Ok```. + +Moment of truth. Right click on ```tsgl```, and click ```Build```. + +If it builds successively, then congrats! You have the new VS**** ```tsgl``` project inside of the main TSGL repo! + +Before we forget, we need to add a ```Property Sheet``` to the ```tsgl``` project. + +We have to get it from the zip folder, so go back to the downloaded TSGL zip file from earlier, copy the ```testProperties``` file, and stick that in the cloned TSGL workspace. + +Now, add it to ```tsgl``` through VS****: + +* Click ```View -> Other Windows -> Property Manager```. +* ```Right-click on the project -> Add Existing Property Sheet```, and add ```testProperties``` + (which should be inside of the cloned TSGL workspace folder). +* Click the save icon (should look like a floppy disk, somewhere above in the ```Property Manager``` toolbar). +* Click ```View -> Solution Explorer```. + +It should be added to the project. + +Now, let's move onto the tests.... + +-------------------------------------------------- +| VS TSGL Solution: tests, tests, and more tests | +-------------------------------------------------- + +These are a bit more tricky to add. + +For starters, they have different properties than the ```tsgl``` project. + +Also, they belong within the ```VS****``` folder that we made earlier. + +Some also have extra files that need to be added, like ```testLangton``` and ```testPhilosophers```. + +And to top it off, there are ***41*** of them. (At the time of this writing). + +Which means, you'll have to repeat this process ***41 times***. + +Yes, ***41 times***. + +On the bright side, we can use the ```testProperties``` sheet on them. + +Let's get started with ```testAlphaRectangle```. + +----------------------------------------- +| testAlphaRectangle: fancy rectangles! | +----------------------------------------- + +Right-click on ```Solution 'tsgl'``` -> ```Add``` -> ```New Project```, choose ```Visual C++```, ```Empty Project```, +and name it ```testAlphaRectangle```. Change the ```Location``` to point at the ```VS****``` folder inside of the cloned TSGL workspace. + +Go into the ```VS****``` folder, and you'll see a folder named ```testAlphaRectangle```. + +Just like we did with the ```tsgl``` project, we'll have to take out the files from this folder. + +Go into the ```testAlphaRectangle``` folder, copy the files over to the ```VS****``` directory that's in the cloned TSGL workspace (one directory up), and delete the ```testAlphaRectangle``` folder. + +Remove the ```testAlphaRectangle``` project from the ```tsgl``` solution, and add the copied ```testAlphaRectangle``` project that's in the ```VS****``` folder. + +Now, add the ```testAlphaRectangle.cpp``` file to the project. +(```Right-click -> Add -> Existing Item```, then go to ```src/tests``` inside of the cloned TSGL folder, and add ```testAlphaRectangle.cpp```). + +Now, click on ```View``` -> ```Other Windows``` -> ```Property Manager```. + +This is the place where we'll be adding the ```testProperties``` sheet to the test projects. + +Right-click on ```testAlphaRectangle``` -> ```Add Existing Property Sheet```, and choose the ```testProperties``` sheet that's in the cloned TSGL workspace. + +Click on the save icon (the one that looks like a floppy disk), and that saves the sheet for ``testAlphaRectangle```. + +Go back to the ```Solution Explorer``` (```View``` -> ```Solution Explorer```), and right-click on ```testAlphaRectangle```. Choose ```Properties```. + +Like we did for the ```tsgl``` project, we'll have to edit the properties for each test. + +Luckily, this applies to all tests. The properties are generally the same for all tests. + +Here are the ones that you have to change: + +###General: + ++ ```Target Platform:``` 10.0.10586.0 (or 8.1 if you don't have the Windows 10 SDK). ++ ```Intermediate Directory:``` $(Configuration)\$(TargetName)\ ++ ```Platform Toolset:``` Whatever version of Visual Studio that you are currently working in. + +###VC++ Directories: + ++ ```Include Directories:``` $(TsglSourceDir);$(TsglIncludeDir);$(IncludePath) ++ ```Library Directories:``` $(TsglLibDir);$(TsglExternalLibDir);$(LibraryPath) + +###C/C++: + +* Under ```Language```: + + + ```Open MP Support:``` Yes (/openmp) + +###Linker: + +* Under ```Input```: + + + ```Additional Dependencies:``` tsgl.lib;freeglutd.lib;freetype.lib;glew32sd.lib;glfw3.lib;%(AdditionalDependencies) + +Once that is all done, ```Right-click -> Build Dependencies -> Project Dependencies```, and check the box for ```tsgl```. + +This means that ```testAlphaRectangle``` depends on the ```tsgl``` project and won't build until after the ```tsgl``` project has been built. + +Now, go into the ```lib``` folder inside of the cloned TSGL folder. + +Copy over the ```freetype6.dll``` and ```zlib1.dll``` files over to the ```Debug``` folder inside of the cloned TSGL workspace. + +```testAlphaRectangle``` won't work without those files inside of that folder. + +Moment of truth again. Clean the solution (```Right-click on Solution 'tsgl' -> Clean Solution```). + +Now, build it. (```Right-click on Solution 'tsgl' -> Build Solution```). + +To run ```testAlphaRectangle```, right-click on it -> ```Debug``` -> ```Start new instance```. + +If you see a screen that says ```Fancy Rectangles``` pop up, then congrats! You integrated the first test project into the main GitHub repo. + +Now, you have to repeat this process ***40*** (at the time of this writing) times. + +The general pattern for adding a new project is: + +1). Add a new project to the ```tsgl``` solution. + + * ```Right-click -> Add -> New Project```. + * Choose ```Visual C++```, then ```Empty Project```. + * Call it ```test*``` (replacing ```*``` with the name of the ```.cpp``` file associated with the TSGL test) and place it in the ```VS****``` folder inside of the cloned TSGL workspace. + +2). Go to the ```VS****``` folder, and into the newly added project folder. + +3). Copy all files to the ```VS****``` directory in the cloned TSGL workspace, and delete the project folder from the ```VS****``` folder. + +4). Remove the deleted project from the ```tsgl``` solution, and add the copied one that's in the ```VS****``` folder. + + * ```Right-click -> Add -> Existing Project```. + * Choose the project that's in the ```VS****``` folder inside of the cloned TSGL folder. + +5). Add the necessary ```.cpp``` and ```.h``` files to the project. + + * ```Right-click -> Add -> Existing Item```. + * The files should be in the ```src/tests/``` folder inside of the cloned TSGL workspace. + +6). Add the ```testProperties``` sheet to the project. + + * ```View -> Other Windows -> Property Manager```. + * ```Right-click on the project -> Add Existing Property Sheet```, and add ```testProperties``` + (which should be inside of the cloned TSGL workspace folder). + * ```View -> Solution Explorer```. + +7). Make sure the ```Properties``` are correct. + +###General: + + + ```Target Platform:``` 10.0.10586.0 (or 8.1 if you don't have the Windows 10 SDK). + + ```Intermediate Directory:``` $(Configuration)\$(TargetName)\ + + ```Platform Toolset:``` Whatever version of Visual Studio that you are currently working in. + + Click ```Apply```. + +###VC++ Directories: + + + ```Include Directories:``` $(TsglSourceDir);$(TsglIncludeDir);$(IncludePath) + + ```Library Directories:``` $(TsglLibDir);$(TsglExternalLibDir);$(LibraryPath) + + Click ```Apply```. + +###C/C++: + + * Under ```Language:``` + + ```Open MP Support:``` Yes (/openmp) + + Click ```Apply```. + +###Linker: + + * Under ```Input:``` + + ```Additional Dependencies:``` tsgl.lib;freeglutd.lib;freetype.lib;glew32sd.lib;glfw3.lib;%(AdditionalDependencies) + + Click ```Apply```, then ```Ok```. + +8). Add ```tsgl``` as a ```Project Dependency```. + + * ```Right-click on the project -> Build Dependencies -> Project Dependencies``` + * Check the ```tsgl``` box and click ```Ok```. + +9). Rebuild the solution. + +10). Run the new project! + + * ```Right-click on the project -> Debug -> Start new instance``` + +11). Repeat until no more projects need to be added. + +List of projects that have to be added (at the time of this writing): + +```testAlphaRectangle```, ```testAura```, ```testBallroom```, ```testBlurImage```, ```testCalcPi```, ```testColorPoints```, ```testColorWheel```, ```testConcavePolygon```, ```testConway```, ```testCosineIntegral```, ```testDumbSort```, ```testFireworks```, ```testForestFire```, ```testFunction```, ```testGetPixels```, ```testGradientWheel```, ```testGraydient```, ```testGreyscale```, ```testHighData```, ```testImage```, ```testImageCart```, ```testInverter```, ```testLangton```, ```testLineChain```, ```testLineFan```, ```testMandelbrot``` , ```testMouse```, ```testNewtonPendulum```, ```testPhilosophers```, ```testPong```, ```testProjectiles```, ```testScreenshot```, ```testSeaUrchin```, ```testSmartSort```, ```testSpectrogram```, ```testSpectrum```, ```testText```, ```testTextCart```, ```testTextTwo```, ```testUnits```, ```testVoronoi```. + +As mentioned, some project require extra files. These are: + ++ ```testConway``` -> ```LifeFarm.h```, ```LifeFarm.cpp``` + ++ ```testInverter``` -> ```ImageInverter.h```, ```ImageInverter.cpp``` + ++ ```testLangton``` -> ```AntFarm.h```, ```LangtonAnt.h```, ```AntFarm.cpp```, ```LangtonAnt.cpp``` + ++ ```testMandelbrot``` -> ```Buddhabrot.h```, ```GradientMandelbrot.h```, ```Julia.h```, ```Mandelbrot.h```, ```Nova.h```, ```Buddhabrot.cpp```, ```GradientMandelbrot.cpp```, ```Julia.cpp```, ```Mandelbrot.cpp```, ```Nova.cpp``` + ++ ```testPong``` -> ```Ball.h```, ```Paddle.h```, ```Pong.h```, ```Ball.cpp```, ```Paddle.cpp```, ```Pong.cpp``` + ++ ```testSeaUrchin``` -> ```SeaUrchin.h```, ```SeaUrchin.cpp``` + ++ ```testVoronoi``` -> ```ShadedVoronoi.h```, ```Voronoi.h```, ```ShadedVoronoi.cpp```, ```Voronoi.cpp``` + +They are located within the ```src/tests``` folder, inside of the directory that has the name of the test. + +(Example: ```testMandelbrot``` -> ```*.h``` && ````*.cpp``` are inside of ```Mandelbrot```). + +When you get to those tests, just add those ```.h``` and ```.cpp``` files as you would add the ```test*.cpp``` file. +(```Right-click on the project -> Add -> Existing Item```, then add the files.) + + +Once you have all the tests added, then you are finished! + +---------------- +| Finishing up | +---------------- + +1). Create a new ```winVS****``` folder (replacing ```****``` with the VS version number) inside of the cloned TSGL workspace folder. + +2). Move the ```vs****``` folder into the ```winVS****``` folder. + +3). Delete the ```include``` and ```lib``` folders. + +4). Move the ```Debug``` folder into the ```winVS****``` folder (the one inside of the cloned TSGL workspace folder). + +5). Move the ```tsgl``` solution and ```tsgl``` project files into the ```winVS****``` folder. + +6). Move the ```testProperties``` sheet into the ```winVS****``` folder. + +7). Move the ```readmetests.txt``` and ```runtests.bat``` files out of the ```windows``` folder and into the ```winVS****``` folder. + +Now, let's do a dry-run install of TSGL BEFORE pushing your changes. + +If you haven't already, please read [[Creating New Windows Installer]] *BEFORE* continuing. + +------------ +| Test run | +------------ + +1). Unzip a fresh ```TSGL-master``` folder (the one downloaded from GitHub). + +2). Copy over the ```winVS****``` folder and installer from your cloned TSGL workspace folder over to the freshly unzipped ```TSGL-master``` folder. + +3). As you would normally do, run the new installer from the freshly unzipped ```TSGL-master``` folder. Hopefully, the new ```VS****``` components will be in the correct places. + +Fire up the ```VS****``` solution, make sure that ```Debug``` is ```x86```, and ```Rebuild``` the solution. + +Run a test, any test. They *ALL* should work. + +If they do, then congrats! You have successfully created a new VS solution for TSGL. + +Be sure to update [readMeWindows.txt](https://github.com/Calvin-CS/TSGL/blob/master/readMeWindows.txt) afterwards to include the new VS version! + +-------- +| MISC | +-------- + +***NOTE***: Always wait until VS says "Ready" at the bottom left corner when adding projects, building, etc... + +***NOTE:*** Delete the ```x64``` folders from the ```Property Manager``` section for *ALL* projects. Delete ```.VC``` files (if you can). + +***NOTE:*** Delete the ```Debug``` folder from the VS**** folder. + +***NOTE:*** If you ever want to make an edit to the solution: + +1). Move the hidden ```.suo``` file into ```VS****``` file and call it ```tsgl.v**```, replacing ```**``` with whatever toolset version you are using. (It'll be in a hidden folder called ```vs```, inside of the cloned TSGL workspace folder.) + +2). Take the ```include``` and ```lib``` folders from an unzipped ```TSGL-master``` folder (that's been installed), and place them inside of the cloned TSGL workspace folder. + +3). Then, move the ```VS****``` folder, the ```tsgl``` solution and project folders, ```tsgl.v**.suo``` file, and ```testProperties``` sheet out of the ```winVS****``` folder and into the cloned TSGL workspace. + +4). Make as many edits to your heart's content. + +***PLEASE*** update this document if you come across new links, or if there's missing/false information. \ No newline at end of file diff --git a/TSGL.wiki/PPA-and-our-TSGL-team.md b/TSGL.wiki/PPA-and-our-TSGL-team.md new file mode 100644 index 000000000..4949ef909 --- /dev/null +++ b/TSGL.wiki/PPA-and-our-TSGL-team.md @@ -0,0 +1,144 @@ +-------------------------------------------------------------------------------------------------- +| INFORMATION ABOUT OUR PPA AND CONTRIBUTING TO THE TSGL DEBIAN PACKAGE (Last updated: 08/10/16) | +-------------------------------------------------------------------------------------------------- + +As of summer 2016, we currently have a PPA (Personal Package Archive) on [Launchpad](https://launchpad.net/) for our TSGL Debian packages. + +You can visit our PPA by clicking [here](https://launchpad.net/~tsgl-test/+archive/ubuntu/tsgl-dev). + +We also have a moderated team which allows us to add users, like you, so that the Debian package can be updated by others. + +You will, however, need a Launchpad account in order to be added to our team. + +--------------------- +| Launchpad account | +--------------------- + +***NOTE:*** If you have already created a Launchpad account, feel free to skip this section and move onto the next. + +Follow the process as described [here](https://login.launchpad.net/+new_account) in order to create an account. + +Once you create your account (and have validated your email), log into [Launchpad](https://launchpad.net/). + +-------------------------------------- +| Signing the Ubuntu Code of Conduct | +-------------------------------------- + +***NOTE:*** If you have already signed the Ubuntu Code of Conduct, feel free to skip this section. + +Now, go to your profile (click on your username; it should be next to the ```Log Out``` button on the right corner of the webpage). + +On your profile page, you should see ```Signed Ubuntu Code of Conduct: ``` somewhere. If you have created a new account, it should say ```No```. + +In order to sign packages, upload them to PPAs, create your own PPAs, etcetera you'll have to sign that Code of Conduct. + +[Follow this process in order to sign the Ubuntu Code of Conduct](https://launchpad.net/codeofconduct). + +***NOTE:*** See [[GPG keys and You]] on how to create a GPG key and get its fingerprint for step 1. +***NOTE:*** If you see something like this when you try to import your GPG key using its fingerprint: + +``` + + Launchpad could not import your OpenPGP key + Did you enter your complete fingerprint correctly? (Help with fingerprints) + Is your key in the Ubuntu keyserver yet? You may have to wait between ten minutes (if you pushed directly to the Ubuntu key server) and one hour (if you pushed your key to another server). (Help with publishing keys) + +``` + +And you've followed the process as outlined in [[GPG keys and You]], wait 10 minutes for your key to get into the Ubuntu keyserver. + +***NOTE:*** After you import your GPG key, you will be sent an email in order to validate the key. + +The contents will look something like: + +``` + + -----BEGIN PGP MESSAGE----- + Version: GnuPG v1.4.11 (GNU/Linux) + + + + -----END PGP MESSAGE----- + +``` + +You will have to decode that message in order to validate your key. + +To do so easily, copy the encrypted message (from ```-----BEGIN PGP MESSAGE-----``` to ```-----END PGP MESSAGE-----``` (***including those two lines***) ), open up a text editor, and paste the message into a text file. Save the file as ```encKey.txt```, and open up a terminal. + +Go to the spot where you have ```encKey.txt```, and type the following command: + +``` + + gpg -d encKey.txt + +``` + +You will be prompted for the passphrase associated with your GPG key. + +After you type your password in, you should see the decrypted message in your terminal. In particular, something like this at the end: + +``` + + Please go here to finish adding the key to your Launchpad account: + + + +``` + +Copy the and paste it into a web browser. You should be taken to a page which says that you'd like to confirm your GPG key. Click "Continue", and you should be taken back to your profile page with a notification that says: + +``` + + The key #####/******** was successfully validated. + +``` + +Congrats! You validated your GPG key and completed step 1. + +***NOTE:*** If you happen to have multiple GPG keys, use the following command in order to sign the Ubuntu Code of Conduct with *YOUR* key: + +``` + + gpg --clearsign -u0x UbuntuCodeofConduct-2.0.txt + +``` + +Replacing `````` with the key id associated with your name and email. + +------------------------------------------- +| Contributing to the TSGL Debian package | +------------------------------------------- +Now that you've created a Launchpad account and have signed the Ubuntu Code of Conduct, it's time to be added to our team. + +Our team is known as ```tsgl-team``` on Launchpad, which you can view [here](https://launchpad.net/~tsgl-test). + +To join our team, you can click on the ```+ Join the team``` link, which is found on our profile page. + +Once you do this, you'll be given this message: + +``` + + Are you sure you want to join this team? + + Since this is a moderated team, one of its administrators will have to approve your membership before you actually become a member. + +``` + +Click "Join", and you'll be taken back to our profile page. + +We will be notified of your request to join, and will accept it when we can! + +Once you have been accepted, you will be able to contribute to our Debian package! + +To get started, you can take a look at our [[Creating new Deb Packages]] page. + +-------- +| MISC | +-------- + +Found something misleading? Perhaps we made an error? Check out the links below in order to receive more help! + +http://lists.gnupg.org/pipermail/gnupg-users/2004-May/022471.html + +***PLEASE*** update this document if you come across new links, or if there's missing/false information. \ No newline at end of file diff --git a/TSGL.wiki/RPM.md b/TSGL.wiki/RPM.md new file mode 100644 index 000000000..de992f2af --- /dev/null +++ b/TSGL.wiki/RPM.md @@ -0,0 +1,46 @@ +***NOTE:*** This page is for Fedora/RedHat users. If you are an Ubuntu/Debian user, please see the [[Debian (Aptitude)]] section! + +***NOTE:*** These steps are for Fedora users only. CentOS users can use the ```install-centos``` script. + +As of Summer 2016, an RPM package has been made for easy installation of TSGL. + +This means that you can use yum/dnf to install TSGL on your machine. + +Follow these steps in order to do so: + +1). Add the OBS repo. + +* ```cd``` into the ```/etc/yum.repos.d/``` directory. + +* Type ```sudo su```. + +* Create this file: ```home_TSGL_Maker.repo```. + +* Using your favorite text editor, add these changes to the ```.repo``` file: + +``` + [home_TSGL_Maker] + name=home:TSGL_Maker (Fedora_24) + type=rpm-md + baseurl=http://download.opensuse.org/repositories/home:/TSGL_Maker/Fedora_24/ + gpgcheck=1 + gpgkey=http://download.opensuse.org/repositories/home:/TSGL_Maker/Fedora_24//repodata/repomd.xml.key + enabled=1 + +``` + +2). Clean yum/dnf. + +* Type ```sudo dnf clean all``` (or ```sudo yum clean all``` for Fedora versions earlier than 24). + +* Type ```sudo dnf update``` (or ```sudo yum update``` for Fedora versions earlier than 24). + +3). Install tsgl. + +* Type ```sudo dnf install tsgl``` (or ```sudo yum install tsgl``` for Fedora versions earlier than 24). + +The TSGL package will be installed on your machine along with a packaged version of GLFW. + +As a result of installing the TSGL package, the generic Makefile for building programs will be located in ```/usr/include/TSGL_GENERIC_MAKEFILE/```. Copy the Makefile over to your project directory in order to create applications that utilize the TSGL library. + +***NOTE:*** In order to receive updated TSGL packages from the OBS repo, you will have to repeat step 2. This ensures that the OBS repo appears as updated on your machine. \ No newline at end of file diff --git a/TSGL.wiki/Saving-GPG-keys.md b/TSGL.wiki/Saving-GPG-keys.md new file mode 100644 index 000000000..aa8dbca0e --- /dev/null +++ b/TSGL.wiki/Saving-GPG-keys.md @@ -0,0 +1,90 @@ +------------------------------------------------------------- +| IMPORTING AND EXPORTING GPG KEYS (Last updated: 08/09/16) | +------------------------------------------------------------- + +Imagine yourself chugging along, building Debian packages, when all of a sudden, your computer crashes. + +All of your data, lost! + +Especially...your GPG keys! + +Okay, your GPG keys may be the last thing on your mind when your computer crashes. But, without them, you can't sign Debian packages. + +"Ha, Right!" You say. "I remember my key ID! I can just use that when I use ```debuild```!" +(See [[Creating New Deb Packages]] for more info on ```debuild```). + +No. It doesn't work that way. You need both the public and private GPG key on the system in order to have the luxury of using just the key ID. + +"Well...I can get my key back from the keyserver on Ubuntu!" + +Sorry, we tried to do that. No luck. + +"Are you saying that I have to create a new GPG key?" + +That's only the tip of it. + +Not only do you have to create a new GPG key, you'll also have to: + +* revoke your old key +* send the new key to the Ubuntu keyserver +* wait 10 minutes +* and memorize a brand new key ID. + +Here's [why](http://askubuntu.com/questions/191767/is-it-possible-to-recover-a-secret-key-from-a-gpg-public-key). + +Unless you exported your key beforehand, you are out of luck. + +This guide will help you make backups of your keys so that you can avoid a scenario like this. +(And will also remind you to make backups of your data! Especially your Debian package data!!) + +------------------ +| Exporting keys | +------------------ + +Type: + +``` + + gpg --export > public.key + gpg --export-secret-key > private.key + +``` + +Replacing `````` with the one associated with your GPG key (see [[GPG keys and You]]). + +Move the ```.key``` files to a secure place (e.g. Google Drive, USB drive...) + +That should keep your GPG keys safe. + +------------------ +| Importing keys | +------------------ + +In the event of a computer crash, hard drive malfunction, or some other unfortunate occurrence, follow this process to get your GPG keys back (assuming you exported them beforehand!!!). + +1). Find the ```.key``` files that you exported. + +2). Put them on the system you wish to import the keys on. + +3). Type: + +``` + + gpg --import public.key + gpg --allow-secret-key-import --import private.key + +``` + +4). Type: + +``` + + sudo add-apt-repository + sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys + sudo apt-get update + +``` + +Replacing `````` with ```ppa:tsgl-test/tsgl-dev```, and replacing `````` with the one associated with your GPG key (see [[GPG keys and You]]). + +This is so that you can send and receive packages to the PPA repo (assuming that you are allowed to; see [[PPA and our TSGL team]]). \ No newline at end of file diff --git a/TSGL.wiki/Updating-Deb-Packages.md b/TSGL.wiki/Updating-Deb-Packages.md new file mode 100644 index 000000000..978d12602 --- /dev/null +++ b/TSGL.wiki/Updating-Deb-Packages.md @@ -0,0 +1 @@ +***WORK IN PROGRESS** diff --git a/TSGL.wiki/Updating-MacOS-X-Packages.md b/TSGL.wiki/Updating-MacOS-X-Packages.md new file mode 100644 index 000000000..e86c96a64 --- /dev/null +++ b/TSGL.wiki/Updating-MacOS-X-Packages.md @@ -0,0 +1,27 @@ +***WORK IN PROGRESS*** + +------------------------------------------------------- +| UPDATING MAC OS X PACKAGES (Last updated: 08/12/16) | +------------------------------------------------------- + +***NOTE:*** This page does *NOT* teach you how to create a new Mac OS X package. It merely tells you how to update the one that we currently have. **If you would like to learn how to create new MacOS X packages, please see [[Creating New MacOS X Packages]]**. + +***NOTE:*** You *MUST* be on a Mac (with OS X 10.5 or greater) to continue. + +To update the Mac OS X package for TSGL without having to use [Packages](http://s.sudre.free.fr/Software/Packages/about.html), mount the ```.dmg``` file from our repo, open up a Terminal and follow these steps: + +1). ```cd``` into ```/Volumes/TSGL```. +2). Do a quick ```ls```. You should see the ```InstallTSGL.pkg``` file. +3). Type: + +``` + + pkgutil --expand InstallTSGL.pkg workspace + +``` + +This command will open up the ```.pkg``` file and store the contents inside of ```workspace```. + +Do a quick ```ls```. You should now see the ```workspace``` folder. + +4). ```cd``` into ```workspace```. diff --git a/TSGL.wiki/Updating-RPM-Packages.md b/TSGL.wiki/Updating-RPM-Packages.md new file mode 100644 index 000000000..5555f5cb2 --- /dev/null +++ b/TSGL.wiki/Updating-RPM-Packages.md @@ -0,0 +1,22 @@ +----------------------------------------------------- +| UPDATING TSGL RPM PACKAGE (Last update: 08/12/16) | +----------------------------------------------------- + +***NOTE:*** This page does *NOT* teach you how to create a new RPM package. It merely tells you how to update the RPM package that we currently have. **If you would like to know how to create a new RPM package, please see [[Creating New RPM Packages]]**. + +Take a look at the [Installers](https://github.com/Calvin-CS/TSGL/tree/master/Installers) folder located inside of our GitHub repo. + +You'll see that there are two items: + +* a ```debian``` folder, +* and the SPEC file for the TSGL RPM package. + +The SPEC file is there because of how we automated the build of TSGL RPM packages using OBS. + +It gets extracted from the downloaded GitHub zip file on OBS, and then used to make the RPM package. + +If you would like to update that file (perhaps a new dependency has been added, documentation, etc.), simply edit that file and make a Pull Request in order to merge the new changes. + +(Or do a git add-commit-push, if you are allowed to do so). + +The SPEC file changes and any changes to the source code will be integrated into the new RPM package. diff --git a/TSGL.wiki/_Sidebar.md b/TSGL.wiki/_Sidebar.md new file mode 100644 index 000000000..757f49e43 --- /dev/null +++ b/TSGL.wiki/_Sidebar.md @@ -0,0 +1,42 @@ +[[Home]] + +[[Installing TSGL]] + +## Basics ## +* [[Building Programs]] +* [TSGL API](http://calvin-cs.github.io/TSGL/html/annotated.html) +* [[FAQ]] + +## Tutorials ## +* [[Using Canvas]] +* [[Using Shapes]] +* [[Using Text and Images]] +* [[Using Colors]] +* [[Animation Loops]] +* [[Using Functions]] +* [[Using Keyboard And Mouse]] +* [[Command-line arguments]] +* [[Bringing It All Together]] + +## Packages ## +* [[Debian (Aptitude)]] +* [[RPM]] +* [[MacOS X]] +* [[Creating New Deb Packages]] +* [[Creating New RPM Packages]] +* [[Creating New Windows Installer]] +* [[Creating New MacOS X Packages]] +* [[Updating: Deb Packages]] +* [[Updating: RPM Packages]] +* [[Updating: MacOS X Packages]] + +## Notes ## +* [[Library Versions]] +* [GCC & OMP](GCC-and-OMP) +* [[Issues and Reviews]] +* [[Doxygen and Wiki]] +* [[New Visual Studio Versions]] +* [[GPG Keys and You]] +* [[Saving GPG keys]] +* [[PPA and our TSGL team]] +* [[Feedback]] diff --git a/TSGL.wiki/_mainpage.dox b/TSGL.wiki/_mainpage.dox new file mode 100644 index 000000000..1d8e7824a --- /dev/null +++ b/TSGL.wiki/_mainpage.dox @@ -0,0 +1,20 @@ +/*!\mainpage TSGL Index Page + * Welcome to the TSGL API Page! + * In here, you'll be able to check out the documentation for all of the TSGL library functions. + * To go back to the wiki, click here: https://github.com/Calvin-CS/TSGL/wiki + * - [FAQ](docs-wiki/FAQ.md) + * - [GCC and OMP](docs-wiki/GCC-and-OMP.md) + * - [Library Version Info](docs-wiki/Library-Versions.md) + * - [Tutorials](docs-wiki/Using-Canvas.md) + * - [Canvas](docs-wiki/Using-Canvas.md) + * - [Shapes](docs-wiki/tutorials/Using-Shapes.md) + * - [Text and Images](docs-wiki/Using-Text-and-Images.md) + * - [Colors](docs-wiki/tutorials/Using-Colors.md) + * - [Animation Loops](docs-wiki/Animation-Loops.md) + * - [Functions](docs-wiki/tutorials/Using-Functions.md) + * - [Keyboard and Mouse](docs-wiki/Using-Keyboard-And-Mouse.md) + * - [Command-line arguments](docs-wiki/Command-line-arguments.md) + * - [Final Tutorial](docs-wiki/Bringing-It-All-Together.md) + * . + * . + */ diff --git a/TSGL.wiki/tutorials/Animation-Loops.md b/TSGL.wiki/tutorials/Animation-Loops.md new file mode 100644 index 000000000..b9bac8c28 --- /dev/null +++ b/TSGL.wiki/tutorials/Animation-Loops.md @@ -0,0 +1,249 @@ +Let's make a loop-da-loop! + +Now that you know how to draw simple shapes and use colors, it's time to learn how to make animations! + +***Linux/Mac users:*** Follow the steps from the previous tutorials. Name the folder "Tutorial5" and the file "animation.cpp". Replace "program" in the "TARGET" line of the Makefile with "animation". + +***Windows users:*** Follow the steps from the previous tutorials. Name the Solution folder "Tutorial5" and the Visual Studio project "Animation". After adding the Property sheet, name the .cpp file "animation.cpp". + +***All three platforms:*** Follow the steps in the [[Building Programs]] page on how to compile and run the program (Linux/Mac users, this is a single-file program). + +Before we begin, allow us to explain drawing loops. + +Drawing loops are what allow us to make animations. + +They are essentially while loops that execute code as long as the Canvas remains open. + +Let's look at an example: + +~~~{.cpp} +while(canvasName.isOpen()) { + canvasName.sleep(); + //Code to execute as long as the Canvas is open... +} +~~~ + +This is the skeleton code for a drawing loop. The while loop executes its code as long as the accessor method, ```isOpen()```, returns ```true```. This method essentially checks if the Canvas window is still open and returns ```true``` if it is. + +The ```sleep()``` method tells the Canvas to wait until something is ready to be drawn and then draw it once its ready. + +Drawing loops are key to making a Canvas continually draw something until its closed. Let's make one! + +First, let's start by making and initializing a Canvas: + +~~~{.cpp} +#include +using namespace tsgl; + +int main() { + Canvas c(0, 0, 500, 600, "Animation Loop Example"); + c.setBackgroundColor(WHITE); + c.start(); + c.wait(); +} +~~~ + +Now, let's introduce our drawing loop: + +~~~{.cpp} +#include +using namespace tsgl; + +int main() { + Canvas c(0, 0, 500, 600, "Animation Loop Example"); + c.start(); + c.setBackgroundColor(WHITE); + //Drawing loop + while(c.isOpen()) { + c.sleep(); + } + c.wait(); +} +~~~ + +Now, let's have the Canvas draw something: + +~~~{.cpp} +#include +using namespace tsgl; + +int main() { + Canvas c(0, 0, 500, 600, "Animation Loop Example"); + c.start(); + c.setBackgroundColor(WHITE); + //Let's draw a circle! + Circle circle(250, 300, 50); + c.add( &circle ); + //Drawing loop + while(c.isOpen()) { + c.sleep(); + } + c.wait(); +} +~~~ + +Compile and run the code. A black circle should appear in the center. We create the circle outside the drawing loop because we only want to create and add it one time. Once it has been added, it will stay until we tell the Canvas to remove it. + +But wait...it's not doing anything. It's just sitting there! + +That's because we haven't told the Canvas to move it in our drawing loop. + +In order to make it move, we can set its location and change the x and y-coordinates so that the Canvas moves it every frame, like so: + +~~~{.cpp} +#include +using namespace tsgl; + +int main() { + Canvas c(0, 0, 500, 600, "Animation Loop Example"); + c.start(); + c.setBackgroundColor(WHITE); + //Store the x and y-coordinate values in variables outside of the loop + int x = 250, y = 300; + //Let's draw a circle! + Circle circle(x, y, 50); + c.add(&circle); + //Drawing loop + while(c.isOpen()) { + c.sleep(); + //Pass the x and y coordinates + circle.setCenter(x, y); + //And change the x-coordinate once the circle has been drawn + x += 2; + } + c.wait(); +} +~~~ +Recompile and run the code. The circle should move from left to right. + +The circle just moves off screen though...is there anyway to make it so that once it goes off screen it gets redrawn back onto the screen? + +Certainly: + +~~~{.cpp} +#include +using namespace tsgl; + +int main() { + Canvas c(0, 0, 500, 600, "Animation Loop Example"); + c.start(); + c.setBackgroundColor(WHITE); + //Store the x and y-coordinate values in variables outside of the loop + int x = 250, y = 300; + //Let's draw a circle! + Circle circle(x, y, 50); + c.add(&circle); + //Drawing loop + while(c.isOpen()) { + c.sleep(); + //Check to see if we are off screen + if (x >= c.getWindowWidth()) { + x = 250; //If so, reset the x-coordinate + } + //Pass the x and y coordinates + circle.setCenter(x, y); + //And change the x-coordinate once the circle has been drawn + x += 2; + } + c.wait(); +} +~~~ + +```c.getWindowWidth()``` is the accessor for the width of the current Canvas. If the x-coordinate value is greater than or equal to that value, then it gets reset back to 250 and so appears to be animated! + +There is also another accessor method, ```getWindowHeight()```, which gets the height of the current Canvas. + +In sum, in order to have an animation, follow these steps: + +1). Create and initialize a Canvas object. + +2). Call the ```start()``` and ```wait()``` methods. + +3). In between the calls to the ```start()``` and ```wait()``` methods, place the drawing loop: + +~~~{.cpp} +while(canvasName.isOpen()) { + canvasName.sleep(); + //Code to change something.... +} +~~~ + +4). Done! + +There is an optional parameter in the Canvas constructor that controls the speed at which the circle moves, and that is the ```timerLength``` parameter. It essentially sets the length of time that the ```c.sleep()``` call will cause the Canvas to sleep each iteration of the animation loop. + +TSGL has a constant for the standard length of time that the timer should keep: ```FRAME```. When we pass this constant as the timer length parameter, the internal timer will expire every 1/60ths of a second and the Canvas will update itself. The standard frame rate of the TSGL library is 60 frames a second. + +Let's see what happens when we pass that constant as a parameter: + +~~~{.cpp} +#include +using namespace tsgl; + +int main() { + Canvas c(0, 0, 500, 600, "Animation Loop Example", FRAME); + c.start(); + c.setBackgroundColor(WHITE); + //Store the x and y-coordinate values in variables outside of the loop + int x = 250, y = 300; + //Let's draw a circle! + Circle circle(x, y, 50); + c.add(&circle); + //Drawing loop + while(c.isOpen()) { + c.sleep(); + //Check to see if we are off screen + if (x >= c.getWindowWidth()) { + x = 250; //If so, reset the x-coordinate + } + //Pass the x and y coordinates + circle.setCenter(x, y); + //And change the x-coordinate once the circle has been drawn + x += 2; + } + c.wait(); +} +~~~ + +Recompile and run. The circle will still move at the same speed. + +However, if we alter the timer length parameter, we can change the speed of the animation! + +~~~{.cpp} +#include +using namespace tsgl; + +int main() { + Canvas c(0, 0, 500, 600, "Animation Loop Example", FRAME / 2); + c.start(); + c.setBackgroundColor(WHITE); + //Store the x and y-coordinate values in variables outside of the loop + int x = 250, y = 300; + //Let's draw a circle! + Circle circle(x, y, 50); + c.add(&circle); + //Drawing loop + while(c.isOpen()) { + c.sleep(); + //Check to see if we are off screen + if (x >= c.getWindowWidth()) { + x = 250; //If so, reset the x-coordinate + } + //Pass the x and y coordinates + circle.setCenter(x, y); + //And change the x-coordinate once the circle has been drawn + x += 2; + } + c.wait(); +} +~~~ + +Recompile and run. Dividing the ```FRAME``` constant by 2 will speed up the animation! + +We encourage you to try other divisors and see how they affect the animation rate! + +As mentioned, there is a special kind of Canvas: The CartesianCanvas. Drawing loops and animations are handled in the same way (only with a Cartesian coordinate system). + +That completes this tutorial! + +Next up, in [[Using Functions]], we explain the special Canvas: The CartesianCanvas! diff --git a/TSGL.wiki/tutorials/Using-Canvas.md b/TSGL.wiki/tutorials/Using-Canvas.md new file mode 100644 index 000000000..2d003dd83 --- /dev/null +++ b/TSGL.wiki/tutorials/Using-Canvas.md @@ -0,0 +1,86 @@ +***BEFORE PROCEEDING, PLEASE SEE THE [[Building Programs]] PAGE FOR MORE INFORMATION ON HOW TO COMPILE AND RUN A PROGRAM WITH TSGL CODE!!!*** + +So, you've downloaded and installed TSGL. Congrats! Now what? Well, there's a *lot* you can do with TSGL. For now, let's start by making a simple Hello World program! + +***Linux/Mac users***: Start off by creating a folder and name it "Tutorial1". Create a file inside of Tutorial1 and name it "hello.cpp". Then, navigate to the TSGL-master folder and into the genericMakefile folder. Copy the Makefile into Tutorial1 and change the "TARGET" line so that "program" is now "hello". + +***Windows users***: Create a new Solution folder and call it "Tutorial1". Then, add a Visual Studio project to that folder and call it "Canvas". Then, go to the Property Manager section and right click on the Canvas project. Click "Add existing Property sheet", and navigate to the TSGL-master folder. Select "testProperties" and then go back to the Solution Explorer. Open up Tutorial1 and right click on Canvas. Add a .cpp file and name it "canvas.cpp". + +***All three platforms:*** Follow the steps in the [[Building Programs]] page on how to compile and run the program (Linux/Mac users, this is a single-file program). + +Now, we'll be writing in C++, so let's place our #include and using directives: + +~~~{.cpp} +#include +using namespace tsgl; +~~~ + +```tsgl.h``` contains #include directives for all of the necessary header files needed in order to use the TSGL library. This includes vital class header files such as those for the Canvas class and the Timer class. TSGL also has its own namespace which must be used when using the TSGL library. + +Moving forward, let's add some code that will create and initialize a Canvas. A Canvas is essentially a screen that draws and displays whatever it is that you want to draw and display. There's a special kind of Canvas, the CartesianCanvas, that we will look at later on. + +For now, let's focus on the normal Canvas: + +~~~{.cpp} +int main() { + Canvas c(0, 0, 600, 350, "Hello World!"); + c.start(); + c.wait(); +} +~~~ + +This is essentially the skeleton code for any TSGL program. Let's break it down. In the main method, a Canvas object is created positioned at ```(0, 0)``` (on your monitor) with a width of ```600``` and a height of ```350```. It has a title, ```Hello World!```. + +The ```c.start()``` and ```c.wait()``` statements tell the Canvas to start drawing and then wait to close once it has completed drawing. + +In between the ```c.start()``` and ```c.wait()``` statements is where the magic happens. We will place a new statement which will draw a line to the Canvas: + +~~~{.cpp} +#include +using namespace tsgl; + +int main() { + Canvas c(0, 0, 600, 350, "Hello World!"); + c.setBackgroundColor(WHITE); + c.start(); + //'H' + Line h0(100, 50, 100, 300); + Line h1(100, 150, 165, 150); + Line h2(165, 50, 165, 300); + + //'E' + Line e0(200, 50, 280, 50); + Line e1(200, 50, 200, 300); + Line e2(200, 150, 280, 150); + Line e3(200, 300, 280, 300); + + //The two 'L's + Line l0(300, 50, 300, 300); + Line l1(300, 300, 320, 300); + Line l2(350, 50, 350, 300); + Line l3(350, 300, 370, 300); + + //'O' + UnfilledEllipse o(400, 180, 30, 100); + + //Add 'HELLO' to the Canvas + c.add(&h0); c.add(&h1); c.add(&h2); + c.add(&e0); c.add(&e1); c.add(&e2); c.add(&e3); + c.add(&l0); c.add(&l1); c.add(&l2); c.add(&l3); + c.add(&o); + + c.wait(); +} +~~~ + +We will examine the ```Line``` and ```UnfilledEllipse``` classes in the [[Using Shapes]] tutorial. For now, just know that ```Line()``` creates a Line, ```UnfilledEllipse()``` creates the outline of an ellipse, and ```add()``` draws any Drawable object to the Canvas. + +Our code is now complete! Compile the code, and then once it has compiled correctly, run it. A window should pop up with "Hello" written on it. To close the window, press the ESC key or click the 'x' in one of the corners. + +Please note that the ```c.start()``` and ```c.wait()``` methods *MUST* be used at least once when working with the Canvas class. Bad things will happen if you do not have these methods and decide to draw something on a Canvas. + +There are also special types of Canvases for different situations. CartesianCanvas also draws lines and circles, but using methods like ```can.drawLine()``` and ```can.drawCircle()```, rather than the object oriented approach, and on a Cartesian coordinate system instead. RasterCanvas and CartesianRasterCanvas are used like their non-Raster equivalents, but they render each object once and then it cannot be removed with ```can.remove()```. RasterCanvas is particularly useful for drawing points. See the Mandelbrot example for a use of the RasterCanvas. + +You've just made your first TSGL project, congratulations! + +Next up, in [[Using Shapes]], we take a look at how to draw shapes onto a Canvas. diff --git a/TSGL.wiki/tutorials/Using-Colors.md b/TSGL.wiki/tutorials/Using-Colors.md new file mode 100644 index 000000000..53b216ce4 --- /dev/null +++ b/TSGL.wiki/tutorials/Using-Colors.md @@ -0,0 +1,173 @@ +You don't have to color inside of the lines with this library. + +***Linux/Mac users:*** Follow the steps from the previous tutorials. Name the folder "Tutorial4" and the file "colors.cpp". Replace "program" in the "TARGET" line of the Makefile with "colors". + +***Windows users:*** Follow the steps from the previous tutorials. Name the Solution folder "Tutorial4" and the Visual Studio project "Color". After adding the Property sheet, name the .cpp file "colors.cpp". + +***All three platforms:*** Follow the steps in the [[Building Programs]] page on how to compile and run the program (Linux/Mac users, this is a single-file program). + +To begin, there are different scales that contain different representations of a color. In the TSGL library these scales are used: RGBA and HSVA. + +On both scales, a color has four components. However, the components represent entirely different things on the two scales. + +On the RGBA scale, the four components represent a color's Red, Green, Blue, and Alpha values. The Red, Green, and Blue values combine to form the color that you want. The Alpha value determines whether or not a color should be transparent and is completely optional. + +On the HSVA scale, the four components represent a color's Hue, Saturation, Value, and Alpha values. The Hue refers to the tint of the color, Saturation refers to the color's brightness, and the Value refers to the intensity of the color. These three components combine to form a color on the HSVA color scale. The Alpha value is an optional component that determines whether the color is transparent or not. + +Given these two scales, you're probably wondering: "How in the heck are these two scales represented in the library?" + +Well, given that we are coding in C++, there are structures in the language that are known affectionately as ```structs```. Structs can contain data and are perfect for representing these two scales. + +In the TSGL library, there are two structs used to represent a color on the RGBA scale: ```ColorInt``` and ```ColorFloat```. They are constructed in this way: + +~~~{.cpp} +#include +using namespace tsgl; + +int main() { + //ColorInts + ColorInt red(255, 0, 0); + ColorInt blue(0, 0, 255); + ColorInt green(0, 255, 0); + ColorInt yellow(255, 255, 0); + ColorInt magenta(255, 0, 255); + ColorInt cyan(0, 255, 255); + ColorInt black(0, 0, 0); + //The above colors will not be transparent + ColorInt white(255, 255, 255, 0); //This color will be transparent + ColorInt color(67, 28, 200, 50); //This color will be semi-transparent + + + //ColorFloats + ColorFloat red2(1.0f, 0.0f, 0.0f); + ColorFloat blue2(0.0f, 0.0f, 1.0f); + ColorFloat green2(0.0f, 1.0f, 0.0f); + ColorFloat yellow2(1.0f, 1.0f, 0.0f); + ColorFloat magenta2(1.0f, 0.0f, 1.0f); + ColorFloat cyan2(0.0f, 1.0f, 1.0f); + ColorFloat black2(0.0f, 0.0f, 0.0f); + //The above colors will not be transparent + ColorFloat white2(1.0f, 1.0f, 1.0f, 0.0f); //This color will be transparent + ColorFloat color2(67.0f, 28.0f, 200.0f, 50.0f); //This color will be semi-transparent +} +~~~ + +The ```ColorInt``` constructor takes in these parameters: + +* Red component of the color. +* Green component of the color. +* Blue component of the color. +* Alpha component of the color (optional parameter; set to ```255``` by default). + +Each one can be in the range from ```0``` to ```255```. + +The Alpha component can be omitted and will be set to ```255``` as default if it is omitted (the color will not be transparent if the Alpha component is omitted. An Alpha value of ```0``` will cause the color to be completely transparent. In between those extremes will cause the color to fade.). + +White has ```255``` as its Red, Green, and Blue values, black has ```0```. In between those two extremes will be the other colors (red, orange, yellow, green, blue, indigo, violet, etc.). + +Similarly for a ```ColorFloat```, the constructor takes in these parameters: + +* Red component of the color. +* Green component of the color. +* Blue component of the color. +* Alpha component of the color (optional parameter; set to ```1.0f``` by default). + +The range of values for each one is from ```0.0``` to ```1.0```. + +It represents a color on the RGBA scale in the same way as a ```ColorInt``` struct does, except it takes in floating-point numbers as parameters. Also, White has ```1.0``` as its Red, Green, and Blue values and black has ```0.0```. + +The Alpha component can also be omitted when creating a ```ColorFloat``` struct and it will be set to ```1.0f``` as default (the color will not be transparent at that point. An Alpha value of ```0.0``` will cause the color to be completely transparent and the color will fade if its Alpha value is in between those two extremes.). + +For the HSVA color scale, we have the ```ColorHSV``` struct: + +~~~{.cpp} + ColorHSV minColor(0.0, 0.0, 0.0); + ColorHSV maxColor(6.0, 1.0, 1.0); +~~~ + +The ```ColorHSV``` constructor takes in these parameters: + +* Hue component of the color. +* Saturation component of the color. +* Value component of the color. +* Alpha component of the color (optional parameter; set to ```1.0f``` by default). + +It takes in floating-point values for the parameters. The range of values for the Hue parameter is: ```0.0``` to ```6.0```. For the Saturation, Value, and Alpha components: ```0.0``` to ```1.0```. + +Now, given these three structs, the question remains: "How can I use these in drawing?" + +Well, as seen in the previous tutorial with shapes, you can draw a shape or line in a non-default color by passing a color parameter. You can create a ```ColorInt/ColorFloat/ColorHSV``` struct that creates the color that you want and then pass that as the color parameter in the draw method. + +Let's draw the flag of Norway as an example: + +~~~{.cpp} +#include +using namespace tsgl; + +int main() { + ColorInt red(255, 0, 45); + //This uses the blend() method from the Colors class + ColorInt darkBlue = Colors::blend(BLUE, BLACK); + ColorInt white(255, 255, 255); + + Canvas c(0, 0, 800, 600, "Color Example"); + c.start(); + c.setBackgroundColor(red); + //White rectangles + Rectangle whiteRec1(0, 200, 800, 350, white); + Rectangle whiteRec2(250, 0, 400, 600, white); + c.add( &whiteRec1 ); c.add( &whiteRec2 ); + //Blue rectangles + Rectangle blueRec1(285, 0, 365, 600, darkBlue); + Rectangle blueRec2(0, 240, 800, 310, darkBlue); + c.add( &blueRec1 ); c.add( &blueRec2 ); + c.wait(); +} +~~~ +Compile and run. The flag of Norway will be drawn! + +The code will create ```ColorInt``` structs: ```red```, ```darkBlue```, and ```white``` and then create and initialize a Canvas object. It will then use the Canvas' ```setBackgroundColor()``` method and set the background color to ```red```. Then, it will use ```darkBlue``` and ```white``` and ```Rectangle()``` to draw the rectangles of the flag. + +```setBackgroundColor()``` takes in only one parameter, a color to use for the background. + +You may have also noticed that another method, ```blend()```, is being used to blend ```BLUE``` and ```BLACK``` together in order to create ```darkBlue```. That method is located in the ```Colors``` class and takes in these parameters: + +* The first color to blend (```BLUE```, can also be a constructed ```ColorFloat```). +* The second color to blend (```BLACK```, can also be a constructed ```ColorFloat```). +* The bias to use in blending (optional parameter; set to ```0.5f``` by default). + +You can construct and pass ```ColorFloat``` and ```ColorHSV``` structs in the same manner. + +But wait...in the previous tutorial, a constant was used instead of a constructed ```ColorFloat/ColorInt/ColorHSV``` struct. You're probably thinking, "what's the big idea here? Which one should I use?" + +Well, right out of the box, TSGL also comes with a predefined set of color constants. These constants are RGBA ```ColorFloat``` structs that already have values that are defined for certain colors. They are: + +* ```BLACK``` +* ```DARKGRAY``` +* ```LIGHTGRAY``` +* ```GRAY``` +* ```WHITE``` +* ```RED``` +* ```ORANGE``` +* ```YELLOW``` +* ```GREEN``` +* ```BLUE``` +* ```PURPLE``` +* ```MAGENTA``` +* ```LIME``` +* ```CYAN``` +* ```BROWN``` + +You can pass a predefined color constant for the color parameter, or if you need a different color, you can construct a ```ColorInt/ColorFloat/ColorHSF``` struct for that color and pass that. Whichever is easier for you. + +Now, there are also methods and operators defined in the structs that manipulate and convert between the three structs (which in turn convert between the different color scales and types of structs). + +There are also methods in a class, ```Colors```, that can blend the colors of two ```ColorInt/ColorFloat/ColorHSV``` structs as well as other useful utility methods. + +See the [TSGL API](http://calvin-cs.github.io/TSGL/html/annotated.html) page on [Colors.h](http://calvin-cs.github.io/TSGL/html/classtsgl_1_1_colors.html) for more information on ```blend()``` and on the predefined color constants as well as for other useful utility methods. + +As we've mentioned before, there is a special kind of Canvas: The CartesianCanvas. How does that handle colors? In the exact same way as the normal Canvas does. + +That concludes this tutorial! + +In the next tutorial, [[Animation Loops]], you get to learn about drawing loops and animations! diff --git a/TSGL.wiki/tutorials/Using-Functions.md b/TSGL.wiki/tutorials/Using-Functions.md new file mode 100644 index 000000000..974271d7e --- /dev/null +++ b/TSGL.wiki/tutorials/Using-Functions.md @@ -0,0 +1,224 @@ +You can't spell "functions" without "fun"! + +On a more serious note, TSGL has the capability to graph mathematical functions. + +We've been working with the standard Canvas class, but there's also another type of Canvas that is very useful for this purpose. + +It's affectionately called the ***CartesianCanvas***. + +Its a subclass of the Canvas class and so inherits and overrides many of the Canvas methods as well as adds some of its own. + +This type of Canvas has an adjustable Cartesian coordinate system. What that means is that instead of the point ```(0, 0)``` being in the top-left corner of the screen like in the standard Canvas, you can now specify where you want the center to be. + +***Linux/Mac users:*** Follow the steps from the previous tutorials. See the video on multi file programs in [Building Programs](https://github.com/Calvin-CS/TSGL/wiki/Building-Programs) page. Name the folder "Tutorial6" and the file "cartesian.cpp". Replace "program" in the "TARGET" line of the Makefile with "cartesian". + +***Windows users:*** Follow the steps from the previous tutorials. Name the Solution folder "Tutorial6" and the Visual Studio project "Cartesian". After adding the Property sheet, name the .cpp file "cartesian.cpp". + +***All three platforms:*** Follow the steps in the [[Building Programs]] page on how to compile and run the program (Linux/Mac users, this is a multi-file program). + +Let's start with a simple example: + +~~~{.cpp} +#include +using namespace tsgl; + +int main() { + CartesianCanvas c(0, 0, 500, 500, -5.0, -5.0, 5.0, 50.0, "Cartesian Example"); + c.start(); + c.wait(); +} +~~~ + +Compile the code and run it. A blank gray screen should pop up. + +Looking at the code, it looks eerily similar to how a Canvas is constructed but with a few added parameters The constructor creates a CartesianCanvas whose upper left corner is at screen coordinate ```(0, 0)```, with a width of ```500``` and a height of ```500```. It then sets and scales the CartesianCanvas’s axes and internal coordinate system so that the left edge of the canvas is ```x = -5.0``` in the Cartesian coordinate system, the bottom edge is ```y = -5.0```, the right edge is ```x = +5.0```, and the top edge is ```y = +50.0```. It then gives the window a title, ```Cartesian Example```, and uses the default timer length of ```0.0``` (which you can set explicitly if you so desire, as described in our [[Animation Loops]] tutorial). + +If we wanted to instead center the CartesianCanvas somewhere else, all we would have to do is change the first two parameters: + +~~~{.cpp} +#include +using namespace tsgl; + +int main() { + CartesianCanvas c(300, 400, 500, 500, -5.0, -5.0, 5.0, 50.0, "Cartesian Example"); + c.start(); + c.wait(); +} +~~~ + +That should create a 500x500 CartesianCanvas whose upper left corner is positioned at ```(300, 400)``` on your monitor. + +Notice how the Canvas has integer coordinates whereas the CartesianCanvas has Decimal coordinates. + +Notice also how you can set the upper left corner of the CartesianCanvas with the first two arguments. These arguments can be used to position the canvas arbitrarily. You can set it pretty much anywhere you want (within reason of course. It has to be within the range of the size of the screen.). + +You can use the 4th, 5th, 6th, and 7th arguments to set the bounds of the coordinate system within the CartesianCanvas. + +As mentioned before, the CartesianCanvas handles colors, shapes, and drawing loops in much the same way as a standard Canvas does. + +Now, how can we graph mathematical functions? + +Well, let's first tell the CartesianCanvas to draw axes: + +~~~{.cpp} +#include +using namespace tsgl; + +int main() { + CartesianCanvas c(0, 0, 500, 500, -5, -5, 5, 50, "Cartesian Example"); + c.start(); + c.setBackgroundColor(WHITE); //Set the color to white to see the axes better + c.drawAxes(0.0, 0.0, 1.0, 5.0); + c.wait(); +} +~~~ + +Recompile and run. The screen should pop up with a white background and axes drawn. + +The ```drawAxes()``` method takes in these parameters: +* x-coordinate of the center of the CartesianCanvas (```0.0```). +* y-coordinate of the center of the CartesianCanvas (```0.0```). +* The spacing between the tick marks along the x-axis (```1.0```). +* The spacing between the tick marks along the y-axis (```5.0```). + +Now, let's graph a function! + +Wait...how do we do that? + +It's rather simple really. TSGL comes with a built in ```Function``` class, and CartesianCanvas has a ```drawFunction()``` method that draws the graph of a given ```Function``` ***OR*** any subclass of ```Function```. + +Before we continue, let us say a few notes that are platform dependent: + +***Linux/Mac users:*** Create two new files: Cotangent.h and Cotangent.cpp. + +***Windows users:*** Add a Cotangent.cpp and Cotangent.h file to your project. + +To draw a specific mathematical function, we must define it as a subclass of the ```Function``` class: + +~~~{.cpp} +#include +using namespace tsgl; + +class Cotangent : public Function { +//This is the .h file +}; +~~~ + +In order for ```drawFunction()``` to draw it, the subclass, ```Cotangent```, must supply a definition for the ```valueAt()``` method that is declared in the ```Function``` class. + +Here is the declaration from class ```Function```: + +~~~{.cpp} + virtual Decimal valueAt(Decimal x) const = 0; +~~~ + +This method is called an "abstract method” or “pure virtual function”. It can't be used on its own because there is no definition for it in the ```Function``` class. + +However, any subclass that inherits from the ```Function``` class can (and *MUST*) provide a definition for this method. + +That's exactly what we're going to do in the ```Cotangent``` class: + +~~~{.cpp} +#include +using namespace tsgl; + +class Cotangent : public Function { + //This is the .h file + public: + virtual Decimal valueAt(Decimal x) const; +}; +~~~ + +~~~{.cpp} +#include "Cotangent.h" + +//This is the .cpp file +Decimal Cotangent::valueAt(Decimal x) const { + return cos(x) / sin(x); +} +~~~ + +As you can see, we define the ```valueAt(x)``` function to return the cotangent of x. + +TSGL predefines the ```Power```, ```Square Root```, ```Sine```, ```Cosine```, ```Tangent```, ```Absolute Value```, ```Exponential```, ```Natural Log```, ```Common Log```, ```Ceiling```, ```Floor```, and ```Round``` functions in a similar fashion. + +It does not predefine the ```Cotangent``` function, which is why we had to define it ourselves. + +Continuing forward, let's add a change to our cartesian.cpp file: + +~~~{.cpp} +#include "Cotangent.h" //Take out the #include directive + //As well as the using namespace tsgl directive + +int main() { + CartesianCanvas c(0, 0, 500, 500, -5, -5, 5, 50, "Cartesian Example"); + c.start(); + c.setBackgroundColor(WHITE); //Set the color to white to see the axes better + c.drawAxes(0.0, 0.0, 1.0, 5.0); + c.wait(); +} +~~~ + +Now we are ready to graph the ```Cotangent``` function! + +To do so, simply create an instance of the ```Cotangent``` class and then pass it to the ```drawFunction()``` method from the CartesianCanvas object: + +~~~{.cpp} +#include "Cotangent.h" //Take out the #include directive + //As well as the using namespace tsgl directive + +//Main program +int main() { + CartesianCanvas c(0, 0, 500, 500, -5, -5, 5, 50, "Cartesian Example"); + c.start(); + c.setBackgroundColor(WHITE); //Set the color to white to see the axes better + c.drawAxes(0.0, 0.0, 1.0, 5.0); + Cotangent cot; //Create an instance of the Cotangent class + //Drawing loop + while(c.isOpen()) { + c.sleep(); + c.drawFunction(cot); //Draw it onto the CartesianCanvas + } + c.wait(); +} +~~~ + +Recompile and run. The graph of the ```Cotangent``` function should be drawn! + +We didn't see it being drawn though... + +That's because we omitted a second parameter, which is the length of time that we should have the main thread sleep for so that it can be in sync with the Canvas. + +Omitting this parameter just draws the entire function “instantly" and so therefore, we can't see it. + +We can change this, however, by not omitting the second parameter: + +~~~{.cpp} + c.drawFunction(cot, FRAME); +~~~ + +By placing ```FRAME``` as the second parameter, we tell the main thread to sleep for ```FRAME``` seconds (1/60th of a second) and then that syncs with the Canvas so that we can see the drawing actually occurring. + +It's a little slow though, how can we speed it up? + +To make it go faster, simply change the second parameter: + +~~~{.cpp} + c.drawFunction(cot, FRAME/2); +~~~ + +This makes it so that the thread sleeps for every ```FRAME/2``` of a second (or 1/120th of a second) and then a point is drawn on the Canvas. + +There's also a third optional parameter which is the color of the function (set to ```BLACK``` by default). + +See [Function.h](http://calvin-cs.github.io/TSGL/html/classtsgl_1_1_function.html) for more information on the predefined functions in TSGL. + +If you ever want to graph a mathematical function that is not predefined, you will have to define it yourself in the same way as we did for the ```Cotangent``` function. + +Please note: The standard Canvas is intended for drawing shapes and animation loops; the CartesianCanvas is a specialized kind of Canvas for drawing mathematical functions. + +See [CartesianCanvas](http://calvin-cs.github.io/TSGL/html/classtsgl_1_1_cartesian_canvas.html) in the TSGL API for more information on the special kind of Canvas. + +That completes this tutorial! + +In the next tutorial, [[Using Keyboard && Mouse]], we take a look at how to handle keyboard and mouse events! \ No newline at end of file diff --git a/TSGL.wiki/tutorials/Using-Keyboard-And-Mouse.md b/TSGL.wiki/tutorials/Using-Keyboard-And-Mouse.md new file mode 100644 index 000000000..2890b7a20 --- /dev/null +++ b/TSGL.wiki/tutorials/Using-Keyboard-And-Mouse.md @@ -0,0 +1,231 @@ +Let's get down to the "key" points here. + +You can add I/O interaction to any animation that you draw on a Canvas/CartesianCanvas. That includes keyboard and mouse events only. + +You may be asking us, "Is that done using magic??” + +Well, TSGL makes it fairly easy. + +***Linux/Mac users:*** Follow the steps from the previous tutorials. Name the folder "Tutorial7" and the file "interaction.cpp". Replace "program" in the "TARGET" line of the Makefile with "interaction". + +***Windows users:*** Follow the steps from the previous tutorials. Name the Solution folder "Tutorial7" and the Visual Studio project "Interactive". After adding the Property sheet, name the .cpp file "interaction.cpp". +Let's begin by creating and initializing a Canvas object: + +***All three platforms:*** Follow the steps in the [[Building Programs]] page on how to compile and run the program (Linux/Mac users, this is a single-file program). + +~~~{.cpp} +#include +using namespace tsgl; + +int main() { + Canvas c(0, 0, 500, 500, "I/O Example"); + c.start(); + c.wait(); +} +~~~ + +Compile and run. A blank screen should appear. + +Now, if you've taken a look at the [TSGL API documentation](http://calvin-cs.github.io/TSGL/html/index.html) for Canvas, you may have seen that it has two methods: [bindToButton()](http://calvin-cs.github.io/TSGL/html/classtsgl_1_1_canvas.html#a26f2f1acf2b80eee95e42bc13dbc7600) and [bindToScroll()](http://calvin-cs.github.io/TSGL/html/classtsgl_1_1_canvas.html#aecd3d94790d2e660db380a5e951ae394). + +These two methods are where the I/O magic happens. + +They allow us to bind keys, mouse buttons, and the mouse scroll wheel to a Canvas which will allow us to have I/O capabilities in our animations. + +But how do these methods work? + +Well, before we answer that, allow us to explain a crucial aspect of these methods: Lambda functions. + +Taken from http://en.cppreference.com/w/cpp/language/lambda, a Lambda function: +"Constructs a closure: an unnamed function object capable of capturing variables in scope." + +What does that mean? + +It is essentially an unnamed function that can access any variables that are in scope, and that can be passed as an argument to another function. + +"Okay, great" you may be thinking "but how does this relate to the methods?" + +In order to handle mouse and/or keyboard I/O, the ```bindToButton()``` and ```bindToScroll()``` methods each take a Lambda function as an argument. In the ```bindToButton()``` method, the Lambda function is associated with a keyboard key or mouse button and an action, which are also passed as arguments. In the ```bindToScroll()``` method, the Lambda function is the only argument. + +Let's look at an example to make it clear: + +~~~{.cpp} +#include +using namespace tsgl; + +int main() { + Canvas c(0, 0, 500, 500, "I/O Example"); + c.start(); + c.setBackgroundColor(WHITE); + //This variable is in the scope of the Lambda function. + //It can be passed in. + bool leftMouseButtonPressed = false; + + //Bind the left mouse button so that when it's pressed + //the boolean is set to true. + c.bindToButton(TSGL_MOUSE_LEFT, TSGL_PRESS, + [&leftMouseButtonPressed]() { + leftMouseButtonPressed = true; + } + ); + + //Bind the left mouse button again so that when it's released + //the boolean is set to false. + c.bindToButton(TSGL_MOUSE_LEFT, TSGL_RELEASE, + [&leftMouseButtonPressed]() { + leftMouseButtonPressed = false; + } + ); + + //Drawing loop + Rectangle rec(25, 250, 40, 30, RED); + c.add( &rec ); + while(c.isOpen()) { + c.sleep(); + if(leftMouseButtonPressed) { + rec.setColor(GREEN); + } else { + rec.setColor(RED); + } + } + c.wait(); +} +~~~ + +Recompile and run. A rectangle should appear in red on the screen. Click the screen with the left mouse button. The color of the rectangle should change to green. + +The ```bindToButton()``` method takes in three parameters: +* A key or button to bind to (e.g. ```TSGL_A``` for the 'A' key). +* An event associated with that key (```TSGL_PRESS``` for when it's pressed, ```TSGL_RELEASE``` when it is released). +* An unnamed (Lambda) function that will be passed to ```bindToButton()``` when that method is invoked. + +Allow us to explain Lambda functions in a little more depth. + +Variables inside the brackets are variables defined outside of the function that are in its scope, and that are being passed into the function. The ampersand makes the variable a reference parameter. In a nutshell, that means that whatever you do to that parameter in the function will affect the variable being passed as the parameter. So, if we passed a boolean ```switch``` as the parameter and it has a value of ```false``` before the function runs and inside the function, we change the value of the parameter to ```true```, then when the function finishes, the variable ```switch``` will have ```true``` as its value instead of ```false```. + +The variables *MUST* be passed as reference parameters. + +Passing reference variables to the unnamed Lambda function is called "capturing" the parameters. + +Now, in the definition of the Lambda function, you can alter the reference parameters so that whenever the Lambda function is invoked the reference parameters are changed to values you want to assign to them. + +The mouse click and release event are bound to the Lambda functions that set a boolean variable to true and false (respectively). + +"Bound" means that the corresponding Lambda function will be invoked once the action occurs: + +* Once the mouse has been clicked, the Lambda function bound to the left mouse button click event will be invoked and the boolean ```leftMouseButtonPressed``` changes to true. +* Once it has been released, the Lambda function bound to the left mouse button click event will be invoked and the boolean ```leftMouseButtonPressed``` changes to false. + +As you can see, whenever the left mouse button is clicked, the boolean variable ```leftMouseButtonPressed``` is set to true and when the left mouse button is released it is set to false. + +Now, how do we get the Canvas to draw stuff once the mouse button is clicked? + +In the animation loop shown below, if ```leftMouseButtonPressed``` has been set to ```true``` then we can have the Canvas draw a circle that is centered by the mouse's x and y-coordinates: + +~~~{.cpp} +#include +using namespace tsgl; + +int main() { + Canvas c(0, 0, 500, 500, "I/O Example"); + c.start(); + c.setBackgroundColor(WHITE); + //This variable is in the scope of the Lambda function. + //It can be passed in. + bool leftMouseButtonPressed = false; + + //Bind the left mouse button so that when it's pressed + //the boolean is set to true. + c.bindToButton(TSGL_MOUSE_LEFT, TSGL_PRESS, + [&leftMouseButtonPressed]() { + leftMouseButtonPressed = true; + } + ); + + //Bind the left mouse button again so that when it's released + //the boolean is set to false. + c.bindToButton(TSGL_MOUSE_LEFT, TSGL_RELEASE, + [&leftMouseButtonPressed]() { + leftMouseButtonPressed = false; + } + ); + + //Drawing loop + Rectangle rec(25, 250, 40, 30, RED); + Circle circle(0, 0, 20, BLACK); + c.add( &rec ); c.add( &circle ); + while(c.isOpen()) { + c.sleep(); + int x = c.getMouseX(), y = c.getMouseY(); //Store the x and y-coordinates of the mouse + if(leftMouseButtonPressed) { + rec.setColor(GREEN); + circle.setCenter(x, y); + } else { + rec.setColor(RED); + } + } + c.wait(); +} +~~~ + +Recompile and run the code. Now, click on the left mouse button while the mouse is on the screen. The black, filled-in circle should appear below your mouse cursor! + +You can even hold down the left mouse button and drag the mouse over the screen and the black circle will follow your mouse! + +How about an example using the ```bindToScroll()``` method instead? + +Let's take a look: + +~~~{.cpp} +#include +using namespace tsgl; + +int main() { + Canvas c(0, 0, 500, 500, "I/O Example"); + c.start(); + c.setBackgroundColor(WHITE); + //These variables are in the scope of the Lambda function. + //They can be passed in. + int circleX = 250, circleY = 250; + + c.bindToScroll([&circleY](double dx, double dy) { + if(dy == 1.0) { //If you move the scroll wheel down... + circleY -= 50; //Decrement the circle's y-coordinate. + } else { //Else... + circleY += 50; //Increment the coordinate. + } + }); + + //Drawing loop + Circle circle(circleX, circleY, 50); + c.add( &circle ); + while(c.isOpen()) { + c.sleep(); + circle.setCenter(circleX, circleY); + } + c.wait(); +} +~~~ + +Recompile and run. A black circle should appear on the screen. Scroll up to make the circle go up, scroll down to make the circle go down. + +Allow us to explain this example. + +The bindToScroll() method takes in a Lambda function, which in turn, takes in two parameters: + +* dx, which is an x parameter whose value is set when the mouse is scrolled. +* dy, which is a y parameter whose value is set when the mouse is scrolled. + +The parameters dx and dy contain the x and y coordinates of the mouse when the event occurs — when the method is invoked — and can be used to access those coordinates within the body of the method. + +The ```bindToScroll()``` method MUST take in those two parameters, even if one or both parameters are not used. + +In sum, in order to do animations with I/O capabilities, you need to use ```bindToButton()``` for keyboard and mouse button events and ```bindToScroll()``` for mouse scroll wheel events. + +See [Keynums.h](http://calvin-cs.github.io/TSGL/html/_keynums_8h_source.html) for constants that are mapped to specific keys on the keyboard as well as are mapped to the mouse buttons and scroll wheel. + +The CartesianCanvas handles I/O in exactly the same way as the standard Canvas does (since it is a subclass of the Canvas class). + +That completes this tutorial! + +Next up, in [[Command-line arguments]], we take a look at using command-line arguments in our animations. diff --git a/TSGL.wiki/tutorials/Using-Shapes.md b/TSGL.wiki/tutorials/Using-Shapes.md new file mode 100644 index 000000000..698fb784a --- /dev/null +++ b/TSGL.wiki/tutorials/Using-Shapes.md @@ -0,0 +1,116 @@ +TSGL has a wide assortment of shapes. Rectangles, triangles, concave and convex polygons are just some of the shapes that you can draw. To draw a given shape, the Canvas class has draw methods that will create and draw a corresponding shape on a Canvas object. + +Let’s look at some examples. + +***Linux/Mac user:*** Create a new folder and name it "Tutorial2". Create a file inside of that folder and call it "shapes.cpp". Copy over the generic Makefile from the TSGL-master folder and change the "TARGET" line so that it now says "shapes" instead of "program". + +***Windows users:*** Create a Solution folder and name it "Tutorial2". Add a Visual Studio project to that folder and name it "Shape". Go to the Property Manager and right click on that project. Add the testProperties Property sheet (located in the TSGL-master folder). Go back to the Solution Explorer and open up Tutorial2. Add a .cpp to Shape and name it "shapes.cpp". + +***All three platforms:*** Follow the steps in the [[Building Programs]] page on how to compile and run the program (Linux/Mac users, this is a single-file program). + +~~~{.cpp} +#include +using namespace tsgl; + +int main() { + Canvas c(0, 0, 500, 600, "Shapes!"); + c.start(); + c.setBackgroundColor(WHITE); + Circle circle(250, 300, 50); + c.add( &circle ); + c.wait(); +} +~~~ + +Compile and run it. A window should appear with a circle drawn in the center. + +The ```Circle()``` constructor takes these parameters: + +* x-coordinate for the center of the circle (```250```). +* y-coordinate for the center of the circle (```300```). +* The radius of the circle (```50```). +* The color of the circle (optional parameter; set to ```BLACK``` by default). + +The ```Circle()``` constructor lets you specify the optional color argument like so: + +~~~{.cpp} + Circle circle(250, 300, 50, RED); //Color = RED +~~~ + +Rectangles are created in a similar fashion: + +~~~{.cpp} + Rectangle rec(50, 100, 50, 100); +~~~ + +```Rectangle()``` takes in these parameters: + +* x-coordinate for the top left corner of the rectangle (```50```). +* y-coordinate for the top left corner of the rectangle (```100```). +* width of the rectangle (```50```). +* height of the rectangle (```100```). +* The color of the rectangle (optional parameter; set to ```BLACK``` by default). + +How about a triangle? Well: + +~~~{.cpp} + Triangle tri(150, 100, 250, 200, 150, 300); +~~~ + +```Triangle()``` takes in these parameters: + +* x-coordinate for the first point of the triangle (```150```). +* y-coordinate for the first point of the triangle (```100```). +* x-coordinate for the second point of the triangle (```250```). +* y-coordinate for the second point of the triangle (```200```). +* x-coordinate for the third point of the triangle (```150```). +* y-coordinate for the third point of the triangle (```300```). +* The color of the triangle (optional parameter; set to ```BLACK``` by default). + +In essence, whenever you draw a shape, the first few parameters are for the x and y-coordinates of the points of the shape and the last one is optional for the color. + +After creating any shape, it must be added to a Canvas before it is visible. Like so: +~~~{.cpp} + c.add( &shape ); +~~~ +```add()``` takes a pointer to a Drawable as its parameter. Later, if you would like to remove an item from a Canvas, passing the pointer to ```remove()``` takes the Drawable off the Canvas. + +Putting all of this code together: + +~~~{.cpp} +#include +using namespace tsgl; + +int main() { + Canvas c(0, 0, 500, 600, "Shapes!"); + c.start(); + c.setBackgroundColor(WHITE); + Circle circle(250, 300, 50); //Circle + Rectangle rec(50, 100, 100, 200); //Rectangle + Triangle tri(150, 100, 250, 200, 150, 300); //Triangle + c.add( &circle ); c.add( &rec ); c.add( &tri ); + c.wait(); +} +~~~ + +Compile and run it. A filled black circle, triangle, and rectangle should appear on a white screen. + +You can also draw regular lines: + +~~~{.cpp} +Line l(10, 20, 30, 40, PURPLE); +~~~ + +```Line()``` takes in these parameters: + +* x-coordinate of the first point of the line (```10```). +* y-coordinate of the first point of the line (```20```). +* x-coordinate of the second point of the line (```30```). +* y-coordinate of the second point of the line (```40```). +* The color of the line (```PURPLE```) (optional parameter; set to ```BLACK``` by default.). + +Check out the documentation in the [TSGL API](http://calvin-cs.github.io/TSGL/html/annotated.html) page to learn more about the variety of shapes. + +That concludes this tutorial! + +In the next tutorial, [[Using Text and Images]], you get to learn about text! diff --git a/TSGL.wiki/tutorials/Using-Text-and-Images.md b/TSGL.wiki/tutorials/Using-Text-and-Images.md new file mode 100644 index 000000000..4bdffb217 --- /dev/null +++ b/TSGL.wiki/tutorials/Using-Text-and-Images.md @@ -0,0 +1,103 @@ +Quit texting and pay attention to this tutorial! + +Placing text on a Canvas is pretty straight forward. It essentially requires a font file for the rendered text and creating Text objects. + +***Linux/Mac users:*** Follow the steps from the previous tutorials. Name the folder "Tutorial3" and the file "text.cpp". Replace "program" in the "TARGET" line of the Makefile with "text". + +***Windows users:*** Follow the steps from the previous tutorials. Name the Solution folder "Tutorial3" and the Visual Studio project "Text". After adding the Property sheet, name the .cpp file "text.cpp". + +***All three platforms:*** Follow the steps in the [[Building Programs]] page on how to compile and run the program (Linux/Mac users, this is a single-file program). + +Let's start by creating a Canvas object and initializing it: + +~~~{.cpp} +#include +using namespace tsgl; + +int main() { + Canvas c(0, 0, 500, 500, "Texture example"); + c.start(); + c.wait(); +} + +~~~ + +Alright, now let's add some text! + +What should we say? What message should we broadcast to the world? + +How about "Hello, World!"? + +Perfect. Now, let's set our font. For the purposes of this tutorial, we have a font file already inside of our folder, ```FreeMono.ttf```. The font file (along with a plethora of others) is located in the ```freefont``` folder which is in the ```assets``` folder located in the TSGL root directory (where the ```Makefile```) is. You can copy that font file (or another if you so desire) from the ```freefont``` folder into your folder (***Linux/Mac users***) or into your Solution folder in your Visual Studio project (***Windows users***). + +TSGL is compatible with FreeType fonts, but it can also use other fonts. Make certain that you have that font file (or another one like it) in your project/Solution folder so the Canvas can render the text: + +~~~{.cpp} +#include +using namespace tsgl; + +int main() { + Canvas c(0, 0, 500, 500, "Texture example"); + c.start(); + Text hello("Hello, World!", 150, 250, 5); + c.add( &hello ); + c.wait(); +} + +~~~ + +```Text()``` creates a text item. It takes in these parameters: + +* The text to render (```Hello, World!```). +* The x-coordinate of the left bound of the text to render (```150```). +* The y-coordinate of the base of the text to render (```250```). +* The size of the text (```30```). +* The color of the text (optional parameter; set to ```BLACK``` by default). +* The name of the font file. It can also be a directory path that leads to the font file, such as: ```assets/freetype/Name_Of_Font_File.ttf``` (optional parameter; defaults to FreeSans). + +Once you are ready to render the Text object, it can be added to a Canvas the same way a Shape is, using Canvas's ```add()``` method. + +That is essentially how you render text onto a Canvas! + +You can also render images onto a Canvas as well. The process is the same for creating an Image object: ```Image()```. It takes in these parameters: + +* The file name of the image (which can also be a directory path to the image file). +* The x-coordinate of the image's left bound. +* The y-coordinate of the image's left bound. +* The width of the image. +* The height of the image. +* The alpha value of the image (optional parameter; set to ```1.0f``` by default). + +The alpha value determines whether or not the image should be transparent. We will take a closer look at alpha values in the next tutorial, Using Colors. + +Let's look at an example where we first draw an image and then draw text on top of it. You can get pictures from the ```pics``` folder located in the ```assets``` folder which is located in the TSGL root directory. TSGL handles ```.jpg```, ```.png```, and ```.bmp``` picture files perfectly fine. Copy over whatever picture file you would like to draw text on (either in your project folder or in your Solution folder depending on what machine you are using) and then pass the full file name into the file name parameter for ```Image()```. + +For the purposes of this tutorial, we used ```background.jpg```: + +~~~{.cpp} +#include +using namespace tsgl; + +int main() { + Canvas c(0, 0, 500, 500, "Texture example"); + c.start(); + //We will explain what getWindowWidth() + //and getWindowHeight() do in the next tutorial + Image bkgd("background.jpg", 0, 0, c.getWindowWidth(), c.getWindowHeight()); + c.setFont("FreeMono.ttf"); + Text hello("Hello, World!", 150, 250, 30); + c.add( &bkgd ); + c.add( &hello ); + c.wait(); +} + +~~~ +Recompile and run. The image should now appear and the text "Hello, World!" should be drawn on top of it. + +In sum, you can set the font using the ```setFont()``` method before rendering the text onto the Canvas. Then, you can create the actual text using ```Text()```. + +Images can be created using ```Image()```. + +That concludes this tutorial! + +In the next tutorial, [[Using Colors]], you get to learn about colors! diff --git a/Windows/Cygwin.gif b/Windows/Cygwin.gif new file mode 100644 index 000000000..9d7ae264f Binary files /dev/null and b/Windows/Cygwin.gif differ diff --git a/Windows/FAQcygwin.md b/Windows/FAQcygwin.md new file mode 100644 index 000000000..d38be79aa --- /dev/null +++ b/Windows/FAQcygwin.md @@ -0,0 +1,30 @@ +# FAQs for Cygwin + +### Installation + +**Q**: What to do when Cygwin setup window crashes?
+**A**: Sometimes Cygwin installation window crashes unexpectedly. If that happens open the setup file and follow the [steps](https://github.com/samuelth47/TSGL/blob/master/NewWindows/readmeCygwin.md) again +
+
+**Q**: `source install-cygwin` is not working
+**A**: Try running `dos2unix install-cygwin` and run `source install-cygwin` again +
+
+**Q**: I am getting `wget is not installed, using lynx as fallback` error during installation
+**A**: You MUST install `wget, lynx, and dos2unix` using the setup file of Cygwin before running the install-cygwin.sh. + Launch the setup file and follow these [steps](https://github.com/samuelth47/TSGL/blob/master/NewWindows/readmeCygwin.md), but this time only install `wget` + + +**Q**: It is taking too long to install
+**A**: For TSGL to work on windows it needs more packages to be installed. That is why it is taking long, but it's worth the wait :) + +
+ +### Using TSGL + +**Q**: I get this error when I try to run the examples +``` +assertion "monitor != NULL" failed: file ".../glfw/src/monitor.c", line 445, function: glfwGetVideoMode +``` +**A**: Did you open a new terminal and run `startxwin`? If not, do that, and don't stop the process nor close the terminal.
+ If you did that and it still doesn't work, try running ```export DISPLAY:0.0``` on the terminal diff --git a/Windows/FAQwsl.md b/Windows/FAQwsl.md new file mode 100644 index 000000000..7f60c686c --- /dev/null +++ b/Windows/FAQwsl.md @@ -0,0 +1,9 @@ +# FAQs for WSL + +**Q**: I get this error when I try to run the examples +``` +glfwGetVideoMode: Assertion 'Monitor != NULL' failed +``` +**A**: Try running `export DISPLAY=$(awk '/nameserver / {print $2; exit}' /etc/resolv.conf 2>/dev/null):0`
+ If that did not work, restart XLaunch and **DO NOT FORGET** to **Disable** `Native opengl` and **Enable** `Disable access control` + diff --git a/Windows/readmeCygwin.md b/Windows/readmeCygwin.md new file mode 100644 index 000000000..f0a46ad39 --- /dev/null +++ b/Windows/readmeCygwin.md @@ -0,0 +1,32 @@ +# TSGL installation on Windows using Cygwin + + +### Installing Cygwin + +1. Download [Cygwin](https://www.cygwin.com/) +2. Install the setup file; Continue until you get to the "Select Packages" window + - **NOTE**: If the window crashes, open the setup file and follow the steps again +4. Click View > Not Installed +5. In the search box type `lynx` and click the dropdown next to "Skip" and select the last one +6. Do the same for `dos2unix` and `wget` +7. Click "Next" and finish the installation + +![me](https://github.com/samuelth47/TSGL/blob/master/Windows/Cygwin.gif) + +### Installing TSGL + +1. Open a Cygwin terminal +2. Clone the [TSGL repository](https://github.com/Calvin-CS/TSGL.git) and cd into it +3. Run the install-cygwin.sh file ( `source install-cygwin.sh` ) + - If you want to change the installation directory from the default, you can append a path when running the installer(`source install-cygwin.sh /usr`) + - `/usr` is the default installation directory + - If running the install script doesn't work run `dos2unix install-cygwin.sh` and try it again + - It may take a while so please be patient + + ##### Check + - Open a new cygwin terminal and run `startxwin` + - Run `xeyes` + - You should see a new window with a pair of eyes + +2. cd to src/examples and run `make` +3. cd to one of the examples and run the test files diff --git a/Windows/readmeWSL.md b/Windows/readmeWSL.md new file mode 100644 index 000000000..962d82d99 --- /dev/null +++ b/Windows/readmeWSL.md @@ -0,0 +1,28 @@ +# TSGL Installation on windows using WSL + +**For this to work you need to install a WSL and an Xserver** + +### Installing WSL and Xserver +1. [Install WSL](https://docs.microsoft.com/en-us/windows/wsl/install-win10) (_Ubuntu recommended_) +2. Download and install [VcXsrv](https://sourceforge.net/projects/vcxsrv/) + - It is downloaded as `XLaunch` + - When starting XLaunch **disable** the `Native opengl` and **enable** `Disable access control` + + + +##### Check +* Start XLaunch +* On your terminal run `xeyes` + - If it doesn't work, run `export DISPLAY=$(awk '/nameserver / {print $2; exit}' /etc/resolv.conf 2>/dev/null):0` then try again +* You should see a pair of eyes on the VcXsrc server + +### Installing TSGL +1. clone the [TSGL repository](https://github.com/Calvin-CS/TSGL.git) +2. run the install-ubuntu.sh (`source install-ubuntu.sh`) + - `/usr` is the default and recommended installation directory for TSGL on Ubuntu + - If you want to change the installation directory from the default, you can append a path when running the installer(`source install-ubuntu.sh /usr`) + +##### Check +* cd to src/examples +* run `make` +* cd to one of the examples and run the executable test files (`./test...`) diff --git a/Windows/xlaunch.gif b/Windows/xlaunch.gif new file mode 100644 index 000000000..99838d115 Binary files /dev/null and b/Windows/xlaunch.gif differ diff --git a/check.txt b/check.txt deleted file mode 100644 index e69de29bb..000000000 diff --git a/genericMakefile/Makefile b/genericMakefile/Makefile index 1b072d94f..7af15276b 100644 --- a/genericMakefile/Makefile +++ b/genericMakefile/Makefile @@ -17,7 +17,7 @@ ifeq ($(UNAME), Linux) OS_EXTRA_LIB := -L/usr/lib OS_GLFW := glfw OS_GL := -lGL - OS_EXTRA_LINK := -Wl,-rpath=/usr/local/lib/ + OS_EXTRA_LINK := -Wl,-rpath=/usr/lib/ endif #Mac @@ -35,10 +35,10 @@ endif CXXFLAGS=-c -O3 -g3 \ -Wall -Wextra -pedantic-errors \ -D__GXX_EXPERIMENTAL_CXX0X__ \ - -I/usr/local/include/TSGL/ \ - -I/usr/local/include/ \ - -I/usr/local/include/freetype2 \ - -I/usr/local/include/freetype2/freetype \ + -I/usr/include/TSGL/ \ + -I/usr/include/ \ + -I/usr/include/freetype2 \ + -I/usr/include/freetype2/freetype \ -I/usr/include/TSGL \ -I/opt/AMDAPP/include/ \ ${OS_INCLUDE} \ @@ -49,7 +49,7 @@ CXXFLAGS=-c -O3 -g3 \ #Linking flags LFLAGS=-o $(TARGET) \ - -L/usr/local/lib/ \ + -L/usr/lib/ \ ${OS_EXTRA_LIB} \ -L/opt/X11/lib \ ${OS_LDIRS} \ diff --git a/install-centos.sh b/install-centos.sh index d217664cd..5c530b864 100755 --- a/install-centos.sh +++ b/install-centos.sh @@ -245,7 +245,7 @@ git clone https://www.github.com/glfw/glfw.git cd glfw -cmake -DCMAKE_INSTALL_PREFIX:PATH=/usr/local -DBUILD_SHARED_LIBS=ON +cmake -DCMAKE_INSTALL_PREFIX:PATH=/usr -DBUILD_SHARED_LIBS=ON make @@ -256,7 +256,7 @@ cd ../ sudo rm -rf glfw/ #Copy over the .so file into lib64/ (so it can be found...) -sudo cp /usr/local/lib/libglfw.so.3 /usr/lib64 +sudo cp /usr/lib/libglfw.so.3 /usr/lib64 echo "GLFW installed." @@ -276,7 +276,7 @@ make sudo make install #Copy over files so TSGL can find most recent freetype files -cd /usr/local/include/ +cd /usr/include/ sudo cp -r freetype2/ ../../include/freetype2/ @@ -301,19 +301,19 @@ echo "Freetype installed." #Make a symlink to GL.so file (so it can be found...) if [ $glSymlink == 1 ] then - sudo ln -s /usr/lib64/libGL.so.1 /usr/local/lib/libGl.so + sudo ln -s /usr/lib64/libGL.so.1 /usr/lib/libGl.so fi #Edit the LD_LIBRARY_PATH variable -export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/include:/usr/local/lib:/usr/lib:/usr/lib64 +export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/include:/usr/lib:/usr/lib:/usr/lib64 #Now, make and install TSGL! echo "Installing TSGL..." cd $workingDir -sudo rm -rf /usr/local/include/TSGL -sudo rm -rf /usr/local/lib/libtsgl.* +sudo rm -rf /usr/include/TSGL +sudo rm -rf /usr/lib/libtsgl.* mkdir -p lib bin @@ -321,7 +321,7 @@ make sudo make install -sudo rm -rf /usr/local/include/TSGL/*.cpp +sudo rm -rf /usr/include/TSGL/*.cpp sudo ldconfig diff --git a/install-cygwin.sh b/install-cygwin.sh index bfe19f7b2..446d107a5 100644 --- a/install-cygwin.sh +++ b/install-cygwin.sh @@ -2,32 +2,129 @@ # # install-cygwin.sh is the installation script for TSGL on Cygwin. # Last updated: 07/14/2020 -# +# # -SUBJECT TO CHANGE- ################################################################ -echo "Installing TSGL..." +if [[ $1 ]] +then + PREFIX=$1 + echo Install location $PREFIX +else + echo Install location /usr + PREFIX=/usr +fi + + +#install apt-cyg using lynx to download packages +lynx -source rawgit.com/transcode-open/apt-cyg/master/apt-cyg > apt-cyg +install apt-cyg /bin +rm -rf apt-cyg* + +#install apt-cyg using curl +#curl https://raw.githubusercontent.com/transcode-open/apt-cyg/master/apt-cyg > /cygdrive/c/cygwin64/bin/apt-cyg +#cd /cygdrive/c/cygwin64/bin +#chmod +x apt-cyg + +#install necessary packages +echo "*******************************************************************************" +echo "Installing necessary packages..." +echo +echo + +apt-cyg install make cmake gcc-g++ libXinerama-devel libXcursor-devel libXi-devel libfreetype-devel libfreetype-doc libfreetype6 libGL-devel libGL1 xorg-server xinit xeyes glm-devel libglut-devel libglut3 openmpi glew libGLEW-devel libXrandr-devel mingw64-i686-freetype2 mingw64-x86_64-freetype2 libopenmpi-devel libopenmpi12 libopenmpicxx1 doxygen-doxywizard dos2unix + +echo +echo +echo "All necessary packages installed" +echo "*******************************************************************************" + +echo "Checking for dependencies..." +glfwFile=/usr/lib/libglfw.dll.a + +if [ -f "$glfwFile" ] +then + echo "glfw dependency found" +else + #clone the repository and install glfw + git clone https://github.com/glfw/glfw.git + + cd glfw + + cmake -DCMAKE_INSTALL_PREFIX:PATH=/usr -DBUILD_SHARED_LIBS=ON + + make + + make install + + cd .. + rm -rf glfw + + cd /usr/lib + + cd - + + ln -s /usr/lib/libglfw.dll.a + + echo "glfw dependecy resolved" +fi + +cxxoptsFile=/usr/include/cxxopts.hpp + +if [ -f "$cxxoptsFile" ] +then + echo "cxxopts dependency found" +else + echo "Resolving missing cxxopts dependency..." + + git clone https://github.com/jarro2783/cxxopts.git || exit 1 + + cd cxxopts/include + + cp cxxopts.hpp /usr/include + + cd ../.. + + rm -rf cxxopts* +fi +echo "All necessary dependencies resolved" + +################################################################################### + +tsglFile=/usr/lib/libtsgl.dll + +if [ -f "$tsglFile" ] +then + echo "" + source ~/.bashrc +else + echo "export TSGL_HOME=/usr" >> ~/.bashrc + echo "export DISPLAY=:0.0" >> ~/.bashrc + echo "export TSGL_DEFAULT_FONT=/include/TSGL/assets/freefont/FreeSansBold.ttf" >> ~/.bashrc + source ~/.bashrc +fi + +################################################################################### + +echo "Installing TSGL..." echo #Clean install = remove the TSGL folder and lib files if they already exist -rm -rf /usr/local/include/TSGL -rm -rf /usr/local/lib/libtsgl.* +rm -rf /usr/include/TSGL +rm -rf /usr/lib/libtsgl.* #Create the following directories (Since they aren't included in github but are needed) mkdir -p lib bin #Make the library -make +make prefix=$PREFIX #Install it -make install +make install prefix=$PREFIX #Take out the .cpp files from the TSGL library package folder -rm -rf /usr/local/include/TSGL/*.cpp +rm -rf /usr/include/TSGL/*.cpp #Done echo "Installation complete! Execute the runtests bash script to verify that everything works!" - -echo - diff --git a/install-fedora.sh b/install-fedora.sh index e76c85539..78ddff769 100755 --- a/install-fedora.sh +++ b/install-fedora.sh @@ -212,7 +212,7 @@ git clone https://www.github.com/glfw/glfw.git cd glfw -cmake -DCMAKE_INSTALL_PREFIX:PATH=/usr/local -DBUILD_SHARED_LIBS=ON +cmake -DCMAKE_INSTALL_PREFIX:PATH=/usr -DBUILD_SHARED_LIBS=ON make @@ -223,7 +223,7 @@ cd ../ sudo rm -rf glfw/ #Copy over the .so file into lib64/ (so it can be found...) -sudo cp /usr/local/lib/libglfw.so.3 /usr/lib64 +sudo cp /usr/lib/libglfw.so.3 /usr/lib64 echo "GLFW installed." @@ -258,15 +258,15 @@ then fi #Edit the LD_LIBRARY_PATH variable -export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/include:/usr/local/lib:/usr/lib:/usr/lib64 +export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/include:/usr/lib:/usr/lib:/usr/lib64 #Now, make and install TSGL! echo "Installing TSGL..." cd $workingDir -sudo rm -rf /usr/local/include/TSGL -sudo rm -rf /usr/local/lib/libtsgl.* +sudo rm -rf /usr/include/TSGL +sudo rm -rf /usr/lib/libtsgl.* mkdir -p lib bin @@ -274,7 +274,7 @@ make sudo make install -sudo rm -rf /usr/local/include/TSGL/*.cpp +sudo rm -rf /usr/include/TSGL/*.cpp sudo ldconfig diff --git a/install-mac.sh b/install-mac.sh new file mode 100755 index 000000000..c1804dcd8 --- /dev/null +++ b/install-mac.sh @@ -0,0 +1,204 @@ +#!/bin/bash +# Easy install script for TSGL on OS X +# Last updated: 08/10/16 +# +# -SUBJECT TO CHANGE- +############################### + +if [[ $1 ]] +then + PREFIX=$1 + echo Install location $PREFIX +else + echo Install location /usr/local + PREFIX=/usr/local +fi + +#Function for checking command availability +has () { + (command -v "$1" >/dev/null 2>&1 && echo 1) || echo 0 +} + +#Install XQuartz +if [ $(ls /Applications/Utilities | grep XQuartz.app | wc -l) -eq 0 ]; then + echo "Installing XQuartz..." + URL=$(curl -s https://api.github.com/repos/XQuartz/XQuartz/releases | grep browser_download_url | head -n 1 | cut -d '"' -f 4) + curl -L -O $URL + open -W XQuartz*.dmg + echo "Please continue the installation process by double-clicking XQuartz.pkg and following the instructions on screen." + echo "Please enter to continue once XQuartz has finished installing." + read +fi + +if grep -s . XQuartz*.dmg +then + rm XQuartz*.dmg +fi + +#Install Xcode command line tools (will do nothing if already installed) +if [ ! -e "/Library/Developer/CommandLineTools" ]; then + cmd="xcode-select --install" + $cmd # Fix for vim syntax highlighting bugginess + echo "Please select \"Install\" from the confirmation window that appears, and Agree to the license terms." + echo "Press enter to continue once Xcode command line tools has finished installing" + read +fi + +#Install brew +if [ $(has brew) = 0 ]; then + echo "Installing Homebrew..." + /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" + #export PATH=/usr/bin:$PATH +else + echo "Homebrew detected." + #export PATH=/usr/bin:$PATH +fi + +echo + +echo "Using Homebrew to install dependencies..." + +echo + +brew update + +#Install gcc +echo "Installing gcc..." +brew install gcc + +#Install glfw3 (will do nothing if already installed) +echo "Installing GLFW..." +brew install glfw3 + +#GLEW +echo "Installing GLEW..." +brew install glew + +#glm +echo "Installing glm..." +brew install glm + +#Freetype +echo "Installing Freetype2..." +brew install freetype + +#Doxygen +echo "Installing Doxygen..." +brew install doxygen + +#libomp +echo "Installing libomp..." +brew install libomp + +#cxxopts +echo "Installing cxxopts..." +brew install cxxopts + +#################################################################################### + +#redefine path variable and append to bashrc +tsglFile=/usr/local/lib/libtsgl.so + +if [ -f "$tsglFile" ] +then + echo + echo "Environment variable is already updated!" + source ~/.bashrc + +else + echo "export PATH=/usr/local/bin:$PATH" >> ~/.bashrc + echo "export TSGL_HOME=/usr/local" >> ~/.bashrc + echo "export TSGL_DEFAULT_FONT=/include/TSGL/assets/freefont/FreeSansBold.ttf" >> ~/.bashrc + + source ~/.bashrc +fi + +#move stb to $TSGL_HOME/include +#sudo cp -r stb $TSGL_HOME/include + +#################################################################################### + +#check the latest version of gcc +gccLatest=$(brew list --versions gcc | cut -f 2 -d ' ') +gcc_version_header=$(brew list --versions gcc | cut -f 2 -d ' ' | cut -f 1 -d .) + +echo Latest gcc version ${gccLatest} + +#First, check if we need to move an existing g++ / gcc compiler (in case we want to add code to do this) + +#Create symbolic links for g++ and gcc +if brew list | grep -q 'gcc*' +then + #check if gcc/g++ is installed in the right spot and create a sym links + if [ -e /usr/local/bin/g++ ] && [ -e /usr/local/bin/gcc ] + then + echo "Updating g++ and gcc links!" + rm /usr/local/bin/gcc + rm /usr/local/bin/g++ + fi + + #Create the g++ and gcc links + ln -s /usr/local/Cellar/gcc/${gccLatest}/bin/gcc-${gcc_version_header}* /usr/local/bin/gcc + ln -s /usr/local/Cellar/gcc/${gccLatest}/bin/g++-${gcc_version_header}* /usr/local/bin/g++ +fi + +#Symlinks +echo "Fixing missing symlinks..." +if [ ! -e /usr/X11/lib/libX11.dylib ]; then + sudo ln -s /usr/X11/lib/libX11.6.dylib /usr/X11/lib/libX11.dylib +fi + +if [ ! -e /usr/X11/lib/libXrandr.dylib ]; then + sudo ln -s /usr/X11/lib/libXrandr.2.dylib /usr/X11/lib/libXrandr.dylib +fi + +#Remove any broken symlinks before installing +sudo rm -f $TSGL_HOME/libtsgl.* +sudo rm -rf $TSGL_HOME/include/TSGL + +#Build TSGL and install +echo "Building TSGL..." + +echo + +sudo make clean + +echo + +make prefix=$PREFIX + +echo "Installing..." + +echo + +sudo make install prefix=$PREFIX + +echo + +echo "Installation complete!" + +echo + +#Checking update +echo "Checking for updates..." + +TSGL_VERSION=$(git describe --tags --abbrev=0) +TSGL_LATEST_VERSION=$(git describe --tags $(git rev-list --tags --max-count=1)) + +if [[ $TSGL_VERSION < $TSGL_LATEST_VERSION ]] +then + echo "Latest version $TSGL_LATEST_VERSION found. WARNING, If you have changed anything in the TSGL folder it may be overwritten during update. To keep your changes, please commit them before updating." + read -p "Do you want to install the update? This will replace all the files with the updated ones (y/n): " INPUT + if [ $INPUT == y ] || [ $INPUT == Y ] + then + echo "Updating TSGL..." + git remote add tsgl https://github.com/Calvin-CS/TSGL.git + git pull tsgl master + fi +else + echo "Latest update already installed!" +fi + +echo + +echo "Run \"./runtests\" to verify everything is working." diff --git a/install-ubuntu.sh b/install-ubuntu.sh index 8bc01efe4..aa620868c 100755 --- a/install-ubuntu.sh +++ b/install-ubuntu.sh @@ -1,21 +1,28 @@ #!/bin/bash # -# install-linux.sh is the installation script for TSGL on Linux. +# install-ubuntu.sh is the installation script for TSGL on Linux Ubuntu. # Last updated: 06/30/26 # # -SUBJECT TO CHANGE- ################################################################ +if [[ $1 ]] +then + PREFIX=$1 + echo Install location $PREFIX +else + echo Install location /usr + PREFIX=/usr +fi echo "Installing TSGL..." -#Determine the OpenGL version (has to be 3.2 or higher) +#Determine the OpenGL version (has to be 3.0 or higher) #(Use glxinfo, available in the mesa-utils package) -sudo apt-get install mesa-utils - echo echo "Checking OpenGL version (must be 3.0 or higher)..." -sudo apt-get install mesa-utils +sudo apt-get -y update +sudo apt-get -y install mesa-utils GLVersInfo=$(glxinfo | grep OpenGL) @@ -30,138 +37,57 @@ GLVersNum=$(echo "$GLVersString" | sed 's/[^0-9.]*\([0-9.]*\).*/\1/') #http://tldp.org/LDP/abs/html/comparison-ops.html #Check if the version is less than the threshold -if [ "$GLVersNum" \< "3.0" ] -then - echo "Your version of GL is: $GLVersNum." - echo "You need at least OpenGL version 3.0 or greater." - echo "Please update your drivers in order to continue." - echo "Try the following command to update your drivers:" - echo - echo "sudo ubuntu-drivers autoinstall" - echo - echo "Abort." - exit 1 -else - echo "OpenGL version is sufficient to continue." -fi +#if [ "$GLVersNum" \< "3.0" ] +#then +# echo "Your version of GL is: $GLVersNum." +# echo "You need at least OpenGL version 3.0 or greater." +# echo "Please update your drivers in order to continue." +# echo "Try the following command to update your drivers:" +# echo +# echo "sudo ubuntu-drivers autoinstall" +# echo +# echo "Abort." +# exit 1 +#else +# echo "OpenGL version is sufficient to continue." +#fi echo "Checking for g++..." - echo -gVersCheck=$(g++ --version) +#check if g++ is installed +#g corresponds to g++ (not allowed to have ++ in a variable name)g++ -#http://stackoverflow.com/questions/18147884/shell-variable-in-a-grep-regex -#Get a string containing the version number. -gVersString=$(echo "$gVersCheck" | grep "g++ (Ubuntu *") +echo "Checking g++ version" +echo "You need at least g++ 4.8 in order to continue" -#http://stackoverflow.com/questions/7516455/sed-extract-version-number-from-string-only-version-without-other-numbers -#http://superuser.com/questions/363865/how-to-extract-a-version-number-using-sed -#Get the version number from the version string. -gVersNum=$(echo "$gVersString" | sed 's/[^0-9.]*\([0-9.]*\).*/\1/') +gVersion=$(g++ --version | grep Ubuntu* | cut -d ' ' -f 4) -#http://tldp.org/LDP/abs/html/comparison-ops.html -#Check if the version number is null... -if [ -z "$gVersNum" ] +if [ -z "$gVersion" ] then - #Yep. g++ is NOT installed. - echo "g++ not installed!" - echo "Installing g++..." - sudo apt-get install g++ - - #Update versioning info - gVersCheck=$(g++ --version) - - gVersString=$(echo "$gVersCheck" | grep "g++ (Ubuntu *") - - #http://stackoverflow.com/questions/7516455/sed-extract-version-number-from-string-only-version-without-other-numbers - #http://superuser.com/questions/363865/how-to-extract-a-version-number-using-sed - gVersNum=$(echo "$gVersString" | sed 's/[^0-9.]*\([0-9.]*\).*/\1/') + echo "g++ is not installed" + sudo apt-get -y upgrade + sudo apt-get -y install g++ else - - echo "g++ already installed." - - #No. Check the version. - if [ "$gVersNum" \< "4.8" ] + echo "g++ $gVersion detected" + + if [ "$gVersion" \< "4.8" ] then - echo "The version of g++ is: $gVersNum." - echo "You need at least g++ 4.8 or greater in order to continue." - echo "I can install a greater version of g++ for you." - echo "Would you like me to do that? (1 = Yes, 2 = No)" - #Adapted from: http://stackoverflow.com/questions/226703/how-do-i-prompt-for-input-in-a-linux-shell-script - #Get the choice from the user. - select choice in "Yes" "No"; do - case $choice in - Yes ) #Yes, so... - echo "Installing a greater version of g++ (4.9)..." - - #Get g++-4.9 on the machine - sudo add-apt-repository ppa:ubuntu-toolchain-r/test; - sudo apt-get update; - sudo apt-get install --yes --force-yes g++-4.9; - sudo unlink /usr/bin/g++; #Take out any symlink made before... - sudo ln -s /usr/bin/g++-4.9 /usr/bin/g++; - - #Update version info - gVersCheck=$(g++ --version) - - #http://stackoverflow.com/questions/18147884/shell-variable-in-a-grep-regex - gVersString=$(echo "$gVersCheck" | grep "g++ (Ubuntu *") - - #http://stackoverflow.com/questions/7516455/sed-extract-version-number-from-string-only-version-without-other-numbers - #http://superuser.com/questions/363865/how-to-extract-a-version-number-using-sed - gVersNum=$(echo "$gVersString" | sed 's/[^0-9.]*\([0-9.]*\).*/\1/') - - break;; - No ) #No, use the current version - echo "Cannot continue without g++ 4.8 or greater." - echo "Abort." - exit 1 - esac - done - - else - #Version number is okay - echo "g++ version is sufficient to continue." - - #Check if version number is NOT 4.9 - if [ "$gVersNum" \< "4.9" ] + echo "checking for g++ updates..." + + sudo apt-get -y install g++ + gNewVersion=$(g++ --version | grep GCC* | cut -d ' ' -f 5 | cut -d '.' -f 1) + + if [ $gVersion \< $gNewVersion ] then - echo "You have $gVersNum installed." - echo "Would you like me to install g++-4.9? (1 = Yes, 2 = No)" - select choice in "Yes" "No"; do - case $choice in - Yes ) #Yes, so... - - echo "Installing g++-4.9..." - - #Get g++-4.9 on the machine - sudo add-apt-repository ppa:ubuntu-toolchain-r/test; - sudo apt-get update; - sudo apt-get install --yes --force-yes g++-4.9; - sudo unlink /usr/bin/g++; #Take out any symlink made before... - sudo ln -s /usr/bin/g++-4.9 /usr/bin/g++; - - #Update version info - gVersCheck=$(g++ --version) - - #http://stackoverflow.com/questions/18147884/shell-variable-in-a-grep-regex - gVersString=$(echo "$gVersCheck" | grep "g++ (Ubuntu *") - - #http://stackoverflow.com/questions/7516455/sed-extract-version-number-from-string-only-version-without-other-numbers - #http://superuser.com/questions/363865/how-to-extract-a-version-number-using-sed - gVersNum=$(echo "$gVersString" | sed 's/[^0-9.]*\([0-9.]*\).*/\1/') - - break;; - No ) #No, use the current version - echo "Proceeding with $gVersNum."; - break;; - esac - done + sudo unlink /usr/bin/g++ + sudo ln -s /usr/bin/g++-$gNewVersion* /usr/bin/g++ fi + else + echo "" + fi - fi fi echo @@ -169,97 +95,6 @@ echo echo "Checking for necessary dependencies..." echo -#Check for the following libraries: -glfw=0 #glfw -GL=0 #OpenGL -freetype=0 #Freetype -GLEW=0 #And GLEW - -#To do so, use the ldconfig command and pipe it to grep with the following keywords: -ldconfig -p | grep glfw > glfw.txt #'glfw' -ldconfig -p | grep GL > opengl.txt #'GL' -ldconfig -p | grep freetype > freetype.txt #'freetype' -ldconfig -p | grep GLEW > glew.txt #and 'GLEW' - -#Based off of the piping above, if any of the keywords were found, then the corresponding text files will have -#information about the libraries currently installed. -#If they aren't found, then the text files will be blank. -#If that is the case, then the library shouldn't be on the machine. (A missing dependency). - -#Check the text files to see if there are any missing libraries. - -#If the text file exists, then that just means the check went through with no problems. -if [ -e glfw.txt ] -then - #Checking for dependencies now... - #If the text file contains the name of the library that we are looking - #for, then it must be installed. - if grep "libglfw.so.3" glfw.txt > holder.txt - then - #Which means, it's not missing. - glfw=1 - echo - fi -fi - -#Continue to do that for the next three libraries - -#GL -if [ -e opengl.txt ] -then - if grep "libGL.so" opengl.txt > holder.txt - then - GL=1 - echo - fi -fi - -#freetype -if [ -e freetype.txt ] -then - if grep "libfreetype.so" freetype.txt > holder.txt - then - freetype=1 - echo - fi -fi - -#GLEW -if [ -e glew.txt ] -then - if grep "libGLEW.so" glew.txt > holder.txt - then - GLEW=1 - echo - fi -fi - -#Alright, we're done checking. -#Clean up the text files, we no longer need them. -rm glfw.txt -rm glew.txt -rm opengl.txt -rm freetype.txt -rm holder.txt - -#Now, determine if any of the dependencies are missing. -if [ $glfw == 0 ] -then - echo "glfw not found! (Will be resolved shortly)" #Even if it's not installed, it will be with the install script. -elif [ $GL == 0 ] -then - echo "GL not found! Please see the 'Library Versions' section of our wiki pages for a link to download and install this library." - echo "(You may also have to update your drivers!)" - exit 1 -elif [ $freetype == 0 ] -then - echo "Freetype not found! (Will be resolved shortly)." - exit 1 -elif [ $GLEW == 0 ] -then - echo "GLEW not found! (Will be resolved shortly)" #Same with GLEW -fi - #Alright, now get glfw and GLEW (freetype can be gained through the wiki as well as OpenGL). echo "Getting other dependencies (or updating if all found)..." @@ -269,15 +104,19 @@ sudo apt-get install --yes --force-yes build-essential libtool cmake xorg-dev li echo #Get the glfw library -if [ $glfw == 0 ] +glfwFile=/usr/lib/libglfw.so + +if [ -f "$glfwFile" ] then + echo "glfw dependency found" +else echo "Resolving missing glfw dependency..." git clone https://github.com/glfw/glfw.git || exit 1 cd glfw #Build shared lib from source - cmake -DCMAKE_INSTALL_PREFIX:PATH=/usr/local -DBUILD_SHARED_LIBS=ON + cmake -DCMAKE_INSTALL_PREFIX:PATH=/usr -DBUILD_SHARED_LIBS=ON #Make and install make @@ -287,12 +126,21 @@ then cd .. sudo rm -rf glfw + + cd /usr/lib + + sudo ln -s /usr/lib/x86_64-linux-gnu/libglfw.so + + cd - fi #Check if we have to install freetype from source... -if [ $freetype == 0 ] -then +freetypeFile=/usr/lib/libfreetype.so +if [ -f "$freetypeFile" ] +then + echo "freetype dependency found" +else echo "Resolving missing freetype dependency..." #We do, so get the freetype source @@ -303,7 +151,7 @@ then cd freetype-2.6.3 - ./configure + ./configure --prefix=/usr make @@ -315,34 +163,95 @@ then rm -rf freetype* fi -echo +#Check if we have to clone cxxopts ... +cxxoptsFile=/usr/include/cxxopts.hpp -echo +if [ -f "$cxxoptsFile" ] +then + echo "cxxopts dependency found" +else + echo "Resolving missing cxxopts dependency..." + + #We do, so clone the repository + git clone https://github.com/jarro2783/cxxopts.git || exit 1 + #copy the necessary file + cd cxxopts/include + + sudo cp cxxopts.hpp /usr/include + + cd ../.. + + #Remove the freetype folders from the TSGL folder + rm -rf cxxopts* +fi + +#check if we have to clone glm... +glmFile=/usr/include/glm/glm.hpp + +if [ -f "$glmFile" ] +then + echo "glm dependency found" +else + echo "Resolving missing glm dependency..." + + #clone the repository + git clone https://github.com/g-truc/glm.git + + #copy the folder to usr/include + cd glm + + sudo cp -r glm /usr/include + + cd .. + + rm -rf glm +fi + +echo #Dependencies were installed! (GLEW and glfw, as well as g++) echo "All dependencies resolved!" +echo -echo +################################################################################### -echo "Begin installation of TSGL..." +#Add export env variables to bashrc file +tsglFile=/usr/lib/libtsgl.so +if [ -f "$tsglFile" ] +then + echo "" +else + echo "export TSGL_HOME=/usr" >> ~/.bashrc + echo "export TSGL_DEFAULT_FONT=/include/TSGL/assets/freefont/FreeSansBold.ttf" >> ~/.bashrc + echo "export DISPLAY=$(awk '/nameserver / {print $2; exit}' /etc/resolv.conf 2>/dev/null):0" >> ~/.bashrc + source ~/.bashrc +fi + +################################################################################### + +echo +echo "Begin installation of TSGL..." echo #Clean install = remove the TSGL folder and lib files if they already exist -sudo rm -rf /usr/local/include/TSGL -sudo rm -rf /usr/local/lib/libtsgl.* +sudo rm -rf /usr/include/TSGL +sudo rm -rf /usr/lib/libtsgl.* #Create the following directories (Since they aren't included in github but are needed) mkdir -p lib bin +#Make clean the library +sudo make clean + #Make the library -make +make prefix=$PREFIX #Install it -sudo make install +sudo make install prefix=$PREFIX #Take out the .cpp files from the TSGL library package folder -sudo rm -rf /usr/local/include/TSGL/*.cpp +sudo rm -rf /usr/include/TSGL/*.cpp #Final step (.so file won't be found unless I do this...) sudo ldconfig @@ -351,4 +260,24 @@ sudo ldconfig echo "Installation complete! Execute the runtests bash script to verify that everything works!" echo +echo +#checking update +echo "Checking for updates..." + +TSGL_VERSION=$(git describe --tags --abbrev=0) +TSGL_LATEST_VERSION=$(git describe --tags $(git rev-list --tags --max-count=1)) + +if [ "$TSGL_VERSION" \< "$TSGL_LATEST_VERSION" ] +then + echo "Latest version $TSGL_LATEST_VERSION found. WARNING, If you have changed anything in the TSGL folder it may be overwritten during update. To keep your changes, please commit them before updating." + read -p "Do you want to install the update? This will replace all the files with the updated ones (y/n): " INPUT + if [ $INPUT == y ] || [ $INPUT == Y ] + then + echo "Updating TSGL..." + git remote add tsgl https://github.com/Calvin-CS/TSGL.git + git pull tsgl master + fi +else + echo "Latest version already installed" +fi diff --git a/install-windows.exe b/install-windows.exe deleted file mode 100644 index ecf3204a3..000000000 Binary files a/install-windows.exe and /dev/null differ diff --git a/install-windowsVS2015.exe b/install-windowsVS2015.exe deleted file mode 100644 index f2ddba90e..000000000 Binary files a/install-windowsVS2015.exe and /dev/null differ diff --git a/oldInstall/install-linux b/oldInstall/install-linux deleted file mode 100755 index 45eabc659..000000000 --- a/oldInstall/install-linux +++ /dev/null @@ -1,2868 +0,0 @@ -#! /bin/sh -# Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.68 for tsgl 0.1. -# -# -# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, -# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free Software -# Foundation, Inc. -# -# -# This configure script is free software; the Free Software Foundation -# gives unlimited permission to copy, distribute and modify it. -## -------------------- ## -## M4sh Initialization. ## -## -------------------- ## - -# Be more Bourne compatible -DUALCASE=1; export DUALCASE # for MKS sh -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then : - emulate sh - NULLCMD=: - # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which - # is contrary to our usage. Disable this feature. - alias -g '${1+"$@"}'='"$@"' - setopt NO_GLOB_SUBST -else - case `(set -o) 2>/dev/null` in #( - *posix*) : - set -o posix ;; #( - *) : - ;; -esac -fi - - -as_nl=' -' -export as_nl -# Printing a long string crashes Solaris 7 /usr/bin/printf. -as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\' -as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo -as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo -# Prefer a ksh shell builtin over an external printf program on Solaris, -# but without wasting forks for bash or zsh. -if test -z "$BASH_VERSION$ZSH_VERSION" \ - && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then - as_echo='print -r --' - as_echo_n='print -rn --' -elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then - as_echo='printf %s\n' - as_echo_n='printf %s' -else - if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then - as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"' - as_echo_n='/usr/ucb/echo -n' - else - as_echo_body='eval expr "X$1" : "X\\(.*\\)"' - as_echo_n_body='eval - arg=$1; - case $arg in #( - *"$as_nl"*) - expr "X$arg" : "X\\(.*\\)$as_nl"; - arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;; - esac; - expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl" - ' - export as_echo_n_body - as_echo_n='sh -c $as_echo_n_body as_echo' - fi - export as_echo_body - as_echo='sh -c $as_echo_body as_echo' -fi - -# The user is always right. -if test "${PATH_SEPARATOR+set}" != set; then - PATH_SEPARATOR=: - (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && { - (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 || - PATH_SEPARATOR=';' - } -fi - - -# IFS -# We need space, tab and new line, in precisely that order. Quoting is -# there to prevent editors from complaining about space-tab. -# (If _AS_PATH_WALK were called with IFS unset, it would disable word -# splitting by setting IFS to empty value.) -IFS=" "" $as_nl" - -# Find who we are. Look in the path if we contain no directory separator. -as_myself= -case $0 in #(( - *[\\/]* ) as_myself=$0 ;; - *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break - done -IFS=$as_save_IFS - - ;; -esac -# We did not find ourselves, most probably we were run as `sh COMMAND' -# in which case we are not to be found in the path. -if test "x$as_myself" = x; then - as_myself=$0 -fi -if test ! -f "$as_myself"; then - $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2 - exit 1 -fi - -# Unset variables that we do not need and which cause bugs (e.g. in -# pre-3.0 UWIN ksh). But do not cause bugs in bash 2.01; the "|| exit 1" -# suppresses any "Segmentation fault" message there. '((' could -# trigger a bug in pdksh 5.2.14. -for as_var in BASH_ENV ENV MAIL MAILPATH -do eval test x\${$as_var+set} = xset \ - && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || : -done -PS1='$ ' -PS2='> ' -PS4='+ ' - -# NLS nuisances. -LC_ALL=C -export LC_ALL -LANGUAGE=C -export LANGUAGE - -# CDPATH. -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH - -if test "x$CONFIG_SHELL" = x; then - as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then : - emulate sh - NULLCMD=: - # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which - # is contrary to our usage. Disable this feature. - alias -g '\${1+\"\$@\"}'='\"\$@\"' - setopt NO_GLOB_SUBST -else - case \`(set -o) 2>/dev/null\` in #( - *posix*) : - set -o posix ;; #( - *) : - ;; -esac -fi -" - as_required="as_fn_return () { (exit \$1); } -as_fn_success () { as_fn_return 0; } -as_fn_failure () { as_fn_return 1; } -as_fn_ret_success () { return 0; } -as_fn_ret_failure () { return 1; } - -exitcode=0 -as_fn_success || { exitcode=1; echo as_fn_success failed.; } -as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; } -as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; } -as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; } -if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then : - -else - exitcode=1; echo positional parameters were not saved. -fi -test x\$exitcode = x0 || exit 1" - as_suggested=" as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO - as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO - eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" && - test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1" - if (eval "$as_required") 2>/dev/null; then : - as_have_required=yes -else - as_have_required=no -fi - if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then : - -else - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -as_found=false -for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - as_found=: - case $as_dir in #( - /*) - for as_base in sh bash ksh sh5; do - # Try only shells that exist, to save several forks. - as_shell=$as_dir/$as_base - if { test -f "$as_shell" || test -f "$as_shell.exe"; } && - { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then : - CONFIG_SHELL=$as_shell as_have_required=yes - if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then : - break 2 -fi -fi - done;; - esac - as_found=false -done -$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } && - { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then : - CONFIG_SHELL=$SHELL as_have_required=yes -fi; } -IFS=$as_save_IFS - - - if test "x$CONFIG_SHELL" != x; then : - # We cannot yet assume a decent shell, so we have to provide a - # neutralization value for shells without unset; and this also - # works around shells that cannot unset nonexistent variables. - # Preserve -v and -x to the replacement shell. - BASH_ENV=/dev/null - ENV=/dev/null - (unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV - export CONFIG_SHELL - case $- in # (((( - *v*x* | *x*v* ) as_opts=-vx ;; - *v* ) as_opts=-v ;; - *x* ) as_opts=-x ;; - * ) as_opts= ;; - esac - exec "$CONFIG_SHELL" $as_opts "$as_myself" ${1+"$@"} -fi - - if test x$as_have_required = xno; then : - $as_echo "$0: This script requires a shell more modern than all" - $as_echo "$0: the shells that I found on your system." - if test x${ZSH_VERSION+set} = xset ; then - $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should" - $as_echo "$0: be upgraded to zsh 4.3.4 or later." - else - $as_echo "$0: Please tell bug-autoconf@gnu.org about your system, -$0: including any error possibly output before this -$0: message. Then install a modern shell, or manually run -$0: the script under such a shell if you do have one." - fi - exit 1 -fi -fi -fi -SHELL=${CONFIG_SHELL-/bin/sh} -export SHELL -# Unset more variables known to interfere with behavior of common tools. -CLICOLOR_FORCE= GREP_OPTIONS= -unset CLICOLOR_FORCE GREP_OPTIONS - -## --------------------- ## -## M4sh Shell Functions. ## -## --------------------- ## -# as_fn_unset VAR -# --------------- -# Portably unset VAR. -as_fn_unset () -{ - { eval $1=; unset $1;} -} -as_unset=as_fn_unset - -# as_fn_set_status STATUS -# ----------------------- -# Set $? to STATUS, without forking. -as_fn_set_status () -{ - return $1 -} # as_fn_set_status - -# as_fn_exit STATUS -# ----------------- -# Exit the shell with STATUS, even in a "trap 0" or "set -e" context. -as_fn_exit () -{ - set +e - as_fn_set_status $1 - exit $1 -} # as_fn_exit - -# as_fn_mkdir_p -# ------------- -# Create "$as_dir" as a directory, including parents if necessary. -as_fn_mkdir_p () -{ - - case $as_dir in #( - -*) as_dir=./$as_dir;; - esac - test -d "$as_dir" || eval $as_mkdir_p || { - as_dirs= - while :; do - case $as_dir in #( - *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'( - *) as_qdir=$as_dir;; - esac - as_dirs="'$as_qdir' $as_dirs" - as_dir=`$as_dirname -- "$as_dir" || -$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$as_dir" : 'X\(//\)[^/]' \| \ - X"$as_dir" : 'X\(//\)$' \| \ - X"$as_dir" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$as_dir" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - test -d "$as_dir" && break - done - test -z "$as_dirs" || eval "mkdir $as_dirs" - } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir" - - -} # as_fn_mkdir_p -# as_fn_append VAR VALUE -# ---------------------- -# Append the text in VALUE to the end of the definition contained in VAR. Take -# advantage of any shell optimizations that allow amortized linear growth over -# repeated appends, instead of the typical quadratic growth present in naive -# implementations. -if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then : - eval 'as_fn_append () - { - eval $1+=\$2 - }' -else - as_fn_append () - { - eval $1=\$$1\$2 - } -fi # as_fn_append - -# as_fn_arith ARG... -# ------------------ -# Perform arithmetic evaluation on the ARGs, and store the result in the -# global $as_val. Take advantage of shells that can avoid forks. The arguments -# must be portable across $(()) and expr. -if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then : - eval 'as_fn_arith () - { - as_val=$(( $* )) - }' -else - as_fn_arith () - { - as_val=`expr "$@" || test $? -eq 1` - } -fi # as_fn_arith - - -# as_fn_error STATUS ERROR [LINENO LOG_FD] -# ---------------------------------------- -# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are -# provided, also output the error to LOG_FD, referencing LINENO. Then exit the -# script with STATUS, using 1 if that was 0. -as_fn_error () -{ - as_status=$1; test $as_status -eq 0 && as_status=1 - if test "$4"; then - as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4 - fi - $as_echo "$as_me: error: $2" >&2 - as_fn_exit $as_status -} # as_fn_error - -if expr a : '\(a\)' >/dev/null 2>&1 && - test "X`expr 00001 : '.*\(...\)'`" = X001; then - as_expr=expr -else - as_expr=false -fi - -if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then - as_basename=basename -else - as_basename=false -fi - -if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then - as_dirname=dirname -else - as_dirname=false -fi - -as_me=`$as_basename -- "$0" || -$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ - X"$0" : 'X\(//\)$' \| \ - X"$0" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X/"$0" | - sed '/^.*\/\([^/][^/]*\)\/*$/{ - s//\1/ - q - } - /^X\/\(\/\/\)$/{ - s//\1/ - q - } - /^X\/\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - -# Avoid depending upon Character Ranges. -as_cr_letters='abcdefghijklmnopqrstuvwxyz' -as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' -as_cr_Letters=$as_cr_letters$as_cr_LETTERS -as_cr_digits='0123456789' -as_cr_alnum=$as_cr_Letters$as_cr_digits - - - as_lineno_1=$LINENO as_lineno_1a=$LINENO - as_lineno_2=$LINENO as_lineno_2a=$LINENO - eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" && - test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || { - # Blame Lee E. McMahon (1931-1989) for sed's syntax. :-) - sed -n ' - p - /[$]LINENO/= - ' <$as_myself | - sed ' - s/[$]LINENO.*/&-/ - t lineno - b - :lineno - N - :loop - s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/ - t loop - s/-\n.*// - ' >$as_me.lineno && - chmod +x "$as_me.lineno" || - { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; } - - # Don't try to exec as it changes $[0], causing all sort of problems - # (the dirname of $[0] is not the place where we might find the - # original and so on. Autoconf is especially sensitive to this). - . "./$as_me.lineno" - # Exit status is that of the last command. - exit -} - -ECHO_C= ECHO_N= ECHO_T= -case `echo -n x` in #((((( --n*) - case `echo 'xy\c'` in - *c*) ECHO_T=' ';; # ECHO_T is single tab character. - xy) ECHO_C='\c';; - *) echo `echo ksh88 bug on AIX 6.1` > /dev/null - ECHO_T=' ';; - esac;; -*) - ECHO_N='-n';; -esac - -rm -f conf$$ conf$$.exe conf$$.file -if test -d conf$$.dir; then - rm -f conf$$.dir/conf$$.file -else - rm -f conf$$.dir - mkdir conf$$.dir 2>/dev/null -fi -if (echo >conf$$.file) 2>/dev/null; then - if ln -s conf$$.file conf$$ 2>/dev/null; then - as_ln_s='ln -s' - # ... but there are two gotchas: - # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail. - # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable. - # In both cases, we have to default to `cp -p'. - ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe || - as_ln_s='cp -p' - elif ln conf$$.file conf$$ 2>/dev/null; then - as_ln_s=ln - else - as_ln_s='cp -p' - fi -else - as_ln_s='cp -p' -fi -rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file -rmdir conf$$.dir 2>/dev/null - -if mkdir -p . 2>/dev/null; then - as_mkdir_p='mkdir -p "$as_dir"' -else - test -d ./-p && rmdir ./-p - as_mkdir_p=false -fi - -if test -x / >/dev/null 2>&1; then - as_test_x='test -x' -else - if ls -dL / >/dev/null 2>&1; then - as_ls_L_option=L - else - as_ls_L_option= - fi - as_test_x=' - eval sh -c '\'' - if test -d "$1"; then - test -d "$1/."; - else - case $1 in #( - -*)set "./$1";; - esac; - case `ls -ld'$as_ls_L_option' "$1" 2>/dev/null` in #(( - ???[sx]*):;;*)false;;esac;fi - '\'' sh - ' -fi -as_executable_p=$as_test_x - -# Sed expression to map a string onto a valid CPP name. -as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'" - -# Sed expression to map a string onto a valid variable name. -as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'" - - -test -n "$DJDIR" || exec 7<&0 &1 - -# Name of the host. -# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status, -# so uname gets run too. -ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` - -# -# Initializations. -# -ac_default_prefix=/usr/local -ac_clean_files= -ac_config_libobj_dir=. -LIBOBJS= -cross_compiling=no -subdirs= -MFLAGS= -MAKEFLAGS= - -# Identity of this package. -PACKAGE_NAME='tsgl' -PACKAGE_TARNAME='tsgl' -PACKAGE_VERSION='0.1' -PACKAGE_STRING='tsgl 0.1' -PACKAGE_BUGREPORT='' -PACKAGE_URL='' - -ac_subst_vars='OBJEXT -EXEEXT -ac_ct_CC -CPPFLAGS -LDFLAGS -CFLAGS -CC -target_alias -host_alias -build_alias -LIBS -ECHO_T -ECHO_N -ECHO_C -DEFS -mandir -localedir -libdir -psdir -pdfdir -dvidir -htmldir -infodir -docdir -oldincludedir -includedir -localstatedir -sharedstatedir -sysconfdir -datadir -datarootdir -libexecdir -sbindir -bindir -program_transform_name -prefix -exec_prefix -PACKAGE_URL -PACKAGE_BUGREPORT -PACKAGE_STRING -PACKAGE_VERSION -PACKAGE_TARNAME -PACKAGE_NAME -PATH_SEPARATOR -SHELL' -ac_subst_files='' -ac_user_opts=' -enable_option_checking -' - ac_precious_vars='build_alias -host_alias -target_alias -CC -CFLAGS -LDFLAGS -LIBS -CPPFLAGS' - - -# Initialize some variables set by options. -ac_init_help= -ac_init_version=false -ac_unrecognized_opts= -ac_unrecognized_sep= -# The variables have the same names as the options, with -# dashes changed to underlines. -cache_file=/dev/null -exec_prefix=NONE -no_create= -no_recursion= -prefix=NONE -program_prefix=NONE -program_suffix=NONE -program_transform_name=s,x,x, -silent= -site= -srcdir= -verbose= -x_includes=NONE -x_libraries=NONE - -# Installation directory options. -# These are left unexpanded so users can "make install exec_prefix=/foo" -# and all the variables that are supposed to be based on exec_prefix -# by default will actually change. -# Use braces instead of parens because sh, perl, etc. also accept them. -# (The list follows the same order as the GNU Coding Standards.) -bindir='${exec_prefix}/bin' -sbindir='${exec_prefix}/sbin' -libexecdir='${exec_prefix}/libexec' -datarootdir='${prefix}/share' -datadir='${datarootdir}' -sysconfdir='${prefix}/etc' -sharedstatedir='${prefix}/com' -localstatedir='${prefix}/var' -includedir='${prefix}/include' -oldincludedir='/usr/include' -docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' -infodir='${datarootdir}/info' -htmldir='${docdir}' -dvidir='${docdir}' -pdfdir='${docdir}' -psdir='${docdir}' -libdir='${exec_prefix}/lib' -localedir='${datarootdir}/locale' -mandir='${datarootdir}/man' - -ac_prev= -ac_dashdash= -for ac_option -do - # If the previous option needs an argument, assign it. - if test -n "$ac_prev"; then - eval $ac_prev=\$ac_option - ac_prev= - continue - fi - - case $ac_option in - *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;; - *=) ac_optarg= ;; - *) ac_optarg=yes ;; - esac - - # Accept the important Cygnus configure options, so we can diagnose typos. - - case $ac_dashdash$ac_option in - --) - ac_dashdash=yes ;; - - -bindir | --bindir | --bindi | --bind | --bin | --bi) - ac_prev=bindir ;; - -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) - bindir=$ac_optarg ;; - - -build | --build | --buil | --bui | --bu) - ac_prev=build_alias ;; - -build=* | --build=* | --buil=* | --bui=* | --bu=*) - build_alias=$ac_optarg ;; - - -cache-file | --cache-file | --cache-fil | --cache-fi \ - | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) - ac_prev=cache_file ;; - -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ - | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) - cache_file=$ac_optarg ;; - - --config-cache | -C) - cache_file=config.cache ;; - - -datadir | --datadir | --datadi | --datad) - ac_prev=datadir ;; - -datadir=* | --datadir=* | --datadi=* | --datad=*) - datadir=$ac_optarg ;; - - -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \ - | --dataroo | --dataro | --datar) - ac_prev=datarootdir ;; - -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \ - | --dataroot=* | --dataroo=* | --dataro=* | --datar=*) - datarootdir=$ac_optarg ;; - - -disable-* | --disable-*) - ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'` - # Reject names that are not valid shell variable names. - expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error $? "invalid feature name: $ac_useropt" - ac_useropt_orig=$ac_useropt - ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` - case $ac_user_opts in - *" -"enable_$ac_useropt" -"*) ;; - *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig" - ac_unrecognized_sep=', ';; - esac - eval enable_$ac_useropt=no ;; - - -docdir | --docdir | --docdi | --doc | --do) - ac_prev=docdir ;; - -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*) - docdir=$ac_optarg ;; - - -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv) - ac_prev=dvidir ;; - -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*) - dvidir=$ac_optarg ;; - - -enable-* | --enable-*) - ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` - # Reject names that are not valid shell variable names. - expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error $? "invalid feature name: $ac_useropt" - ac_useropt_orig=$ac_useropt - ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` - case $ac_user_opts in - *" -"enable_$ac_useropt" -"*) ;; - *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig" - ac_unrecognized_sep=', ';; - esac - eval enable_$ac_useropt=\$ac_optarg ;; - - -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ - | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ - | --exec | --exe | --ex) - ac_prev=exec_prefix ;; - -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ - | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ - | --exec=* | --exe=* | --ex=*) - exec_prefix=$ac_optarg ;; - - -gas | --gas | --ga | --g) - # Obsolete; use --with-gas. - with_gas=yes ;; - - -help | --help | --hel | --he | -h) - ac_init_help=long ;; - -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) - ac_init_help=recursive ;; - -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) - ac_init_help=short ;; - - -host | --host | --hos | --ho) - ac_prev=host_alias ;; - -host=* | --host=* | --hos=* | --ho=*) - host_alias=$ac_optarg ;; - - -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht) - ac_prev=htmldir ;; - -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \ - | --ht=*) - htmldir=$ac_optarg ;; - - -includedir | --includedir | --includedi | --included | --include \ - | --includ | --inclu | --incl | --inc) - ac_prev=includedir ;; - -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ - | --includ=* | --inclu=* | --incl=* | --inc=*) - includedir=$ac_optarg ;; - - -infodir | --infodir | --infodi | --infod | --info | --inf) - ac_prev=infodir ;; - -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) - infodir=$ac_optarg ;; - - -libdir | --libdir | --libdi | --libd) - ac_prev=libdir ;; - -libdir=* | --libdir=* | --libdi=* | --libd=*) - libdir=$ac_optarg ;; - - -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ - | --libexe | --libex | --libe) - ac_prev=libexecdir ;; - -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ - | --libexe=* | --libex=* | --libe=*) - libexecdir=$ac_optarg ;; - - -localedir | --localedir | --localedi | --localed | --locale) - ac_prev=localedir ;; - -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*) - localedir=$ac_optarg ;; - - -localstatedir | --localstatedir | --localstatedi | --localstated \ - | --localstate | --localstat | --localsta | --localst | --locals) - ac_prev=localstatedir ;; - -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ - | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*) - localstatedir=$ac_optarg ;; - - -mandir | --mandir | --mandi | --mand | --man | --ma | --m) - ac_prev=mandir ;; - -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) - mandir=$ac_optarg ;; - - -nfp | --nfp | --nf) - # Obsolete; use --without-fp. - with_fp=no ;; - - -no-create | --no-create | --no-creat | --no-crea | --no-cre \ - | --no-cr | --no-c | -n) - no_create=yes ;; - - -no-recursion | --no-recursion | --no-recursio | --no-recursi \ - | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) - no_recursion=yes ;; - - -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ - | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ - | --oldin | --oldi | --old | --ol | --o) - ac_prev=oldincludedir ;; - -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ - | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ - | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) - oldincludedir=$ac_optarg ;; - - -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) - ac_prev=prefix ;; - -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) - prefix=$ac_optarg ;; - - -program-prefix | --program-prefix | --program-prefi | --program-pref \ - | --program-pre | --program-pr | --program-p) - ac_prev=program_prefix ;; - -program-prefix=* | --program-prefix=* | --program-prefi=* \ - | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) - program_prefix=$ac_optarg ;; - - -program-suffix | --program-suffix | --program-suffi | --program-suff \ - | --program-suf | --program-su | --program-s) - ac_prev=program_suffix ;; - -program-suffix=* | --program-suffix=* | --program-suffi=* \ - | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) - program_suffix=$ac_optarg ;; - - -program-transform-name | --program-transform-name \ - | --program-transform-nam | --program-transform-na \ - | --program-transform-n | --program-transform- \ - | --program-transform | --program-transfor \ - | --program-transfo | --program-transf \ - | --program-trans | --program-tran \ - | --progr-tra | --program-tr | --program-t) - ac_prev=program_transform_name ;; - -program-transform-name=* | --program-transform-name=* \ - | --program-transform-nam=* | --program-transform-na=* \ - | --program-transform-n=* | --program-transform-=* \ - | --program-transform=* | --program-transfor=* \ - | --program-transfo=* | --program-transf=* \ - | --program-trans=* | --program-tran=* \ - | --progr-tra=* | --program-tr=* | --program-t=*) - program_transform_name=$ac_optarg ;; - - -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd) - ac_prev=pdfdir ;; - -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*) - pdfdir=$ac_optarg ;; - - -psdir | --psdir | --psdi | --psd | --ps) - ac_prev=psdir ;; - -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*) - psdir=$ac_optarg ;; - - -q | -quiet | --quiet | --quie | --qui | --qu | --q \ - | -silent | --silent | --silen | --sile | --sil) - silent=yes ;; - - -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) - ac_prev=sbindir ;; - -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ - | --sbi=* | --sb=*) - sbindir=$ac_optarg ;; - - -sharedstatedir | --sharedstatedir | --sharedstatedi \ - | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ - | --sharedst | --shareds | --shared | --share | --shar \ - | --sha | --sh) - ac_prev=sharedstatedir ;; - -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ - | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ - | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ - | --sha=* | --sh=*) - sharedstatedir=$ac_optarg ;; - - -site | --site | --sit) - ac_prev=site ;; - -site=* | --site=* | --sit=*) - site=$ac_optarg ;; - - -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) - ac_prev=srcdir ;; - -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) - srcdir=$ac_optarg ;; - - -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ - | --syscon | --sysco | --sysc | --sys | --sy) - ac_prev=sysconfdir ;; - -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ - | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) - sysconfdir=$ac_optarg ;; - - -target | --target | --targe | --targ | --tar | --ta | --t) - ac_prev=target_alias ;; - -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) - target_alias=$ac_optarg ;; - - -v | -verbose | --verbose | --verbos | --verbo | --verb) - verbose=yes ;; - - -version | --version | --versio | --versi | --vers | -V) - ac_init_version=: ;; - - -with-* | --with-*) - ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` - # Reject names that are not valid shell variable names. - expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error $? "invalid package name: $ac_useropt" - ac_useropt_orig=$ac_useropt - ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` - case $ac_user_opts in - *" -"with_$ac_useropt" -"*) ;; - *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig" - ac_unrecognized_sep=', ';; - esac - eval with_$ac_useropt=\$ac_optarg ;; - - -without-* | --without-*) - ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'` - # Reject names that are not valid shell variable names. - expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null && - as_fn_error $? "invalid package name: $ac_useropt" - ac_useropt_orig=$ac_useropt - ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'` - case $ac_user_opts in - *" -"with_$ac_useropt" -"*) ;; - *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig" - ac_unrecognized_sep=', ';; - esac - eval with_$ac_useropt=no ;; - - --x) - # Obsolete; use --with-x. - with_x=yes ;; - - -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ - | --x-incl | --x-inc | --x-in | --x-i) - ac_prev=x_includes ;; - -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ - | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) - x_includes=$ac_optarg ;; - - -x-libraries | --x-libraries | --x-librarie | --x-librari \ - | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) - ac_prev=x_libraries ;; - -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ - | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) - x_libraries=$ac_optarg ;; - - -*) as_fn_error $? "unrecognized option: \`$ac_option' -Try \`$0 --help' for more information" - ;; - - *=*) - ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` - # Reject names that are not valid shell variable names. - case $ac_envvar in #( - '' | [0-9]* | *[!_$as_cr_alnum]* ) - as_fn_error $? "invalid variable name: \`$ac_envvar'" ;; - esac - eval $ac_envvar=\$ac_optarg - export $ac_envvar ;; - - *) - # FIXME: should be removed in autoconf 3.0. - $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2 - expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && - $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2 - : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}" - ;; - - esac -done - -if test -n "$ac_prev"; then - ac_option=--`echo $ac_prev | sed 's/_/-/g'` - as_fn_error $? "missing argument to $ac_option" -fi - -if test -n "$ac_unrecognized_opts"; then - case $enable_option_checking in - no) ;; - fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;; - *) $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;; - esac -fi - -# Check all directory arguments for consistency. -for ac_var in exec_prefix prefix bindir sbindir libexecdir datarootdir \ - datadir sysconfdir sharedstatedir localstatedir includedir \ - oldincludedir docdir infodir htmldir dvidir pdfdir psdir \ - libdir localedir mandir -do - eval ac_val=\$$ac_var - # Remove trailing slashes. - case $ac_val in - */ ) - ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'` - eval $ac_var=\$ac_val;; - esac - # Be sure to have absolute directory names. - case $ac_val in - [\\/$]* | ?:[\\/]* ) continue;; - NONE | '' ) case $ac_var in *prefix ) continue;; esac;; - esac - as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val" -done - -# There might be people who depend on the old broken behavior: `$host' -# used to hold the argument of --host etc. -# FIXME: To remove some day. -build=$build_alias -host=$host_alias -target=$target_alias - -# FIXME: To remove some day. -if test "x$host_alias" != x; then - if test "x$build_alias" = x; then - cross_compiling=maybe - $as_echo "$as_me: WARNING: if you wanted to set the --build type, don't use --host. - If a cross compiler is detected then cross compile mode will be used" >&2 - elif test "x$build_alias" != "x$host_alias"; then - cross_compiling=yes - fi -fi - -ac_tool_prefix= -test -n "$host_alias" && ac_tool_prefix=$host_alias- - -test "$silent" = yes && exec 6>/dev/null - - -ac_pwd=`pwd` && test -n "$ac_pwd" && -ac_ls_di=`ls -di .` && -ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` || - as_fn_error $? "working directory cannot be determined" -test "X$ac_ls_di" = "X$ac_pwd_ls_di" || - as_fn_error $? "pwd does not report name of working directory" - - -# Find the source files, if location was not specified. -if test -z "$srcdir"; then - ac_srcdir_defaulted=yes - # Try the directory containing this script, then the parent directory. - ac_confdir=`$as_dirname -- "$as_myself" || -$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ - X"$as_myself" : 'X\(//\)[^/]' \| \ - X"$as_myself" : 'X\(//\)$' \| \ - X"$as_myself" : 'X\(/\)' \| . 2>/dev/null || -$as_echo X"$as_myself" | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ - s//\1/ - q - } - /^X\(\/\/\)[^/].*/{ - s//\1/ - q - } - /^X\(\/\/\)$/{ - s//\1/ - q - } - /^X\(\/\).*/{ - s//\1/ - q - } - s/.*/./; q'` - srcdir=$ac_confdir - if test ! -r "$srcdir/$ac_unique_file"; then - srcdir=.. - fi -else - ac_srcdir_defaulted=no -fi -if test ! -r "$srcdir/$ac_unique_file"; then - test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .." - as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir" -fi -ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work" -ac_abs_confdir=`( - cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg" - pwd)` -# When building in place, set srcdir=. -if test "$ac_abs_confdir" = "$ac_pwd"; then - srcdir=. -fi -# Remove unnecessary trailing slashes from srcdir. -# Double slashes in file names in object file debugging info -# mess up M-x gdb in Emacs. -case $srcdir in -*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;; -esac -for ac_var in $ac_precious_vars; do - eval ac_env_${ac_var}_set=\${${ac_var}+set} - eval ac_env_${ac_var}_value=\$${ac_var} - eval ac_cv_env_${ac_var}_set=\${${ac_var}+set} - eval ac_cv_env_${ac_var}_value=\$${ac_var} -done - -# -# Report the --help message. -# -if test "$ac_init_help" = "long"; then - # Omit some internal or obsolete options to make the list less imposing. - # This message is too long to be a string in the A/UX 3.1 sh. - cat <<_ACEOF -\`configure' configures tsgl 0.1 to adapt to many kinds of systems. - -Usage: $0 [OPTION]... [VAR=VALUE]... - -To assign environment variables (e.g., CC, CFLAGS...), specify them as -VAR=VALUE. See below for descriptions of some of the useful variables. - -Defaults for the options are specified in brackets. - -Configuration: - -h, --help display this help and exit - --help=short display options specific to this package - --help=recursive display the short help of all the included packages - -V, --version display version information and exit - -q, --quiet, --silent do not print \`checking ...' messages - --cache-file=FILE cache test results in FILE [disabled] - -C, --config-cache alias for \`--cache-file=config.cache' - -n, --no-create do not create output files - --srcdir=DIR find the sources in DIR [configure dir or \`..'] - -Installation directories: - --prefix=PREFIX install architecture-independent files in PREFIX - [$ac_default_prefix] - --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX - [PREFIX] - -By default, \`make install' will install all the files in -\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify -an installation prefix other than \`$ac_default_prefix' using \`--prefix', -for instance \`--prefix=\$HOME'. - -For better control, use the options below. - -Fine tuning of the installation directories: - --bindir=DIR user executables [EPREFIX/bin] - --sbindir=DIR system admin executables [EPREFIX/sbin] - --libexecdir=DIR program executables [EPREFIX/libexec] - --sysconfdir=DIR read-only single-machine data [PREFIX/etc] - --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] - --localstatedir=DIR modifiable single-machine data [PREFIX/var] - --libdir=DIR object code libraries [EPREFIX/lib] - --includedir=DIR C header files [PREFIX/include] - --oldincludedir=DIR C header files for non-gcc [/usr/include] - --datarootdir=DIR read-only arch.-independent data root [PREFIX/share] - --datadir=DIR read-only architecture-independent data [DATAROOTDIR] - --infodir=DIR info documentation [DATAROOTDIR/info] - --localedir=DIR locale-dependent data [DATAROOTDIR/locale] - --mandir=DIR man documentation [DATAROOTDIR/man] - --docdir=DIR documentation root [DATAROOTDIR/doc/tsgl] - --htmldir=DIR html documentation [DOCDIR] - --dvidir=DIR dvi documentation [DOCDIR] - --pdfdir=DIR pdf documentation [DOCDIR] - --psdir=DIR ps documentation [DOCDIR] -_ACEOF - - cat <<\_ACEOF -_ACEOF -fi - -if test -n "$ac_init_help"; then - case $ac_init_help in - short | recursive ) echo "Configuration of tsgl 0.1:";; - esac - cat <<\_ACEOF - -Some influential environment variables: - CC C compiler command - CFLAGS C compiler flags - LDFLAGS linker flags, e.g. -L if you have libraries in a - nonstandard directory - LIBS libraries to pass to the linker, e.g. -l - CPPFLAGS (Objective) C/C++ preprocessor flags, e.g. -I if - you have headers in a nonstandard directory - -Use these variables to override the choices made by `configure' or to help -it to find libraries and programs with nonstandard names/locations. - -Report bugs to the package provider. -_ACEOF -ac_status=$? -fi - -if test "$ac_init_help" = "recursive"; then - # If there are subdirs, report their specific --help. - for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue - test -d "$ac_dir" || - { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } || - continue - ac_builddir=. - -case "$ac_dir" in -.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;; -*) - ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'` - # A ".." for each directory in $ac_dir_suffix. - ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'` - case $ac_top_builddir_sub in - "") ac_top_builddir_sub=. ac_top_build_prefix= ;; - *) ac_top_build_prefix=$ac_top_builddir_sub/ ;; - esac ;; -esac -ac_abs_top_builddir=$ac_pwd -ac_abs_builddir=$ac_pwd$ac_dir_suffix -# for backward compatibility: -ac_top_builddir=$ac_top_build_prefix - -case $srcdir in - .) # We are building in place. - ac_srcdir=. - ac_top_srcdir=$ac_top_builddir_sub - ac_abs_top_srcdir=$ac_pwd ;; - [\\/]* | ?:[\\/]* ) # Absolute name. - ac_srcdir=$srcdir$ac_dir_suffix; - ac_top_srcdir=$srcdir - ac_abs_top_srcdir=$srcdir ;; - *) # Relative name. - ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix - ac_top_srcdir=$ac_top_build_prefix$srcdir - ac_abs_top_srcdir=$ac_pwd/$srcdir ;; -esac -ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix - - cd "$ac_dir" || { ac_status=$?; continue; } - # Check for guested configure. - if test -f "$ac_srcdir/configure.gnu"; then - echo && - $SHELL "$ac_srcdir/configure.gnu" --help=recursive - elif test -f "$ac_srcdir/configure"; then - echo && - $SHELL "$ac_srcdir/configure" --help=recursive - else - $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 - fi || ac_status=$? - cd "$ac_pwd" || { ac_status=$?; break; } - done -fi - -test -n "$ac_init_help" && exit $ac_status -if $ac_init_version; then - cat <<\_ACEOF -tsgl configure 0.1 -generated by GNU Autoconf 2.68 - -Copyright (C) 2010 Free Software Foundation, Inc. -This configure script is free software; the Free Software Foundation -gives unlimited permission to copy, distribute and modify it. -_ACEOF - exit -fi - -## ------------------------ ## -## Autoconf initialization. ## -## ------------------------ ## - -# ac_fn_c_try_compile LINENO -# -------------------------- -# Try to compile conftest.$ac_ext, and return whether this succeeded. -ac_fn_c_try_compile () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - rm -f conftest.$ac_objext - if { { ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_compile") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - grep -v '^ *+' conftest.err >conftest.er1 - cat conftest.er1 >&5 - mv -f conftest.er1 conftest.err - fi - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest.$ac_objext; then : - ac_retval=0 -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=1 -fi - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - as_fn_set_status $ac_retval - -} # ac_fn_c_try_compile - -# ac_fn_c_try_link LINENO -# ----------------------- -# Try to link conftest.$ac_ext, and return whether this succeeded. -ac_fn_c_try_link () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - rm -f conftest.$ac_objext conftest$ac_exeext - if { { ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - grep -v '^ *+' conftest.err >conftest.er1 - cat conftest.er1 >&5 - mv -f conftest.er1 conftest.err - fi - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - $as_test_x conftest$ac_exeext - }; then : - ac_retval=0 -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=1 -fi - # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information - # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would - # interfere with the next link command; also delete a directory that is - # left behind by Apple's compiler. We do this before executing the actions. - rm -rf conftest.dSYM conftest_ipa8_conftest.oo - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - as_fn_set_status $ac_retval - -} # ac_fn_c_try_link -cat >config.log <<_ACEOF -This file contains any messages produced by compilers while -running configure, to aid debugging if configure makes a mistake. - -It was created by tsgl $as_me 0.1, which was -generated by GNU Autoconf 2.68. Invocation command line was - - $ $0 $@ - -_ACEOF -exec 5>>config.log -{ -cat <<_ASUNAME -## --------- ## -## Platform. ## -## --------- ## - -hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` -uname -m = `(uname -m) 2>/dev/null || echo unknown` -uname -r = `(uname -r) 2>/dev/null || echo unknown` -uname -s = `(uname -s) 2>/dev/null || echo unknown` -uname -v = `(uname -v) 2>/dev/null || echo unknown` - -/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` -/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` - -/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` -/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` -/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` -/usr/bin/hostinfo = `(/usr/bin/hostinfo) 2>/dev/null || echo unknown` -/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` -/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` -/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` - -_ASUNAME - -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - $as_echo "PATH: $as_dir" - done -IFS=$as_save_IFS - -} >&5 - -cat >&5 <<_ACEOF - - -## ----------- ## -## Core tests. ## -## ----------- ## - -_ACEOF - - -# Keep a trace of the command line. -# Strip out --no-create and --no-recursion so they do not pile up. -# Strip out --silent because we don't want to record it for future runs. -# Also quote any args containing shell meta-characters. -# Make two passes to allow for proper duplicate-argument suppression. -ac_configure_args= -ac_configure_args0= -ac_configure_args1= -ac_must_keep_next=false -for ac_pass in 1 2 -do - for ac_arg - do - case $ac_arg in - -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; - -q | -quiet | --quiet | --quie | --qui | --qu | --q \ - | -silent | --silent | --silen | --sile | --sil) - continue ;; - *\'*) - ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; - esac - case $ac_pass in - 1) as_fn_append ac_configure_args0 " '$ac_arg'" ;; - 2) - as_fn_append ac_configure_args1 " '$ac_arg'" - if test $ac_must_keep_next = true; then - ac_must_keep_next=false # Got value, back to normal. - else - case $ac_arg in - *=* | --config-cache | -C | -disable-* | --disable-* \ - | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ - | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ - | -with-* | --with-* | -without-* | --without-* | --x) - case "$ac_configure_args0 " in - "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; - esac - ;; - -* ) ac_must_keep_next=true ;; - esac - fi - as_fn_append ac_configure_args " '$ac_arg'" - ;; - esac - done -done -{ ac_configure_args0=; unset ac_configure_args0;} -{ ac_configure_args1=; unset ac_configure_args1;} - -# When interrupted or exit'd, cleanup temporary files, and complete -# config.log. We remove comments because anyway the quotes in there -# would cause problems or look ugly. -# WARNING: Use '\'' to represent an apostrophe within the trap. -# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug. -trap 'exit_status=$? - # Save into config.log some information that might help in debugging. - { - echo - - $as_echo "## ---------------- ## -## Cache variables. ## -## ---------------- ##" - echo - # The following way of writing the cache mishandles newlines in values, -( - for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do - eval ac_val=\$$ac_var - case $ac_val in #( - *${as_nl}*) - case $ac_var in #( - *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5 -$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;; - esac - case $ac_var in #( - _ | IFS | as_nl) ;; #( - BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #( - *) { eval $ac_var=; unset $ac_var;} ;; - esac ;; - esac - done - (set) 2>&1 | - case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #( - *${as_nl}ac_space=\ *) - sed -n \ - "s/'\''/'\''\\\\'\'''\''/g; - s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p" - ;; #( - *) - sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p" - ;; - esac | - sort -) - echo - - $as_echo "## ----------------- ## -## Output variables. ## -## ----------------- ##" - echo - for ac_var in $ac_subst_vars - do - eval ac_val=\$$ac_var - case $ac_val in - *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; - esac - $as_echo "$ac_var='\''$ac_val'\''" - done | sort - echo - - if test -n "$ac_subst_files"; then - $as_echo "## ------------------- ## -## File substitutions. ## -## ------------------- ##" - echo - for ac_var in $ac_subst_files - do - eval ac_val=\$$ac_var - case $ac_val in - *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;; - esac - $as_echo "$ac_var='\''$ac_val'\''" - done | sort - echo - fi - - if test -s confdefs.h; then - $as_echo "## ----------- ## -## confdefs.h. ## -## ----------- ##" - echo - cat confdefs.h - echo - fi - test "$ac_signal" != 0 && - $as_echo "$as_me: caught signal $ac_signal" - $as_echo "$as_me: exit $exit_status" - } >&5 - rm -f core *.core core.conftest.* && - rm -f -r conftest* confdefs* conf$$* $ac_clean_files && - exit $exit_status -' 0 -for ac_signal in 1 2 13 15; do - trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal -done -ac_signal=0 - -# confdefs.h avoids OS command line length limits that DEFS can exceed. -rm -f -r conftest* confdefs.h - -$as_echo "/* confdefs.h */" > confdefs.h - -# Predefined preprocessor variables. - -cat >>confdefs.h <<_ACEOF -#define PACKAGE_NAME "$PACKAGE_NAME" -_ACEOF - -cat >>confdefs.h <<_ACEOF -#define PACKAGE_TARNAME "$PACKAGE_TARNAME" -_ACEOF - -cat >>confdefs.h <<_ACEOF -#define PACKAGE_VERSION "$PACKAGE_VERSION" -_ACEOF - -cat >>confdefs.h <<_ACEOF -#define PACKAGE_STRING "$PACKAGE_STRING" -_ACEOF - -cat >>confdefs.h <<_ACEOF -#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" -_ACEOF - -cat >>confdefs.h <<_ACEOF -#define PACKAGE_URL "$PACKAGE_URL" -_ACEOF - - -# Let the site file select an alternate cache file if it wants to. -# Prefer an explicitly selected file to automatically selected ones. -ac_site_file1=NONE -ac_site_file2=NONE -if test -n "$CONFIG_SITE"; then - # We do not want a PATH search for config.site. - case $CONFIG_SITE in #(( - -*) ac_site_file1=./$CONFIG_SITE;; - */*) ac_site_file1=$CONFIG_SITE;; - *) ac_site_file1=./$CONFIG_SITE;; - esac -elif test "x$prefix" != xNONE; then - ac_site_file1=$prefix/share/config.site - ac_site_file2=$prefix/etc/config.site -else - ac_site_file1=$ac_default_prefix/share/config.site - ac_site_file2=$ac_default_prefix/etc/config.site -fi -for ac_site_file in "$ac_site_file1" "$ac_site_file2" -do - test "x$ac_site_file" = xNONE && continue - if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5 -$as_echo "$as_me: loading site script $ac_site_file" >&6;} - sed 's/^/| /' "$ac_site_file" >&5 - . "$ac_site_file" \ - || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "failed to load site script $ac_site_file -See \`config.log' for more details" "$LINENO" 5; } - fi -done - -if test -r "$cache_file"; then - # Some versions of bash will fail to source /dev/null (special files - # actually), so we avoid doing that. DJGPP emulates it as a regular file. - if test /dev/null != "$cache_file" && test -f "$cache_file"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5 -$as_echo "$as_me: loading cache $cache_file" >&6;} - case $cache_file in - [\\/]* | ?:[\\/]* ) . "$cache_file";; - *) . "./$cache_file";; - esac - fi -else - { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5 -$as_echo "$as_me: creating cache $cache_file" >&6;} - >$cache_file -fi - -# Check that the precious variables saved in the cache have kept the same -# value. -ac_cache_corrupted=false -for ac_var in $ac_precious_vars; do - eval ac_old_set=\$ac_cv_env_${ac_var}_set - eval ac_new_set=\$ac_env_${ac_var}_set - eval ac_old_val=\$ac_cv_env_${ac_var}_value - eval ac_new_val=\$ac_env_${ac_var}_value - case $ac_old_set,$ac_new_set in - set,) - { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 -$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} - ac_cache_corrupted=: ;; - ,set) - { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5 -$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} - ac_cache_corrupted=: ;; - ,);; - *) - if test "x$ac_old_val" != "x$ac_new_val"; then - # differences in whitespace do not lead to failure. - ac_old_val_w=`echo x $ac_old_val` - ac_new_val_w=`echo x $ac_new_val` - if test "$ac_old_val_w" != "$ac_new_val_w"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5 -$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} - ac_cache_corrupted=: - else - { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5 -$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;} - eval $ac_var=\$ac_old_val - fi - { $as_echo "$as_me:${as_lineno-$LINENO}: former value: \`$ac_old_val'" >&5 -$as_echo "$as_me: former value: \`$ac_old_val'" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: current value: \`$ac_new_val'" >&5 -$as_echo "$as_me: current value: \`$ac_new_val'" >&2;} - fi;; - esac - # Pass precious variables to config.status. - if test "$ac_new_set" = set; then - case $ac_new_val in - *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; - *) ac_arg=$ac_var=$ac_new_val ;; - esac - case " $ac_configure_args " in - *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. - *) as_fn_append ac_configure_args " '$ac_arg'" ;; - esac - fi -done -if $ac_cache_corrupted; then - { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} - { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5 -$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;} - as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5 -fi -## -------------------- ## -## Main body of script. ## -## -------------------- ## - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - - #Fire up autoconf - -#Libraries to check for (Linux only) -freetype=1 -glfw=1 -GL=1 -GLEW=1 - -#Check for them -LDFLAGS="$LDFLAGS -L/opt/AMDAPP/lib/x86_64/" #Get path where GLEW is -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu -if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. -set dummy ${ac_tool_prefix}gcc; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_CC="${ac_tool_prefix}gcc" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 -$as_echo "$CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$ac_cv_prog_CC"; then - ac_ct_CC=$CC - # Extract the first word of "gcc", so it can be a program name with args. -set dummy gcc; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_CC"; then - ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_ac_ct_CC="gcc" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_CC=$ac_cv_prog_ac_ct_CC -if test -n "$ac_ct_CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 -$as_echo "$ac_ct_CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - if test "x$ac_ct_CC" = x; then - CC="" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - CC=$ac_ct_CC - fi -else - CC="$ac_cv_prog_CC" -fi - -if test -z "$CC"; then - if test -n "$ac_tool_prefix"; then - # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. -set dummy ${ac_tool_prefix}cc; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_CC="${ac_tool_prefix}cc" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 -$as_echo "$CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - fi -fi -if test -z "$CC"; then - # Extract the first word of "cc", so it can be a program name with args. -set dummy cc; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else - ac_prog_rejected=no -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then - ac_prog_rejected=yes - continue - fi - ac_cv_prog_CC="cc" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -if test $ac_prog_rejected = yes; then - # We found a bogon in the path, so make sure we never use it. - set dummy $ac_cv_prog_CC - shift - if test $# != 0; then - # We chose a different compiler from the bogus one. - # However, it has the same basename, so the bogon will be chosen - # first if we set CC to just the basename; use the full file name. - shift - ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" - fi -fi -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 -$as_echo "$CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - -fi -if test -z "$CC"; then - if test -n "$ac_tool_prefix"; then - for ac_prog in cl.exe - do - # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. -set dummy $ac_tool_prefix$ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$CC"; then - ac_cv_prog_CC="$CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_CC="$ac_tool_prefix$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -CC=$ac_cv_prog_CC -if test -n "$CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5 -$as_echo "$CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$CC" && break - done -fi -if test -z "$CC"; then - ac_ct_CC=$CC - for ac_prog in cl.exe -do - # Extract the first word of "$ac_prog", so it can be a program name with args. -set dummy $ac_prog; ac_word=$2 -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 -$as_echo_n "checking for $ac_word... " >&6; } -if ${ac_cv_prog_ac_ct_CC+:} false; then : - $as_echo_n "(cached) " >&6 -else - if test -n "$ac_ct_CC"; then - ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. -else -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR -for as_dir in $PATH -do - IFS=$as_save_IFS - test -z "$as_dir" && as_dir=. - for ac_exec_ext in '' $ac_executable_extensions; do - if { test -f "$as_dir/$ac_word$ac_exec_ext" && $as_test_x "$as_dir/$ac_word$ac_exec_ext"; }; then - ac_cv_prog_ac_ct_CC="$ac_prog" - $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5 - break 2 - fi -done - done -IFS=$as_save_IFS - -fi -fi -ac_ct_CC=$ac_cv_prog_ac_ct_CC -if test -n "$ac_ct_CC"; then - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5 -$as_echo "$ac_ct_CC" >&6; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -fi - - - test -n "$ac_ct_CC" && break -done - - if test "x$ac_ct_CC" = x; then - CC="" - else - case $cross_compiling:$ac_tool_warned in -yes:) -{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5 -$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;} -ac_tool_warned=yes ;; -esac - CC=$ac_ct_CC - fi -fi - -fi - - -test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "no acceptable C compiler found in \$PATH -See \`config.log' for more details" "$LINENO" 5; } - -# Provide some information about the compiler. -$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5 -set X $ac_compile -ac_compiler=$2 -for ac_option in --version -v -V -qversion; do - { { ac_try="$ac_compiler $ac_option >&5" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_compiler $ac_option >&5") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - sed '10a\ -... rest of stderr output deleted ... - 10q' conftest.err >conftest.er1 - cat conftest.er1 >&5 - fi - rm -f conftest.er1 conftest.err - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } -done - -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -ac_clean_files_save=$ac_clean_files -ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out" -# Try to create an executable without -o first, disregard a.out. -# It will help us diagnose broken compilers, and finding out an intuition -# of exeext. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5 -$as_echo_n "checking whether the C compiler works... " >&6; } -ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` - -# The possible output files: -ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*" - -ac_rmfiles= -for ac_file in $ac_files -do - case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; - * ) ac_rmfiles="$ac_rmfiles $ac_file";; - esac -done -rm -f $ac_rmfiles - -if { { ac_try="$ac_link_default" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link_default") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then : - # Autoconf-2.13 could set the ac_cv_exeext variable to `no'. -# So ignore a value of `no', otherwise this would lead to `EXEEXT = no' -# in a Makefile. We should not override ac_cv_exeext if it was cached, -# so that the user can short-circuit this test for compilers unknown to -# Autoconf. -for ac_file in $ac_files '' -do - test -f "$ac_file" || continue - case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) - ;; - [ab].out ) - # We found the default executable, but exeext='' is most - # certainly right. - break;; - *.* ) - if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no; - then :; else - ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` - fi - # We set ac_cv_exeext here because the later test for it is not - # safe: cross compilers may not add the suffix if given an `-o' - # argument, so we may need to know it at that point already. - # Even if this section looks crufty: it has the advantage of - # actually working. - break;; - * ) - break;; - esac -done -test "$ac_cv_exeext" = no && ac_cv_exeext= - -else - ac_file='' -fi -if test -z "$ac_file"; then : - { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5 -$as_echo "no" >&6; } -$as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error 77 "C compiler cannot create executables -See \`config.log' for more details" "$LINENO" 5; } -else - { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5 -$as_echo "yes" >&6; } -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5 -$as_echo_n "checking for C compiler default output file name... " >&6; } -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5 -$as_echo "$ac_file" >&6; } -ac_exeext=$ac_cv_exeext - -rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out -ac_clean_files=$ac_clean_files_save -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5 -$as_echo_n "checking for suffix of executables... " >&6; } -if { { ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then : - # If both `conftest.exe' and `conftest' are `present' (well, observable) -# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will -# work properly (i.e., refer to `conftest.exe'), while it won't with -# `rm'. -for ac_file in conftest.exe conftest conftest.*; do - test -f "$ac_file" || continue - case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;; - *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` - break;; - * ) break;; - esac -done -else - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "cannot compute suffix of executables: cannot compile and link -See \`config.log' for more details" "$LINENO" 5; } -fi -rm -f conftest conftest$ac_cv_exeext -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5 -$as_echo "$ac_cv_exeext" >&6; } - -rm -f conftest.$ac_ext -EXEEXT=$ac_cv_exeext -ac_exeext=$EXEEXT -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -int -main () -{ -FILE *f = fopen ("conftest.out", "w"); - return ferror (f) || fclose (f) != 0; - - ; - return 0; -} -_ACEOF -ac_clean_files="$ac_clean_files conftest.out" -# Check that the compiler produces executables we can run. If not, either -# the compiler is broken, or we cross compile. -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5 -$as_echo_n "checking whether we are cross compiling... " >&6; } -if test "$cross_compiling" != yes; then - { { ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_link") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } - if { ac_try='./conftest$ac_cv_exeext' - { { case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_try") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; }; then - cross_compiling=no - else - if test "$cross_compiling" = maybe; then - cross_compiling=yes - else - { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "cannot run C compiled programs. -If you meant to cross compile, use \`--host'. -See \`config.log' for more details" "$LINENO" 5; } - fi - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5 -$as_echo "$cross_compiling" >&6; } - -rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out -ac_clean_files=$ac_clean_files_save -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5 -$as_echo_n "checking for suffix of object files... " >&6; } -if ${ac_cv_objext+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -rm -f conftest.o conftest.obj -if { { ac_try="$ac_compile" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -$as_echo "$ac_try_echo"; } >&5 - (eval "$ac_compile") 2>&5 - ac_status=$? - $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; }; then : - for ac_file in conftest.o conftest.obj conftest.*; do - test -f "$ac_file" || continue; - case $ac_file in - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;; - *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` - break;; - esac -done -else - $as_echo "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - -{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 -$as_echo "$as_me: error: in \`$ac_pwd':" >&2;} -as_fn_error $? "cannot compute suffix of object files: cannot compile -See \`config.log' for more details" "$LINENO" 5; } -fi -rm -f conftest.$ac_cv_objext conftest.$ac_ext -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5 -$as_echo "$ac_cv_objext" >&6; } -OBJEXT=$ac_cv_objext -ac_objext=$OBJEXT -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5 -$as_echo_n "checking whether we are using the GNU C compiler... " >&6; } -if ${ac_cv_c_compiler_gnu+:} false; then : - $as_echo_n "(cached) " >&6 -else - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ -#ifndef __GNUC__ - choke me -#endif - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_compiler_gnu=yes -else - ac_compiler_gnu=no -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -ac_cv_c_compiler_gnu=$ac_compiler_gnu - -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5 -$as_echo "$ac_cv_c_compiler_gnu" >&6; } -if test $ac_compiler_gnu = yes; then - GCC=yes -else - GCC= -fi -ac_test_CFLAGS=${CFLAGS+set} -ac_save_CFLAGS=$CFLAGS -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5 -$as_echo_n "checking whether $CC accepts -g... " >&6; } -if ${ac_cv_prog_cc_g+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_save_c_werror_flag=$ac_c_werror_flag - ac_c_werror_flag=yes - ac_cv_prog_cc_g=no - CFLAGS="-g" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_prog_cc_g=yes -else - CFLAGS="" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - -else - ac_c_werror_flag=$ac_save_c_werror_flag - CFLAGS="-g" - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -int -main () -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_prog_cc_g=yes -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext -fi -rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext - ac_c_werror_flag=$ac_save_c_werror_flag -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5 -$as_echo "$ac_cv_prog_cc_g" >&6; } -if test "$ac_test_CFLAGS" = set; then - CFLAGS=$ac_save_CFLAGS -elif test $ac_cv_prog_cc_g = yes; then - if test "$GCC" = yes; then - CFLAGS="-g -O2" - else - CFLAGS="-g" - fi -else - if test "$GCC" = yes; then - CFLAGS="-O2" - else - CFLAGS= - fi -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5 -$as_echo_n "checking for $CC option to accept ISO C89... " >&6; } -if ${ac_cv_prog_cc_c89+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_cv_prog_cc_c89=no -ac_save_CC=$CC -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include -#include -#include -#include -/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ -struct buf { int x; }; -FILE * (*rcsopen) (struct buf *, struct stat *, int); -static char *e (p, i) - char **p; - int i; -{ - return p[i]; -} -static char *f (char * (*g) (char **, int), char **p, ...) -{ - char *s; - va_list v; - va_start (v,p); - s = g (p, va_arg (v,int)); - va_end (v); - return s; -} - -/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default. It has - function prototypes and stuff, but not '\xHH' hex character constants. - These don't provoke an error unfortunately, instead are silently treated - as 'x'. The following induces an error, until -std is added to get - proper ANSI mode. Curiously '\x00'!='x' always comes out true, for an - array size at least. It's necessary to write '\x00'==0 to get something - that's true only with -std. */ -int osf4_cc_array ['\x00' == 0 ? 1 : -1]; - -/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters - inside strings and character constants. */ -#define FOO(x) 'x' -int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1]; - -int test (int i, double x); -struct s1 {int (*f) (int a);}; -struct s2 {int (*f) (double a);}; -int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); -int argc; -char **argv; -int -main () -{ -return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; - ; - return 0; -} -_ACEOF -for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \ - -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" -do - CC="$ac_save_CC $ac_arg" - if ac_fn_c_try_compile "$LINENO"; then : - ac_cv_prog_cc_c89=$ac_arg -fi -rm -f core conftest.err conftest.$ac_objext - test "x$ac_cv_prog_cc_c89" != "xno" && break -done -rm -f conftest.$ac_ext -CC=$ac_save_CC - -fi -# AC_CACHE_VAL -case "x$ac_cv_prog_cc_c89" in - x) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5 -$as_echo "none needed" >&6; } ;; - xno) - { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5 -$as_echo "unsupported" >&6; } ;; - *) - CC="$CC $ac_cv_prog_cc_c89" - { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5 -$as_echo "$ac_cv_prog_cc_c89" >&6; } ;; -esac -if test "x$ac_cv_prog_cc_c89" != xno; then : - -fi - -ac_ext=c -ac_cpp='$CPP $CPPFLAGS' -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' -ac_compiler_gnu=$ac_cv_c_compiler_gnu - -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing glewInit" >&5 -$as_echo_n "checking for library containing glewInit... " >&6; } -if ${ac_cv_search_glewInit+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_func_search_save_LIBS=$LIBS -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char glewInit (); -int -main () -{ -return glewInit (); - ; - return 0; -} -_ACEOF -for ac_lib in '' GLEW; do - if test -z "$ac_lib"; then - ac_res="none required" - else - ac_res=-l$ac_lib - LIBS="-l$ac_lib $ac_func_search_save_LIBS" - fi - if ac_fn_c_try_link "$LINENO"; then : - ac_cv_search_glewInit=$ac_res -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext - if ${ac_cv_search_glewInit+:} false; then : - break -fi -done -if ${ac_cv_search_glewInit+:} false; then : - -else - ac_cv_search_glewInit=no -fi -rm conftest.$ac_ext -LIBS=$ac_func_search_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_glewInit" >&5 -$as_echo "$ac_cv_search_glewInit" >&6; } -ac_res=$ac_cv_search_glewInit -if test "$ac_res" != no; then : - test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" - -else - GLEW=0 -fi - #GLEW -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing FT_Done_FreeType" >&5 -$as_echo_n "checking for library containing FT_Done_FreeType... " >&6; } -if ${ac_cv_search_FT_Done_FreeType+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_func_search_save_LIBS=$LIBS -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char FT_Done_FreeType (); -int -main () -{ -return FT_Done_FreeType (); - ; - return 0; -} -_ACEOF -for ac_lib in '' freetype; do - if test -z "$ac_lib"; then - ac_res="none required" - else - ac_res=-l$ac_lib - LIBS="-l$ac_lib $ac_func_search_save_LIBS" - fi - if ac_fn_c_try_link "$LINENO"; then : - ac_cv_search_FT_Done_FreeType=$ac_res -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext - if ${ac_cv_search_FT_Done_FreeType+:} false; then : - break -fi -done -if ${ac_cv_search_FT_Done_FreeType+:} false; then : - -else - ac_cv_search_FT_Done_FreeType=no -fi -rm conftest.$ac_ext -LIBS=$ac_func_search_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_FT_Done_FreeType" >&5 -$as_echo "$ac_cv_search_FT_Done_FreeType" >&6; } -ac_res=$ac_cv_search_FT_Done_FreeType -if test "$ac_res" != no; then : - test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" - -else - freetype=0 -fi - #freetype -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing glfwPollEvents" >&5 -$as_echo_n "checking for library containing glfwPollEvents... " >&6; } -if ${ac_cv_search_glfwPollEvents+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_func_search_save_LIBS=$LIBS -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char glfwPollEvents (); -int -main () -{ -return glfwPollEvents (); - ; - return 0; -} -_ACEOF -for ac_lib in '' glfw; do - if test -z "$ac_lib"; then - ac_res="none required" - else - ac_res=-l$ac_lib - LIBS="-l$ac_lib $ac_func_search_save_LIBS" - fi - if ac_fn_c_try_link "$LINENO"; then : - ac_cv_search_glfwPollEvents=$ac_res -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext - if ${ac_cv_search_glfwPollEvents+:} false; then : - break -fi -done -if ${ac_cv_search_glfwPollEvents+:} false; then : - -else - ac_cv_search_glfwPollEvents=no -fi -rm conftest.$ac_ext -LIBS=$ac_func_search_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_glfwPollEvents" >&5 -$as_echo "$ac_cv_search_glfwPollEvents" >&6; } -ac_res=$ac_cv_search_glfwPollEvents -if test "$ac_res" != no; then : - test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" - -else - glfw=0 -fi - #glfw -{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing glDrawArrays" >&5 -$as_echo_n "checking for library containing glDrawArrays... " >&6; } -if ${ac_cv_search_glDrawArrays+:} false; then : - $as_echo_n "(cached) " >&6 -else - ac_func_search_save_LIBS=$LIBS -cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ - -/* Override any GCC internal prototype to avoid an error. - Use char because int might match the return type of a GCC - builtin and then its argument prototype would still apply. */ -#ifdef __cplusplus -extern "C" -#endif -char glDrawArrays (); -int -main () -{ -return glDrawArrays (); - ; - return 0; -} -_ACEOF -for ac_lib in '' GL; do - if test -z "$ac_lib"; then - ac_res="none required" - else - ac_res=-l$ac_lib - LIBS="-l$ac_lib $ac_func_search_save_LIBS" - fi - if ac_fn_c_try_link "$LINENO"; then : - ac_cv_search_glDrawArrays=$ac_res -fi -rm -f core conftest.err conftest.$ac_objext \ - conftest$ac_exeext - if ${ac_cv_search_glDrawArrays+:} false; then : - break -fi -done -if ${ac_cv_search_glDrawArrays+:} false; then : - -else - ac_cv_search_glDrawArrays=no -fi -rm conftest.$ac_ext -LIBS=$ac_func_search_save_LIBS -fi -{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_glDrawArrays" >&5 -$as_echo "$ac_cv_search_glDrawArrays" >&6; } -ac_res=$ac_cv_search_glDrawArrays -if test "$ac_res" != no; then : - test "$ac_res" = "none required" || LIBS="$ac_res $LIBS" - -else - GL=0 -fi - #GL - -#Check if any of the flags have been reset.... -if test $freetype == 0 -then - { $as_echo "$as_me:${as_lineno-$LINENO}: Freetype library not found. Install this library before proceeding." >&5 -$as_echo "$as_me: Freetype library not found. Install this library before proceeding." >&6;} #freetype - exit 1 -elif test $glfw == 0 -then - { $as_echo "$as_me:${as_lineno-$LINENO}: One of the libraries not found." >&5 -$as_echo "$as_me: One of the libraries not found." >&6;} #glfw -elif test $GL == 0 -then - { $as_echo "$as_me:${as_lineno-$LINENO}: One of the libraries not found." >&5 -$as_echo "$as_me: One of the libraries not found." >&6;} #GL -elif test $GLEW == 0 -then - { $as_echo "$as_me:${as_lineno-$LINENO}: One of the libraries not found." >&5 -$as_echo "$as_me: One of the libraries not found." >&6;} #GLEW -else - { $as_echo "$as_me:${as_lineno-$LINENO}: All libraries present." >&5 -$as_echo "$as_me: All libraries present." >&6;} -fi - -echo - -echo "Getting dependencies (or updating if all found)..." - -#Get the necessary dependencies needed for glfw as well as for Doxygen and git -sudo apt-get install --yes --force-yes build-essential devscripts libtool cmake xorg-dev libxrandr-dev libxi-dev x11proto-xf86vidmode-dev libglu1-mesa-dev git libglew-dev doxygen - -echo - -#Get the glfw library -git clone https://github.com/glfw/glfw.git || exit 1 - -#go into it -cd glfw - -#cmake command -cmake -DCMAKE_INSTALL_PREFIX:PATH=/usr/local -DBUILD_SHARED_LIBS=ON - -#Make and install -make - -sudo make install - -cd .. - -#Take it out -sudo rm -rf glfw - -echo - -echo "Dependencies installed!" - -echo - -#Clean install = Remove the TSGL folder and lib files if they already exist -sudo rm -rf /usr/local/include/TSGL -sudo rm -rf /usr/local/lib/libtsgl.* - -#A weird bug occurs whenever I install ONLY glfw. I have to install and uninstall libglfw-dev in order for it to work. -sudo apt-get --yes --force-yes install libglfw-dev -sudo apt-get --yes --force-yes remove libglfw-dev - -#Create the following directories (Since they aren't included in github but are needed) -mkdir lib bin - -#Make the library -make - -#Install it -sudo make install - -#Take out the .cpp files from the TSGL library package folder -sudo rm -rf /usr/local/include/TSGL/*.cpp - -#Take out the config.log file that is made when you run the install script -sudo rm -f config.log - -#Final step (.so file won't be found unless I do this...) -sudo ldconfig - -{ $as_echo "$as_me:${as_lineno-$LINENO}: Installation complete! Execute runtests to check if everything installed correctly!" >&5 -$as_echo "$as_me: Installation complete! Execute runtests to check if everything installed correctly!" >&6;} diff --git a/pics/Car-colors.jpg b/pics/Car-colors.jpg new file mode 100644 index 000000000..9e4d8f37b Binary files /dev/null and b/pics/Car-colors.jpg differ diff --git a/pics/Colorful-cars.jpg b/pics/Colorful-cars.jpg new file mode 100644 index 000000000..9f8f629fc Binary files /dev/null and b/pics/Colorful-cars.jpg differ diff --git a/pics/HDR_landscape.jpg b/pics/HDR_landscape.jpg new file mode 100644 index 000000000..2ea9702a0 Binary files /dev/null and b/pics/HDR_landscape.jpg differ diff --git a/pics/Messier51.jpg b/pics/Messier51.jpg new file mode 100644 index 000000000..7f464e740 Binary files /dev/null and b/pics/Messier51.jpg differ diff --git a/pics/R8.jpg b/pics/R8.jpg new file mode 100644 index 000000000..39b409957 Binary files /dev/null and b/pics/R8.jpg differ diff --git a/pics/background.jpg b/pics/background.jpg new file mode 100644 index 000000000..605b021c7 Binary files /dev/null and b/pics/background.jpg differ diff --git a/pics/ball.png b/pics/ball.png new file mode 100644 index 000000000..a6a5696cc Binary files /dev/null and b/pics/ball.png differ diff --git a/pics/bestpicture.jpg b/pics/bestpicture.jpg new file mode 100644 index 000000000..6eccdc890 Binary files /dev/null and b/pics/bestpicture.jpg differ diff --git a/pics/color_wheel_730.png b/pics/color_wheel_730.png new file mode 100644 index 000000000..2ac896960 Binary files /dev/null and b/pics/color_wheel_730.png differ diff --git a/pics/colorful-cars-circle.jpg b/pics/colorful-cars-circle.jpg new file mode 100644 index 000000000..29f9f3498 Binary files /dev/null and b/pics/colorful-cars-circle.jpg differ diff --git a/pics/colorfulKeyboard.jpg b/pics/colorfulKeyboard.jpg new file mode 100644 index 000000000..354b5333d Binary files /dev/null and b/pics/colorfulKeyboard.jpg differ diff --git a/pics/colorful_cars.jpg b/pics/colorful_cars.jpg new file mode 100644 index 000000000..b4b8114ba Binary files /dev/null and b/pics/colorful_cars.jpg differ diff --git a/pics/cow.jpg b/pics/cow.jpg new file mode 100644 index 000000000..c536a095e Binary files /dev/null and b/pics/cow.jpg differ diff --git a/pics/ff0000.png b/pics/ff0000.png new file mode 100644 index 000000000..08cdee145 Binary files /dev/null and b/pics/ff0000.png differ diff --git a/pics/grass.png b/pics/grass.png new file mode 100644 index 000000000..a8e09c84c Binary files /dev/null and b/pics/grass.png differ diff --git a/pics/launch.bmp b/pics/launch.bmp new file mode 100644 index 000000000..0e397c41b Binary files /dev/null and b/pics/launch.bmp differ diff --git a/pics/lowDimImage.jpg b/pics/lowDimImage.jpg new file mode 100644 index 000000000..34171ba09 Binary files /dev/null and b/pics/lowDimImage.jpg differ diff --git a/pics/ship.bmp b/pics/ship.bmp new file mode 100644 index 000000000..efc2666ab Binary files /dev/null and b/pics/ship.bmp differ diff --git a/pics/shiprgb.bmp b/pics/shiprgb.bmp new file mode 100644 index 000000000..c40efc548 Binary files /dev/null and b/pics/shiprgb.bmp differ diff --git a/pics/sky_main.jpg b/pics/sky_main.jpg new file mode 100644 index 000000000..663c47297 Binary files /dev/null and b/pics/sky_main.jpg differ diff --git a/pics/spaghet.png b/pics/spaghet.png new file mode 100644 index 000000000..929366654 Binary files /dev/null and b/pics/spaghet.png differ diff --git a/pics/spec1.jpg b/pics/spec1.jpg new file mode 100644 index 000000000..cb2622ffc Binary files /dev/null and b/pics/spec1.jpg differ diff --git a/pics/test.png b/pics/test.png new file mode 100644 index 000000000..7fa466aad Binary files /dev/null and b/pics/test.png differ diff --git a/runexamples b/runexamples index b241c989b..a40e113a6 100755 --- a/runexamples +++ b/runexamples @@ -27,7 +27,9 @@ run ./$EXAMPLES_PATH/DiningPhilosophers/testPhilosophers run ./$EXAMPLES_PATH/DiningPhilosophers3D/test3DPhilosophers run ./$EXAMPLES_PATH/Fireworks/testFireworks run ./$EXAMPLES_PATH/ForestFire/testForestFire +run ./$EXAMPLES_PATH/Knapsack/Knapsack 2 Yes run ./$EXAMPLES_PATH/Langton/testLangton +run ./$EXAMPLES_PATH/LongestCommonSubstring/LCS 2 car racecardriver Yes run ./$EXAMPLES_PATH/Mandelbrot/testMandelbrot run ./$EXAMPLES_PATH/MergeSort/testMergeSort run ./$EXAMPLES_PATH/NewtonPendulum/testNewtonPendulum 900 400 11 # Width, Height, Number Of Balls @@ -42,4 +44,4 @@ run ./$EXAMPLES_PATH/ThreadedArrayAddition/testThreadedArrayAddition run ./$EXAMPLES_PATH/ThreadedArrayBubbleSort/testThreadedArrayBubbleSort run ./$EXAMPLES_PATH/ThreadedArrayOperations/testThreadedArrayOperations run ./$EXAMPLES_PATH/ThreadedSolarSystem/testThreadedSolarSystem -run ./$EXAMPLES_PATH/Voronoi/testVoronoi \ No newline at end of file +run ./$EXAMPLES_PATH/Voronoi/testVoronoi diff --git a/src/TSGL/Canvas.cpp b/src/TSGL/Canvas.cpp index 795c1b735..e213997f7 100644 --- a/src/TSGL/Canvas.cpp +++ b/src/TSGL/Canvas.cpp @@ -1,4 +1,5 @@ #include "Canvas.h" +#include // From stb_image.h: // Do this: @@ -16,7 +17,7 @@ namespace tsgl { // Shader sources -static const GLchar* shapeVertexShader = +static const GLchar* shapeVertexShader = "#version 330 core\n" "layout (location = 0) in vec3 aPos;" "layout (location = 1) in vec4 aColor;" @@ -37,7 +38,7 @@ static const GLchar* shapeFragmentShader = "FragColor = color;" "}"; -static const GLchar* textVertexShader = +static const GLchar* textVertexShader = "#version 330 core\n" "layout (location = 0) in vec3 aPos;" "layout (location = 1) in vec2 aTexCoord;" @@ -62,7 +63,7 @@ static const GLchar* textFragmentShader = "FragColor = textColor * sampled;" "}"; -static const GLchar* textureVertexShader = +static const GLchar* textureVertexShader = "#version 330 core\n" "layout (location = 0) in vec3 aPos;" "layout (location = 1) in vec2 aTexCoord;" @@ -75,7 +76,7 @@ static const GLchar* textureVertexShader = "TexCoords = vec2(aTexCoord.x, aTexCoord.y);" "}"; -static const GLchar* textureFragmentShader = +static const GLchar* textureFragmentShader = "#version 330 core\n" "out vec4 FragColor;" "in vec2 TexCoords;" @@ -322,7 +323,7 @@ void Canvas::draw() screenShot(); captureScreen = false; } - + // Update Screen glfwSwapBuffers(window); @@ -643,7 +644,7 @@ void Canvas::initGlew() { textShader = new Shader(textVertexShader, textFragmentShader); - shapeShader = new Shader(shapeVertexShader, shapeFragmentShader); + shapeShader = new Shader(shapeVertexShader, shapeFragmentShader); textureShader = new Shader(textureVertexShader, textureFragmentShader); @@ -739,7 +740,7 @@ void Canvas::initWindow() { screenBuffer[i] = 0; } screenBufferMutex.unlock(); - + // Get info of GPU and supported OpenGL version // printf("Renderer: %s\n", glGetString(GL_RENDERER)); // printf("OpenGL version supported %s\n", glGetString(GL_VERSION)); @@ -789,8 +790,11 @@ void Canvas::pauseDrawing() { * \details The function automatically terminates after num_frames cycles have completed. * \param num_frames The number of frames to dump screenshots for. */ -void Canvas::recordForNumFrames(unsigned int num_frames) { +void Canvas::recordForNumFrames(unsigned int num_frames, const std::string& newCapturePrefix) { toRecord = num_frames; + if(newCapturePrefix != "") { + capturePrefix = newCapturePrefix; + } } /*! @@ -945,8 +949,9 @@ void Canvas::run(void (*myFunction)(Canvas&, int, char**), int argc, char* argv[ } void Canvas::screenShot() { - char filename[25]; - sprintf(filename, "Image%06d.png", frameCounter); // TODO: Make this save somewhere not in root + char sufix[20]; + sprintf(sufix, "%06d.png", frameCounter); + std::string filename = capturePrefix + sufix; screenBufferMutex.lock(); // loader.saveImageToFile(filename, screenBuffer, framebufferWidth, winHeight); @@ -959,7 +964,7 @@ void Canvas::screenShot() { screenBuffer[s2] = tmp; } } - stbi_write_png(filename, framebufferWidth, framebufferHeight, 3, screenBuffer, 0); + stbi_write_png(filename.c_str(), framebufferWidth, framebufferHeight, 3, screenBuffer, 0); screenBufferMutex.unlock(); } @@ -1099,8 +1104,11 @@ void Canvas::stopRecording() { * \details Images are saved as ImageXXXXXX.png, where XXXXXX is the current frame number. * \bug Multiple calls to this function in rapid succession render the FPS counter inaccurate. */ -void Canvas::takeScreenShot() { +void Canvas::takeScreenShot(const std::string& newCapturePrefix) { if (toRecord == 0) toRecord = 1; + if(newCapturePrefix != "") { + capturePrefix = newCapturePrefix; + } } void Canvas::selectShaders(unsigned int sType) { @@ -1140,7 +1148,7 @@ void Canvas::selectShaders(unsigned int sType) { glVertexAttribPointer(texAttrib, 2, GL_FLOAT, GL_FALSE, 5 * sizeof(float), (void*)(3 * sizeof(float))); program->use(); } - + // Recompute the camera matrices uniModel = glGetUniformLocation(program->ID, "model"); uniView = glGetUniformLocation(program->ID, "view"); diff --git a/src/TSGL/Canvas.h b/src/TSGL/Canvas.h index a4fb35a36..8e277d2ed 100644 --- a/src/TSGL/Canvas.h +++ b/src/TSGL/Canvas.h @@ -102,7 +102,8 @@ class Canvas { GLint framebufferHeight; int frameCounter; // Counter for the number of frames that have elapsed in the current session (for animations) bool isFinished; // If the rendering is done, which will signal the window to close - bool keyDown; // If a key is being pressed. Prevents an action from happening twice + bool keyDown; + std::string capturePrefix = "Image"; // If a key is being pressed. Prevents an action from happening twice int monitorX, monitorY; // Monitor position for upper left corner double mouseX, mouseY; // Location of the mouse once HandleIO() has been called Background * myBackground; // Pointer to the Background drawn each frame @@ -150,10 +151,10 @@ class Canvas { static void errorCallback(int error, const char* string); // Display where an error is coming from void glDestroy(); // Destroys the GL and GLFW things that are specific for this canvas void init(int xx,int yy,int ww,int hh, - std::string title, - ColorFloat backgroundColor, Background * background, + std::string title, + ColorFloat backgroundColor, Background * background, double timerLength); // Method for initializing the canvas - void initBackground(Background * background, + void initBackground(Background * background, ColorFloat bgcolor); // Initializes myBackground void initGl(); // Initializes the GL things specific to the Canvas void initGlew(); // Initialized the GLEW things specific to the Canvas @@ -231,7 +232,7 @@ class Canvas { void pauseDrawing(); - void recordForNumFrames(unsigned int num_frames); + void recordForNumFrames(unsigned int num_frames, const std::string& newCaputurePrefix = ""); void remove(Drawable * shapePtr); @@ -246,7 +247,7 @@ class Canvas { virtual void run(void (*myFunction)(Canvas&, unsigned), unsigned u); virtual void run(void (*myFunction)(Canvas&, int, int), int i1, int i2); - + virtual void run(void (*myFunction)(Canvas&, int, int, int), int i1, int i2, int i3); virtual void run(void (*myFunction)(Canvas&, unsigned, unsigned), unsigned u1, unsigned u2); @@ -279,7 +280,7 @@ class Canvas { void stopRecording(); - void takeScreenShot(); + void takeScreenShot(const std::string& newCapturePrefix = ""); int wait(); }; diff --git a/src/TSGL/IntegralViewer.cpp b/src/TSGL/IntegralViewer.cpp index caaa07245..c6455b4da 100644 --- a/src/TSGL/IntegralViewer.cpp +++ b/src/TSGL/IntegralViewer.cpp @@ -58,12 +58,12 @@ void IntegralViewer::drawLabels(CartesianCanvas*& can) { std::string stopXString = to_string(myStopX); std::string stopYString = to_string(myStopY); - bg->drawText(cph * 10 + myStartX + cph * 2 * startXString.size(), myStartY-yoff, 0, startXString, "./assets/freefont/FreeSerif.ttf", FSIZE, 0,0,0, BLACK); - bg->drawText(-cph * 10 + myStopX + cph * 2 * stopXString.size(), myStartY-yoff, 0, stopXString, "./assets/freefont/FreeSerif.ttf", FSIZE, 0,0,0, BLACK); + bg->drawText(cph * 10 + myStartX + cph * 2 * startXString.size(), myStartY-yoff, 0, startXString, FONT, FSIZE, 0,0,0, BLACK); + bg->drawText(-cph * 10 + myStopX + cph * 2 * stopXString.size(), myStartY-yoff, 0, stopXString, FONT, FSIZE, 0,0,0, BLACK); if (!blorigin) - bg->drawText(cph * 10 + cph * 2 * startYString.size(), myStartY-yoff, 0, startYString, "./assets/freefont/FreeSerif.ttf", FSIZE, 0,0,0, BLACK); + bg->drawText(cph * 10 + cph * 2 * startYString.size(), myStartY-yoff, 0, startYString, FONT, FSIZE, 0,0,0, BLACK); if (!tlorigin) - bg->drawText(cph * 10 + cph * 2 * stopYString.size(), myStopY+yoff, 0, stopYString, "./assets/freefont/FreeSerif.ttf", FSIZE, 0,0,0, BLACK); + bg->drawText(cph * 10 + cph * 2 * stopYString.size(), myStopY+yoff, 0, stopYString, FONT, FSIZE, 0,0,0, BLACK); } void IntegralViewer::setupCanvas(CartesianCanvas*& can, const std::string& label, double delay) { diff --git a/src/TSGL/Text.cpp b/src/TSGL/Text.cpp index d2fd5ffdd..5b74066a5 100644 --- a/src/TSGL/Text.cpp +++ b/src/TSGL/Text.cpp @@ -244,7 +244,7 @@ void Text::populateCharacters() { Character character = { ftbmps[i], glm::ivec2(glyph->bitmap_left, glyph->bitmap_top), - glyph->advance.x + (unsigned int)glyph->advance.x }; Characters.insert(std::pair(wideChar[i], character)); @@ -269,4 +269,4 @@ Text::~Text() { -} \ No newline at end of file +} diff --git a/src/TSGL/VisualTaskQueue.cpp b/src/TSGL/VisualTaskQueue.cpp index f8f04f08e..4ed40cc15 100644 --- a/src/TSGL/VisualTaskQueue.cpp +++ b/src/TSGL/VisualTaskQueue.cpp @@ -72,11 +72,11 @@ myWidth = 116; // //Actually draw things lcan = new Canvas(vcan->getWindowX()+vcan->getWindowWidth(),vcan->getWindowY(),myWidth,myHeight,""); lcan->start(); - lcan->getBackground()->drawText(0,lcan->getWindowHeight()/2-TEXTW/2,0,"Legend:","./assets/freefont/FreeSerif.ttf",TEXTW,0,0,0,BLACK); + lcan->getBackground()->drawText(0,lcan->getWindowHeight()/2-TEXTW/2,0,"Legend:",FONT,TEXTW,0,0,0,BLACK); int xx = -lcan->getWindowWidth()/2 + xStart, yy = lcan->getWindowHeight()/2 - yStart; for (int i = 0; i < threads; ++i) { lcan->getBackground()->drawSquare(xx,yy,0,blockSize,0,0,0,Colors::highContrastColor(i)); - lcan->getBackground()->drawText(xx+blockSize+GAP,yy,0,std::to_wstring(i),"./assets/freefont/FreeSerif.ttf",TEXTW/2,0,0,0,BLACK); + lcan->getBackground()->drawText(xx+blockSize+GAP,yy,0,std::to_wstring(i),FONT,TEXTW/2,0,0,0,BLACK); yy -= yDelta; if (yy > yCutoff) { yy = yStart; diff --git a/src/TSGL/VisualTaskQueue.h b/src/TSGL/VisualTaskQueue.h index 601243cf7..753ee4924 100644 --- a/src/TSGL/VisualTaskQueue.h +++ b/src/TSGL/VisualTaskQueue.h @@ -9,6 +9,7 @@ #include #include "Canvas.h" +#include "tsgl.h" namespace tsgl { diff --git a/src/TSGL/tsgl.h b/src/TSGL/tsgl.h deleted file mode 100644 index dd5bc7694..000000000 --- a/src/TSGL/tsgl.h +++ /dev/null @@ -1,23 +0,0 @@ -/* - * tsgl.h - */ - -#ifndef TSGL_H_ -#define TSGL_H_ - -#ifdef _WIN32 - #define _CRT_SECURE_NO_DEPRECATE //To avoid issues with fopen, http://stackoverflow.com/questions/14386/fopen-deprecated-warning -#endif - -#include "Canvas.h" -#include "CartesianCanvas.h" -#include "Color.h" -#include "Error.h" -#include "IntegralViewer.h" -#include "Keynums.h" -#include "Spectrogram.h" -#include "Timer.h" -#include "Util.h" -#include "VisualTaskQueue.h" - -#endif /* TSGL_H_ */ diff --git a/src/examples/ArrayBubbleSort/CubeArray.cpp b/src/examples/ArrayBubbleSort/CubeArray.cpp index 55925b5f0..ed29a49d5 100644 --- a/src/examples/ArrayBubbleSort/CubeArray.cpp +++ b/src/examples/ArrayBubbleSort/CubeArray.cpp @@ -29,7 +29,7 @@ CubeArray::CubeArray(){ for(unsigned i = 0; i < mySize; ++i){ myData.push_back(0); myText.push_back(new Text((myX-(int)(mySize-1)*(myCubeSideLength/2.0)) + (i * myCubeSideLength), myY, myZ+myCubeSideLength/2.0, - std::to_wstring(myData[i]), "./assets/freefont/FreeSansBold.ttf", myCubeSideLength/2.25, + std::to_wstring(myData[i]), FONT , myCubeSideLength/2.25, myYaw, myPitch, myRoll, WHITE)); myText[i]->setRotationPoint(0,0,0); } @@ -75,13 +75,13 @@ CubeArray::CubeArray(float x, float y, float z, GLfloat sideLength, unsigned siz for(unsigned i = 0; i < dataArraySize; ++i){ myData.push_back(dataArray[i]); myText.push_back(new Text((x-(int)(size-1)*(sideLength/2.0)) + (i * sideLength), y, z+sideLength/2.0, std::to_wstring(myData[i]), - "./assets/freefont/FreeSansBold.ttf", sideLength/2.25, yaw, pitch, roll, c2)); + FONT , sideLength/2.25, yaw, pitch, roll, c2)); myText[i]->setRotationPoint(0,0,0); } for(unsigned i = dataArraySize; i < size; ++i){ myData.push_back(0); myText.push_back(new Text((x-(int)(size-1)*(sideLength/2.0)) + (i * sideLength), y, z+sideLength/2.0, L"", - "./assets/freefont/FreeSansBold.ttf", sideLength/2.25, yaw, pitch, roll, c2)); + FONT , sideLength/2.25, yaw, pitch, roll, c2)); myText[i]->setRotationPoint(0,0,0); } } @@ -89,7 +89,7 @@ CubeArray::CubeArray(float x, float y, float z, GLfloat sideLength, unsigned siz for(unsigned i = 0; i < size; ++i){ myData.push_back(dataArray[i]); myText.push_back(new Text((x-(int)(size-1)*(sideLength/2.0)) + (i * sideLength), y, z+sideLength/2.0, std::to_wstring(myData[i]), - "./assets/freefont/FreeSansBold.ttf", sideLength/2.25, yaw, pitch, roll, c2)); + FONT , sideLength/2.25, yaw, pitch, roll, c2)); myText[i]->setRotationPoint(0,0,0); } } @@ -255,4 +255,4 @@ CubeArray::~CubeArray(){ } myCubes.clear(); myText.clear(); -} \ No newline at end of file +} diff --git a/src/examples/ArrayBubbleSort/Makefile b/src/examples/ArrayBubbleSort/Makefile index f9e77e449..f0169bf8d 100644 --- a/src/examples/ArrayBubbleSort/Makefile +++ b/src/examples/ArrayBubbleSort/Makefile @@ -38,31 +38,17 @@ GL_FLAGS := -lGLU -lGL BREW := endif ifeq ($(UNAME), Darwin) -GL_FLAGS := -framework OpenGL -BREW := -lomp -I"$(brew --prefix libomp)/include" +#GL_FLAGS := -framework OpenGL +#BREW := -lomp -I"$(brew --prefix libomp)/include" endif CXXFLAGS = -O3 -g3 -ggdb3 \ - -Wall -Wextra \ - -D__GXX_EXPERIMENTAL_CXX0X__ \ - -I/usr/local/include/Cellar/glfw3/3.3/include/ \ - -I/usr/local/include/TSGL \ - -I/usr/local/include \ - -I/usr/local/include/freetype2 \ - -I/usr/local/include/freetype2/freetype \ - $(NOWARN)\ - -std=c++11\ - -Wc++11-compat\ - -I/opt/AMDAPP/include/ \ - -I/usr/include/c++/4.6/ \ - -I/usr/include/c++/4.6/x86_64-linux-gnu/ \ - -I/usr/lib/gcc/x86_64-linux-gnu/9/include/ \ - -I/usr/include \ - -I/usr/include/freetype2 \ - -I/usr/include/freetype2/freetype \ - -LFLAGS = -g -ltsgl -lfreetype -lGLEW -lglfw $(GL_FLAGS) -fopenmp \ - $(BREW) -L/usr/local/lib \ + -I$(TSGL_HOME)/include/TSGL \ + -I$(TSGL_HOME)/include/freetype2 \ + -std=c++0x -fopenmp \ + +LFLAGS = -g -L$(TSGL_HOME)/lib -ltsgl -lfreetype -lGLEW -lglfw $(GL_FLAGS) -fopenmp \ + $(BREW) \ # **************************************************** @@ -84,4 +70,4 @@ clean: @tput setaf 5; @echo "*************** All output files removed from $(DIR)! ***************" @tput sgr0; - @echo "" \ No newline at end of file + @echo "" diff --git a/src/examples/ArrayBubbleSort/testArrayBubbleSort.cpp b/src/examples/ArrayBubbleSort/testArrayBubbleSort.cpp index d8fdfa196..7a54e641a 100644 --- a/src/examples/ArrayBubbleSort/testArrayBubbleSort.cpp +++ b/src/examples/ArrayBubbleSort/testArrayBubbleSort.cpp @@ -7,6 +7,7 @@ #include #include "CubeArray.h" +using namespace std; // Size constants #define SIDE_LENGTH 50 // side length of all array blocks @@ -25,7 +26,6 @@ #define ARRAY_COLOR ColorFloat(0.5, 0.5, 0.5, 1) // color value for all arrays (gray) #define NUM_COLOR WHITE // color value for all numbers #define FINISHED_COLOR ColorFloat(0, 0.6, 0, 1) // color value for sorted numbers (green) -#define FONT "./assets/freefont/FreeSansBold.ttf" // font for all text #define FONT_SIZE 35 // font size for all text using namespace tsgl; diff --git a/src/examples/ArrayShakerSort/CubeArray.cpp b/src/examples/ArrayShakerSort/CubeArray.cpp index 55925b5f0..e60d19097 100644 --- a/src/examples/ArrayShakerSort/CubeArray.cpp +++ b/src/examples/ArrayShakerSort/CubeArray.cpp @@ -29,7 +29,7 @@ CubeArray::CubeArray(){ for(unsigned i = 0; i < mySize; ++i){ myData.push_back(0); myText.push_back(new Text((myX-(int)(mySize-1)*(myCubeSideLength/2.0)) + (i * myCubeSideLength), myY, myZ+myCubeSideLength/2.0, - std::to_wstring(myData[i]), "./assets/freefont/FreeSansBold.ttf", myCubeSideLength/2.25, + std::to_wstring(myData[i]), FONT, myCubeSideLength/2.25, myYaw, myPitch, myRoll, WHITE)); myText[i]->setRotationPoint(0,0,0); } @@ -75,13 +75,13 @@ CubeArray::CubeArray(float x, float y, float z, GLfloat sideLength, unsigned siz for(unsigned i = 0; i < dataArraySize; ++i){ myData.push_back(dataArray[i]); myText.push_back(new Text((x-(int)(size-1)*(sideLength/2.0)) + (i * sideLength), y, z+sideLength/2.0, std::to_wstring(myData[i]), - "./assets/freefont/FreeSansBold.ttf", sideLength/2.25, yaw, pitch, roll, c2)); + FONT, sideLength/2.25, yaw, pitch, roll, c2)); myText[i]->setRotationPoint(0,0,0); } for(unsigned i = dataArraySize; i < size; ++i){ myData.push_back(0); myText.push_back(new Text((x-(int)(size-1)*(sideLength/2.0)) + (i * sideLength), y, z+sideLength/2.0, L"", - "./assets/freefont/FreeSansBold.ttf", sideLength/2.25, yaw, pitch, roll, c2)); + FONT, sideLength/2.25, yaw, pitch, roll, c2)); myText[i]->setRotationPoint(0,0,0); } } @@ -89,7 +89,7 @@ CubeArray::CubeArray(float x, float y, float z, GLfloat sideLength, unsigned siz for(unsigned i = 0; i < size; ++i){ myData.push_back(dataArray[i]); myText.push_back(new Text((x-(int)(size-1)*(sideLength/2.0)) + (i * sideLength), y, z+sideLength/2.0, std::to_wstring(myData[i]), - "./assets/freefont/FreeSansBold.ttf", sideLength/2.25, yaw, pitch, roll, c2)); + FONT, sideLength/2.25, yaw, pitch, roll, c2)); myText[i]->setRotationPoint(0,0,0); } } @@ -255,4 +255,4 @@ CubeArray::~CubeArray(){ } myCubes.clear(); myText.clear(); -} \ No newline at end of file +} diff --git a/src/examples/ArrayShakerSort/Makefile b/src/examples/ArrayShakerSort/Makefile index c2e239c7b..2bc76747f 100644 --- a/src/examples/ArrayShakerSort/Makefile +++ b/src/examples/ArrayShakerSort/Makefile @@ -38,31 +38,17 @@ GL_FLAGS := -lGLU -lGL BREW := endif ifeq ($(UNAME), Darwin) -GL_FLAGS := -framework OpenGL -BREW := -lomp -I"$(brew --prefix libomp)/include" +#GL_FLAGS := -framework OpenGL +#BREW := -lomp -I"$(brew --prefix libomp)/include" endif CXXFLAGS = -O3 -g3 -ggdb3 \ - -Wall -Wextra \ - -D__GXX_EXPERIMENTAL_CXX0X__ \ - -I/usr/local/include/Cellar/glfw3/3.3/include/ \ - -I/usr/local/include/TSGL \ - -I/usr/local/include \ - -I/usr/local/include/freetype2 \ - -I/usr/local/include/freetype2/freetype \ - $(NOWARN)\ - -std=c++11\ - -Wc++11-compat\ - -I/opt/AMDAPP/include/ \ - -I/usr/include/c++/4.6/ \ - -I/usr/include/c++/4.6/x86_64-linux-gnu/ \ - -I/usr/lib/gcc/x86_64-linux-gnu/9/include/ \ - -I/usr/include \ - -I/usr/include/freetype2 \ - -I/usr/include/freetype2/freetype \ + -I$(TSGL_HOME)/include/TSGL \ + -I$(TSGL_HOME)/include/freetype2 \ + -std=c++0x -fopenmp \ LFLAGS = -g -ltsgl -lfreetype -lGLEW -lglfw $(GL_FLAGS) -fopenmp \ - $(BREW) -L/usr/local/lib \ + $(BREW) -L$(TSGL_HOME)/lib \ # **************************************************** @@ -84,4 +70,4 @@ clean: @tput setaf 5; @echo "*************** All output files removed from $(DIR)! ***************" @tput sgr0; - @echo "" \ No newline at end of file + @echo "" diff --git a/src/examples/ArrayShakerSort/testArrayShakerSort.cpp b/src/examples/ArrayShakerSort/testArrayShakerSort.cpp index 34ddd0c99..6a9292aba 100644 --- a/src/examples/ArrayShakerSort/testArrayShakerSort.cpp +++ b/src/examples/ArrayShakerSort/testArrayShakerSort.cpp @@ -26,7 +26,6 @@ #define ARRAY_COLOR ColorFloat(0.5, 0.5, 0.5, 1) // color value for all arrays (gray) #define NUM_COLOR WHITE // color value for all numbers #define FINISHED_COLOR ColorFloat(0, 0.6, 0, 1) // color value for sorted numbers (green) -#define FONT "./assets/freefont/FreeSansBold.ttf" // font for all text #define FONT_SIZE 35 // font size for all text using namespace tsgl; diff --git a/src/examples/Ballroom/Makefile b/src/examples/Ballroom/Makefile index 132db3296..967ea55f8 100644 --- a/src/examples/Ballroom/Makefile +++ b/src/examples/Ballroom/Makefile @@ -38,31 +38,16 @@ GL_FLAGS := -lGLU -lGL BREW := endif ifeq ($(UNAME), Darwin) -GL_FLAGS := -framework OpenGL -BREW := -lomp -I"$(brew --prefix libomp)/include" +#GL_FLAGS := -framework OpenGL +#BREW := -lomp -I"$(brew --prefix libomp)/include" endif CXXFLAGS = -O3 -g3 -ggdb3 \ - -Wall -Wextra \ - -D__GXX_EXPERIMENTAL_CXX0X__ \ - -I/usr/local/include/Cellar/glfw3/3.3/include/ \ - -I/usr/local/include/TSGL \ - -I/usr/local/include \ - -I/usr/local/include/freetype2 \ - -I/usr/local/include/freetype2/freetype \ - $(NOWARN)\ - -std=c++11\ - -Wc++11-compat\ - -I/opt/AMDAPP/include/ \ - -I/usr/include/c++/4.6/ \ - -I/usr/include/c++/4.6/x86_64-linux-gnu/ \ - -I/usr/lib/gcc/x86_64-linux-gnu/9/include/ \ - -I/usr/include \ - -I/usr/include/freetype2 \ - -I/usr/include/freetype2/freetype \ - -LFLAGS = -g -ltsgl -lfreetype -lGLEW -lglfw $(GL_FLAGS) -fopenmp \ - $(BREW) -L/usr/local/lib \ + -I$(TSGL_HOME)/include/TSGL \ + -I$(TSGL_HOME)/include/freetype2 \ + -std=c++0x -fopenmp \ + +LFLAGS = -g -L$(TSGL_HOME)/lib -ltsgl -lfreetype -lGLEW -lglfw $(GL_FLAG) -fopenmp # **************************************************** @@ -84,4 +69,4 @@ clean: @tput setaf 5; @echo "*************** All output files removed from $(DIR)! ***************" @tput sgr0; - @echo "" \ No newline at end of file + @echo "" diff --git a/src/examples/Clock/Makefile b/src/examples/Clock/Makefile index 35491a5b7..0626ad051 100644 --- a/src/examples/Clock/Makefile +++ b/src/examples/Clock/Makefile @@ -38,31 +38,17 @@ GL_FLAGS := -lGLU -lGL BREW := endif ifeq ($(UNAME), Darwin) -GL_FLAGS := -framework OpenGL -BREW := -lomp -I"$(brew --prefix libomp)/include" +#GL_FLAGS := -framework OpenGL +#BREW := -lomp -I"$(brew --prefix libomp)/include" endif CXXFLAGS = -O3 -g3 -ggdb3 \ - -Wall -Wextra \ - -D__GXX_EXPERIMENTAL_CXX0X__ \ - -I/usr/local/include/Cellar/glfw3/3.3/include/ \ - -I/usr/local/include/TSGL \ - -I/usr/local/include \ - -I/usr/local/include/freetype2 \ - -I/usr/local/include/freetype2/freetype \ - $(NOWARN)\ - -std=c++11\ - -Wc++11-compat\ - -I/opt/AMDAPP/include/ \ - -I/usr/include/c++/4.6/ \ - -I/usr/include/c++/4.6/x86_64-linux-gnu/ \ - -I/usr/lib/gcc/x86_64-linux-gnu/9/include/ \ - -I/usr/include \ - -I/usr/include/freetype2 \ - -I/usr/include/freetype2/freetype \ + -I$(TSGL_HOME)/include/TSGL \ + -I$(TSGL_HOME)/include/freetype2 \ + -std=c++0x -fopenmp \ LFLAGS = -g -ltsgl -lfreetype -lGLEW -lglfw $(GL_FLAGS) -fopenmp \ - $(BREW) -L/usr/local/lib \ + $(BREW) -L$(TSGL_HOME)/lib \ # **************************************************** @@ -84,4 +70,4 @@ clean: @tput setaf 5; @echo "*************** All output files removed from $(DIR)! ***************" @tput sgr0; - @echo "" \ No newline at end of file + @echo "" diff --git a/src/examples/Conway/Makefile b/src/examples/Conway/Makefile index 44fdd7112..32ed5678c 100644 --- a/src/examples/Conway/Makefile +++ b/src/examples/Conway/Makefile @@ -38,31 +38,17 @@ GL_FLAGS := -lGLU -lGL BREW := endif ifeq ($(UNAME), Darwin) -GL_FLAGS := -framework OpenGL -BREW := -lomp -I"$(brew --prefix libomp)/include" +#GL_FLAGS := -framework OpenGL +#BREW := -lomp -I"$(brew --prefix libomp)/include" endif CXXFLAGS = -O3 -g3 -ggdb3 \ - -Wall -Wextra \ - -D__GXX_EXPERIMENTAL_CXX0X__ \ - -I/usr/local/include/Cellar/glfw3/3.3/include/ \ - -I/usr/local/include/TSGL \ - -I/usr/local/include \ - -I/usr/local/include/freetype2 \ - -I/usr/local/include/freetype2/freetype \ - $(NOWARN)\ - -std=c++11\ - -Wc++11-compat\ - -I/opt/AMDAPP/include/ \ - -I/usr/include/c++/4.6/ \ - -I/usr/include/c++/4.6/x86_64-linux-gnu/ \ - -I/usr/lib/gcc/x86_64-linux-gnu/9/include/ \ - -I/usr/include \ - -I/usr/include/freetype2 \ - -I/usr/include/freetype2/freetype \ + -I$(TSGL_HOME)/include/TSGL \ + -I$(TSGL_HOME)/include/freetype2 \ + -std=c++0x -fopenmp \ LFLAGS = -g -ltsgl -lfreetype -lGLEW -lglfw $(GL_FLAGS) -fopenmp \ - $(BREW) -L/usr/local/lib \ + $(BREW) -L$(TSGL_HOME)/lib \ # **************************************************** @@ -84,4 +70,4 @@ clean: @tput setaf 5; @echo "*************** All output files removed from $(DIR)! ***************" @tput sgr0; - @echo "" \ No newline at end of file + @echo "" diff --git a/src/examples/CubeRun/Makefile b/src/examples/CubeRun/Makefile index f7fa42ccd..5805c9638 100644 --- a/src/examples/CubeRun/Makefile +++ b/src/examples/CubeRun/Makefile @@ -38,31 +38,17 @@ GL_FLAGS := -lGLU -lGL BREW := endif ifeq ($(UNAME), Darwin) -GL_FLAGS := -framework OpenGL -BREW := -lomp -I"$(brew --prefix libomp)/include" +#GL_FLAGS := -framework OpenGL +#BREW := -lomp -I"$(brew --prefix libomp)/include" endif CXXFLAGS = -O3 -g3 -ggdb3 \ - -Wall -Wextra \ - -D__GXX_EXPERIMENTAL_CXX0X__ \ - -I/usr/local/include/Cellar/glfw3/3.3/include/ \ - -I/usr/local/include/TSGL \ - -I/usr/local/include \ - -I/usr/local/include/freetype2 \ - -I/usr/local/include/freetype2/freetype \ - $(NOWARN)\ - -std=c++11\ - -Wc++11-compat\ - -I/opt/AMDAPP/include/ \ - -I/usr/include/c++/4.6/ \ - -I/usr/include/c++/4.6/x86_64-linux-gnu/ \ - -I/usr/lib/gcc/x86_64-linux-gnu/9/include/ \ - -I/usr/include \ - -I/usr/include/freetype2 \ - -I/usr/include/freetype2/freetype \ + -I$(TSGL_HOME)/include/TSGL \ + -I$(TSGL_HOME)/include/freetype2 \ + -std=c++0x -fopenmp \ LFLAGS = -g -ltsgl -lfreetype -lGLEW -lglfw $(GL_FLAGS) -fopenmp \ - $(BREW) -L/usr/local/lib \ + $(BREW) -L$(TSGL_HOME)/lib \ # **************************************************** @@ -84,4 +70,4 @@ clean: @tput setaf 5; @echo "*************** All output files removed from $(DIR)! ***************" @tput sgr0; - @echo "" \ No newline at end of file + @echo "" diff --git a/src/examples/CubeRun/testCubeRun.cpp b/src/examples/CubeRun/testCubeRun.cpp index 09e9424dc..851199104 100644 --- a/src/examples/CubeRun/testCubeRun.cpp +++ b/src/examples/CubeRun/testCubeRun.cpp @@ -7,7 +7,6 @@ #include #include #include -#define FONT "./assets/freefont/FreeSansBold.ttf" #define zDelta 10 #define obRoll 45.0 #define OBJECT_Y -53.0 @@ -165,4 +164,4 @@ void gameFunction(Canvas& can) { int main(int argc, char* argv[]) { Canvas c(-1, -1, 620, 620, "Cube Run", BLACK); c.run(gameFunction); -} \ No newline at end of file +} diff --git a/src/examples/DiningPhilosophers/Makefile b/src/examples/DiningPhilosophers/Makefile index 55d687027..705b24ef7 100644 --- a/src/examples/DiningPhilosophers/Makefile +++ b/src/examples/DiningPhilosophers/Makefile @@ -38,31 +38,17 @@ GL_FLAGS := -lGLU -lGL BREW := endif ifeq ($(UNAME), Darwin) -GL_FLAGS := -framework OpenGL -BREW := -lomp -I"$(brew --prefix libomp)/include" +#GL_FLAGS := -framework OpenGL +#BREW := -lomp -I"$(brew --prefix libomp)/include" endif CXXFLAGS = -O3 -g3 -ggdb3 \ - -Wall -Wextra \ - -D__GXX_EXPERIMENTAL_CXX0X__ \ - -I/usr/local/include/Cellar/glfw3/3.3/include/ \ - -I/usr/local/include/TSGL \ - -I/usr/local/include \ - -I/usr/local/include/freetype2 \ - -I/usr/local/include/freetype2/freetype \ - $(NOWARN)\ - -std=c++11\ - -Wc++11-compat\ - -I/opt/AMDAPP/include/ \ - -I/usr/include/c++/4.6/ \ - -I/usr/include/c++/4.6/x86_64-linux-gnu/ \ - -I/usr/lib/gcc/x86_64-linux-gnu/9/include/ \ - -I/usr/include \ - -I/usr/include/freetype2 \ - -I/usr/include/freetype2/freetype \ + -I$(TSGL_HOME)/include/TSGL \ + -I$(TSGL_HOME)/include/freetype2 \ + -std=c++0x -fopenmp \ LFLAGS = -g -ltsgl -lfreetype -lGLEW -lglfw $(GL_FLAGS) -fopenmp \ - $(BREW) -L/usr/local/lib \ + $(BREW) -L$(TSGL_HOME)/lib \ # **************************************************** @@ -84,4 +70,4 @@ clean: @tput setaf 5; @echo "*************** All output files removed from $(DIR)! ***************" @tput sgr0; - @echo "" \ No newline at end of file + @echo "" diff --git a/src/examples/DiningPhilosophers/Table.cpp b/src/examples/DiningPhilosophers/Table.cpp index 5e9ca2666..307890e47 100644 --- a/src/examples/DiningPhilosophers/Table.cpp +++ b/src/examples/DiningPhilosophers/Table.cpp @@ -21,7 +21,7 @@ Table::Table(Canvas& can, int p, PhilMethod m) { } float delta = 2.0f / numPhils * PI; for(int i = 0; i < numPhils; i++) { - bg->drawImage(120 * cos(i*delta), 140 * sin(i*delta), 0, "./assets/pics/spaghet.png", 100, 50, 0,0,0); + bg->drawImage(120 * cos(i*delta), 140 * sin(i*delta), 0, "/usr/include/TSGL/assets/pics/spaghet.png", 100, 50, 0,0,0); } myMethod = m; switch(myMethod) { @@ -48,15 +48,15 @@ Table::Table(Canvas& can, int p, PhilMethod m) { myCan2->start(); Background * bg2 = myCan2->getBackground(); - bg2->drawText(0,128,0,L"Method:","./assets/freefont/FreeSerif.ttf",32,0,0,0,BLACK); - bg2->drawText(0,96,0,L"\"" + methodString + L"\"","./assets/freefont/FreeSerif.ttf",24,0,0,0,BLACK); - bg2->drawText(0,64,0,L"Legend:","./assets/freefont/FreeSerif.ttf",24,0,0,0,BLACK); - bg2->drawText(0,32,0,L"Red: Hungry","./assets/freefont/FreeSerif.ttf",24,0,0,0,RED); - bg2->drawText(0,0,0,L"Orange: Has Right Fork","./assets/freefont/FreeSerif.ttf",24,0,0,0,ORANGE); - bg2->drawText(0,-32,0,L"Yellow: Has Left Fork","./assets/freefont/FreeSerif.ttf",24,0,0,0,YELLOW); - bg2->drawText(0,-64,0,L"Green: Eating","./assets/freefont/FreeSerif.ttf",24,0,0,0,GREEN); - bg2->drawText(0,-96,0,L"Blue: Thinking","./assets/freefont/FreeSerif.ttf",24,0,0,0,BLUE); - bg2->drawText(0,-121,0,L"Meals eaten:","./assets/freefont/FreeSerif.ttf",24,0,0,0,BROWN); + bg2->drawText(0,128,0,L"Method:",FONT,32,0,0,0,BLACK); + bg2->drawText(0,96,0,L"\"" + methodString + L"\"",FONT,24,0,0,0,BLACK); + bg2->drawText(0,64,0,L"Legend:",FONT,24,0,0,0,BLACK); + bg2->drawText(0,32,0,L"Red: Hungry",FONT,24,0,0,0,RED); + bg2->drawText(0,0,0,L"Orange: Has Right Fork",FONT,24,0,0,0,ORANGE); + bg2->drawText(0,-32,0,L"Purple: Has Left Fork",FONT,24,0,0,0,PURPLE); + bg2->drawText(0,-64,0,L"Green: Eating",FONT,24,0,0,0,GREEN); + bg2->drawText(0,-96,0,L"Blue: Thinking",FONT,24,0,0,0,BLUE); + bg2->drawText(0,-121,0,L"Meals eaten:",FONT,24,0,0,0,BROWN); bg2->drawRegularPolygon(65, -121,0,3,3,0,0,0, BROWN); } @@ -487,4 +487,4 @@ void Table::drawStep() { fangle = pangle + PI / numPhils; } forks[i].draw(FORK_RAD*cos(fangle),FORK_RAD*sin(fangle),fangle,fcolor); -} \ No newline at end of file +} diff --git a/src/examples/DiningPhilosophers3D/Makefile b/src/examples/DiningPhilosophers3D/Makefile index 0295d80ec..3eec1b466 100644 --- a/src/examples/DiningPhilosophers3D/Makefile +++ b/src/examples/DiningPhilosophers3D/Makefile @@ -38,31 +38,17 @@ GL_FLAGS := -lGLU -lGL BREW := endif ifeq ($(UNAME), Darwin) -GL_FLAGS := -framework OpenGL -BREW := -lomp -I"$(brew --prefix libomp)/include" +#GL_FLAGS := -framework OpenGL +#BREW := -lomp -I"$(brew --prefix libomp)/include" endif CXXFLAGS = -O3 -g3 -ggdb3 \ - -Wall -Wextra \ - -D__GXX_EXPERIMENTAL_CXX0X__ \ - -I/usr/local/include/Cellar/glfw3/3.3/include/ \ - -I/usr/local/include/TSGL \ - -I/usr/local/include \ - -I/usr/local/include/freetype2 \ - -I/usr/local/include/freetype2/freetype \ - $(NOWARN)\ - -std=c++11\ - -Wc++11-compat\ - -I/opt/AMDAPP/include/ \ - -I/usr/include/c++/4.6/ \ - -I/usr/include/c++/4.6/x86_64-linux-gnu/ \ - -I/usr/lib/gcc/x86_64-linux-gnu/9/include/ \ - -I/usr/include \ - -I/usr/include/freetype2 \ - -I/usr/include/freetype2/freetype \ + -I$(TSGL_HOME)/include/TSGL \ + -I$(TSGL_HOME)/include/freetype2 \ + -std=c++0x -fopenmp \ LFLAGS = -g -ltsgl -lfreetype -lGLEW -lglfw $(GL_FLAGS) -fopenmp \ - $(BREW) -L/usr/local/lib \ + $(BREW) -L$(TSGL_HOME)/lib \ # **************************************************** @@ -84,4 +70,4 @@ clean: @tput setaf 5; @echo "*************** All output files removed from $(DIR)! ***************" @tput sgr0; - @echo "" \ No newline at end of file + @echo "" diff --git a/src/examples/DiningPhilosophers3D/Table3D.cpp b/src/examples/DiningPhilosophers3D/Table3D.cpp index 1458c55ec..453b15f99 100644 --- a/src/examples/DiningPhilosophers3D/Table3D.cpp +++ b/src/examples/DiningPhilosophers3D/Table3D.cpp @@ -22,7 +22,7 @@ Table3D::Table3D(Canvas& can, int p, PhilMethod m) { spaghettis = new Image*[numPhils](); float delta = 2.0f / numPhils * PI; for(int i = 0; i < numPhils; i++) { - spaghettis[i] = new Image(95 * cos(i*delta), 105 * sin(i*delta), -1, "./assets/pics/spaghet.png", 100, 50, 0,0,0); + spaghettis[i] = new Image(95 * cos(i*delta), 105 * sin(i*delta), -1, "/usr/include/TSGL/assets/pics/spaghet.png", 100, 50, 0,0,0); can.add(spaghettis[i]); } myMethod = m; @@ -50,15 +50,15 @@ Table3D::Table3D(Canvas& can, int p, PhilMethod m) { myCan2->start(); Background * bg2 = myCan2->getBackground(); - bg2->drawText(0,128,0,L"Method:","./assets/freefont/FreeSerif.ttf",32,0,0,0,BLACK); - bg2->drawText(0,96,0,L"\"" + methodString + L"\"","./assets/freefont/FreeSerif.ttf",24,0,0,0,BLACK); - bg2->drawText(0,64,0,L"Legend:","./assets/freefont/FreeSerif.ttf",24,0,0,0,BLACK); - bg2->drawText(0,32,0,L"Red: Hungry","./assets/freefont/FreeSerif.ttf",24,0,0,0,RED); - bg2->drawText(0,0,0,L"Orange: Has Right Fork","./assets/freefont/FreeSerif.ttf",24,0,0,0,ORANGE); - bg2->drawText(0,-32,0,L"Yellow: Has Left Fork","./assets/freefont/FreeSerif.ttf",24,0,0,0,YELLOW); - bg2->drawText(0,-64,0,L"Green: Eating","./assets/freefont/FreeSerif.ttf",24,0,0,0,GREEN); - bg2->drawText(0,-96,0,L"Blue: Thinking","./assets/freefont/FreeSerif.ttf",24,0,0,0,BLUE); - bg2->drawText(0,-121,0,L"Meals eaten:","./assets/freefont/FreeSerif.ttf",24,0,0,0,BROWN); + bg2->drawText(0,128,0,L"Method:",FONT,32,0,0,0,BLACK); + bg2->drawText(0,96,0,L"\"" + methodString + L"\"",FONT,24,0,0,0,BLACK); + bg2->drawText(0,64,0,L"Legend:",FONT,24,0,0,0,BLACK); + bg2->drawText(0,32,0,L"Red: Hungry",FONT,24,0,0,0,RED); + bg2->drawText(0,0,0,L"Orange: Has Right Fork",FONT,24,0,0,0,ORANGE); + bg2->drawText(0,-32,0,L"Purple: Has Left Fork",FONT,24,0,0,0,PURPLE); + bg2->drawText(0,-64,0,L"Green: Eating",FONT,24,0,0,0,GREEN); + bg2->drawText(0,-96,0,L"Blue: Thinking",FONT,24,0,0,0,BLUE); + bg2->drawText(0,-121,0,L"Meals eaten:",FONT,24,0,0,0,BROWN); bg2->drawRegularPolygon(65, -121,0,3,3,0,0,0, BROWN); } @@ -494,4 +494,4 @@ void Table3D::drawStep() { fangle = pangle + PI / numPhils; } forks[i].draw(FORK_RAD*cos(fangle),FORK_RAD*sin(fangle),fangle,fcolor); -} \ No newline at end of file +} diff --git a/src/examples/Fireworks/Makefile b/src/examples/Fireworks/Makefile index a0add0510..d67a9f7d8 100644 --- a/src/examples/Fireworks/Makefile +++ b/src/examples/Fireworks/Makefile @@ -38,31 +38,17 @@ GL_FLAGS := -lGLU -lGL BREW := endif ifeq ($(UNAME), Darwin) -GL_FLAGS := -framework OpenGL -BREW := -lomp -I"$(brew --prefix libomp)/include" +#GL_FLAGS := -framework OpenGL +#BREW := -lomp -I"$(brew --prefix libomp)/include" endif CXXFLAGS = -O3 -g3 -ggdb3 \ - -Wall -Wextra \ - -D__GXX_EXPERIMENTAL_CXX0X__ \ - -I/usr/local/include/Cellar/glfw3/3.3/include/ \ - -I/usr/local/include/TSGL \ - -I/usr/local/include \ - -I/usr/local/include/freetype2 \ - -I/usr/local/include/freetype2/freetype \ - $(NOWARN)\ - -std=c++11\ - -Wc++11-compat\ - -I/opt/AMDAPP/include/ \ - -I/usr/include/c++/4.6/ \ - -I/usr/include/c++/4.6/x86_64-linux-gnu/ \ - -I/usr/lib/gcc/x86_64-linux-gnu/9/include/ \ - -I/usr/include \ - -I/usr/include/freetype2 \ - -I/usr/include/freetype2/freetype \ + -I$(TSGL_HOME)/include/TSGL \ + -I$(TSGL_HOME)/include/freetype2 \ + -std=c++0x -fopenmp \ LFLAGS = -g -ltsgl -lfreetype -lGLEW -lglfw $(GL_FLAGS) -fopenmp \ - $(BREW) -L/usr/local/lib \ + $(BREW) -L$(TSGL_HOME)/lib \ # **************************************************** @@ -84,4 +70,4 @@ clean: @tput setaf 5; @echo "*************** All output files removed from $(DIR)! ***************" @tput sgr0; - @echo "" \ No newline at end of file + @echo "" diff --git a/src/examples/ForestFire/Makefile b/src/examples/ForestFire/Makefile index 853be5406..ad06183d5 100644 --- a/src/examples/ForestFire/Makefile +++ b/src/examples/ForestFire/Makefile @@ -38,31 +38,17 @@ GL_FLAGS := -lGLU -lGL BREW := endif ifeq ($(UNAME), Darwin) -GL_FLAGS := -framework OpenGL -BREW := -lomp -I"$(brew --prefix libomp)/include" +#GL_FLAGS := -framework OpenGL +#BREW := -lomp -I"$(brew --prefix libomp)/include" endif CXXFLAGS = -O3 -g3 -ggdb3 \ - -Wall -Wextra \ - -D__GXX_EXPERIMENTAL_CXX0X__ \ - -I/usr/local/include/Cellar/glfw3/3.3/include/ \ - -I/usr/local/include/TSGL \ - -I/usr/local/include \ - -I/usr/local/include/freetype2 \ - -I/usr/local/include/freetype2/freetype \ - $(NOWARN)\ - -std=c++11\ - -Wc++11-compat\ - -I/opt/AMDAPP/include/ \ - -I/usr/include/c++/4.6/ \ - -I/usr/include/c++/4.6/x86_64-linux-gnu/ \ - -I/usr/lib/gcc/x86_64-linux-gnu/9/include/ \ - -I/usr/include \ - -I/usr/include/freetype2 \ - -I/usr/include/freetype2/freetype \ + -I$(TSGL_HOME)/include/TSGL \ + -I$(TSGL_HOME)/include/freetype2 \ + -std=c++0x -fopenmp \ LFLAGS = -g -ltsgl -lfreetype -lGLEW -lglfw $(GL_FLAGS) -fopenmp \ - $(BREW) -L/usr/local/lib \ + $(BREW) -L$(TSGL_HOME)/lib \ # **************************************************** @@ -84,4 +70,4 @@ clean: @tput setaf 5; @echo "*************** All output files removed from $(DIR)! ***************" @tput sgr0; - @echo "" \ No newline at end of file + @echo "" diff --git a/src/examples/Knapsack/Knapsack.cpp b/src/examples/Knapsack/Knapsack.cpp new file mode 100755 index 000000000..45bf5b709 --- /dev/null +++ b/src/examples/Knapsack/Knapsack.cpp @@ -0,0 +1,276 @@ +// +// Knapsack.cpp +// +// +// Created by Sarah Parsons on 11/23/19. +// Last updated on 12/11/19. +// + +#include +#include +#include +#include +#include +#include +#include +#include +#include +using namespace tsgl; +using namespace std; + + + +int main(int argc, char* argv[]) { + // "Yes"/"No" path parameter for outputting trace at onset of program; default is "No" + string path = (argc > 2) ? argv[2] : "No"; + + //construct canvas with a width of 1200 and height of 700, white background color + Canvas c(0, 0, 1200, 700, "0-1 Knapsack Problem"); + c.setBackgroundColor(WHITE); + + //Create a Background ptr to draw 2D Visualizations + Background *bgp = c.getBackground(); + + // initialize button for keyboard interaction used to trace to false + bool leftMouseButtonPressed = false; + + //Bind the left mouse button so that when it's pressed + //the boolean is set to true. + c.bindToButton(TSGL_A, TSGL_PRESS, + [&leftMouseButtonPressed]() { + leftMouseButtonPressed = true; + } + ); + + //Bind the left mouse button again so that when it's released + //the boolean is set to false. + c.bindToButton(TSGL_A, TSGL_RELEASE, + [&leftMouseButtonPressed]() { + leftMouseButtonPressed = false; + } + ); + + // define parameters for 2D grid size (500 x 500) + c.start(); + int x1 = -150; + int x2 = 350; + int y1 = -325; + int y2 = -320; + int size = x2 - x1; + + // draw title and 2D grid (yellow) to canvas + bgp->drawText(-125,300,0,"0-1 Knapsack Problem",FONT,30,0,0,0,BLACK); + //c.drawRectangle(x1,y1,x2,y2,YELLOW,true); + + // set number of threads as a parameter from command line; default is 2 + int np = (argc > 1) ? atoi(argv[1]) : 2; //atoi(argv[1]); + omp_set_num_threads(np); + + // draw # threads to canvas + bgp->drawText(-525,170,0,"# Threads: " + to_string(np),FONT,22,0,0,0,BLACK); + + // define max value and max weight + const int MAX_VALUE = 5; + const int MAX_WEIGHT = 5; + + // initialize Capacity parameter and draw to canvas + const int Capacity = 12; //(argc > 3) ? atoi(argv[3]) : 8; //atoi(argv[2]); + cout << "\nCapacity: " << Capacity << "\n"; + bgp->drawText(-525,300,0,"Capacity: " + to_string(Capacity),FONT,22,0,0,0,BLACK); + double tic, seconds; + + // initialize number of items and determine column and row widths based on items and Capacity + int items = 8; //(argc > 4) ? atoi(argv[4]) : 6; //atoi(argv[3]); + int col_wid = size/(items); + int row_wid = size/(Capacity); + cout << col_wid << " " << row_wid << endl; + + // draw x- and y-axes and lines within grid based on column and row widths + bgp->drawText(x2-600+(col_wid/4),y2+100-(row_wid/3),0,"Capacity",FONT,20,0,0,0,BLACK); + for(int u=1;udrawText(x2-600+(col_wid/4),y2+100+((u-0.5)*row_wid),0,to_string(u),FONT,20,0,0,0,BLACK); + } + + for (int i=0; idrawLine(x1,y2+100+((i)*(row_wid)),0,x2-600,y2+100+((i)*(row_wid)),0,0,0,0,BLACK); + } + + + bgp->drawText(x1-1.5*(col_wid),y1+(row_wid/2),0,"Num_Items",FONT,20,0,0,0,BLACK); + for(int y=1;ydrawText((x1+((y-0.5)*(col_wid))),y1+(row_wid/2),0,to_string(y),FONT,20,0,0,0,BLACK); + } + for (int j=0; jdrawLine(x1+(j*col_wid),y1,0,x1+(j*col_wid),y2+100,0,0,0,0,BLACK); + } + + + //Weights Vector List + // randomly assign weights based on max weight and draw weights to canvas + srand(1); + vector weights(items,0); + cout << "# of Weights: " << items << endl; + for (int w =0; w < items; w++) { + weights[w] = 1 + (rand() % min(MAX_WEIGHT, Capacity)); + bgp->drawText(-525,270,0,"Weights: ",FONT,22,0,0,0,BLACK); + bgp->drawText(-525+w*25,250,0,"|" + to_string(weights[w]) + "| ",FONT,20,0,0,0,BLACK); + cout << weights.at(w);} + cout << endl; + + //Values Vector List + // randomly assign values based on max value and draw values to canvas + vector values(items,0); + cout << "# of Values: " << items << endl; + for (int v =0; v < (int)values.size(); v++) { + values[v] = 1 + (rand() % MAX_VALUE); + bgp->drawText(-525,220,0,"Values: ",FONT,22,0,0,0,BLACK); + bgp->drawText(-525+v*25,200,0,"|" + to_string(values[v])+"| ",FONT,20,0,0,0,BLACK); + cout << values.at(v);} + cout << endl; + + //int dims = Capacity+1; + + //Draw top row + int knap[Capacity+1][Capacity+1]; + //vector> knap(Capacity+1,vector(Capacity+1)); + int k=0; + int h=0; + + for(int h=0; h<(int)weights.size()+1; h++) { + //knap[k][h]=0; + if(path=="Yes"){bgp->drawText(x1+((h-0.5)*col_wid),y2+100-(row_wid/2),0,"0",FONT,20,0,0,0,BLACK);} + } + + //Initialize table and draw 0 column + for(int k=0;kdrawText(x1-(col_wid/2),y2+100+((k-0.5)*row_wid),0,"0",FONT,20,0,0,0,BLACK);} + // for(int h=0; h<1;h++){ + for(int h=0; h<(int)weights.size()+1;h++){ + knap[k][h]=0; + }} + + + tic = omp_get_wtime(); + + // Check that canvas is open, Iterate through each column and evaluate the knapsack value, store value in knap array, draw values to canvas and draw lines and circles for tracing if path parameter set to "Yes" + if(c.isOpen()){ + for(h=1;h -1) { + knap[k][h] = values[h-1] + knap[k - weights[h-1]][h - 1]; + if(path == "Yes"){ + int r = rand()%MAX_COLOR; + int g = rand()%MAX_COLOR; + int b = rand()%MAX_COLOR; + c.sleepFor(1); + bgp->drawCircle(x1+((h-1.5)*(col_wid)),y2+100+(((k-weights[h-1])-0.5)*(row_wid)),0,(col_wid/6),0,0,0,ColorInt(r,g,b,50)); + bgp->drawCircle((x1+((h-0.5)*(col_wid))),(y2+100+((k-0.5)*(row_wid))),0,(col_wid/6),0,0,0,ColorInt(r,g,b,50)); + bgp->drawLine(x1+((h-1.5)*(col_wid)),y2+100+(((k-weights[h-1])-0.5)*(row_wid)),0,(x1+((h-0.5)*(col_wid))),(y2+100+((k-0.5)*(row_wid))),0,0,0,0,BLACK); + } + c.sleepFor(1); + bgp->drawText((x1+((h-0.5)*(col_wid))),(y2+100+((k-0.5)*(row_wid))),0,to_string(knap[k][h]),FONT,20,0,0,0,BLACK); + } + else { knap[k][h] = knap[k][h-1]; + if(path == "Yes"){ + int r = rand()%MAX_COLOR; + int g = rand()%MAX_COLOR; + int b = rand()%MAX_COLOR; + c.sleepFor(1); + bgp->drawCircle(x1+((h-1.5)*(col_wid)),y2+100+((k-0.5)*(row_wid)),0,(col_wid/6),0,0,0,ColorInt(r,g,b,50)); + bgp->drawCircle((x1+((h-0.5)*(col_wid))),(y2+100+((k-0.5)*(row_wid))),0,(col_wid/6),0,0,0,ColorInt(r,g,b,50)); + bgp->drawLine(x1+((h-1.5)*(col_wid)),y2+100+((k-0.5)*(row_wid)),0,(x1+((h-0.5)*(col_wid))),(y2+100+((k-0.5)*(row_wid))),0,0,0,0,BLACK); + + } + c.sleepFor(1); + bgp->drawText((x1+((h-0.5)*(col_wid))),(y2+100+((k-0.5)*(row_wid))),0,to_string(knap[k][h]),FONT,20,0,0,0,BLACK); + + } + } + + } + } + + //Output Knap array + cout << "Knap: " << endl; + for(int k=0;kdrawText(-515,90,0,"Knapsack ",FONT,24,0,0,0,BLACK); + bgp->drawText(-515,70,0,"Value: " + to_string(knap[Capacity][items]),FONT,24,0,0,0,BLACK); + + seconds = omp_get_wtime() - tic; + + cout << "time: " << seconds << "\n"; + + // trace Knapsack Value upon user keying 'A' if trace not already drawn + while(c.isOpen()){ + c.sleep(); + if(leftMouseButtonPressed==true && path == "No"){ + //Draw Top Row + //vector> knap(dims,vector(dims)); + int knap[Capacity+1][Capacity+1]; + //vector> knap(Capacity+1,vector(Capacity+1)); + int k=0; + int h=0; + for(int h=0; h<(int)weights.size()+1; h++) { + bgp->drawText(x1+((h-0.5)*col_wid),y2+100-(row_wid/2),0,"0",FONT,20,0,0,0,BLACK); + } + //Initialize Table + for(int k=0;kdrawText(x1-(col_wid/2),y2+100+((k-0.5)*row_wid),0,"0",FONT,20,0,0,0,BLACK); + for(int h=0; h<(int)weights.size()+1;h++){ + knap[k][h]=0;} + } + //Iterate through each column and evaluate the knapsack value, draw lines and circles for tracing + for(h=1;h -1) { + knap[k][h] = values[h-1] + knap[k - weights[h-1]][h - 1]; + int r = rand()%MAX_COLOR; + int g = rand()%MAX_COLOR; + int b = rand()%MAX_COLOR; + c.sleepFor(1); + bgp->drawCircle(x1+((h-1.5)*(col_wid)),y2+100+(((k-weights[h-1])-0.5)*(row_wid)),0,(col_wid/6),0,0,0,ColorInt(r,g,b,50)); + bgp->drawCircle((x1+((h-0.5)*(col_wid))),(y2+100+((k-0.5)*(row_wid))),0,(col_wid/6),0,0,0,ColorInt(r,g,b,50)); + bgp->drawLine(x1+((h-1.5)*(col_wid)),y2+100+(((k-weights[h-1])-0.5)*(row_wid)),0,(x1+((h-0.5)*(col_wid))),(y2+100+((k-0.5)*(row_wid))),0,0,0,0,BLACK); + //if(k==8){ + // cout << x1+((h-1.5)*(col_wid)) << ", " << y2+(((k-weights[h-1])-0.5)*(row_wid)) << "\n";} + + } + else { knap[k][h] = knap[k][h-1]; + int r = rand()%MAX_COLOR; + int g = rand()%MAX_COLOR; + int b = rand()%MAX_COLOR; + c.sleepFor(1); + bgp->drawCircle(x1+((h-1.5)*(col_wid)),y2+100+((k-0.5)*(row_wid)),0,(col_wid/6),0,0,0,ColorInt(r,g,b,50)); + bgp->drawCircle((x1+((h-0.5)*(col_wid))),(y2+100+((k-0.5)*(row_wid))),0,(col_wid/6),0,0,0,ColorInt(r,g,b,50)); + bgp->drawLine(x1+((h-1.5)*(col_wid)),y2+100+((k-0.5)*(row_wid)),0,(x1+((h-0.5)*(col_wid))),(y2+100+((k-0.5)*(row_wid))),0,0,0,0,BLACK); + //if(k==8){ + // cout << x1+((h-1.5)*(col_wid))<< ", " << y2+((k-0.5)*(row_wid)) << "\n"; + //} + + } + } + + } + } + } + + + c.wait(); +} + + diff --git a/src/examples/Knapsack/Makefile b/src/examples/Knapsack/Makefile new file mode 100755 index 000000000..ddf7c0aa7 --- /dev/null +++ b/src/examples/Knapsack/Makefile @@ -0,0 +1,74 @@ +#Target to make and objects needed +TARGET := Knapsack +OBJS := $(TARGET).o + +#Compiler, remove command, and OS we're working on +CC = g++-9 +RM = rm -f +UNAME := $(shell uname) + +#Check if we're on a Mac or a Linux machine + +#Linux +ifeq ($(UNAME), Linux) + OS_LFLAGS := + OS_INCLUDE := + OS_LDIRS := -L/opt/AMDAPP/lib/x86_64/ + OS_EXTRA_LIB := -L$(TSGL_HOME)/lib + OS_GLFW := glfw + OS_GL := -lGL + OS_EXTRA_LINK := -Wl,-rpath=$(TSGL_HOME)/lib/ +endif + +#Mac +ifeq ($(UNAME), Darwin) + OS_LFLAGS := -framework Cocoa -framework OpenGl -framework IOKit -framework Corevideo + OS_INCLUDE := -I../TSGL/src/TSGL/ + OS_LDIRS := -L../TSGL/lib/ + OS_EXTRA_LIB := + OS_GLFW := glfw.3 + OS_GL := + OS_EXTRA_LINK := +endif + +#Compiler flags +CXXFLAGS=-c -O3 -g3 \ + -I$(TSGL_HOME)/include/TSGL/ \ + -I$(TSGL_HOME)/include/freetype2 \ + -std=c++0x -fopenmp \ + +#Linking flags +LFLAGS=-o $(TARGET) \ + -L$(TSGL_HOME)/lib/ \ + ${OS_EXTRA_LIB} \ + -L/opt/X11/lib \ + ${OS_LDIRS} \ + ${OS_EXTRA_LINK} \ + -ltsgl -lfreetype \ + -lGLEW -l${OS_GLFW} \ + -lX11 ${OS_GL} -lXrandr \ + -fopenmp \ + ${OS_LFLAGS} \ + +.SUFFIXES: .cpp .o + +#all command +all: $(TARGET) + +#Linking +$(TARGET): $(OBJS) + @echo "\nLinking $(TARGET)..." + $(CC) $(OBJS) $(LFLAGS) + @echo + +#Compiling +.cpp.o: + @echo "\nCompiling $<..." + $(CC) $(CXXFLAGS) $< + +#Indirect dependencies (Multiple file/classes only) +#$(TARGET).o: + +#Clean command +clean: + $(RM) $(TARGET) $(OBJS) *~ diff --git a/src/examples/Langton/Makefile b/src/examples/Langton/Makefile index 41682e16e..d25cd8943 100644 --- a/src/examples/Langton/Makefile +++ b/src/examples/Langton/Makefile @@ -38,31 +38,17 @@ GL_FLAGS := -lGLU -lGL BREW := endif ifeq ($(UNAME), Darwin) -GL_FLAGS := -framework OpenGL -BREW := -lomp -I"$(brew --prefix libomp)/include" +#GL_FLAGS := -framework OpenGL +#BREW := -lomp -I"$(brew --prefix libomp)/include" endif CXXFLAGS = -O3 -g3 -ggdb3 \ - -Wall -Wextra \ - -D__GXX_EXPERIMENTAL_CXX0X__ \ - -I/usr/local/include/Cellar/glfw3/3.3/include/ \ - -I/usr/local/include/TSGL \ - -I/usr/local/include \ - -I/usr/local/include/freetype2 \ - -I/usr/local/include/freetype2/freetype \ - $(NOWARN)\ - -std=c++11\ - -Wc++11-compat\ - -I/opt/AMDAPP/include/ \ - -I/usr/include/c++/4.6/ \ - -I/usr/include/c++/4.6/x86_64-linux-gnu/ \ - -I/usr/lib/gcc/x86_64-linux-gnu/9/include/ \ - -I/usr/include \ - -I/usr/include/freetype2 \ - -I/usr/include/freetype2/freetype \ + -I$(TSGL_HOME)/include/TSGL \ + -I$(TSGL_HOME)/include/freetype2 \ + -std=c++0x -fopenmp \ LFLAGS = -g -ltsgl -lfreetype -lGLEW -lglfw $(GL_FLAGS) -fopenmp \ - $(BREW) -L/usr/local/lib \ + $(BREW) -L$(TSGL_HOME)/lib \ # **************************************************** @@ -84,4 +70,4 @@ clean: @tput setaf 5; @echo "*************** All output files removed from $(DIR)! ***************" @tput sgr0; - @echo "" \ No newline at end of file + @echo "" diff --git a/src/examples/LongestCommonSubstring/LCS.cpp b/src/examples/LongestCommonSubstring/LCS.cpp new file mode 100755 index 000000000..a2d819d77 --- /dev/null +++ b/src/examples/LongestCommonSubstring/LCS.cpp @@ -0,0 +1,465 @@ +// +// tutorial.cpp +// Created by Sarah Parsons on 11/23/19. +// +// + +#include +#include +#include +#include +#include +#include +#include +#include +#include +using namespace tsgl; +using namespace std; + +/** +* Generate random string of capital and lowercase letters given desired length of string +* +* @param s pointer to character array +* @param len integer of desired length of string +* + * @return a randomly generated string of length len +*/ +string gen_random(char *s, const int len) { + static const char alphanum[] = + "ABCDEFGHIJKLMNOPQRSTUVWXYZ" + "abcdefghijklmnopqrstuvwxyz"; + + for (int i = 0; i < len; ++i) { + s[i] = alphanum[rand() % (sizeof(alphanum) - 1)]; + } + s[len] = 0; + string a = s; + return a; + +} + +int main(int argc, char* argv[]) { + // "Yes"/"No" path parameter for outputting trace at onset of program; default is "No" + string path = (argc > 4) ? argv[4] : "No"; + + //construct canvas with a width of 1200 and height of 700, white background color + Canvas c(0, 0, 1200, 700, "LCS Problem"); + c.setBackgroundColor(WHITE); + + //Create a Background ptr to draw 2D Visualizations + Background *bgp = c.getBackground(); + + //c.setFont("/assets/freefont/FreeMonoBold.otf"); + + // initialize button for keyboard interaction used to trace to false + bool leftMouseButtonPressed = false; + + //Bind the left mouse button so that when it's pressed + //the boolean is set to true. + c.bindToButton(TSGL_A, TSGL_PRESS, + [&leftMouseButtonPressed]() { + leftMouseButtonPressed = true; + } + ); + + //Bind the left mouse button again so that when it's released + //the boolean is set to false. + c.bindToButton(TSGL_A, TSGL_RELEASE, + [&leftMouseButtonPressed]() { + leftMouseButtonPressed = false; + } + ); + + // define parameters for 2D grid size (500 x 500) + c.start(); + int x1 = -100; + int x2 = 400; + int y1 = -255; + int y2 = -250; + int size = x2 - x1; + + // draw title and 2D grid (lime) to canvas + bgp->drawText(-50,300,0,"LCS Problem",FONT,30,0,0,0,RED); + //c.drawRectangle(x1,y1,x2,y2,LIME,true); + + // set number of threads as a parameter from command line; default is 2 + int np = (argc > 1) ? atoi(argv[1]) : 2; + omp_set_num_threads(np); + + // draw # threads to canvas + bgp->drawText(-350,210,0,"# Threads: " + to_string(np),FONT,22,0,0,0,BLACK); + + // used to generate random strings, if preferred + const int str_len = 5; + char s[str_len]; + char p[str_len]; + string a, b; + + // customize strings, if desired, via command line (otherwise, default is 'Happy' and 'Holidays!') + a = (argc > 2) ? argv[2] : gen_random(s,str_len); + b = (argc > 3) ? argv[3] : gen_random(p, str_len); + + std::cout<<"a: " << a << endl; + std::cout<<"b: " << b << endl; + + + const int length_a = a.size(); + const int length_b = b.size(); + std::cout << "length_a: " << length_a << "\n"; + std::cout << "length_b: " << length_b << "\n"; + + // determine max string, min string + string max_str; + string min_str; + if(length_a > length_b){ + max_str = a; + min_str = b;} + else { + max_str = b; + min_str = a;} + + + double tic, seconds; + tic = omp_get_wtime(); + + // draw strings to canvas + bgp->drawText(-350,300,0,"String a: " + a,FONT,22,0,0,0,BLACK); + bgp->drawText(-350,270,0,"String b: " + b,FONT,22,0,0,0,BLACK); + + // compute the number of diagonals + int num_diag = length_a+length_b-1; + std::cout << "# Diagonals: " << num_diag << endl; + bgp->drawText(-350,240,0,"# Diagonals: " + to_string(num_diag),FONT,22,0,0,0,BLACK); + + + int length; + const int max_len = std::max(length_a,length_b); + const int min_len = std::min(length_a, length_b); + + + int rows = min_len + 1; + int cols = max_len + 1; + + // define column width and row width based on max and min string lengths + int col_wid = size/(max_len); + int row_wid = size/(min_len); + //cout << col_wid << row_wid << endl; + + // draw x- and y-axes and lines within grid based on column and row widths + for (int i=0; idrawLine(x1,y2+((i)*(row_wid)),0,x2,y2+((i)*(row_wid)),0,0,0,0,BLACK); + } + + for (int j=0; jdrawLine(x1+(j*col_wid),y1,0,x1+(j*col_wid),y2,0,0,0,0,BLACK); + } + + //Top String + for(int i=0; idrawText(x1+((i-0.5+1)*col_wid),y2-(row_wid/8),0,to_string(max_str[i]),FONT,23,0,0,0,RED); + } + + //Left String + for(int r=0;rdrawText(x1-(col_wid/3),y2+((r-0.5+1)*row_wid),0,to_string(min_str[r]),FONT,23,0,0,0,RED); + } + + + + //int **Diag2 = new int[diag_rows][diag_cols]; + //int Diag2[diag_rows][diag_cols]; + + // initialize Diag2 vector to 0s + vector> Diag2(rows,vector(cols)); + for(int l=0;ldrawText((x1+((y-0.5)*(col_wid))),(y2+((x-0.5)*(row_wid))),0,to_string(Diag2[x][y]),FONT,20,0,0,0,BLACK);} + else if(a[x-1]==b[y-1]) { + Diag2[x][y] = 1 + Diag2[x - 1][y - 1]; + if(path == "Yes"){ + c.sleepFor(1); + bgp->drawCircle(x1+((y-1)*(col_wid)),y2+((x-1)*(row_wid)),0,(col_wid/6),0,0,0,ColorInt(255,0,0,50)); + bgp->drawCircle((x1+((y-0.5)*(col_wid))),(y2+((x-0.5)*(row_wid))),0,(col_wid/6),0,0,0,ColorInt(255,0,0,50)); + c.sleepFor(1); + bgp->drawLine(x1+((y-1)*(col_wid)),y2+((x-1)*(row_wid)),0,(x1+((y-0.5)*(col_wid))),(y2+((x-0.5)*(row_wid))),0,0,0,0,RED); + } + + c.sleepFor(1); + bgp->drawText((x1+((y-0.5)*(col_wid))),(y2+((x-0.5)*(row_wid))),0,to_string(Diag2[x][y]),FONT,20,0,0,0,BLACK); + } + else { + Diag2[x][y] = std::max(Diag2[x-1][y], Diag2[x][y - 1]); + c.sleepFor(1); + bgp->drawText((x1+((y-0.5)*(col_wid))),(y2+((x-0.5)*(row_wid))),0,to_string(Diag2[x][y]),FONT,20,0,0,0,BLACK); + if(path == "Yes"){ + if(std::max(Diag2[x-1][y], Diag2[x][y - 1]) == Diag2[x][y-1]){ + bgp->drawCircle(x1+((y-1.5)*(col_wid)),y2+((x-.5)*(row_wid)),0,(col_wid/6),0,0,0,ColorInt(255,0,0,50)); + bgp->drawLine(x1+((y-1.5)*(col_wid)),y2+((x-.5)*(row_wid)),0,(x1+((y-0.5)*(col_wid))),(y2+((x-0.5)*(row_wid))),0,0,0,0,RED); + + } + else{ + bgp->drawLine((x1+((y-0.5)*(col_wid))),y2+((x-1.5)*(row_wid)),0,(x1+((y-0.5)*(col_wid))),(y2+((x-0.5)*(row_wid))),0,0,0,0,RED); + bgp->drawCircle(x1+((y-.5)*(col_wid)),y2+((x- 1.5)*(row_wid)),0,(col_wid/6),0,0,0,ColorInt(255,0,0,50)); + } + bgp->drawCircle((x1+((y-0.5)*(col_wid))),(y2+((x-0.5)*(row_wid))),0,(col_wid/6),0,0,0,ColorInt(255,0,0,50)); + } + } + + } + // diagonal is in the middle of the grid + else if(min_len < d && d <= max_len){ + int x = d-(d-min_len + p)+1; + int y = d - min_len + p; + //std::cout << a[x-1] << b[y-1] << endl; + if(x<=0 || y<=0){Diag2[x][y]=0; + c.sleepFor(1); + bgp->drawText((x1+((y-0.5)*(col_wid))),(y2+((x-0.5)*(row_wid))),0,to_string(Diag2[x][y]),FONT,20,0,0,0,BLACK);} + else if(a[x-1]==b[y-1]) { + Diag2[x][y] = 1 + Diag2[x - 1][y - 1]; + if(path == "Yes"){ + c.sleepFor(1); + bgp->drawCircle(x1+((y-1.5)*(col_wid)),y2+((x-1.5)*(row_wid)),0,(col_wid/6),0,0,0,ColorInt(255,0,0,50)); + bgp->drawCircle((x1+((y-0.5)*(col_wid))),(y2+((x-0.5)*(row_wid))),0,(col_wid/6),0,0,0,ColorInt(255,0,0,50)); + c.sleepFor(1); + bgp->drawLine(x1+((y-1.5)*(col_wid)),y2+((x-1.5)*(row_wid)),0,(x1+((y-0.5)*(col_wid))),(y2+((x-0.5)*(row_wid))),0,0,0,0,RED); + } + + c.sleepFor(1); + bgp->drawText((x1+((y-0.5)*(col_wid))),(y2+((x-0.5)*(row_wid))),0,to_string(Diag2[x][y]),FONT,20,0,0,0,BLACK); + } + else { + Diag2[x][y] = std::max(Diag2[x-1][y], Diag2[x][y - 1]); + c.sleepFor(1); + bgp->drawText((x1+((y-0.5)*(col_wid))),(y2+((x-0.5)*(row_wid))),0,to_string(Diag2[x][y]),FONT,20,0,0,0,BLACK); + if(path == "Yes"){ + if(std::max(Diag2[x-1][y], Diag2[x][y - 1]) == Diag2[x][y-1]){ + bgp->drawCircle(x1+((y-1.5)*(col_wid)),y2+((x-.5)*(row_wid)),0,(col_wid/6),0,0,0,ColorInt(255,0,0,50)); + bgp->drawLine(x1+((y-1.5)*(col_wid)),y2+((x-.5)*(row_wid)),0,(x1+((y-0.5)*(col_wid))),(y2+((x-0.5)*(row_wid))),0,0,0,0,RED); + + } + else{ + bgp->drawLine((x1+((y-0.5)*(col_wid))),y2+((x-1.5)*(row_wid)),0,(x1+((y-0.5)*(col_wid))),(y2+((x-0.5)*(row_wid))),0,0,0,0,RED); + bgp->drawCircle(x1+((y-.5)*(col_wid)),y2+((x- 1.5)*(row_wid)),0,(col_wid/6),0,0,0,ColorInt(255,0,0,50)); + } + bgp->drawCircle((x1+((y-0.5)*(col_wid))),(y2+((x-0.5)*(row_wid))),0,(col_wid/6),0,0,0,ColorInt(255,0,0,50)); + } + + } + + } + // diagonal is in the lower triangle + else{ + int x = min_len-p+1; + int y = d-min_len+p; + //std::cout << a[x-1] << b[y-1] << endl; + if(x<=0 || y<=0){Diag2[x][y]=0; + c.sleepFor(1); + bgp->drawText((x1+((y-0.5)*(col_wid))),(y2+((x-0.5)*(row_wid))),0,to_string(Diag2[x][y]),FONT,20,0,0,0,BLACK);} + else if(a[x-1]==b[y-1]) { + Diag2[x][y] = 1 + Diag2[x - 1][y - 1]; + if(path == "Yes"){ + c.sleepFor(1); + bgp->drawCircle(x1+((y-1.5)*(col_wid)),y2+((x-1.5)*(row_wid)),0,(col_wid/6),0,0,0,ColorInt(255,0,0,50)); + bgp->drawCircle((x1+((y-0.5)*(col_wid))),(y2+((x-0.5)*(row_wid))),0,(col_wid/6),0,0,0,ColorInt(255,0,0,50)); + c.sleepFor(1); + bgp->drawLine(x1+((y-1.5)*(col_wid)),y2+((x-1.5)*(row_wid)),0,(x1+((y-0.5)*(col_wid))),(y2+((x-0.5)*(row_wid))),0,0,0,0,RED); + } + c.sleepFor(1); + bgp->drawText((x1+((y-0.5)*(col_wid))),(y2+((x-0.5)*(row_wid))),0,to_string(Diag2[x][y]),FONT,20,0,0,0,BLACK); + + } + else { + Diag2[x][y] = std::max(Diag2[x - 1][y], Diag2[x][y - 1]); + c.sleepFor(1); + bgp->drawText((x1+((y-0.5)*(col_wid))),(y2+((x-0.5)*(row_wid))),0,to_string(Diag2[x][y]),FONT,20,0,0,0,BLACK); + if(path == "Yes"){ + if(std::max(Diag2[x-1][y], Diag2[x][y - 1]) == Diag2[x][y-1]){ + bgp->drawCircle(x1+((y-1.5)*(col_wid)),y2+((x-.5)*(row_wid)),0,(col_wid/6),0,0,0,ColorInt(255,0,0,50)); + bgp->drawLine(x1+((y-1.5)*(col_wid)),y2+((x-.5)*(row_wid)),0,(x1+((y-0.5)*(col_wid))),(y2+((x-0.5)*(row_wid))),0,0,0,0,RED); + + } + else{ + bgp->drawLine((x1+((y-0.5)*(col_wid))),y2+((x-1.5)*(row_wid)),0,(x1+((y-0.5)*(col_wid))),(y2+((x-0.5)*(row_wid))),0,0,0,0,RED); + bgp->drawCircle(x1+((y-.5)*(col_wid)),y2+((x- 1.5)*(row_wid)),0,(col_wid/6),0,0,0,ColorInt(255,0,0,50)); + } + bgp->drawCircle((x1+((y-0.5)*(col_wid))),(y2+((x-0.5)*(row_wid))),0,(col_wid/6),0,0,0,ColorInt(255,0,0,50)); + } + } + + } + } + } + } + // draw LCS Value to canvas + bgp->drawText(-350,180,0,"LCS Value: " + to_string(Diag2[min_len][max_len]),FONT,24,0,0,0,RED); + + std::cout << endl; + std::cout << "LCS Value: " << Diag2[min_len][max_len] << endl; + std::cout << endl; + + seconds = omp_get_wtime() - tic; + string seconds_str = to_string(seconds); + cout << "time: " << seconds << " seconds\n"; + //c.drawText("Time: " + seconds_str.substr(0,seconds_str.find(".")) + seconds_str.substr(seconds_str.find("."), seconds_str.find(".")+1) + " seconds", 75, 360, 18); + + + // trace LCS Value upon user keying 'A' if trace not already drawn + while(c.isOpen()){ + c.sleep(); + if(leftMouseButtonPressed==true && path == "No"){ + //Iterate through each diagonal and parallelize the computations of each cell in the diagonal, compute LCS of every cell, store in Diag2, draw value to canvas and draw trace lines/circles + for(int d=1; d < num_diag+1; d++){ + if(d <= max_len){ + length = std::min(d,min_len); + } + else{length = length_a+length_b-d;} + #pragma omp parallel for + for(int p = 1; p < length+1; p++){ + if(d <= min_len) { + int x = d-p+1; + int y = p; + + if(a[x-1]==b[y-1]) { + Diag2[x][y] = 1 + Diag2[x - 1][y - 1]; + bgp->drawCircle(x1+((y-1)*(col_wid)),y2+((x-1)*(row_wid)),0,(col_wid/6),0,0,0,ColorInt(255,0,0,50)); + c.sleepFor(1); + bgp->drawCircle((x1+((y-0.5)*(col_wid))),(y2+((x-0.5)*(row_wid))),0,(col_wid/6),0,0,0,ColorInt(255,0,0,50)); + c.sleepFor(1); + bgp->drawLine(x1+((y-1)*(col_wid)),y2+((x-1)*(row_wid)),0,(x1+((y-0.5)*(col_wid))),(y2+((x-0.5)*(row_wid))),0,0,0,0,RED); + + + } + + else { + Diag2[x][y] = std::max(Diag2[x-1][y], Diag2[x][y - 1]); + if(std::max(Diag2[x-1][y], Diag2[x][y - 1]) == Diag2[x][y-1]){ + bgp->drawCircle(x1+((y-1.5)*(col_wid)),y2+((x-.5)*(row_wid)),0,(col_wid/6),0,0,0,ColorInt(255,0,0,50)); + c.sleepFor(1); + bgp->drawCircle((x1+((y-0.5)*(col_wid))),(y2+((x-0.5)*(row_wid))),0,(col_wid/6),0,0,0,ColorInt(255,0,0,50)); + c.sleepFor(1); + bgp->drawLine(x1+((y-1.5)*(col_wid)),y2+((x-.5)*(row_wid)),0,(x1+((y-0.5)*(col_wid))),(y2+((x-0.5)*(row_wid))),0,0,0,0,RED); + + } + else{ + bgp->drawCircle(x1+((y-.5)*(col_wid)),y2+((x- 1.5)*(row_wid)),0,(col_wid/6),0,0,0,ColorInt(255,0,0,50)); + c.sleepFor(1); + bgp->drawCircle((x1+((y-0.5)*(col_wid))),(y2+((x-0.5)*(row_wid))),0,(col_wid/6),0,0,0,ColorInt(255,0,0,50)); + c.sleepFor(1); + bgp->drawLine((x1+((y-0.5)*(col_wid))),y2+((x-1.5)*(row_wid)),0,(x1+((y-0.5)*(col_wid))),(y2+((x-0.5)*(row_wid))),0,0,0,0,RED); + + } + + + } + } + + + else if(min_len < d && d <= max_len){ + int x = d-(d-min_len + p)+1; + int y = d - min_len + p; + + if(a[x-1]==b[y-1]) { + Diag2[x][y] = 1 + Diag2[x - 1][y - 1]; + bgp->drawCircle(x1+((y-1.5)*(col_wid)),y2+((x-1.5)*(row_wid)),0,(col_wid/6),0,0,0,ColorInt(255,0,0,50)); + c.sleepFor(1); + bgp->drawCircle((x1+((y-0.5)*(col_wid))),(y2+((x-0.5)*(row_wid))),0,(col_wid/6),0,0,0,ColorInt(255,0,0,50)); + c.sleepFor(1); + bgp->drawLine(x1+((y-1.5)*(col_wid)),y2+((x-1.5)*(row_wid)),0,(x1+((y-0.5)*(col_wid))),(y2+((x-0.5)*(row_wid))),0,0,0,0,RED); + } + + + else { + Diag2[x][y] = std::max(Diag2[x-1][y], Diag2[x][y - 1]); + if(std::max(Diag2[x-1][y], Diag2[x][y - 1]) == Diag2[x][y-1]){ + bgp->drawCircle(x1+((y-1.5)*(col_wid)),y2+((x-.5)*(row_wid)),0,(col_wid/6),0,0,0,ColorInt(255,0,0,50)); + c.sleepFor(1); + bgp->drawCircle((x1+((y-0.5)*(col_wid))),(y2+((x-0.5)*(row_wid))),0,(col_wid/6),0,0,0,ColorInt(255,0,0,50)); + c.sleepFor(1); + bgp->drawLine(x1+((y-1.5)*(col_wid)),y2+((x-.5)*(row_wid)),0,(x1+((y-0.5)*(col_wid))),(y2+((x-0.5)*(row_wid))),0,0,0,0,RED); + + + } + else{ + bgp->drawCircle(x1+((y-.5)*(col_wid)),y2+((x- 1.5)*(row_wid)),0,(col_wid/6),0,0,0,ColorInt(255,0,0,50)); + c.sleepFor(1); + bgp->drawCircle((x1+((y-0.5)*(col_wid))),(y2+((x-0.5)*(row_wid))),0,(col_wid/6),0,0,0,ColorInt(255,0,0,50)); + c.sleepFor(1); + bgp->drawLine((x1+((y-0.5)*(col_wid))),y2+((x-1.5)*(row_wid)),0,(x1+((y-0.5)*(col_wid))),(y2+((x-0.5)*(row_wid))),0,0,0,0,RED); + + } + + + } + + } + + + else{ + int x = min_len-p+1; + int y = d-min_len+p; + + if(a[x-1]==b[y-1]) { + Diag2[x][y] = 1 + Diag2[x - 1][y - 1]; + bgp->drawCircle(x1+((y-1.5)*(col_wid)),y2+((x-1.5)*(row_wid)),0,(col_wid/6),0,0,0,ColorInt(255,0,0,50)); + c.sleepFor(1); + bgp->drawCircle((x1+((y-0.5)*(col_wid))),(y2+((x-0.5)*(row_wid))),0,(col_wid/6),0,0,0,ColorInt(255,0,0,50)); + c.sleepFor(1); + bgp->drawLine(x1+((y-1.5)*(col_wid)),y2+((x-1.5)*(row_wid)),0,(x1+((y-0.5)*(col_wid))),(y2+((x-0.5)*(row_wid))),0,0,0,0,RED); + + } + else { + Diag2[x][y] = std::max(Diag2[x - 1][y], Diag2[x][y - 1]); + if(std::max(Diag2[x-1][y], Diag2[x][y - 1]) == Diag2[x][y-1]){ + bgp->drawCircle(x1+((y-1.5)*(col_wid)),y2+((x-.5)*(row_wid)),0,(col_wid/6),0,0,0,ColorInt(255,0,0,50)); + c.sleepFor(1); + bgp->drawCircle((x1+((y-0.5)*(col_wid))),(y2+((x-0.5)*(row_wid))),0,(col_wid/6),0,0,0,ColorInt(255,0,0,50)); + c.sleepFor(1); + bgp->drawLine(x1+((y-1.5)*(col_wid)),y2+((x-.5)*(row_wid)),0,(x1+((y-0.5)*(col_wid))),(y2+((x-0.5)*(row_wid))),0,0,0,0,RED); + + + } + else{ + bgp->drawCircle(x1+((y-.5)*(col_wid)),y2+((x- 1.5)*(row_wid)),0,(col_wid/6),0,0,0,ColorInt(255,0,0,50)); + c.sleepFor(1); + bgp->drawCircle((x1+((y-0.5)*(col_wid))),(y2+((x-0.5)*(row_wid))),0,(col_wid/6),0,0,0,ColorInt(255,0,0,50)); + c.sleepFor(1); + bgp->drawLine((x1+((y-0.5)*(col_wid))),y2+((x-1.5)*(row_wid)),0,(x1+((y-0.5)*(col_wid))),(y2+((x-0.5)*(row_wid))),0,0,0,0,RED); + + } + + + } + + + } + } + } + } + } + + + c.wait(); +} + + diff --git a/src/examples/LongestCommonSubstring/Makefile b/src/examples/LongestCommonSubstring/Makefile new file mode 100755 index 000000000..e35ee3f06 --- /dev/null +++ b/src/examples/LongestCommonSubstring/Makefile @@ -0,0 +1,74 @@ +#Target to make and objects needed +TARGET := LCS +OBJS := $(TARGET).o + +#Compiler, remove command, and OS we're working on +CC = g++-9 +RM = rm -f +UNAME := $(shell uname) + +#Check if we're on a Mac or a Linux machine + +#Linux +ifeq ($(UNAME), Linux) + OS_LFLAGS := + OS_INCLUDE := + OS_LDIRS := -L/opt/AMDAPP/lib/x86_64/ + OS_EXTRA_LIB := -L$(TSGL_HOME)/lib + OS_GLFW := glfw + OS_GL := -lGL + OS_EXTRA_LINK := -Wl,-rpath=$(TSGL_HOME)/lib/ +endif + +#Mac +ifeq ($(UNAME), Darwin) + OS_LFLAGS := -framework Cocoa -framework OpenGl -framework IOKit -framework Corevideo + OS_INCLUDE := -I../TSGL/src/TSGL/ + OS_LDIRS := -L../TSGL/lib/ + OS_EXTRA_LIB := + OS_GLFW := glfw.3 + OS_GL := + OS_EXTRA_LINK := +endif + +#Compiler flags +CXXFLAGS=-c -O3 -g3 \ + -I$(TSGL_HOME)/include/TSGL/ \ + -I$(TSGL_HOME)/include/freetype2 \ + -std=c++0x -fopenmp + +#Linking flags +LFLAGS=-o $(TARGET) \ + -L$(TSGL_HOME)/lib/ \ + ${OS_EXTRA_LIB} \ + -L/opt/X11/lib \ + ${OS_LDIRS} \ + ${OS_EXTRA_LINK} \ + -ltsgl -lfreetype \ + -lGLEW -l${OS_GLFW} \ + -lX11 ${OS_GL} -lXrandr \ + -fopenmp \ + ${OS_LFLAGS} \ + +.SUFFIXES: .cpp .o + +#all command +all: $(TARGET) + +#Linking +$(TARGET): $(OBJS) + @echo "\nLinking $(TARGET)..." + $(CC) $(OBJS) $(LFLAGS) + @echo + +#Compiling +.cpp.o: + @echo "\nCompiling $<..." + $(CC) $(CXXFLAGS) $< + +#Indirect dependencies (Multiple file/classes only) +#$(TARGET).o: + +#Clean command +clean: + $(RM) $(TARGET) $(OBJS) *~ diff --git a/src/examples/Makefile b/src/examples/Makefile index 5a470be13..84c2addaf 100644 --- a/src/examples/Makefile +++ b/src/examples/Makefile @@ -13,7 +13,9 @@ SUBDIRS_TO_BUILD := ArrayBubbleSort/. \ DiningPhilosophers3D/. \ Fireworks/. \ ForestFire/. \ + Knapsack/. \ Langton/. \ + LongestCommonSubstring/. \ Mandelbrot/. \ MergeSort/. \ NewtonPendulum/. \ diff --git a/src/examples/Mandelbrot/Makefile b/src/examples/Mandelbrot/Makefile index 6d1496939..d225ddf93 100644 --- a/src/examples/Mandelbrot/Makefile +++ b/src/examples/Mandelbrot/Makefile @@ -38,31 +38,17 @@ GL_FLAGS := -lGLU -lGL BREW := endif ifeq ($(UNAME), Darwin) -GL_FLAGS := -framework OpenGL -BREW := -lomp -I"$(brew --prefix libomp)/include" +#GL_FLAGS := -framework OpenGL +#BREW := -lomp -I"$(brew --prefix libomp)/include" endif CXXFLAGS = -O3 -g3 -ggdb3 \ - -Wall -Wextra \ - -D__GXX_EXPERIMENTAL_CXX0X__ \ - -I/usr/local/include/Cellar/glfw3/3.3/include/ \ - -I/usr/local/include/TSGL \ - -I/usr/local/include \ - -I/usr/local/include/freetype2 \ - -I/usr/local/include/freetype2/freetype \ - $(NOWARN)\ - -std=c++11\ - -Wc++11-compat\ - -I/opt/AMDAPP/include/ \ - -I/usr/include/c++/4.6/ \ - -I/usr/include/c++/4.6/x86_64-linux-gnu/ \ - -I/usr/lib/gcc/x86_64-linux-gnu/9/include/ \ - -I/usr/include \ - -I/usr/include/freetype2 \ - -I/usr/include/freetype2/freetype \ + -I$(TSGL_HOME)/include/TSGL \ + -I$(TSGL_HOME)/include/freetype2 \ + -std=c++0x -fopenmp \ LFLAGS = -g -ltsgl -lfreetype -lGLEW -lglfw $(GL_FLAGS) -fopenmp \ - $(BREW) -L/usr/local/lib \ + $(BREW) -L$(TSGL_HOME)/lib \ # **************************************************** @@ -84,4 +70,4 @@ clean: @tput setaf 5; @echo "*************** All output files removed from $(DIR)! ***************" @tput sgr0; - @echo "" \ No newline at end of file + @echo "" diff --git a/src/examples/Mandelbrot/Mandelbrot.cpp b/src/examples/Mandelbrot/Mandelbrot.cpp index 2ba2451af..130956096 100644 --- a/src/examples/Mandelbrot/Mandelbrot.cpp +++ b/src/examples/Mandelbrot/Mandelbrot.cpp @@ -126,7 +126,7 @@ void Mandelbrot::draw(Cart& can) { for (int i = 0; i < myThreads; ++i) { float w = pb->getWidth(); - pBack->drawText(-w/2 + i*w/myThreads + 10, pb->getHeight()+8, 0, std::to_wstring(i), "./assets/freefont/FreeSerif.ttf", 32, 0,0,0, BLACK); + pBack->drawText(-w/2 + i*w/myThreads + 10, pb->getHeight()+8, 0, std::to_wstring(i), FONT, 32, 0,0,0, BLACK); } while(myRedraw) { myRedraw = false; diff --git a/src/examples/MergeSort/Makefile b/src/examples/MergeSort/Makefile index be6834bef..a815fb3bb 100644 --- a/src/examples/MergeSort/Makefile +++ b/src/examples/MergeSort/Makefile @@ -38,31 +38,16 @@ GL_FLAGS := -lGLU -lGL BREW := endif ifeq ($(UNAME), Darwin) -GL_FLAGS := -framework OpenGL -BREW := -lomp -I"$(brew --prefix libomp)/include" +#GL_FLAGS := -framework OpenGL +#BREW := -lomp -I"$(brew --prefix libomp)/include" endif - CXXFLAGS = -O3 -g3 -ggdb3 \ - -Wall -Wextra \ - -D__GXX_EXPERIMENTAL_CXX0X__ \ - -I/usr/local/include/Cellar/glfw3/3.3/include/ \ - -I/usr/local/include/TSGL \ - -I/usr/local/include \ - -I/usr/local/include/freetype2 \ - -I/usr/local/include/freetype2/freetype \ - $(NOWARN)\ - -std=c++11\ - -Wc++11-compat\ - -I/opt/AMDAPP/include/ \ - -I/usr/include/c++/4.6/ \ - -I/usr/include/c++/4.6/x86_64-linux-gnu/ \ - -I/usr/lib/gcc/x86_64-linux-gnu/9/include/ \ - -I/usr/include \ - -I/usr/include/freetype2 \ - -I/usr/include/freetype2/freetype \ + -I$(TSGL_HOME)/include/TSGL \ + -I$(TSGL_HOME)/include/freetype2 \ + -std=c++0x -fopenmp \ LFLAGS = -g -ltsgl -lfreetype -lGLEW -lglfw $(GL_FLAGS) -fopenmp \ - $(BREW) -L/usr/local/lib \ + $(BREW) -L$(TSGL_HOME)/lib \ # **************************************************** @@ -84,4 +69,4 @@ clean: @tput setaf 5; @echo "*************** All output files removed from $(DIR)! ***************" @tput sgr0; - @echo "" \ No newline at end of file + @echo "" diff --git a/src/examples/NewtonPendulum/Makefile b/src/examples/NewtonPendulum/Makefile index adbdf159f..7955cb410 100644 --- a/src/examples/NewtonPendulum/Makefile +++ b/src/examples/NewtonPendulum/Makefile @@ -38,31 +38,17 @@ GL_FLAGS := -lGLU -lGL BREW := endif ifeq ($(UNAME), Darwin) -GL_FLAGS := -framework OpenGL -BREW := -lomp -I"$(brew --prefix libomp)/include" +#GL_FLAGS := -framework OpenGL +#BREW := -lomp -I"$(brew --prefix libomp)/include" endif CXXFLAGS = -O3 -g3 -ggdb3 \ - -Wall -Wextra \ - -D__GXX_EXPERIMENTAL_CXX0X__ \ - -I/usr/local/include/Cellar/glfw3/3.3/include/ \ - -I/usr/local/include/TSGL \ - -I/usr/local/include \ - -I/usr/local/include/freetype2 \ - -I/usr/local/include/freetype2/freetype \ - $(NOWARN)\ - -std=c++11\ - -Wc++11-compat\ - -I/opt/AMDAPP/include/ \ - -I/usr/include/c++/4.6/ \ - -I/usr/include/c++/4.6/x86_64-linux-gnu/ \ - -I/usr/lib/gcc/x86_64-linux-gnu/9/include/ \ - -I/usr/include \ - -I/usr/include/freetype2 \ - -I/usr/include/freetype2/freetype \ + -I$(TSGL_HOME)/include/TSGL \ + -I$(TSGL_HOME)/include/freetype2 \ + -std=c++0x -fopenmp \ LFLAGS = -g -ltsgl -lfreetype -lGLEW -lglfw $(GL_FLAGS) -fopenmp \ - $(BREW) -L/usr/local/lib \ + $(BREW) -L$(TSGL_HOME)/lib \ # **************************************************** @@ -84,4 +70,4 @@ clean: @tput setaf 5; @echo "*************** All output files removed from $(DIR)! ***************" @tput sgr0; - @echo "" \ No newline at end of file + @echo "" diff --git a/src/examples/Pandemic/Makefile b/src/examples/Pandemic/Makefile index 02400f61b..803186e99 100644 --- a/src/examples/Pandemic/Makefile +++ b/src/examples/Pandemic/Makefile @@ -38,31 +38,17 @@ GL_FLAGS := -lGLU -lGL BREW := endif ifeq ($(UNAME), Darwin) -GL_FLAGS := -framework OpenGL -BREW := -lomp -I"$(brew --prefix libomp)/include" +#GL_FLAGS := -framework OpenGL +#BREW := -lomp -I"$(brew --prefix libomp)/include" endif CXXFLAGS = -O3 -g3 -ggdb3 \ - -Wall -Wextra \ - -D__GXX_EXPERIMENTAL_CXX0X__ \ - -I/usr/local/include/Cellar/glfw3/3.3/include/ \ - -I/usr/local/include/TSGL \ - -I/usr/local/include \ - -I/usr/local/include/freetype2 \ - -I/usr/local/include/freetype2/freetype \ - $(NOWARN)\ - -std=c++11\ - -Wc++11-compat\ - -I/opt/AMDAPP/include/ \ - -I/usr/include/c++/4.6/ \ - -I/usr/include/c++/4.6/x86_64-linux-gnu/ \ - -I/usr/lib/gcc/x86_64-linux-gnu/9/include/ \ - -I/usr/include \ - -I/usr/include/freetype2 \ - -I/usr/include/freetype2/freetype \ + -I$(TSGL_HOME)/include/TSGL \ + -I$(TSGL_HOME)/include/freetype2 \ + -std=c++0x -fopenmp \ LFLAGS = -g -ltsgl -lfreetype -lGLEW -lglfw $(GL_FLAGS) -fopenmp \ - $(BREW) -L/usr/local/lib \ + $(BREW) -L$(TSGL_HOME)/lib \ # **************************************************** @@ -84,4 +70,4 @@ clean: @tput setaf 5; @echo "*************** All output files removed from $(DIR)! ***************" @tput sgr0; - @echo "" \ No newline at end of file + @echo "" diff --git a/src/examples/Pandemic/testPandemic.cpp b/src/examples/Pandemic/testPandemic.cpp index 8b022d4d5..4ba59c1c3 100644 --- a/src/examples/Pandemic/testPandemic.cpp +++ b/src/examples/Pandemic/testPandemic.cpp @@ -16,7 +16,6 @@ // disease constants #define PERSON_RADIUS 5 // the size of each person on screen // text constants -#define FONT "./assets/freefont/FreeSansBold.ttf" // font for all text #define FONT_SIZE 20 // font size for all text #define TEXT_COLOR ColorFloat(0.2,1,1,1) // color for all text (light blue) diff --git a/src/examples/Pong/Makefile b/src/examples/Pong/Makefile index cc19ca124..efba1717a 100644 --- a/src/examples/Pong/Makefile +++ b/src/examples/Pong/Makefile @@ -38,31 +38,17 @@ GL_FLAGS := -lGLU -lGL BREW := endif ifeq ($(UNAME), Darwin) -GL_FLAGS := -framework OpenGL -BREW := -lomp -I"$(brew --prefix libomp)/include" +#GL_FLAGS := -framework OpenGL +#BREW := -lomp -I"$(brew --prefix libomp)/include" endif CXXFLAGS = -O3 -g3 -ggdb3 \ - -Wall -Wextra \ - -D__GXX_EXPERIMENTAL_CXX0X__ \ - -I/usr/local/include/Cellar/glfw3/3.3/include/ \ - -I/usr/local/include/TSGL \ - -I/usr/local/include \ - -I/usr/local/include/freetype2 \ - -I/usr/local/include/freetype2/freetype \ - $(NOWARN)\ - -std=c++11\ - -Wc++11-compat\ - -I/opt/AMDAPP/include/ \ - -I/usr/include/c++/4.6/ \ - -I/usr/include/c++/4.6/x86_64-linux-gnu/ \ - -I/usr/lib/gcc/x86_64-linux-gnu/9/include/ \ - -I/usr/include \ - -I/usr/include/freetype2 \ - -I/usr/include/freetype2/freetype \ + -I$(TSGL_HOME)/include/TSGL \ + -I$(TSGL_HOME)/include/freetype2 \ + -std=c++0x -fopenmp \ LFLAGS = -g -ltsgl -lfreetype -lGLEW -lglfw $(GL_FLAGS) -fopenmp \ - $(BREW) -L/usr/local/lib \ + $(BREW) -L$(TSGL_HOME)/lib \ # **************************************************** @@ -84,4 +70,4 @@ clean: @tput setaf 5; @echo "*************** All output files removed from $(DIR)! ***************" @tput sgr0; - @echo "" \ No newline at end of file + @echo "" diff --git a/src/examples/Pong/Pong.cpp b/src/examples/Pong/Pong.cpp index 300de8672..3a92c4697 100644 --- a/src/examples/Pong/Pong.cpp +++ b/src/examples/Pong/Pong.cpp @@ -21,8 +21,8 @@ Pong::Pong(Canvas& can, int & ballSpeed, int & paddleSpeed) { leftPaddle->bindings(can, -1); // W & S keys rightPaddle->bindings(can, 1); // Up and Down arrow keys pongBall = new Ball(can, ballSpeed); - leftScore = new Text(-64, can.getWindowHeight()/2 - 40, 0, L"0", "./assets/freefont/FreeSerif.ttf", 32, 0,0,0, ColorFloat(0.0f, 0.0f, 1.0f, 1.0f)); - rightScore = new Text(64, can.getWindowHeight()/2 - 40, 0, L"0", "./assets/freefont/FreeSerif.ttf", 32, 0,0,0, ColorFloat(1.0f, 0.0f, 0.0f, 1.0f)); + leftScore = new Text(-64, can.getWindowHeight()/2 - 40, 0, L"0", FONT, 32, 0,0,0, ColorFloat(0.0f, 0.0f, 1.0f, 1.0f)); + rightScore = new Text(64, can.getWindowHeight()/2 - 40, 0, L"0", FONT, 32, 0,0,0, ColorFloat(1.0f, 0.0f, 0.0f, 1.0f)); can.add(leftScore); can.add(rightScore); } @@ -81,4 +81,4 @@ Pong::~Pong() { delete rightPaddle; delete leftScore; delete rightScore; -} \ No newline at end of file +} diff --git a/src/examples/ProducerConsumer/Makefile b/src/examples/ProducerConsumer/Makefile index 2e072ff20..05cc5e788 100644 --- a/src/examples/ProducerConsumer/Makefile +++ b/src/examples/ProducerConsumer/Makefile @@ -38,31 +38,17 @@ GL_FLAGS := -lGLU -lGL BREW := endif ifeq ($(UNAME), Darwin) -GL_FLAGS := -framework OpenGL -BREW := -lomp -I"$(brew --prefix libomp)/include" +#GL_FLAGS := -framework OpenGL +#BREW := -lomp -I"$(brew --prefix libomp)/include" endif CXXFLAGS = -O3 -g3 -ggdb3 \ - -Wall -Wextra \ - -D__GXX_EXPERIMENTAL_CXX0X__ \ - -I/usr/local/include/Cellar/glfw3/3.3/include/ \ - -I/usr/local/include/TSGL \ - -I/usr/local/include \ - -I/usr/local/include/freetype2 \ - -I/usr/local/include/freetype2/freetype \ - $(NOWARN)\ - -std=c++11\ - -Wc++11-compat\ - -I/opt/AMDAPP/include/ \ - -I/usr/include/c++/4.6/ \ - -I/usr/include/c++/4.6/x86_64-linux-gnu/ \ - -I/usr/lib/gcc/x86_64-linux-gnu/9/include/ \ - -I/usr/include \ - -I/usr/include/freetype2 \ - -I/usr/include/freetype2/freetype \ + -I$(TSGL_HOME)/include/TSGL \ + -I$(TSGL_HOME)/include/freetype2 \ + -std=c++0x -fopenmp \ LFLAGS = -g -ltsgl -lfreetype -lGLEW -lglfw $(GL_FLAGS) -fopenmp \ - $(BREW) -L/usr/local/lib \ + $(BREW) -L$(TSGL_HOME)/lib \ # **************************************************** @@ -84,4 +70,4 @@ clean: @tput setaf 5; @echo "*************** All output files removed from $(DIR)! ***************" @tput sgr0; - @echo "" \ No newline at end of file + @echo "" diff --git a/src/examples/ProducerConsumer/PCThread.cpp b/src/examples/ProducerConsumer/PCThread.cpp index 70e5a1d75..ff338900c 100644 --- a/src/examples/ProducerConsumer/PCThread.cpp +++ b/src/examples/ProducerConsumer/PCThread.cpp @@ -32,7 +32,7 @@ PCThread::PCThread(Queue & sharedBuffer, unsigned long id, Canvas & can) myX = 0; //Set in subclass constructor myItem = NULL; myArrow = NULL; - myCountLabel = new Text( 0,0,1, std::to_wstring(count), "./assets/freefont/FreeSans.ttf", 24, 0,0,0, WHITE); + myCountLabel = new Text( 0,0,1, std::to_wstring(count), FONT, 24, 0,0,0, WHITE); // myCountLabel->setLayer(3); myCan->add( myCountLabel ); } diff --git a/src/examples/ProducerConsumer/testProducerConsumer.cpp b/src/examples/ProducerConsumer/testProducerConsumer.cpp index 4d67a39cf..285c0b132 100644 --- a/src/examples/ProducerConsumer/testProducerConsumer.cpp +++ b/src/examples/ProducerConsumer/testProducerConsumer.cpp @@ -89,8 +89,6 @@ int main(int argc, char * argv[]) { queueBackground->drawLine(-INNERRAD*sin(langle), INNERRAD*cos(langle) + centerY,0, -OUTERRAD*sin(langle), OUTERRAD*cos(langle)+centerY,0, 0,0,0, BLACK); } - const std::string FONT = "./assets/freefont/FreeSerif.ttf"; - //Add notes to bottom of main Canvas queueBackground->drawText(0,-WINDOW_HEIGHT/2+20, 0, L"*Numbers indicate counts of items produced and consumed", FONT, 20, 0,0,0, BLACK); // Label Readers and Writers diff --git a/src/examples/ReaderWriter/Makefile b/src/examples/ReaderWriter/Makefile index a72e6f3e2..068774086 100644 --- a/src/examples/ReaderWriter/Makefile +++ b/src/examples/ReaderWriter/Makefile @@ -38,31 +38,17 @@ GL_FLAGS := -lGLU -lGL BREW := endif ifeq ($(UNAME), Darwin) -GL_FLAGS := -framework OpenGL -BREW := -lomp -I"$(brew --prefix libomp)/include" +#GL_FLAGS := -framework OpenGL +#BREW := -lomp -I"$(brew --prefix libomp)/include" endif CXXFLAGS = -O3 -g3 -ggdb3 \ - -Wall -Wextra \ - -D__GXX_EXPERIMENTAL_CXX0X__ \ - -I/usr/local/include/Cellar/glfw3/3.3/include/ \ - -I/usr/local/include/TSGL \ - -I/usr/local/include \ - -I/usr/local/include/freetype2 \ - -I/usr/local/include/freetype2/freetype \ - $(NOWARN)\ - -std=c++11\ - -Wc++11-compat\ - -I/opt/AMDAPP/include/ \ - -I/usr/include/c++/4.6/ \ - -I/usr/include/c++/4.6/x86_64-linux-gnu/ \ - -I/usr/lib/gcc/x86_64-linux-gnu/9/include/ \ - -I/usr/include \ - -I/usr/include/freetype2 \ - -I/usr/include/freetype2/freetype \ + -I$(TSGL_HOME)/include/TSGL \ + -I$(TSGL_HOME)/include/freetype2 \ + -std=c++0x -fopenmp \ LFLAGS = -g -ltsgl -lfreetype -lGLEW -lglfw $(GL_FLAGS) -fopenmp \ - $(BREW) -L/usr/local/lib \ + $(BREW) -L$(TSGL_HOME)/lib \ # **************************************************** @@ -84,4 +70,4 @@ clean: @tput setaf 5; @echo "*************** All output files removed from $(DIR)! ***************" @tput sgr0; - @echo "" \ No newline at end of file + @echo "" diff --git a/src/examples/ReaderWriter/RWThread.cpp b/src/examples/ReaderWriter/RWThread.cpp index 2382ebd6a..8d8a9a6e5 100644 --- a/src/examples/ReaderWriter/RWThread.cpp +++ b/src/examples/ReaderWriter/RWThread.cpp @@ -44,7 +44,7 @@ RWThread::RWThread(RWDatabase & sharedDatabase, Lock& lock, unsigned myX = 0; //Set in subclass constructor myCircle = new Circle(myX, myY, 0, 20, 0,0,0, GRAY); //Move based on new x in subclass myCan->add(myCircle); - myCountLabel = new Text( myX, myY+5, 1, to_wstring(count), "./assets/freefont/FreeSans.ttf", 24, 0,0,0, BLACK); + myCountLabel = new Text( myX, myY+5, 1, to_wstring(count), FONT, 24, 0,0,0, BLACK); myCan->add( myCountLabel ); } diff --git a/src/examples/ReaderWriter/Writer.cpp b/src/examples/ReaderWriter/Writer.cpp index 3f4f72798..980d2778c 100644 --- a/src/examples/ReaderWriter/Writer.cpp +++ b/src/examples/ReaderWriter/Writer.cpp @@ -19,7 +19,7 @@ Writer::Writer(RWDatabase & sharedDatabase, Lock& lock, unsigned lon myCircle->setCenter(myX, myY, 0); myCountLabel->setCenter(myX, myY, 1); if( !dataLabel ) { - dataLabel = new Text(RWThread::dataX - 20, RWThread::dataY+RWThread::dataHeight+15, 1, L"0/300", "./assets/freefont/FreeSans.ttf", 16, 0,0,0, BLACK); + dataLabel = new Text(RWThread::dataX - 20, RWThread::dataY+RWThread::dataHeight+15, 1, L"0/300", FONT, 16, 0,0,0, BLACK); myCan->add( dataLabel ); } } diff --git a/src/examples/ReaderWriter/testReaderWriter.cpp b/src/examples/ReaderWriter/testReaderWriter.cpp index 50181fe7a..edaa87a8e 100644 --- a/src/examples/ReaderWriter/testReaderWriter.cpp +++ b/src/examples/ReaderWriter/testReaderWriter.cpp @@ -60,8 +60,6 @@ int main(int argc, char* argv[]) { Reader ** readers = new Reader*[numReaders]; //Array of Readers Writer ** writers = new Writer*[numWriters]; //Array of Writers - std::string FONT = "./assets/freefont/FreeSerif.ttf"; - Background * bg = can.getBackground(); //Create labels bg->drawRectangle(0, RWThread::dataY + RWThread::dataHeight/2, 0, RWThread::dataWidth+2*MARGIN, RWThread::dataHeight, 0,0,0, GRAY); diff --git a/src/examples/SeaUrchin/Makefile b/src/examples/SeaUrchin/Makefile index d030a646d..48204613a 100644 --- a/src/examples/SeaUrchin/Makefile +++ b/src/examples/SeaUrchin/Makefile @@ -38,31 +38,17 @@ GL_FLAGS := -lGLU -lGL BREW := endif ifeq ($(UNAME), Darwin) -GL_FLAGS := -framework OpenGL -BREW := -lomp -I"$(brew --prefix libomp)/include" +#GL_FLAGS := -framework OpenGL +#BREW := -lomp -I"$(brew --prefix libomp)/include" endif CXXFLAGS = -O3 -g3 -ggdb3 \ - -Wall -Wextra \ - -D__GXX_EXPERIMENTAL_CXX0X__ \ - -I/usr/local/include/Cellar/glfw3/3.3/include/ \ - -I/usr/local/include/TSGL \ - -I/usr/local/include \ - -I/usr/local/include/freetype2 \ - -I/usr/local/include/freetype2/freetype \ - $(NOWARN)\ - -std=c++11\ - -Wc++11-compat\ - -I/opt/AMDAPP/include/ \ - -I/usr/include/c++/4.6/ \ - -I/usr/include/c++/4.6/x86_64-linux-gnu/ \ - -I/usr/lib/gcc/x86_64-linux-gnu/9/include/ \ - -I/usr/include \ - -I/usr/include/freetype2 \ - -I/usr/include/freetype2/freetype \ + -I$(TSGL_HOME)/include/TSGL \ + -I$(TSGL_HOME)/include/freetype2 \ + -std=c++0x -fopenmp \ LFLAGS = -g -ltsgl -lfreetype -lGLEW -lglfw $(GL_FLAGS) -fopenmp \ - $(BREW) -L/usr/local/lib \ + $(BREW) -L$(TSGL_HOME)/lib \ # **************************************************** @@ -84,4 +70,4 @@ clean: @tput setaf 5; @echo "*************** All output files removed from $(DIR)! ***************" @tput sgr0; - @echo "" \ No newline at end of file + @echo "" diff --git a/src/examples/ShakerSort/Makefile b/src/examples/ShakerSort/Makefile index 7a53faadf..dcf33b5e5 100644 --- a/src/examples/ShakerSort/Makefile +++ b/src/examples/ShakerSort/Makefile @@ -38,31 +38,17 @@ GL_FLAGS := -lGLU -lGL BREW := endif ifeq ($(UNAME), Darwin) -GL_FLAGS := -framework OpenGL -BREW := -lomp -I"$(brew --prefix libomp)/include" +#GL_FLAGS := -framework OpenGL +#BREW := -lomp -I"$(brew --prefix libomp)/include" endif CXXFLAGS = -O3 -g3 -ggdb3 \ - -Wall -Wextra \ - -D__GXX_EXPERIMENTAL_CXX0X__ \ - -I/usr/local/include/Cellar/glfw3/3.3/include/ \ - -I/usr/local/include/TSGL \ - -I/usr/local/include \ - -I/usr/local/include/freetype2 \ - -I/usr/local/include/freetype2/freetype \ - $(NOWARN)\ - -std=c++11\ - -Wc++11-compat\ - -I/opt/AMDAPP/include/ \ - -I/usr/include/c++/4.6/ \ - -I/usr/include/c++/4.6/x86_64-linux-gnu/ \ - -I/usr/lib/gcc/x86_64-linux-gnu/9/include/ \ - -I/usr/include \ - -I/usr/include/freetype2 \ - -I/usr/include/freetype2/freetype \ + -I$(TSGL_HOME)/include/TSGL \ + -I$(TSGL_HOME)/include/freetype2 \ + -std=c++0x -fopenmp \ LFLAGS = -g -ltsgl -lfreetype -lGLEW -lglfw $(GL_FLAGS) -fopenmp \ - $(BREW) -L/usr/local/lib \ + $(BREW) -L$(TSGL_HOME)/lib \ # **************************************************** @@ -84,4 +70,4 @@ clean: @tput setaf 5; @echo "*************** All output files removed from $(DIR)! ***************" @tput sgr0; - @echo "" \ No newline at end of file + @echo "" diff --git a/src/examples/SolarSystem/Makefile b/src/examples/SolarSystem/Makefile index 3b066870f..eb59b9ce4 100644 --- a/src/examples/SolarSystem/Makefile +++ b/src/examples/SolarSystem/Makefile @@ -38,31 +38,17 @@ GL_FLAGS := -lGLU -lGL BREW := endif ifeq ($(UNAME), Darwin) -GL_FLAGS := -framework OpenGL -BREW := -lomp -I"$(brew --prefix libomp)/include" +#GL_FLAGS := -framework OpenGL +#BREW := -lomp -I"$(brew --prefix libomp)/include" endif CXXFLAGS = -O3 -g3 -ggdb3 \ - -Wall -Wextra \ - -D__GXX_EXPERIMENTAL_CXX0X__ \ - -I/usr/local/include/Cellar/glfw3/3.3/include/ \ - -I/usr/local/include/TSGL \ - -I/usr/local/include \ - -I/usr/local/include/freetype2 \ - -I/usr/local/include/freetype2/freetype \ - $(NOWARN)\ - -std=c++11\ - -Wc++11-compat\ - -I/opt/AMDAPP/include/ \ - -I/usr/include/c++/4.6/ \ - -I/usr/include/c++/4.6/x86_64-linux-gnu/ \ - -I/usr/lib/gcc/x86_64-linux-gnu/9/include/ \ - -I/usr/include \ - -I/usr/include/freetype2 \ - -I/usr/include/freetype2/freetype \ + -I$(TSGL_HOME)/include/TSGL \ + -I$(TSGL_HOME)/include/freetype2 \ + -std=c++0x -fopenmp \ LFLAGS = -g -ltsgl -lfreetype -lGLEW -lglfw $(GL_FLAGS) -fopenmp \ - $(BREW) -L/usr/local/lib \ + $(BREW) -L$(TSGL_HOME)/lib \ # **************************************************** @@ -84,4 +70,4 @@ clean: @tput setaf 5; @echo "*************** All output files removed from $(DIR)! ***************" @tput sgr0; - @echo "" \ No newline at end of file + @echo "" diff --git a/src/examples/ThreadedArrayAddition/CubeArray.cpp b/src/examples/ThreadedArrayAddition/CubeArray.cpp index 55925b5f0..e60d19097 100644 --- a/src/examples/ThreadedArrayAddition/CubeArray.cpp +++ b/src/examples/ThreadedArrayAddition/CubeArray.cpp @@ -29,7 +29,7 @@ CubeArray::CubeArray(){ for(unsigned i = 0; i < mySize; ++i){ myData.push_back(0); myText.push_back(new Text((myX-(int)(mySize-1)*(myCubeSideLength/2.0)) + (i * myCubeSideLength), myY, myZ+myCubeSideLength/2.0, - std::to_wstring(myData[i]), "./assets/freefont/FreeSansBold.ttf", myCubeSideLength/2.25, + std::to_wstring(myData[i]), FONT, myCubeSideLength/2.25, myYaw, myPitch, myRoll, WHITE)); myText[i]->setRotationPoint(0,0,0); } @@ -75,13 +75,13 @@ CubeArray::CubeArray(float x, float y, float z, GLfloat sideLength, unsigned siz for(unsigned i = 0; i < dataArraySize; ++i){ myData.push_back(dataArray[i]); myText.push_back(new Text((x-(int)(size-1)*(sideLength/2.0)) + (i * sideLength), y, z+sideLength/2.0, std::to_wstring(myData[i]), - "./assets/freefont/FreeSansBold.ttf", sideLength/2.25, yaw, pitch, roll, c2)); + FONT, sideLength/2.25, yaw, pitch, roll, c2)); myText[i]->setRotationPoint(0,0,0); } for(unsigned i = dataArraySize; i < size; ++i){ myData.push_back(0); myText.push_back(new Text((x-(int)(size-1)*(sideLength/2.0)) + (i * sideLength), y, z+sideLength/2.0, L"", - "./assets/freefont/FreeSansBold.ttf", sideLength/2.25, yaw, pitch, roll, c2)); + FONT, sideLength/2.25, yaw, pitch, roll, c2)); myText[i]->setRotationPoint(0,0,0); } } @@ -89,7 +89,7 @@ CubeArray::CubeArray(float x, float y, float z, GLfloat sideLength, unsigned siz for(unsigned i = 0; i < size; ++i){ myData.push_back(dataArray[i]); myText.push_back(new Text((x-(int)(size-1)*(sideLength/2.0)) + (i * sideLength), y, z+sideLength/2.0, std::to_wstring(myData[i]), - "./assets/freefont/FreeSansBold.ttf", sideLength/2.25, yaw, pitch, roll, c2)); + FONT, sideLength/2.25, yaw, pitch, roll, c2)); myText[i]->setRotationPoint(0,0,0); } } @@ -255,4 +255,4 @@ CubeArray::~CubeArray(){ } myCubes.clear(); myText.clear(); -} \ No newline at end of file +} diff --git a/src/examples/ThreadedArrayAddition/Makefile b/src/examples/ThreadedArrayAddition/Makefile index 43743e40e..69ce0c1b6 100644 --- a/src/examples/ThreadedArrayAddition/Makefile +++ b/src/examples/ThreadedArrayAddition/Makefile @@ -38,31 +38,17 @@ GL_FLAGS := -lGLU -lGL BREW := endif ifeq ($(UNAME), Darwin) -GL_FLAGS := -framework OpenGL -BREW := -lomp -I"$(brew --prefix libomp)/include" +#GL_FLAGS := -framework OpenGL +#BREW := -lomp -I"$(brew --prefix libomp)/include" endif CXXFLAGS = -O3 -g3 -ggdb3 \ - -Wall -Wextra \ - -D__GXX_EXPERIMENTAL_CXX0X__ \ - -I/usr/local/include/Cellar/glfw3/3.3/include/ \ - -I/usr/local/include/TSGL \ - -I/usr/local/include \ - -I/usr/local/include/freetype2 \ - -I/usr/local/include/freetype2/freetype \ - $(NOWARN)\ - -std=c++11\ - -Wc++11-compat\ - -I/opt/AMDAPP/include/ \ - -I/usr/include/c++/4.6/ \ - -I/usr/include/c++/4.6/x86_64-linux-gnu/ \ - -I/usr/lib/gcc/x86_64-linux-gnu/9/include/ \ - -I/usr/include \ - -I/usr/include/freetype2 \ - -I/usr/include/freetype2/freetype \ + -I$(TSGL_HOME)/include/TSGL \ + -I$(TSGL_HOME)/include/freetype2 \ + -std=c++0x -fopenmp \ LFLAGS = -g -ltsgl -lfreetype -lGLEW -lglfw $(GL_FLAGS) -fopenmp \ - $(BREW) -L/usr/local/lib \ + $(BREW) -L$(TSGL_HOME)/lib \ # **************************************************** @@ -84,4 +70,4 @@ clean: @tput setaf 5; @echo "*************** All output files removed from $(DIR)! ***************" @tput sgr0; - @echo "" \ No newline at end of file + @echo "" diff --git a/src/examples/ThreadedArrayAddition/testThreadedArrayAddition.cpp b/src/examples/ThreadedArrayAddition/testThreadedArrayAddition.cpp index ef5d39934..3c7c7a0f8 100644 --- a/src/examples/ThreadedArrayAddition/testThreadedArrayAddition.cpp +++ b/src/examples/ThreadedArrayAddition/testThreadedArrayAddition.cpp @@ -28,7 +28,6 @@ // Other constants #define ARRAY_COLOR ColorFloat(0.5, 0.5, 0.5, 1) // color value for all arrays (gray) #define NUM_COLOR WHITE // color value for all numbers -#define FONT "./assets/freefont/FreeSansBold.ttf" // font for all text #define FONT_SIZE 25 // font size for all text using namespace tsgl; diff --git a/src/examples/ThreadedArrayBubbleSort/CubeArray.cpp b/src/examples/ThreadedArrayBubbleSort/CubeArray.cpp index 55925b5f0..e60d19097 100644 --- a/src/examples/ThreadedArrayBubbleSort/CubeArray.cpp +++ b/src/examples/ThreadedArrayBubbleSort/CubeArray.cpp @@ -29,7 +29,7 @@ CubeArray::CubeArray(){ for(unsigned i = 0; i < mySize; ++i){ myData.push_back(0); myText.push_back(new Text((myX-(int)(mySize-1)*(myCubeSideLength/2.0)) + (i * myCubeSideLength), myY, myZ+myCubeSideLength/2.0, - std::to_wstring(myData[i]), "./assets/freefont/FreeSansBold.ttf", myCubeSideLength/2.25, + std::to_wstring(myData[i]), FONT, myCubeSideLength/2.25, myYaw, myPitch, myRoll, WHITE)); myText[i]->setRotationPoint(0,0,0); } @@ -75,13 +75,13 @@ CubeArray::CubeArray(float x, float y, float z, GLfloat sideLength, unsigned siz for(unsigned i = 0; i < dataArraySize; ++i){ myData.push_back(dataArray[i]); myText.push_back(new Text((x-(int)(size-1)*(sideLength/2.0)) + (i * sideLength), y, z+sideLength/2.0, std::to_wstring(myData[i]), - "./assets/freefont/FreeSansBold.ttf", sideLength/2.25, yaw, pitch, roll, c2)); + FONT, sideLength/2.25, yaw, pitch, roll, c2)); myText[i]->setRotationPoint(0,0,0); } for(unsigned i = dataArraySize; i < size; ++i){ myData.push_back(0); myText.push_back(new Text((x-(int)(size-1)*(sideLength/2.0)) + (i * sideLength), y, z+sideLength/2.0, L"", - "./assets/freefont/FreeSansBold.ttf", sideLength/2.25, yaw, pitch, roll, c2)); + FONT, sideLength/2.25, yaw, pitch, roll, c2)); myText[i]->setRotationPoint(0,0,0); } } @@ -89,7 +89,7 @@ CubeArray::CubeArray(float x, float y, float z, GLfloat sideLength, unsigned siz for(unsigned i = 0; i < size; ++i){ myData.push_back(dataArray[i]); myText.push_back(new Text((x-(int)(size-1)*(sideLength/2.0)) + (i * sideLength), y, z+sideLength/2.0, std::to_wstring(myData[i]), - "./assets/freefont/FreeSansBold.ttf", sideLength/2.25, yaw, pitch, roll, c2)); + FONT, sideLength/2.25, yaw, pitch, roll, c2)); myText[i]->setRotationPoint(0,0,0); } } @@ -255,4 +255,4 @@ CubeArray::~CubeArray(){ } myCubes.clear(); myText.clear(); -} \ No newline at end of file +} diff --git a/src/examples/ThreadedArrayBubbleSort/Makefile b/src/examples/ThreadedArrayBubbleSort/Makefile index 6327c08de..03937e529 100644 --- a/src/examples/ThreadedArrayBubbleSort/Makefile +++ b/src/examples/ThreadedArrayBubbleSort/Makefile @@ -38,31 +38,17 @@ GL_FLAGS := -lGLU -lGL BREW := endif ifeq ($(UNAME), Darwin) -GL_FLAGS := -framework OpenGL -BREW := -lomp -I"$(brew --prefix libomp)/include" +#GL_FLAGS := -framework OpenGL +#BREW := -lomp -I"$(brew --prefix libomp)/include" endif CXXFLAGS = -O3 -g3 -ggdb3 \ - -Wall -Wextra \ - -D__GXX_EXPERIMENTAL_CXX0X__ \ - -I/usr/local/include/Cellar/glfw3/3.3/include/ \ - -I/usr/local/include/TSGL \ - -I/usr/local/include \ - -I/usr/local/include/freetype2 \ - -I/usr/local/include/freetype2/freetype \ - $(NOWARN)\ - -std=c++11\ - -Wc++11-compat\ - -I/opt/AMDAPP/include/ \ - -I/usr/include/c++/4.6/ \ - -I/usr/include/c++/4.6/x86_64-linux-gnu/ \ - -I/usr/lib/gcc/x86_64-linux-gnu/9/include/ \ - -I/usr/include \ - -I/usr/include/freetype2 \ - -I/usr/include/freetype2/freetype \ + -I$(TSGL_HOME)/include/TSGL \ + -I$(TSGL_HOME)/include/freetype2 \ + -std=c++0x -fopenmp \ LFLAGS = -g -ltsgl -lfreetype -lGLEW -lglfw $(GL_FLAGS) -fopenmp \ - $(BREW) -L/usr/local/lib \ + $(BREW) -L$(TSGL_HOME)/lib \ # **************************************************** @@ -84,4 +70,4 @@ clean: @tput setaf 5; @echo "*************** All output files removed from $(DIR)! ***************" @tput sgr0; - @echo "" \ No newline at end of file + @echo "" diff --git a/src/examples/ThreadedArrayBubbleSort/testThreadedArrayBubbleSort.cpp b/src/examples/ThreadedArrayBubbleSort/testThreadedArrayBubbleSort.cpp index 7dc6c5e8d..241f70944 100644 --- a/src/examples/ThreadedArrayBubbleSort/testThreadedArrayBubbleSort.cpp +++ b/src/examples/ThreadedArrayBubbleSort/testThreadedArrayBubbleSort.cpp @@ -27,7 +27,6 @@ #define ARRAY_COLOR ColorFloat(0.5, 0.5, 0.5, 1) // color value for all arrays #define NUM_COLOR WHITE // color value for all numbers #define FINISHED_COLOR ColorFloat(0, 0.6, 0, 1) // color value for sorted numbers (green) -#define FONT "./assets/freefont/FreeSansBold.ttf" // font for all text #define FONT_SIZE 35 // font size for all text using namespace tsgl; @@ -207,4 +206,4 @@ int main(int argc, char* argv[]){ Canvas c(0, -1, Canvas::getDisplayWidth(), 620, "Threaded Array Bubble Sort", BLACK); c.run(sortVisualizationFunction, numberOfThreads, sizeOfArrays); -} \ No newline at end of file +} diff --git a/src/examples/ThreadedArrayOperations/CubeArray.cpp b/src/examples/ThreadedArrayOperations/CubeArray.cpp index 55925b5f0..179997578 100644 --- a/src/examples/ThreadedArrayOperations/CubeArray.cpp +++ b/src/examples/ThreadedArrayOperations/CubeArray.cpp @@ -29,7 +29,7 @@ CubeArray::CubeArray(){ for(unsigned i = 0; i < mySize; ++i){ myData.push_back(0); myText.push_back(new Text((myX-(int)(mySize-1)*(myCubeSideLength/2.0)) + (i * myCubeSideLength), myY, myZ+myCubeSideLength/2.0, - std::to_wstring(myData[i]), "./assets/freefont/FreeSansBold.ttf", myCubeSideLength/2.25, + std::to_wstring(myData[i]), FONT , myCubeSideLength/2.25, myYaw, myPitch, myRoll, WHITE)); myText[i]->setRotationPoint(0,0,0); } @@ -75,13 +75,13 @@ CubeArray::CubeArray(float x, float y, float z, GLfloat sideLength, unsigned siz for(unsigned i = 0; i < dataArraySize; ++i){ myData.push_back(dataArray[i]); myText.push_back(new Text((x-(int)(size-1)*(sideLength/2.0)) + (i * sideLength), y, z+sideLength/2.0, std::to_wstring(myData[i]), - "./assets/freefont/FreeSansBold.ttf", sideLength/2.25, yaw, pitch, roll, c2)); + FONT , sideLength/2.25, yaw, pitch, roll, c2)); myText[i]->setRotationPoint(0,0,0); } for(unsigned i = dataArraySize; i < size; ++i){ myData.push_back(0); myText.push_back(new Text((x-(int)(size-1)*(sideLength/2.0)) + (i * sideLength), y, z+sideLength/2.0, L"", - "./assets/freefont/FreeSansBold.ttf", sideLength/2.25, yaw, pitch, roll, c2)); + FONT , sideLength/2.25, yaw, pitch, roll, c2)); myText[i]->setRotationPoint(0,0,0); } } @@ -89,7 +89,7 @@ CubeArray::CubeArray(float x, float y, float z, GLfloat sideLength, unsigned siz for(unsigned i = 0; i < size; ++i){ myData.push_back(dataArray[i]); myText.push_back(new Text((x-(int)(size-1)*(sideLength/2.0)) + (i * sideLength), y, z+sideLength/2.0, std::to_wstring(myData[i]), - "./assets/freefont/FreeSansBold.ttf", sideLength/2.25, yaw, pitch, roll, c2)); + FONT , sideLength/2.25, yaw, pitch, roll, c2)); myText[i]->setRotationPoint(0,0,0); } } @@ -255,4 +255,4 @@ CubeArray::~CubeArray(){ } myCubes.clear(); myText.clear(); -} \ No newline at end of file +} diff --git a/src/examples/ThreadedArrayOperations/Makefile b/src/examples/ThreadedArrayOperations/Makefile index 68a14fb68..f36b6ea52 100644 --- a/src/examples/ThreadedArrayOperations/Makefile +++ b/src/examples/ThreadedArrayOperations/Makefile @@ -38,31 +38,17 @@ GL_FLAGS := -lGLU -lGL BREW := endif ifeq ($(UNAME), Darwin) -GL_FLAGS := -framework OpenGL -BREW := -lomp -I"$(brew --prefix libomp)/include" +#GL_FLAGS := -framework OpenGL +#BREW := -lomp -I"$(brew --prefix libomp)/include" endif CXXFLAGS = -O3 -g3 -ggdb3 \ - -Wall -Wextra \ - -D__GXX_EXPERIMENTAL_CXX0X__ \ - -I/usr/local/include/Cellar/glfw3/3.3/include/ \ - -I/usr/local/include/TSGL \ - -I/usr/local/include \ - -I/usr/local/include/freetype2 \ - -I/usr/local/include/freetype2/freetype \ - $(NOWARN)\ - -std=c++11\ - -Wc++11-compat\ - -I/opt/AMDAPP/include/ \ - -I/usr/include/c++/4.6/ \ - -I/usr/include/c++/4.6/x86_64-linux-gnu/ \ - -I/usr/lib/gcc/x86_64-linux-gnu/9/include/ \ - -I/usr/include \ - -I/usr/include/freetype2 \ - -I/usr/include/freetype2/freetype \ + -I$(TSGL_HOME)/include/TSGL \ + -I$(TSGL_HOME)/include/freetype2 \ + -std=c++0x -fopenmp \ LFLAGS = -g -ltsgl -lfreetype -lGLEW -lglfw $(GL_FLAGS) -fopenmp \ - $(BREW) -L/usr/local/lib \ + $(BREW) -L$(TSGL_HOME)/lib \ # **************************************************** @@ -84,4 +70,4 @@ clean: @tput setaf 5; @echo "*************** All output files removed from $(DIR)! ***************" @tput sgr0; - @echo "" \ No newline at end of file + @echo "" diff --git a/src/examples/ThreadedArrayOperations/testThreadedArrayOperations.cpp b/src/examples/ThreadedArrayOperations/testThreadedArrayOperations.cpp index 92e365e55..315b074ab 100644 --- a/src/examples/ThreadedArrayOperations/testThreadedArrayOperations.cpp +++ b/src/examples/ThreadedArrayOperations/testThreadedArrayOperations.cpp @@ -26,7 +26,6 @@ // Other constants #define ARRAY_COLOR ColorFloat(0.5, 0.5, 0.5, 1) // color value for all arrays (gray) #define NUM_COLOR WHITE // color value for all numbers -#define FONT "./assets/freefont/FreeSansBold.ttf" // font for all text #define FONT_SIZE 35 // font size for all text using namespace tsgl; diff --git a/src/examples/ThreadedSolarSystem/Makefile b/src/examples/ThreadedSolarSystem/Makefile index bd69d01eb..210cb13ff 100644 --- a/src/examples/ThreadedSolarSystem/Makefile +++ b/src/examples/ThreadedSolarSystem/Makefile @@ -38,31 +38,17 @@ GL_FLAGS := -lGLU -lGL BREW := endif ifeq ($(UNAME), Darwin) -GL_FLAGS := -framework OpenGL -BREW := -lomp -I"$(brew --prefix libomp)/include" +#GL_FLAGS := -framework OpenGL +#BREW := -lomp -I"$(brew --prefix libomp)/include" endif CXXFLAGS = -O3 -g3 -ggdb3 \ - -Wall -Wextra \ - -D__GXX_EXPERIMENTAL_CXX0X__ \ - -I/usr/local/include/Cellar/glfw3/3.3/include/ \ - -I/usr/local/include/TSGL \ - -I/usr/local/include \ - -I/usr/local/include/freetype2 \ - -I/usr/local/include/freetype2/freetype \ - $(NOWARN)\ - -std=c++11\ - -Wc++11-compat\ - -I/opt/AMDAPP/include/ \ - -I/usr/include/c++/4.6/ \ - -I/usr/include/c++/4.6/x86_64-linux-gnu/ \ - -I/usr/lib/gcc/x86_64-linux-gnu/9/include/ \ - -I/usr/include \ - -I/usr/include/freetype2 \ - -I/usr/include/freetype2/freetype \ + -I$(TSGL_HOME)/include/TSGL \ + -I$(TSGL_HOME)/include/freetype2 \ + -std=c++0x -fopenmp \ LFLAGS = -g -ltsgl -lfreetype -lGLEW -lglfw $(GL_FLAGS) -fopenmp \ - $(BREW) -L/usr/local/lib \ + $(BREW) -L$(TSGL_HOME)/lib \ # **************************************************** @@ -84,4 +70,4 @@ clean: @tput setaf 5; @echo "*************** All output files removed from $(DIR)! ***************" @tput sgr0; - @echo "" \ No newline at end of file + @echo "" diff --git a/src/examples/Voronoi/Makefile b/src/examples/Voronoi/Makefile index 983122622..8228a0c8d 100644 --- a/src/examples/Voronoi/Makefile +++ b/src/examples/Voronoi/Makefile @@ -38,31 +38,17 @@ GL_FLAGS := -lGLU -lGL BREW := endif ifeq ($(UNAME), Darwin) -GL_FLAGS := -framework OpenGL -BREW := -lomp -I"$(brew --prefix libomp)/include" +#GL_FLAGS := -framework OpenGL +#BREW := -lomp -I"$(brew --prefix libomp)/include" endif CXXFLAGS = -O3 -g3 -ggdb3 \ - -Wall -Wextra \ - -D__GXX_EXPERIMENTAL_CXX0X__ \ - -I/usr/local/include/Cellar/glfw3/3.3/include/ \ - -I/usr/local/include/TSGL \ - -I/usr/local/include \ - -I/usr/local/include/freetype2 \ - -I/usr/local/include/freetype2/freetype \ - $(NOWARN)\ - -std=c++11\ - -Wc++11-compat\ - -I/opt/AMDAPP/include/ \ - -I/usr/include/c++/4.6/ \ - -I/usr/include/c++/4.6/x86_64-linux-gnu/ \ - -I/usr/lib/gcc/x86_64-linux-gnu/9/include/ \ - -I/usr/include \ - -I/usr/include/freetype2 \ - -I/usr/include/freetype2/freetype \ + -I$(TSGL_HOME)/include/TSGL \ + -I$(TSGL_HOME)/include/freetype2 \ + -std=c++0x -fopenmp \ LFLAGS = -g -ltsgl -lfreetype -lGLEW -lglfw $(GL_FLAGS) -fopenmp \ - $(BREW) -L/usr/local/lib \ + $(BREW) -L$(TSGL_HOME)/lib \ # **************************************************** @@ -84,4 +70,4 @@ clean: @tput setaf 5; @echo "*************** All output files removed from $(DIR)! ***************" @tput sgr0; - @echo "" \ No newline at end of file + @echo "" diff --git a/src/examples/testABS/CubeArray.cpp b/src/examples/testABS/CubeArray.cpp new file mode 100644 index 000000000..e60d19097 --- /dev/null +++ b/src/examples/testABS/CubeArray.cpp @@ -0,0 +1,258 @@ +#include "CubeArray.h" + +using namespace tsgl; + +// typedef Item int; + +/*! + * \brief Default constructor for CubeArray. + * \details This is the default constructor for the CubeArray class. + * \return A new CubeArray with a default size, values, and colors. + */ +CubeArray::CubeArray(){ + myX = 0.0; + myY = 0.0; + myZ = 0.0; + mySize = 10; + myCubeSideLength = 50.0; + myYaw = 0.0; + myPitch = 0.0; + myRoll = 0.0; + + // Fill array of Cubes + for(unsigned i = 0; i < mySize; ++i){ + myCubes.push_back(new Cube((myX-(int)(mySize-1)*(myCubeSideLength/2.0)) + (i * myCubeSideLength), myY, myZ, + myCubeSideLength, myYaw, myPitch, myRoll, RED)); + myCubes[i]->setRotationPoint(0,0,0); + } + // Copy dataArray into myData + for(unsigned i = 0; i < mySize; ++i){ + myData.push_back(0); + myText.push_back(new Text((myX-(int)(mySize-1)*(myCubeSideLength/2.0)) + (i * myCubeSideLength), myY, myZ+myCubeSideLength/2.0, + std::to_wstring(myData[i]), FONT, myCubeSideLength/2.25, + myYaw, myPitch, myRoll, WHITE)); + myText[i]->setRotationPoint(0,0,0); + } +} + +/*! + * \brief Explicitly constructs a new CubeArray. + * \details This is the constructor for the CubeArray class. + * \param x The x coordinate of the center of the CubeArray. + * \param y The y coordinate of the center of the CubeArray. + * \param z The z coordinate of the center of the CubeArray. + * \param sideLength The side length of the CubeArray's Cubes. + * \param size The number of Cubes in the CubeArray. + * \param dataArray The array of values that CubeArray copies. + * \param dataArraySize The size of the array passed to CubeArray. + * \param yaw The yaw of the CubeArray. + * \param pitch The pitch of the CubeArray. + * \param roll The roll of the CubeArray. + * \param c1 A ColorFloat for the color of the CubeArray's Cubes. + * \param c2 A ColorFloat for the color of the CubeArray's Text/numbers. + * \return A new CubeArray with the specified size, values, and colors. + */ +CubeArray::CubeArray(float x, float y, float z, GLfloat sideLength, unsigned size, Item dataArray[], unsigned dataArraySize, + float yaw, float pitch, float roll, ColorFloat c1, ColorFloat c2){ + myX = x; + myY = y; + myZ = z; + mySize = size; + myCubeSideLength = sideLength; + myYaw = yaw; + myPitch = pitch; + myRoll = roll; + + // Fill array of Cubes + for(unsigned i = 0; i < size; ++i){ + myCubes.push_back(new Cube((x-(int)(size-1)*(sideLength/2.0)) + (i * sideLength), y, z, sideLength, yaw, pitch, roll, c1)); + myCubes[i]->setRotationPoint(0,0,0); + } + // Copy dataArray into myData + // if size of dataArray is less than CubeArray size, fill the remaining spaces with blanks + // if size of dataArray is greater than CubeArray size, only copy up to the last index of myData + if(dataArraySize < size){ + for(unsigned i = 0; i < dataArraySize; ++i){ + myData.push_back(dataArray[i]); + myText.push_back(new Text((x-(int)(size-1)*(sideLength/2.0)) + (i * sideLength), y, z+sideLength/2.0, std::to_wstring(myData[i]), + FONT, sideLength/2.25, yaw, pitch, roll, c2)); + myText[i]->setRotationPoint(0,0,0); + } + for(unsigned i = dataArraySize; i < size; ++i){ + myData.push_back(0); + myText.push_back(new Text((x-(int)(size-1)*(sideLength/2.0)) + (i * sideLength), y, z+sideLength/2.0, L"", + FONT, sideLength/2.25, yaw, pitch, roll, c2)); + myText[i]->setRotationPoint(0,0,0); + } + } + else{ + for(unsigned i = 0; i < size; ++i){ + myData.push_back(dataArray[i]); + myText.push_back(new Text((x-(int)(size-1)*(sideLength/2.0)) + (i * sideLength), y, z+sideLength/2.0, std::to_wstring(myData[i]), + FONT, sideLength/2.25, yaw, pitch, roll, c2)); + myText[i]->setRotationPoint(0,0,0); + } + } + //TODO: Simplify above code +} + + +/** + * \brief Adds the CubeArray to the canvas. + * \param can The Canvas on which the CubeArray is to be drawn. + */ +void CubeArray::draw(Canvas& can){ + for(unsigned i = 0; i < mySize; ++i){ + can.add(myCubes[i]); + can.add(myText[i]); + } +} + +/** + * \brief Updates the graphics/visual portion of the CubeArray to match + * the vector contained by the CubeArray. + * \note Should be called after every change in the array's data to update graphic Text + */ +void CubeArray::update(){ + for(unsigned i = 0; i < mySize; ++i){ + myText[i]->setText(std::to_wstring(myData[i])); + } +} + +/** + * \brief Updates the graphics/visual portion of the CubeArray to match + * the value at a specified index contained by the CubeArray. + * \param index The index of the graphic Text to change. + * \note Should be called after every change in the array's data to update graphic Text + */ +void CubeArray::update(unsigned index){ + myText[index]->setText(std::to_wstring(myData[index])); +} + +/** + * \brief Sets the side length of the CubeArray's Cubes to a new side length, + * resizes the text to retain the Cube/Text size proportion, and + * moves the Text so that the resized Cube does not overlap and hide it + * \param length The new side length. + */ +void CubeArray::setCubeSideLength(GLfloat length){ + for(unsigned i = 0; i < mySize; ++i){ + myCubes[i]->setSideLength(length); + myText[i]->setSize(length/2.5); + myText[i]->setCenterZ(myCubes[i]->getSideLength()/2.0); + } +} + +/** + * \brief Sets the CubeArray's Cubes to a new color. + * \param color The new ColorFloat. + */ +void CubeArray::setColor(ColorFloat color){ + for (Cube * c : myCubes){ + c->setColor(color); + } +} + +/** + * \brief Sets the CubeArray's Cubes to new colors. + * \param c The new array of ColorFloats. + * \param size The size of the array of ColorFloats + */ +void CubeArray::setColor(ColorFloat c[], unsigned size){ + for(unsigned i = 0; i < mySize; ++i){ + myCubes[i]->setColor(c[i%size]); + } +} + +/** + * \brief Sets the CubeArray's Text/numbers to a new color. + * \param color The new ColorFloat. + */ +void CubeArray::setTextColor(ColorFloat color){ + for(Text * t : myText){ + t->setColor(color); + } +} + +/** + * \brief Sets the font of the CubeArray's Text/numbers to a new font. + * \param filename The path and file name of the font. + */ +void CubeArray::setFont(std::string filename){ + for(Text * t : myText){ + t->setFont(filename); + } +} + +/** + * \brief Sets the size of the CubeArray's Text/numbers to a new size. + * \param size The new size. + */ +void CubeArray::setTextSize(float size){ + for(Text * t : myText){ + t->setSize(size); + } +} + +/** + * \brief Changes the CubeArray's yaw by a given value. + * \param yaw The yaw to add to the CubeArray's current yaw. + */ +void CubeArray::changeYawBy(GLfloat yaw){ + for(unsigned i = 0; i < mySize; ++i){ + myCubes[i]->changeYawBy(yaw); + myText[i]->changeYawBy(yaw); + } +} + +/** + * \brief Changes the CubeArray's pitch by a given value. + * \param pitch The pitch to add to the CubeArray's current pitch. + */ +void CubeArray::changePitchBy(GLfloat pitch){ + for(unsigned i = 0; i < mySize; ++i){ + myCubes[i]->changePitchBy(pitch); + myText[i]->changePitchBy(pitch); + } +} + +/** + * \brief Changes the CubeArray's roll by a given value. + * \param roll The roll to add to the CubeArray's current roll. + */ +void CubeArray::changeRollBy(GLfloat roll){ + for(unsigned i = 0; i < mySize; ++i){ + myCubes[i]->changeRollBy(roll); + myText[i]->changeRollBy(roll); + } +} + +/** + * \brief If the sizes are equal, adds the values of two CubeArrays and returns + * the sums in a new CubeArray. + * If the sizes are not equal, returns a default-constructed CubeArray. + * \param c2 The CubeArray to be added with the current one. + */ +CubeArray CubeArray::operator+(CubeArray& c2){ + if(mySize == c2.getSize()){ + int summedArray[mySize]; + for(unsigned i = 0; i < mySize; i++){ + summedArray[i] = myData[i] + c2[i]; + printf("%.2d\n", summedArray[i]); + } + return CubeArray(0, 0, 0, myCubeSideLength, mySize, summedArray, mySize, myYaw, myPitch, myRoll, RED, WHITE); + } + return CubeArray(); +} + +/*! + * \brief Destructor for CubeArray. + */ +CubeArray::~CubeArray(){ + for(unsigned i = 0; i < mySize; ++i){ + delete myCubes[i]; + delete myText[i]; + } + myCubes.clear(); + myText.clear(); +} diff --git a/src/examples/testABS/CubeArray.h b/src/examples/testABS/CubeArray.h new file mode 100644 index 000000000..926f9fba4 --- /dev/null +++ b/src/examples/testABS/CubeArray.h @@ -0,0 +1,72 @@ +#ifndef CUBE_ARRAY_H_ +#define CUBE_ARRAY_H_ + +#include +#include "Cube.h" +#include +#include + +using namespace tsgl; + +typedef int Item; + +class CubeArray { +private: + unsigned mySize; +protected: + float myX, myY, myZ; + GLfloat myCubeSideLength; + std::vector myCubes; + std::vector myData; + std::vector myText; + float myYaw, myPitch, myRoll; +public: + CubeArray(); + + CubeArray(float x, float y, float z, GLfloat sideLength, unsigned size, Item dataArray[], unsigned dataArraySize, + float yaw, float pitch, float roll, ColorFloat c1, ColorFloat c2); + + void draw(Canvas& can); + + void update(); + + void update(unsigned index); + + // Accessors + unsigned getSize() { return mySize; } + + GLfloat getCubeSideLength() { return myCubeSideLength; } + + Cube * getCube(unsigned i) { return myCubes[i]; } + + const int& operator[](unsigned i) const { return myData[i]; } + + + // Mutators + int& operator[](unsigned i) { return myData[i]; } + + void setCubeSideLength(GLfloat length); + + void setColor(ColorFloat c); + + void setColor(ColorFloat c[], unsigned size); + + void setTextColor(ColorFloat c); + + void setFont(std::string filename); + + void setTextSize(float size); + + void changeYawBy(GLfloat yaw); + + void changePitchBy(GLfloat pitch); + + void changeRollBy(GLfloat roll); + + // Operations + CubeArray operator+ (CubeArray& c2); + + virtual ~CubeArray(); +}; + +#endif /* CUBE_ARRAY_H_ */ \ No newline at end of file diff --git a/src/examples/testABS/Makefile b/src/examples/testABS/Makefile new file mode 100644 index 000000000..885757577 --- /dev/null +++ b/src/examples/testABS/Makefile @@ -0,0 +1,74 @@ +# Makefile for ArrayBubbleSort + +# ***************************************************** +# Variables to control Makefile operation + +CXX = g++ +RM = rm -f -r + +# Directory this example is contained in +MKFILE_PATH := $(abspath $(lastword $(MAKEFILE_LIST))) +DIR := $(notdir $(patsubst %/,%,$(dir $(MKFILE_PATH)))) +UNAME := $(shell uname) + +# Dependencies +_DEPS = \ + +# Main source file +TARGET = testArrayBubbleSort + +# Object files +ODIR = obj +_OBJ = CubeArray.o $(TARGET).o +OBJ = $(patsubst %, $(ODIR)/%, $(_OBJ)) + +# To create obj directory +dummy_build_folder := $(shell mkdir -p $(ODIR)) + +# Flags +NOWARN = -Wno-unused-parameter -Wno-unused-function -Wno-narrowing \ + -Wno-sizeof-array-argument -Wno-sign-compare -Wno-unused-variable + +ifeq ($(UNAME), Linux) +GL_FLAGS := -lGLU -lGL +BREW := +endif +ifeq ($(UNAME), CYGWIN_NT-10.0) +GL_FLAGS := -lGLU -lGL +BREW := +endif +ifeq ($(UNAME), Darwin) +#GL_FLAGS := -framework OpenGL +#BREW := -lomp -I"$(brew --prefix libomp)/include" +endif + +CXXFLAGS = -O3 -g3 -ggdb3 \ + -I$(TSGL_HOME)/include \ + -I$(TSGL_HOME)/include/TSGL \ + -I$(TSGL_HOME)/include/freetype2 \ + -std=c++0x -fopenmp \ + +LFLAGS = -g -L$(TSGL_HOME)/lib -ltsgl -lfreetype -lGLEW -lglfw $(GL_FLAGS) -fopenmp \ + $(BREW) \ + + +# **************************************************** +# Targets needed to bring the executable up to date + +all: $(TARGET) + +$(ODIR)/%.o: %.cpp $(_DEPS) + $(CXX) -c -o $@ $< $(CXXFLAGS) $(LFLAGS) + +$(TARGET): $(OBJ) + $(CXX) -o $@ $^ $(LFLAGS) + +.PHONY: clean + +clean: + $(RM) $(ODIR)/*.o $(ODIR) $(TARGET) + @echo "" + @tput setaf 5; + @echo "*************** All output files removed from $(DIR)! ***************" + @tput sgr0; + @echo "" diff --git a/src/examples/testABS/testArrayBubbleSort.cpp b/src/examples/testABS/testArrayBubbleSort.cpp new file mode 100644 index 000000000..c5c345de3 --- /dev/null +++ b/src/examples/testABS/testArrayBubbleSort.cpp @@ -0,0 +1,144 @@ +/* + * testArrayBubbleSort.cpp + * + * Usage: ./testArrayBubbleSort [sizeOfArray] + 1 <= sizeOfArray <= 24, defaults to 10 + */ + +#include +#include +#include +#include +#include "CubeArray.h" +#include +using namespace std; + +// Size constants +#define SIDE_LENGTH 50 // side length of all array blocks +#define RAND_UPPER 99 // maximum value of the random numbers in the arrays + +// Space/distance constants +#define TITLE_Y 225.0 // y-coordinate of title label +#define ARRAY_Y 0.0 // y-coordinate for Array +#define ARRAY_Z 0.0 // z-coordinate for Array +#define TEXT_Z SIDE_LENGTH/2.0 // z-coordinate for all Text objects +#define YAW 0.0 // yaw value for all Drawable objecs +#define PITCH 0.0 // pitch value for all Drawable objects +#define ROLL 0.0 // roll value for all Drawable objects + +// Other constants +#define ARRAY_COLOR ColorFloat(0.5, 0.5, 0.5, 1) // color value for all arrays (gray) +#define NUM_COLOR WHITE // color value for all numbers +#define FINISHED_COLOR ColorFloat(0, 0.6, 0, 1) // color value for sorted numbers (green) + +//#define FONT "/usr/include/TSGL/assets/freefont/FreeSansBold.ttf" // font for all text +#define FONT_SIZE 35 // font size for all text + +using namespace tsgl; + +void swap(int& a, int& b){ + int temp = a; + a = b; + b = temp; +} + +void sortVisualizationFunction(Canvas& can, int arraySize) { + // Create arrays to perform operation on + int originalArray[arraySize]; + + // Fill numerical array with random numbers between 0 and 99 + for(unsigned i = 0; i < arraySize; i++){ + originalArray[i] = saferand(0, RAND_UPPER + 1); + } + + printf("Before bubble sort: "); + for(unsigned i = 0; i < arraySize; i++){ + printf("%5d", originalArray[i]); + } + printf("\n"); + + // Create 3D array + CubeArray arrayA(0, ARRAY_Y, ARRAY_Z, SIDE_LENGTH, arraySize, originalArray, arraySize, YAW, PITCH, ROLL, ARRAY_COLOR, NUM_COLOR); + + // Create text labels + Text * titleLabel = new Text(0.0, TITLE_Y, TEXT_Z, + L"Array Bubble Sort", FONT, FONT_SIZE + 10, YAW, PITCH, ROLL, YELLOW); + Text * sortedLabel = new Text(0.0, ARRAY_Y - 200.0, TEXT_Z, + L"Sorted!", FONT, FONT_SIZE, YAW, PITCH, ROLL, YELLOW); + + // Draw arrays on canvas + arrayA.draw(can); + // Draw labels on canvas + can.add(titleLabel); + + float sleepTime = 0.125; // initial number of seconds to sleep + + // Key bindings to speed up/slow down animation + can.bindToButton(TSGL_UP, TSGL_PRESS, [&sleepTime](){ + sleepTime /= 2; + }); + can.bindToButton(TSGL_DOWN, TSGL_PRESS, [&sleepTime](){ + if(sleepTime < 8){ + sleepTime *= 2; + } + }); + + unsigned complete = 0; // ensures animation only runs once + while (can.isOpen()) { + can.sleep(); + if(complete == 0){ + int end = arraySize; + // Bubble sort algorithm + for(unsigned i = 0; i < arrayA.getSize(); i++){ + for(unsigned j = 1; j < end; j++){ // OR j < arrayA.getSize(); + arrayA.getCube(j)->setColor(RED); + arrayA.getCube(j-1)->setColor(BLUE); + can.sleepFor(sleepTime); + if(arrayA[j] < arrayA[j-1]){ + swap(arrayA[j], arrayA[j-1]); + arrayA.update(j); + arrayA.update(j-1); + can.sleepFor(sleepTime); + } + arrayA.getCube(j)->setColor(ARRAY_COLOR); + arrayA.getCube(j-1)->setColor(ARRAY_COLOR); + can.sleepFor(sleepTime); + } + arrayA.getCube(end-1)->setColor(FINISHED_COLOR); + end--; + } + arrayA.setColor(FINISHED_COLOR); + can.add(sortedLabel); + complete = 1; + } + } + + // Output + printf("\nAfter bubble sort: "); + for(unsigned i = 0; i < arraySize; i++){ + printf("%5d", arrayA[i]); + } + printf("\n\n"); + + // Deallocate all object memory + delete titleLabel; + delete sortedLabel; + +} + +int main(int argc, char* argv[]){ + cout << FONT << endl; + int sizeOfArray = (argc > 1) ? atoi(argv[1]) : 10; + + // Checks validity of sizeOfArray; if invalid, set to default + if((sizeOfArray <= 0 or sizeOfArray > 24)){ + printf("Invalid argument(s).\ + \nUsage: ./testArrayBubbleSort [sizeOfArray]\n \ + 1 <= sizeOfArray <= 24\ + \nUsing default parameters...\n"); + sizeOfArray = 10; + } + + Canvas c(0, -1, Canvas::getDisplayWidth(), 620, "Array Bubble Sort", BLACK); + c.run(sortVisualizationFunction, sizeOfArray); +} diff --git a/stb/README.md b/src/stb/README.md similarity index 100% rename from stb/README.md rename to src/stb/README.md diff --git a/stb/stb.h b/src/stb/stb.h similarity index 100% rename from stb/stb.h rename to src/stb/stb.h diff --git a/stb/stb_image.h b/src/stb/stb_image.h similarity index 100% rename from stb/stb_image.h rename to src/stb/stb_image.h diff --git a/stb/stb_image_resize.h b/src/stb/stb_image_resize.h similarity index 100% rename from stb/stb_image_resize.h rename to src/stb/stb_image_resize.h diff --git a/stb/stb_image_write.h b/src/stb/stb_image_write.h similarity index 100% rename from stb/stb_image_write.h rename to src/stb/stb_image_write.h diff --git a/src/tests/test2Dvs3D/Makefile b/src/tests/test2Dvs3D/Makefile index cf11c9c80..0171fc086 100644 --- a/src/tests/test2Dvs3D/Makefile +++ b/src/tests/test2Dvs3D/Makefile @@ -43,26 +43,11 @@ BREW := -lomp -I"$(brew --prefix libomp)/include" endif CXXFLAGS = -O3 -g3 -ggdb3 \ - -Wall -Wextra \ - -D__GXX_EXPERIMENTAL_CXX0X__ \ - -I/usr/local/include/Cellar/glfw3/3.3/include/ \ - -I/usr/local/include/TSGL \ - -I/usr/local/include \ - -I/usr/local/include/freetype2 \ - -I/usr/local/include/freetype2/freetype \ - $(NOWARN)\ - -std=c++11\ - -Wc++11-compat\ - -I/opt/AMDAPP/include/ \ - -I/usr/include/c++/4.6/ \ - -I/usr/include/c++/4.6/x86_64-linux-gnu/ \ - -I/usr/lib/gcc/x86_64-linux-gnu/9/include/ \ - -I/usr/include \ - -I/usr/include/freetype2 \ - -I/usr/include/freetype2/freetype \ + -I$(TSGL_HOME)/include/TSGL \ + -I$(TSGL_HOME)/include/freetype2 \ LFLAGS = -g -ltsgl -lfreetype -lGLEW -lglfw $(GL_FLAGS) -fopenmp \ - $(BREW) -L/usr/local/lib \ + $(BREW) -L$(TSGL_HOME)/lib \ # **************************************************** @@ -84,4 +69,4 @@ clean: @tput setaf 5; @echo "*************** All output files removed from $(DIR)! ***************" @tput sgr0; - @echo "" \ No newline at end of file + @echo "" diff --git a/src/tests/test3DRotation/Makefile b/src/tests/test3DRotation/Makefile index 39adc56fe..da382a58f 100644 --- a/src/tests/test3DRotation/Makefile +++ b/src/tests/test3DRotation/Makefile @@ -43,26 +43,11 @@ BREW := -lomp -I"$(brew --prefix libomp)/include" endif CXXFLAGS = -O3 -g3 -ggdb3 \ - -Wall -Wextra \ - -D__GXX_EXPERIMENTAL_CXX0X__ \ - -I/usr/local/include/Cellar/glfw3/3.3/include/ \ - -I/usr/local/include/TSGL \ - -I/usr/local/include \ - -I/usr/local/include/freetype2 \ - -I/usr/local/include/freetype2/freetype \ - $(NOWARN)\ - -std=c++11\ - -Wc++11-compat\ - -I/opt/AMDAPP/include/ \ - -I/usr/include/c++/4.6/ \ - -I/usr/include/c++/4.6/x86_64-linux-gnu/ \ - -I/usr/lib/gcc/x86_64-linux-gnu/9/include/ \ - -I/usr/include \ - -I/usr/include/freetype2 \ - -I/usr/include/freetype2/freetype \ + -I$(TSGL_HOME)/include/TSGL \ + -I$(TSGL_HOME)/include/freetype2 \ LFLAGS = -g -ltsgl -lfreetype -lGLEW -lglfw $(GL_FLAGS) -fopenmp \ - $(BREW) -L/usr/local/lib \ + $(BREW) -L$(TSGL_HOME)/lib \ # **************************************************** @@ -84,4 +69,4 @@ clean: @tput setaf 5; @echo "*************** All output files removed from $(DIR)! ***************" @tput sgr0; - @echo "" \ No newline at end of file + @echo "" diff --git a/src/tests/testAlphaRectangle/Makefile b/src/tests/testAlphaRectangle/Makefile index feb61586c..70d17397e 100644 --- a/src/tests/testAlphaRectangle/Makefile +++ b/src/tests/testAlphaRectangle/Makefile @@ -43,26 +43,11 @@ BREW := -lomp -I"$(brew --prefix libomp)/include" endif CXXFLAGS = -O3 -g3 -ggdb3 \ - -Wall -Wextra \ - -D__GXX_EXPERIMENTAL_CXX0X__ \ - -I/usr/local/include/Cellar/glfw3/3.3/include/ \ - -I/usr/local/include/TSGL \ - -I/usr/local/include \ - -I/usr/local/include/freetype2 \ - -I/usr/local/include/freetype2/freetype \ - $(NOWARN)\ - -std=c++11\ - -Wc++11-compat\ - -I/opt/AMDAPP/include/ \ - -I/usr/include/c++/4.6/ \ - -I/usr/include/c++/4.6/x86_64-linux-gnu/ \ - -I/usr/lib/gcc/x86_64-linux-gnu/9/include/ \ - -I/usr/include \ - -I/usr/include/freetype2 \ - -I/usr/include/freetype2/freetype \ + -I$(TSGL_HOME)/include/TSGL \ + -I$(TSGL_HOME)/include/freetype2 \ LFLAGS = -g -ltsgl -lfreetype -lGLEW -lglfw $(GL_FLAGS) -fopenmp \ - $(BREW) -L/usr/local/lib \ + $(BREW) -L$(TSGL_HOME)/lib \ # **************************************************** @@ -84,4 +69,4 @@ clean: @tput setaf 5; @echo "*************** All output files removed from $(DIR)! ***************" @tput sgr0; - @echo "" \ No newline at end of file + @echo "" diff --git a/src/tests/testArrows/Makefile b/src/tests/testArrows/Makefile index a998f5a9e..407e7d378 100644 --- a/src/tests/testArrows/Makefile +++ b/src/tests/testArrows/Makefile @@ -43,26 +43,11 @@ BREW := -lomp -I"$(brew --prefix libomp)/include" endif CXXFLAGS = -O3 -g3 -ggdb3 \ - -Wall -Wextra \ - -D__GXX_EXPERIMENTAL_CXX0X__ \ - -I/usr/local/include/Cellar/glfw3/3.3/include/ \ - -I/usr/local/include/TSGL \ - -I/usr/local/include \ - -I/usr/local/include/freetype2 \ - -I/usr/local/include/freetype2/freetype \ - $(NOWARN)\ - -std=c++11\ - -Wc++11-compat\ - -I/opt/AMDAPP/include/ \ - -I/usr/include/c++/4.6/ \ - -I/usr/include/c++/4.6/x86_64-linux-gnu/ \ - -I/usr/lib/gcc/x86_64-linux-gnu/9/include/ \ - -I/usr/include \ - -I/usr/include/freetype2 \ - -I/usr/include/freetype2/freetype \ + -I$(TSGL_HOME)/include/TSGL \ + -I$(TSGL_HOME)/include/freetype2 \ LFLAGS = -g -ltsgl -lfreetype -lGLEW -lglfw $(GL_FLAGS) -fopenmp \ - $(BREW) -L/usr/local/lib \ + $(BREW) -L$(TSGL_HOME)/lib \ # **************************************************** @@ -84,4 +69,4 @@ clean: @tput setaf 5; @echo "*************** All output files removed from $(DIR)! ***************" @tput sgr0; - @echo "" \ No newline at end of file + @echo "" diff --git a/src/tests/testAura/Makefile b/src/tests/testAura/Makefile index e210b8247..9e30294be 100644 --- a/src/tests/testAura/Makefile +++ b/src/tests/testAura/Makefile @@ -43,26 +43,11 @@ BREW := -lomp -I"$(brew --prefix libomp)/include" endif CXXFLAGS = -O3 -g3 -ggdb3 \ - -Wall -Wextra \ - -D__GXX_EXPERIMENTAL_CXX0X__ \ - -I/usr/local/include/Cellar/glfw3/3.3/include/ \ - -I/usr/local/include/TSGL \ - -I/usr/local/include \ - -I/usr/local/include/freetype2 \ - -I/usr/local/include/freetype2/freetype \ - $(NOWARN)\ - -std=c++11\ - -Wc++11-compat\ - -I/opt/AMDAPP/include/ \ - -I/usr/include/c++/4.6/ \ - -I/usr/include/c++/4.6/x86_64-linux-gnu/ \ - -I/usr/lib/gcc/x86_64-linux-gnu/9/include/ \ - -I/usr/include \ - -I/usr/include/freetype2 \ - -I/usr/include/freetype2/freetype \ + -I$(TSGL_HOME)/include/TSGL \ + -I$(TSGL_HOME)/include/freetype2 \ LFLAGS = -g -ltsgl -lfreetype -lGLEW -lglfw $(GL_FLAGS) -fopenmp \ - $(BREW) -L/usr/local/lib \ + $(BREW) -L$(TSGL_HOME)/lib \ # **************************************************** @@ -84,4 +69,4 @@ clean: @tput setaf 5; @echo "*************** All output files removed from $(DIR)! ***************" @tput sgr0; - @echo "" \ No newline at end of file + @echo "" diff --git a/src/tests/testBackground/Makefile b/src/tests/testBackground/Makefile index de06d52e5..949692d1e 100644 --- a/src/tests/testBackground/Makefile +++ b/src/tests/testBackground/Makefile @@ -43,26 +43,11 @@ BREW := -lomp -I"$(brew --prefix libomp)/include" endif CXXFLAGS = -O3 -g3 -ggdb3 \ - -Wall -Wextra \ - -D__GXX_EXPERIMENTAL_CXX0X__ \ - -I/usr/local/include/Cellar/glfw3/3.3/include/ \ - -I/usr/local/include/TSGL \ - -I/usr/local/include \ - -I/usr/local/include/freetype2 \ - -I/usr/local/include/freetype2/freetype \ - $(NOWARN)\ - -std=c++11\ - -Wc++11-compat\ - -I/opt/AMDAPP/include/ \ - -I/usr/include/c++/4.6/ \ - -I/usr/include/c++/4.6/x86_64-linux-gnu/ \ - -I/usr/lib/gcc/x86_64-linux-gnu/9/include/ \ - -I/usr/include \ - -I/usr/include/freetype2 \ - -I/usr/include/freetype2/freetype \ + -I$(TSGL_HOME)/include/TSGL \ + -I$(TSGL_HOME)/include/freetype2 \ LFLAGS = -g -ltsgl -lfreetype -lGLEW -lglfw $(GL_FLAGS) -fopenmp \ - $(BREW) -L/usr/local/lib \ + $(BREW) -L$(TSGL_HOME)/lib \ # **************************************************** @@ -84,4 +69,4 @@ clean: @tput setaf 5; @echo "*************** All output files removed from $(DIR)! ***************" @tput sgr0; - @echo "" \ No newline at end of file + @echo "" diff --git a/src/tests/testBlurImage/Makefile b/src/tests/testBlurImage/Makefile index ba8cab778..f35f4d6bd 100644 --- a/src/tests/testBlurImage/Makefile +++ b/src/tests/testBlurImage/Makefile @@ -43,26 +43,11 @@ BREW := -lomp -I"$(brew --prefix libomp)/include" endif CXXFLAGS = -O3 -g3 -ggdb3 \ - -Wall -Wextra \ - -D__GXX_EXPERIMENTAL_CXX0X__ \ - -I/usr/local/include/Cellar/glfw3/3.3/include/ \ - -I/usr/local/include/TSGL \ - -I/usr/local/include \ - -I/usr/local/include/freetype2 \ - -I/usr/local/include/freetype2/freetype \ - $(NOWARN)\ - -std=c++11\ - -Wc++11-compat\ - -I/opt/AMDAPP/include/ \ - -I/usr/include/c++/4.6/ \ - -I/usr/include/c++/4.6/x86_64-linux-gnu/ \ - -I/usr/lib/gcc/x86_64-linux-gnu/9/include/ \ - -I/usr/include \ - -I/usr/include/freetype2 \ - -I/usr/include/freetype2/freetype \ + -I$(TSGL_HOME)/include/TSGL \ + -I$(TSGL_HOME)/include/freetype2 \ LFLAGS = -g -ltsgl -lfreetype -lGLEW -lglfw $(GL_FLAGS) -fopenmp \ - $(BREW) -L/usr/local/lib \ + $(BREW) -L$(TSGL_HOME)/lib \ # **************************************************** @@ -84,4 +69,4 @@ clean: @tput setaf 5; @echo "*************** All output files removed from $(DIR)! ***************" @tput sgr0; - @echo "" \ No newline at end of file + @echo "" diff --git a/src/tests/testBlurImage/pics/HDR_landscape.jpg b/src/tests/testBlurImage/pics/HDR_landscape.jpg new file mode 100644 index 000000000..2ea9702a0 Binary files /dev/null and b/src/tests/testBlurImage/pics/HDR_landscape.jpg differ diff --git a/src/tests/testBlurImage/testBlurImage.cpp b/src/tests/testBlurImage/testBlurImage.cpp index 95d018d6e..4c55b82ed 100644 --- a/src/tests/testBlurImage/testBlurImage.cpp +++ b/src/tests/testBlurImage/testBlurImage.cpp @@ -56,7 +56,7 @@ void blurImageFunction(Canvas& can, std::string fpath, int threads) { int main(int argc, char* argv[]) { int w, h, t = (argc > 1) ? atoi(argv[1]) : omp_get_num_procs(); - std::string fname = (argc > 2) ? argv[2] : "./assets/pics/HDR_landscape.jpg"; + std::string fname = (argc > 2) ? argv[2] : "pics/HDR_landscape.jpg"; Image::getFileResolution(fname,w,h); w*=0.6; h*=0.6; diff --git a/src/tests/testCalcPi/Makefile b/src/tests/testCalcPi/Makefile index 434b602b3..f0dacf614 100644 --- a/src/tests/testCalcPi/Makefile +++ b/src/tests/testCalcPi/Makefile @@ -43,26 +43,11 @@ BREW := -lomp -I"$(brew --prefix libomp)/include" endif CXXFLAGS = -O3 -g3 -ggdb3 \ - -Wall -Wextra \ - -D__GXX_EXPERIMENTAL_CXX0X__ \ - -I/usr/local/include/Cellar/glfw3/3.3/include/ \ - -I/usr/local/include/TSGL \ - -I/usr/local/include \ - -I/usr/local/include/freetype2 \ - -I/usr/local/include/freetype2/freetype \ - $(NOWARN)\ - -std=c++11\ - -Wc++11-compat\ - -I/opt/AMDAPP/include/ \ - -I/usr/include/c++/4.6/ \ - -I/usr/include/c++/4.6/x86_64-linux-gnu/ \ - -I/usr/lib/gcc/x86_64-linux-gnu/9/include/ \ - -I/usr/include \ - -I/usr/include/freetype2 \ - -I/usr/include/freetype2/freetype \ + -I$(TSGL_HOME)/include/TSGL \ + -I$(TSGL_HOME)/include/freetype2 \ LFLAGS = -g -ltsgl -lfreetype -lGLEW -lglfw $(GL_FLAGS) -fopenmp \ - $(BREW) -L/usr/local/lib \ + $(BREW) -L$(TSGL_HOME)/lib \ # **************************************************** @@ -84,4 +69,4 @@ clean: @tput setaf 5; @echo "*************** All output files removed from $(DIR)! ***************" @tput sgr0; - @echo "" \ No newline at end of file + @echo "" diff --git a/src/tests/testCamera/Makefile b/src/tests/testCamera/Makefile index c5527f15f..45b0123c1 100644 --- a/src/tests/testCamera/Makefile +++ b/src/tests/testCamera/Makefile @@ -43,26 +43,11 @@ BREW := -lomp -I"$(brew --prefix libomp)/include" endif CXXFLAGS = -O3 -g3 -ggdb3 \ - -Wall -Wextra \ - -D__GXX_EXPERIMENTAL_CXX0X__ \ - -I/usr/local/include/Cellar/glfw3/3.3/include/ \ - -I/usr/local/include/TSGL \ - -I/usr/local/include \ - -I/usr/local/include/freetype2 \ - -I/usr/local/include/freetype2/freetype \ - $(NOWARN)\ - -std=c++11\ - -Wc++11-compat\ - -I/opt/AMDAPP/include/ \ - -I/usr/include/c++/4.6/ \ - -I/usr/include/c++/4.6/x86_64-linux-gnu/ \ - -I/usr/lib/gcc/x86_64-linux-gnu/9/include/ \ - -I/usr/include \ - -I/usr/include/freetype2 \ - -I/usr/include/freetype2/freetype \ + -I$(TSGL_HOME)/include/TSGL \ + -I$(TSGL_HOME)/include/freetype2 \ LFLAGS = -g -ltsgl -lfreetype -lGLEW -lglfw $(GL_FLAGS) -fopenmp \ - $(BREW) -L/usr/local/lib \ + $(BREW) -L$(TSGL_HOME)/lib \ # **************************************************** @@ -84,4 +69,4 @@ clean: @tput setaf 5; @echo "*************** All output files removed from $(DIR)! ***************" @tput sgr0; - @echo "" \ No newline at end of file + @echo "" diff --git a/src/tests/testCircle/Makefile b/src/tests/testCircle/Makefile index 061f38504..414d6c95c 100644 --- a/src/tests/testCircle/Makefile +++ b/src/tests/testCircle/Makefile @@ -43,26 +43,11 @@ BREW := -lomp -I"$(brew --prefix libomp)/include" endif CXXFLAGS = -O3 -g3 -ggdb3 \ - -Wall -Wextra \ - -D__GXX_EXPERIMENTAL_CXX0X__ \ - -I/usr/local/include/Cellar/glfw3/3.3/include/ \ - -I/usr/local/include/TSGL \ - -I/usr/local/include \ - -I/usr/local/include/freetype2 \ - -I/usr/local/include/freetype2/freetype \ - $(NOWARN)\ - -std=c++11\ - -Wc++11-compat\ - -I/opt/AMDAPP/include/ \ - -I/usr/include/c++/4.6/ \ - -I/usr/include/c++/4.6/x86_64-linux-gnu/ \ - -I/usr/lib/gcc/x86_64-linux-gnu/9/include/ \ - -I/usr/include \ - -I/usr/include/freetype2 \ - -I/usr/include/freetype2/freetype \ + -I$(TSGL_HOME)/include/TSGL \ + -I$(TSGL_HOME)/include/freetype2 \ LFLAGS = -g -ltsgl -lfreetype -lGLEW -lglfw $(GL_FLAGS) -fopenmp \ - $(BREW) -L/usr/local/lib \ + $(BREW) -L$(TSGL_HOME)/lib \ # **************************************************** @@ -84,4 +69,4 @@ clean: @tput setaf 5; @echo "*************** All output files removed from $(DIR)! ***************" @tput sgr0; - @echo "" \ No newline at end of file + @echo "" diff --git a/src/tests/testColorWheel/Makefile b/src/tests/testColorWheel/Makefile index fdc954773..3dea5f516 100644 --- a/src/tests/testColorWheel/Makefile +++ b/src/tests/testColorWheel/Makefile @@ -43,26 +43,11 @@ BREW := -lomp -I"$(brew --prefix libomp)/include" endif CXXFLAGS = -O3 -g3 -ggdb3 \ - -Wall -Wextra \ - -D__GXX_EXPERIMENTAL_CXX0X__ \ - -I/usr/local/include/Cellar/glfw3/3.3/include/ \ - -I/usr/local/include/TSGL \ - -I/usr/local/include \ - -I/usr/local/include/freetype2 \ - -I/usr/local/include/freetype2/freetype \ - $(NOWARN)\ - -std=c++11\ - -Wc++11-compat\ - -I/opt/AMDAPP/include/ \ - -I/usr/include/c++/4.6/ \ - -I/usr/include/c++/4.6/x86_64-linux-gnu/ \ - -I/usr/lib/gcc/x86_64-linux-gnu/9/include/ \ - -I/usr/include \ - -I/usr/include/freetype2 \ - -I/usr/include/freetype2/freetype \ + -I$(TSGL_HOME)/include/TSGL \ + -I$(TSGL_HOME)/include/freetype2 \ LFLAGS = -g -ltsgl -lfreetype -lGLEW -lglfw $(GL_FLAGS) -fopenmp \ - $(BREW) -L/usr/local/lib \ + $(BREW) -L$(TSGL_HOME)/lib \ # **************************************************** @@ -84,4 +69,4 @@ clean: @tput setaf 5; @echo "*************** All output files removed from $(DIR)! ***************" @tput sgr0; - @echo "" \ No newline at end of file + @echo "" diff --git a/src/tests/testConcavePolygon/Makefile b/src/tests/testConcavePolygon/Makefile index db8cc2b44..2983a58c7 100644 --- a/src/tests/testConcavePolygon/Makefile +++ b/src/tests/testConcavePolygon/Makefile @@ -43,26 +43,11 @@ BREW := -lomp -I"$(brew --prefix libomp)/include" endif CXXFLAGS = -O3 -g3 -ggdb3 \ - -Wall -Wextra \ - -D__GXX_EXPERIMENTAL_CXX0X__ \ - -I/usr/local/include/Cellar/glfw3/3.3/include/ \ - -I/usr/local/include/TSGL \ - -I/usr/local/include \ - -I/usr/local/include/freetype2 \ - -I/usr/local/include/freetype2/freetype \ - $(NOWARN)\ - -std=c++11\ - -Wc++11-compat\ - -I/opt/AMDAPP/include/ \ - -I/usr/include/c++/4.6/ \ - -I/usr/include/c++/4.6/x86_64-linux-gnu/ \ - -I/usr/lib/gcc/x86_64-linux-gnu/9/include/ \ - -I/usr/include \ - -I/usr/include/freetype2 \ - -I/usr/include/freetype2/freetype \ + -I$(TSGL_HOME)/include/TSGL \ + -I$(TSGL_HOME)/include/freetype2 \ LFLAGS = -g -ltsgl -lfreetype -lGLEW -lglfw $(GL_FLAGS) -fopenmp \ - $(BREW) -L/usr/local/lib \ + $(BREW) -L$(TSGL_HOME)/lib \ # **************************************************** @@ -84,4 +69,4 @@ clean: @tput setaf 5; @echo "*************** All output files removed from $(DIR)! ***************" @tput sgr0; - @echo "" \ No newline at end of file + @echo "" diff --git a/src/tests/testCone/Makefile b/src/tests/testCone/Makefile index e51e16a5b..bb0707d6e 100644 --- a/src/tests/testCone/Makefile +++ b/src/tests/testCone/Makefile @@ -43,26 +43,11 @@ BREW := -lomp -I"$(brew --prefix libomp)/include" endif CXXFLAGS = -O3 -g3 -ggdb3 \ - -Wall -Wextra \ - -D__GXX_EXPERIMENTAL_CXX0X__ \ - -I/usr/local/include/Cellar/glfw3/3.3/include/ \ - -I/usr/local/include/TSGL \ - -I/usr/local/include \ - -I/usr/local/include/freetype2 \ - -I/usr/local/include/freetype2/freetype \ - $(NOWARN)\ - -std=c++11\ - -Wc++11-compat\ - -I/opt/AMDAPP/include/ \ - -I/usr/include/c++/4.6/ \ - -I/usr/include/c++/4.6/x86_64-linux-gnu/ \ - -I/usr/lib/gcc/x86_64-linux-gnu/9/include/ \ - -I/usr/include \ - -I/usr/include/freetype2 \ - -I/usr/include/freetype2/freetype \ + -I$(TSGL_HOME)/include/TSGL \ + -I$(TSGL_HOME)/include/freetype2 \ LFLAGS = -g -ltsgl -lfreetype -lGLEW -lglfw $(GL_FLAGS) -fopenmp \ - $(BREW) -L/usr/local/lib \ + $(BREW) -L$(TSGL_HOME)/lib \ # **************************************************** diff --git a/src/tests/testConvexPolygon/Makefile b/src/tests/testConvexPolygon/Makefile index 87077fa86..b930069a5 100644 --- a/src/tests/testConvexPolygon/Makefile +++ b/src/tests/testConvexPolygon/Makefile @@ -43,26 +43,11 @@ BREW := -lomp -I"$(brew --prefix libomp)/include" endif CXXFLAGS = -O3 -g3 -ggdb3 \ - -Wall -Wextra \ - -D__GXX_EXPERIMENTAL_CXX0X__ \ - -I/usr/local/include/Cellar/glfw3/3.3/include/ \ - -I/usr/local/include/TSGL \ - -I/usr/local/include \ - -I/usr/local/include/freetype2 \ - -I/usr/local/include/freetype2/freetype \ - $(NOWARN)\ - -std=c++11\ - -Wc++11-compat\ - -I/opt/AMDAPP/include/ \ - -I/usr/include/c++/4.6/ \ - -I/usr/include/c++/4.6/x86_64-linux-gnu/ \ - -I/usr/lib/gcc/x86_64-linux-gnu/9/include/ \ - -I/usr/include \ - -I/usr/include/freetype2 \ - -I/usr/include/freetype2/freetype \ + -I$(TSGL_HOME)/include/TSGL \ + -I$(TSGL_HOME)/include/freetype2 \ LFLAGS = -g -ltsgl -lfreetype -lGLEW -lglfw $(GL_FLAGS) -fopenmp \ - $(BREW) -L/usr/local/lib \ + $(BREW) -L$(TSGL_HOME)/lib \ # **************************************************** diff --git a/src/tests/testCosineIntegral/Makefile b/src/tests/testCosineIntegral/Makefile index ed8e95fb4..14a20c3da 100644 --- a/src/tests/testCosineIntegral/Makefile +++ b/src/tests/testCosineIntegral/Makefile @@ -43,26 +43,11 @@ BREW := -lomp -I"$(brew --prefix libomp)/include" endif CXXFLAGS = -O3 -g3 -ggdb3 \ - -Wall -Wextra \ - -D__GXX_EXPERIMENTAL_CXX0X__ \ - -I/usr/local/include/Cellar/glfw3/3.3/include/ \ - -I/usr/local/include/TSGL \ - -I/usr/local/include \ - -I/usr/local/include/freetype2 \ - -I/usr/local/include/freetype2/freetype \ - $(NOWARN)\ - -std=c++11\ - -Wc++11-compat\ - -I/opt/AMDAPP/include/ \ - -I/usr/include/c++/4.6/ \ - -I/usr/include/c++/4.6/x86_64-linux-gnu/ \ - -I/usr/lib/gcc/x86_64-linux-gnu/9/include/ \ - -I/usr/include \ - -I/usr/include/freetype2 \ - -I/usr/include/freetype2/freetype \ + -I$(TSGL_HOME)/include/TSGL \ + -I$(TSGL_HOME)/include/freetype2 \ LFLAGS = -g -ltsgl -lfreetype -lGLEW -lglfw $(GL_FLAGS) -fopenmp \ - $(BREW) -L/usr/local/lib \ + $(BREW) -L$(TSGL_HOME)/lib \ # **************************************************** @@ -84,4 +69,4 @@ clean: @tput setaf 5; @echo "*************** All output files removed from $(DIR)! ***************" @tput sgr0; - @echo "" \ No newline at end of file + @echo "" diff --git a/src/tests/testCosineIntegral/testCosineIntegral.cpp b/src/tests/testCosineIntegral/testCosineIntegral.cpp index c4c834791..91e9a0872 100644 --- a/src/tests/testCosineIntegral/testCosineIntegral.cpp +++ b/src/tests/testCosineIntegral/testCosineIntegral.cpp @@ -63,7 +63,7 @@ void cosineIntegralFunction(Cart& can, int numberOfThreads) { bg->drawFunction(function1, 0.1f); //\u03C0 = π - std::string font = "./assets/freefont/FreeSerif.ttf"; + std::string font = FONT; bg->drawText( 1.5 * PI - .2, .4, 0, L"1.5\u03C0", font, 0.15, 0,0,0, BLACK); bg->drawText(-1.4 * PI - .1, .4, 0, L"-1.5\u03C0", font, 0.15, 0,0,0, BLACK); // Note the important capital L, used to support Unicode. bg->drawText(.15, 1.1, 0, L"1", font, 0.15, 0,0,0, BLACK); diff --git a/src/tests/testCube/Makefile b/src/tests/testCube/Makefile index 7d4cf0e26..70176c21d 100644 --- a/src/tests/testCube/Makefile +++ b/src/tests/testCube/Makefile @@ -43,26 +43,11 @@ BREW := -lomp -I"$(brew --prefix libomp)/include" endif CXXFLAGS = -O3 -g3 -ggdb3 \ - -Wall -Wextra \ - -D__GXX_EXPERIMENTAL_CXX0X__ \ - -I/usr/local/include/Cellar/glfw3/3.3/include/ \ - -I/usr/local/include/TSGL \ - -I/usr/local/include \ - -I/usr/local/include/freetype2 \ - -I/usr/local/include/freetype2/freetype \ - $(NOWARN)\ - -std=c++11\ - -Wc++11-compat\ - -I/opt/AMDAPP/include/ \ - -I/usr/include/c++/4.6/ \ - -I/usr/include/c++/4.6/x86_64-linux-gnu/ \ - -I/usr/lib/gcc/x86_64-linux-gnu/9/include/ \ - -I/usr/include \ - -I/usr/include/freetype2 \ - -I/usr/include/freetype2/freetype \ + -I$(TSGL_HOME)/include/TSGL \ + -I$(TSGL_HOME)/include/freetype2 \ LFLAGS = -g -ltsgl -lfreetype -lGLEW -lglfw $(GL_FLAGS) -fopenmp \ - $(BREW) -L/usr/local/lib \ + $(BREW) -L$(TSGL_HOME)/lib \ # **************************************************** @@ -84,4 +69,4 @@ clean: @tput setaf 5; @echo "*************** All output files removed from $(DIR)! ***************" @tput sgr0; - @echo "" \ No newline at end of file + @echo "" diff --git a/src/tests/testCuboid/Makefile b/src/tests/testCuboid/Makefile index d17396f16..6b7f50126 100644 --- a/src/tests/testCuboid/Makefile +++ b/src/tests/testCuboid/Makefile @@ -43,26 +43,11 @@ BREW := -lomp -I"$(brew --prefix libomp)/include" endif CXXFLAGS = -O3 -g3 -ggdb3 \ - -Wall -Wextra \ - -D__GXX_EXPERIMENTAL_CXX0X__ \ - -I/usr/local/include/Cellar/glfw3/3.3/include/ \ - -I/usr/local/include/TSGL \ - -I/usr/local/include \ - -I/usr/local/include/freetype2 \ - -I/usr/local/include/freetype2/freetype \ - $(NOWARN)\ - -std=c++11\ - -Wc++11-compat\ - -I/opt/AMDAPP/include/ \ - -I/usr/include/c++/4.6/ \ - -I/usr/include/c++/4.6/x86_64-linux-gnu/ \ - -I/usr/lib/gcc/x86_64-linux-gnu/9/include/ \ - -I/usr/include \ - -I/usr/include/freetype2 \ - -I/usr/include/freetype2/freetype \ + -I$(TSGL_HOME)/include/TSGL \ + -I$(TSGL_HOME)/include/freetype2 \ LFLAGS = -g -ltsgl -lfreetype -lGLEW -lglfw $(GL_FLAGS) -fopenmp \ - $(BREW) -L/usr/local/lib \ + $(BREW) -L$(TSGL_HOME)/lib \ # **************************************************** @@ -84,4 +69,4 @@ clean: @tput setaf 5; @echo "*************** All output files removed from $(DIR)! ***************" @tput sgr0; - @echo "" \ No newline at end of file + @echo "" diff --git a/src/tests/testCylinder/Makefile b/src/tests/testCylinder/Makefile index eecdbd29a..a6a288ad0 100644 --- a/src/tests/testCylinder/Makefile +++ b/src/tests/testCylinder/Makefile @@ -43,26 +43,11 @@ BREW := -lomp -I"$(brew --prefix libomp)/include" endif CXXFLAGS = -O3 -g3 -ggdb3 \ - -Wall -Wextra \ - -D__GXX_EXPERIMENTAL_CXX0X__ \ - -I/usr/local/include/Cellar/glfw3/3.3/include/ \ - -I/usr/local/include/TSGL \ - -I/usr/local/include \ - -I/usr/local/include/freetype2 \ - -I/usr/local/include/freetype2/freetype \ - $(NOWARN)\ - -std=c++11\ - -Wc++11-compat\ - -I/opt/AMDAPP/include/ \ - -I/usr/include/c++/4.6/ \ - -I/usr/include/c++/4.6/x86_64-linux-gnu/ \ - -I/usr/lib/gcc/x86_64-linux-gnu/9/include/ \ - -I/usr/include \ - -I/usr/include/freetype2 \ - -I/usr/include/freetype2/freetype \ + -I$(TSGL_HOME)/include/TSGL \ + -I$(TSGL_HOME)/include/freetype2 \ LFLAGS = -g -ltsgl -lfreetype -lGLEW -lglfw $(GL_FLAGS) -fopenmp \ - $(BREW) -L/usr/local/lib \ + $(BREW) -L$(TSGL_HOME)/lib \ # **************************************************** @@ -84,4 +69,4 @@ clean: @tput setaf 5; @echo "*************** All output files removed from $(DIR)! ***************" @tput sgr0; - @echo "" \ No newline at end of file + @echo "" diff --git a/src/tests/testDice/Makefile b/src/tests/testDice/Makefile index 86a1ae090..93c97d5bb 100644 --- a/src/tests/testDice/Makefile +++ b/src/tests/testDice/Makefile @@ -43,26 +43,11 @@ BREW := -lomp -I"$(brew --prefix libomp)/include" endif CXXFLAGS = -O3 -g3 -ggdb3 \ - -Wall -Wextra \ - -D__GXX_EXPERIMENTAL_CXX0X__ \ - -I/usr/local/include/Cellar/glfw3/3.3/include/ \ - -I/usr/local/include/TSGL \ - -I/usr/local/include \ - -I/usr/local/include/freetype2 \ - -I/usr/local/include/freetype2/freetype \ - $(NOWARN)\ - -std=c++11\ - -Wc++11-compat\ - -I/opt/AMDAPP/include/ \ - -I/usr/include/c++/4.6/ \ - -I/usr/include/c++/4.6/x86_64-linux-gnu/ \ - -I/usr/lib/gcc/x86_64-linux-gnu/9/include/ \ - -I/usr/include \ - -I/usr/include/freetype2 \ - -I/usr/include/freetype2/freetype \ + -I$(TSGL_HOME)/include/TSGL \ + -I$(TSGL_HOME)/include/freetype2 \ LFLAGS = -g -ltsgl -lfreetype -lGLEW -lglfw $(GL_FLAGS) -fopenmp \ - $(BREW) -L/usr/local/lib \ + $(BREW) -L$(TSGL_HOME)/lib \ # **************************************************** @@ -84,4 +69,4 @@ clean: @tput setaf 5; @echo "*************** All output files removed from $(DIR)! ***************" @tput sgr0; - @echo "" \ No newline at end of file + @echo "" diff --git a/src/tests/testDiorama/Makefile b/src/tests/testDiorama/Makefile index 6af0a30eb..9fc0e849f 100644 --- a/src/tests/testDiorama/Makefile +++ b/src/tests/testDiorama/Makefile @@ -43,26 +43,11 @@ BREW := -lomp -I"$(brew --prefix libomp)/include" endif CXXFLAGS = -O3 -g3 -ggdb3 \ - -Wall -Wextra \ - -D__GXX_EXPERIMENTAL_CXX0X__ \ - -I/usr/local/include/Cellar/glfw3/3.3/include/ \ - -I/usr/local/include/TSGL \ - -I/usr/local/include \ - -I/usr/local/include/freetype2 \ - -I/usr/local/include/freetype2/freetype \ - $(NOWARN)\ - -std=c++11\ - -Wc++11-compat\ - -I/opt/AMDAPP/include/ \ - -I/usr/include/c++/4.6/ \ - -I/usr/include/c++/4.6/x86_64-linux-gnu/ \ - -I/usr/lib/gcc/x86_64-linux-gnu/9/include/ \ - -I/usr/include \ - -I/usr/include/freetype2 \ - -I/usr/include/freetype2/freetype \ + -I$(TSGL_HOME)/include/TSGL \ + -I$(TSGL_HOME)/include/freetype2 \ LFLAGS = -g -ltsgl -lfreetype -lGLEW -lglfw $(GL_FLAGS) -fopenmp \ - $(BREW) -L/usr/local/lib \ + $(BREW) -L$(TSGL_HOME)/lib \ # **************************************************** @@ -84,4 +69,4 @@ clean: @tput setaf 5; @echo "*************** All output files removed from $(DIR)! ***************" @tput sgr0; - @echo "" \ No newline at end of file + @echo "" diff --git a/src/tests/testEllipse/Makefile b/src/tests/testEllipse/Makefile index ece8656ce..342786e48 100644 --- a/src/tests/testEllipse/Makefile +++ b/src/tests/testEllipse/Makefile @@ -43,26 +43,11 @@ BREW := -lomp -I"$(brew --prefix libomp)/include" endif CXXFLAGS = -O3 -g3 -ggdb3 \ - -Wall -Wextra \ - -D__GXX_EXPERIMENTAL_CXX0X__ \ - -I/usr/local/include/Cellar/glfw3/3.3/include/ \ - -I/usr/local/include/TSGL \ - -I/usr/local/include \ - -I/usr/local/include/freetype2 \ - -I/usr/local/include/freetype2/freetype \ - $(NOWARN)\ - -std=c++11\ - -Wc++11-compat\ - -I/opt/AMDAPP/include/ \ - -I/usr/include/c++/4.6/ \ - -I/usr/include/c++/4.6/x86_64-linux-gnu/ \ - -I/usr/lib/gcc/x86_64-linux-gnu/9/include/ \ - -I/usr/include \ - -I/usr/include/freetype2 \ - -I/usr/include/freetype2/freetype \ + -I$(TSGL_HOME)/include/TSGL \ + -I$(TSGL_HOME)/include/freetype2 \ LFLAGS = -g -ltsgl -lfreetype -lGLEW -lglfw $(GL_FLAGS) -fopenmp \ - $(BREW) -L/usr/local/lib \ + $(BREW) -L$(TSGL_HOME)/lib \ # **************************************************** @@ -84,4 +69,4 @@ clean: @tput setaf 5; @echo "*************** All output files removed from $(DIR)! ***************" @tput sgr0; - @echo "" \ No newline at end of file + @echo "" diff --git a/src/tests/testEllipsoid/Makefile b/src/tests/testEllipsoid/Makefile index abab16c06..c2a050a79 100644 --- a/src/tests/testEllipsoid/Makefile +++ b/src/tests/testEllipsoid/Makefile @@ -43,26 +43,11 @@ BREW := -lomp -I"$(brew --prefix libomp)/include" endif CXXFLAGS = -O3 -g3 -ggdb3 \ - -Wall -Wextra \ - -D__GXX_EXPERIMENTAL_CXX0X__ \ - -I/usr/local/include/Cellar/glfw3/3.3/include/ \ - -I/usr/local/include/TSGL \ - -I/usr/local/include \ - -I/usr/local/include/freetype2 \ - -I/usr/local/include/freetype2/freetype \ - $(NOWARN)\ - -std=c++11\ - -Wc++11-compat\ - -I/opt/AMDAPP/include/ \ - -I/usr/include/c++/4.6/ \ - -I/usr/include/c++/4.6/x86_64-linux-gnu/ \ - -I/usr/lib/gcc/x86_64-linux-gnu/9/include/ \ - -I/usr/include \ - -I/usr/include/freetype2 \ - -I/usr/include/freetype2/freetype \ + -I$(TSGL_HOME)/include/TSGL \ + -I$(TSGL_HOME)/include/freetype2 \ LFLAGS = -g -ltsgl -lfreetype -lGLEW -lglfw $(GL_FLAGS) -fopenmp \ - $(BREW) -L/usr/local/lib \ + $(BREW) -L$(TSGL_HOME)/lib \ # **************************************************** @@ -84,4 +69,4 @@ clean: @tput setaf 5; @echo "*************** All output files removed from $(DIR)! ***************" @tput sgr0; - @echo "" \ No newline at end of file + @echo "" diff --git a/src/tests/testFunction/Makefile b/src/tests/testFunction/Makefile index abf0218da..ad443c6c0 100644 --- a/src/tests/testFunction/Makefile +++ b/src/tests/testFunction/Makefile @@ -43,26 +43,11 @@ BREW := -lomp -I"$(brew --prefix libomp)/include" endif CXXFLAGS = -O3 -g3 -ggdb3 \ - -Wall -Wextra \ - -D__GXX_EXPERIMENTAL_CXX0X__ \ - -I/usr/local/include/Cellar/glfw3/3.3/include/ \ - -I/usr/local/include/TSGL \ - -I/usr/local/include \ - -I/usr/local/include/freetype2 \ - -I/usr/local/include/freetype2/freetype \ - $(NOWARN)\ - -std=c++11\ - -Wc++11-compat\ - -I/opt/AMDAPP/include/ \ - -I/usr/include/c++/4.6/ \ - -I/usr/include/c++/4.6/x86_64-linux-gnu/ \ - -I/usr/lib/gcc/x86_64-linux-gnu/9/include/ \ - -I/usr/include \ - -I/usr/include/freetype2 \ - -I/usr/include/freetype2/freetype \ + -I$(TSGL_HOME)/include/TSGL \ + -I$(TSGL_HOME)/include/freetype2 \ LFLAGS = -g -ltsgl -lfreetype -lGLEW -lglfw $(GL_FLAGS) -fopenmp \ - $(BREW) -L/usr/local/lib \ + $(BREW) -L$(TSGL_HOME)/lib \ # **************************************************** @@ -84,4 +69,4 @@ clean: @tput setaf 5; @echo "*************** All output files removed from $(DIR)! ***************" @tput sgr0; - @echo "" \ No newline at end of file + @echo "" diff --git a/src/tests/testGetColors/Makefile b/src/tests/testGetColors/Makefile index 240f1efb8..b1ab055ca 100644 --- a/src/tests/testGetColors/Makefile +++ b/src/tests/testGetColors/Makefile @@ -43,26 +43,11 @@ BREW := -lomp -I"$(brew --prefix libomp)/include" endif CXXFLAGS = -O3 -g3 -ggdb3 \ - -Wall -Wextra \ - -D__GXX_EXPERIMENTAL_CXX0X__ \ - -I/usr/local/include/Cellar/glfw3/3.3/include/ \ - -I/usr/local/include/TSGL \ - -I/usr/local/include \ - -I/usr/local/include/freetype2 \ - -I/usr/local/include/freetype2/freetype \ - $(NOWARN)\ - -std=c++11\ - -Wc++11-compat\ - -I/opt/AMDAPP/include/ \ - -I/usr/include/c++/4.6/ \ - -I/usr/include/c++/4.6/x86_64-linux-gnu/ \ - -I/usr/lib/gcc/x86_64-linux-gnu/9/include/ \ - -I/usr/include \ - -I/usr/include/freetype2 \ - -I/usr/include/freetype2/freetype \ + -I$(TSGL_HOME)/include/TSGL \ + -I$(TSGL_HOME)/include/freetype2 \ LFLAGS = -g -ltsgl -lfreetype -lGLEW -lglfw $(GL_FLAGS) -fopenmp \ - $(BREW) -L/usr/local/lib \ + $(BREW) -L$(TSGL_HOME)/lib \ # **************************************************** @@ -84,4 +69,4 @@ clean: @tput setaf 5; @echo "*************** All output files removed from $(DIR)! ***************" @tput sgr0; - @echo "" \ No newline at end of file + @echo "" diff --git a/src/tests/testGetPixels/Makefile b/src/tests/testGetPixels/Makefile index 157516953..49d322eac 100644 --- a/src/tests/testGetPixels/Makefile +++ b/src/tests/testGetPixels/Makefile @@ -43,26 +43,11 @@ BREW := -lomp -I"$(brew --prefix libomp)/include" endif CXXFLAGS = -O3 -g3 -ggdb3 \ - -Wall -Wextra \ - -D__GXX_EXPERIMENTAL_CXX0X__ \ - -I/usr/local/include/Cellar/glfw3/3.3/include/ \ - -I/usr/local/include/TSGL \ - -I/usr/local/include \ - -I/usr/local/include/freetype2 \ - -I/usr/local/include/freetype2/freetype \ - $(NOWARN)\ - -std=c++11\ - -Wc++11-compat\ - -I/opt/AMDAPP/include/ \ - -I/usr/include/c++/4.6/ \ - -I/usr/include/c++/4.6/x86_64-linux-gnu/ \ - -I/usr/lib/gcc/x86_64-linux-gnu/9/include/ \ - -I/usr/include \ - -I/usr/include/freetype2 \ - -I/usr/include/freetype2/freetype \ + -I$(TSGL_HOME)/include/TSGL \ + -I$(TSGL_HOME)/include/freetype2 \ LFLAGS = -g -ltsgl -lfreetype -lGLEW -lglfw $(GL_FLAGS) -fopenmp \ - $(BREW) -L/usr/local/lib \ + $(BREW) -L$(TSGL_HOME)/lib \ # **************************************************** @@ -84,4 +69,4 @@ clean: @tput setaf 5; @echo "*************** All output files removed from $(DIR)! ***************" @tput sgr0; - @echo "" \ No newline at end of file + @echo "" diff --git a/src/tests/testGetPixels/pics/test.png b/src/tests/testGetPixels/pics/test.png new file mode 100644 index 000000000..7fa466aad Binary files /dev/null and b/src/tests/testGetPixels/pics/test.png differ diff --git a/src/tests/testGetPixels/testGetPixels.cpp b/src/tests/testGetPixels/testGetPixels.cpp index 60e853298..99e7cebc1 100644 --- a/src/tests/testGetPixels/testGetPixels.cpp +++ b/src/tests/testGetPixels/testGetPixels.cpp @@ -38,7 +38,7 @@ using namespace tsgl; void getPixelsFunction(Canvas& can, int threads) { Background * bg = can.getBackground(); int width = can.getWindowWidth(), height = can.getWindowHeight(); - bg->drawImage(0,0,0,"./assets/pics/test.png",width, height, 0,0,0); + bg->drawImage(0,0,0,"pics/test.png",width, height, 0,0,0); can.sleepFor(0.5f); #pragma omp parallel num_threads(threads) { diff --git a/src/tests/testGradientWheel/Makefile b/src/tests/testGradientWheel/Makefile index 6e4282003..f46793145 100644 --- a/src/tests/testGradientWheel/Makefile +++ b/src/tests/testGradientWheel/Makefile @@ -43,26 +43,11 @@ BREW := -lomp -I"$(brew --prefix libomp)/include" endif CXXFLAGS = -O3 -g3 -ggdb3 \ - -Wall -Wextra \ - -D__GXX_EXPERIMENTAL_CXX0X__ \ - -I/usr/local/include/Cellar/glfw3/3.3/include/ \ - -I/usr/local/include/TSGL \ - -I/usr/local/include \ - -I/usr/local/include/freetype2 \ - -I/usr/local/include/freetype2/freetype \ - $(NOWARN)\ - -std=c++11\ - -Wc++11-compat\ - -I/opt/AMDAPP/include/ \ - -I/usr/include/c++/4.6/ \ - -I/usr/include/c++/4.6/x86_64-linux-gnu/ \ - -I/usr/lib/gcc/x86_64-linux-gnu/9/include/ \ - -I/usr/include \ - -I/usr/include/freetype2 \ - -I/usr/include/freetype2/freetype \ + -I$(TSGL_HOME)/include/TSGL \ + -I$(TSGL_HOME)/include/freetype2 \ LFLAGS = -g -ltsgl -lfreetype -lGLEW -lglfw $(GL_FLAGS) -fopenmp \ - $(BREW) -L/usr/local/lib \ + $(BREW) -L$(TSGL_HOME)/lib \ # **************************************************** @@ -84,4 +69,4 @@ clean: @tput setaf 5; @echo "*************** All output files removed from $(DIR)! ***************" @tput sgr0; - @echo "" \ No newline at end of file + @echo "" diff --git a/src/tests/testGraydient/Makefile b/src/tests/testGraydient/Makefile index 6915cc422..888c68b24 100644 --- a/src/tests/testGraydient/Makefile +++ b/src/tests/testGraydient/Makefile @@ -43,26 +43,11 @@ BREW := -lomp -I"$(brew --prefix libomp)/include" endif CXXFLAGS = -O3 -g3 -ggdb3 \ - -Wall -Wextra \ - -D__GXX_EXPERIMENTAL_CXX0X__ \ - -I/usr/local/include/Cellar/glfw3/3.3/include/ \ - -I/usr/local/include/TSGL \ - -I/usr/local/include \ - -I/usr/local/include/freetype2 \ - -I/usr/local/include/freetype2/freetype \ - $(NOWARN)\ - -std=c++11\ - -Wc++11-compat\ - -I/opt/AMDAPP/include/ \ - -I/usr/include/c++/4.6/ \ - -I/usr/include/c++/4.6/x86_64-linux-gnu/ \ - -I/usr/lib/gcc/x86_64-linux-gnu/9/include/ \ - -I/usr/include \ - -I/usr/include/freetype2 \ - -I/usr/include/freetype2/freetype \ + -I$(TSGL_HOME)/include/TSGL \ + -I$(TSGL_HOME)/include/freetype2 \ LFLAGS = -g -ltsgl -lfreetype -lGLEW -lglfw $(GL_FLAGS) -fopenmp \ - $(BREW) -L/usr/local/lib \ + $(BREW) -L$(TSGL_HOME)/lib \ # **************************************************** @@ -84,4 +69,4 @@ clean: @tput setaf 5; @echo "*************** All output files removed from $(DIR)! ***************" @tput sgr0; - @echo "" \ No newline at end of file + @echo "" diff --git a/src/tests/testGreyscale/Makefile b/src/tests/testGreyscale/Makefile index ef0fb1b04..feac964e7 100644 --- a/src/tests/testGreyscale/Makefile +++ b/src/tests/testGreyscale/Makefile @@ -43,26 +43,11 @@ BREW := -lomp -I"$(brew --prefix libomp)/include" endif CXXFLAGS = -O3 -g3 -ggdb3 \ - -Wall -Wextra \ - -D__GXX_EXPERIMENTAL_CXX0X__ \ - -I/usr/local/include/Cellar/glfw3/3.3/include/ \ - -I/usr/local/include/TSGL \ - -I/usr/local/include \ - -I/usr/local/include/freetype2 \ - -I/usr/local/include/freetype2/freetype \ - $(NOWARN)\ - -std=c++11\ - -Wc++11-compat\ - -I/opt/AMDAPP/include/ \ - -I/usr/include/c++/4.6/ \ - -I/usr/include/c++/4.6/x86_64-linux-gnu/ \ - -I/usr/lib/gcc/x86_64-linux-gnu/9/include/ \ - -I/usr/include \ - -I/usr/include/freetype2 \ - -I/usr/include/freetype2/freetype \ + -I$(TSGL_HOME)/include/TSGL \ + -I$(TSGL_HOME)/include/freetype2 \ LFLAGS = -g -ltsgl -lfreetype -lGLEW -lglfw $(GL_FLAGS) -fopenmp \ - $(BREW) -L/usr/local/lib \ + $(BREW) -L$(TSGL_HOME)/lib \ # **************************************************** @@ -84,4 +69,4 @@ clean: @tput setaf 5; @echo "*************** All output files removed from $(DIR)! ***************" @tput sgr0; - @echo "" \ No newline at end of file + @echo "" diff --git a/src/tests/testGreyscale/pics/colorful_cars.jpg b/src/tests/testGreyscale/pics/colorful_cars.jpg new file mode 100644 index 000000000..b4b8114ba Binary files /dev/null and b/src/tests/testGreyscale/pics/colorful_cars.jpg differ diff --git a/src/tests/testGreyscale/testGreyscale.cpp b/src/tests/testGreyscale/testGreyscale.cpp index 76dfb5bbb..74c9e9806 100644 --- a/src/tests/testGreyscale/testGreyscale.cpp +++ b/src/tests/testGreyscale/testGreyscale.cpp @@ -50,7 +50,7 @@ void greyScaleFunction(Canvas& can, int numberOfThreads) { clamp(threads,1,30); const unsigned thickness = 3; const int WW = can.getWindowWidth(),WH = can.getWindowHeight(); - background->drawImage(0,0,0,"./assets/pics/colorful_cars.jpg", WW, WH, 0,0,0); + background->drawImage(0,0,0,"pics/colorful_cars.jpg", WW, WH, 0,0,0); can.sleepFor(0.25f); #pragma omp parallel num_threads(threads) { diff --git a/src/tests/testHighData/Makefile b/src/tests/testHighData/Makefile index 6548f2065..d24684554 100644 --- a/src/tests/testHighData/Makefile +++ b/src/tests/testHighData/Makefile @@ -43,26 +43,11 @@ BREW := -lomp -I"$(brew --prefix libomp)/include" endif CXXFLAGS = -O3 -g3 -ggdb3 \ - -Wall -Wextra \ - -D__GXX_EXPERIMENTAL_CXX0X__ \ - -I/usr/local/include/Cellar/glfw3/3.3/include/ \ - -I/usr/local/include/TSGL \ - -I/usr/local/include \ - -I/usr/local/include/freetype2 \ - -I/usr/local/include/freetype2/freetype \ - $(NOWARN)\ - -std=c++11\ - -Wc++11-compat\ - -I/opt/AMDAPP/include/ \ - -I/usr/include/c++/4.6/ \ - -I/usr/include/c++/4.6/x86_64-linux-gnu/ \ - -I/usr/lib/gcc/x86_64-linux-gnu/9/include/ \ - -I/usr/include \ - -I/usr/include/freetype2 \ - -I/usr/include/freetype2/freetype \ + -I$(TSGL_HOME)/include/TSGL \ + -I$(TSGL_HOME)/include/freetype2 \ LFLAGS = -g -ltsgl -lfreetype -lGLEW -lglfw $(GL_FLAGS) -fopenmp \ - $(BREW) -L/usr/local/lib \ + $(BREW) -L$(TSGL_HOME)/lib \ # **************************************************** @@ -84,4 +69,4 @@ clean: @tput setaf 5; @echo "*************** All output files removed from $(DIR)! ***************" @tput sgr0; - @echo "" \ No newline at end of file + @echo "" diff --git a/src/tests/testImage/Makefile b/src/tests/testImage/Makefile index a4b4d8558..75f69708b 100644 --- a/src/tests/testImage/Makefile +++ b/src/tests/testImage/Makefile @@ -43,26 +43,11 @@ BREW := -lomp -I"$(brew --prefix libomp)/include" endif CXXFLAGS = -O3 -g3 -ggdb3 \ - -Wall -Wextra \ - -D__GXX_EXPERIMENTAL_CXX0X__ \ - -I/usr/local/include/Cellar/glfw3/3.3/include/ \ - -I/usr/local/include/TSGL \ - -I/usr/local/include \ - -I/usr/local/include/freetype2 \ - -I/usr/local/include/freetype2/freetype \ - $(NOWARN)\ - -std=c++11\ - -Wc++11-compat\ - -I/opt/AMDAPP/include/ \ - -I/usr/include/c++/4.6/ \ - -I/usr/include/c++/4.6/x86_64-linux-gnu/ \ - -I/usr/lib/gcc/x86_64-linux-gnu/9/include/ \ - -I/usr/include \ - -I/usr/include/freetype2 \ - -I/usr/include/freetype2/freetype \ + -I$(TSGL_HOME)/include/TSGL \ + -I$(TSGL_HOME)/include/freetype2 \ LFLAGS = -g -ltsgl -lfreetype -lGLEW -lglfw $(GL_FLAGS) -fopenmp \ - $(BREW) -L/usr/local/lib \ + $(BREW) -L$(TSGL_HOME)/lib \ # **************************************************** # Targets needed to bring the executable up to date @@ -83,4 +68,4 @@ clean: @tput setaf 5; @echo "*************** All output files removed from $(DIR)! ***************" @tput sgr0; - @echo "" \ No newline at end of file + @echo "" diff --git a/src/tests/testImage/pics/ball.png b/src/tests/testImage/pics/ball.png new file mode 100644 index 000000000..a6a5696cc Binary files /dev/null and b/src/tests/testImage/pics/ball.png differ diff --git a/src/tests/testImage/pics/colorfulKeyboard.jpg b/src/tests/testImage/pics/colorfulKeyboard.jpg new file mode 100644 index 000000000..354b5333d Binary files /dev/null and b/src/tests/testImage/pics/colorfulKeyboard.jpg differ diff --git a/src/tests/testImage/pics/cow.jpg b/src/tests/testImage/pics/cow.jpg new file mode 100644 index 000000000..c536a095e Binary files /dev/null and b/src/tests/testImage/pics/cow.jpg differ diff --git a/src/tests/testImage/pics/ship.bmp b/src/tests/testImage/pics/ship.bmp new file mode 100644 index 000000000..efc2666ab Binary files /dev/null and b/src/tests/testImage/pics/ship.bmp differ diff --git a/src/tests/testImage/pics/shiprgb.bmp b/src/tests/testImage/pics/shiprgb.bmp new file mode 100644 index 000000000..c40efc548 Binary files /dev/null and b/src/tests/testImage/pics/shiprgb.bmp differ diff --git a/src/tests/testImage/pics/sky_main.jpg b/src/tests/testImage/pics/sky_main.jpg new file mode 100644 index 000000000..663c47297 Binary files /dev/null and b/src/tests/testImage/pics/sky_main.jpg differ diff --git a/src/tests/testImage/testImage.cpp b/src/tests/testImage/testImage.cpp index 3de6187c7..96d7e94ee 100644 --- a/src/tests/testImage/testImage.cpp +++ b/src/tests/testImage/testImage.cpp @@ -27,21 +27,21 @@ void imageFunction(Canvas& can) { // Image * image = new Image(0,0,0,"./assets/pics/Messier51.jpg", 4,3, 0,0,0); // can.add(image); - Image * image = new Image(-ww,0.5 * hh,0,"./assets/pics/ball.png", ww,hh, 0,0,0); + Image * image = new Image(-ww,0.5 * hh,0,"pics/ball.png", ww,hh, 0,0,0); can.add(image); - Image * image2 = new Image(0,0.5 * hh,0,"./assets/pics/ship.bmp", ww,hh, 0,0,0); + Image * image2 = new Image(0,0.5 * hh,0,"pics/ship.bmp", ww,hh, 0,0,0); can.add(image2); - Image * image3 = new Image(ww,0.5 * hh,0,"./assets/pics/shiprgb.bmp", ww,hh, 0,0,0); + Image * image3 = new Image(ww,0.5 * hh,0,"pics/shiprgb.bmp", ww,hh, 0,0,0); can.add(image3); - Image * image4 = new Image(-ww,-0.5 * hh,0,"./assets/pics/sky_main.jpg", ww,hh, 0,0,0); + Image * image4 = new Image(-ww,-0.5 * hh,0,"pics/sky_main.jpg", ww,hh, 0,0,0); can.add(image4); - Image * image5 = new Image(0,-0.5 * hh,0,"./assets/pics/colorfulKeyboard.jpg", ww,hh, 0,0,0); + Image * image5 = new Image(0,-0.5 * hh,0,"pics/colorfulKeyboard.jpg", ww,hh, 0,0,0); can.add(image5); - Image * image6 = new Image(ww,-0.5 * hh,0,"./assets/pics/cow.jpg", ww,hh, 0,0,0); + Image * image6 = new Image(ww,-0.5 * hh,0,"pics/cow.jpg", ww,hh, 0,0,0); can.add(image6); can.bindToButton(TSGL_MOUSE_LEFT, TSGL_PRESS, [&image6]() { - image6->changeFile("./assets/pics/colorfulKeyboard.jpg"); + image6->changeFile("pics/colorfulKeyboard.jpg"); }); // image->setHeight((GLfloat)image->getPixelHeight()); diff --git a/src/tests/testImageCart/Makefile b/src/tests/testImageCart/Makefile index 319fe89f1..ee72215b4 100644 --- a/src/tests/testImageCart/Makefile +++ b/src/tests/testImageCart/Makefile @@ -43,26 +43,11 @@ BREW := -lomp -I"$(brew --prefix libomp)/include" endif CXXFLAGS = -O3 -g3 -ggdb3 \ - -Wall -Wextra \ - -D__GXX_EXPERIMENTAL_CXX0X__ \ - -I/usr/local/include/Cellar/glfw3/3.3/include/ \ - -I/usr/local/include/TSGL \ - -I/usr/local/include \ - -I/usr/local/include/freetype2 \ - -I/usr/local/include/freetype2/freetype \ - $(NOWARN)\ - -std=c++11\ - -Wc++11-compat\ - -I/opt/AMDAPP/include/ \ - -I/usr/include/c++/4.6/ \ - -I/usr/include/c++/4.6/x86_64-linux-gnu/ \ - -I/usr/lib/gcc/x86_64-linux-gnu/9/include/ \ - -I/usr/include \ - -I/usr/include/freetype2 \ - -I/usr/include/freetype2/freetype \ + -I$(TSGL_HOME)/include/TSGL \ + -I$(TSGL_HOME)/include/freetype2 \ LFLAGS = -g -ltsgl -lfreetype -lGLEW -lglfw $(GL_FLAGS) -fopenmp \ - $(BREW) -L/usr/local/lib \ + $(BREW) -L$(TSGL_HOME)/lib \ # **************************************************** @@ -84,4 +69,4 @@ clean: @tput setaf 5; @echo "*************** All output files removed from $(DIR)! ***************" @tput sgr0; - @echo "" \ No newline at end of file + @echo "" diff --git a/src/tests/testImageCart/pics/colorful-cars-circle.jpg b/src/tests/testImageCart/pics/colorful-cars-circle.jpg new file mode 100644 index 000000000..29f9f3498 Binary files /dev/null and b/src/tests/testImageCart/pics/colorful-cars-circle.jpg differ diff --git a/src/tests/testImageCart/pics/colorfulKeyboard.jpg b/src/tests/testImageCart/pics/colorfulKeyboard.jpg new file mode 100644 index 000000000..354b5333d Binary files /dev/null and b/src/tests/testImageCart/pics/colorfulKeyboard.jpg differ diff --git a/src/tests/testImageCart/pics/cow.jpg b/src/tests/testImageCart/pics/cow.jpg new file mode 100644 index 000000000..c536a095e Binary files /dev/null and b/src/tests/testImageCart/pics/cow.jpg differ diff --git a/src/tests/testImageCart/pics/ship.bmp b/src/tests/testImageCart/pics/ship.bmp new file mode 100644 index 000000000..efc2666ab Binary files /dev/null and b/src/tests/testImageCart/pics/ship.bmp differ diff --git a/src/tests/testImageCart/pics/shiprgb.bmp b/src/tests/testImageCart/pics/shiprgb.bmp new file mode 100644 index 000000000..c40efc548 Binary files /dev/null and b/src/tests/testImageCart/pics/shiprgb.bmp differ diff --git a/src/tests/testImageCart/pics/sky_main.jpg b/src/tests/testImageCart/pics/sky_main.jpg new file mode 100644 index 000000000..663c47297 Binary files /dev/null and b/src/tests/testImageCart/pics/sky_main.jpg differ diff --git a/src/tests/testImageCart/pics/test.png b/src/tests/testImageCart/pics/test.png new file mode 100644 index 000000000..7fa466aad Binary files /dev/null and b/src/tests/testImageCart/pics/test.png differ diff --git a/src/tests/testImageCart/testImageCart.cpp b/src/tests/testImageCart/testImageCart.cpp index e33994945..01b4c1b18 100644 --- a/src/tests/testImageCart/testImageCart.cpp +++ b/src/tests/testImageCart/testImageCart.cpp @@ -15,14 +15,14 @@ using namespace tsgl; */ void imageCartFunction(Cart& can) { CartesianBackground * cart = can.getBackground(); - cart->drawImage(1, 2.25, 0, "./assets/pics/test.png", 2, 1.5, 0,0,0); - cart->drawImage(3, 2.25, 0, "./assets/pics/ship.bmp", 2, 1.5, 0,0,0); // possibly lost - cart->drawImage(5, 2.25, 0, "./assets/pics/shiprgb.bmp", 2, 1.5, 0,0,0); // definitely lost - cart->drawImage(1, 0.75, 0, "./assets/pics/sky_main.jpg", 2, 1.5, 0,0,0); - cart->drawImage(3, 0.75, 0, "./assets/pics/cow.jpg", 2, 1.5, 0,0,0); - cart->drawImage(5, 0.75, 0, "./assets/pics/colorfulKeyboard.jpg", 2, 1.5, 0,0,0); - - Image * image = new Image(3, 1.5, 0, "./assets/pics/colorful-cars-circle.jpg", 4, 3, 0,0,0, 0.25f); + cart->drawImage(1, 2.25, 0, "pics/test.png", 2, 1.5, 0,0,0); + cart->drawImage(3, 2.25, 0, "pics/ship.bmp", 2, 1.5, 0,0,0); // possibly lost + cart->drawImage(5, 2.25, 0, "pics/shiprgb.bmp", 2, 1.5, 0,0,0); // definitely lost + cart->drawImage(1, 0.75, 0, "pics/sky_main.jpg", 2, 1.5, 0,0,0); + cart->drawImage(3, 0.75, 0, "pics/cow.jpg", 2, 1.5, 0,0,0); + cart->drawImage(5, 0.75, 0, "pics/colorfulKeyboard.jpg", 2, 1.5, 0,0,0); + + Image * image = new Image(3, 1.5, 0, "pics/colorful-cars-circle.jpg", 4, 3, 0,0,0, 0.25f); can.add(image); // Arrow * a = new Arrow(1, 2, 0, 5, 1, 0, 0.1, 0,0,0, BLUE); diff --git a/src/tests/testInverter/Makefile b/src/tests/testInverter/Makefile index 2f1454887..5a2e8c21c 100644 --- a/src/tests/testInverter/Makefile +++ b/src/tests/testInverter/Makefile @@ -43,26 +43,11 @@ BREW := -lomp -I"$(brew --prefix libomp)/include" endif CXXFLAGS = -O3 -g3 -ggdb3 \ - -Wall -Wextra \ - -D__GXX_EXPERIMENTAL_CXX0X__ \ - -I/usr/local/include/Cellar/glfw3/3.3/include/ \ - -I/usr/local/include/TSGL \ - -I/usr/local/include \ - -I/usr/local/include/freetype2 \ - -I/usr/local/include/freetype2/freetype \ - $(NOWARN)\ - -std=c++11\ - -Wc++11-compat\ - -I/opt/AMDAPP/include/ \ - -I/usr/include/c++/4.6/ \ - -I/usr/include/c++/4.6/x86_64-linux-gnu/ \ - -I/usr/lib/gcc/x86_64-linux-gnu/9/include/ \ - -I/usr/include \ - -I/usr/include/freetype2 \ - -I/usr/include/freetype2/freetype \ + -I$(TSGL_HOME)/include/TSGL \ + -I$(TSGL_HOME)/include/freetype2 \ LFLAGS = -g -ltsgl -lfreetype -lGLEW -lglfw $(GL_FLAGS) -fopenmp \ - $(BREW) -L/usr/local/lib \ + $(BREW) -L$(TSGL_HOME)/lib \ # **************************************************** @@ -84,4 +69,4 @@ clean: @tput setaf 5; @echo "*************** All output files removed from $(DIR)! ***************" @tput sgr0; - @echo "" \ No newline at end of file + @echo "" diff --git a/src/tests/testInverter/pics/Car-colors.jpg b/src/tests/testInverter/pics/Car-colors.jpg new file mode 100644 index 000000000..9e4d8f37b Binary files /dev/null and b/src/tests/testInverter/pics/Car-colors.jpg differ diff --git a/src/tests/testInverter/testInverter.cpp b/src/tests/testInverter/testInverter.cpp index d94245150..d0a11f369 100644 --- a/src/tests/testInverter/testInverter.cpp +++ b/src/tests/testInverter/testInverter.cpp @@ -11,6 +11,6 @@ using namespace tsgl; int main(int argc, char* argv[]) { int numThreads = (argc > 1) ? atoi(argv[1]) : omp_get_num_procs(); - ImageInverter ii("./assets/pics/Car-colors.jpg", 1022, 1024); + ImageInverter ii("pics/Car-colors.jpg", 1022, 1024); ii.run(numThreads); } diff --git a/src/tests/testLineChain/Makefile b/src/tests/testLineChain/Makefile index 09cc07d94..cc218a51a 100644 --- a/src/tests/testLineChain/Makefile +++ b/src/tests/testLineChain/Makefile @@ -43,26 +43,11 @@ BREW := -lomp -I"$(brew --prefix libomp)/include" endif CXXFLAGS = -O3 -g3 -ggdb3 \ - -Wall -Wextra \ - -D__GXX_EXPERIMENTAL_CXX0X__ \ - -I/usr/local/include/Cellar/glfw3/3.3/include/ \ - -I/usr/local/include/TSGL \ - -I/usr/local/include \ - -I/usr/local/include/freetype2 \ - -I/usr/local/include/freetype2/freetype \ - $(NOWARN)\ - -std=c++11\ - -Wc++11-compat\ - -I/opt/AMDAPP/include/ \ - -I/usr/include/c++/4.6/ \ - -I/usr/include/c++/4.6/x86_64-linux-gnu/ \ - -I/usr/lib/gcc/x86_64-linux-gnu/9/include/ \ - -I/usr/include \ - -I/usr/include/freetype2 \ - -I/usr/include/freetype2/freetype \ + -I$(TSGL_HOME)/include/TSGL \ + -I$(TSGL_HOME)/include/freetype2 \ LFLAGS = -g -ltsgl -lfreetype -lGLEW -lglfw $(GL_FLAGS) -fopenmp \ - $(BREW) -L/usr/local/lib \ + $(BREW) -L$(TSGL_HOME)/lib \ # **************************************************** @@ -84,4 +69,4 @@ clean: @tput setaf 5; @echo "*************** All output files removed from $(DIR)! ***************" @tput sgr0; - @echo "" \ No newline at end of file + @echo "" diff --git a/src/tests/testLineFan/Makefile b/src/tests/testLineFan/Makefile index 202202d4a..8699f429f 100644 --- a/src/tests/testLineFan/Makefile +++ b/src/tests/testLineFan/Makefile @@ -43,26 +43,11 @@ BREW := -lomp -I"$(brew --prefix libomp)/include" endif CXXFLAGS = -O3 -g3 -ggdb3 \ - -Wall -Wextra \ - -D__GXX_EXPERIMENTAL_CXX0X__ \ - -I/usr/local/include/Cellar/glfw3/3.3/include/ \ - -I/usr/local/include/TSGL \ - -I/usr/local/include \ - -I/usr/local/include/freetype2 \ - -I/usr/local/include/freetype2/freetype \ - $(NOWARN)\ - -std=c++11\ - -Wc++11-compat\ - -I/opt/AMDAPP/include/ \ - -I/usr/include/c++/4.6/ \ - -I/usr/include/c++/4.6/x86_64-linux-gnu/ \ - -I/usr/lib/gcc/x86_64-linux-gnu/9/include/ \ - -I/usr/include \ - -I/usr/include/freetype2 \ - -I/usr/include/freetype2/freetype \ + -I$(TSGL_HOME)/include/TSGL \ + -I$(TSGL_HOME)/include/freetype2 \ LFLAGS = -g -ltsgl -lfreetype -lGLEW -lglfw $(GL_FLAGS) -fopenmp \ - $(BREW) -L/usr/local/lib \ + $(BREW) -L$(TSGL_HOME)/lib \ # **************************************************** # Targets needed to bring the executable up to date @@ -83,4 +68,4 @@ clean: @tput setaf 5; @echo "*************** All output files removed from $(DIR)! ***************" @tput sgr0; - @echo "" \ No newline at end of file + @echo "" diff --git a/src/tests/testLines/Makefile b/src/tests/testLines/Makefile index 3e8c8fb4d..0daa9facc 100644 --- a/src/tests/testLines/Makefile +++ b/src/tests/testLines/Makefile @@ -43,26 +43,11 @@ BREW := -lomp -I"$(brew --prefix libomp)/include" endif CXXFLAGS = -O3 -g3 -ggdb3 \ - -Wall -Wextra \ - -D__GXX_EXPERIMENTAL_CXX0X__ \ - -I/usr/local/include/Cellar/glfw3/3.3/include/ \ - -I/usr/local/include/TSGL \ - -I/usr/local/include \ - -I/usr/local/include/freetype2 \ - -I/usr/local/include/freetype2/freetype \ - $(NOWARN)\ - -std=c++11\ - -Wc++11-compat\ - -I/opt/AMDAPP/include/ \ - -I/usr/include/c++/4.6/ \ - -I/usr/include/c++/4.6/x86_64-linux-gnu/ \ - -I/usr/lib/gcc/x86_64-linux-gnu/9/include/ \ - -I/usr/include \ - -I/usr/include/freetype2 \ - -I/usr/include/freetype2/freetype \ + -I$(TSGL_HOME)/include/TSGL \ + -I$(TSGL_HOME)/include/freetype2 \ LFLAGS = -g -ltsgl -lfreetype -lGLEW -lglfw $(GL_FLAGS) -fopenmp \ - $(BREW) -L/usr/local/lib \ + $(BREW) -L$(TSGL_HOME)/lib \ # **************************************************** @@ -84,4 +69,4 @@ clean: @tput setaf 5; @echo "*************** All output files removed from $(DIR)! ***************" @tput sgr0; - @echo "" \ No newline at end of file + @echo "" diff --git a/src/tests/testMouse/Makefile b/src/tests/testMouse/Makefile index 36b551c86..07b975cc8 100644 --- a/src/tests/testMouse/Makefile +++ b/src/tests/testMouse/Makefile @@ -43,26 +43,11 @@ BREW := -lomp -I"$(brew --prefix libomp)/include" endif CXXFLAGS = -O3 -g3 -ggdb3 \ - -Wall -Wextra \ - -D__GXX_EXPERIMENTAL_CXX0X__ \ - -I/usr/local/include/Cellar/glfw3/3.3/include/ \ - -I/usr/local/include/TSGL \ - -I/usr/local/include \ - -I/usr/local/include/freetype2 \ - -I/usr/local/include/freetype2/freetype \ - $(NOWARN)\ - -std=c++11\ - -Wc++11-compat\ - -I/opt/AMDAPP/include/ \ - -I/usr/include/c++/4.6/ \ - -I/usr/include/c++/4.6/x86_64-linux-gnu/ \ - -I/usr/lib/gcc/x86_64-linux-gnu/9/include/ \ - -I/usr/include \ - -I/usr/include/freetype2 \ - -I/usr/include/freetype2/freetype \ + -I$(TSGL_HOME)/include/TSGL \ + -I$(TSGL_HOME)/include/freetype2 \ LFLAGS = -g -ltsgl -lfreetype -lGLEW -lglfw $(GL_FLAGS) -fopenmp \ - $(BREW) -L/usr/local/lib \ + $(BREW) -L$(TSGL_HOME)/lib \ # **************************************************** @@ -84,4 +69,4 @@ clean: @tput setaf 5; @echo "*************** All output files removed from $(DIR)! ***************" @tput sgr0; - @echo "" \ No newline at end of file + @echo "" diff --git a/src/tests/testPixels/Makefile b/src/tests/testPixels/Makefile index e87fc641f..84c6bbce8 100644 --- a/src/tests/testPixels/Makefile +++ b/src/tests/testPixels/Makefile @@ -43,26 +43,11 @@ BREW := -lomp -I"$(brew --prefix libomp)/include" endif CXXFLAGS = -O3 -g3 -ggdb3 \ - -Wall -Wextra \ - -D__GXX_EXPERIMENTAL_CXX0X__ \ - -I/usr/local/include/Cellar/glfw3/3.3/include/ \ - -I/usr/local/include/TSGL \ - -I/usr/local/include \ - -I/usr/local/include/freetype2 \ - -I/usr/local/include/freetype2/freetype \ - $(NOWARN)\ - -std=c++11\ - -Wc++11-compat\ - -I/opt/AMDAPP/include/ \ - -I/usr/include/c++/4.6/ \ - -I/usr/include/c++/4.6/x86_64-linux-gnu/ \ - -I/usr/lib/gcc/x86_64-linux-gnu/9/include/ \ - -I/usr/include \ - -I/usr/include/freetype2 \ - -I/usr/include/freetype2/freetype \ + -I$(TSGL_HOME)/include/TSGL \ + -I$(TSGL_HOME)/include/freetype2 \ LFLAGS = -g -ltsgl -lfreetype -lGLEW -lglfw $(GL_FLAGS) -fopenmp \ - $(BREW) -L/usr/local/lib \ + $(BREW) -L$(TSGL_HOME)/lib \ # **************************************************** @@ -84,4 +69,4 @@ clean: @tput setaf 5; @echo "*************** All output files removed from $(DIR)! ***************" @tput sgr0; - @echo "" \ No newline at end of file + @echo "" diff --git a/src/tests/testPrism/Makefile b/src/tests/testPrism/Makefile index b30120406..12406c22e 100644 --- a/src/tests/testPrism/Makefile +++ b/src/tests/testPrism/Makefile @@ -43,26 +43,11 @@ BREW := -lomp -I"$(brew --prefix libomp)/include" endif CXXFLAGS = -O3 -g3 -ggdb3 \ - -Wall -Wextra \ - -D__GXX_EXPERIMENTAL_CXX0X__ \ - -I/usr/local/include/Cellar/glfw3/3.3/include/ \ - -I/usr/local/include/TSGL \ - -I/usr/local/include \ - -I/usr/local/include/freetype2 \ - -I/usr/local/include/freetype2/freetype \ - $(NOWARN)\ - -std=c++11\ - -Wc++11-compat\ - -I/opt/AMDAPP/include/ \ - -I/usr/include/c++/4.6/ \ - -I/usr/include/c++/4.6/x86_64-linux-gnu/ \ - -I/usr/lib/gcc/x86_64-linux-gnu/9/include/ \ - -I/usr/include \ - -I/usr/include/freetype2 \ - -I/usr/include/freetype2/freetype \ + -I$(TSGL_HOME)/include/TSGL \ + -I$(TSGL_HOME)/include/freetype2 \ LFLAGS = -g -ltsgl -lfreetype -lGLEW -lglfw $(GL_FLAGS) -fopenmp \ - $(BREW) -L/usr/local/lib \ + $(BREW) -L$(TSGL_HOME)/lib \ # **************************************************** @@ -84,4 +69,4 @@ clean: @tput setaf 5; @echo "*************** All output files removed from $(DIR)! ***************" @tput sgr0; - @echo "" \ No newline at end of file + @echo "" diff --git a/src/tests/testProcedural/Makefile b/src/tests/testProcedural/Makefile index 71e299c41..02b22c27a 100644 --- a/src/tests/testProcedural/Makefile +++ b/src/tests/testProcedural/Makefile @@ -43,26 +43,11 @@ BREW := -lomp -I"$(brew --prefix libomp)/include" endif CXXFLAGS = -O3 -g3 -ggdb3 \ - -Wall -Wextra \ - -D__GXX_EXPERIMENTAL_CXX0X__ \ - -I/usr/local/include/Cellar/glfw3/3.3/include/ \ - -I/usr/local/include/TSGL \ - -I/usr/local/include \ - -I/usr/local/include/freetype2 \ - -I/usr/local/include/freetype2/freetype \ - $(NOWARN)\ - -std=c++11\ - -Wc++11-compat\ - -I/opt/AMDAPP/include/ \ - -I/usr/include/c++/4.6/ \ - -I/usr/include/c++/4.6/x86_64-linux-gnu/ \ - -I/usr/lib/gcc/x86_64-linux-gnu/9/include/ \ - -I/usr/include \ - -I/usr/include/freetype2 \ - -I/usr/include/freetype2/freetype \ + -I$(TSGL_HOME)/include/TSGL \ + -I$(TSGL_HOME)/include/freetype2 \ LFLAGS = -g -ltsgl -lfreetype -lGLEW -lglfw $(GL_FLAGS) -fopenmp \ - $(BREW) -L/usr/local/lib \ + $(BREW) -L$(TSGL_HOME)/lib \ # **************************************************** @@ -84,4 +69,4 @@ clean: @tput setaf 5; @echo "*************** All output files removed from $(DIR)! ***************" @tput sgr0; - @echo "" \ No newline at end of file + @echo "" diff --git a/src/tests/testProcedural/pics/launch.bmp b/src/tests/testProcedural/pics/launch.bmp new file mode 100644 index 000000000..0e397c41b Binary files /dev/null and b/src/tests/testProcedural/pics/launch.bmp differ diff --git a/src/tests/testProcedural/testProcedural.cpp b/src/tests/testProcedural/testProcedural.cpp index 2fe19cfc3..c55ce58a0 100644 --- a/src/tests/testProcedural/testProcedural.cpp +++ b/src/tests/testProcedural/testProcedural.cpp @@ -26,8 +26,8 @@ void testSuite1(Background * bg) { bg->drawEllipse(-225, 100, 0, 75,50, 0,0,0, colors); bg->drawRectangle(-225, -100, 0, 150,100, 0,0,0, RED); bg->drawRectangle(-225, -225, 0, 150,100, 0,0,0, colors); - bg->drawImage(0,225,0,"./assets/pics/launch.bmp",100,100,0,0,0); - bg->drawText(0,100,0,L"ü^xdog","./assets/freefont/FreeMono.ttf",50,0,0,0,RED); + bg->drawImage(0,225,0,"pics/launch.bmp",100,100,0,0,0); + bg->drawText(0,100,0,L"ü^xdog",FONT,50,0,0,0,RED); bg->drawRegularPolygon(0,-100,0,50,5,0,0,0,RED); bg->drawRegularPolygon(0,-225,0,50,7,0,0,0,colors); bg->drawTriangle(225,275,0,275,175,0,175,175,0,0,0,0,RED); @@ -122,4 +122,4 @@ int main(int argc, char* argv[]) { w = h = 960; //If not, set the width and height to a default value Canvas c(-1, -1, 1024, 620, "Basic Procedural Background", BLACK); c.run(proceduralFunction); -} \ No newline at end of file +} diff --git a/src/tests/testProgressBar/Makefile b/src/tests/testProgressBar/Makefile index 460fdd21d..d86383ad5 100644 --- a/src/tests/testProgressBar/Makefile +++ b/src/tests/testProgressBar/Makefile @@ -43,26 +43,11 @@ BREW := -lomp -I"$(brew --prefix libomp)/include" endif CXXFLAGS = -O3 -g3 -ggdb3 \ - -Wall -Wextra \ - -D__GXX_EXPERIMENTAL_CXX0X__ \ - -I/usr/local/include/Cellar/glfw3/3.3/include/ \ - -I/usr/local/include/TSGL \ - -I/usr/local/include \ - -I/usr/local/include/freetype2 \ - -I/usr/local/include/freetype2/freetype \ - $(NOWARN)\ - -std=c++11\ - -Wc++11-compat\ - -I/opt/AMDAPP/include/ \ - -I/usr/include/c++/4.6/ \ - -I/usr/include/c++/4.6/x86_64-linux-gnu/ \ - -I/usr/lib/gcc/x86_64-linux-gnu/9/include/ \ - -I/usr/include \ - -I/usr/include/freetype2 \ - -I/usr/include/freetype2/freetype \ + -I$(TSGL_HOME)/include/TSGL \ + -I$(TSGL_HOME)/include/freetype2 \ LFLAGS = -g -ltsgl -lfreetype -lGLEW -lglfw $(GL_FLAGS) -fopenmp \ - $(BREW) -L/usr/local/lib \ + $(BREW) -L$(TSGL_HOME)/lib \ # **************************************************** @@ -84,4 +69,4 @@ clean: @tput setaf 5; @echo "*************** All output files removed from $(DIR)! ***************" @tput sgr0; - @echo "" \ No newline at end of file + @echo "" diff --git a/src/tests/testProgressBar/testProgressBar.cpp b/src/tests/testProgressBar/testProgressBar.cpp index 787202afa..24d1443f8 100644 --- a/src/tests/testProgressBar/testProgressBar.cpp +++ b/src/tests/testProgressBar/testProgressBar.cpp @@ -36,7 +36,7 @@ void progressBarFunction(Canvas& can, int numThreads) { can.add(pb); for (int i = 0; i < SEGS; ++i) { float w = pb->getWidth(); - bg->drawText(pb->getCenterX() - w/2 + i*w/SEGS + 10, pb->getCenterY() + pb->getHeight()+8, 0, std::to_wstring(i), "./assets/freefont/FreeSerif.ttf", 36, 0,0,0, BLACK); + bg->drawText(pb->getCenterX() - w/2 + i*w/SEGS + 10, pb->getCenterY() + pb->getHeight()+8, 0, std::to_wstring(i), FONT, 36, 0,0,0, BLACK); } while (can.isOpen()) { // Checks to see if the window has been closed can.sleep(); //Removed the timer and replaced it with an internal timer in the Canvas class diff --git a/src/tests/testProjectiles/Makefile b/src/tests/testProjectiles/Makefile index 3380f3937..e6ad064c2 100644 --- a/src/tests/testProjectiles/Makefile +++ b/src/tests/testProjectiles/Makefile @@ -43,26 +43,11 @@ BREW := -lomp -I"$(brew --prefix libomp)/include" endif CXXFLAGS = -O3 -g3 -ggdb3 \ - -Wall -Wextra \ - -D__GXX_EXPERIMENTAL_CXX0X__ \ - -I/usr/local/include/Cellar/glfw3/3.3/include/ \ - -I/usr/local/include/TSGL \ - -I/usr/local/include \ - -I/usr/local/include/freetype2 \ - -I/usr/local/include/freetype2/freetype \ - $(NOWARN)\ - -std=c++11\ - -Wc++11-compat\ - -I/opt/AMDAPP/include/ \ - -I/usr/include/c++/4.6/ \ - -I/usr/include/c++/4.6/x86_64-linux-gnu/ \ - -I/usr/lib/gcc/x86_64-linux-gnu/9/include/ \ - -I/usr/include \ - -I/usr/include/freetype2 \ - -I/usr/include/freetype2/freetype \ + -I$(TSGL_HOME)/include/TSGL \ + -I$(TSGL_HOME)/include/freetype2 \ LFLAGS = -g -ltsgl -lfreetype -lGLEW -lglfw $(GL_FLAGS) -fopenmp \ - $(BREW) -L/usr/local/lib \ + $(BREW) -L$(TSGL_HOME)/lib \ # **************************************************** @@ -84,4 +69,4 @@ clean: @tput setaf 5; @echo "*************** All output files removed from $(DIR)! ***************" @tput sgr0; - @echo "" \ No newline at end of file + @echo "" diff --git a/src/tests/testPyramid/Makefile b/src/tests/testPyramid/Makefile index 242b053c7..1bbe7571e 100644 --- a/src/tests/testPyramid/Makefile +++ b/src/tests/testPyramid/Makefile @@ -43,26 +43,11 @@ BREW := -lomp -I"$(brew --prefix libomp)/include" endif CXXFLAGS = -O3 -g3 -ggdb3 \ - -Wall -Wextra \ - -D__GXX_EXPERIMENTAL_CXX0X__ \ - -I/usr/local/include/Cellar/glfw3/3.3/include/ \ - -I/usr/local/include/TSGL \ - -I/usr/local/include \ - -I/usr/local/include/freetype2 \ - -I/usr/local/include/freetype2/freetype \ - $(NOWARN)\ - -std=c++11\ - -Wc++11-compat\ - -I/opt/AMDAPP/include/ \ - -I/usr/include/c++/4.6/ \ - -I/usr/include/c++/4.6/x86_64-linux-gnu/ \ - -I/usr/lib/gcc/x86_64-linux-gnu/9/include/ \ - -I/usr/include \ - -I/usr/include/freetype2 \ - -I/usr/include/freetype2/freetype \ + -I$(TSGL_HOME)/include/TSGL \ + -I$(TSGL_HOME)/include/freetype2 \ LFLAGS = -g -ltsgl -lfreetype -lGLEW -lglfw $(GL_FLAGS) -fopenmp \ - $(BREW) -L/usr/local/lib \ + $(BREW) -L$(TSGL_HOME)/lib \ # **************************************************** @@ -84,4 +69,4 @@ clean: @tput setaf 5; @echo "*************** All output files removed from $(DIR)! ***************" @tput sgr0; - @echo "" \ No newline at end of file + @echo "" diff --git a/src/tests/testRectangle/Makefile b/src/tests/testRectangle/Makefile index 00172d982..b0425c3ed 100644 --- a/src/tests/testRectangle/Makefile +++ b/src/tests/testRectangle/Makefile @@ -43,26 +43,11 @@ BREW := -lomp -I"$(brew --prefix libomp)/include" endif CXXFLAGS = -O3 -g3 -ggdb3 \ - -Wall -Wextra \ - -D__GXX_EXPERIMENTAL_CXX0X__ \ - -I/usr/local/include/Cellar/glfw3/3.3/include/ \ - -I/usr/local/include/TSGL \ - -I/usr/local/include \ - -I/usr/local/include/freetype2 \ - -I/usr/local/include/freetype2/freetype \ - $(NOWARN)\ - -std=c++11\ - -Wc++11-compat\ - -I/opt/AMDAPP/include/ \ - -I/usr/include/c++/4.6/ \ - -I/usr/include/c++/4.6/x86_64-linux-gnu/ \ - -I/usr/lib/gcc/x86_64-linux-gnu/9/include/ \ - -I/usr/include \ - -I/usr/include/freetype2 \ - -I/usr/include/freetype2/freetype \ + -I$(TSGL_HOME)/include/TSGL \ + -I$(TSGL_HOME)/include/freetype2 \ LFLAGS = -g -ltsgl -lfreetype -lGLEW -lglfw $(GL_FLAGS) -fopenmp \ - $(BREW) -L/usr/local/lib \ + $(BREW) -L$(TSGL_HOME)/lib \ # **************************************************** @@ -84,4 +69,4 @@ clean: @tput setaf 5; @echo "*************** All output files removed from $(DIR)! ***************" @tput sgr0; - @echo "" \ No newline at end of file + @echo "" diff --git a/src/tests/testRegularPolygon/Makefile b/src/tests/testRegularPolygon/Makefile index 868937e75..a52d3a472 100644 --- a/src/tests/testRegularPolygon/Makefile +++ b/src/tests/testRegularPolygon/Makefile @@ -43,26 +43,11 @@ BREW := -lomp -I"$(brew --prefix libomp)/include" endif CXXFLAGS = -O3 -g3 -ggdb3 \ - -Wall -Wextra \ - -D__GXX_EXPERIMENTAL_CXX0X__ \ - -I/usr/local/include/Cellar/glfw3/3.3/include/ \ - -I/usr/local/include/TSGL \ - -I/usr/local/include \ - -I/usr/local/include/freetype2 \ - -I/usr/local/include/freetype2/freetype \ - $(NOWARN)\ - -std=c++11\ - -Wc++11-compat\ - -I/opt/AMDAPP/include/ \ - -I/usr/include/c++/4.6/ \ - -I/usr/include/c++/4.6/x86_64-linux-gnu/ \ - -I/usr/lib/gcc/x86_64-linux-gnu/9/include/ \ - -I/usr/include \ - -I/usr/include/freetype2 \ - -I/usr/include/freetype2/freetype \ + -I$(TSGL_HOME)/include/TSGL \ + -I$(TSGL_HOME)/include/freetype2 \ LFLAGS = -g -ltsgl -lfreetype -lGLEW -lglfw $(GL_FLAGS) -fopenmp \ - $(BREW) -L/usr/local/lib \ + $(BREW) -L$(TSGL_HOME)/lib \ # **************************************************** @@ -84,4 +69,4 @@ clean: @tput setaf 5; @echo "*************** All output files removed from $(DIR)! ***************" @tput sgr0; - @echo "" \ No newline at end of file + @echo "" diff --git a/src/tests/testScreenshot/Makefile b/src/tests/testScreenshot/Makefile index ad1fa2ebf..b4ac227a9 100644 --- a/src/tests/testScreenshot/Makefile +++ b/src/tests/testScreenshot/Makefile @@ -43,26 +43,11 @@ BREW := -lomp -I"$(brew --prefix libomp)/include" endif CXXFLAGS = -O3 -g3 -ggdb3 \ - -Wall -Wextra \ - -D__GXX_EXPERIMENTAL_CXX0X__ \ - -I/usr/local/include/Cellar/glfw3/3.3/include/ \ - -I/usr/local/include/TSGL \ - -I/usr/local/include \ - -I/usr/local/include/freetype2 \ - -I/usr/local/include/freetype2/freetype \ - $(NOWARN)\ - -std=c++11\ - -Wc++11-compat\ - -I/opt/AMDAPP/include/ \ - -I/usr/include/c++/4.6/ \ - -I/usr/include/c++/4.6/x86_64-linux-gnu/ \ - -I/usr/lib/gcc/x86_64-linux-gnu/9/include/ \ - -I/usr/include \ - -I/usr/include/freetype2 \ - -I/usr/include/freetype2/freetype \ + -I$(TSGL_HOME)/include/TSGL \ + -I$(TSGL_HOME)/include/freetype2 \ LFLAGS = -g -ltsgl -lfreetype -lGLEW -lglfw $(GL_FLAGS) -fopenmp \ - $(BREW) -L/usr/local/lib \ + $(BREW) -L$(TSGL_HOME)/lib \ # **************************************************** @@ -80,8 +65,9 @@ $(TARGET): $(OBJ) clean: $(RM) $(ODIR)/*.o $(ODIR) $(TARGET) + $(RM) *.png @echo "" @tput setaf 5; @echo "*************** All output files removed from $(DIR)! ***************" @tput sgr0; - @echo "" \ No newline at end of file + @echo "" diff --git a/src/tests/testScreenshot/testScreenshot.cpp b/src/tests/testScreenshot/testScreenshot.cpp index f3b751956..3255f5e1c 100644 --- a/src/tests/testScreenshot/testScreenshot.cpp +++ b/src/tests/testScreenshot/testScreenshot.cpp @@ -30,6 +30,9 @@ void screenShotFunction(Cart& can) { Background * bg = can.getBackground(); int xNew = can.getCartWidth() / 2, yNew = can.getCartHeight() / 2, xMid = xNew, yMid = yNew, xOld, yOld; can.recordForNumFrames(FPS * 30); + // can.takeScreenShot(); + // can.sleep(); + // can.takeScreenShot(); while (can.isOpen()) { // Checks to see if the window has been closed can.sleep(); xOld = xMid; diff --git a/src/tests/testSpectrogram/Makefile b/src/tests/testSpectrogram/Makefile index 993a84aa2..e5d062190 100644 --- a/src/tests/testSpectrogram/Makefile +++ b/src/tests/testSpectrogram/Makefile @@ -43,26 +43,11 @@ BREW := -lomp -I"$(brew --prefix libomp)/include" endif CXXFLAGS = -O3 -g3 -ggdb3 \ - -Wall -Wextra \ - -D__GXX_EXPERIMENTAL_CXX0X__ \ - -I/usr/local/include/Cellar/glfw3/3.3/include/ \ - -I/usr/local/include/TSGL \ - -I/usr/local/include \ - -I/usr/local/include/freetype2 \ - -I/usr/local/include/freetype2/freetype \ - $(NOWARN)\ - -std=c++11\ - -Wc++11-compat\ - -I/opt/AMDAPP/include/ \ - -I/usr/include/c++/4.6/ \ - -I/usr/include/c++/4.6/x86_64-linux-gnu/ \ - -I/usr/lib/gcc/x86_64-linux-gnu/9/include/ \ - -I/usr/include \ - -I/usr/include/freetype2 \ - -I/usr/include/freetype2/freetype \ + -I$(TSGL_HOME)/include/TSGL \ + -I$(TSGL_HOME)/include/freetype2 \ LFLAGS = -g -ltsgl -lfreetype -lGLEW -lglfw $(GL_FLAGS) -fopenmp \ - $(BREW) -L/usr/local/lib \ + $(BREW) -L$(TSGL_HOME)/lib \ # **************************************************** @@ -84,4 +69,4 @@ clean: @tput setaf 5; @echo "*************** All output files removed from $(DIR)! ***************" @tput sgr0; - @echo "" \ No newline at end of file + @echo "" diff --git a/src/tests/testSpectrogram/pics/colorful_cars.jpg b/src/tests/testSpectrogram/pics/colorful_cars.jpg new file mode 100644 index 000000000..b4b8114ba Binary files /dev/null and b/src/tests/testSpectrogram/pics/colorful_cars.jpg differ diff --git a/src/tests/testSpectrogram/testSpectrogram.cpp b/src/tests/testSpectrogram/testSpectrogram.cpp index 1de9fc85f..5d4fef5e1 100644 --- a/src/tests/testSpectrogram/testSpectrogram.cpp +++ b/src/tests/testSpectrogram/testSpectrogram.cpp @@ -79,7 +79,7 @@ void spectrogramFunction(Canvas& can, std::string fname) { //Takes command-line arguments for the file name of the picture to use in the spectrogram function int main(int argc, char* argv[]) { - std::string fname = argc > 1 ? argv[1] : "./assets/pics/colorful_cars.jpg"; + std::string fname = argc > 1 ? argv[1] : "pics/colorful_cars.jpg"; int w, h; Image::getFileResolution(fname,w,h); Canvas c(-1, Canvas::getDisplayHeight()-h, w, h ,"Spectrogram"); diff --git a/src/tests/testSpectrum/Makefile b/src/tests/testSpectrum/Makefile index 4faf57b31..8d7dec9f6 100644 --- a/src/tests/testSpectrum/Makefile +++ b/src/tests/testSpectrum/Makefile @@ -43,26 +43,11 @@ BREW := -lomp -I"$(brew --prefix libomp)/include" endif CXXFLAGS = -O3 -g3 -ggdb3 \ - -Wall -Wextra \ - -D__GXX_EXPERIMENTAL_CXX0X__ \ - -I/usr/local/include/Cellar/glfw3/3.3/include/ \ - -I/usr/local/include/TSGL \ - -I/usr/local/include \ - -I/usr/local/include/freetype2 \ - -I/usr/local/include/freetype2/freetype \ - $(NOWARN)\ - -std=c++11\ - -Wc++11-compat\ - -I/opt/AMDAPP/include/ \ - -I/usr/include/c++/4.6/ \ - -I/usr/include/c++/4.6/x86_64-linux-gnu/ \ - -I/usr/lib/gcc/x86_64-linux-gnu/9/include/ \ - -I/usr/include \ - -I/usr/include/freetype2 \ - -I/usr/include/freetype2/freetype \ + -I$(TSGL_HOME)/include/TSGL \ + -I$(TSGL_HOME)/include/freetype2 \ LFLAGS = -g -ltsgl -lfreetype -lGLEW -lglfw $(GL_FLAGS) -fopenmp \ - $(BREW) -L/usr/local/lib \ + $(BREW) -L$(TSGL_HOME)/lib \ # **************************************************** @@ -84,4 +69,4 @@ clean: @tput setaf 5; @echo "*************** All output files removed from $(DIR)! ***************" @tput sgr0; - @echo "" \ No newline at end of file + @echo "" diff --git a/src/tests/testSphere/Makefile b/src/tests/testSphere/Makefile index 0ca6836de..864704dac 100644 --- a/src/tests/testSphere/Makefile +++ b/src/tests/testSphere/Makefile @@ -43,26 +43,11 @@ BREW := -lomp -I"$(brew --prefix libomp)/include" endif CXXFLAGS = -O3 -g3 -ggdb3 \ - -Wall -Wextra \ - -D__GXX_EXPERIMENTAL_CXX0X__ \ - -I/usr/local/include/Cellar/glfw3/3.3/include/ \ - -I/usr/local/include/TSGL \ - -I/usr/local/include \ - -I/usr/local/include/freetype2 \ - -I/usr/local/include/freetype2/freetype \ - $(NOWARN)\ - -std=c++11\ - -Wc++11-compat\ - -I/opt/AMDAPP/include/ \ - -I/usr/include/c++/4.6/ \ - -I/usr/include/c++/4.6/x86_64-linux-gnu/ \ - -I/usr/lib/gcc/x86_64-linux-gnu/9/include/ \ - -I/usr/include \ - -I/usr/include/freetype2 \ - -I/usr/include/freetype2/freetype \ + -I$(TSGL_HOME)/include/TSGL \ + -I$(TSGL_HOME)/include/freetype2 \ LFLAGS = -g -ltsgl -lfreetype -lGLEW -lglfw $(GL_FLAGS) -fopenmp \ - $(BREW) -L/usr/local/lib \ + $(BREW) -L$(TSGL_HOME)/lib \ # **************************************************** @@ -84,4 +69,4 @@ clean: @tput setaf 5; @echo "*************** All output files removed from $(DIR)! ***************" @tput sgr0; - @echo "" \ No newline at end of file + @echo "" diff --git a/src/tests/testSquare/Makefile b/src/tests/testSquare/Makefile index b23802512..4fbb446a1 100644 --- a/src/tests/testSquare/Makefile +++ b/src/tests/testSquare/Makefile @@ -43,26 +43,11 @@ BREW := -lomp -I"$(brew --prefix libomp)/include" endif CXXFLAGS = -O3 -g3 -ggdb3 \ - -Wall -Wextra \ - -D__GXX_EXPERIMENTAL_CXX0X__ \ - -I/usr/local/include/Cellar/glfw3/3.3/include/ \ - -I/usr/local/include/TSGL \ - -I/usr/local/include \ - -I/usr/local/include/freetype2 \ - -I/usr/local/include/freetype2/freetype \ - $(NOWARN)\ - -std=c++11\ - -Wc++11-compat\ - -I/opt/AMDAPP/include/ \ - -I/usr/include/c++/4.6/ \ - -I/usr/include/c++/4.6/x86_64-linux-gnu/ \ - -I/usr/lib/gcc/x86_64-linux-gnu/9/include/ \ - -I/usr/include \ - -I/usr/include/freetype2 \ - -I/usr/include/freetype2/freetype \ + -I$(TSGL_HOME)/include/TSGL \ + -I$(TSGL_HOME)/include/freetype2 \ LFLAGS = -g -ltsgl -lfreetype -lGLEW -lglfw $(GL_FLAGS) -fopenmp \ - $(BREW) -L/usr/local/lib \ + $(BREW) -L$(TSGL_HOME)/lib \ # **************************************************** @@ -84,4 +69,4 @@ clean: @tput setaf 5; @echo "*************** All output files removed from $(DIR)! ***************" @tput sgr0; - @echo "" \ No newline at end of file + @echo "" diff --git a/src/tests/testStar/Makefile b/src/tests/testStar/Makefile index 027f2220a..d1f017d0f 100644 --- a/src/tests/testStar/Makefile +++ b/src/tests/testStar/Makefile @@ -43,26 +43,11 @@ BREW := -lomp -I"$(brew --prefix libomp)/include" endif CXXFLAGS = -O3 -g3 -ggdb3 \ - -Wall -Wextra \ - -D__GXX_EXPERIMENTAL_CXX0X__ \ - -I/usr/local/include/Cellar/glfw3/3.3/include/ \ - -I/usr/local/include/TSGL \ - -I/usr/local/include \ - -I/usr/local/include/freetype2 \ - -I/usr/local/include/freetype2/freetype \ - $(NOWARN)\ - -std=c++11\ - -Wc++11-compat\ - -I/opt/AMDAPP/include/ \ - -I/usr/include/c++/4.6/ \ - -I/usr/include/c++/4.6/x86_64-linux-gnu/ \ - -I/usr/lib/gcc/x86_64-linux-gnu/9/include/ \ - -I/usr/include \ - -I/usr/include/freetype2 \ - -I/usr/include/freetype2/freetype \ + -I$(TSGL_HOME)/include/TSGL \ + -I$(TSGL_HOME)/include/freetype2 \ LFLAGS = -g -ltsgl -lfreetype -lGLEW -lglfw $(GL_FLAGS) -fopenmp \ - $(BREW) -L/usr/local/lib \ + $(BREW) -L$(TSGL_HOME)/lib \ # **************************************************** @@ -84,4 +69,4 @@ clean: @tput setaf 5; @echo "*************** All output files removed from $(DIR)! ***************" @tput sgr0; - @echo "" \ No newline at end of file + @echo "" diff --git a/src/tests/testText/Makefile b/src/tests/testText/Makefile index 5113a495c..789e7e3f9 100644 --- a/src/tests/testText/Makefile +++ b/src/tests/testText/Makefile @@ -43,26 +43,11 @@ BREW := -lomp -I"$(brew --prefix libomp)/include" endif CXXFLAGS = -O3 -g3 -ggdb3 \ - -Wall -Wextra \ - -D__GXX_EXPERIMENTAL_CXX0X__ \ - -I/usr/local/include/Cellar/glfw3/3.3/include/ \ - -I/usr/local/include/TSGL \ - -I/usr/local/include \ - -I/usr/local/include/freetype2 \ - -I/usr/local/include/freetype2/freetype \ - $(NOWARN)\ - -std=c++11\ - -Wc++11-compat\ - -I/opt/AMDAPP/include/ \ - -I/usr/include/c++/4.6/ \ - -I/usr/include/c++/4.6/x86_64-linux-gnu/ \ - -I/usr/lib/gcc/x86_64-linux-gnu/9/include/ \ - -I/usr/include \ - -I/usr/include/freetype2 \ - -I/usr/include/freetype2/freetype \ + -I$(TSGL_HOME)/include/TSGL \ + -I$(TSGL_HOME)/include/freetype2 \ LFLAGS = -g -ltsgl -lfreetype -lGLEW -lglfw $(GL_FLAGS) -fopenmp \ - $(BREW) -L/usr/local/lib \ + $(BREW) -L$(TSGL_HOME)/lib \ # **************************************************** @@ -84,4 +69,4 @@ clean: @tput setaf 5; @echo "*************** All output files removed from $(DIR)! ***************" @tput sgr0; - @echo "" \ No newline at end of file + @echo "" diff --git a/src/tests/testText/testText.cpp b/src/tests/testText/testText.cpp index dbb4ec0dd..97aa8afa8 100644 --- a/src/tests/testText/testText.cpp +++ b/src/tests/testText/testText.cpp @@ -17,7 +17,7 @@ using namespace tsgl; * \param can Reference to the Canvas being drawn to. * \param font The font of the text. */ -void textFunction(Canvas& can, std::string font) { +void textFunction(Canvas& can, std::string FONT) { // can.drawText("A long time ago, in a galaxy far, far away.", 16, 50, 32, BLACK); // can.drawText("Something extraordinary happened.", 16, 150, 32, RED); // can.drawText("Something far more extraordinary than anything mankind has ever seen.", 16, 250, 32, GREEN); @@ -25,11 +25,11 @@ void textFunction(Canvas& can, std::string font) { // 32, BLUE); // can.drawText("Of *what* exactly that extraordinary event was.", 16, 450, 32, GRAY); // can.drawText("And to that I say...oh well.", 16, 550, 32, WHITE); - Text * lowercase = new Text(0,100,0,L"abcdefghijklmnopqrstuvwxyz", font, 40, 0,0,0,WHITE); + Text * lowercase = new Text(0,100,0,L"abcdefghijklmnopqrstuvwxyz", FONT, 40, 0,0,0,WHITE); can.add(lowercase); - Text * uppercase = new Text(0,50,0,L"ABCDEFGHIJKLMNOPQRSTUVWXYZ", font, 40, 0,0,0,WHITE); + Text * uppercase = new Text(0,50,0,L"ABCDEFGHIJKLMNOPQRSTUVWXYZ", FONT, 40, 0,0,0,WHITE); can.add(uppercase); - Text * random = new Text(0,-50,0,L"{:<>,./?+=+^üc", font, 40, 0,0,0,WHITE); + Text * random = new Text(0,-50,0,L"{:<>,./?+=+^üc", FONT, 40, 0,0,0,WHITE); // Rectangle * rec = new Rectangle(0,-53,0,random->getWidth(),random->getHeight(),0,0,0,GRAY); can.add(random); // can.add(rec); @@ -68,7 +68,7 @@ void textFunction(Canvas& can, std::string font) { int main(int argc, char * argv[]) { int w = (argc > 1) ? atoi(argv[1]) : 1.2f*Canvas::getDisplayHeight(); int h = (argc > 2) ? atoi(argv[2]) : 0.75f*w - 330.0f; - std::string font = (argc > 3) ? argv[3] : "./assets/freefont/FreeMono.ttf"; + std::string font = (argc > 3) ? argv[3] : FONT; if(w <= 0 || h <= 0) { //Check validity of width and height w = 1.2f*Canvas::getDisplayHeight(); h = 0.75f*w; diff --git a/src/tests/testTextCart/Makefile b/src/tests/testTextCart/Makefile index 889781ecb..05fc8fdf0 100644 --- a/src/tests/testTextCart/Makefile +++ b/src/tests/testTextCart/Makefile @@ -43,26 +43,11 @@ BREW := -lomp -I"$(brew --prefix libomp)/include" endif CXXFLAGS = -O3 -g3 -ggdb3 \ - -Wall -Wextra \ - -D__GXX_EXPERIMENTAL_CXX0X__ \ - -I/usr/local/include/Cellar/glfw3/3.3/include/ \ - -I/usr/local/include/TSGL \ - -I/usr/local/include \ - -I/usr/local/include/freetype2 \ - -I/usr/local/include/freetype2/freetype \ - $(NOWARN)\ - -std=c++11\ - -Wc++11-compat\ - -I/opt/AMDAPP/include/ \ - -I/usr/include/c++/4.6/ \ - -I/usr/include/c++/4.6/x86_64-linux-gnu/ \ - -I/usr/lib/gcc/x86_64-linux-gnu/9/include/ \ - -I/usr/include \ - -I/usr/include/freetype2 \ - -I/usr/include/freetype2/freetype \ + -I$(TSGL_HOME)/include/TSGL \ + -I$(TSGL_HOME)/include/freetype2 \ LFLAGS = -g -ltsgl -lfreetype -lGLEW -lglfw $(GL_FLAGS) -fopenmp \ - $(BREW) -L/usr/local/lib \ + $(BREW) -L$(TSGL_HOME)/lib \ # **************************************************** @@ -84,4 +69,4 @@ clean: @tput setaf 5; @echo "*************** All output files removed from $(DIR)! ***************" @tput sgr0; - @echo "" \ No newline at end of file + @echo "" diff --git a/src/tests/testTextCart/testTextCart.cpp b/src/tests/testTextCart/testTextCart.cpp index 1987729fe..154304024 100644 --- a/src/tests/testTextCart/testTextCart.cpp +++ b/src/tests/testTextCart/testTextCart.cpp @@ -14,18 +14,18 @@ using namespace tsgl; * \param can Reference to the CartesianCanvas being drawn to (Cart is a typedef for CartesianCanvas). * \param font The font of the text. */ -void textCartFunction(Cart& can, std::string font) { +void textCartFunction(Cart& can, std::string FONT) { CartesianBackground * cart = can.getBackground(); float w = can.getCartWidth(); float h = can.getCartHeight(); // Text * t = new Text(w/2, h/2, 0, L"1.5\u03C0", font, (float) 1/7, 0,0,0, BLACK); // can.add(t); - cart->drawText(w/2, h * 11/12, 0, L"A long time ago, in a galaxy far, far away.", font, (float) 3/14, 0,0,0, BLACK); - cart->drawText(w/2, h * 9/12, 0, L"Something extraordinary happened.", font, (float) 3/14, 0,0,0, BLACK); - cart->drawText(w/2, h * 7/12, 0, L"Something far more extraordinary than anything mankind has ever seen.", font, (float) 3/14, 0,0,0, BLACK); - cart->drawText(w/2, h * 5/12, 0, L"Unfortunately, as nobody was around to witness the event, we are largely ignorant", font, (float) 3/14, 0,0,0, BLACK); - cart->drawText(w/2, h * 3/12, 0, L"Of *what* exactly that extraordinary event was.", font, (float) 3/14, 0,0,0, BLACK); - cart->drawText(w/2, h * 1/12, 0, L"And to that I say...oh well.", font, (float) 3/14, 0,0,0, BLACK); + cart->drawText(w/2, h * 11/12, 0, L"A long time ago, in a galaxy far, far away.", FONT, (float) 3/14, 0,0,0, BLACK); + cart->drawText(w/2, h * 9/12, 0, L"Something extraordinary happened.", FONT, (float) 3/14, 0,0,0, BLACK); + cart->drawText(w/2, h * 7/12, 0, L"Something far more extraordinary than anything mankind has ever seen.", FONT, (float) 3/14, 0,0,0, BLACK); + cart->drawText(w/2, h * 5/12, 0, L"Unfortunately, as nobody was around to witness the event, we are largely ignorant", FONT, (float) 3/14, 0,0,0, BLACK); + cart->drawText(w/2, h * 3/12, 0, L"Of *what* exactly that extraordinary event was.", FONT, (float) 3/14, 0,0,0, BLACK); + cart->drawText(w/2, h * 1/12, 0, L"And to that I say...oh well.", FONT, (float) 3/14, 0,0,0, BLACK); while(can.isOpen()) { can.sleep(); } @@ -37,7 +37,6 @@ int main(int argc, char * argv[]) { //Width and height int w = 960; int h = 420; - std::string font = "./assets/freefont/FreeSerif.ttf";// argv[3]; //Font Cart c(-1, -1, w, h, 0, 0, 4, 3, "Text on a Cartesian Canvas"); - c.run(textCartFunction, font); + c.run(textCartFunction, FONT); } diff --git a/src/tests/testTextTwo/Makefile b/src/tests/testTextTwo/Makefile index d603aeaa9..acc601f37 100644 --- a/src/tests/testTextTwo/Makefile +++ b/src/tests/testTextTwo/Makefile @@ -43,26 +43,11 @@ BREW := -lomp -I"$(brew --prefix libomp)/include" endif CXXFLAGS = -O3 -g3 -ggdb3 \ - -Wall -Wextra \ - -D__GXX_EXPERIMENTAL_CXX0X__ \ - -I/usr/local/include/Cellar/glfw3/3.3/include/ \ - -I/usr/local/include/TSGL \ - -I/usr/local/include \ - -I/usr/local/include/freetype2 \ - -I/usr/local/include/freetype2/freetype \ - $(NOWARN)\ - -std=c++11\ - -Wc++11-compat\ - -I/opt/AMDAPP/include/ \ - -I/usr/include/c++/4.6/ \ - -I/usr/include/c++/4.6/x86_64-linux-gnu/ \ - -I/usr/lib/gcc/x86_64-linux-gnu/9/include/ \ - -I/usr/include \ - -I/usr/include/freetype2 \ - -I/usr/include/freetype2/freetype \ + -I$(TSGL_HOME)/include/TSGL \ + -I$(TSGL_HOME)/include/freetype2 \ LFLAGS = -g -ltsgl -lfreetype -lGLEW -lglfw $(GL_FLAGS) -fopenmp \ - $(BREW) -L/usr/local/lib \ + $(BREW) -L$(TSGL_HOME)/lib \ # **************************************************** @@ -84,4 +69,4 @@ clean: @tput setaf 5; @echo "*************** All output files removed from $(DIR)! ***************" @tput sgr0; - @echo "" \ No newline at end of file + @echo "" diff --git a/src/tests/testTextTwo/testTextTwo.cpp b/src/tests/testTextTwo/testTextTwo.cpp index b82c83ba0..f882a89c6 100644 --- a/src/tests/testTextTwo/testTextTwo.cpp +++ b/src/tests/testTextTwo/testTextTwo.cpp @@ -16,7 +16,7 @@ using namespace tsgl; void textFunctionTwo(Canvas& can) { Background * bg = can.getBackground(); float WW = can.getWindowWidth() / 2; float WH = can.getWindowHeight() / 2; - std::string font = "./assets/freefont/FreeSerif.ttf"; + std::string font = FONT; bg->drawText(0, WH * 5/6, 0, L"A long time ago, in a galaxy far, far away.", font, 30, 0,0,0, BLACK); bg->drawText(0, WH * 3/6, 0, L"Something extraordinary happened.", font, 30, 0,0,0, RED); bg->drawText(0, WH * 1/6, 0,L"Something far more extraordinary than anything mankind has ever seen.", font, 30, 0,0,0, GREEN); diff --git a/src/tests/testTransparency/Makefile b/src/tests/testTransparency/Makefile index b5c070f2b..8466a980d 100644 --- a/src/tests/testTransparency/Makefile +++ b/src/tests/testTransparency/Makefile @@ -43,26 +43,11 @@ BREW := -lomp -I"$(brew --prefix libomp)/include" endif CXXFLAGS = -O3 -g3 -ggdb3 \ - -Wall -Wextra \ - -D__GXX_EXPERIMENTAL_CXX0X__ \ - -I/usr/local/include/Cellar/glfw3/3.3/include/ \ - -I/usr/local/include/TSGL \ - -I/usr/local/include \ - -I/usr/local/include/freetype2 \ - -I/usr/local/include/freetype2/freetype \ - $(NOWARN)\ - -std=c++11\ - -Wc++11-compat\ - -I/opt/AMDAPP/include/ \ - -I/usr/include/c++/4.6/ \ - -I/usr/include/c++/4.6/x86_64-linux-gnu/ \ - -I/usr/lib/gcc/x86_64-linux-gnu/9/include/ \ - -I/usr/include \ - -I/usr/include/freetype2 \ - -I/usr/include/freetype2/freetype \ + -I$(TSGL_HOME)/include/TSGL \ + -I$(TSGL_HOME)/include/freetype2 \ LFLAGS = -g -ltsgl -lfreetype -lGLEW -lglfw $(GL_FLAGS) -fopenmp \ - $(BREW) -L/usr/local/lib \ + $(BREW) -L$(TSGL_HOME)/lib \ # **************************************************** @@ -84,4 +69,4 @@ clean: @tput setaf 5; @echo "*************** All output files removed from $(DIR)! ***************" @tput sgr0; - @echo "" \ No newline at end of file + @echo "" diff --git a/src/tests/testTriangle/Makefile b/src/tests/testTriangle/Makefile index f6a42058c..34c6406ad 100644 --- a/src/tests/testTriangle/Makefile +++ b/src/tests/testTriangle/Makefile @@ -43,26 +43,11 @@ BREW := -lomp -I"$(brew --prefix libomp)/include" endif CXXFLAGS = -O3 -g3 -ggdb3 \ - -Wall -Wextra \ - -D__GXX_EXPERIMENTAL_CXX0X__ \ - -I/usr/local/include/Cellar/glfw3/3.3/include/ \ - -I/usr/local/include/TSGL \ - -I/usr/local/include \ - -I/usr/local/include/freetype2 \ - -I/usr/local/include/freetype2/freetype \ - $(NOWARN)\ - -std=c++11\ - -Wc++11-compat\ - -I/opt/AMDAPP/include/ \ - -I/usr/include/c++/4.6/ \ - -I/usr/include/c++/4.6/x86_64-linux-gnu/ \ - -I/usr/lib/gcc/x86_64-linux-gnu/9/include/ \ - -I/usr/include \ - -I/usr/include/freetype2 \ - -I/usr/include/freetype2/freetype \ + -I$(TSGL_HOME)/include/TSGL \ + -I$(TSGL_HOME)/include/freetype2 \ LFLAGS = -g -ltsgl -lfreetype -lGLEW -lglfw $(GL_FLAGS) -fopenmp \ - $(BREW) -L/usr/local/lib \ + $(BREW) -L$(TSGL_HOME)/lib \ # **************************************************** @@ -84,4 +69,4 @@ clean: @tput setaf 5; @echo "*************** All output files removed from $(DIR)! ***************" @tput sgr0; - @echo "" \ No newline at end of file + @echo "" diff --git a/src/tests/testTriangleStrip/Makefile b/src/tests/testTriangleStrip/Makefile index 741365485..ba9bb9a2c 100644 --- a/src/tests/testTriangleStrip/Makefile +++ b/src/tests/testTriangleStrip/Makefile @@ -43,26 +43,11 @@ BREW := -lomp -I"$(brew --prefix libomp)/include" endif CXXFLAGS = -O3 -g3 -ggdb3 \ - -Wall -Wextra \ - -D__GXX_EXPERIMENTAL_CXX0X__ \ - -I/usr/local/include/Cellar/glfw3/3.3/include/ \ - -I/usr/local/include/TSGL \ - -I/usr/local/include \ - -I/usr/local/include/freetype2 \ - -I/usr/local/include/freetype2/freetype \ - $(NOWARN)\ - -std=c++11\ - -Wc++11-compat\ - -I/opt/AMDAPP/include/ \ - -I/usr/include/c++/4.6/ \ - -I/usr/include/c++/4.6/x86_64-linux-gnu/ \ - -I/usr/lib/gcc/x86_64-linux-gnu/9/include/ \ - -I/usr/include \ - -I/usr/include/freetype2 \ - -I/usr/include/freetype2/freetype \ + -I$(TSGL_HOME)/include/TSGL \ + -I$(TSGL_HOME)/include/freetype2 \ LFLAGS = -g -ltsgl -lfreetype -lGLEW -lglfw $(GL_FLAGS) -fopenmp \ - $(BREW) -L/usr/local/lib \ + $(BREW) -L$(TSGL_HOME)/lib \ # **************************************************** @@ -84,4 +69,4 @@ clean: @tput setaf 5; @echo "*************** All output files removed from $(DIR)! ***************" @tput sgr0; - @echo "" \ No newline at end of file + @echo "" diff --git a/src/tests/testUnits/Makefile b/src/tests/testUnits/Makefile index fc5fde6e4..1e6ba4ea7 100644 --- a/src/tests/testUnits/Makefile +++ b/src/tests/testUnits/Makefile @@ -43,26 +43,11 @@ BREW := -lomp -I"$(brew --prefix libomp)/include" endif CXXFLAGS = -O3 -g3 -ggdb3 \ - -Wall -Wextra \ - -D__GXX_EXPERIMENTAL_CXX0X__ \ - -I/usr/local/include/Cellar/glfw3/3.3/include/ \ - -I/usr/local/include/TSGL \ - -I/usr/local/include \ - -I/usr/local/include/freetype2 \ - -I/usr/local/include/freetype2/freetype \ - $(NOWARN)\ - -std=c++11\ - -Wc++11-compat\ - -I/opt/AMDAPP/include/ \ - -I/usr/include/c++/4.6/ \ - -I/usr/include/c++/4.6/x86_64-linux-gnu/ \ - -I/usr/lib/gcc/x86_64-linux-gnu/9/include/ \ - -I/usr/include \ - -I/usr/include/freetype2 \ - -I/usr/include/freetype2/freetype \ + -I$(TSGL_HOME)/include/TSGL \ + -I$(TSGL_HOME)/include/freetype2 \ LFLAGS = -g -ltsgl -lfreetype -lGLEW -lglfw $(GL_FLAGS) -fopenmp \ - $(BREW) -L/usr/local/lib \ + $(BREW) -L$(TSGL_HOME)/lib \ # **************************************************** @@ -84,4 +69,4 @@ clean: @tput setaf 5; @echo "*************** All output files removed from $(DIR)! ***************" @tput sgr0; - @echo "" \ No newline at end of file + @echo "" diff --git a/src/tests/test_specs/Makefile b/src/tests/test_specs/Makefile index 8725ae49b..3c7cebe71 100644 --- a/src/tests/test_specs/Makefile +++ b/src/tests/test_specs/Makefile @@ -42,26 +42,11 @@ BREW := -lomp -I"$(brew --prefix libomp)/include" endif CXXFLAGS = -O3 -g3 -ggdb3 \ - -Wall -Wextra \ - -D__GXX_EXPERIMENTAL_CXX0X__ \ - -I/usr/local/include/Cellar/glfw3/3.3/include/ \ - -I/usr/local/include/TSGL \ - -I/usr/local/include \ - -I/usr/local/include/freetype2 \ - -I/usr/local/include/freetype2/freetype \ - $(NOWARN)\ - -std=c++11\ - -Wc++11-compat\ - -I/opt/AMDAPP/include/ \ - -I/usr/include/c++/4.6/ \ - -I/usr/include/c++/4.6/x86_64-linux-gnu/ \ - -I/usr/lib/gcc/x86_64-linux-gnu/9/include/ \ - -I/usr/include \ - -I/usr/include/freetype2 \ - -I/usr/include/freetype2/freetype \ + -I$(TSGL_HOME)/include/TSGL \ + -I$(TSGL_HOME)/include/freetype2 \ LFLAGS = -g -ltsgl -lfreetype -lGLEW -lglfw $(GL_FLAGS) -fopenmp \ - $(BREW) -L/usr/local/lib \ + $(BREW) -L$(TSGL_HOME)/lib \ # **************************************************** @@ -83,4 +68,4 @@ clean: @tput setaf 5; @echo "*************** All output files removed from $(DIR)! ***************" @tput sgr0; - @echo "" \ No newline at end of file + @echo "" diff --git a/src/tests/test_specs/obj/test_specs.o b/src/tests/test_specs/obj/test_specs.o new file mode 100644 index 000000000..700945516 Binary files /dev/null and b/src/tests/test_specs/obj/test_specs.o differ diff --git a/src/tsgl.h b/src/tsgl.h new file mode 100644 index 000000000..52e1a5c94 --- /dev/null +++ b/src/tsgl.h @@ -0,0 +1,30 @@ +/* + * tsgl.h + */ + +#ifndef TSGL_H_ +#define TSGL_H_ + +#ifdef _WIN32 + #define _CRT_SECURE_NO_DEPRECATE //To avoid issues with fopen, http://stackoverflow.com/questions/14386/fopen-deprecated-warning +#endif + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace tsgl { + +const std::string TSGL_HOME_PATH = std::getenv("TSGL_HOME"); +const std::string TSGL_DEFAULT_FONT_PATH = std::getenv("TSGL_DEFAULT_FONT"); +const std::string FONT = TSGL_HOME_PATH + TSGL_DEFAULT_FONT_PATH; + +} +#endif /* TSGL_H_ */ diff --git a/uninstall-centos b/uninstall-centos index 2741c57b2..eb956c62b 100755 --- a/uninstall-centos +++ b/uninstall-centos @@ -4,10 +4,10 @@ sudo make clean sudo rm -rf bin lib -sudo rm -rf /usr/local/include/TSGL -sudo rm /usr/local/lib/libtsgl.* +sudo rm -rf /usr/include/TSGL +sudo rm /usr/lib/libtsgl.* #Remove the symlink made by install-centos -sudo unlink /usr/local/lib/libGl.so +sudo unlink /usr/lib/libGl.so echo "Uninstall complete! Please re-run install-centos.sh if you wish to install again!" diff --git a/uninstall-cygwin b/uninstall-cygwin index bc8a7d692..ae4d7c7d8 100644 --- a/uninstall-cygwin +++ b/uninstall-cygwin @@ -7,10 +7,10 @@ make clean rm -rf bin lib #Take out the TSGL lib.a and lib.so files -rm /usr/local/lib/libtsgl.* +rm /usr/lib/libtsgl.* #Take out the TSGL folder containing the .h files -rm -rf /usr/local/include/TSGL +rm -rf /usr/include/TSGL #Done. echo "\n Uninstall complete!\n" diff --git a/uninstall-fedora b/uninstall-fedora index 56270ef78..09648144a 100755 --- a/uninstall-fedora +++ b/uninstall-fedora @@ -4,8 +4,8 @@ sudo make clean sudo rm -rf bin lib -sudo rm -rf /usr/local/include/TSGL -sudo rm /usr/local/lib/libtsgl.* +sudo rm -rf /usr/include/TSGL +sudo rm /usr/lib/libtsgl.* #Remove the symlink made by install-fedora sudo unlink /usr/lib64/libGL.so diff --git a/uninstall-mac b/uninstall-mac index 288e682b9..55100e8e2 100755 --- a/uninstall-mac +++ b/uninstall-mac @@ -7,23 +7,23 @@ make clean #Remove the bin and lib folders rm -rf bin lib -#Remove the copy of stb from /usr/local/include -sudo rm -rf /usr/local/include/stb +#Remove the copy of stb from /usr/include +sudo rm -rf /usr/include/stb #Take out the TSGL header files -sudo rm -rf /usr/local/include/TSGL +sudo rm -rf /usr/include/TSGL #Take out the TSGL lib files -rm /usr/local/lib/libtsgl.* +rm /usr/lib/libtsgl.* #Check if we need to move the old g++ compiler back into place -if [ -e /usr/local/bin/g++old ]; +if [ -e /usr/bin/g++old ]; then - sudo unlink /usr/local/bin/g++ - sudo unlink /usr/local/bin/gcc + sudo unlink /usr/bin/g++ + sudo unlink /usr/bin/gcc - sudo mv /usr/local/bin/g++old /usr/local/bin/g++ - sudo mv /usr/local/bin/gccold /usr/local/bin/gcc + sudo mv /usr/bin/g++old /usr/bin/g++ + sudo mv /usr/bin/gccold /usr/bin/gcc fi diff --git a/uninstall-ubuntu b/uninstall-ubuntu index cfb7f530f..b7f61831d 100755 --- a/uninstall-ubuntu +++ b/uninstall-ubuntu @@ -7,10 +7,10 @@ sudo make clean sudo rm -rf bin lib #Take out the TSGL lib.a and lib.so files -sudo rm /usr/local/lib/libtsgl.* +sudo rm /usr/lib/libtsgl.* #Take out the TSGL folder containing the .h files -sudo rm -rf /usr/local/include/TSGL +sudo rm -rf /usr/include/TSGL #Done. echo "\n Uninstall complete!\n" diff --git a/wiki_media/Background.jpg b/wiki_media/Background.jpg new file mode 100644 index 000000000..2d5138dc4 Binary files /dev/null and b/wiki_media/Background.jpg differ diff --git a/wiki_media/Tutorial10_Animation1.gif b/wiki_media/Tutorial10_Animation1.gif new file mode 100644 index 000000000..517faac19 Binary files /dev/null and b/wiki_media/Tutorial10_Animation1.gif differ diff --git a/wiki_media/Tutorial10_Animation2.gif b/wiki_media/Tutorial10_Animation2.gif new file mode 100644 index 000000000..b0a65355b Binary files /dev/null and b/wiki_media/Tutorial10_Animation2.gif differ diff --git a/wiki_media/Tutorial10_Animation3.gif b/wiki_media/Tutorial10_Animation3.gif new file mode 100644 index 000000000..3342fe350 Binary files /dev/null and b/wiki_media/Tutorial10_Animation3.gif differ diff --git a/wiki_media/Tutorial10_Animation4.gif b/wiki_media/Tutorial10_Animation4.gif new file mode 100644 index 000000000..827c5f2ec Binary files /dev/null and b/wiki_media/Tutorial10_Animation4.gif differ diff --git a/wiki_media/Tutorial11_3D_pitch.jpg b/wiki_media/Tutorial11_3D_pitch.jpg new file mode 100644 index 000000000..8b91752c0 Binary files /dev/null and b/wiki_media/Tutorial11_3D_pitch.jpg differ diff --git a/wiki_media/Tutorial11_3D_roll.jpg b/wiki_media/Tutorial11_3D_roll.jpg new file mode 100644 index 000000000..f7ee9accf Binary files /dev/null and b/wiki_media/Tutorial11_3D_roll.jpg differ diff --git a/wiki_media/Tutorial11_3D_square.jpg b/wiki_media/Tutorial11_3D_square.jpg new file mode 100644 index 000000000..1af4301bd Binary files /dev/null and b/wiki_media/Tutorial11_3D_square.jpg differ diff --git a/wiki_media/Tutorial11_3D_yaw.jpg b/wiki_media/Tutorial11_3D_yaw.jpg new file mode 100644 index 000000000..dc9744287 Binary files /dev/null and b/wiki_media/Tutorial11_3D_yaw.jpg differ diff --git a/wiki_media/Tutorial11_axes.png b/wiki_media/Tutorial11_axes.png new file mode 100644 index 000000000..80e4ddecb Binary files /dev/null and b/wiki_media/Tutorial11_axes.png differ diff --git a/wiki_media/Tutorial12_Animation1.gif b/wiki_media/Tutorial12_Animation1.gif new file mode 100644 index 000000000..391f6c915 Binary files /dev/null and b/wiki_media/Tutorial12_Animation1.gif differ diff --git a/wiki_media/Tutorial12_Animation2.gif b/wiki_media/Tutorial12_Animation2.gif new file mode 100644 index 000000000..44c360cd6 Binary files /dev/null and b/wiki_media/Tutorial12_Animation2.gif differ diff --git a/wiki_media/Tutorial12_Animation3.gif b/wiki_media/Tutorial12_Animation3.gif new file mode 100644 index 000000000..8e072eb2b Binary files /dev/null and b/wiki_media/Tutorial12_Animation3.gif differ diff --git a/wiki_media/Tutorial13_move.gif b/wiki_media/Tutorial13_move.gif new file mode 100644 index 000000000..5c86a92e5 Binary files /dev/null and b/wiki_media/Tutorial13_move.gif differ diff --git a/wiki_media/Tutorial13_rotation.gif b/wiki_media/Tutorial13_rotation.gif new file mode 100644 index 000000000..2c423d772 Binary files /dev/null and b/wiki_media/Tutorial13_rotation.gif differ diff --git a/wiki_media/Tutorial2.png b/wiki_media/Tutorial2.png new file mode 100644 index 000000000..cabfcc09a Binary files /dev/null and b/wiki_media/Tutorial2.png differ diff --git a/wiki_media/Tutorial3_Circle.png b/wiki_media/Tutorial3_Circle.png new file mode 100644 index 000000000..a850c9faa Binary files /dev/null and b/wiki_media/Tutorial3_Circle.png differ diff --git a/wiki_media/Tutorial3_Shapes.png b/wiki_media/Tutorial3_Shapes.png new file mode 100644 index 000000000..3621ea9ea Binary files /dev/null and b/wiki_media/Tutorial3_Shapes.png differ diff --git a/wiki_media/Tutorial3_Shapes2.png b/wiki_media/Tutorial3_Shapes2.png new file mode 100644 index 000000000..42427f1a4 Binary files /dev/null and b/wiki_media/Tutorial3_Shapes2.png differ diff --git a/wiki_media/Tutorial4_image.jpg b/wiki_media/Tutorial4_image.jpg new file mode 100644 index 000000000..a96598019 Binary files /dev/null and b/wiki_media/Tutorial4_image.jpg differ diff --git a/wiki_media/Tutorial4_text&image.jpg b/wiki_media/Tutorial4_text&image.jpg new file mode 100644 index 000000000..39120e13f Binary files /dev/null and b/wiki_media/Tutorial4_text&image.jpg differ diff --git a/wiki_media/Tutorial4_text.jpg b/wiki_media/Tutorial4_text.jpg new file mode 100644 index 000000000..d88318e1c Binary files /dev/null and b/wiki_media/Tutorial4_text.jpg differ diff --git a/wiki_media/Tutorial5_color.jpg b/wiki_media/Tutorial5_color.jpg new file mode 100644 index 000000000..4497f935a Binary files /dev/null and b/wiki_media/Tutorial5_color.jpg differ diff --git a/wiki_media/Tutorial6_Animation1.gif b/wiki_media/Tutorial6_Animation1.gif new file mode 100644 index 000000000..d41eb60bd Binary files /dev/null and b/wiki_media/Tutorial6_Animation1.gif differ diff --git a/wiki_media/Tutorial6_Animation2.gif b/wiki_media/Tutorial6_Animation2.gif new file mode 100644 index 000000000..71881f7af Binary files /dev/null and b/wiki_media/Tutorial6_Animation2.gif differ diff --git a/wiki_media/Tutorial6_Animation3.gif b/wiki_media/Tutorial6_Animation3.gif new file mode 100644 index 000000000..e13810f73 Binary files /dev/null and b/wiki_media/Tutorial6_Animation3.gif differ diff --git a/wiki_media/Tutorial6_Circle.png b/wiki_media/Tutorial6_Circle.png new file mode 100644 index 000000000..f2994b239 Binary files /dev/null and b/wiki_media/Tutorial6_Circle.png differ diff --git a/wiki_media/Tutorial7_axes.jpg b/wiki_media/Tutorial7_axes.jpg new file mode 100644 index 000000000..d4bbf1b58 Binary files /dev/null and b/wiki_media/Tutorial7_axes.jpg differ diff --git a/wiki_media/Tutorial7_cotangent.jpg b/wiki_media/Tutorial7_cotangent.jpg new file mode 100644 index 000000000..dc2752e9e Binary files /dev/null and b/wiki_media/Tutorial7_cotangent.jpg differ diff --git a/wiki_media/Tutorial8_Animation1.gif b/wiki_media/Tutorial8_Animation1.gif new file mode 100644 index 000000000..5e62bedaa Binary files /dev/null and b/wiki_media/Tutorial8_Animation1.gif differ diff --git a/wiki_media/Tutorial8_Animation2.gif b/wiki_media/Tutorial8_Animation2.gif new file mode 100644 index 000000000..62647554b Binary files /dev/null and b/wiki_media/Tutorial8_Animation2.gif differ diff --git a/wiki_media/Tutorial8_Animation3.gif b/wiki_media/Tutorial8_Animation3.gif new file mode 100644 index 000000000..9f8463305 Binary files /dev/null and b/wiki_media/Tutorial8_Animation3.gif differ diff --git a/wiki_media/Tutorial9.png b/wiki_media/Tutorial9.png new file mode 100644 index 000000000..7af78ea0f Binary files /dev/null and b/wiki_media/Tutorial9.png differ diff --git a/wiki_media/Tutorial9_Command1.png b/wiki_media/Tutorial9_Command1.png new file mode 100644 index 000000000..daf1002d8 Binary files /dev/null and b/wiki_media/Tutorial9_Command1.png differ diff --git a/wiki_media/Tutorial9_Command2.png b/wiki_media/Tutorial9_Command2.png new file mode 100644 index 000000000..4eebf066d Binary files /dev/null and b/wiki_media/Tutorial9_Command2.png differ diff --git a/winVS2015/Debug/freetype6.dll b/winVS2015/Debug/freetype6.dll deleted file mode 100644 index e35edc6bb..000000000 Binary files a/winVS2015/Debug/freetype6.dll and /dev/null differ diff --git a/winVS2015/Debug/zlib1.dll b/winVS2015/Debug/zlib1.dll deleted file mode 100644 index 076f50336..000000000 Binary files a/winVS2015/Debug/zlib1.dll and /dev/null differ diff --git a/winVS2015/setup/idp.iss b/winVS2015/setup/idp.iss deleted file mode 100644 index 3ac705530..000000000 --- a/winVS2015/setup/idp.iss +++ /dev/null @@ -1,504 +0,0 @@ -; Inno Download Plugin -; (c)2013 Mitrich Software -; http://mitrich.net23.net/ -; https://code.google.com/p/inno-download-plugin/ - -#define IDPROOT ExtractFilePath(__PATHFILENAME__) - -#ifdef UNICODE - #pragma include __INCLUDE__ + ";" + IDPROOT + "\unicode" -#else - #pragma include __INCLUDE__ + ";" + IDPROOT + "\ansi" -#endif - -; If IDPDEBUG is defined before including idp.iss, script will use debug version of idp.dll. -; Debug dll messages can be viewed with SysInternals DebugView (http://technet.microsoft.com/en-us/sysinternals/bb896647.aspx) -#ifdef IDPDEBUG - #define DBGSUFFIX " debug" -#else - #define DBGSUFFIX -#endif - -[Files] -#ifdef UNICODE -Source: "{#IDPROOT}\unicode{#DBGSUFFIX}\idp.dll"; Flags: dontcopy; -#else -Source: "{#IDPROOT}\ansi{#DBGSUFFIX}\idp.dll"; Flags: dontcopy; -#endif - -[Code] -procedure idpAddFile(url, filename: String); external 'idpAddFile@files:idp.dll cdecl'; -procedure idpAddMirror(url, mirror: String); external 'idpAddMirror@files:idp.dll cdecl'; -procedure idpClearFiles; external 'idpClearFiles@files:idp.dll cdecl'; -function idpFilesCount: Integer; external 'idpFilesCount@files:idp.dll cdecl'; -function idpFilesDownloaded: Boolean; external 'idpFilesDownloaded@files:idp.dll cdecl'; -function idpDownloadFile(url, filename: String): Boolean; external 'idpDownloadFile@files:idp.dll cdecl'; -function idpDownloadFiles: Boolean; external 'idpDownloadFiles@files:idp.dll cdecl'; -procedure idpStartDownload; external 'idpStartDownload@files:idp.dll cdecl'; -procedure idpStopDownload; external 'idpStopDownload@files:idp.dll cdecl'; -procedure idpConnectControl(name: String; Handle: HWND); external 'idpConnectControl@files:idp.dll cdecl'; -procedure idpAddMessage(name, message: String); external 'idpAddMessage@files:idp.dll cdecl'; -procedure idpSetInternalOption(name, value: String); external 'idpSetInternalOption@files:idp.dll cdecl'; -procedure idpSetDetailedMode(mode: Boolean); external 'idpSetDetailedMode@files:idp.dll cdecl'; - -#ifdef UNICODE -procedure idpAddFileSize(url, filename: String; size: Int64); external 'idpAddFileSize@files:idp.dll cdecl'; -function idpGetFileSize(url: String; var size: Int64): Boolean; external 'idpGetFileSize@files:idp.dll cdecl'; -function idpGetFilesSize(var size: Int64): Boolean; external 'idpGetFilesSize@files:idp.dll cdecl'; -#else -procedure idpAddFileSize(url, filename: String; size: Dword); external 'idpAddFileSize32@files:idp.dll cdecl'; -function idpGetFileSize(url: String; var size: Dword): Boolean; external 'idpGetFileSize32@files:idp.dll cdecl'; -function idpGetFilesSize(var size: Dword): Boolean; external 'idpGetFilesSize32@files:idp.dll cdecl'; -#endif - -type IDPFormRec = record - Page : TWizardPage; - TotalProgressBar : TNewProgressBar; - FileProgressBar : TNewProgressBar; - TotalProgressLabel: TNewStaticText; - CurrentFileLabel : TNewStaticText; - TotalDownloaded : TPanel; // TNewStaticText has no Alignment property to display right-aligned text, - FileDownloaded : TPanel; // TLabel has no Handle property, needed to interface with idp.dll - FileNameLabel : TNewStaticText; - SpeedLabel : TNewStaticText; - StatusLabel : TNewStaticText; - ElapsedTimeLabel : TNewStaticText; - RemainingTimeLabel: TNewStaticText; - FileName : TNewStaticText; - Speed : TNewStaticText; - Status : TNewStaticText; - ElapsedTime : TNewStaticText; - RemainingTime : TNewStaticText; - DetailsButton : TButton; - DetailsVisible : Boolean; - end; - - IDPOptionsRec = record - DetailedMode : Boolean; - NoDetailsButton: Boolean; - NoRetryButton : Boolean; - end; - -var IDPForm : IDPFormRec; - IDPOptions: IDPOptionsRec; - -function StrToBool(value: String): Boolean; -var s: String; -begin - s := LowerCase(value); - - if s = 'true' then result := true - else if s = 'yes' then result := true - else if s = 'y' then result := true - else if s = 'false' then result := false - else if s = 'no' then result := false - else if s = 'n' then result := false - else result := StrToInt(value) > 0; -end; - -procedure idpSetOption(name, value: String); -var key: String; -begin - key := LowerCase(name); - - if key = 'detailedmode' then IDPOptions.DetailedMode := StrToBool(value) - else if key = 'detailsbutton' then IDPOptions.NoDetailsButton := not StrToBool(value) - else if key = 'retrybutton' then - begin - IDPOptions.NoRetryButton := StrToInt(value) = 0; - idpSetInternalOption('RetryButton', value); - end - else - idpSetInternalOption(name, value); -end; - -procedure idpShowDetails(show: Boolean); -begin - IDPForm.FileProgressBar.Visible := show; - IDPForm.CurrentFileLabel.Visible := show; - IDPForm.FileDownloaded.Visible := show; - IDPForm.FileNameLabel.Visible := show; - IDPForm.SpeedLabel.Visible := show; - IDPForm.StatusLabel.Visible := show; - IDPForm.ElapsedTimeLabel.Visible := show; - IDPForm.RemainingTimeLabel.Visible := show; - IDPForm.FileName.Visible := show; - IDPForm.Speed.Visible := show; - IDPForm.Status.Visible := show; - IDPForm.ElapsedTime.Visible := show; - IDPForm.RemainingTime.Visible := show; - - IDPForm.DetailsVisible := show; - - if IDPForm.DetailsVisible then - begin - IDPForm.DetailsButton.Caption := ExpandConstant('{cm:IDP_HideButton}'); - IDPForm.DetailsButton.Top := ScaleY(184); - end - else - begin - IDPForm.DetailsButton.Caption := ExpandConstant('{cm:IDP_DetailsButton}'); - IDPForm.DetailsButton.Top := ScaleY(44); - end; - - idpSetDetailedMode(show); -end; - -procedure idpDetailsButtonClick(Sender: TObject); -begin - idpShowDetails(not IDPForm.DetailsVisible); -end; - -procedure idpFormActivate(Page: TWizardPage); -begin - if not IDPOptions.NoRetryButton then - WizardForm.BackButton.Caption := ExpandConstant('{cm:IDP_RetryButton}'); - - idpShowDetails(IDPOptions.DetailedMode); - IDPForm.DetailsButton.Visible := not IDPOptions.NoDetailsButton; - idpStartDownload; -end; - -function idpShouldSkipPage(Page: TWizardPage): Boolean; -begin - Result := (idpFilesCount = 0) or idpFilesDownloaded; -end; - -function idpBackButtonClick(Page: TWizardPage): Boolean; -begin - if not IDPOptions.NoRetryButton then // Retry button clicked - begin - idpStartDownload; - Result := False; - end - else - Result := true; -end; - -function idpNextButtonClick(Page: TWizardPage): Boolean; -begin - Result := True; -end; - -procedure idpCancelButtonClick(Page: TWizardPage; var Cancel, Confirm: Boolean); -begin - if MsgBox(SetupMessage(msgExitSetupMessage), mbConfirmation, MB_YESNO) = IDYES then - begin - IDPForm.Status.Caption := ExpandConstant('{cm:IDP_CancellingDownload}'); - WizardForm.Repaint; - idpStopDownload; - Cancel := true; - Confirm := false; - end - else - Cancel := false; -end; - -function idpCreateDownloadForm(PreviousPageId: Integer): Integer; -begin - IDPForm.Page := CreateCustomPage(PreviousPageId, ExpandConstant('{cm:IDP_FormCaption}'), ExpandConstant('{cm:IDP_FormDescription}')); - - IDPForm.TotalProgressBar := TNewProgressBar.Create(IDPForm.Page); - with IDPForm.TotalProgressBar do - begin - Parent := IDPForm.Page.Surface; - Left := ScaleX(0); - Top := ScaleY(16); - Width := ScaleX(410); - Height := ScaleY(20); - Min := 0; - Max := 100; - end; - - IDPForm.TotalProgressLabel := TNewStaticText.Create(IDPForm.Page); - with IDPForm.TotalProgressLabel do - begin - Parent := IDPForm.Page.Surface; - Caption := ExpandConstant('{cm:IDP_TotalProgress}'); - Left := ScaleX(0); - Top := ScaleY(0); - Width := ScaleX(200); - Height := ScaleY(14); - AutoSize := False; - TabOrder := 1; - end; - - IDPForm.CurrentFileLabel := TNewStaticText.Create(IDPForm.Page); - with IDPForm.CurrentFileLabel do - begin - Parent := IDPForm.Page.Surface; - Caption := ExpandConstant('{cm:IDP_CurrentFile}'); - Left := ScaleX(0); - Top := ScaleY(48); - Width := ScaleX(200); - Height := ScaleY(14); - AutoSize := False; - TabOrder := 2; - end; - - IDPForm.FileProgressBar := TNewProgressBar.Create(IDPForm.Page); - with IDPForm.FileProgressBar do - begin - Parent := IDPForm.Page.Surface; - Left := ScaleX(0); - Top := ScaleY(64); - Width := ScaleX(410); - Height := ScaleY(20); - Min := 0; - Max := 100; - end; - - IDPForm.TotalDownloaded := TPanel.Create(IDPForm.Page); - with IDPForm.TotalDownloaded do - begin - Parent := IDPForm.Page.Surface; - Caption := ''; - Left := ScaleX(288); - Top := ScaleY(0); - Width := ScaleX(120); - Height := ScaleY(14); - Alignment := taRightJustify; - BevelOuter := bvNone; - ParentBackground := false; - TabOrder := 4; - end; - - IDPForm.FileDownloaded := TPanel.Create(IDPForm.Page); - with IDPForm.FileDownloaded do - begin - Parent := IDPForm.Page.Surface; - Caption := ''; - Left := ScaleX(288); - Top := ScaleY(48); - Width := ScaleX(120); - Height := ScaleY(14); - Alignment := taRightJustify; - BevelOuter := bvNone; - ParentBackground := false; - TabOrder := 5; - end; - - IDPForm.FileNameLabel := TNewStaticText.Create(IDPForm.Page); - with IDPForm.FileNameLabel do - begin - Parent := IDPForm.Page.Surface; - Caption := ExpandConstant('{cm:IDP_File}'); - Left := ScaleX(0); - Top := ScaleY(100); - Width := ScaleX(116); - Height := ScaleY(14); - AutoSize := False; - TabOrder := 6; - end; - - IDPForm.SpeedLabel := TNewStaticText.Create(IDPForm.Page); - with IDPForm.SpeedLabel do - begin - Parent := IDPForm.Page.Surface; - Caption := ExpandConstant('{cm:IDP_Speed}'); - Left := ScaleX(0); - Top := ScaleY(116); - Width := ScaleX(116); - Height := ScaleY(14); - AutoSize := False; - TabOrder := 7; - end; - - IDPForm.StatusLabel := TNewStaticText.Create(IDPForm.Page); - with IDPForm.StatusLabel do - begin - Parent := IDPForm.Page.Surface; - Caption := ExpandConstant('{cm:IDP_Status}'); - Left := ScaleX(0); - Top := ScaleY(132); - Width := ScaleX(116); - Height := ScaleY(14); - AutoSize := False; - TabOrder := 8; - end; - - IDPForm.ElapsedTimeLabel := TNewStaticText.Create(IDPForm.Page); - with IDPForm.ElapsedTimeLabel do - begin - Parent := IDPForm.Page.Surface; - Caption := ExpandConstant('{cm:IDP_ElapsedTime}'); - Left := ScaleX(0); - Top := ScaleY(148); - Width := ScaleX(116); - Height := ScaleY(14); - AutoSize := False; - TabOrder := 9; - end; - - IDPForm.RemainingTimeLabel := TNewStaticText.Create(IDPForm.Page); - with IDPForm.RemainingTimeLabel do - begin - Parent := IDPForm.Page.Surface; - Caption := ExpandConstant('{cm:IDP_RemainingTime}'); - Left := ScaleX(0); - Top := ScaleY(164); - Width := ScaleX(116); - Height := ScaleY(14); - AutoSize := False; - TabOrder := 10; - end; - - IDPForm.FileName := TNewStaticText.Create(IDPForm.Page); - with IDPForm.FileName do - begin - Parent := IDPForm.Page.Surface; - Caption := ''; - Left := ScaleX(120); - Top := ScaleY(100); - Width := ScaleX(180); - Height := ScaleY(14); - AutoSize := False; - TabOrder := 11; - end; - - IDPForm.Speed := TNewStaticText.Create(IDPForm.Page); - with IDPForm.Speed do - begin - Parent := IDPForm.Page.Surface; - Caption := ''; - Left := ScaleX(120); - Top := ScaleY(116); - Width := ScaleX(180); - Height := ScaleY(14); - AutoSize := False; - TabOrder := 12; - end; - - IDPForm.Status := TNewStaticText.Create(IDPForm.Page); - with IDPForm.Status do - begin - Parent := IDPForm.Page.Surface; - Caption := ''; - Left := ScaleX(120); - Top := ScaleY(132); - Width := ScaleX(180); - Height := ScaleY(14); - AutoSize := False; - TabOrder := 13; - end; - - IDPForm.ElapsedTime := TNewStaticText.Create(IDPForm.Page); - with IDPForm.ElapsedTime do - begin - Parent := IDPForm.Page.Surface; - Caption := ''; - Left := ScaleX(120); - Top := ScaleY(148); - Width := ScaleX(180); - Height := ScaleY(14); - AutoSize := False; - TabOrder := 14; - end; - - IDPForm.RemainingTime := TNewStaticText.Create(IDPForm.Page); - with IDPForm.RemainingTime do - begin - Parent := IDPForm.Page.Surface; - Caption := ''; - Left := ScaleX(120); - Top := ScaleY(164); - Width := ScaleX(180); - Height := ScaleY(14); - AutoSize := False; - TabOrder := 15; - end; - - IDPForm.DetailsButton := TButton.Create(IDPForm.Page); - with IDPForm.DetailsButton do - begin - Parent := IDPForm.Page.Surface; - Caption := ExpandConstant('{cm:IDP_DetailsButton}'); - Left := ScaleX(336); - Top := ScaleY(184); - Width := ScaleX(75); - Height := ScaleY(23); - TabOrder := 16; - OnClick := @idpDetailsButtonClick; - end; - - with IDPForm.Page do - begin - OnActivate := @idpFormActivate; - OnShouldSkipPage := @idpShouldSkipPage; - OnBackButtonClick := @idpBackButtonClick; - OnNextButtonClick := @idpNextButtonClick; - OnCancelButtonClick := @idpCancelButtonClick; - end; - - Result := IDPForm.Page.ID; -end; - -procedure idpConnectControls; -begin - idpConnectControl('TotalProgressLabel', IDPForm.TotalProgressLabel.Handle); - idpConnectControl('TotalProgressBar', IDPForm.TotalProgressBar.Handle); - idpConnectControl('FileProgressBar', IDPForm.FileProgressBar.Handle); - idpConnectControl('TotalDownloaded', IDPForm.TotalDownloaded.Handle); - idpConnectControl('FileDownloaded', IDPForm.FileDownloaded.Handle); - idpConnectControl('FileName', IDPForm.FileName.Handle); - idpConnectControl('Speed', IDPForm.Speed.Handle); - idpConnectControl('Status', IDPForm.Status.Handle); - idpConnectControl('ElapsedTime', IDPForm.ElapsedTime.Handle); - idpConnectControl('RemainingTime', IDPForm.RemainingTime.Handle); - idpConnectControl('WizardForm', WizardForm.Handle); - idpConnectControl('BackButton', WizardForm.BackButton.Handle); - idpConnectControl('NextButton', WizardForm.NextButton.Handle); -end; - -procedure idpInitMessages; -begin - idpAddMessage('Total progress', ExpandConstant('{cm:IDP_TotalProgress}')); - idpAddMessage('KB/s', ExpandConstant('{cm:IDP_KBs}')); - idpAddMessage('MB/s', ExpandConstant('{cm:IDP_MBs}')); - idpAddMessage('%.2f of %.2f', ExpandConstant('{cm:IDP_X_of_X}')); - idpAddMessage('KB', ExpandConstant('{cm:IDP_KB}')); - idpAddMessage('MB', ExpandConstant('{cm:IDP_MB}')); - idpAddMessage('GB', ExpandConstant('{cm:IDP_GB}')); - idpAddMessage('Initializing...', ExpandConstant('{cm:IDP_Initializing}')); - idpAddMessage('Getting file information...', ExpandConstant('{cm:IDP_GettingFileInformation}')); - idpAddMessage('Starting download...', ExpandConstant('{cm:IDP_StartingDownload}')); - idpAddMessage('Connecting...', ExpandConstant('{cm:IDP_Connecting}')); - idpAddMessage('Downloading...', ExpandConstant('{cm:IDP_Downloading}')); - idpAddMessage('Download complete', ExpandConstant('{cm:IDP_DownloadComplete}')); - idpAddMessage('Download failed', ExpandConstant('{cm:IDP_DownloadFailed}')); - idpAddMessage('Cannot connect', ExpandConstant('{cm:IDP_CannotConnect}')); - idpAddMessage('Unknown', ExpandConstant('{cm:IDP_Unknown}')); - idpAddMessage('Download cancelled', ExpandConstant('{cm:IDP_DownloadCancelled}')); - idpAddMessage('HTTP Error %d', ExpandConstant('{cm:IDP_HTTPError_X}')); - idpAddMessage('400', ExpandConstant('{cm:IDP_400}')); - idpAddMessage('401', ExpandConstant('{cm:IDP_401}')); - idpAddMessage('404', ExpandConstant('{cm:IDP_404}')); - idpAddMessage('500', ExpandConstant('{cm:IDP_500}')); - idpAddMessage('502', ExpandConstant('{cm:IDP_502}')); - idpAddMessage('503', ExpandConstant('{cm:IDP_503}')); - idpAddMessage('Check your connection and click ''Retry'' to try downloading the files again, or click ''Next'' to continue installing anyway.', ExpandConstant('{cm:IDP_RetryNext}')); - idpAddMessage('Check your connection and click ''Retry'' to try downloading the files again, or click ''Cancel'' to terminate setup.', ExpandConstant('{cm:IDP_RetryCancel}')); -end; - -procedure idpDownloadAfter(PageAfterId: Integer); -begin - idpCreateDownloadForm(PageAfterId); - idpConnectControls; - idpInitMessages; -end; - -#include - - C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.CppCommon.targets(171,5): error MSB6006: "cmd.exe" exited with code 9009 - - - - - - - - - - - - diff --git a/winVS2015/setup/tsgl-installVS2015.iss b/winVS2015/setup/tsgl-installVS2015.iss deleted file mode 100644 index 7d886bfc4..000000000 --- a/winVS2015/setup/tsgl-installVS2015.iss +++ /dev/null @@ -1,285 +0,0 @@ -; Script generated by the Inno Setup Script Wizard. -; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES! - -;TSGL - Windows installer script for VS 2015 -;Adapted from Patrick Crain's tsgl-install script - -[Setup] - -#define MyAppName "TSGL" -#define MyAppVerName "TSGL 1.1.2" -#define MyAppPublisher "Calvin College" -#define MyAppURL "cs.calvin.edu" - -#include - -[Setup] -AppName={#MyAppName} -AppVerName={#MyAppVerName} -AppPublisher={#MyAppPublisher} -AppPublisherURL={#MyAppURL} -AppSupportURL={#MyAppURL} -AppUpdatesURL={#MyAppURL} -DefaultDirName={src} -DefaultGroupName={#MyAppName} -OutputBaseFilename=tsgl-setupVS2015 -OutputDir=. -Compression=lzma -SolidCompression=true -CreateAppDir=true -ShowLanguageDialog=yes -Uninstallable = no -DirExistsWarning = no -SetupLogging=yes - -[Languages] -Name: english; MessagesFile: compiler:Default.isl - -[Code] -type - AllString = array[1..6] of String; - -var - ProgPage : TOutputProgressWizardPage; - dpaths: AllString; - dfiles: AllString; - msbuildpath: String; - appdir: String; - unzipcmd: String; - untarcmd: String; - cmakecmd: String; - msbuildcmd: String; - -procedure InitializeWizard(); -var - i: Integer; - file: String; - qpos: Integer; - A: AnsiString; - S: String; -begin - //Figure out where VS 2012's MSBuild is located; exit if we don't have VS 2012 - if not RegQueryStringValue(HKEY_LOCAL_MACHINE, 'SOFTWARE\Microsoft\MSBuild\ToolsVersions\14.0', 'MSBuildToolsPath', msbuildpath) then begin - MsgBox('You need Visual Studio 2015 to use this installer.',mbError,MB_OK); - Abort(); - end; - Log('MSBuild path: ' + msbuildpath); - - //From: http://stackoverflow.com/questions/23459059/how-to-show-progress-during-preparetoinstall - //The string msgWizardPreparing has the macro '[name]' inside that I have to replace with the name of my app, stored in a define constant of my script. - S := SetupMessage(msgPreparingDesc); - StringChange(S, '[name]', '{#MyAppName}'); - A := S; - ProgPage := CreateOutputProgressPage(SetupMessage(msgWizardPreparing), A); - - //Populate dpaths with the urls of the files we need - //(Note: SourceForge Links automatically redirect to mirrors, and GitHub has no mirrors) - dpaths[1] := 'http://downloads.sourceforge.net/project/gnuwin32/freetype/2.3.5-1/freetype-2.3.5-1-bin.zip'; - dpaths[2] := 'http://downloads.sourceforge.net/project/gnuwin32/freetype/2.3.5-1/freetype-2.3.5-1-dep.zip'; - dpaths[3] := 'http://downloads.sourceforge.net/project/glew/glew/1.12.0/glew-1.12.0.zip'; - dpaths[4] := 'https://github.com/glfw/glfw/releases/download/3.1.1/glfw-3.1.1.zip'; - dpaths[5] := 'https://github.com/nothings/stb/archive/master.zip'; - dpaths[6] := 'http://downloads.sourceforge.net/project/freeglut/freeglut/3.0.0/freeglut-3.0.0.tar.gz'; - - //Get the filenames from those paths - for i := 1 to 6 do begin - file := ExtractFileName(dpaths[i]); - qpos := Pos('?',file); - if (qpos > 0) then begin - dfiles[i] := Copy(file,0,qpos-1); - end - else begin - dfiles[i] := file; - end; - end; - - //Add urls for a few miscellaneous tools we'll be using (unzip, 7zip, and cmake) - idpAddFile('http://stahlworks.com/dev/unzip.exe', expandconstant('{tmp}\unzip.exe')); - idpAddFile('http://www.7-zip.org/a/7za920.zip', expandconstant('{tmp}\7za920.zip')); - idpAddFile('http://cmake.org/files/v3.4/cmake-3.4.3-win32-x86.zip', expandconstant('{tmp}\cmake-3.4.3-win32-x86.zip')); - //Add the files we specified above - for i := 1 to 6 do begin - idpAddFile(dpaths[i],expandconstant('{tmp}\') + dfiles[i]); - end; - - //Start the download after the "Ready to install" screen is shown - idpDownloadAfter(wpReady); - -end; - -procedure CurPageChanged(CurPageID: Integer); -begin - //If the downloader page was just shown, then... - if CurPageID = IDPForm.Page.ID then - begin - //Show the detail components... - idpShowDetails(True); - //...and hide the details button - IDPForm.DetailsButton.Visible := False; - end; -end; - -//Helper procedures -procedure Run(const Cmd, Par, Cwd: String); var R: Integer; begin Exec(Cmd, Par, Cwd, SW_SHOW, ewWaitUntilTerminated, R); end; -procedure Move(const Src, Dest: String); begin RenameFile(appdir + Src,appdir + Dest); end; -procedure Del(const Src: String); begin DeleteFile(appdir + Src); end; -procedure DelDir(const Src: String); begin DelTree(appdir + Src,True,True,True); end; -procedure Unzip(const Src, Dest: String); begin Run(unzipcmd, appdir + Src + ' -d ' + appdir + Dest, ''); end; -procedure Make(const Src: String); begin Run(cmakecmd, '-G"Visual Studio 14 2015" ' + appdir + Src, appdir + Src); end; -procedure Build(const Src: String); begin Run(msbuildcmd, appdir + Src + ' /p:VisualStudioVersion=14.0 /p:PlatformToolset=v140 ',''); end; -procedure Untar(const Src: String); var S: String; begin - Run(untarcmd, 'x ' + appdir + Src, ''); - S := Copy(Src,1,Length(Src)-3); - Run(untarcmd, 'x ' + appdir + S, ''); - Del(S); //Delete intermediate .tar file -end; - -function PrepareToInstall(var NeedsRestart: Boolean): String; -var - ResultCode: Integer; - i: Integer; - tmpdir: String; -begin - ProgPage.SetProgress(0, 100); - ProgPage.Show; - try begin - - // First preinstallation step: suppose to kill currently app you are going to update - ProgPage.SetText(('Creating directories'),''); - //Establish some useful commands C:\Program Files (x86)\MSBuild\14.0\bin\amd64\ - msbuildcmd := msbuildpath + 'MSBuild.exe'; - appdir := expandconstant('{app}\'); - tmpdir := expandconstant('{tmp}\'); - unzipcmd := appdir + 'unzip.exe'; - untarcmd := appdir + '7za.exe'; - cmakecmd := appdir + 'cmake\bin\cmake.exe'; - //Create some useful subdirectories - CreateDir(appdir); //Not always automatically created... - CreateDir(appdir + 'lib'); - CreateDir(appdir + 'include'); - CreateDir(appdir + 'ziplibs'); - //Copy files from tmp directory to working directory - ProgPage.SetText(('Copying files'),''); - ProgPage.SetProgress(5, 100); - FileCopy(tmpdir + 'unzip.exe',unzipcmd,false); - FileCopy(tmpdir + '7za920.zip',appdir + '7za920.zip',false); - FileCopy(tmpdir + 'cmake-3.4.3-win32-x86.zip',appdir + 'cmake-3.4.3-win32-x86.zip',false); - for i := 1 to 6 do begin - FileCopy(tmpdir + dfiles[i],appdir + dfiles[i],false); - end; - //Unpack 7zip - ProgPage.SetText(('Unpacking 7zip'),''); - ProgPage.SetProgress(10, 100); - Unzip('7za920.zip',''); - Del('7-zip.chm'); - Del('license.txt'); - Del('readme.txt'); - Del('7za920.zip'); - //Unpack CMake - ProgPage.SetText(('Unpacking Cmake'),''); - ProgPage.SetProgress(15, 100); - Unzip('cmake-3.4.3-win32-x86.zip',''); - Move('cmake-3.4.3-win32-x86','cmake'); - Del('cmake-3.4.3-win32-x86.zip'); - //[1] Unpack and move files from Freetype Binary Zip - ProgPage.SetText(('Installing Freetype'),''); - ProgPage.SetProgress(20, 100); - Unzip(dfiles[1],'freetype-2.3.5-1-bin'); - Move(dfiles[1],'ziplibs\' + dfiles[1]); - Move('freetype-2.3.5-1-bin\bin\freetype6.dll','lib\freetype6.dll'); - Move('freetype-2.3.5-1-bin\include\ft2build.h','include\ft2build.h'); - Move('freetype-2.3.5-1-bin\include\freetype2\freetype','include\freetype'); - Move('freetype-2.3.5-1-bin\lib\freetype.lib','lib\freetype.lib'); - DelDir('freetype-2.3.5-1-bin'); - //[2] Unpack and move files from Freetype Dependency Zip - Unzip(dfiles[2],'freetype-2.3.5-1-dep'); - Move(dfiles[2],'ziplibs\' + dfiles[2]); - Move('freetype-2.3.5-1-dep\bin\zlib1.dll','lib\zlib1.dll'); - DelDir('freetype-2.3.5-1-dep'); - //[3] Unpack and move files from GLEW - ProgPage.SetText(('Installing GLEW'),''); - ProgPage.SetProgress(30, 100); - Unzip(dfiles[3], ''); - Move(dfiles[3],'ziplibs\' + dfiles[3]); - Make('glew-1.12.0'); - ProgPage.SetProgress(33, 100); - Build('glew-1.12.0\build\vc12\glew_static.vcxproj'); - Move('glew-1.12.0\lib\Debug\Win32\glew32sd.lib','lib\glew32sd.lib'); - Move('glew-1.12.0\include\GL','include\GL'); - DelDir('glew-1.12.0'); - //[4] Unpack and move files from GLFW - ProgPage.SetText(('Installing GLFW'),''); - ProgPage.SetProgress(40, 100); - Unzip(dfiles[4],''); - Move(dfiles[4],'ziplibs\' + dfiles[4]); - Make('glfw-3.1.1'); - ProgPage.SetProgress(45, 100); - Build('glfw-3.1.1\GLFW.sln'); - Move('glfw-3.1.1\src\Debug\glfw3.lib','lib\glfw3.lib'); - Move('glfw-3.1.1\include\GLFW','include\GLFW'); - DelDir('glfw-3.1.1'); - //[5] Unpack and move files from STB - ProgPage.SetText(('Installing STB'),''); - ProgPage.SetProgress(60, 100); - Unzip(dfiles[5],''); - Move(dfiles[5],'ziplibs\' + dfiles[5]); - Move('stb-master','include\stb'); - //[6] Unpack and move files from FreeGLUT - ProgPage.SetText(('Installing FreeGLUT'),''); - ProgPage.SetProgress(65, 100); - Untar(dfiles[6]); - Move(dfiles[6],'ziplibs\' + dfiles[6]); - Make('freeglut-3.0.0'); - ProgPage.SetProgress(75, 100); - Build('freeglut-3.0.0\freeglut.sln'); - Move('freeglut-3.0.0\lib\Debug\freeglutd.lib','lib\freeglutd.lib'); - //(Manually moving these because the "GL" directory was already created by GLEW) - Move('freeglut-3.0.0\include\GL\freeglut.h','include\GL\freeglut.h'); - Move('freeglut-3.0.0\include\GL\freeglut_ext.h','include\GL\freeglut_ext.h'); - Move('freeglut-3.0.0\include\GL\freeglut_std.h','include\GL\freeglut_std.h'); - Move('freeglut-3.0.0\include\GL\glut.h','include\GL\glut.h'); - DelDir('freeglut-3.0.0'); - //Copy the remaining files in the windows folder - ProgPage.SetText(('Copying Visual Studio Files'),''); - ProgPage.SetProgress(95, 100); - //Altered for VS2015 - Move('winVS2015\readmetests.txt','readmetests.txt'); - Move('winVS2015\runtests.bat','runtests.bat'); - Move('winVS2015\testProperties.props','testProperties.props'); - Move('winVS2015\tsgl.sln','tsgl.sln'); - Move('winVS2015\tsgl.v14.suo','tsgl.v14.suo'); - Move('winVS2015\tsgl.vcxproj','tsgl.vcxproj'); - Move('winVS2015\tsgl.vcxproj.filters','tsgl.vcxproj.filters'); - Move('winVS2015\tsgl.vcxproj.user','tsgl.vcxproj.user'); - Move('winVS2015\vs2015','vs2015'); //Need to move this vs2012 folder to vs2015 after tsgl 2015 project is created - Move('winVS2015\Debug', 'Debug'); - //Cleanup - ProgPage.SetText(('Cleaning Up'),''); - ProgPage.SetProgress(99, 100); - Del('unzip.exe'); - Del('7za.exe'); - //We don't have VS 2012, so delete the old installer for it - Del('install-windows') - DelDir('cmake'); - //Altered for VS2015 - DelDir('windows'); - DelDir('winVS2015'); - end; - finally - ProgPage.Hide; - end; -end; - -procedure CurStepChanged(CurStep: TSetupStep); -var - i: Integer; - tmpdir: String; -begin - if CurStep = ssPostInstall then - begin - if MsgBox('Keep zipped libraries?', - mbConfirmation, MB_YESNO) = IDNO - then - DelDir('ziplibs'); - end; -end; diff --git a/winVS2015/testProperties.props b/winVS2015/testProperties.props deleted file mode 100644 index 19a0b4bc3..000000000 --- a/winVS2015/testProperties.props +++ /dev/null @@ -1,42 +0,0 @@ - - - - - $(SolutionDir)lib\ - $(SolutionDir)lib\ - $(SolutionDir)include\ - $(SolutionDir)lib\ - $(SolutionDir)src\TSGL\ - - - $(TsglSourceDir);$(TsglIncludeDir);$(IncludePath) - $(TsglLibDir);$(TsglExternalLibDir);$(LibraryPath) - $(Configuration)\$(TargetName)\ - <_PropertySheetDisplayName>testProperties - - - - tsgl.lib;freeglutd.lib;freetype.lib;glew32sd.lib;glfw3.lib;%(AdditionalDependencies) - - - true - - - - - $(TsglDllDir) - - - $(TsglExternalLibDir) - - - $(TsglIncludeDir) - - - $(TsglLibDir) - - - $(TsglSourceDir) - - - \ No newline at end of file diff --git a/winVS2015/tsgl.sln b/winVS2015/tsgl.sln deleted file mode 100644 index d88c52b32..000000000 --- a/winVS2015/tsgl.sln +++ /dev/null @@ -1,477 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio 14 -VisualStudioVersion = 14.0.25123.0 -MinimumVisualStudioVersion = 10.0.40219.1 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "tsgl", "tsgl.vcxproj", "{58EA8BD9-25C4-4C72-B522-78D13F01D5F1}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testAlphaRectangle", "vs2015\testAlphaRectangle.vcxproj", "{AFAF3F9F-66F4-4CF2-8D39-A2D2F07E3CD7}" - ProjectSection(ProjectDependencies) = postProject - {58EA8BD9-25C4-4C72-B522-78D13F01D5F1} = {58EA8BD9-25C4-4C72-B522-78D13F01D5F1} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testAura", "vs2015\testAura.vcxproj", "{53D73A43-D126-4391-931A-839049F51E4E}" - ProjectSection(ProjectDependencies) = postProject - {58EA8BD9-25C4-4C72-B522-78D13F01D5F1} = {58EA8BD9-25C4-4C72-B522-78D13F01D5F1} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testBallroom", "vs2015\testBallroom.vcxproj", "{DFE2695B-89AF-4B20-A9D0-016A72230CAA}" - ProjectSection(ProjectDependencies) = postProject - {58EA8BD9-25C4-4C72-B522-78D13F01D5F1} = {58EA8BD9-25C4-4C72-B522-78D13F01D5F1} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testBlurImage", "vs2015\testBlurImage.vcxproj", "{1054C3EC-0CED-4E73-BC2B-7DED881C0181}" - ProjectSection(ProjectDependencies) = postProject - {58EA8BD9-25C4-4C72-B522-78D13F01D5F1} = {58EA8BD9-25C4-4C72-B522-78D13F01D5F1} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testCalcPi", "vs2015\testCalcPi.vcxproj", "{9A4C1953-CB99-426A-97D7-13E1870259A2}" - ProjectSection(ProjectDependencies) = postProject - {58EA8BD9-25C4-4C72-B522-78D13F01D5F1} = {58EA8BD9-25C4-4C72-B522-78D13F01D5F1} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testColorPoints", "vs2015\testColorPoints.vcxproj", "{C9021074-DAEB-41BA-93B4-44327DD4CAB9}" - ProjectSection(ProjectDependencies) = postProject - {58EA8BD9-25C4-4C72-B522-78D13F01D5F1} = {58EA8BD9-25C4-4C72-B522-78D13F01D5F1} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testColorWheel", "vs2015\testColorWheel.vcxproj", "{0F41C511-F91A-4A60-A4CA-DF5DB53140FC}" - ProjectSection(ProjectDependencies) = postProject - {58EA8BD9-25C4-4C72-B522-78D13F01D5F1} = {58EA8BD9-25C4-4C72-B522-78D13F01D5F1} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testConcavePolygon", "vs2015\testConcavePolygon.vcxproj", "{ED93463C-70E6-4CFD-83A7-69ADA2EC6C02}" - ProjectSection(ProjectDependencies) = postProject - {58EA8BD9-25C4-4C72-B522-78D13F01D5F1} = {58EA8BD9-25C4-4C72-B522-78D13F01D5F1} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testConway", "vs2015\testConway.vcxproj", "{D976C0C5-C094-406E-AD70-D64F5C79C994}" - ProjectSection(ProjectDependencies) = postProject - {58EA8BD9-25C4-4C72-B522-78D13F01D5F1} = {58EA8BD9-25C4-4C72-B522-78D13F01D5F1} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testCosineIntegral", "vs2015\testCosineIntegral.vcxproj", "{504CBA8D-EA92-43CE-81C9-E43270805A7F}" - ProjectSection(ProjectDependencies) = postProject - {58EA8BD9-25C4-4C72-B522-78D13F01D5F1} = {58EA8BD9-25C4-4C72-B522-78D13F01D5F1} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testDumbSort", "vs2015\testDumbSort.vcxproj", "{8A4BDD81-FA5F-4631-9572-959AB79AF784}" - ProjectSection(ProjectDependencies) = postProject - {58EA8BD9-25C4-4C72-B522-78D13F01D5F1} = {58EA8BD9-25C4-4C72-B522-78D13F01D5F1} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testFireworks", "vs2015\testFireworks.vcxproj", "{D7E8F3B6-DB6C-4424-AE12-D825505C2C0A}" - ProjectSection(ProjectDependencies) = postProject - {58EA8BD9-25C4-4C72-B522-78D13F01D5F1} = {58EA8BD9-25C4-4C72-B522-78D13F01D5F1} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testForestFire", "vs2015\testForestFire.vcxproj", "{3CDA2E89-5B53-44BE-9504-DBEE01B1C92F}" - ProjectSection(ProjectDependencies) = postProject - {58EA8BD9-25C4-4C72-B522-78D13F01D5F1} = {58EA8BD9-25C4-4C72-B522-78D13F01D5F1} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testFunction", "vs2015\testFunction.vcxproj", "{0CCEBC78-F51C-4A79-86D0-42137BF00FB3}" - ProjectSection(ProjectDependencies) = postProject - {58EA8BD9-25C4-4C72-B522-78D13F01D5F1} = {58EA8BD9-25C4-4C72-B522-78D13F01D5F1} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testGetPixels", "vs2015\testGetPixels.vcxproj", "{D52C4C34-A1E4-4BE4-8CB7-C2BCA4DD9C02}" - ProjectSection(ProjectDependencies) = postProject - {58EA8BD9-25C4-4C72-B522-78D13F01D5F1} = {58EA8BD9-25C4-4C72-B522-78D13F01D5F1} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testGradientWheel", "vs2015\testGradientWheel.vcxproj", "{C79EFBD3-7E90-48E3-84B9-C713016D5A1D}" - ProjectSection(ProjectDependencies) = postProject - {58EA8BD9-25C4-4C72-B522-78D13F01D5F1} = {58EA8BD9-25C4-4C72-B522-78D13F01D5F1} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testGraydient", "vs2015\testGraydient.vcxproj", "{C0EF0243-3466-46C3-8D44-13F089052E84}" - ProjectSection(ProjectDependencies) = postProject - {58EA8BD9-25C4-4C72-B522-78D13F01D5F1} = {58EA8BD9-25C4-4C72-B522-78D13F01D5F1} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testGreyscale", "vs2015\testGreyscale.vcxproj", "{0D2545F6-BB1C-4EA2-8D45-B57BBB3F7A1F}" - ProjectSection(ProjectDependencies) = postProject - {58EA8BD9-25C4-4C72-B522-78D13F01D5F1} = {58EA8BD9-25C4-4C72-B522-78D13F01D5F1} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testHighData", "vs2015\testHighData.vcxproj", "{25B80A7F-BB1A-4784-AB72-A1431D8069A2}" - ProjectSection(ProjectDependencies) = postProject - {58EA8BD9-25C4-4C72-B522-78D13F01D5F1} = {58EA8BD9-25C4-4C72-B522-78D13F01D5F1} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testImage", "vs2015\testImage.vcxproj", "{7A9B19BE-6E1C-4394-BB7A-E75A1CF260C5}" - ProjectSection(ProjectDependencies) = postProject - {58EA8BD9-25C4-4C72-B522-78D13F01D5F1} = {58EA8BD9-25C4-4C72-B522-78D13F01D5F1} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testImageCart", "vs2015\testImageCart.vcxproj", "{8A05EB64-E40B-4E6B-ACA2-F6749C5C23CE}" - ProjectSection(ProjectDependencies) = postProject - {58EA8BD9-25C4-4C72-B522-78D13F01D5F1} = {58EA8BD9-25C4-4C72-B522-78D13F01D5F1} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testInverter", "vs2015\testInverter.vcxproj", "{6A28DF13-C6A1-45CC-9F99-B5C5A8452170}" - ProjectSection(ProjectDependencies) = postProject - {58EA8BD9-25C4-4C72-B522-78D13F01D5F1} = {58EA8BD9-25C4-4C72-B522-78D13F01D5F1} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testLangton", "vs2015\testLangton.vcxproj", "{D2244954-C45F-4BC2-91EC-B942447692D1}" - ProjectSection(ProjectDependencies) = postProject - {58EA8BD9-25C4-4C72-B522-78D13F01D5F1} = {58EA8BD9-25C4-4C72-B522-78D13F01D5F1} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testLineChain", "vs2015\testLineChain.vcxproj", "{651129E0-7318-483E-9110-A60B50E9D40F}" - ProjectSection(ProjectDependencies) = postProject - {58EA8BD9-25C4-4C72-B522-78D13F01D5F1} = {58EA8BD9-25C4-4C72-B522-78D13F01D5F1} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testLineFan", "vs2015\testLineFan.vcxproj", "{12E6854F-FA5B-4E3F-9AD3-B007B66F4EAC}" - ProjectSection(ProjectDependencies) = postProject - {58EA8BD9-25C4-4C72-B522-78D13F01D5F1} = {58EA8BD9-25C4-4C72-B522-78D13F01D5F1} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testMandelbrot", "vs2015\testMandelbrot.vcxproj", "{A95A2C64-09E2-4907-81B5-2D54D42EEC04}" - ProjectSection(ProjectDependencies) = postProject - {58EA8BD9-25C4-4C72-B522-78D13F01D5F1} = {58EA8BD9-25C4-4C72-B522-78D13F01D5F1} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testMouse", "vs2015\testMouse.vcxproj", "{CB67697C-5861-44A4-AFB7-09A24F27771D}" - ProjectSection(ProjectDependencies) = postProject - {58EA8BD9-25C4-4C72-B522-78D13F01D5F1} = {58EA8BD9-25C4-4C72-B522-78D13F01D5F1} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testNewtonPendulum", "vs2015\testNewtonPendulum.vcxproj", "{9B86A3BC-F918-4980-AAD4-28CD9C2A3B2A}" - ProjectSection(ProjectDependencies) = postProject - {58EA8BD9-25C4-4C72-B522-78D13F01D5F1} = {58EA8BD9-25C4-4C72-B522-78D13F01D5F1} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testPhilosophers", "vs2015\testPhilosophers.vcxproj", "{A6C99933-9A13-41BA-B7F8-215E92C96285}" - ProjectSection(ProjectDependencies) = postProject - {58EA8BD9-25C4-4C72-B522-78D13F01D5F1} = {58EA8BD9-25C4-4C72-B522-78D13F01D5F1} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testPong", "vs2015\testPong.vcxproj", "{9ED2F9A1-D82E-4E24-8757-4FA45E972EB7}" - ProjectSection(ProjectDependencies) = postProject - {58EA8BD9-25C4-4C72-B522-78D13F01D5F1} = {58EA8BD9-25C4-4C72-B522-78D13F01D5F1} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testProjectiles", "vs2015\testProjectiles.vcxproj", "{8701A87E-24FF-427B-B764-581604002EBB}" - ProjectSection(ProjectDependencies) = postProject - {58EA8BD9-25C4-4C72-B522-78D13F01D5F1} = {58EA8BD9-25C4-4C72-B522-78D13F01D5F1} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testScreenshot", "vs2015\testScreenshot.vcxproj", "{49B4D19A-324B-4CEA-AA67-40A729E10FC5}" - ProjectSection(ProjectDependencies) = postProject - {58EA8BD9-25C4-4C72-B522-78D13F01D5F1} = {58EA8BD9-25C4-4C72-B522-78D13F01D5F1} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testSeaUrchin", "vs2015\testSeaUrchin.vcxproj", "{DC4FFBCE-C013-4878-8373-2C620119A8E8}" - ProjectSection(ProjectDependencies) = postProject - {58EA8BD9-25C4-4C72-B522-78D13F01D5F1} = {58EA8BD9-25C4-4C72-B522-78D13F01D5F1} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testSmartSort", "vs2015\testSmartSort.vcxproj", "{7A39C440-6EA7-4437-8DF5-3A373EA88758}" - ProjectSection(ProjectDependencies) = postProject - {58EA8BD9-25C4-4C72-B522-78D13F01D5F1} = {58EA8BD9-25C4-4C72-B522-78D13F01D5F1} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testSpectrogram", "vs2015\testSpectrogram.vcxproj", "{390F2445-49D1-47D9-B46D-44AA006CACD3}" - ProjectSection(ProjectDependencies) = postProject - {58EA8BD9-25C4-4C72-B522-78D13F01D5F1} = {58EA8BD9-25C4-4C72-B522-78D13F01D5F1} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testSpectrum", "vs2015\testSpectrum.vcxproj", "{E1FF87B9-7789-4815-BB58-2ECF21621FCF}" - ProjectSection(ProjectDependencies) = postProject - {58EA8BD9-25C4-4C72-B522-78D13F01D5F1} = {58EA8BD9-25C4-4C72-B522-78D13F01D5F1} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testText", "vs2015\testText.vcxproj", "{6024FAA9-371A-4018-A17A-5FB219B38846}" - ProjectSection(ProjectDependencies) = postProject - {58EA8BD9-25C4-4C72-B522-78D13F01D5F1} = {58EA8BD9-25C4-4C72-B522-78D13F01D5F1} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testTextCart", "vs2015\testTextCart.vcxproj", "{73266FC8-6BDA-442F-923D-4F408B62AF8A}" - ProjectSection(ProjectDependencies) = postProject - {58EA8BD9-25C4-4C72-B522-78D13F01D5F1} = {58EA8BD9-25C4-4C72-B522-78D13F01D5F1} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testTextTwo", "vs2015\testTextTwo.vcxproj", "{11532711-E782-4615-990C-5DA8E66D7697}" - ProjectSection(ProjectDependencies) = postProject - {58EA8BD9-25C4-4C72-B522-78D13F01D5F1} = {58EA8BD9-25C4-4C72-B522-78D13F01D5F1} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testUnits", "vs2015\testUnits.vcxproj", "{94944F08-BB4B-4459-95E7-1113E89D2A7C}" - ProjectSection(ProjectDependencies) = postProject - {58EA8BD9-25C4-4C72-B522-78D13F01D5F1} = {58EA8BD9-25C4-4C72-B522-78D13F01D5F1} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testVoronoi", "vs2015\testVoronoi.vcxproj", "{A795E4C5-A5FC-4FFD-A49B-6D73E4B2A4B4}" - ProjectSection(ProjectDependencies) = postProject - {58EA8BD9-25C4-4C72-B522-78D13F01D5F1} = {58EA8BD9-25C4-4C72-B522-78D13F01D5F1} - EndProjectSection -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|x64 = Debug|x64 - Debug|x86 = Debug|x86 - Release|x64 = Release|x64 - Release|x86 = Release|x86 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {58EA8BD9-25C4-4C72-B522-78D13F01D5F1}.Debug|x64.ActiveCfg = Debug|Win32 - {58EA8BD9-25C4-4C72-B522-78D13F01D5F1}.Debug|x86.ActiveCfg = Debug|Win32 - {58EA8BD9-25C4-4C72-B522-78D13F01D5F1}.Debug|x86.Build.0 = Debug|Win32 - {58EA8BD9-25C4-4C72-B522-78D13F01D5F1}.Release|x64.ActiveCfg = Release|Win32 - {58EA8BD9-25C4-4C72-B522-78D13F01D5F1}.Release|x86.ActiveCfg = Release|Win32 - {58EA8BD9-25C4-4C72-B522-78D13F01D5F1}.Release|x86.Build.0 = Release|Win32 - {AFAF3F9F-66F4-4CF2-8D39-A2D2F07E3CD7}.Debug|x64.ActiveCfg = Debug|Win32 - {AFAF3F9F-66F4-4CF2-8D39-A2D2F07E3CD7}.Debug|x86.ActiveCfg = Debug|Win32 - {AFAF3F9F-66F4-4CF2-8D39-A2D2F07E3CD7}.Debug|x86.Build.0 = Debug|Win32 - {AFAF3F9F-66F4-4CF2-8D39-A2D2F07E3CD7}.Release|x64.ActiveCfg = Release|Win32 - {AFAF3F9F-66F4-4CF2-8D39-A2D2F07E3CD7}.Release|x86.ActiveCfg = Release|Win32 - {AFAF3F9F-66F4-4CF2-8D39-A2D2F07E3CD7}.Release|x86.Build.0 = Release|Win32 - {53D73A43-D126-4391-931A-839049F51E4E}.Debug|x64.ActiveCfg = Debug|Win32 - {53D73A43-D126-4391-931A-839049F51E4E}.Debug|x86.ActiveCfg = Debug|Win32 - {53D73A43-D126-4391-931A-839049F51E4E}.Debug|x86.Build.0 = Debug|Win32 - {53D73A43-D126-4391-931A-839049F51E4E}.Release|x64.ActiveCfg = Release|Win32 - {53D73A43-D126-4391-931A-839049F51E4E}.Release|x86.ActiveCfg = Release|Win32 - {53D73A43-D126-4391-931A-839049F51E4E}.Release|x86.Build.0 = Release|Win32 - {DFE2695B-89AF-4B20-A9D0-016A72230CAA}.Debug|x64.ActiveCfg = Debug|Win32 - {DFE2695B-89AF-4B20-A9D0-016A72230CAA}.Debug|x86.ActiveCfg = Debug|Win32 - {DFE2695B-89AF-4B20-A9D0-016A72230CAA}.Debug|x86.Build.0 = Debug|Win32 - {DFE2695B-89AF-4B20-A9D0-016A72230CAA}.Release|x64.ActiveCfg = Release|Win32 - {DFE2695B-89AF-4B20-A9D0-016A72230CAA}.Release|x86.ActiveCfg = Release|Win32 - {DFE2695B-89AF-4B20-A9D0-016A72230CAA}.Release|x86.Build.0 = Release|Win32 - {1054C3EC-0CED-4E73-BC2B-7DED881C0181}.Debug|x64.ActiveCfg = Debug|Win32 - {1054C3EC-0CED-4E73-BC2B-7DED881C0181}.Debug|x86.ActiveCfg = Debug|Win32 - {1054C3EC-0CED-4E73-BC2B-7DED881C0181}.Debug|x86.Build.0 = Debug|Win32 - {1054C3EC-0CED-4E73-BC2B-7DED881C0181}.Release|x64.ActiveCfg = Release|Win32 - {1054C3EC-0CED-4E73-BC2B-7DED881C0181}.Release|x86.ActiveCfg = Release|Win32 - {1054C3EC-0CED-4E73-BC2B-7DED881C0181}.Release|x86.Build.0 = Release|Win32 - {9A4C1953-CB99-426A-97D7-13E1870259A2}.Debug|x64.ActiveCfg = Debug|Win32 - {9A4C1953-CB99-426A-97D7-13E1870259A2}.Debug|x86.ActiveCfg = Debug|Win32 - {9A4C1953-CB99-426A-97D7-13E1870259A2}.Debug|x86.Build.0 = Debug|Win32 - {9A4C1953-CB99-426A-97D7-13E1870259A2}.Release|x64.ActiveCfg = Release|Win32 - {9A4C1953-CB99-426A-97D7-13E1870259A2}.Release|x86.ActiveCfg = Release|Win32 - {9A4C1953-CB99-426A-97D7-13E1870259A2}.Release|x86.Build.0 = Release|Win32 - {C9021074-DAEB-41BA-93B4-44327DD4CAB9}.Debug|x64.ActiveCfg = Debug|Win32 - {C9021074-DAEB-41BA-93B4-44327DD4CAB9}.Debug|x86.ActiveCfg = Debug|Win32 - {C9021074-DAEB-41BA-93B4-44327DD4CAB9}.Debug|x86.Build.0 = Debug|Win32 - {C9021074-DAEB-41BA-93B4-44327DD4CAB9}.Release|x64.ActiveCfg = Release|Win32 - {C9021074-DAEB-41BA-93B4-44327DD4CAB9}.Release|x86.ActiveCfg = Release|Win32 - {C9021074-DAEB-41BA-93B4-44327DD4CAB9}.Release|x86.Build.0 = Release|Win32 - {0F41C511-F91A-4A60-A4CA-DF5DB53140FC}.Debug|x64.ActiveCfg = Debug|Win32 - {0F41C511-F91A-4A60-A4CA-DF5DB53140FC}.Debug|x86.ActiveCfg = Debug|Win32 - {0F41C511-F91A-4A60-A4CA-DF5DB53140FC}.Debug|x86.Build.0 = Debug|Win32 - {0F41C511-F91A-4A60-A4CA-DF5DB53140FC}.Release|x64.ActiveCfg = Release|Win32 - {0F41C511-F91A-4A60-A4CA-DF5DB53140FC}.Release|x86.ActiveCfg = Release|Win32 - {0F41C511-F91A-4A60-A4CA-DF5DB53140FC}.Release|x86.Build.0 = Release|Win32 - {ED93463C-70E6-4CFD-83A7-69ADA2EC6C02}.Debug|x64.ActiveCfg = Debug|Win32 - {ED93463C-70E6-4CFD-83A7-69ADA2EC6C02}.Debug|x86.ActiveCfg = Debug|Win32 - {ED93463C-70E6-4CFD-83A7-69ADA2EC6C02}.Debug|x86.Build.0 = Debug|Win32 - {ED93463C-70E6-4CFD-83A7-69ADA2EC6C02}.Release|x64.ActiveCfg = Release|Win32 - {ED93463C-70E6-4CFD-83A7-69ADA2EC6C02}.Release|x86.ActiveCfg = Release|Win32 - {ED93463C-70E6-4CFD-83A7-69ADA2EC6C02}.Release|x86.Build.0 = Release|Win32 - {D976C0C5-C094-406E-AD70-D64F5C79C994}.Debug|x64.ActiveCfg = Debug|Win32 - {D976C0C5-C094-406E-AD70-D64F5C79C994}.Debug|x86.ActiveCfg = Debug|Win32 - {D976C0C5-C094-406E-AD70-D64F5C79C994}.Debug|x86.Build.0 = Debug|Win32 - {D976C0C5-C094-406E-AD70-D64F5C79C994}.Release|x64.ActiveCfg = Release|Win32 - {D976C0C5-C094-406E-AD70-D64F5C79C994}.Release|x86.ActiveCfg = Release|Win32 - {D976C0C5-C094-406E-AD70-D64F5C79C994}.Release|x86.Build.0 = Release|Win32 - {504CBA8D-EA92-43CE-81C9-E43270805A7F}.Debug|x64.ActiveCfg = Debug|Win32 - {504CBA8D-EA92-43CE-81C9-E43270805A7F}.Debug|x86.ActiveCfg = Debug|Win32 - {504CBA8D-EA92-43CE-81C9-E43270805A7F}.Debug|x86.Build.0 = Debug|Win32 - {504CBA8D-EA92-43CE-81C9-E43270805A7F}.Release|x64.ActiveCfg = Release|Win32 - {504CBA8D-EA92-43CE-81C9-E43270805A7F}.Release|x86.ActiveCfg = Release|Win32 - {504CBA8D-EA92-43CE-81C9-E43270805A7F}.Release|x86.Build.0 = Release|Win32 - {8A4BDD81-FA5F-4631-9572-959AB79AF784}.Debug|x64.ActiveCfg = Debug|Win32 - {8A4BDD81-FA5F-4631-9572-959AB79AF784}.Debug|x86.ActiveCfg = Debug|Win32 - {8A4BDD81-FA5F-4631-9572-959AB79AF784}.Debug|x86.Build.0 = Debug|Win32 - {8A4BDD81-FA5F-4631-9572-959AB79AF784}.Release|x64.ActiveCfg = Release|Win32 - {8A4BDD81-FA5F-4631-9572-959AB79AF784}.Release|x86.ActiveCfg = Release|Win32 - {8A4BDD81-FA5F-4631-9572-959AB79AF784}.Release|x86.Build.0 = Release|Win32 - {D7E8F3B6-DB6C-4424-AE12-D825505C2C0A}.Debug|x64.ActiveCfg = Debug|Win32 - {D7E8F3B6-DB6C-4424-AE12-D825505C2C0A}.Debug|x86.ActiveCfg = Debug|Win32 - {D7E8F3B6-DB6C-4424-AE12-D825505C2C0A}.Debug|x86.Build.0 = Debug|Win32 - {D7E8F3B6-DB6C-4424-AE12-D825505C2C0A}.Release|x64.ActiveCfg = Release|Win32 - {D7E8F3B6-DB6C-4424-AE12-D825505C2C0A}.Release|x86.ActiveCfg = Release|Win32 - {D7E8F3B6-DB6C-4424-AE12-D825505C2C0A}.Release|x86.Build.0 = Release|Win32 - {3CDA2E89-5B53-44BE-9504-DBEE01B1C92F}.Debug|x64.ActiveCfg = Debug|Win32 - {3CDA2E89-5B53-44BE-9504-DBEE01B1C92F}.Debug|x86.ActiveCfg = Debug|Win32 - {3CDA2E89-5B53-44BE-9504-DBEE01B1C92F}.Debug|x86.Build.0 = Debug|Win32 - {3CDA2E89-5B53-44BE-9504-DBEE01B1C92F}.Release|x64.ActiveCfg = Release|Win32 - {3CDA2E89-5B53-44BE-9504-DBEE01B1C92F}.Release|x86.ActiveCfg = Release|Win32 - {3CDA2E89-5B53-44BE-9504-DBEE01B1C92F}.Release|x86.Build.0 = Release|Win32 - {0CCEBC78-F51C-4A79-86D0-42137BF00FB3}.Debug|x64.ActiveCfg = Debug|Win32 - {0CCEBC78-F51C-4A79-86D0-42137BF00FB3}.Debug|x86.ActiveCfg = Debug|Win32 - {0CCEBC78-F51C-4A79-86D0-42137BF00FB3}.Debug|x86.Build.0 = Debug|Win32 - {0CCEBC78-F51C-4A79-86D0-42137BF00FB3}.Release|x64.ActiveCfg = Release|Win32 - {0CCEBC78-F51C-4A79-86D0-42137BF00FB3}.Release|x86.ActiveCfg = Release|Win32 - {0CCEBC78-F51C-4A79-86D0-42137BF00FB3}.Release|x86.Build.0 = Release|Win32 - {D52C4C34-A1E4-4BE4-8CB7-C2BCA4DD9C02}.Debug|x64.ActiveCfg = Debug|Win32 - {D52C4C34-A1E4-4BE4-8CB7-C2BCA4DD9C02}.Debug|x86.ActiveCfg = Debug|Win32 - {D52C4C34-A1E4-4BE4-8CB7-C2BCA4DD9C02}.Debug|x86.Build.0 = Debug|Win32 - {D52C4C34-A1E4-4BE4-8CB7-C2BCA4DD9C02}.Release|x64.ActiveCfg = Release|Win32 - {D52C4C34-A1E4-4BE4-8CB7-C2BCA4DD9C02}.Release|x86.ActiveCfg = Release|Win32 - {D52C4C34-A1E4-4BE4-8CB7-C2BCA4DD9C02}.Release|x86.Build.0 = Release|Win32 - {C79EFBD3-7E90-48E3-84B9-C713016D5A1D}.Debug|x64.ActiveCfg = Debug|Win32 - {C79EFBD3-7E90-48E3-84B9-C713016D5A1D}.Debug|x86.ActiveCfg = Debug|Win32 - {C79EFBD3-7E90-48E3-84B9-C713016D5A1D}.Debug|x86.Build.0 = Debug|Win32 - {C79EFBD3-7E90-48E3-84B9-C713016D5A1D}.Release|x64.ActiveCfg = Release|Win32 - {C79EFBD3-7E90-48E3-84B9-C713016D5A1D}.Release|x86.ActiveCfg = Release|Win32 - {C79EFBD3-7E90-48E3-84B9-C713016D5A1D}.Release|x86.Build.0 = Release|Win32 - {C0EF0243-3466-46C3-8D44-13F089052E84}.Debug|x64.ActiveCfg = Debug|Win32 - {C0EF0243-3466-46C3-8D44-13F089052E84}.Debug|x86.ActiveCfg = Debug|Win32 - {C0EF0243-3466-46C3-8D44-13F089052E84}.Debug|x86.Build.0 = Debug|Win32 - {C0EF0243-3466-46C3-8D44-13F089052E84}.Release|x64.ActiveCfg = Release|Win32 - {C0EF0243-3466-46C3-8D44-13F089052E84}.Release|x86.ActiveCfg = Release|Win32 - {C0EF0243-3466-46C3-8D44-13F089052E84}.Release|x86.Build.0 = Release|Win32 - {0D2545F6-BB1C-4EA2-8D45-B57BBB3F7A1F}.Debug|x64.ActiveCfg = Debug|Win32 - {0D2545F6-BB1C-4EA2-8D45-B57BBB3F7A1F}.Debug|x86.ActiveCfg = Debug|Win32 - {0D2545F6-BB1C-4EA2-8D45-B57BBB3F7A1F}.Debug|x86.Build.0 = Debug|Win32 - {0D2545F6-BB1C-4EA2-8D45-B57BBB3F7A1F}.Release|x64.ActiveCfg = Release|Win32 - {0D2545F6-BB1C-4EA2-8D45-B57BBB3F7A1F}.Release|x86.ActiveCfg = Release|Win32 - {0D2545F6-BB1C-4EA2-8D45-B57BBB3F7A1F}.Release|x86.Build.0 = Release|Win32 - {25B80A7F-BB1A-4784-AB72-A1431D8069A2}.Debug|x64.ActiveCfg = Debug|Win32 - {25B80A7F-BB1A-4784-AB72-A1431D8069A2}.Debug|x86.ActiveCfg = Debug|Win32 - {25B80A7F-BB1A-4784-AB72-A1431D8069A2}.Debug|x86.Build.0 = Debug|Win32 - {25B80A7F-BB1A-4784-AB72-A1431D8069A2}.Release|x64.ActiveCfg = Release|Win32 - {25B80A7F-BB1A-4784-AB72-A1431D8069A2}.Release|x86.ActiveCfg = Release|Win32 - {25B80A7F-BB1A-4784-AB72-A1431D8069A2}.Release|x86.Build.0 = Release|Win32 - {7A9B19BE-6E1C-4394-BB7A-E75A1CF260C5}.Debug|x64.ActiveCfg = Debug|Win32 - {7A9B19BE-6E1C-4394-BB7A-E75A1CF260C5}.Debug|x86.ActiveCfg = Debug|Win32 - {7A9B19BE-6E1C-4394-BB7A-E75A1CF260C5}.Debug|x86.Build.0 = Debug|Win32 - {7A9B19BE-6E1C-4394-BB7A-E75A1CF260C5}.Release|x64.ActiveCfg = Release|Win32 - {7A9B19BE-6E1C-4394-BB7A-E75A1CF260C5}.Release|x86.ActiveCfg = Release|Win32 - {7A9B19BE-6E1C-4394-BB7A-E75A1CF260C5}.Release|x86.Build.0 = Release|Win32 - {8A05EB64-E40B-4E6B-ACA2-F6749C5C23CE}.Debug|x64.ActiveCfg = Debug|Win32 - {8A05EB64-E40B-4E6B-ACA2-F6749C5C23CE}.Debug|x86.ActiveCfg = Debug|Win32 - {8A05EB64-E40B-4E6B-ACA2-F6749C5C23CE}.Debug|x86.Build.0 = Debug|Win32 - {8A05EB64-E40B-4E6B-ACA2-F6749C5C23CE}.Release|x64.ActiveCfg = Release|Win32 - {8A05EB64-E40B-4E6B-ACA2-F6749C5C23CE}.Release|x86.ActiveCfg = Release|Win32 - {8A05EB64-E40B-4E6B-ACA2-F6749C5C23CE}.Release|x86.Build.0 = Release|Win32 - {6A28DF13-C6A1-45CC-9F99-B5C5A8452170}.Debug|x64.ActiveCfg = Debug|Win32 - {6A28DF13-C6A1-45CC-9F99-B5C5A8452170}.Debug|x86.ActiveCfg = Debug|Win32 - {6A28DF13-C6A1-45CC-9F99-B5C5A8452170}.Debug|x86.Build.0 = Debug|Win32 - {6A28DF13-C6A1-45CC-9F99-B5C5A8452170}.Release|x64.ActiveCfg = Release|Win32 - {6A28DF13-C6A1-45CC-9F99-B5C5A8452170}.Release|x86.ActiveCfg = Release|Win32 - {6A28DF13-C6A1-45CC-9F99-B5C5A8452170}.Release|x86.Build.0 = Release|Win32 - {D2244954-C45F-4BC2-91EC-B942447692D1}.Debug|x64.ActiveCfg = Debug|Win32 - {D2244954-C45F-4BC2-91EC-B942447692D1}.Debug|x86.ActiveCfg = Debug|Win32 - {D2244954-C45F-4BC2-91EC-B942447692D1}.Debug|x86.Build.0 = Debug|Win32 - {D2244954-C45F-4BC2-91EC-B942447692D1}.Release|x64.ActiveCfg = Release|Win32 - {D2244954-C45F-4BC2-91EC-B942447692D1}.Release|x86.ActiveCfg = Release|Win32 - {D2244954-C45F-4BC2-91EC-B942447692D1}.Release|x86.Build.0 = Release|Win32 - {651129E0-7318-483E-9110-A60B50E9D40F}.Debug|x64.ActiveCfg = Debug|Win32 - {651129E0-7318-483E-9110-A60B50E9D40F}.Debug|x86.ActiveCfg = Debug|Win32 - {651129E0-7318-483E-9110-A60B50E9D40F}.Debug|x86.Build.0 = Debug|Win32 - {651129E0-7318-483E-9110-A60B50E9D40F}.Release|x64.ActiveCfg = Release|Win32 - {651129E0-7318-483E-9110-A60B50E9D40F}.Release|x86.ActiveCfg = Release|Win32 - {651129E0-7318-483E-9110-A60B50E9D40F}.Release|x86.Build.0 = Release|Win32 - {12E6854F-FA5B-4E3F-9AD3-B007B66F4EAC}.Debug|x64.ActiveCfg = Debug|Win32 - {12E6854F-FA5B-4E3F-9AD3-B007B66F4EAC}.Debug|x86.ActiveCfg = Debug|Win32 - {12E6854F-FA5B-4E3F-9AD3-B007B66F4EAC}.Debug|x86.Build.0 = Debug|Win32 - {12E6854F-FA5B-4E3F-9AD3-B007B66F4EAC}.Release|x64.ActiveCfg = Release|Win32 - {12E6854F-FA5B-4E3F-9AD3-B007B66F4EAC}.Release|x86.ActiveCfg = Release|Win32 - {12E6854F-FA5B-4E3F-9AD3-B007B66F4EAC}.Release|x86.Build.0 = Release|Win32 - {A95A2C64-09E2-4907-81B5-2D54D42EEC04}.Debug|x64.ActiveCfg = Debug|Win32 - {A95A2C64-09E2-4907-81B5-2D54D42EEC04}.Debug|x86.ActiveCfg = Debug|Win32 - {A95A2C64-09E2-4907-81B5-2D54D42EEC04}.Debug|x86.Build.0 = Debug|Win32 - {A95A2C64-09E2-4907-81B5-2D54D42EEC04}.Release|x64.ActiveCfg = Release|Win32 - {A95A2C64-09E2-4907-81B5-2D54D42EEC04}.Release|x86.ActiveCfg = Release|Win32 - {A95A2C64-09E2-4907-81B5-2D54D42EEC04}.Release|x86.Build.0 = Release|Win32 - {CB67697C-5861-44A4-AFB7-09A24F27771D}.Debug|x64.ActiveCfg = Debug|Win32 - {CB67697C-5861-44A4-AFB7-09A24F27771D}.Debug|x86.ActiveCfg = Debug|Win32 - {CB67697C-5861-44A4-AFB7-09A24F27771D}.Debug|x86.Build.0 = Debug|Win32 - {CB67697C-5861-44A4-AFB7-09A24F27771D}.Release|x64.ActiveCfg = Release|Win32 - {CB67697C-5861-44A4-AFB7-09A24F27771D}.Release|x86.ActiveCfg = Release|Win32 - {CB67697C-5861-44A4-AFB7-09A24F27771D}.Release|x86.Build.0 = Release|Win32 - {9B86A3BC-F918-4980-AAD4-28CD9C2A3B2A}.Debug|x64.ActiveCfg = Debug|Win32 - {9B86A3BC-F918-4980-AAD4-28CD9C2A3B2A}.Debug|x86.ActiveCfg = Debug|Win32 - {9B86A3BC-F918-4980-AAD4-28CD9C2A3B2A}.Debug|x86.Build.0 = Debug|Win32 - {9B86A3BC-F918-4980-AAD4-28CD9C2A3B2A}.Release|x64.ActiveCfg = Release|Win32 - {9B86A3BC-F918-4980-AAD4-28CD9C2A3B2A}.Release|x86.ActiveCfg = Release|Win32 - {9B86A3BC-F918-4980-AAD4-28CD9C2A3B2A}.Release|x86.Build.0 = Release|Win32 - {A6C99933-9A13-41BA-B7F8-215E92C96285}.Debug|x64.ActiveCfg = Debug|Win32 - {A6C99933-9A13-41BA-B7F8-215E92C96285}.Debug|x86.ActiveCfg = Debug|Win32 - {A6C99933-9A13-41BA-B7F8-215E92C96285}.Debug|x86.Build.0 = Debug|Win32 - {A6C99933-9A13-41BA-B7F8-215E92C96285}.Release|x64.ActiveCfg = Release|Win32 - {A6C99933-9A13-41BA-B7F8-215E92C96285}.Release|x86.ActiveCfg = Release|Win32 - {A6C99933-9A13-41BA-B7F8-215E92C96285}.Release|x86.Build.0 = Release|Win32 - {9ED2F9A1-D82E-4E24-8757-4FA45E972EB7}.Debug|x64.ActiveCfg = Debug|Win32 - {9ED2F9A1-D82E-4E24-8757-4FA45E972EB7}.Debug|x86.ActiveCfg = Debug|Win32 - {9ED2F9A1-D82E-4E24-8757-4FA45E972EB7}.Debug|x86.Build.0 = Debug|Win32 - {9ED2F9A1-D82E-4E24-8757-4FA45E972EB7}.Release|x64.ActiveCfg = Release|Win32 - {9ED2F9A1-D82E-4E24-8757-4FA45E972EB7}.Release|x86.ActiveCfg = Release|Win32 - {9ED2F9A1-D82E-4E24-8757-4FA45E972EB7}.Release|x86.Build.0 = Release|Win32 - {8701A87E-24FF-427B-B764-581604002EBB}.Debug|x64.ActiveCfg = Debug|Win32 - {8701A87E-24FF-427B-B764-581604002EBB}.Debug|x86.ActiveCfg = Debug|Win32 - {8701A87E-24FF-427B-B764-581604002EBB}.Debug|x86.Build.0 = Debug|Win32 - {8701A87E-24FF-427B-B764-581604002EBB}.Release|x64.ActiveCfg = Release|Win32 - {8701A87E-24FF-427B-B764-581604002EBB}.Release|x86.ActiveCfg = Release|Win32 - {8701A87E-24FF-427B-B764-581604002EBB}.Release|x86.Build.0 = Release|Win32 - {49B4D19A-324B-4CEA-AA67-40A729E10FC5}.Debug|x64.ActiveCfg = Debug|Win32 - {49B4D19A-324B-4CEA-AA67-40A729E10FC5}.Debug|x86.ActiveCfg = Debug|Win32 - {49B4D19A-324B-4CEA-AA67-40A729E10FC5}.Debug|x86.Build.0 = Debug|Win32 - {49B4D19A-324B-4CEA-AA67-40A729E10FC5}.Release|x64.ActiveCfg = Release|Win32 - {49B4D19A-324B-4CEA-AA67-40A729E10FC5}.Release|x86.ActiveCfg = Release|Win32 - {49B4D19A-324B-4CEA-AA67-40A729E10FC5}.Release|x86.Build.0 = Release|Win32 - {DC4FFBCE-C013-4878-8373-2C620119A8E8}.Debug|x64.ActiveCfg = Debug|Win32 - {DC4FFBCE-C013-4878-8373-2C620119A8E8}.Debug|x86.ActiveCfg = Debug|Win32 - {DC4FFBCE-C013-4878-8373-2C620119A8E8}.Debug|x86.Build.0 = Debug|Win32 - {DC4FFBCE-C013-4878-8373-2C620119A8E8}.Release|x64.ActiveCfg = Release|Win32 - {DC4FFBCE-C013-4878-8373-2C620119A8E8}.Release|x86.ActiveCfg = Release|Win32 - {DC4FFBCE-C013-4878-8373-2C620119A8E8}.Release|x86.Build.0 = Release|Win32 - {7A39C440-6EA7-4437-8DF5-3A373EA88758}.Debug|x64.ActiveCfg = Debug|Win32 - {7A39C440-6EA7-4437-8DF5-3A373EA88758}.Debug|x86.ActiveCfg = Debug|Win32 - {7A39C440-6EA7-4437-8DF5-3A373EA88758}.Debug|x86.Build.0 = Debug|Win32 - {7A39C440-6EA7-4437-8DF5-3A373EA88758}.Release|x64.ActiveCfg = Release|Win32 - {7A39C440-6EA7-4437-8DF5-3A373EA88758}.Release|x86.ActiveCfg = Release|Win32 - {7A39C440-6EA7-4437-8DF5-3A373EA88758}.Release|x86.Build.0 = Release|Win32 - {390F2445-49D1-47D9-B46D-44AA006CACD3}.Debug|x64.ActiveCfg = Debug|Win32 - {390F2445-49D1-47D9-B46D-44AA006CACD3}.Debug|x86.ActiveCfg = Debug|Win32 - {390F2445-49D1-47D9-B46D-44AA006CACD3}.Debug|x86.Build.0 = Debug|Win32 - {390F2445-49D1-47D9-B46D-44AA006CACD3}.Release|x64.ActiveCfg = Release|Win32 - {390F2445-49D1-47D9-B46D-44AA006CACD3}.Release|x86.ActiveCfg = Release|Win32 - {390F2445-49D1-47D9-B46D-44AA006CACD3}.Release|x86.Build.0 = Release|Win32 - {E1FF87B9-7789-4815-BB58-2ECF21621FCF}.Debug|x64.ActiveCfg = Debug|Win32 - {E1FF87B9-7789-4815-BB58-2ECF21621FCF}.Debug|x86.ActiveCfg = Debug|Win32 - {E1FF87B9-7789-4815-BB58-2ECF21621FCF}.Debug|x86.Build.0 = Debug|Win32 - {E1FF87B9-7789-4815-BB58-2ECF21621FCF}.Release|x64.ActiveCfg = Release|Win32 - {E1FF87B9-7789-4815-BB58-2ECF21621FCF}.Release|x86.ActiveCfg = Release|Win32 - {E1FF87B9-7789-4815-BB58-2ECF21621FCF}.Release|x86.Build.0 = Release|Win32 - {6024FAA9-371A-4018-A17A-5FB219B38846}.Debug|x64.ActiveCfg = Debug|Win32 - {6024FAA9-371A-4018-A17A-5FB219B38846}.Debug|x86.ActiveCfg = Debug|Win32 - {6024FAA9-371A-4018-A17A-5FB219B38846}.Debug|x86.Build.0 = Debug|Win32 - {6024FAA9-371A-4018-A17A-5FB219B38846}.Release|x64.ActiveCfg = Release|Win32 - {6024FAA9-371A-4018-A17A-5FB219B38846}.Release|x86.ActiveCfg = Release|Win32 - {6024FAA9-371A-4018-A17A-5FB219B38846}.Release|x86.Build.0 = Release|Win32 - {73266FC8-6BDA-442F-923D-4F408B62AF8A}.Debug|x64.ActiveCfg = Debug|Win32 - {73266FC8-6BDA-442F-923D-4F408B62AF8A}.Debug|x86.ActiveCfg = Debug|Win32 - {73266FC8-6BDA-442F-923D-4F408B62AF8A}.Debug|x86.Build.0 = Debug|Win32 - {73266FC8-6BDA-442F-923D-4F408B62AF8A}.Release|x64.ActiveCfg = Release|Win32 - {73266FC8-6BDA-442F-923D-4F408B62AF8A}.Release|x86.ActiveCfg = Release|Win32 - {73266FC8-6BDA-442F-923D-4F408B62AF8A}.Release|x86.Build.0 = Release|Win32 - {11532711-E782-4615-990C-5DA8E66D7697}.Debug|x64.ActiveCfg = Debug|Win32 - {11532711-E782-4615-990C-5DA8E66D7697}.Debug|x86.ActiveCfg = Debug|Win32 - {11532711-E782-4615-990C-5DA8E66D7697}.Debug|x86.Build.0 = Debug|Win32 - {11532711-E782-4615-990C-5DA8E66D7697}.Release|x64.ActiveCfg = Release|Win32 - {11532711-E782-4615-990C-5DA8E66D7697}.Release|x86.ActiveCfg = Release|Win32 - {11532711-E782-4615-990C-5DA8E66D7697}.Release|x86.Build.0 = Release|Win32 - {94944F08-BB4B-4459-95E7-1113E89D2A7C}.Debug|x64.ActiveCfg = Debug|Win32 - {94944F08-BB4B-4459-95E7-1113E89D2A7C}.Debug|x86.ActiveCfg = Debug|Win32 - {94944F08-BB4B-4459-95E7-1113E89D2A7C}.Debug|x86.Build.0 = Debug|Win32 - {94944F08-BB4B-4459-95E7-1113E89D2A7C}.Release|x64.ActiveCfg = Release|Win32 - {94944F08-BB4B-4459-95E7-1113E89D2A7C}.Release|x86.ActiveCfg = Release|Win32 - {94944F08-BB4B-4459-95E7-1113E89D2A7C}.Release|x86.Build.0 = Release|Win32 - {A795E4C5-A5FC-4FFD-A49B-6D73E4B2A4B4}.Debug|x64.ActiveCfg = Debug|Win32 - {A795E4C5-A5FC-4FFD-A49B-6D73E4B2A4B4}.Debug|x86.ActiveCfg = Debug|Win32 - {A795E4C5-A5FC-4FFD-A49B-6D73E4B2A4B4}.Debug|x86.Build.0 = Debug|Win32 - {A795E4C5-A5FC-4FFD-A49B-6D73E4B2A4B4}.Release|x64.ActiveCfg = Release|Win32 - {A795E4C5-A5FC-4FFD-A49B-6D73E4B2A4B4}.Release|x86.ActiveCfg = Release|Win32 - {A795E4C5-A5FC-4FFD-A49B-6D73E4B2A4B4}.Release|x86.Build.0 = Release|Win32 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal diff --git a/winVS2015/tsgl.v14.suo b/winVS2015/tsgl.v14.suo deleted file mode 100644 index 88087204e..000000000 Binary files a/winVS2015/tsgl.v14.suo and /dev/null differ diff --git a/winVS2015/tsgl.vcxproj b/winVS2015/tsgl.vcxproj deleted file mode 100644 index da86945e0..000000000 --- a/winVS2015/tsgl.vcxproj +++ /dev/null @@ -1,131 +0,0 @@ - - - - - Debug - Win32 - - - Release - Win32 - - - - {58EA8BD9-25C4-4C72-B522-78D13F01D5F1} - tsgl - 8.1 - - - - StaticLibrary - true - v140 - MultiByte - - - Application - false - v140 - true - MultiByte - - - - - - - - - - - - - - - - - $(SolutionDir)lib\ - $(Configuration)\$(TargetName)\ - .lib - $(SolutionDir)\src\TSGL;$(SolutionDir)\include;$(IncludePath) - $(SolutionDir)lib;$(LibraryPath) - - - - TurnOffAllWarnings - Disabled - false - ProgramDatabase - WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions) - true - - - $(IntDir)\$(MSBuildProjectName).log - - - - - Level3 - MaxSpeed - true - true - true - - - true - true - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/winVS2015/tsgl.vcxproj.filters b/winVS2015/tsgl.vcxproj.filters deleted file mode 100644 index 36187948d..000000000 --- a/winVS2015/tsgl.vcxproj.filters +++ /dev/null @@ -1,156 +0,0 @@ - - - - - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx - - - {93995380-89BD-4b04-88EB-625FBE52EBFB} - h;hh;hpp;hxx;hm;inl;inc;xsd - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms - - - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - \ No newline at end of file diff --git a/winVS2015/tsgl.vcxproj.user b/winVS2015/tsgl.vcxproj.user deleted file mode 100644 index 2fc4c2198..000000000 --- a/winVS2015/tsgl.vcxproj.user +++ /dev/null @@ -1,8 +0,0 @@ - - - - PATH=$(TsglDllDir);%PATH% -$(LocalDebuggerEnvironment) - WindowsLocalDebugger - - \ No newline at end of file diff --git a/winVS2015/vs2015/testAlphaRectangle.vcxproj b/winVS2015/vs2015/testAlphaRectangle.vcxproj deleted file mode 100644 index 658c462e0..000000000 --- a/winVS2015/vs2015/testAlphaRectangle.vcxproj +++ /dev/null @@ -1,83 +0,0 @@ - - - - - Debug - Win32 - - - Release - Win32 - - - - {AFAF3F9F-66F4-4CF2-8D39-A2D2F07E3CD7} - testAlphaRectangle - 8.1 - - - - Application - true - v140 - MultiByte - - - Application - false - v140 - true - MultiByte - - - - - - - - - - - - - - - - - $(Configuration)\$(TargetName)\ - $(TsglSourceDir);$(TsglIncludeDir);$(IncludePath) - $(TsglLibDir);$(TsglExternalLibDir);$(LibraryPath) - - - - Level3 - Disabled - true - true - EditAndContinue - - - tsgl.lib;freeglutd.lib;freetype.lib;glew32sd.lib;glfw3.lib;%(AdditionalDependencies) - Debug - - - - - Level3 - MaxSpeed - true - true - true - - - true - true - - - - - - - - - \ No newline at end of file diff --git a/winVS2015/vs2015/testAlphaRectangle.vcxproj.filters b/winVS2015/vs2015/testAlphaRectangle.vcxproj.filters deleted file mode 100644 index e165e3e86..000000000 --- a/winVS2015/vs2015/testAlphaRectangle.vcxproj.filters +++ /dev/null @@ -1,22 +0,0 @@ - - - - - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx - - - {93995380-89BD-4b04-88EB-625FBE52EBFB} - h;hh;hpp;hxx;hm;inl;inc;xsd - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms - - - - - Source Files - - - \ No newline at end of file diff --git a/winVS2015/vs2015/testAlphaRectangle.vcxproj.user b/winVS2015/vs2015/testAlphaRectangle.vcxproj.user deleted file mode 100644 index abe8dd896..000000000 --- a/winVS2015/vs2015/testAlphaRectangle.vcxproj.user +++ /dev/null @@ -1,4 +0,0 @@ - - - - \ No newline at end of file diff --git a/winVS2015/vs2015/testAura.vcxproj b/winVS2015/vs2015/testAura.vcxproj deleted file mode 100644 index b70948ff5..000000000 --- a/winVS2015/vs2015/testAura.vcxproj +++ /dev/null @@ -1,81 +0,0 @@ - - - - - Debug - Win32 - - - Release - Win32 - - - - {53D73A43-D126-4391-931A-839049F51E4E} - testAura - 8.1 - - - - Application - true - v140 - MultiByte - - - Application - false - v140 - true - MultiByte - - - - - - - - - - - - - - - - - $(Configuration)\$(TargetName)\ - $(TsglSourceDir);$(TsglIncludeDir);$(IncludePath) - $(TsglLibDir);$(TsglExternalLibDir);$(LibraryPath) - - - - Level3 - Disabled - true - true - - - tsgl.lib;freeglutd.lib;freetype.lib;glew32sd.lib;glfw3.lib;%(AdditionalDependencies) - - - - - Level3 - MaxSpeed - true - true - true - - - true - true - - - - - - - - - \ No newline at end of file diff --git a/winVS2015/vs2015/testAura.vcxproj.filters b/winVS2015/vs2015/testAura.vcxproj.filters deleted file mode 100644 index f0296518a..000000000 --- a/winVS2015/vs2015/testAura.vcxproj.filters +++ /dev/null @@ -1,22 +0,0 @@ - - - - - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx - - - {93995380-89BD-4b04-88EB-625FBE52EBFB} - h;hh;hpp;hxx;hm;inl;inc;xsd - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms - - - - - Source Files - - - \ No newline at end of file diff --git a/winVS2015/vs2015/testAura.vcxproj.user b/winVS2015/vs2015/testAura.vcxproj.user deleted file mode 100644 index abe8dd896..000000000 --- a/winVS2015/vs2015/testAura.vcxproj.user +++ /dev/null @@ -1,4 +0,0 @@ - - - - \ No newline at end of file diff --git a/winVS2015/vs2015/testBallroom.vcxproj b/winVS2015/vs2015/testBallroom.vcxproj deleted file mode 100644 index 94958441b..000000000 --- a/winVS2015/vs2015/testBallroom.vcxproj +++ /dev/null @@ -1,73 +0,0 @@ - - - - - Debug - Win32 - - - Release - Win32 - - - - {DFE2695B-89AF-4B20-A9D0-016A72230CAA} - testBallroom - 8.1 - - - - Application - true - v140 - MultiByte - - - Application - false - v140 - true - MultiByte - - - - - - - - - - - - - - - - - - - Level3 - Disabled - true - - - - - Level3 - MaxSpeed - true - true - true - - - true - true - - - - - - - - - \ No newline at end of file diff --git a/winVS2015/vs2015/testBallroom.vcxproj.filters b/winVS2015/vs2015/testBallroom.vcxproj.filters deleted file mode 100644 index 2bbeb302f..000000000 --- a/winVS2015/vs2015/testBallroom.vcxproj.filters +++ /dev/null @@ -1,22 +0,0 @@ - - - - - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx - - - {93995380-89BD-4b04-88EB-625FBE52EBFB} - h;hh;hpp;hxx;hm;inl;inc;xsd - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms - - - - - Source Files - - - \ No newline at end of file diff --git a/winVS2015/vs2015/testBallroom.vcxproj.user b/winVS2015/vs2015/testBallroom.vcxproj.user deleted file mode 100644 index abe8dd896..000000000 --- a/winVS2015/vs2015/testBallroom.vcxproj.user +++ /dev/null @@ -1,4 +0,0 @@ - - - - \ No newline at end of file diff --git a/winVS2015/vs2015/testBlurImage.vcxproj b/winVS2015/vs2015/testBlurImage.vcxproj deleted file mode 100644 index 004dc3369..000000000 --- a/winVS2015/vs2015/testBlurImage.vcxproj +++ /dev/null @@ -1,73 +0,0 @@ - - - - - Debug - Win32 - - - Release - Win32 - - - - {1054C3EC-0CED-4E73-BC2B-7DED881C0181} - testBlurImage - 8.1 - - - - Application - true - v140 - MultiByte - - - Application - false - v140 - true - MultiByte - - - - - - - - - - - - - - - - - - - Level3 - Disabled - true - - - - - Level3 - MaxSpeed - true - true - true - - - true - true - - - - - - - - - \ No newline at end of file diff --git a/winVS2015/vs2015/testBlurImage.vcxproj.filters b/winVS2015/vs2015/testBlurImage.vcxproj.filters deleted file mode 100644 index 945ac05ce..000000000 --- a/winVS2015/vs2015/testBlurImage.vcxproj.filters +++ /dev/null @@ -1,22 +0,0 @@ - - - - - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx - - - {93995380-89BD-4b04-88EB-625FBE52EBFB} - h;hh;hpp;hxx;hm;inl;inc;xsd - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms - - - - - Source Files - - - \ No newline at end of file diff --git a/winVS2015/vs2015/testCalcPi.vcxproj b/winVS2015/vs2015/testCalcPi.vcxproj deleted file mode 100644 index 1d71471aa..000000000 --- a/winVS2015/vs2015/testCalcPi.vcxproj +++ /dev/null @@ -1,73 +0,0 @@ - - - - - Debug - Win32 - - - Release - Win32 - - - - {9A4C1953-CB99-426A-97D7-13E1870259A2} - testCalcPi - 8.1 - - - - Application - true - v140 - MultiByte - - - Application - false - v140 - true - MultiByte - - - - - - - - - - - - - - - - - - - Level3 - Disabled - true - - - - - Level3 - MaxSpeed - true - true - true - - - true - true - - - - - - - - - \ No newline at end of file diff --git a/winVS2015/vs2015/testCalcPi.vcxproj.filters b/winVS2015/vs2015/testCalcPi.vcxproj.filters deleted file mode 100644 index 5fd8d6615..000000000 --- a/winVS2015/vs2015/testCalcPi.vcxproj.filters +++ /dev/null @@ -1,22 +0,0 @@ - - - - - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx - - - {93995380-89BD-4b04-88EB-625FBE52EBFB} - h;hh;hpp;hxx;hm;inl;inc;xsd - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms - - - - - Source Files - - - \ No newline at end of file diff --git a/winVS2015/vs2015/testCalcPi.vcxproj.user b/winVS2015/vs2015/testCalcPi.vcxproj.user deleted file mode 100644 index abe8dd896..000000000 --- a/winVS2015/vs2015/testCalcPi.vcxproj.user +++ /dev/null @@ -1,4 +0,0 @@ - - - - \ No newline at end of file diff --git a/winVS2015/vs2015/testColorPoints.vcxproj b/winVS2015/vs2015/testColorPoints.vcxproj deleted file mode 100644 index 564690c9d..000000000 --- a/winVS2015/vs2015/testColorPoints.vcxproj +++ /dev/null @@ -1,73 +0,0 @@ - - - - - Debug - Win32 - - - Release - Win32 - - - - {C9021074-DAEB-41BA-93B4-44327DD4CAB9} - testColorPoints - 8.1 - - - - Application - true - v140 - MultiByte - - - Application - false - v140 - true - MultiByte - - - - - - - - - - - - - - - - - - - Level3 - Disabled - true - - - - - Level3 - MaxSpeed - true - true - true - - - true - true - - - - - - - - - \ No newline at end of file diff --git a/winVS2015/vs2015/testColorPoints.vcxproj.filters b/winVS2015/vs2015/testColorPoints.vcxproj.filters deleted file mode 100644 index f0fe7f668..000000000 --- a/winVS2015/vs2015/testColorPoints.vcxproj.filters +++ /dev/null @@ -1,22 +0,0 @@ - - - - - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx - - - {93995380-89BD-4b04-88EB-625FBE52EBFB} - h;hh;hpp;hxx;hm;inl;inc;xsd - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms - - - - - Source Files - - - \ No newline at end of file diff --git a/winVS2015/vs2015/testColorPoints.vcxproj.user b/winVS2015/vs2015/testColorPoints.vcxproj.user deleted file mode 100644 index abe8dd896..000000000 --- a/winVS2015/vs2015/testColorPoints.vcxproj.user +++ /dev/null @@ -1,4 +0,0 @@ - - - - \ No newline at end of file diff --git a/winVS2015/vs2015/testColorWheel.vcxproj b/winVS2015/vs2015/testColorWheel.vcxproj deleted file mode 100644 index 39c556263..000000000 --- a/winVS2015/vs2015/testColorWheel.vcxproj +++ /dev/null @@ -1,73 +0,0 @@ - - - - - Debug - Win32 - - - Release - Win32 - - - - {0F41C511-F91A-4A60-A4CA-DF5DB53140FC} - testColorWheel - 8.1 - - - - Application - true - v140 - MultiByte - - - Application - false - v140 - true - MultiByte - - - - - - - - - - - - - - - - - - - Level3 - Disabled - true - - - - - Level3 - MaxSpeed - true - true - true - - - true - true - - - - - - - - - \ No newline at end of file diff --git a/winVS2015/vs2015/testColorWheel.vcxproj.filters b/winVS2015/vs2015/testColorWheel.vcxproj.filters deleted file mode 100644 index d7d521e3e..000000000 --- a/winVS2015/vs2015/testColorWheel.vcxproj.filters +++ /dev/null @@ -1,22 +0,0 @@ - - - - - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx - - - {93995380-89BD-4b04-88EB-625FBE52EBFB} - h;hh;hpp;hxx;hm;inl;inc;xsd - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms - - - - - Source Files - - - \ No newline at end of file diff --git a/winVS2015/vs2015/testColorWheel.vcxproj.user b/winVS2015/vs2015/testColorWheel.vcxproj.user deleted file mode 100644 index abe8dd896..000000000 --- a/winVS2015/vs2015/testColorWheel.vcxproj.user +++ /dev/null @@ -1,4 +0,0 @@ - - - - \ No newline at end of file diff --git a/winVS2015/vs2015/testConcavePolygon.vcxproj b/winVS2015/vs2015/testConcavePolygon.vcxproj deleted file mode 100644 index 051028a8e..000000000 --- a/winVS2015/vs2015/testConcavePolygon.vcxproj +++ /dev/null @@ -1,73 +0,0 @@ - - - - - Debug - Win32 - - - Release - Win32 - - - - {ED93463C-70E6-4CFD-83A7-69ADA2EC6C02} - testConcavePolygon - 8.1 - - - - Application - true - v140 - MultiByte - - - Application - false - v140 - true - MultiByte - - - - - - - - - - - - - - - - - - - Level3 - Disabled - true - - - - - Level3 - MaxSpeed - true - true - true - - - true - true - - - - - - - - - \ No newline at end of file diff --git a/winVS2015/vs2015/testConcavePolygon.vcxproj.filters b/winVS2015/vs2015/testConcavePolygon.vcxproj.filters deleted file mode 100644 index d0e467c27..000000000 --- a/winVS2015/vs2015/testConcavePolygon.vcxproj.filters +++ /dev/null @@ -1,22 +0,0 @@ - - - - - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx - - - {93995380-89BD-4b04-88EB-625FBE52EBFB} - h;hh;hpp;hxx;hm;inl;inc;xsd - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms - - - - - Source Files - - - \ No newline at end of file diff --git a/winVS2015/vs2015/testConcavePolygon.vcxproj.user b/winVS2015/vs2015/testConcavePolygon.vcxproj.user deleted file mode 100644 index abe8dd896..000000000 --- a/winVS2015/vs2015/testConcavePolygon.vcxproj.user +++ /dev/null @@ -1,4 +0,0 @@ - - - - \ No newline at end of file diff --git a/winVS2015/vs2015/testConway.vcxproj b/winVS2015/vs2015/testConway.vcxproj deleted file mode 100644 index e72538482..000000000 --- a/winVS2015/vs2015/testConway.vcxproj +++ /dev/null @@ -1,77 +0,0 @@ - - - - - Debug - Win32 - - - Release - Win32 - - - - {D976C0C5-C094-406E-AD70-D64F5C79C994} - testConway - 8.1 - - - - Application - true - v140 - MultiByte - - - Application - false - v140 - true - MultiByte - - - - - - - - - - - - - - - - - - - Level3 - Disabled - true - - - - - Level3 - MaxSpeed - true - true - true - - - true - true - - - - - - - - - - - - - \ No newline at end of file diff --git a/winVS2015/vs2015/testConway.vcxproj.filters b/winVS2015/vs2015/testConway.vcxproj.filters deleted file mode 100644 index 8f5fc6514..000000000 --- a/winVS2015/vs2015/testConway.vcxproj.filters +++ /dev/null @@ -1,30 +0,0 @@ - - - - - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx - - - {93995380-89BD-4b04-88EB-625FBE52EBFB} - h;hh;hpp;hxx;hm;inl;inc;xsd - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms - - - - - Source Files - - - Source Files - - - - - Header Files - - - \ No newline at end of file diff --git a/winVS2015/vs2015/testCosineIntegral.vcxproj b/winVS2015/vs2015/testCosineIntegral.vcxproj deleted file mode 100644 index dc1ea3309..000000000 --- a/winVS2015/vs2015/testCosineIntegral.vcxproj +++ /dev/null @@ -1,73 +0,0 @@ - - - - - Debug - Win32 - - - Release - Win32 - - - - {504CBA8D-EA92-43CE-81C9-E43270805A7F} - testCosineIntegral - 8.1 - - - - Application - true - v140 - MultiByte - - - Application - false - v140 - true - MultiByte - - - - - - - - - - - - - - - - - - - Level3 - Disabled - true - - - - - Level3 - MaxSpeed - true - true - true - - - true - true - - - - - - - - - \ No newline at end of file diff --git a/winVS2015/vs2015/testCosineIntegral.vcxproj.filters b/winVS2015/vs2015/testCosineIntegral.vcxproj.filters deleted file mode 100644 index defc339f9..000000000 --- a/winVS2015/vs2015/testCosineIntegral.vcxproj.filters +++ /dev/null @@ -1,22 +0,0 @@ - - - - - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx - - - {93995380-89BD-4b04-88EB-625FBE52EBFB} - h;hh;hpp;hxx;hm;inl;inc;xsd - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms - - - - - Source Files - - - \ No newline at end of file diff --git a/winVS2015/vs2015/testDumbSort.vcxproj b/winVS2015/vs2015/testDumbSort.vcxproj deleted file mode 100644 index 446dd2647..000000000 --- a/winVS2015/vs2015/testDumbSort.vcxproj +++ /dev/null @@ -1,73 +0,0 @@ - - - - - Debug - Win32 - - - Release - Win32 - - - - {8A4BDD81-FA5F-4631-9572-959AB79AF784} - testDumbSort - 8.1 - - - - Application - true - v140 - MultiByte - - - Application - false - v140 - true - MultiByte - - - - - - - - - - - - - - - - - - - Level3 - Disabled - true - - - - - Level3 - MaxSpeed - true - true - true - - - true - true - - - - - - - - - \ No newline at end of file diff --git a/winVS2015/vs2015/testDumbSort.vcxproj.filters b/winVS2015/vs2015/testDumbSort.vcxproj.filters deleted file mode 100644 index 0bf67eb8f..000000000 --- a/winVS2015/vs2015/testDumbSort.vcxproj.filters +++ /dev/null @@ -1,22 +0,0 @@ - - - - - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx - - - {93995380-89BD-4b04-88EB-625FBE52EBFB} - h;hh;hpp;hxx;hm;inl;inc;xsd - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms - - - - - Source Files - - - \ No newline at end of file diff --git a/winVS2015/vs2015/testFireworks.vcxproj b/winVS2015/vs2015/testFireworks.vcxproj deleted file mode 100644 index f7e2a1ec7..000000000 --- a/winVS2015/vs2015/testFireworks.vcxproj +++ /dev/null @@ -1,73 +0,0 @@ - - - - - Debug - Win32 - - - Release - Win32 - - - - {D7E8F3B6-DB6C-4424-AE12-D825505C2C0A} - testFireworks - 8.1 - - - - Application - true - v140 - MultiByte - - - Application - false - v140 - true - MultiByte - - - - - - - - - - - - - - - - - - - Level3 - Disabled - true - - - - - Level3 - MaxSpeed - true - true - true - - - true - true - - - - - - - - - \ No newline at end of file diff --git a/winVS2015/vs2015/testFireworks.vcxproj.filters b/winVS2015/vs2015/testFireworks.vcxproj.filters deleted file mode 100644 index 01fdd61a9..000000000 --- a/winVS2015/vs2015/testFireworks.vcxproj.filters +++ /dev/null @@ -1,22 +0,0 @@ - - - - - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx - - - {93995380-89BD-4b04-88EB-625FBE52EBFB} - h;hh;hpp;hxx;hm;inl;inc;xsd - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms - - - - - Source Files - - - \ No newline at end of file diff --git a/winVS2015/vs2015/testFireworks.vcxproj.user b/winVS2015/vs2015/testFireworks.vcxproj.user deleted file mode 100644 index abe8dd896..000000000 --- a/winVS2015/vs2015/testFireworks.vcxproj.user +++ /dev/null @@ -1,4 +0,0 @@ - - - - \ No newline at end of file diff --git a/winVS2015/vs2015/testForestFire.vcxproj b/winVS2015/vs2015/testForestFire.vcxproj deleted file mode 100644 index 043def251..000000000 --- a/winVS2015/vs2015/testForestFire.vcxproj +++ /dev/null @@ -1,73 +0,0 @@ - - - - - Debug - Win32 - - - Release - Win32 - - - - {3CDA2E89-5B53-44BE-9504-DBEE01B1C92F} - testForestFire - 8.1 - - - - Application - true - v140 - MultiByte - - - Application - false - v140 - true - MultiByte - - - - - - - - - - - - - - - - - - - Level3 - Disabled - true - - - - - Level3 - MaxSpeed - true - true - true - - - true - true - - - - - - - - - \ No newline at end of file diff --git a/winVS2015/vs2015/testForestFire.vcxproj.filters b/winVS2015/vs2015/testForestFire.vcxproj.filters deleted file mode 100644 index dca619859..000000000 --- a/winVS2015/vs2015/testForestFire.vcxproj.filters +++ /dev/null @@ -1,22 +0,0 @@ - - - - - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx - - - {93995380-89BD-4b04-88EB-625FBE52EBFB} - h;hh;hpp;hxx;hm;inl;inc;xsd - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms - - - - - Source Files - - - \ No newline at end of file diff --git a/winVS2015/vs2015/testForestFire.vcxproj.user b/winVS2015/vs2015/testForestFire.vcxproj.user deleted file mode 100644 index abe8dd896..000000000 --- a/winVS2015/vs2015/testForestFire.vcxproj.user +++ /dev/null @@ -1,4 +0,0 @@ - - - - \ No newline at end of file diff --git a/winVS2015/vs2015/testFunction.vcxproj b/winVS2015/vs2015/testFunction.vcxproj deleted file mode 100644 index 1a6e037af..000000000 --- a/winVS2015/vs2015/testFunction.vcxproj +++ /dev/null @@ -1,73 +0,0 @@ - - - - - Debug - Win32 - - - Release - Win32 - - - - {0CCEBC78-F51C-4A79-86D0-42137BF00FB3} - testFunction - 8.1 - - - - Application - true - v140 - MultiByte - - - Application - false - v140 - true - MultiByte - - - - - - - - - - - - - - - - - - - Level3 - Disabled - true - - - - - Level3 - MaxSpeed - true - true - true - - - true - true - - - - - - - - - \ No newline at end of file diff --git a/winVS2015/vs2015/testFunction.vcxproj.filters b/winVS2015/vs2015/testFunction.vcxproj.filters deleted file mode 100644 index 1040f9fe6..000000000 --- a/winVS2015/vs2015/testFunction.vcxproj.filters +++ /dev/null @@ -1,22 +0,0 @@ - - - - - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx - - - {93995380-89BD-4b04-88EB-625FBE52EBFB} - h;hh;hpp;hxx;hm;inl;inc;xsd - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms - - - - - Source Files - - - \ No newline at end of file diff --git a/winVS2015/vs2015/testFunction.vcxproj.user b/winVS2015/vs2015/testFunction.vcxproj.user deleted file mode 100644 index abe8dd896..000000000 --- a/winVS2015/vs2015/testFunction.vcxproj.user +++ /dev/null @@ -1,4 +0,0 @@ - - - - \ No newline at end of file diff --git a/winVS2015/vs2015/testGetPixels.vcxproj b/winVS2015/vs2015/testGetPixels.vcxproj deleted file mode 100644 index 6888c0569..000000000 --- a/winVS2015/vs2015/testGetPixels.vcxproj +++ /dev/null @@ -1,73 +0,0 @@ - - - - - Debug - Win32 - - - Release - Win32 - - - - {D52C4C34-A1E4-4BE4-8CB7-C2BCA4DD9C02} - testGetPixels - 8.1 - - - - Application - true - v140 - MultiByte - - - Application - false - v140 - true - MultiByte - - - - - - - - - - - - - - - - - - - Level3 - Disabled - true - - - - - Level3 - MaxSpeed - true - true - true - - - true - true - - - - - - - - - \ No newline at end of file diff --git a/winVS2015/vs2015/testGetPixels.vcxproj.filters b/winVS2015/vs2015/testGetPixels.vcxproj.filters deleted file mode 100644 index fa4cf00d7..000000000 --- a/winVS2015/vs2015/testGetPixels.vcxproj.filters +++ /dev/null @@ -1,22 +0,0 @@ - - - - - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx - - - {93995380-89BD-4b04-88EB-625FBE52EBFB} - h;hh;hpp;hxx;hm;inl;inc;xsd - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms - - - - - Source Files - - - \ No newline at end of file diff --git a/winVS2015/vs2015/testGradientWheel.vcxproj b/winVS2015/vs2015/testGradientWheel.vcxproj deleted file mode 100644 index 017d354b4..000000000 --- a/winVS2015/vs2015/testGradientWheel.vcxproj +++ /dev/null @@ -1,73 +0,0 @@ - - - - - Debug - Win32 - - - Release - Win32 - - - - {C79EFBD3-7E90-48E3-84B9-C713016D5A1D} - testGradientWheel - 8.1 - - - - Application - true - v140 - MultiByte - - - Application - false - v140 - true - MultiByte - - - - - - - - - - - - - - - - - - - Level3 - Disabled - true - - - - - Level3 - MaxSpeed - true - true - true - - - true - true - - - - - - - - - \ No newline at end of file diff --git a/winVS2015/vs2015/testGradientWheel.vcxproj.filters b/winVS2015/vs2015/testGradientWheel.vcxproj.filters deleted file mode 100644 index 11d5ac2bd..000000000 --- a/winVS2015/vs2015/testGradientWheel.vcxproj.filters +++ /dev/null @@ -1,22 +0,0 @@ - - - - - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx - - - {93995380-89BD-4b04-88EB-625FBE52EBFB} - h;hh;hpp;hxx;hm;inl;inc;xsd - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms - - - - - Source Files - - - \ No newline at end of file diff --git a/winVS2015/vs2015/testGraydient.vcxproj b/winVS2015/vs2015/testGraydient.vcxproj deleted file mode 100644 index 6bf59ec37..000000000 --- a/winVS2015/vs2015/testGraydient.vcxproj +++ /dev/null @@ -1,73 +0,0 @@ - - - - - Debug - Win32 - - - Release - Win32 - - - - {C0EF0243-3466-46C3-8D44-13F089052E84} - testGraydient - 8.1 - - - - Application - true - v140 - MultiByte - - - Application - false - v140 - true - MultiByte - - - - - - - - - - - - - - - - - - - Level3 - Disabled - true - - - - - Level3 - MaxSpeed - true - true - true - - - true - true - - - - - - - - - \ No newline at end of file diff --git a/winVS2015/vs2015/testGraydient.vcxproj.filters b/winVS2015/vs2015/testGraydient.vcxproj.filters deleted file mode 100644 index 1587dc6e7..000000000 --- a/winVS2015/vs2015/testGraydient.vcxproj.filters +++ /dev/null @@ -1,22 +0,0 @@ - - - - - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx - - - {93995380-89BD-4b04-88EB-625FBE52EBFB} - h;hh;hpp;hxx;hm;inl;inc;xsd - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms - - - - - Source Files - - - \ No newline at end of file diff --git a/winVS2015/vs2015/testGreyscale.vcxproj b/winVS2015/vs2015/testGreyscale.vcxproj deleted file mode 100644 index 45296af77..000000000 --- a/winVS2015/vs2015/testGreyscale.vcxproj +++ /dev/null @@ -1,73 +0,0 @@ - - - - - Debug - Win32 - - - Release - Win32 - - - - {0D2545F6-BB1C-4EA2-8D45-B57BBB3F7A1F} - testGreyscale - 8.1 - - - - Application - true - v140 - MultiByte - - - Application - false - v140 - true - MultiByte - - - - - - - - - - - - - - - - - - - Level3 - Disabled - true - - - - - Level3 - MaxSpeed - true - true - true - - - true - true - - - - - - - - - \ No newline at end of file diff --git a/winVS2015/vs2015/testGreyscale.vcxproj.filters b/winVS2015/vs2015/testGreyscale.vcxproj.filters deleted file mode 100644 index 67881434a..000000000 --- a/winVS2015/vs2015/testGreyscale.vcxproj.filters +++ /dev/null @@ -1,22 +0,0 @@ - - - - - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx - - - {93995380-89BD-4b04-88EB-625FBE52EBFB} - h;hh;hpp;hxx;hm;inl;inc;xsd - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms - - - - - Source Files - - - \ No newline at end of file diff --git a/winVS2015/vs2015/testHighData.vcxproj b/winVS2015/vs2015/testHighData.vcxproj deleted file mode 100644 index b466d25bd..000000000 --- a/winVS2015/vs2015/testHighData.vcxproj +++ /dev/null @@ -1,73 +0,0 @@ - - - - - Debug - Win32 - - - Release - Win32 - - - - {25B80A7F-BB1A-4784-AB72-A1431D8069A2} - testHighData - 8.1 - - - - Application - true - v140 - MultiByte - - - Application - false - v140 - true - MultiByte - - - - - - - - - - - - - - - - - - - Level3 - Disabled - true - - - - - Level3 - MaxSpeed - true - true - true - - - true - true - - - - - - - - - \ No newline at end of file diff --git a/winVS2015/vs2015/testHighData.vcxproj.filters b/winVS2015/vs2015/testHighData.vcxproj.filters deleted file mode 100644 index 4586d6aa8..000000000 --- a/winVS2015/vs2015/testHighData.vcxproj.filters +++ /dev/null @@ -1,22 +0,0 @@ - - - - - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx - - - {93995380-89BD-4b04-88EB-625FBE52EBFB} - h;hh;hpp;hxx;hm;inl;inc;xsd - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms - - - - - Source Files - - - \ No newline at end of file diff --git a/winVS2015/vs2015/testImage.vcxproj b/winVS2015/vs2015/testImage.vcxproj deleted file mode 100644 index 5bf92ce26..000000000 --- a/winVS2015/vs2015/testImage.vcxproj +++ /dev/null @@ -1,73 +0,0 @@ - - - - - Debug - Win32 - - - Release - Win32 - - - - {7A9B19BE-6E1C-4394-BB7A-E75A1CF260C5} - testImage - 8.1 - - - - Application - true - v140 - MultiByte - - - Application - false - v140 - true - MultiByte - - - - - - - - - - - - - - - - - - - Level3 - Disabled - true - - - - - Level3 - MaxSpeed - true - true - true - - - true - true - - - - - - - - - \ No newline at end of file diff --git a/winVS2015/vs2015/testImage.vcxproj.filters b/winVS2015/vs2015/testImage.vcxproj.filters deleted file mode 100644 index bddc52962..000000000 --- a/winVS2015/vs2015/testImage.vcxproj.filters +++ /dev/null @@ -1,22 +0,0 @@ - - - - - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx - - - {93995380-89BD-4b04-88EB-625FBE52EBFB} - h;hh;hpp;hxx;hm;inl;inc;xsd - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms - - - - - Source Files - - - \ No newline at end of file diff --git a/winVS2015/vs2015/testImageCart.vcxproj b/winVS2015/vs2015/testImageCart.vcxproj deleted file mode 100644 index 05ea65bc3..000000000 --- a/winVS2015/vs2015/testImageCart.vcxproj +++ /dev/null @@ -1,73 +0,0 @@ - - - - - Debug - Win32 - - - Release - Win32 - - - - {8A05EB64-E40B-4E6B-ACA2-F6749C5C23CE} - testImageCart - 8.1 - - - - Application - true - v140 - MultiByte - - - Application - false - v140 - true - MultiByte - - - - - - - - - - - - - - - - - - - Level3 - Disabled - true - - - - - Level3 - MaxSpeed - true - true - true - - - true - true - - - - - - - - - \ No newline at end of file diff --git a/winVS2015/vs2015/testImageCart.vcxproj.filters b/winVS2015/vs2015/testImageCart.vcxproj.filters deleted file mode 100644 index 0d0b8408a..000000000 --- a/winVS2015/vs2015/testImageCart.vcxproj.filters +++ /dev/null @@ -1,22 +0,0 @@ - - - - - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx - - - {93995380-89BD-4b04-88EB-625FBE52EBFB} - h;hh;hpp;hxx;hm;inl;inc;xsd - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms - - - - - Source Files - - - \ No newline at end of file diff --git a/winVS2015/vs2015/testInverter.vcxproj b/winVS2015/vs2015/testInverter.vcxproj deleted file mode 100644 index 929a8e4fa..000000000 --- a/winVS2015/vs2015/testInverter.vcxproj +++ /dev/null @@ -1,77 +0,0 @@ - - - - - Debug - Win32 - - - Release - Win32 - - - - {6A28DF13-C6A1-45CC-9F99-B5C5A8452170} - testInverter - 8.1 - - - - Application - true - v140 - MultiByte - - - Application - false - v140 - true - MultiByte - - - - - - - - - - - - - - - - - - - Level3 - Disabled - true - - - - - Level3 - MaxSpeed - true - true - true - - - true - true - - - - - - - - - - - - - \ No newline at end of file diff --git a/winVS2015/vs2015/testInverter.vcxproj.filters b/winVS2015/vs2015/testInverter.vcxproj.filters deleted file mode 100644 index 1cac19a50..000000000 --- a/winVS2015/vs2015/testInverter.vcxproj.filters +++ /dev/null @@ -1,30 +0,0 @@ - - - - - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx - - - {93995380-89BD-4b04-88EB-625FBE52EBFB} - h;hh;hpp;hxx;hm;inl;inc;xsd - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms - - - - - Source Files - - - Source Files - - - - - Header Files - - - \ No newline at end of file diff --git a/winVS2015/vs2015/testInverter.vcxproj.user b/winVS2015/vs2015/testInverter.vcxproj.user deleted file mode 100644 index abe8dd896..000000000 --- a/winVS2015/vs2015/testInverter.vcxproj.user +++ /dev/null @@ -1,4 +0,0 @@ - - - - \ No newline at end of file diff --git a/winVS2015/vs2015/testLangton.vcxproj b/winVS2015/vs2015/testLangton.vcxproj deleted file mode 100644 index b77a236c2..000000000 --- a/winVS2015/vs2015/testLangton.vcxproj +++ /dev/null @@ -1,79 +0,0 @@ - - - - - Debug - Win32 - - - Release - Win32 - - - - {D2244954-C45F-4BC2-91EC-B942447692D1} - testLangton - 8.1 - - - - Application - true - v140 - MultiByte - - - Application - false - v140 - true - MultiByte - - - - - - - - - - - - - - - - - - - Level3 - Disabled - true - - - - - Level3 - MaxSpeed - true - true - true - - - true - true - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/winVS2015/vs2015/testLangton.vcxproj.filters b/winVS2015/vs2015/testLangton.vcxproj.filters deleted file mode 100644 index d72b96498..000000000 --- a/winVS2015/vs2015/testLangton.vcxproj.filters +++ /dev/null @@ -1,36 +0,0 @@ - - - - - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx - - - {93995380-89BD-4b04-88EB-625FBE52EBFB} - h;hh;hpp;hxx;hm;inl;inc;xsd - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms - - - - - Source Files - - - Source Files - - - Source Files - - - - - Header Files - - - Header Files - - - \ No newline at end of file diff --git a/winVS2015/vs2015/testLineChain.vcxproj b/winVS2015/vs2015/testLineChain.vcxproj deleted file mode 100644 index 21248126c..000000000 --- a/winVS2015/vs2015/testLineChain.vcxproj +++ /dev/null @@ -1,73 +0,0 @@ - - - - - Debug - Win32 - - - Release - Win32 - - - - {651129E0-7318-483E-9110-A60B50E9D40F} - testLineChain - 8.1 - - - - Application - true - v140 - MultiByte - - - Application - false - v140 - true - MultiByte - - - - - - - - - - - - - - - - - - - Level3 - Disabled - true - - - - - Level3 - MaxSpeed - true - true - true - - - true - true - - - - - - - - - \ No newline at end of file diff --git a/winVS2015/vs2015/testLineChain.vcxproj.filters b/winVS2015/vs2015/testLineChain.vcxproj.filters deleted file mode 100644 index 81eb469f4..000000000 --- a/winVS2015/vs2015/testLineChain.vcxproj.filters +++ /dev/null @@ -1,22 +0,0 @@ - - - - - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx - - - {93995380-89BD-4b04-88EB-625FBE52EBFB} - h;hh;hpp;hxx;hm;inl;inc;xsd - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms - - - - - Source Files - - - \ No newline at end of file diff --git a/winVS2015/vs2015/testLineFan.vcxproj b/winVS2015/vs2015/testLineFan.vcxproj deleted file mode 100644 index 74b3f5276..000000000 --- a/winVS2015/vs2015/testLineFan.vcxproj +++ /dev/null @@ -1,73 +0,0 @@ - - - - - Debug - Win32 - - - Release - Win32 - - - - {12E6854F-FA5B-4E3F-9AD3-B007B66F4EAC} - testLineFan - 8.1 - - - - Application - true - v140 - MultiByte - - - Application - false - v140 - true - MultiByte - - - - - - - - - - - - - - - - - - - Level3 - Disabled - true - - - - - Level3 - MaxSpeed - true - true - true - - - true - true - - - - - - - - - \ No newline at end of file diff --git a/winVS2015/vs2015/testLineFan.vcxproj.filters b/winVS2015/vs2015/testLineFan.vcxproj.filters deleted file mode 100644 index 38f3d35f2..000000000 --- a/winVS2015/vs2015/testLineFan.vcxproj.filters +++ /dev/null @@ -1,22 +0,0 @@ - - - - - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx - - - {93995380-89BD-4b04-88EB-625FBE52EBFB} - h;hh;hpp;hxx;hm;inl;inc;xsd - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms - - - - - Source Files - - - \ No newline at end of file diff --git a/winVS2015/vs2015/testMandelbrot.vcxproj b/winVS2015/vs2015/testMandelbrot.vcxproj deleted file mode 100644 index 9581387cb..000000000 --- a/winVS2015/vs2015/testMandelbrot.vcxproj +++ /dev/null @@ -1,85 +0,0 @@ - - - - - Debug - Win32 - - - Release - Win32 - - - - {A95A2C64-09E2-4907-81B5-2D54D42EEC04} - testMandelbrot - 8.1 - - - - Application - true - v140 - MultiByte - - - Application - false - v140 - true - MultiByte - - - - - - - - - - - - - - - - - - - Level3 - Disabled - true - - - - - Level3 - MaxSpeed - true - true - true - - - true - true - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/winVS2015/vs2015/testMandelbrot.vcxproj.filters b/winVS2015/vs2015/testMandelbrot.vcxproj.filters deleted file mode 100644 index 7fb4c3558..000000000 --- a/winVS2015/vs2015/testMandelbrot.vcxproj.filters +++ /dev/null @@ -1,54 +0,0 @@ - - - - - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx - - - {93995380-89BD-4b04-88EB-625FBE52EBFB} - h;hh;hpp;hxx;hm;inl;inc;xsd - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms - - - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - \ No newline at end of file diff --git a/winVS2015/vs2015/testMouse.vcxproj b/winVS2015/vs2015/testMouse.vcxproj deleted file mode 100644 index 7f5ab92ed..000000000 --- a/winVS2015/vs2015/testMouse.vcxproj +++ /dev/null @@ -1,73 +0,0 @@ - - - - - Debug - Win32 - - - Release - Win32 - - - - {CB67697C-5861-44A4-AFB7-09A24F27771D} - testMouse - 8.1 - - - - Application - true - v140 - MultiByte - - - Application - false - v140 - true - MultiByte - - - - - - - - - - - - - - - - - - - Level3 - Disabled - true - - - - - Level3 - MaxSpeed - true - true - true - - - true - true - - - - - - - - - \ No newline at end of file diff --git a/winVS2015/vs2015/testMouse.vcxproj.filters b/winVS2015/vs2015/testMouse.vcxproj.filters deleted file mode 100644 index ae814b35f..000000000 --- a/winVS2015/vs2015/testMouse.vcxproj.filters +++ /dev/null @@ -1,22 +0,0 @@ - - - - - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx - - - {93995380-89BD-4b04-88EB-625FBE52EBFB} - h;hh;hpp;hxx;hm;inl;inc;xsd - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms - - - - - Source Files - - - \ No newline at end of file diff --git a/winVS2015/vs2015/testNewtonPendulum.vcxproj b/winVS2015/vs2015/testNewtonPendulum.vcxproj deleted file mode 100644 index dfa482a9e..000000000 --- a/winVS2015/vs2015/testNewtonPendulum.vcxproj +++ /dev/null @@ -1,73 +0,0 @@ - - - - - Debug - Win32 - - - Release - Win32 - - - - {9B86A3BC-F918-4980-AAD4-28CD9C2A3B2A} - testNewtonPendulum - 8.1 - - - - Application - true - v140 - MultiByte - - - Application - false - v140 - true - MultiByte - - - - - - - - - - - - - - - - - - - Level3 - Disabled - true - - - - - Level3 - MaxSpeed - true - true - true - - - true - true - - - - - - - - - \ No newline at end of file diff --git a/winVS2015/vs2015/testNewtonPendulum.vcxproj.filters b/winVS2015/vs2015/testNewtonPendulum.vcxproj.filters deleted file mode 100644 index 6dced9770..000000000 --- a/winVS2015/vs2015/testNewtonPendulum.vcxproj.filters +++ /dev/null @@ -1,22 +0,0 @@ - - - - - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx - - - {93995380-89BD-4b04-88EB-625FBE52EBFB} - h;hh;hpp;hxx;hm;inl;inc;xsd - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms - - - - - Source Files - - - \ No newline at end of file diff --git a/winVS2015/vs2015/testPhilosophers.vcxproj b/winVS2015/vs2015/testPhilosophers.vcxproj deleted file mode 100644 index f45d171df..000000000 --- a/winVS2015/vs2015/testPhilosophers.vcxproj +++ /dev/null @@ -1,73 +0,0 @@ - - - - - Debug - Win32 - - - Release - Win32 - - - - {A6C99933-9A13-41BA-B7F8-215E92C96285} - testPhilosophers - 8.1 - - - - Application - true - v140 - MultiByte - - - Application - false - v140 - true - MultiByte - - - - - - - - - - - - - - - - - - - Level3 - Disabled - true - - - - - Level3 - MaxSpeed - true - true - true - - - true - true - - - - - - - - - \ No newline at end of file diff --git a/winVS2015/vs2015/testPhilosophers.vcxproj.filters b/winVS2015/vs2015/testPhilosophers.vcxproj.filters deleted file mode 100644 index 539a7a080..000000000 --- a/winVS2015/vs2015/testPhilosophers.vcxproj.filters +++ /dev/null @@ -1,22 +0,0 @@ - - - - - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx - - - {93995380-89BD-4b04-88EB-625FBE52EBFB} - h;hh;hpp;hxx;hm;inl;inc;xsd - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms - - - - - Source Files - - - \ No newline at end of file diff --git a/winVS2015/vs2015/testPong.vcxproj b/winVS2015/vs2015/testPong.vcxproj deleted file mode 100644 index e1a4637df..000000000 --- a/winVS2015/vs2015/testPong.vcxproj +++ /dev/null @@ -1,81 +0,0 @@ - - - - - Debug - Win32 - - - Release - Win32 - - - - {9ED2F9A1-D82E-4E24-8757-4FA45E972EB7} - testPong - 8.1 - - - - Application - true - v140 - MultiByte - - - Application - false - v140 - true - MultiByte - - - - - - - - - - - - - - - - - - - Level3 - Disabled - true - - - - - Level3 - MaxSpeed - true - true - true - - - true - true - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/winVS2015/vs2015/testPong.vcxproj.filters b/winVS2015/vs2015/testPong.vcxproj.filters deleted file mode 100644 index 693ea085a..000000000 --- a/winVS2015/vs2015/testPong.vcxproj.filters +++ /dev/null @@ -1,42 +0,0 @@ - - - - - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx - - - {93995380-89BD-4b04-88EB-625FBE52EBFB} - h;hh;hpp;hxx;hm;inl;inc;xsd - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms - - - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - - - Header Files - - - Header Files - - - Header Files - - - \ No newline at end of file diff --git a/winVS2015/vs2015/testProjectiles.vcxproj b/winVS2015/vs2015/testProjectiles.vcxproj deleted file mode 100644 index d77a3c13f..000000000 --- a/winVS2015/vs2015/testProjectiles.vcxproj +++ /dev/null @@ -1,73 +0,0 @@ - - - - - Debug - Win32 - - - Release - Win32 - - - - {8701A87E-24FF-427B-B764-581604002EBB} - testProjectiles - 8.1 - - - - Application - true - v140 - MultiByte - - - Application - false - v140 - true - MultiByte - - - - - - - - - - - - - - - - - - - Level3 - Disabled - true - - - - - Level3 - MaxSpeed - true - true - true - - - true - true - - - - - - - - - \ No newline at end of file diff --git a/winVS2015/vs2015/testProjectiles.vcxproj.filters b/winVS2015/vs2015/testProjectiles.vcxproj.filters deleted file mode 100644 index cead0943f..000000000 --- a/winVS2015/vs2015/testProjectiles.vcxproj.filters +++ /dev/null @@ -1,22 +0,0 @@ - - - - - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx - - - {93995380-89BD-4b04-88EB-625FBE52EBFB} - h;hh;hpp;hxx;hm;inl;inc;xsd - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms - - - - - Source Files - - - \ No newline at end of file diff --git a/winVS2015/vs2015/testProjectiles.vcxproj.user b/winVS2015/vs2015/testProjectiles.vcxproj.user deleted file mode 100644 index abe8dd896..000000000 --- a/winVS2015/vs2015/testProjectiles.vcxproj.user +++ /dev/null @@ -1,4 +0,0 @@ - - - - \ No newline at end of file diff --git a/winVS2015/vs2015/testScreenshot.vcxproj b/winVS2015/vs2015/testScreenshot.vcxproj deleted file mode 100644 index a3daf68af..000000000 --- a/winVS2015/vs2015/testScreenshot.vcxproj +++ /dev/null @@ -1,73 +0,0 @@ - - - - - Debug - Win32 - - - Release - Win32 - - - - {49B4D19A-324B-4CEA-AA67-40A729E10FC5} - testScreenshot - 8.1 - - - - Application - true - v140 - MultiByte - - - Application - false - v140 - true - MultiByte - - - - - - - - - - - - - - - - - - - Level3 - Disabled - true - - - - - Level3 - MaxSpeed - true - true - true - - - true - true - - - - - - - - - \ No newline at end of file diff --git a/winVS2015/vs2015/testScreenshot.vcxproj.filters b/winVS2015/vs2015/testScreenshot.vcxproj.filters deleted file mode 100644 index af6a1ef24..000000000 --- a/winVS2015/vs2015/testScreenshot.vcxproj.filters +++ /dev/null @@ -1,22 +0,0 @@ - - - - - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx - - - {93995380-89BD-4b04-88EB-625FBE52EBFB} - h;hh;hpp;hxx;hm;inl;inc;xsd - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms - - - - - Source Files - - - \ No newline at end of file diff --git a/winVS2015/vs2015/testSeaUrchin.vcxproj b/winVS2015/vs2015/testSeaUrchin.vcxproj deleted file mode 100644 index fa84776d8..000000000 --- a/winVS2015/vs2015/testSeaUrchin.vcxproj +++ /dev/null @@ -1,77 +0,0 @@ - - - - - Debug - Win32 - - - Release - Win32 - - - - {DC4FFBCE-C013-4878-8373-2C620119A8E8} - testSeaUrchin - 8.1 - - - - Application - true - v140 - MultiByte - - - Application - false - v140 - true - MultiByte - - - - - - - - - - - - - - - - - - - Level3 - Disabled - true - - - - - Level3 - MaxSpeed - true - true - true - - - true - true - - - - - - - - - - - - - \ No newline at end of file diff --git a/winVS2015/vs2015/testSeaUrchin.vcxproj.filters b/winVS2015/vs2015/testSeaUrchin.vcxproj.filters deleted file mode 100644 index 90ea65db3..000000000 --- a/winVS2015/vs2015/testSeaUrchin.vcxproj.filters +++ /dev/null @@ -1,30 +0,0 @@ - - - - - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx - - - {93995380-89BD-4b04-88EB-625FBE52EBFB} - h;hh;hpp;hxx;hm;inl;inc;xsd - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms - - - - - Source Files - - - Source Files - - - - - Header Files - - - \ No newline at end of file diff --git a/winVS2015/vs2015/testSmartSort.vcxproj b/winVS2015/vs2015/testSmartSort.vcxproj deleted file mode 100644 index 0301a4c26..000000000 --- a/winVS2015/vs2015/testSmartSort.vcxproj +++ /dev/null @@ -1,73 +0,0 @@ - - - - - Debug - Win32 - - - Release - Win32 - - - - {7A39C440-6EA7-4437-8DF5-3A373EA88758} - testSmartSort - 8.1 - - - - Application - true - v140 - MultiByte - - - Application - false - v140 - true - MultiByte - - - - - - - - - - - - - - - - - - - Level3 - Disabled - true - - - - - Level3 - MaxSpeed - true - true - true - - - true - true - - - - - - - - - \ No newline at end of file diff --git a/winVS2015/vs2015/testSmartSort.vcxproj.filters b/winVS2015/vs2015/testSmartSort.vcxproj.filters deleted file mode 100644 index 3057a1913..000000000 --- a/winVS2015/vs2015/testSmartSort.vcxproj.filters +++ /dev/null @@ -1,22 +0,0 @@ - - - - - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx - - - {93995380-89BD-4b04-88EB-625FBE52EBFB} - h;hh;hpp;hxx;hm;inl;inc;xsd - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms - - - - - Source Files - - - \ No newline at end of file diff --git a/winVS2015/vs2015/testSpectrogram.vcxproj b/winVS2015/vs2015/testSpectrogram.vcxproj deleted file mode 100644 index a73517e66..000000000 --- a/winVS2015/vs2015/testSpectrogram.vcxproj +++ /dev/null @@ -1,73 +0,0 @@ - - - - - Debug - Win32 - - - Release - Win32 - - - - {390F2445-49D1-47D9-B46D-44AA006CACD3} - testSpectrogram - 8.1 - - - - Application - true - v140 - MultiByte - - - Application - false - v140 - true - MultiByte - - - - - - - - - - - - - - - - - - - Level3 - Disabled - true - - - - - Level3 - MaxSpeed - true - true - true - - - true - true - - - - - - - - - \ No newline at end of file diff --git a/winVS2015/vs2015/testSpectrogram.vcxproj.filters b/winVS2015/vs2015/testSpectrogram.vcxproj.filters deleted file mode 100644 index 756817a3d..000000000 --- a/winVS2015/vs2015/testSpectrogram.vcxproj.filters +++ /dev/null @@ -1,22 +0,0 @@ - - - - - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx - - - {93995380-89BD-4b04-88EB-625FBE52EBFB} - h;hh;hpp;hxx;hm;inl;inc;xsd - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms - - - - - Source Files - - - \ No newline at end of file diff --git a/winVS2015/vs2015/testSpectrum.vcxproj b/winVS2015/vs2015/testSpectrum.vcxproj deleted file mode 100644 index f0941ca3b..000000000 --- a/winVS2015/vs2015/testSpectrum.vcxproj +++ /dev/null @@ -1,73 +0,0 @@ - - - - - Debug - Win32 - - - Release - Win32 - - - - {E1FF87B9-7789-4815-BB58-2ECF21621FCF} - testSpectrum - 8.1 - - - - Application - true - v140 - MultiByte - - - Application - false - v140 - true - MultiByte - - - - - - - - - - - - - - - - - - - Level3 - Disabled - true - - - - - Level3 - MaxSpeed - true - true - true - - - true - true - - - - - - - - - \ No newline at end of file diff --git a/winVS2015/vs2015/testSpectrum.vcxproj.filters b/winVS2015/vs2015/testSpectrum.vcxproj.filters deleted file mode 100644 index 07cac650c..000000000 --- a/winVS2015/vs2015/testSpectrum.vcxproj.filters +++ /dev/null @@ -1,22 +0,0 @@ - - - - - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx - - - {93995380-89BD-4b04-88EB-625FBE52EBFB} - h;hh;hpp;hxx;hm;inl;inc;xsd - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms - - - - - Source Files - - - \ No newline at end of file diff --git a/winVS2015/vs2015/testText.vcxproj b/winVS2015/vs2015/testText.vcxproj deleted file mode 100644 index c3e2c38f3..000000000 --- a/winVS2015/vs2015/testText.vcxproj +++ /dev/null @@ -1,73 +0,0 @@ - - - - - Debug - Win32 - - - Release - Win32 - - - - {6024FAA9-371A-4018-A17A-5FB219B38846} - testText - 8.1 - - - - Application - true - v140 - MultiByte - - - Application - false - v140 - true - MultiByte - - - - - - - - - - - - - - - - - - - Level3 - Disabled - true - - - - - Level3 - MaxSpeed - true - true - true - - - true - true - - - - - - - - - \ No newline at end of file diff --git a/winVS2015/vs2015/testText.vcxproj.filters b/winVS2015/vs2015/testText.vcxproj.filters deleted file mode 100644 index 8bc0f22e9..000000000 --- a/winVS2015/vs2015/testText.vcxproj.filters +++ /dev/null @@ -1,22 +0,0 @@ - - - - - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx - - - {93995380-89BD-4b04-88EB-625FBE52EBFB} - h;hh;hpp;hxx;hm;inl;inc;xsd - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms - - - - - Source Files - - - \ No newline at end of file diff --git a/winVS2015/vs2015/testTextCart.vcxproj b/winVS2015/vs2015/testTextCart.vcxproj deleted file mode 100644 index 09d00af1f..000000000 --- a/winVS2015/vs2015/testTextCart.vcxproj +++ /dev/null @@ -1,73 +0,0 @@ - - - - - Debug - Win32 - - - Release - Win32 - - - - {73266FC8-6BDA-442F-923D-4F408B62AF8A} - testTextCart - 8.1 - - - - Application - true - v140 - MultiByte - - - Application - false - v140 - true - MultiByte - - - - - - - - - - - - - - - - - - - Level3 - Disabled - true - - - - - Level3 - MaxSpeed - true - true - true - - - true - true - - - - - - - - - \ No newline at end of file diff --git a/winVS2015/vs2015/testTextCart.vcxproj.filters b/winVS2015/vs2015/testTextCart.vcxproj.filters deleted file mode 100644 index 466666dd6..000000000 --- a/winVS2015/vs2015/testTextCart.vcxproj.filters +++ /dev/null @@ -1,22 +0,0 @@ - - - - - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx - - - {93995380-89BD-4b04-88EB-625FBE52EBFB} - h;hh;hpp;hxx;hm;inl;inc;xsd - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms - - - - - Source Files - - - \ No newline at end of file diff --git a/winVS2015/vs2015/testTextTwo.vcxproj b/winVS2015/vs2015/testTextTwo.vcxproj deleted file mode 100644 index af3bd5cdf..000000000 --- a/winVS2015/vs2015/testTextTwo.vcxproj +++ /dev/null @@ -1,73 +0,0 @@ - - - - - Debug - Win32 - - - Release - Win32 - - - - {11532711-E782-4615-990C-5DA8E66D7697} - testTextTwo - 8.1 - - - - Application - true - v140 - MultiByte - - - Application - false - v140 - true - MultiByte - - - - - - - - - - - - - - - - - - - Level3 - Disabled - true - - - - - Level3 - MaxSpeed - true - true - true - - - true - true - - - - - - - - - \ No newline at end of file diff --git a/winVS2015/vs2015/testTextTwo.vcxproj.filters b/winVS2015/vs2015/testTextTwo.vcxproj.filters deleted file mode 100644 index fec170c10..000000000 --- a/winVS2015/vs2015/testTextTwo.vcxproj.filters +++ /dev/null @@ -1,22 +0,0 @@ - - - - - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx - - - {93995380-89BD-4b04-88EB-625FBE52EBFB} - h;hh;hpp;hxx;hm;inl;inc;xsd - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms - - - - - Source Files - - - \ No newline at end of file diff --git a/winVS2015/vs2015/testUnits.vcxproj b/winVS2015/vs2015/testUnits.vcxproj deleted file mode 100644 index eab28e3a0..000000000 --- a/winVS2015/vs2015/testUnits.vcxproj +++ /dev/null @@ -1,73 +0,0 @@ - - - - - Debug - Win32 - - - Release - Win32 - - - - {94944F08-BB4B-4459-95E7-1113E89D2A7C} - testUnits - 8.1 - - - - Application - true - v140 - MultiByte - - - Application - false - v140 - true - MultiByte - - - - - - - - - - - - - - - - - - - Level3 - Disabled - true - - - - - Level3 - MaxSpeed - true - true - true - - - true - true - - - - - - - - - \ No newline at end of file diff --git a/winVS2015/vs2015/testUnits.vcxproj.filters b/winVS2015/vs2015/testUnits.vcxproj.filters deleted file mode 100644 index 65d1a9cd8..000000000 --- a/winVS2015/vs2015/testUnits.vcxproj.filters +++ /dev/null @@ -1,22 +0,0 @@ - - - - - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx - - - {93995380-89BD-4b04-88EB-625FBE52EBFB} - h;hh;hpp;hxx;hm;inl;inc;xsd - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms - - - - - Source Files - - - \ No newline at end of file diff --git a/winVS2015/vs2015/testVoronoi.vcxproj b/winVS2015/vs2015/testVoronoi.vcxproj deleted file mode 100644 index 5af1959a2..000000000 --- a/winVS2015/vs2015/testVoronoi.vcxproj +++ /dev/null @@ -1,79 +0,0 @@ - - - - - Debug - Win32 - - - Release - Win32 - - - - {A795E4C5-A5FC-4FFD-A49B-6D73E4B2A4B4} - testVoronoi - 8.1 - - - - Application - true - v140 - MultiByte - - - Application - false - v140 - true - MultiByte - - - - - - - - - - - - - - - - - - - Level3 - Disabled - true - - - - - Level3 - MaxSpeed - true - true - true - - - true - true - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/winVS2015/vs2015/testVoronoi.vcxproj.filters b/winVS2015/vs2015/testVoronoi.vcxproj.filters deleted file mode 100644 index 3fe8f71d6..000000000 --- a/winVS2015/vs2015/testVoronoi.vcxproj.filters +++ /dev/null @@ -1,36 +0,0 @@ - - - - - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx - - - {93995380-89BD-4b04-88EB-625FBE52EBFB} - h;hh;hpp;hxx;hm;inl;inc;xsd - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms - - - - - Source Files - - - Source Files - - - Source Files - - - - - Header Files - - - Header Files - - - \ No newline at end of file diff --git a/windows/runtests.bat b/windows/runtests.bat deleted file mode 100644 index fafd67de5..000000000 --- a/windows/runtests.bat +++ /dev/null @@ -1,41 +0,0 @@ -set run=start /d ".\Debug\" /wait "" - -%run% testAlphaRectangle.exe 640 480 -%run% testAura.exe 1200 900 8 -%run% testBallroom.exe 640 640 -%run% testBlurImage.exe 36 ../assets/pics/HDR_landscape.jpg -%run% testCalcPi.exe 100 4 -%run% testColorPoints.exe 400 400 4 -%run% testColorWheel.exe 640 640 64 -%run% testConway.exe 640 640 -%run% testCosineIntegral.exe 640 480 32 -%run% testDumbSort.exe 1200 600 -%run% testFireworks.exe 800 800 4 50 10 -%run% testForestFire.exe 800 600 -%run% testFunction.exe 640 480 -%run% testGetPixels.exe 4 -%run% testGradientWheel.exe 640 640 256 -%run% testGraydient.exe 400 400 8 -%run% testGreyscale.exe 640 480 8 -%run% testHighData.exe 1200 900 4 -%run% testImage.exe 1200 600 -%run% testImageCart.exe 1200 600 -%run% testInverter.exe 8 -%run% testLangton.exe 640 640 -%run% testLineChain.exe 400 400 8 -%run% testLineFan.exe 800 800 16 -%run% testMandelbrot.exe 1200 900 8 255 -%run% testMouse.exe 900 900 5 -%run% testNewtonPendulum.exe 900 400 11 -%run% testPhilosophers.exe 5 10 -%run% testPong.exe 7 4 -%run% testProjectiles.exe 400 400 -%run% testSeaUrchin.exe 16 -%run% testScreenshot.exe 900 650 -%run% testSmartSort.exe 1024 -%run% testSpectrogram.exe ../assets/pics/test.png -%run% testSpectrum.exe 8 -%run% testText.exe 1200 900 ../assets/freefont/FreeSerif.ttf -%run% testTextCart.exe 1200 900 ../assets/freefont/FreeSerifItalic.ttf -%run% testTextTwo.exe 1200 900 -%run% testVoronoi.exe 640 480 8 diff --git a/windows/setup/idp.iss b/windows/setup/idp.iss deleted file mode 100644 index 58ade9801..000000000 --- a/windows/setup/idp.iss +++ /dev/null @@ -1,490 +0,0 @@ -; Inno Download Plugin -; (c)2013 Mitrich Software -; http://mitrich.net23.net/ -; https://code.google.com/p/inno-download-plugin/ - -#define IDPROOT ExtractFilePath(__PATHFILENAME__) - -#ifdef UNICODE - #pragma include __INCLUDE__ + ";" + IDPROOT + "\unicode" -#else - #pragma include __INCLUDE__ + ";" + IDPROOT + "\ansi" -#endif - -; If IDPDEBUG is defined before including idp.iss, script will use debug version of idp.dll. -; Debug dll messages can be viewed with SysInternals DebugView (http://technet.microsoft.com/en-us/sysinternals/bb896647.aspx) -#ifdef IDPDEBUG - #define DBGSUFFIX " debug" -#else - #define DBGSUFFIX -#endif - -[Files] -#ifdef UNICODE -Source: "{#IDPROOT}\unicode{#DBGSUFFIX}\idp.dll"; Flags: dontcopy; -#else -Source: "{#IDPROOT}\ansi{#DBGSUFFIX}\idp.dll"; Flags: dontcopy; -#endif - -[Code] -procedure idpAddFile(url, filename: String); external 'idpAddFile@files:idp.dll cdecl'; -procedure idpAddMirror(url, mirror: String); external 'idpAddMirror@files:idp.dll cdecl'; -procedure idpClearFiles; external 'idpClearFiles@files:idp.dll cdecl'; -function idpFilesCount: Integer; external 'idpFilesCount@files:idp.dll cdecl'; -function idpFilesDownloaded: Boolean; external 'idpFilesDownloaded@files:idp.dll cdecl'; -function idpDownloadFile(url, filename: String): Boolean; external 'idpDownloadFile@files:idp.dll cdecl'; -function idpDownloadFiles: Boolean; external 'idpDownloadFiles@files:idp.dll cdecl'; -procedure idpStartDownload; external 'idpStartDownload@files:idp.dll cdecl'; -procedure idpStopDownload; external 'idpStopDownload@files:idp.dll cdecl'; -procedure idpConnectControl(name: String; Handle: HWND); external 'idpConnectControl@files:idp.dll cdecl'; -procedure idpAddMessage(name, message: String); external 'idpAddMessage@files:idp.dll cdecl'; -procedure idpSetInternalOption(name, value: String); external 'idpSetInternalOption@files:idp.dll cdecl'; -procedure idpSetDetailedMode(mode: Boolean); external 'idpSetDetailedMode@files:idp.dll cdecl'; - -#ifdef UNICODE -procedure idpAddFileSize(url, filename: String; size: Int64); external 'idpAddFileSize@files:idp.dll cdecl'; -function idpGetFileSize(url: String; var size: Int64): Boolean; external 'idpGetFileSize@files:idp.dll cdecl'; -function idpGetFilesSize(var size: Int64): Boolean; external 'idpGetFilesSize@files:idp.dll cdecl'; -#else -procedure idpAddFileSize(url, filename: String; size: Dword); external 'idpAddFileSize32@files:idp.dll cdecl'; -function idpGetFileSize(url: String; var size: Dword): Boolean; external 'idpGetFileSize32@files:idp.dll cdecl'; -function idpGetFilesSize(var size: Dword): Boolean; external 'idpGetFilesSize32@files:idp.dll cdecl'; -#endif - -type IDPFormRec = record - Page : TWizardPage; - TotalProgressBar : TNewProgressBar; - FileProgressBar : TNewProgressBar; - TotalProgressLabel: TNewStaticText; - CurrentFileLabel : TNewStaticText; - TotalDownloaded : TPanel; // TNewStaticText has no Alignment property to display right-aligned text, - FileDownloaded : TPanel; // TLabel has no Handle property, needed to interface with idp.dll - FileNameLabel : TNewStaticText; - SpeedLabel : TNewStaticText; - StatusLabel : TNewStaticText; - ElapsedTimeLabel : TNewStaticText; - RemainingTimeLabel: TNewStaticText; - FileName : TNewStaticText; - Speed : TNewStaticText; - Status : TNewStaticText; - ElapsedTime : TNewStaticText; - RemainingTime : TNewStaticText; - DetailsButton : TButton; - DetailsVisible : Boolean; - end; - - IDPOptionsRec = record - DetailedMode : Boolean; - NoDetailsButton: Boolean; - NoRetryButton : Boolean; - end; - -var IDPForm : IDPFormRec; - IDPOptions: IDPOptionsRec; - -function StrToBool(value: String): Boolean; -var s: String; -begin - s := LowerCase(value); - - if s = 'true' then result := true - else if s = 'yes' then result := true - else if s = 'y' then result := true - else if s = 'false' then result := false - else if s = 'no' then result := false - else if s = 'n' then result := false - else result := StrToInt(value) > 0; -end; - -procedure idpSetOption(name, value: String); -var key: String; -begin - key := LowerCase(name); - - if key = 'detailedmode' then IDPOptions.DetailedMode := StrToBool(value) - else if key = 'detailsbutton' then IDPOptions.NoDetailsButton := not StrToBool(value) - else if key = 'retrybutton' then - begin - IDPOptions.NoRetryButton := StrToInt(value) = 0; - idpSetInternalOption('RetryButton', value); - end - else - idpSetInternalOption(name, value); -end; - -procedure idpShowDetails(show: Boolean); -begin - IDPForm.FileProgressBar.Visible := show; - IDPForm.CurrentFileLabel.Visible := show; - IDPForm.FileDownloaded.Visible := show; - IDPForm.FileNameLabel.Visible := show; - IDPForm.SpeedLabel.Visible := show; - IDPForm.StatusLabel.Visible := show; - IDPForm.ElapsedTimeLabel.Visible := show; - IDPForm.RemainingTimeLabel.Visible := show; - IDPForm.FileName.Visible := show; - IDPForm.Speed.Visible := show; - IDPForm.Status.Visible := show; - IDPForm.ElapsedTime.Visible := show; - IDPForm.RemainingTime.Visible := show; - - IDPForm.DetailsVisible := show; - - if IDPForm.DetailsVisible then - begin - IDPForm.DetailsButton.Caption := ExpandConstant('{cm:IDP_HideButton}'); - IDPForm.DetailsButton.Top := ScaleY(184); - end - else - begin - IDPForm.DetailsButton.Caption := ExpandConstant('{cm:IDP_DetailsButton}'); - IDPForm.DetailsButton.Top := ScaleY(44); - end; - - idpSetDetailedMode(show); -end; - -procedure idpDetailsButtonClick(Sender: TObject); -begin - idpShowDetails(not IDPForm.DetailsVisible); -end; - -procedure idpFormActivate(Page: TWizardPage); -begin - if not IDPOptions.NoRetryButton then - WizardForm.BackButton.Caption := ExpandConstant('{cm:IDP_RetryButton}'); - - idpShowDetails(IDPOptions.DetailedMode); - IDPForm.DetailsButton.Visible := not IDPOptions.NoDetailsButton; - idpStartDownload; -end; - -function idpShouldSkipPage(Page: TWizardPage): Boolean; -begin - Result := (idpFilesCount = 0) or idpFilesDownloaded; -end; - -function idpBackButtonClick(Page: TWizardPage): Boolean; -begin - if not IDPOptions.NoRetryButton then // Retry button clicked - begin - idpStartDownload; - Result := False; - end - else - Result := true; -end; - -function idpNextButtonClick(Page: TWizardPage): Boolean; -begin - Result := True; -end; - -procedure idpCancelButtonClick(Page: TWizardPage; var Cancel, Confirm: Boolean); -begin - if MsgBox(SetupMessage(msgExitSetupMessage), mbConfirmation, MB_YESNO) = IDYES then - begin - IDPForm.Status.Caption := ExpandConstant('{cm:IDP_CancellingDownload}'); - WizardForm.Repaint; - idpStopDownload; - Cancel := true; - Confirm := false; - end - else - Cancel := false; -end; - -function idpCreateDownloadForm(PreviousPageId: Integer): Integer; -begin - IDPForm.Page := CreateCustomPage(PreviousPageId, ExpandConstant('{cm:IDP_FormCaption}'), ExpandConstant('{cm:IDP_FormDescription}')); - - IDPForm.TotalProgressBar := TNewProgressBar.Create(IDPForm.Page); - with IDPForm.TotalProgressBar do - begin - Parent := IDPForm.Page.Surface; - Left := ScaleX(0); - Top := ScaleY(16); - Width := ScaleX(410); - Height := ScaleY(20); - Min := 0; - Max := 100; - end; - - IDPForm.TotalProgressLabel := TNewStaticText.Create(IDPForm.Page); - with IDPForm.TotalProgressLabel do - begin - Parent := IDPForm.Page.Surface; - Caption := ExpandConstant('{cm:IDP_TotalProgress}'); - Left := ScaleX(0); - Top := ScaleY(0); - Width := ScaleX(200); - Height := ScaleY(14); - AutoSize := False; - TabOrder := 1; - end; - - IDPForm.CurrentFileLabel := TNewStaticText.Create(IDPForm.Page); - with IDPForm.CurrentFileLabel do - begin - Parent := IDPForm.Page.Surface; - Caption := ExpandConstant('{cm:IDP_CurrentFile}'); - Left := ScaleX(0); - Top := ScaleY(48); - Width := ScaleX(200); - Height := ScaleY(14); - AutoSize := False; - TabOrder := 2; - end; - - IDPForm.FileProgressBar := TNewProgressBar.Create(IDPForm.Page); - with IDPForm.FileProgressBar do - begin - Parent := IDPForm.Page.Surface; - Left := ScaleX(0); - Top := ScaleY(64); - Width := ScaleX(410); - Height := ScaleY(20); - Min := 0; - Max := 100; - end; - - IDPForm.TotalDownloaded := TPanel.Create(IDPForm.Page); - with IDPForm.TotalDownloaded do - begin - Parent := IDPForm.Page.Surface; - Caption := ''; - Left := ScaleX(288); - Top := ScaleY(0); - Width := ScaleX(120); - Height := ScaleY(14); - Alignment := taRightJustify; - BevelOuter := bvNone; - ParentBackground := false; - TabOrder := 4; - end; - - IDPForm.FileDownloaded := TPanel.Create(IDPForm.Page); - with IDPForm.FileDownloaded do - begin - Parent := IDPForm.Page.Surface; - Caption := ''; - Left := ScaleX(288); - Top := ScaleY(48); - Width := ScaleX(120); - Height := ScaleY(14); - Alignment := taRightJustify; - BevelOuter := bvNone; - ParentBackground := false; - TabOrder := 5; - end; - - IDPForm.FileNameLabel := TNewStaticText.Create(IDPForm.Page); - with IDPForm.FileNameLabel do - begin - Parent := IDPForm.Page.Surface; - Caption := ExpandConstant('{cm:IDP_File}'); - Left := ScaleX(0); - Top := ScaleY(100); - Width := ScaleX(116); - Height := ScaleY(14); - AutoSize := False; - TabOrder := 6; - end; - - IDPForm.SpeedLabel := TNewStaticText.Create(IDPForm.Page); - with IDPForm.SpeedLabel do - begin - Parent := IDPForm.Page.Surface; - Caption := ExpandConstant('{cm:IDP_Speed}'); - Left := ScaleX(0); - Top := ScaleY(116); - Width := ScaleX(116); - Height := ScaleY(14); - AutoSize := False; - TabOrder := 7; - end; - - IDPForm.StatusLabel := TNewStaticText.Create(IDPForm.Page); - with IDPForm.StatusLabel do - begin - Parent := IDPForm.Page.Surface; - Caption := ExpandConstant('{cm:IDP_Status}'); - Left := ScaleX(0); - Top := ScaleY(132); - Width := ScaleX(116); - Height := ScaleY(14); - AutoSize := False; - TabOrder := 8; - end; - - IDPForm.ElapsedTimeLabel := TNewStaticText.Create(IDPForm.Page); - with IDPForm.ElapsedTimeLabel do - begin - Parent := IDPForm.Page.Surface; - Caption := ExpandConstant('{cm:IDP_ElapsedTime}'); - Left := ScaleX(0); - Top := ScaleY(148); - Width := ScaleX(116); - Height := ScaleY(14); - AutoSize := False; - TabOrder := 9; - end; - - IDPForm.RemainingTimeLabel := TNewStaticText.Create(IDPForm.Page); - with IDPForm.RemainingTimeLabel do - begin - Parent := IDPForm.Page.Surface; - Caption := ExpandConstant('{cm:IDP_RemainingTime}'); - Left := ScaleX(0); - Top := ScaleY(164); - Width := ScaleX(116); - Height := ScaleY(14); - AutoSize := False; - TabOrder := 10; - end; - - IDPForm.FileName := TNewStaticText.Create(IDPForm.Page); - with IDPForm.FileName do - begin - Parent := IDPForm.Page.Surface; - Caption := ''; - Left := ScaleX(120); - Top := ScaleY(100); - Width := ScaleX(180); - Height := ScaleY(14); - AutoSize := False; - TabOrder := 11; - end; - - IDPForm.Speed := TNewStaticText.Create(IDPForm.Page); - with IDPForm.Speed do - begin - Parent := IDPForm.Page.Surface; - Caption := ''; - Left := ScaleX(120); - Top := ScaleY(116); - Width := ScaleX(180); - Height := ScaleY(14); - AutoSize := False; - TabOrder := 12; - end; - - IDPForm.Status := TNewStaticText.Create(IDPForm.Page); - with IDPForm.Status do - begin - Parent := IDPForm.Page.Surface; - Caption := ''; - Left := ScaleX(120); - Top := ScaleY(132); - Width := ScaleX(180); - Height := ScaleY(14); - AutoSize := False; - TabOrder := 13; - end; - - IDPForm.ElapsedTime := TNewStaticText.Create(IDPForm.Page); - with IDPForm.ElapsedTime do - begin - Parent := IDPForm.Page.Surface; - Caption := ''; - Left := ScaleX(120); - Top := ScaleY(148); - Width := ScaleX(180); - Height := ScaleY(14); - AutoSize := False; - TabOrder := 14; - end; - - IDPForm.RemainingTime := TNewStaticText.Create(IDPForm.Page); - with IDPForm.RemainingTime do - begin - Parent := IDPForm.Page.Surface; - Caption := ''; - Left := ScaleX(120); - Top := ScaleY(164); - Width := ScaleX(180); - Height := ScaleY(14); - AutoSize := False; - TabOrder := 15; - end; - - IDPForm.DetailsButton := TButton.Create(IDPForm.Page); - with IDPForm.DetailsButton do - begin - Parent := IDPForm.Page.Surface; - Caption := ExpandConstant('{cm:IDP_DetailsButton}'); - Left := ScaleX(336); - Top := ScaleY(184); - Width := ScaleX(75); - Height := ScaleY(23); - TabOrder := 16; - OnClick := @idpDetailsButtonClick; - end; - - with IDPForm.Page do - begin - OnActivate := @idpFormActivate; - OnShouldSkipPage := @idpShouldSkipPage; - OnBackButtonClick := @idpBackButtonClick; - OnNextButtonClick := @idpNextButtonClick; - OnCancelButtonClick := @idpCancelButtonClick; - end; - - Result := IDPForm.Page.ID; -end; - -procedure idpConnectControls; -begin - idpConnectControl('TotalProgressLabel', IDPForm.TotalProgressLabel.Handle); - idpConnectControl('TotalProgressBar', IDPForm.TotalProgressBar.Handle); - idpConnectControl('FileProgressBar', IDPForm.FileProgressBar.Handle); - idpConnectControl('TotalDownloaded', IDPForm.TotalDownloaded.Handle); - idpConnectControl('FileDownloaded', IDPForm.FileDownloaded.Handle); - idpConnectControl('FileName', IDPForm.FileName.Handle); - idpConnectControl('Speed', IDPForm.Speed.Handle); - idpConnectControl('Status', IDPForm.Status.Handle); - idpConnectControl('ElapsedTime', IDPForm.ElapsedTime.Handle); - idpConnectControl('RemainingTime', IDPForm.RemainingTime.Handle); - idpConnectControl('WizardForm', WizardForm.Handle); - idpConnectControl('BackButton', WizardForm.BackButton.Handle); - idpConnectControl('NextButton', WizardForm.NextButton.Handle); -end; - -procedure idpInitMessages; -begin - idpAddMessage('Total progress', ExpandConstant('{cm:IDP_TotalProgress}')); - idpAddMessage('KB/s', ExpandConstant('{cm:IDP_KBs}')); - idpAddMessage('MB/s', ExpandConstant('{cm:IDP_MBs}')); - idpAddMessage('%.2f of %.2f', ExpandConstant('{cm:IDP_X_of_X}')); - idpAddMessage('KB', ExpandConstant('{cm:IDP_KB}')); - idpAddMessage('MB', ExpandConstant('{cm:IDP_MB}')); - idpAddMessage('GB', ExpandConstant('{cm:IDP_GB}')); - idpAddMessage('Initializing...', ExpandConstant('{cm:IDP_Initializing}')); - idpAddMessage('Getting file information...', ExpandConstant('{cm:IDP_GettingFileInformation}')); - idpAddMessage('Starting download...', ExpandConstant('{cm:IDP_StartingDownload}')); - idpAddMessage('Connecting...', ExpandConstant('{cm:IDP_Connecting}')); - idpAddMessage('Downloading...', ExpandConstant('{cm:IDP_Downloading}')); - idpAddMessage('Download complete', ExpandConstant('{cm:IDP_DownloadComplete}')); - idpAddMessage('Download failed', ExpandConstant('{cm:IDP_DownloadFailed}')); - idpAddMessage('Cannot connect', ExpandConstant('{cm:IDP_CannotConnect}')); - idpAddMessage('Unknown', ExpandConstant('{cm:IDP_Unknown}')); - idpAddMessage('Download cancelled', ExpandConstant('{cm:IDP_DownloadCancelled}')); - idpAddMessage('HTTP Error %d', ExpandConstant('{cm:IDP_HTTPError_X}')); - idpAddMessage('400', ExpandConstant('{cm:IDP_400}')); - idpAddMessage('401', ExpandConstant('{cm:IDP_401}')); - idpAddMessage('404', ExpandConstant('{cm:IDP_404}')); - idpAddMessage('500', ExpandConstant('{cm:IDP_500}')); - idpAddMessage('502', ExpandConstant('{cm:IDP_502}')); - idpAddMessage('503', ExpandConstant('{cm:IDP_503}')); - idpAddMessage('Check your connection and click ''Retry'' to try downloading the files again, or click ''Next'' to continue installing anyway.', ExpandConstant('{cm:IDP_RetryNext}')); - idpAddMessage('Check your connection and click ''Retry'' to try downloading the files again, or click ''Cancel'' to terminate setup.', ExpandConstant('{cm:IDP_RetryCancel}')); -end; - -procedure idpDownloadAfter(PageAfterId: Integer); -begin - idpCreateDownloadForm(PageAfterId); - idpConnectControls; - idpInitMessages; -end; - -#include diff --git a/windows/setup/tsgl-install.iss b/windows/setup/tsgl-install.iss deleted file mode 100644 index aa1685907..000000000 --- a/windows/setup/tsgl-install.iss +++ /dev/null @@ -1,272 +0,0 @@ -#define MyAppName "TSGL" -#define MyAppVerName "TSGL 1.1.2" -#define MyAppPublisher "Calvin College" -#define MyAppURL "cs.calvin.edu" - -#include - -[Setup] -AppName={#MyAppName} -AppVerName={#MyAppVerName} -AppPublisher={#MyAppPublisher} -AppPublisherURL={#MyAppURL} -AppSupportURL={#MyAppURL} -AppUpdatesURL={#MyAppURL} -DefaultDirName={src} -DefaultGroupName={#MyAppName} -OutputBaseFilename=tsgl-setup -OutputDir=. -Compression=lzma -SolidCompression=true -CreateAppDir=true -ShowLanguageDialog=yes -Uninstallable = no -DirExistsWarning = no - -[Languages] -Name: english; MessagesFile: compiler:Default.isl - -[Code] -type - AllString = array[1..6] of String; - -var - ProgPage : TOutputProgressWizardPage; - dpaths: AllString; - dfiles: AllString; - msbuildpath: String; - appdir: String; - unzipcmd: String; - untarcmd: String; - cmakecmd: String; - msbuildcmd: String; - -procedure InitializeWizard(); -var - i: Integer; - file: String; - qpos: Integer; - A: AnsiString; - S: String; -begin - //Figure out where VS 2012's MSBuild is located; exit if we don't have VS 2012 - if not RegQueryStringValue(HKLM, 'SOFTWARE\Microsoft\MSBuild\ToolsVersions\4.0', 'MSBuildToolsPath', msbuildpath) then begin - MsgBox('You need Visual Studio 2012 to use this installer.',mbError,MB_OK); - Abort(); - end; - Log('MSBuild path: ' + msbuildpath); - - //From: http://stackoverflow.com/questions/23459059/how-to-show-progress-during-preparetoinstall - //The string msgWizardPreparing has the macro '[name]' inside that I have to replace with the name of my app, stored in a define constant of my script. - S := SetupMessage(msgPreparingDesc); - StringChange(S, '[name]', '{#MyAppName}'); - A := S; - ProgPage := CreateOutputProgressPage(SetupMessage(msgWizardPreparing), A); - - //Populate dpaths with the urls of the files we need - //(Note: SourceForge Links automatically redirect to mirrors, and GitHub has no mirrors) - dpaths[1] := 'http://downloads.sourceforge.net/project/gnuwin32/freetype/2.3.5-1/freetype-2.3.5-1-bin.zip'; - dpaths[2] := 'http://downloads.sourceforge.net/project/gnuwin32/freetype/2.3.5-1/freetype-2.3.5-1-dep.zip'; - dpaths[3] := 'http://downloads.sourceforge.net/project/glew/glew/1.12.0/glew-1.12.0.zip'; - dpaths[4] := 'https://github.com/glfw/glfw/releases/download/3.1.1/glfw-3.1.1.zip'; - dpaths[5] := 'https://github.com/nothings/stb/archive/master.zip'; - dpaths[6] := 'http://downloads.sourceforge.net/project/freeglut/freeglut/3.0.0/freeglut-3.0.0.tar.gz'; - - //Get the filenames from those paths - for i := 1 to 6 do begin - file := ExtractFileName(dpaths[i]); - qpos := Pos('?',file); - if (qpos > 0) then begin - dfiles[i] := Copy(file,0,qpos-1); - end - else begin - dfiles[i] := file; - end; - end; - - //Add urls for a few miscellaneous tools we'll be using (unzip, 7zip, and cmake) - idpAddFile('http://stahlworks.com/dev/unzip.exe', expandconstant('{tmp}\unzip.exe')); - idpAddFile('http://www.7-zip.org/a/7za920.zip', expandconstant('{tmp}\7za920.zip')); - idpAddFile('http://www.cmake.org/files/v3.2/cmake-3.2.3-win32-x86.zip', expandconstant('{tmp}\cmake-3.2.3-win32-x86.zip')); - //Add the files we specified above - for i := 1 to 6 do begin - idpAddFile(dpaths[i],expandconstant('{tmp}\') + dfiles[i]); - end; - - //Start the download after the "Ready to install" screen is shown - idpDownloadAfter(wpReady); -end; - -procedure CurPageChanged(CurPageID: Integer); -begin - //If the downloader page was just shown, then... - if CurPageID = IDPForm.Page.ID then - begin - //Show the detail components... - idpShowDetails(True); - //...and hide the details button - IDPForm.DetailsButton.Visible := False; - end; -end; - -//Helper procedures -procedure Run(const Cmd, Par, Cwd: String); var R: Integer; begin Exec(Cmd, Par, Cwd, SW_SHOW, ewWaitUntilTerminated, R); end; -procedure Move(const Src, Dest: String); begin RenameFile(appdir + Src,appdir + Dest); end; -procedure Del(const Src: String); begin DeleteFile(appdir + Src); end; -procedure DelDir(const Src: String); begin DelTree(appdir + Src,True,True,True); end; -procedure Unzip(const Src, Dest: String); begin Run(unzipcmd, appdir + Src + ' -d ' + appdir + Dest, ''); end; -procedure Make(const Src: String); begin Run(cmakecmd, '-G"Visual Studio 11 2012" ' + appdir + Src, appdir + Src); end; -procedure Build(const Src: String); begin Run(msbuildcmd, appdir + Src + ' /p:VisualStudioVersion=11.0 /p:PlatformToolset=v110',''); end; -procedure Untar(const Src: String); var S: String; begin - Run(untarcmd, 'x ' + appdir + Src, ''); - S := Copy(Src,1,Length(Src)-3); - Run(untarcmd, 'x ' + appdir + S, ''); - Del(S); //Delete intermediate .tar file -end; - -function PrepareToInstall(var NeedsRestart: Boolean): String; -var - ResultCode: Integer; - i: Integer; - tmpdir: String; -begin - ProgPage.SetProgress(0, 100); - ProgPage.Show; - try begin - // First preinstallation step: suppose to kill currently app you are going to update - ProgPage.SetText(('Creating directories'),''); - //Establish some useful commands - msbuildcmd := msbuildpath + 'MSBuild.exe'; - appdir := expandconstant('{app}\'); - tmpdir := expandconstant('{tmp}\'); - unzipcmd := appdir + 'unzip.exe'; - untarcmd := appdir + '7za.exe'; - cmakecmd := appdir + 'cmake\bin\cmake.exe'; - //Create some useful subdirectories - CreateDir(appdir); //Not always automatically created... - CreateDir(appdir + 'lib'); - CreateDir(appdir + 'include'); - CreateDir(appdir + 'ziplibs'); - //Copy files from tmp directory to working directory - ProgPage.SetText(('Copying files'),''); - ProgPage.SetProgress(5, 100); - FileCopy(tmpdir + 'unzip.exe',unzipcmd,false); - FileCopy(tmpdir + '7za920.zip',appdir + '7za920.zip',false); - FileCopy(tmpdir + 'cmake-3.2.3-win32-x86.zip',appdir + 'cmake-3.2.3-win32-x86.zip',false); - for i := 1 to 6 do begin - FileCopy(tmpdir + dfiles[i],appdir + dfiles[i],false); - end; - //Unpack 7zip - ProgPage.SetText(('Unpacking 7zip'),''); - ProgPage.SetProgress(10, 100); - Unzip('7za920.zip',''); - Del('7-zip.chm'); - Del('license.txt'); - Del('readme.txt'); - Del('7za920.zip'); - //Unpack CMake - ProgPage.SetText(('Unpacking Cmake'),''); - ProgPage.SetProgress(15, 100); - Unzip('cmake-3.2.3-win32-x86.zip',''); - Move('cmake-3.2.3-win32-x86','cmake'); - Del('cmake-3.2.3-win32-x86.zip'); - //[1] Unpack and move files from Freetype Binary Zip - ProgPage.SetText(('Installing Freetype'),''); - ProgPage.SetProgress(20, 100); - Unzip(dfiles[1],'freetype-2.3.5-1-bin'); - Move(dfiles[1],'ziplibs\' + dfiles[1]); - Move('freetype-2.3.5-1-bin\bin\freetype6.dll','lib\freetype6.dll'); - Move('freetype-2.3.5-1-bin\include\ft2build.h','include\ft2build.h'); - Move('freetype-2.3.5-1-bin\include\freetype2\freetype','include\freetype'); - Move('freetype-2.3.5-1-bin\lib\freetype.lib','lib\freetype.lib'); - DelDir('freetype-2.3.5-1-bin'); - //[2] Unpack and move files from Freetype Dependency Zip - Unzip(dfiles[2],'freetype-2.3.5-1-dep'); - Move(dfiles[2],'ziplibs\' + dfiles[2]); - Move('freetype-2.3.5-1-dep\bin\zlib1.dll','lib\zlib1.dll'); - DelDir('freetype-2.3.5-1-dep'); - //[3] Unpack and move files from GLEW - ProgPage.SetText(('Installing GLEW'),''); - ProgPage.SetProgress(30, 100); - Unzip(dfiles[3], ''); - Move(dfiles[3],'ziplibs\' + dfiles[3]); - Make('glew-1.12.0'); - ProgPage.SetProgress(33, 100); - Build('glew-1.12.0\build\vc12\glew_static.vcxproj'); - Move('glew-1.12.0\lib\Debug\Win32\glew32sd.lib','lib\glew32sd.lib'); - Move('glew-1.12.0\include\GL','include\GL'); - DelDir('glew-1.12.0'); - //[4] Unpack and move files from GLFW - ProgPage.SetText(('Installing GLFW'),''); - ProgPage.SetProgress(40, 100); - Unzip(dfiles[4],''); - Move(dfiles[4],'ziplibs\' + dfiles[4]); - Make('glfw-3.1.1'); - ProgPage.SetProgress(45, 100); - Build('glfw-3.1.1\GLFW.sln'); - Move('glfw-3.1.1\src\Debug\glfw3.lib','lib\glfw3.lib'); - Move('glfw-3.1.1\include\GLFW','include\GLFW'); - DelDir('glfw-3.1.1'); - //[5] Unpack and move files from STB - ProgPage.SetText(('Installing STB'),''); - ProgPage.SetProgress(60, 100); - Unzip(dfiles[5],''); - Move(dfiles[5],'ziplibs\' + dfiles[5]); - Move('stb-master','include\stb'); - //[6] Unpack and move files from FreeGLUT - ProgPage.SetText(('Installing FreeGLUT'),''); - ProgPage.SetProgress(65, 100); - Untar(dfiles[6]); - Move(dfiles[6],'ziplibs\' + dfiles[6]); - Make('freeglut-3.0.0'); - ProgPage.SetProgress(75, 100); - Build('freeglut-3.0.0\freeglut.sln'); - Move('freeglut-3.0.0\lib\Debug\freeglutd.lib','lib\freeglutd.lib'); - //(Manually moving these because the "GL" directory was already created by GLEW) - Move('freeglut-3.0.0\include\GL\freeglut.h','include\GL\freeglut.h'); - Move('freeglut-3.0.0\include\GL\freeglut_ext.h','include\GL\freeglut_ext.h'); - Move('freeglut-3.0.0\include\GL\freeglut_std.h','include\GL\freeglut_std.h'); - Move('freeglut-3.0.0\include\GL\glut.h','include\GL\glut.h'); - DelDir('freeglut-3.0.0'); - //Copy the remaining files in the windows folder - ProgPage.SetText(('Copying Visual Studio Files'),''); - ProgPage.SetProgress(95, 100); - Move('windows\readmetests.txt','readmetests.txt'); - Move('windows\runtests.bat','runtests.bat'); - Move('windows\testProperties.props','testProperties.props'); - Move('windows\tsgl.sln','tsgl.sln'); - Move('windows\tsgl.v11.suo','tsgl.v11.suo'); - Move('windows\tsgl.vcxproj','tsgl.vcxproj'); - Move('windows\tsgl.vcxproj.filters','tsgl.vcxproj.filters'); - Move('windows\tsgl.vcxproj.user','tsgl.vcxproj.user'); - Move('windows\vs2012','vs2012'); - //Cleanup - ProgPage.SetText(('Cleaning Up'),''); - ProgPage.SetProgress(99, 100); - Del('unzip.exe'); - Del('7za.exe'); - //Altered for VS2015 - Del('install-windowsVS2015'); - DelDir('cmake'); - DelDir('windows'); - //Altered for VS2015 - DelDir('winVS2015'); - end; - finally - ProgPage.Hide; - end; -end; - -procedure CurStepChanged(CurStep: TSetupStep); -var - i: Integer; - tmpdir: String; -begin - if CurStep = ssPostInstall then - begin - if MsgBox('Keep zipped libraries?', - mbConfirmation, MB_YESNO) = IDNO - then - DelDir('ziplibs'); - end; -end; diff --git a/windows/testProperties.props b/windows/testProperties.props deleted file mode 100644 index f38ada86c..000000000 --- a/windows/testProperties.props +++ /dev/null @@ -1,42 +0,0 @@ - - - - - $(SolutionDir)lib\ - $(SolutionDir)lib\ - $(SolutionDir)include\ - $(SolutionDir)lib\ - $(SolutionDir)src\TSGL\ - - - $(TsglSourceDir);$(TsglIncludeDir);$(IncludePath) - $(TsglLibDir);$(TsglExternalLibDir);$(LibraryPath) - $(Configuration)\$(TargetName)\ - <_PropertySheetDisplayName>testProperties - - - - tsgl.lib;freeglutd.lib;freetype.lib;glew32sd.lib;glfw3.lib;%(AdditionalDependencies) - - - true - - - - - $(TsglDllDir) - - - $(TsglExternalLibDir) - - - $(TsglIncludeDir) - - - $(TsglLibDir) - - - $(TsglSourceDir) - - - \ No newline at end of file diff --git a/windows/tsgl.sdf b/windows/tsgl.sdf deleted file mode 100644 index 0387e5e31..000000000 Binary files a/windows/tsgl.sdf and /dev/null differ diff --git a/windows/tsgl.sln b/windows/tsgl.sln deleted file mode 100644 index 99fbee53c..000000000 --- a/windows/tsgl.sln +++ /dev/null @@ -1,383 +0,0 @@ - -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio 2012 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "tsgl", "tsgl.vcxproj", "{4436E331-0E22-4404-B1CB-CCC5B20C459E}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testAlphaRectangle", "vs2012\testAlphaRectangle.vcxproj", "{C3C493B7-A293-49F1-A094-9465349D8661}" - ProjectSection(ProjectDependencies) = postProject - {4436E331-0E22-4404-B1CB-CCC5B20C459E} = {4436E331-0E22-4404-B1CB-CCC5B20C459E} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testColorPoints", "vs2012\testColorPoints.vcxproj", "{75142FD6-5FA0-40E9-B580-0535B63D659B}" - ProjectSection(ProjectDependencies) = postProject - {4436E331-0E22-4404-B1CB-CCC5B20C459E} = {4436E331-0E22-4404-B1CB-CCC5B20C459E} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testConcavePolygon", "vs2012\testConcavePolygon.vcxproj", "{7272C90F-2BB2-4ACA-9608-92422A631366}" - ProjectSection(ProjectDependencies) = postProject - {4436E331-0E22-4404-B1CB-CCC5B20C459E} = {4436E331-0E22-4404-B1CB-CCC5B20C459E} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testConway", "vs2012\testConway.vcxproj", "{F069D325-0ADD-465A-AAA1-9CD1610FF8D6}" - ProjectSection(ProjectDependencies) = postProject - {4436E331-0E22-4404-B1CB-CCC5B20C459E} = {4436E331-0E22-4404-B1CB-CCC5B20C459E} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testCosineIntegral", "vs2012\testCosineIntegral.vcxproj", "{D1E18BF0-0152-4C61-8FC3-48568EF4CF97}" - ProjectSection(ProjectDependencies) = postProject - {4436E331-0E22-4404-B1CB-CCC5B20C459E} = {4436E331-0E22-4404-B1CB-CCC5B20C459E} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testDumbSort", "vs2012\testDumbSort.vcxproj", "{1AA40061-6D6E-4893-A56B-0F72B0974282}" - ProjectSection(ProjectDependencies) = postProject - {4436E331-0E22-4404-B1CB-CCC5B20C459E} = {4436E331-0E22-4404-B1CB-CCC5B20C459E} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testForestFire", "vs2012\testForestFire.vcxproj", "{2218A2AE-071D-4694-9891-4539F30A9236}" - ProjectSection(ProjectDependencies) = postProject - {4436E331-0E22-4404-B1CB-CCC5B20C459E} = {4436E331-0E22-4404-B1CB-CCC5B20C459E} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testFunction", "vs2012\testFunction.vcxproj", "{C3EEC148-AD26-4E8A-861D-41CCC7D5A068}" - ProjectSection(ProjectDependencies) = postProject - {4436E331-0E22-4404-B1CB-CCC5B20C459E} = {4436E331-0E22-4404-B1CB-CCC5B20C459E} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testGetPixels", "vs2012\testGetPixels.vcxproj", "{C0E045F9-E70E-4A1B-8F91-490E4863AFAE}" - ProjectSection(ProjectDependencies) = postProject - {4436E331-0E22-4404-B1CB-CCC5B20C459E} = {4436E331-0E22-4404-B1CB-CCC5B20C459E} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testGradientWheel", "vs2012\testGradientWheel.vcxproj", "{B34DE966-8249-4D10-B2A8-38076DF60446}" - ProjectSection(ProjectDependencies) = postProject - {4436E331-0E22-4404-B1CB-CCC5B20C459E} = {4436E331-0E22-4404-B1CB-CCC5B20C459E} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testGreyscale", "vs2012\testGreyscale.vcxproj", "{82F5F354-49B9-4B26-A7D6-B1983A22BE57}" - ProjectSection(ProjectDependencies) = postProject - {4436E331-0E22-4404-B1CB-CCC5B20C459E} = {4436E331-0E22-4404-B1CB-CCC5B20C459E} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testGraydient", "vs2012\testGraydient.vcxproj", "{091C7892-841B-464B-8C5F-DA4CDE1E17FF}" - ProjectSection(ProjectDependencies) = postProject - {4436E331-0E22-4404-B1CB-CCC5B20C459E} = {4436E331-0E22-4404-B1CB-CCC5B20C459E} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testHighData", "vs2012\testHighData.vcxproj", "{764971AC-24AC-4393-9590-4CF150E1E4D7}" - ProjectSection(ProjectDependencies) = postProject - {4436E331-0E22-4404-B1CB-CCC5B20C459E} = {4436E331-0E22-4404-B1CB-CCC5B20C459E} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testImage", "vs2012\testImage.vcxproj", "{BDD74ECB-6280-4DED-8213-FC7603B187A1}" - ProjectSection(ProjectDependencies) = postProject - {4436E331-0E22-4404-B1CB-CCC5B20C459E} = {4436E331-0E22-4404-B1CB-CCC5B20C459E} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testImageCart", "vs2012\testImageCart.vcxproj", "{68B42B7A-30B0-4507-8315-CFAA8E5040E4}" - ProjectSection(ProjectDependencies) = postProject - {4436E331-0E22-4404-B1CB-CCC5B20C459E} = {4436E331-0E22-4404-B1CB-CCC5B20C459E} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testInverter", "vs2012\testInverter.vcxproj", "{228735C3-E2B8-4887-8254-FA24D4F25C9E}" - ProjectSection(ProjectDependencies) = postProject - {4436E331-0E22-4404-B1CB-CCC5B20C459E} = {4436E331-0E22-4404-B1CB-CCC5B20C459E} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testLangton", "vs2012\testLangton.vcxproj", "{2420042C-1EF3-4BF2-BE56-0125A671E824}" - ProjectSection(ProjectDependencies) = postProject - {4436E331-0E22-4404-B1CB-CCC5B20C459E} = {4436E331-0E22-4404-B1CB-CCC5B20C459E} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testLineChain", "vs2012\testLineChain.vcxproj", "{4B6B49DC-E40B-45F1-9A6E-A6A75EEDBA4F}" - ProjectSection(ProjectDependencies) = postProject - {4436E331-0E22-4404-B1CB-CCC5B20C459E} = {4436E331-0E22-4404-B1CB-CCC5B20C459E} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testLineFan", "vs2012\testLineFan.vcxproj", "{78DAB5A3-7DB1-42AF-B921-CDDB8E58301B}" - ProjectSection(ProjectDependencies) = postProject - {4436E331-0E22-4404-B1CB-CCC5B20C459E} = {4436E331-0E22-4404-B1CB-CCC5B20C459E} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testMandelbrot", "vs2012\testMandelbrot.vcxproj", "{5F024883-B62F-4B30-B5E0-84A6CD8F834C}" - ProjectSection(ProjectDependencies) = postProject - {4436E331-0E22-4404-B1CB-CCC5B20C459E} = {4436E331-0E22-4404-B1CB-CCC5B20C459E} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testMouse", "vs2012\testMouse.vcxproj", "{F7E56A8B-4878-4D91-A950-B015F562E6C2}" - ProjectSection(ProjectDependencies) = postProject - {4436E331-0E22-4404-B1CB-CCC5B20C459E} = {4436E331-0E22-4404-B1CB-CCC5B20C459E} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testNewtonPendulum", "vs2012\testNewtonPendulum.vcxproj", "{FB523785-E427-45D7-8A4F-6C3ADCFD0AC7}" - ProjectSection(ProjectDependencies) = postProject - {4436E331-0E22-4404-B1CB-CCC5B20C459E} = {4436E331-0E22-4404-B1CB-CCC5B20C459E} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testPong", "vs2012\testPong.vcxproj", "{04E2B42D-18F0-4ABF-A5AA-127F0ADA61E7}" - ProjectSection(ProjectDependencies) = postProject - {4436E331-0E22-4404-B1CB-CCC5B20C459E} = {4436E331-0E22-4404-B1CB-CCC5B20C459E} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testScreenshot", "vs2012\testScreenshot.vcxproj", "{FFDE8917-365E-4F5A-BF48-1EC9ECAA132A}" - ProjectSection(ProjectDependencies) = postProject - {4436E331-0E22-4404-B1CB-CCC5B20C459E} = {4436E331-0E22-4404-B1CB-CCC5B20C459E} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testSpectrum", "vs2012\testSpectrum.vcxproj", "{DE83CA2E-4F10-4263-9D72-31079735A4A9}" - ProjectSection(ProjectDependencies) = postProject - {4436E331-0E22-4404-B1CB-CCC5B20C459E} = {4436E331-0E22-4404-B1CB-CCC5B20C459E} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testText", "vs2012\testText.vcxproj", "{F7FC3D3F-8007-4188-A895-C6659D327353}" - ProjectSection(ProjectDependencies) = postProject - {4436E331-0E22-4404-B1CB-CCC5B20C459E} = {4436E331-0E22-4404-B1CB-CCC5B20C459E} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testTextCart", "vs2012\testTextCart.vcxproj", "{ECE6163D-9117-4375-8AA6-8BD1D5BA409B}" - ProjectSection(ProjectDependencies) = postProject - {4436E331-0E22-4404-B1CB-CCC5B20C459E} = {4436E331-0E22-4404-B1CB-CCC5B20C459E} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testTextTwo", "vs2012\testTextTwo.vcxproj", "{BC5020F0-25B1-4DB3-A1DE-9E1062B9ACAD}" - ProjectSection(ProjectDependencies) = postProject - {4436E331-0E22-4404-B1CB-CCC5B20C459E} = {4436E331-0E22-4404-B1CB-CCC5B20C459E} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testVoronoi", "vs2012\testVoronoi.vcxproj", "{BB1A650E-51DA-4873-8E65-0BC7A4A09F5E}" - ProjectSection(ProjectDependencies) = postProject - {4436E331-0E22-4404-B1CB-CCC5B20C459E} = {4436E331-0E22-4404-B1CB-CCC5B20C459E} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testBallRoom", "vs2012\testBallRoom.vcxproj", "{97562F72-6F1B-4348-9787-C568A7A7FC5B}" - ProjectSection(ProjectDependencies) = postProject - {4436E331-0E22-4404-B1CB-CCC5B20C459E} = {4436E331-0E22-4404-B1CB-CCC5B20C459E} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testSeaUrchin", "vs2012\testSeaUrchin.vcxproj", "{9B53EED3-25C7-440B-8BFA-B1F6037D6600}" - ProjectSection(ProjectDependencies) = postProject - {4436E331-0E22-4404-B1CB-CCC5B20C459E} = {4436E331-0E22-4404-B1CB-CCC5B20C459E} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testSmartSort", "vs2012\testSmartSort.vcxproj", "{841706E2-3993-4FAA-8792-75EBB6B61446}" - ProjectSection(ProjectDependencies) = postProject - {4436E331-0E22-4404-B1CB-CCC5B20C459E} = {4436E331-0E22-4404-B1CB-CCC5B20C459E} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testCalcPi", "vs2012\testCalcPi.vcxproj", "{5DABC267-9C2D-468C-B546-F859F8A93827}" - ProjectSection(ProjectDependencies) = postProject - {4436E331-0E22-4404-B1CB-CCC5B20C459E} = {4436E331-0E22-4404-B1CB-CCC5B20C459E} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testProjectiles", "vs2012\testProjectiles.vcxproj", "{404FB540-9351-4519-83E9-EF1243C5AF60}" - ProjectSection(ProjectDependencies) = postProject - {4436E331-0E22-4404-B1CB-CCC5B20C459E} = {4436E331-0E22-4404-B1CB-CCC5B20C459E} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testColorWheel", "vs2012\testColorWheel.vcxproj", "{792E9BCA-748B-4B90-83C4-719C7B8CC382}" - ProjectSection(ProjectDependencies) = postProject - {4436E331-0E22-4404-B1CB-CCC5B20C459E} = {4436E331-0E22-4404-B1CB-CCC5B20C459E} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testUnits", "vs2012\testUnits.vcxproj", "{D6E6FC71-A1DE-43B8-A825-F5518B890CDB}" - ProjectSection(ProjectDependencies) = postProject - {4436E331-0E22-4404-B1CB-CCC5B20C459E} = {4436E331-0E22-4404-B1CB-CCC5B20C459E} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testAura", "vs2012\testAura.vcxproj", "{47A811A1-89BB-4EC2-B4D4-CDAE6A9AEB69}" - ProjectSection(ProjectDependencies) = postProject - {4436E331-0E22-4404-B1CB-CCC5B20C459E} = {4436E331-0E22-4404-B1CB-CCC5B20C459E} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testFireworks", "vs2012\testFireworks.vcxproj", "{3473C2BF-A7EF-44EA-9092-A42E557702C6}" - ProjectSection(ProjectDependencies) = postProject - {4436E331-0E22-4404-B1CB-CCC5B20C459E} = {4436E331-0E22-4404-B1CB-CCC5B20C459E} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testPhilosophers", "vs2012\testPhilosophers.vcxproj", "{AD6A5374-298B-49FA-9885-D2BF535F3B7D}" - ProjectSection(ProjectDependencies) = postProject - {4436E331-0E22-4404-B1CB-CCC5B20C459E} = {4436E331-0E22-4404-B1CB-CCC5B20C459E} - EndProjectSection -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testBlurImage", "vs2012\testBlurImage.vcxproj", "{176FC6A6-9007-4B65-AB33-F8A6114D534B}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "testSpectrogram", "vs2012\testSpectrogram.vcxproj", "{F3DD7942-BB0A-4879-A9B6-8BFB69B4E543}" -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|Win32 = Debug|Win32 - Release|Win32 = Release|Win32 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {4436E331-0E22-4404-B1CB-CCC5B20C459E}.Debug|Win32.ActiveCfg = Debug|Win32 - {4436E331-0E22-4404-B1CB-CCC5B20C459E}.Debug|Win32.Build.0 = Debug|Win32 - {4436E331-0E22-4404-B1CB-CCC5B20C459E}.Release|Win32.ActiveCfg = Release|Win32 - {4436E331-0E22-4404-B1CB-CCC5B20C459E}.Release|Win32.Build.0 = Release|Win32 - {C3C493B7-A293-49F1-A094-9465349D8661}.Debug|Win32.ActiveCfg = Debug|Win32 - {C3C493B7-A293-49F1-A094-9465349D8661}.Debug|Win32.Build.0 = Debug|Win32 - {C3C493B7-A293-49F1-A094-9465349D8661}.Release|Win32.ActiveCfg = Release|Win32 - {C3C493B7-A293-49F1-A094-9465349D8661}.Release|Win32.Build.0 = Release|Win32 - {75142FD6-5FA0-40E9-B580-0535B63D659B}.Debug|Win32.ActiveCfg = Debug|Win32 - {75142FD6-5FA0-40E9-B580-0535B63D659B}.Debug|Win32.Build.0 = Debug|Win32 - {75142FD6-5FA0-40E9-B580-0535B63D659B}.Release|Win32.ActiveCfg = Release|Win32 - {75142FD6-5FA0-40E9-B580-0535B63D659B}.Release|Win32.Build.0 = Release|Win32 - {7272C90F-2BB2-4ACA-9608-92422A631366}.Debug|Win32.ActiveCfg = Debug|Win32 - {7272C90F-2BB2-4ACA-9608-92422A631366}.Debug|Win32.Build.0 = Debug|Win32 - {7272C90F-2BB2-4ACA-9608-92422A631366}.Release|Win32.ActiveCfg = Release|Win32 - {7272C90F-2BB2-4ACA-9608-92422A631366}.Release|Win32.Build.0 = Release|Win32 - {F069D325-0ADD-465A-AAA1-9CD1610FF8D6}.Debug|Win32.ActiveCfg = Debug|Win32 - {F069D325-0ADD-465A-AAA1-9CD1610FF8D6}.Debug|Win32.Build.0 = Debug|Win32 - {F069D325-0ADD-465A-AAA1-9CD1610FF8D6}.Release|Win32.ActiveCfg = Release|Win32 - {F069D325-0ADD-465A-AAA1-9CD1610FF8D6}.Release|Win32.Build.0 = Release|Win32 - {D1E18BF0-0152-4C61-8FC3-48568EF4CF97}.Debug|Win32.ActiveCfg = Debug|Win32 - {D1E18BF0-0152-4C61-8FC3-48568EF4CF97}.Debug|Win32.Build.0 = Debug|Win32 - {D1E18BF0-0152-4C61-8FC3-48568EF4CF97}.Release|Win32.ActiveCfg = Release|Win32 - {D1E18BF0-0152-4C61-8FC3-48568EF4CF97}.Release|Win32.Build.0 = Release|Win32 - {1AA40061-6D6E-4893-A56B-0F72B0974282}.Debug|Win32.ActiveCfg = Debug|Win32 - {1AA40061-6D6E-4893-A56B-0F72B0974282}.Debug|Win32.Build.0 = Debug|Win32 - {1AA40061-6D6E-4893-A56B-0F72B0974282}.Release|Win32.ActiveCfg = Release|Win32 - {1AA40061-6D6E-4893-A56B-0F72B0974282}.Release|Win32.Build.0 = Release|Win32 - {2218A2AE-071D-4694-9891-4539F30A9236}.Debug|Win32.ActiveCfg = Debug|Win32 - {2218A2AE-071D-4694-9891-4539F30A9236}.Debug|Win32.Build.0 = Debug|Win32 - {2218A2AE-071D-4694-9891-4539F30A9236}.Release|Win32.ActiveCfg = Release|Win32 - {2218A2AE-071D-4694-9891-4539F30A9236}.Release|Win32.Build.0 = Release|Win32 - {C3EEC148-AD26-4E8A-861D-41CCC7D5A068}.Debug|Win32.ActiveCfg = Debug|Win32 - {C3EEC148-AD26-4E8A-861D-41CCC7D5A068}.Debug|Win32.Build.0 = Debug|Win32 - {C3EEC148-AD26-4E8A-861D-41CCC7D5A068}.Release|Win32.ActiveCfg = Release|Win32 - {C3EEC148-AD26-4E8A-861D-41CCC7D5A068}.Release|Win32.Build.0 = Release|Win32 - {C0E045F9-E70E-4A1B-8F91-490E4863AFAE}.Debug|Win32.ActiveCfg = Debug|Win32 - {C0E045F9-E70E-4A1B-8F91-490E4863AFAE}.Debug|Win32.Build.0 = Debug|Win32 - {C0E045F9-E70E-4A1B-8F91-490E4863AFAE}.Release|Win32.ActiveCfg = Release|Win32 - {C0E045F9-E70E-4A1B-8F91-490E4863AFAE}.Release|Win32.Build.0 = Release|Win32 - {B34DE966-8249-4D10-B2A8-38076DF60446}.Debug|Win32.ActiveCfg = Debug|Win32 - {B34DE966-8249-4D10-B2A8-38076DF60446}.Debug|Win32.Build.0 = Debug|Win32 - {B34DE966-8249-4D10-B2A8-38076DF60446}.Release|Win32.ActiveCfg = Release|Win32 - {B34DE966-8249-4D10-B2A8-38076DF60446}.Release|Win32.Build.0 = Release|Win32 - {82F5F354-49B9-4B26-A7D6-B1983A22BE57}.Debug|Win32.ActiveCfg = Debug|Win32 - {82F5F354-49B9-4B26-A7D6-B1983A22BE57}.Debug|Win32.Build.0 = Debug|Win32 - {82F5F354-49B9-4B26-A7D6-B1983A22BE57}.Release|Win32.ActiveCfg = Release|Win32 - {82F5F354-49B9-4B26-A7D6-B1983A22BE57}.Release|Win32.Build.0 = Release|Win32 - {091C7892-841B-464B-8C5F-DA4CDE1E17FF}.Debug|Win32.ActiveCfg = Debug|Win32 - {091C7892-841B-464B-8C5F-DA4CDE1E17FF}.Debug|Win32.Build.0 = Debug|Win32 - {091C7892-841B-464B-8C5F-DA4CDE1E17FF}.Release|Win32.ActiveCfg = Release|Win32 - {091C7892-841B-464B-8C5F-DA4CDE1E17FF}.Release|Win32.Build.0 = Release|Win32 - {764971AC-24AC-4393-9590-4CF150E1E4D7}.Debug|Win32.ActiveCfg = Debug|Win32 - {764971AC-24AC-4393-9590-4CF150E1E4D7}.Debug|Win32.Build.0 = Debug|Win32 - {764971AC-24AC-4393-9590-4CF150E1E4D7}.Release|Win32.ActiveCfg = Release|Win32 - {764971AC-24AC-4393-9590-4CF150E1E4D7}.Release|Win32.Build.0 = Release|Win32 - {BDD74ECB-6280-4DED-8213-FC7603B187A1}.Debug|Win32.ActiveCfg = Debug|Win32 - {BDD74ECB-6280-4DED-8213-FC7603B187A1}.Debug|Win32.Build.0 = Debug|Win32 - {BDD74ECB-6280-4DED-8213-FC7603B187A1}.Release|Win32.ActiveCfg = Release|Win32 - {BDD74ECB-6280-4DED-8213-FC7603B187A1}.Release|Win32.Build.0 = Release|Win32 - {68B42B7A-30B0-4507-8315-CFAA8E5040E4}.Debug|Win32.ActiveCfg = Debug|Win32 - {68B42B7A-30B0-4507-8315-CFAA8E5040E4}.Debug|Win32.Build.0 = Debug|Win32 - {68B42B7A-30B0-4507-8315-CFAA8E5040E4}.Release|Win32.ActiveCfg = Release|Win32 - {68B42B7A-30B0-4507-8315-CFAA8E5040E4}.Release|Win32.Build.0 = Release|Win32 - {228735C3-E2B8-4887-8254-FA24D4F25C9E}.Debug|Win32.ActiveCfg = Debug|Win32 - {228735C3-E2B8-4887-8254-FA24D4F25C9E}.Debug|Win32.Build.0 = Debug|Win32 - {228735C3-E2B8-4887-8254-FA24D4F25C9E}.Release|Win32.ActiveCfg = Release|Win32 - {228735C3-E2B8-4887-8254-FA24D4F25C9E}.Release|Win32.Build.0 = Release|Win32 - {2420042C-1EF3-4BF2-BE56-0125A671E824}.Debug|Win32.ActiveCfg = Debug|Win32 - {2420042C-1EF3-4BF2-BE56-0125A671E824}.Debug|Win32.Build.0 = Debug|Win32 - {2420042C-1EF3-4BF2-BE56-0125A671E824}.Release|Win32.ActiveCfg = Release|Win32 - {2420042C-1EF3-4BF2-BE56-0125A671E824}.Release|Win32.Build.0 = Release|Win32 - {4B6B49DC-E40B-45F1-9A6E-A6A75EEDBA4F}.Debug|Win32.ActiveCfg = Debug|Win32 - {4B6B49DC-E40B-45F1-9A6E-A6A75EEDBA4F}.Debug|Win32.Build.0 = Debug|Win32 - {4B6B49DC-E40B-45F1-9A6E-A6A75EEDBA4F}.Release|Win32.ActiveCfg = Release|Win32 - {4B6B49DC-E40B-45F1-9A6E-A6A75EEDBA4F}.Release|Win32.Build.0 = Release|Win32 - {78DAB5A3-7DB1-42AF-B921-CDDB8E58301B}.Debug|Win32.ActiveCfg = Debug|Win32 - {78DAB5A3-7DB1-42AF-B921-CDDB8E58301B}.Debug|Win32.Build.0 = Debug|Win32 - {78DAB5A3-7DB1-42AF-B921-CDDB8E58301B}.Release|Win32.ActiveCfg = Release|Win32 - {78DAB5A3-7DB1-42AF-B921-CDDB8E58301B}.Release|Win32.Build.0 = Release|Win32 - {5F024883-B62F-4B30-B5E0-84A6CD8F834C}.Debug|Win32.ActiveCfg = Debug|Win32 - {5F024883-B62F-4B30-B5E0-84A6CD8F834C}.Debug|Win32.Build.0 = Debug|Win32 - {5F024883-B62F-4B30-B5E0-84A6CD8F834C}.Release|Win32.ActiveCfg = Release|Win32 - {5F024883-B62F-4B30-B5E0-84A6CD8F834C}.Release|Win32.Build.0 = Release|Win32 - {F7E56A8B-4878-4D91-A950-B015F562E6C2}.Debug|Win32.ActiveCfg = Debug|Win32 - {F7E56A8B-4878-4D91-A950-B015F562E6C2}.Debug|Win32.Build.0 = Debug|Win32 - {F7E56A8B-4878-4D91-A950-B015F562E6C2}.Release|Win32.ActiveCfg = Release|Win32 - {F7E56A8B-4878-4D91-A950-B015F562E6C2}.Release|Win32.Build.0 = Release|Win32 - {FB523785-E427-45D7-8A4F-6C3ADCFD0AC7}.Debug|Win32.ActiveCfg = Debug|Win32 - {FB523785-E427-45D7-8A4F-6C3ADCFD0AC7}.Debug|Win32.Build.0 = Debug|Win32 - {FB523785-E427-45D7-8A4F-6C3ADCFD0AC7}.Release|Win32.ActiveCfg = Release|Win32 - {FB523785-E427-45D7-8A4F-6C3ADCFD0AC7}.Release|Win32.Build.0 = Release|Win32 - {04E2B42D-18F0-4ABF-A5AA-127F0ADA61E7}.Debug|Win32.ActiveCfg = Debug|Win32 - {04E2B42D-18F0-4ABF-A5AA-127F0ADA61E7}.Debug|Win32.Build.0 = Debug|Win32 - {04E2B42D-18F0-4ABF-A5AA-127F0ADA61E7}.Release|Win32.ActiveCfg = Release|Win32 - {04E2B42D-18F0-4ABF-A5AA-127F0ADA61E7}.Release|Win32.Build.0 = Release|Win32 - {FFDE8917-365E-4F5A-BF48-1EC9ECAA132A}.Debug|Win32.ActiveCfg = Debug|Win32 - {FFDE8917-365E-4F5A-BF48-1EC9ECAA132A}.Debug|Win32.Build.0 = Debug|Win32 - {FFDE8917-365E-4F5A-BF48-1EC9ECAA132A}.Release|Win32.ActiveCfg = Release|Win32 - {FFDE8917-365E-4F5A-BF48-1EC9ECAA132A}.Release|Win32.Build.0 = Release|Win32 - {DE83CA2E-4F10-4263-9D72-31079735A4A9}.Debug|Win32.ActiveCfg = Debug|Win32 - {DE83CA2E-4F10-4263-9D72-31079735A4A9}.Debug|Win32.Build.0 = Debug|Win32 - {DE83CA2E-4F10-4263-9D72-31079735A4A9}.Release|Win32.ActiveCfg = Release|Win32 - {DE83CA2E-4F10-4263-9D72-31079735A4A9}.Release|Win32.Build.0 = Release|Win32 - {F7FC3D3F-8007-4188-A895-C6659D327353}.Debug|Win32.ActiveCfg = Debug|Win32 - {F7FC3D3F-8007-4188-A895-C6659D327353}.Debug|Win32.Build.0 = Debug|Win32 - {F7FC3D3F-8007-4188-A895-C6659D327353}.Release|Win32.ActiveCfg = Release|Win32 - {F7FC3D3F-8007-4188-A895-C6659D327353}.Release|Win32.Build.0 = Release|Win32 - {ECE6163D-9117-4375-8AA6-8BD1D5BA409B}.Debug|Win32.ActiveCfg = Debug|Win32 - {ECE6163D-9117-4375-8AA6-8BD1D5BA409B}.Debug|Win32.Build.0 = Debug|Win32 - {ECE6163D-9117-4375-8AA6-8BD1D5BA409B}.Release|Win32.ActiveCfg = Release|Win32 - {ECE6163D-9117-4375-8AA6-8BD1D5BA409B}.Release|Win32.Build.0 = Release|Win32 - {BC5020F0-25B1-4DB3-A1DE-9E1062B9ACAD}.Debug|Win32.ActiveCfg = Debug|Win32 - {BC5020F0-25B1-4DB3-A1DE-9E1062B9ACAD}.Debug|Win32.Build.0 = Debug|Win32 - {BC5020F0-25B1-4DB3-A1DE-9E1062B9ACAD}.Release|Win32.ActiveCfg = Release|Win32 - {BC5020F0-25B1-4DB3-A1DE-9E1062B9ACAD}.Release|Win32.Build.0 = Release|Win32 - {BB1A650E-51DA-4873-8E65-0BC7A4A09F5E}.Debug|Win32.ActiveCfg = Debug|Win32 - {BB1A650E-51DA-4873-8E65-0BC7A4A09F5E}.Debug|Win32.Build.0 = Debug|Win32 - {BB1A650E-51DA-4873-8E65-0BC7A4A09F5E}.Release|Win32.ActiveCfg = Release|Win32 - {BB1A650E-51DA-4873-8E65-0BC7A4A09F5E}.Release|Win32.Build.0 = Release|Win32 - {97562F72-6F1B-4348-9787-C568A7A7FC5B}.Debug|Win32.ActiveCfg = Debug|Win32 - {97562F72-6F1B-4348-9787-C568A7A7FC5B}.Debug|Win32.Build.0 = Debug|Win32 - {97562F72-6F1B-4348-9787-C568A7A7FC5B}.Release|Win32.ActiveCfg = Release|Win32 - {97562F72-6F1B-4348-9787-C568A7A7FC5B}.Release|Win32.Build.0 = Release|Win32 - {9B53EED3-25C7-440B-8BFA-B1F6037D6600}.Debug|Win32.ActiveCfg = Debug|Win32 - {9B53EED3-25C7-440B-8BFA-B1F6037D6600}.Debug|Win32.Build.0 = Debug|Win32 - {9B53EED3-25C7-440B-8BFA-B1F6037D6600}.Release|Win32.ActiveCfg = Release|Win32 - {9B53EED3-25C7-440B-8BFA-B1F6037D6600}.Release|Win32.Build.0 = Release|Win32 - {841706E2-3993-4FAA-8792-75EBB6B61446}.Debug|Win32.ActiveCfg = Debug|Win32 - {841706E2-3993-4FAA-8792-75EBB6B61446}.Debug|Win32.Build.0 = Debug|Win32 - {841706E2-3993-4FAA-8792-75EBB6B61446}.Release|Win32.ActiveCfg = Release|Win32 - {841706E2-3993-4FAA-8792-75EBB6B61446}.Release|Win32.Build.0 = Release|Win32 - {5DABC267-9C2D-468C-B546-F859F8A93827}.Debug|Win32.ActiveCfg = Debug|Win32 - {5DABC267-9C2D-468C-B546-F859F8A93827}.Debug|Win32.Build.0 = Debug|Win32 - {5DABC267-9C2D-468C-B546-F859F8A93827}.Release|Win32.ActiveCfg = Release|Win32 - {5DABC267-9C2D-468C-B546-F859F8A93827}.Release|Win32.Build.0 = Release|Win32 - {404FB540-9351-4519-83E9-EF1243C5AF60}.Debug|Win32.ActiveCfg = Debug|Win32 - {404FB540-9351-4519-83E9-EF1243C5AF60}.Debug|Win32.Build.0 = Debug|Win32 - {404FB540-9351-4519-83E9-EF1243C5AF60}.Release|Win32.ActiveCfg = Release|Win32 - {404FB540-9351-4519-83E9-EF1243C5AF60}.Release|Win32.Build.0 = Release|Win32 - {792E9BCA-748B-4B90-83C4-719C7B8CC382}.Debug|Win32.ActiveCfg = Debug|Win32 - {792E9BCA-748B-4B90-83C4-719C7B8CC382}.Debug|Win32.Build.0 = Debug|Win32 - {792E9BCA-748B-4B90-83C4-719C7B8CC382}.Release|Win32.ActiveCfg = Release|Win32 - {792E9BCA-748B-4B90-83C4-719C7B8CC382}.Release|Win32.Build.0 = Release|Win32 - {D6E6FC71-A1DE-43B8-A825-F5518B890CDB}.Debug|Win32.ActiveCfg = Debug|Win32 - {D6E6FC71-A1DE-43B8-A825-F5518B890CDB}.Debug|Win32.Build.0 = Debug|Win32 - {D6E6FC71-A1DE-43B8-A825-F5518B890CDB}.Release|Win32.ActiveCfg = Release|Win32 - {D6E6FC71-A1DE-43B8-A825-F5518B890CDB}.Release|Win32.Build.0 = Release|Win32 - {47A811A1-89BB-4EC2-B4D4-CDAE6A9AEB69}.Debug|Win32.ActiveCfg = Debug|Win32 - {47A811A1-89BB-4EC2-B4D4-CDAE6A9AEB69}.Debug|Win32.Build.0 = Debug|Win32 - {47A811A1-89BB-4EC2-B4D4-CDAE6A9AEB69}.Release|Win32.ActiveCfg = Release|Win32 - {47A811A1-89BB-4EC2-B4D4-CDAE6A9AEB69}.Release|Win32.Build.0 = Release|Win32 - {3473C2BF-A7EF-44EA-9092-A42E557702C6}.Debug|Win32.ActiveCfg = Debug|Win32 - {3473C2BF-A7EF-44EA-9092-A42E557702C6}.Debug|Win32.Build.0 = Debug|Win32 - {3473C2BF-A7EF-44EA-9092-A42E557702C6}.Release|Win32.ActiveCfg = Release|Win32 - {3473C2BF-A7EF-44EA-9092-A42E557702C6}.Release|Win32.Build.0 = Release|Win32 - {AD6A5374-298B-49FA-9885-D2BF535F3B7D}.Debug|Win32.ActiveCfg = Debug|Win32 - {AD6A5374-298B-49FA-9885-D2BF535F3B7D}.Debug|Win32.Build.0 = Debug|Win32 - {AD6A5374-298B-49FA-9885-D2BF535F3B7D}.Release|Win32.ActiveCfg = Release|Win32 - {AD6A5374-298B-49FA-9885-D2BF535F3B7D}.Release|Win32.Build.0 = Release|Win32 - {176FC6A6-9007-4B65-AB33-F8A6114D534B}.Debug|Win32.ActiveCfg = Debug|Win32 - {176FC6A6-9007-4B65-AB33-F8A6114D534B}.Debug|Win32.Build.0 = Debug|Win32 - {176FC6A6-9007-4B65-AB33-F8A6114D534B}.Release|Win32.ActiveCfg = Release|Win32 - {176FC6A6-9007-4B65-AB33-F8A6114D534B}.Release|Win32.Build.0 = Release|Win32 - {F3DD7942-BB0A-4879-A9B6-8BFB69B4E543}.Debug|Win32.ActiveCfg = Debug|Win32 - {F3DD7942-BB0A-4879-A9B6-8BFB69B4E543}.Debug|Win32.Build.0 = Debug|Win32 - {F3DD7942-BB0A-4879-A9B6-8BFB69B4E543}.Release|Win32.ActiveCfg = Release|Win32 - {F3DD7942-BB0A-4879-A9B6-8BFB69B4E543}.Release|Win32.Build.0 = Release|Win32 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection -EndGlobal diff --git a/windows/tsgl.v11.suo b/windows/tsgl.v11.suo deleted file mode 100644 index 3c73d0e1e..000000000 Binary files a/windows/tsgl.v11.suo and /dev/null differ diff --git a/windows/tsgl.vcxproj b/windows/tsgl.vcxproj deleted file mode 100644 index 0ade16e92..000000000 --- a/windows/tsgl.vcxproj +++ /dev/null @@ -1,136 +0,0 @@ - - - - - Debug - Win32 - - - Release - Win32 - - - - {4436E331-0E22-4404-B1CB-CCC5B20C459E} - Win32Proj - - - - StaticLibrary - true - v110 - - - Application - false - v110 - - - - - - - - - - - - - - - true - $(SolutionDir)\src\TSGL;$(SolutionDir)\include;$(IncludePath) - $(SolutionDir)lib;$(LibraryPath) - $(SolutionDir)lib\ - - - true - - - - WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions) - MultiThreadedDebugDLL - TurnOffAllWarnings - ProgramDatabase - Disabled - true - - - MachineX86 - true - Console - glfw3.lib;glew32sd.lib;freetype.lib;%(AdditionalDependencies) - - - copy "$(SolutionDir)lib\freetype6.dll" "$(SolutionDir)Debug\freetype6.dll"; -copy "$(SolutionDir)lib\zlib1.dll" "$(SolutionDir)Debug\zlib1.dll"; - - - - - - WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions) - MultiThreadedDLL - Level3 - ProgramDatabase - - - MachineX86 - true - Windows - true - true - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/windows/tsgl.vcxproj.filters b/windows/tsgl.vcxproj.filters deleted file mode 100644 index 0a3c593c0..000000000 --- a/windows/tsgl.vcxproj.filters +++ /dev/null @@ -1,153 +0,0 @@ - - - - - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx - - - {93995380-89BD-4b04-88EB-625FBE52EBFB} - h;hpp;hxx;hm;inl;inc;xsd - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav - - - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - \ No newline at end of file diff --git a/windows/tsgl.vcxproj.user b/windows/tsgl.vcxproj.user deleted file mode 100644 index fd66dd321..000000000 --- a/windows/tsgl.vcxproj.user +++ /dev/null @@ -1,11 +0,0 @@ - - - - false - - - PATH=$(TsglDllDir);%PATH% -$(LocalDebuggerEnvironment) - WindowsLocalDebugger - - \ No newline at end of file diff --git a/windows/vs2012/testAlphaRectangle.vcxproj b/windows/vs2012/testAlphaRectangle.vcxproj deleted file mode 100644 index fb3c75f9b..000000000 --- a/windows/vs2012/testAlphaRectangle.vcxproj +++ /dev/null @@ -1,74 +0,0 @@ - - - - - Debug - Win32 - - - Release - Win32 - - - - {C3C493B7-A293-49F1-A094-9465349D8661} - testAlphaRectangle - - - - Application - true - v110 - MultiByte - - - Application - false - v110 - true - MultiByte - - - - - - - - - - - - - - - - - Level3 - Disabled - true - - - true - - - - - Level3 - MaxSpeed - true - true - true - - - true - true - true - - - - - - - - - \ No newline at end of file diff --git a/windows/vs2012/testAlphaRectangle.vcxproj.filters b/windows/vs2012/testAlphaRectangle.vcxproj.filters deleted file mode 100644 index 1acdad2af..000000000 --- a/windows/vs2012/testAlphaRectangle.vcxproj.filters +++ /dev/null @@ -1,22 +0,0 @@ - - - - - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx - - - {93995380-89BD-4b04-88EB-625FBE52EBFB} - h;hpp;hxx;hm;inl;inc;xsd - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms - - - - - Source Files - - - \ No newline at end of file diff --git a/windows/vs2012/testAura.vcxproj b/windows/vs2012/testAura.vcxproj deleted file mode 100644 index 9ee2232fe..000000000 --- a/windows/vs2012/testAura.vcxproj +++ /dev/null @@ -1,74 +0,0 @@ - - - - - Debug - Win32 - - - Release - Win32 - - - - {47A811A1-89BB-4EC2-B4D4-CDAE6A9AEB69} - testAura - - - - Application - true - v110 - MultiByte - - - Application - false - v110 - true - MultiByte - - - - - - - - - - - - - - - - - Level3 - Disabled - true - - - true - - - - - Level3 - MaxSpeed - true - true - true - - - true - true - true - - - - - - - - - \ No newline at end of file diff --git a/windows/vs2012/testAura.vcxproj.filters b/windows/vs2012/testAura.vcxproj.filters deleted file mode 100644 index f0be60411..000000000 --- a/windows/vs2012/testAura.vcxproj.filters +++ /dev/null @@ -1,22 +0,0 @@ - - - - - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx - - - {93995380-89BD-4b04-88EB-625FBE52EBFB} - h;hpp;hxx;hm;inl;inc;xsd - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms - - - - - Source Files - - - \ No newline at end of file diff --git a/windows/vs2012/testBallRoom.vcxproj b/windows/vs2012/testBallRoom.vcxproj deleted file mode 100644 index d6e2c5c35..000000000 --- a/windows/vs2012/testBallRoom.vcxproj +++ /dev/null @@ -1,74 +0,0 @@ - - - - - Debug - Win32 - - - Release - Win32 - - - - - - - {97562F72-6F1B-4348-9787-C568A7A7FC5B} - testBallRoom - - - - Application - true - v110 - MultiByte - - - Application - false - v110 - true - MultiByte - - - - - - - - - - - - - - - - - Level3 - Disabled - true - - - true - - - - - Level3 - MaxSpeed - true - true - true - - - true - true - true - - - - - - \ No newline at end of file diff --git a/windows/vs2012/testBallRoom.vcxproj.filters b/windows/vs2012/testBallRoom.vcxproj.filters deleted file mode 100644 index 96096e3fc..000000000 --- a/windows/vs2012/testBallRoom.vcxproj.filters +++ /dev/null @@ -1,22 +0,0 @@ - - - - - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx - - - {93995380-89BD-4b04-88EB-625FBE52EBFB} - h;hpp;hxx;hm;inl;inc;xsd - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms - - - - - Source Files - - - \ No newline at end of file diff --git a/windows/vs2012/testBlurImage.vcxproj b/windows/vs2012/testBlurImage.vcxproj deleted file mode 100644 index 31f6d4c14..000000000 --- a/windows/vs2012/testBlurImage.vcxproj +++ /dev/null @@ -1,74 +0,0 @@ - - - - - Debug - Win32 - - - Release - Win32 - - - - {176FC6A6-9007-4B65-AB33-F8A6114D534B} - testBlurImage - - - - Application - true - v110 - MultiByte - - - Application - false - v110 - true - MultiByte - - - - - - - - - - - - - - - - - Level3 - Disabled - true - - - true - - - - - Level3 - MaxSpeed - true - true - true - - - true - true - true - - - - - - - - - \ No newline at end of file diff --git a/windows/vs2012/testBlurImage.vcxproj.filters b/windows/vs2012/testBlurImage.vcxproj.filters deleted file mode 100644 index dc49f1a6d..000000000 --- a/windows/vs2012/testBlurImage.vcxproj.filters +++ /dev/null @@ -1,22 +0,0 @@ - - - - - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx - - - {93995380-89BD-4b04-88EB-625FBE52EBFB} - h;hpp;hxx;hm;inl;inc;xsd - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms - - - - - Source Files - - - \ No newline at end of file diff --git a/windows/vs2012/testCalcPi.vcxproj b/windows/vs2012/testCalcPi.vcxproj deleted file mode 100644 index 546e025c7..000000000 --- a/windows/vs2012/testCalcPi.vcxproj +++ /dev/null @@ -1,74 +0,0 @@ - - - - - Debug - Win32 - - - Release - Win32 - - - - {5DABC267-9C2D-468C-B546-F859F8A93827} - testCalcPi - - - - Application - true - v110 - MultiByte - - - Application - false - v110 - true - MultiByte - - - - - - - - - - - - - - - - - Level3 - Disabled - true - - - true - - - - - Level3 - MaxSpeed - true - true - true - - - true - true - true - - - - - - - - - \ No newline at end of file diff --git a/windows/vs2012/testCalcPi.vcxproj.filters b/windows/vs2012/testCalcPi.vcxproj.filters deleted file mode 100644 index fc1a285df..000000000 --- a/windows/vs2012/testCalcPi.vcxproj.filters +++ /dev/null @@ -1,22 +0,0 @@ - - - - - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx - - - {93995380-89BD-4b04-88EB-625FBE52EBFB} - h;hpp;hxx;hm;inl;inc;xsd - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms - - - - - Source Files - - - \ No newline at end of file diff --git a/windows/vs2012/testClock.vcxproj b/windows/vs2012/testClock.vcxproj deleted file mode 100644 index 8416f9ca6..000000000 --- a/windows/vs2012/testClock.vcxproj +++ /dev/null @@ -1,74 +0,0 @@ - - - - - Debug - Win32 - - - Release - Win32 - - - - {6CC9659B-9849-4E4A-835A-693FA23E2CED} - testClock - - - - Application - true - v110 - MultiByte - - - Application - false - v110 - true - MultiByte - - - - - - - - - - - - - - - - - Level3 - Disabled - true - - - true - - - - - Level3 - MaxSpeed - true - true - true - - - true - true - true - - - - - - - - - \ No newline at end of file diff --git a/windows/vs2012/testClock.vcxproj.filters b/windows/vs2012/testClock.vcxproj.filters deleted file mode 100644 index 016db9f32..000000000 --- a/windows/vs2012/testClock.vcxproj.filters +++ /dev/null @@ -1,22 +0,0 @@ - - - - - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx - - - {93995380-89BD-4b04-88EB-625FBE52EBFB} - h;hpp;hxx;hm;inl;inc;xsd - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms - - - - - Source Files - - - \ No newline at end of file diff --git a/windows/vs2012/testColorPoints.vcxproj b/windows/vs2012/testColorPoints.vcxproj deleted file mode 100644 index 1565a5c05..000000000 --- a/windows/vs2012/testColorPoints.vcxproj +++ /dev/null @@ -1,74 +0,0 @@ - - - - - Debug - Win32 - - - Release - Win32 - - - - {75142FD6-5FA0-40E9-B580-0535B63D659B} - testColorPoints - - - - Application - true - v110 - MultiByte - - - Application - false - v110 - true - MultiByte - - - - - - - - - - - - - - - - - Level3 - Disabled - true - - - true - - - - - Level3 - MaxSpeed - true - true - true - - - true - true - true - - - - - - - - - \ No newline at end of file diff --git a/windows/vs2012/testColorPoints.vcxproj.filters b/windows/vs2012/testColorPoints.vcxproj.filters deleted file mode 100644 index 8f2ee0e6f..000000000 --- a/windows/vs2012/testColorPoints.vcxproj.filters +++ /dev/null @@ -1,22 +0,0 @@ - - - - - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx - - - {93995380-89BD-4b04-88EB-625FBE52EBFB} - h;hpp;hxx;hm;inl;inc;xsd - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms - - - - - Source Files - - - \ No newline at end of file diff --git a/windows/vs2012/testColorWheel.vcxproj b/windows/vs2012/testColorWheel.vcxproj deleted file mode 100644 index f219f3ab1..000000000 --- a/windows/vs2012/testColorWheel.vcxproj +++ /dev/null @@ -1,74 +0,0 @@ - - - - - Debug - Win32 - - - Release - Win32 - - - - {792E9BCA-748B-4B90-83C4-719C7B8CC382} - testColorWheel - - - - Application - true - v110 - MultiByte - - - Application - false - v110 - true - MultiByte - - - - - - - - - - - - - - - - - Level3 - Disabled - true - - - true - - - - - Level3 - MaxSpeed - true - true - true - - - true - true - true - - - - - - - - - \ No newline at end of file diff --git a/windows/vs2012/testColorWheel.vcxproj.filters b/windows/vs2012/testColorWheel.vcxproj.filters deleted file mode 100644 index e6d95bdb4..000000000 --- a/windows/vs2012/testColorWheel.vcxproj.filters +++ /dev/null @@ -1,22 +0,0 @@ - - - - - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx - - - {93995380-89BD-4b04-88EB-625FBE52EBFB} - h;hpp;hxx;hm;inl;inc;xsd - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms - - - - - Source Files - - - \ No newline at end of file diff --git a/windows/vs2012/testConcavePolygon.vcxproj b/windows/vs2012/testConcavePolygon.vcxproj deleted file mode 100644 index b242522a4..000000000 --- a/windows/vs2012/testConcavePolygon.vcxproj +++ /dev/null @@ -1,74 +0,0 @@ - - - - - Debug - Win32 - - - Release - Win32 - - - - {7272C90F-2BB2-4ACA-9608-92422A631366} - testConcavePolygon - - - - Application - true - v110 - MultiByte - - - Application - false - v110 - true - MultiByte - - - - - - - - - - - - - - - - - Level3 - Disabled - true - - - true - - - - - Level3 - MaxSpeed - true - true - true - - - true - true - true - - - - - - - - - \ No newline at end of file diff --git a/windows/vs2012/testConcavePolygon.vcxproj.filters b/windows/vs2012/testConcavePolygon.vcxproj.filters deleted file mode 100644 index 656c869ff..000000000 --- a/windows/vs2012/testConcavePolygon.vcxproj.filters +++ /dev/null @@ -1,22 +0,0 @@ - - - - - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx - - - {93995380-89BD-4b04-88EB-625FBE52EBFB} - h;hpp;hxx;hm;inl;inc;xsd - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms - - - - - Source Files - - - \ No newline at end of file diff --git a/windows/vs2012/testConway.vcxproj b/windows/vs2012/testConway.vcxproj deleted file mode 100644 index d0db7fb7c..000000000 --- a/windows/vs2012/testConway.vcxproj +++ /dev/null @@ -1,78 +0,0 @@ - - - - - Debug - Win32 - - - Release - Win32 - - - - {F069D325-0ADD-465A-AAA1-9CD1610FF8D6} - testConway - - - - Application - true - v110 - MultiByte - - - Application - false - v110 - true - MultiByte - - - - - - - - - - - - - - - - - Level3 - Disabled - true - - - true - - - - - Level3 - MaxSpeed - true - true - true - - - true - true - true - - - - - - - - - - - - - \ No newline at end of file diff --git a/windows/vs2012/testConway.vcxproj.filters b/windows/vs2012/testConway.vcxproj.filters deleted file mode 100644 index d7c07e1cc..000000000 --- a/windows/vs2012/testConway.vcxproj.filters +++ /dev/null @@ -1,30 +0,0 @@ - - - - - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx - - - {93995380-89BD-4b04-88EB-625FBE52EBFB} - h;hpp;hxx;hm;inl;inc;xsd - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms - - - - - Source Files - - - Source Files - - - - - Header Files - - - \ No newline at end of file diff --git a/windows/vs2012/testCosineIntegral.vcxproj b/windows/vs2012/testCosineIntegral.vcxproj deleted file mode 100644 index 5a5d38d16..000000000 --- a/windows/vs2012/testCosineIntegral.vcxproj +++ /dev/null @@ -1,74 +0,0 @@ - - - - - Debug - Win32 - - - Release - Win32 - - - - {D1E18BF0-0152-4C61-8FC3-48568EF4CF97} - testCosineIntegral - - - - Application - true - v110 - MultiByte - - - Application - false - v110 - true - MultiByte - - - - - - - - - - - - - - - - - Level3 - Disabled - true - - - true - - - - - Level3 - MaxSpeed - true - true - true - - - true - true - true - - - - - - - - - \ No newline at end of file diff --git a/windows/vs2012/testCosineIntegral.vcxproj.filters b/windows/vs2012/testCosineIntegral.vcxproj.filters deleted file mode 100644 index caa04546f..000000000 --- a/windows/vs2012/testCosineIntegral.vcxproj.filters +++ /dev/null @@ -1,22 +0,0 @@ - - - - - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx - - - {93995380-89BD-4b04-88EB-625FBE52EBFB} - h;hpp;hxx;hm;inl;inc;xsd - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms - - - - - Source Files - - - \ No newline at end of file diff --git a/windows/vs2012/testDumbSort.vcxproj b/windows/vs2012/testDumbSort.vcxproj deleted file mode 100644 index 46801d96f..000000000 --- a/windows/vs2012/testDumbSort.vcxproj +++ /dev/null @@ -1,74 +0,0 @@ - - - - - Debug - Win32 - - - Release - Win32 - - - - {1AA40061-6D6E-4893-A56B-0F72B0974282} - testDumbSort - - - - Application - true - v110 - MultiByte - - - Application - false - v110 - true - MultiByte - - - - - - - - - - - - - - - - - Level3 - Disabled - true - - - true - - - - - Level3 - MaxSpeed - true - true - true - - - true - true - true - - - - - - - - - \ No newline at end of file diff --git a/windows/vs2012/testDumbSort.vcxproj.filters b/windows/vs2012/testDumbSort.vcxproj.filters deleted file mode 100644 index 8a42966df..000000000 --- a/windows/vs2012/testDumbSort.vcxproj.filters +++ /dev/null @@ -1,22 +0,0 @@ - - - - - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx - - - {93995380-89BD-4b04-88EB-625FBE52EBFB} - h;hpp;hxx;hm;inl;inc;xsd - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms - - - - - Source Files - - - \ No newline at end of file diff --git a/windows/vs2012/testFireworks.vcxproj b/windows/vs2012/testFireworks.vcxproj deleted file mode 100644 index 15018837e..000000000 --- a/windows/vs2012/testFireworks.vcxproj +++ /dev/null @@ -1,74 +0,0 @@ - - - - - Debug - Win32 - - - Release - Win32 - - - - {3473C2BF-A7EF-44EA-9092-A42E557702C6} - testFireworks - - - - Application - true - v110 - MultiByte - - - Application - false - v110 - true - MultiByte - - - - - - - - - - - - - - - - - Level3 - Disabled - true - - - true - - - - - Level3 - MaxSpeed - true - true - true - - - true - true - true - - - - - - - - - \ No newline at end of file diff --git a/windows/vs2012/testFireworks.vcxproj.filters b/windows/vs2012/testFireworks.vcxproj.filters deleted file mode 100644 index 91ae466ce..000000000 --- a/windows/vs2012/testFireworks.vcxproj.filters +++ /dev/null @@ -1,22 +0,0 @@ - - - - - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx - - - {93995380-89BD-4b04-88EB-625FBE52EBFB} - h;hpp;hxx;hm;inl;inc;xsd - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms - - - - - Source Files - - - \ No newline at end of file diff --git a/windows/vs2012/testForestFire.vcxproj b/windows/vs2012/testForestFire.vcxproj deleted file mode 100644 index bf0a880cc..000000000 --- a/windows/vs2012/testForestFire.vcxproj +++ /dev/null @@ -1,74 +0,0 @@ - - - - - Debug - Win32 - - - Release - Win32 - - - - {2218A2AE-071D-4694-9891-4539F30A9236} - testForestFire - - - - Application - true - v110 - MultiByte - - - Application - false - v110 - true - MultiByte - - - - - - - - - - - - - - - - - Level3 - Disabled - true - - - true - - - - - Level3 - MaxSpeed - true - true - true - - - true - true - true - - - - - - - - - \ No newline at end of file diff --git a/windows/vs2012/testForestFire.vcxproj.filters b/windows/vs2012/testForestFire.vcxproj.filters deleted file mode 100644 index 2ef8e4c80..000000000 --- a/windows/vs2012/testForestFire.vcxproj.filters +++ /dev/null @@ -1,22 +0,0 @@ - - - - - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx - - - {93995380-89BD-4b04-88EB-625FBE52EBFB} - h;hpp;hxx;hm;inl;inc;xsd - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms - - - - - Source Files - - - \ No newline at end of file diff --git a/windows/vs2012/testFunction.vcxproj b/windows/vs2012/testFunction.vcxproj deleted file mode 100644 index 2696dd104..000000000 --- a/windows/vs2012/testFunction.vcxproj +++ /dev/null @@ -1,74 +0,0 @@ - - - - - Debug - Win32 - - - Release - Win32 - - - - {C3EEC148-AD26-4E8A-861D-41CCC7D5A068} - testFunction - - - - Application - true - v110 - MultiByte - - - Application - false - v110 - true - MultiByte - - - - - - - - - - - - - - - - - Level3 - Disabled - true - - - true - - - - - Level3 - MaxSpeed - true - true - true - - - true - true - true - - - - - - - - - \ No newline at end of file diff --git a/windows/vs2012/testFunction.vcxproj.filters b/windows/vs2012/testFunction.vcxproj.filters deleted file mode 100644 index ee1f19c4b..000000000 --- a/windows/vs2012/testFunction.vcxproj.filters +++ /dev/null @@ -1,22 +0,0 @@ - - - - - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx - - - {93995380-89BD-4b04-88EB-625FBE52EBFB} - h;hpp;hxx;hm;inl;inc;xsd - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms - - - - - Source Files - - - \ No newline at end of file diff --git a/windows/vs2012/testGetPixels.vcxproj b/windows/vs2012/testGetPixels.vcxproj deleted file mode 100644 index 27ff6a250..000000000 --- a/windows/vs2012/testGetPixels.vcxproj +++ /dev/null @@ -1,74 +0,0 @@ - - - - - Debug - Win32 - - - Release - Win32 - - - - {C0E045F9-E70E-4A1B-8F91-490E4863AFAE} - testGetPixels - - - - Application - true - v110 - MultiByte - - - Application - false - v110 - true - MultiByte - - - - - - - - - - - - - - - - - Level3 - Disabled - true - - - true - - - - - Level3 - MaxSpeed - true - true - true - - - true - true - true - - - - - - - - - \ No newline at end of file diff --git a/windows/vs2012/testGetPixels.vcxproj.filters b/windows/vs2012/testGetPixels.vcxproj.filters deleted file mode 100644 index b6c7ad5e6..000000000 --- a/windows/vs2012/testGetPixels.vcxproj.filters +++ /dev/null @@ -1,22 +0,0 @@ - - - - - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx - - - {93995380-89BD-4b04-88EB-625FBE52EBFB} - h;hpp;hxx;hm;inl;inc;xsd - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms - - - - - Source Files - - - \ No newline at end of file diff --git a/windows/vs2012/testGradientWheel.vcxproj b/windows/vs2012/testGradientWheel.vcxproj deleted file mode 100644 index 1dd8e8681..000000000 --- a/windows/vs2012/testGradientWheel.vcxproj +++ /dev/null @@ -1,74 +0,0 @@ - - - - - Debug - Win32 - - - Release - Win32 - - - - {B34DE966-8249-4D10-B2A8-38076DF60446} - testGradientWheel - - - - Application - true - v110 - MultiByte - - - Application - false - v110 - true - MultiByte - - - - - - - - - - - - - - - - - Level3 - Disabled - true - - - true - - - - - Level3 - MaxSpeed - true - true - true - - - true - true - true - - - - - - - - - \ No newline at end of file diff --git a/windows/vs2012/testGradientWheel.vcxproj.filters b/windows/vs2012/testGradientWheel.vcxproj.filters deleted file mode 100644 index 6cd156dae..000000000 --- a/windows/vs2012/testGradientWheel.vcxproj.filters +++ /dev/null @@ -1,22 +0,0 @@ - - - - - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx - - - {93995380-89BD-4b04-88EB-625FBE52EBFB} - h;hpp;hxx;hm;inl;inc;xsd - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms - - - - - Source Files - - - \ No newline at end of file diff --git a/windows/vs2012/testGraydient.vcxproj b/windows/vs2012/testGraydient.vcxproj deleted file mode 100644 index 42a39e292..000000000 --- a/windows/vs2012/testGraydient.vcxproj +++ /dev/null @@ -1,74 +0,0 @@ - - - - - Debug - Win32 - - - Release - Win32 - - - - {091C7892-841B-464B-8C5F-DA4CDE1E17FF} - testGraydient - - - - Application - true - v110 - MultiByte - - - Application - false - v110 - true - MultiByte - - - - - - - - - - - - - - - - - Level3 - Disabled - true - - - true - - - - - Level3 - MaxSpeed - true - true - true - - - true - true - true - - - - - - - - - \ No newline at end of file diff --git a/windows/vs2012/testGraydient.vcxproj.filters b/windows/vs2012/testGraydient.vcxproj.filters deleted file mode 100644 index 79d731286..000000000 --- a/windows/vs2012/testGraydient.vcxproj.filters +++ /dev/null @@ -1,22 +0,0 @@ - - - - - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx - - - {93995380-89BD-4b04-88EB-625FBE52EBFB} - h;hpp;hxx;hm;inl;inc;xsd - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms - - - - - Source Files - - - \ No newline at end of file diff --git a/windows/vs2012/testGreyscale.vcxproj b/windows/vs2012/testGreyscale.vcxproj deleted file mode 100644 index 96ed7a0db..000000000 --- a/windows/vs2012/testGreyscale.vcxproj +++ /dev/null @@ -1,74 +0,0 @@ - - - - - Debug - Win32 - - - Release - Win32 - - - - {82F5F354-49B9-4B26-A7D6-B1983A22BE57} - testGreyscale - - - - Application - true - v110 - MultiByte - - - Application - false - v110 - true - MultiByte - - - - - - - - - - - - - - - - - Level3 - Disabled - true - - - true - - - - - Level3 - MaxSpeed - true - true - true - - - true - true - true - - - - - - - - - \ No newline at end of file diff --git a/windows/vs2012/testGreyscale.vcxproj.filters b/windows/vs2012/testGreyscale.vcxproj.filters deleted file mode 100644 index b7067bd3d..000000000 --- a/windows/vs2012/testGreyscale.vcxproj.filters +++ /dev/null @@ -1,22 +0,0 @@ - - - - - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx - - - {93995380-89BD-4b04-88EB-625FBE52EBFB} - h;hpp;hxx;hm;inl;inc;xsd - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms - - - - - Source Files - - - \ No newline at end of file diff --git a/windows/vs2012/testHighData.vcxproj b/windows/vs2012/testHighData.vcxproj deleted file mode 100644 index 6cee2f8c1..000000000 --- a/windows/vs2012/testHighData.vcxproj +++ /dev/null @@ -1,74 +0,0 @@ - - - - - Debug - Win32 - - - Release - Win32 - - - - {764971AC-24AC-4393-9590-4CF150E1E4D7} - testHighData - - - - Application - true - v110 - MultiByte - - - Application - false - v110 - true - MultiByte - - - - - - - - - - - - - - - - - Level3 - Disabled - true - - - true - - - - - Level3 - MaxSpeed - true - true - true - - - true - true - true - - - - - - - - - \ No newline at end of file diff --git a/windows/vs2012/testHighData.vcxproj.filters b/windows/vs2012/testHighData.vcxproj.filters deleted file mode 100644 index 004a93118..000000000 --- a/windows/vs2012/testHighData.vcxproj.filters +++ /dev/null @@ -1,22 +0,0 @@ - - - - - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx - - - {93995380-89BD-4b04-88EB-625FBE52EBFB} - h;hpp;hxx;hm;inl;inc;xsd - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms - - - - - Source Files - - - \ No newline at end of file diff --git a/windows/vs2012/testImage.vcxproj b/windows/vs2012/testImage.vcxproj deleted file mode 100644 index 1a52c3b5e..000000000 --- a/windows/vs2012/testImage.vcxproj +++ /dev/null @@ -1,74 +0,0 @@ - - - - - Debug - Win32 - - - Release - Win32 - - - - {BDD74ECB-6280-4DED-8213-FC7603B187A1} - testImage - - - - Application - true - v110 - MultiByte - - - Application - false - v110 - true - MultiByte - - - - - - - - - - - - - - - - - Level3 - Disabled - true - - - true - - - - - Level3 - MaxSpeed - true - true - true - - - true - true - true - - - - - - - - - \ No newline at end of file diff --git a/windows/vs2012/testImage.vcxproj.filters b/windows/vs2012/testImage.vcxproj.filters deleted file mode 100644 index e1c65a881..000000000 --- a/windows/vs2012/testImage.vcxproj.filters +++ /dev/null @@ -1,22 +0,0 @@ - - - - - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx - - - {93995380-89BD-4b04-88EB-625FBE52EBFB} - h;hpp;hxx;hm;inl;inc;xsd - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms - - - - - Source Files - - - \ No newline at end of file diff --git a/windows/vs2012/testImageCart.vcxproj b/windows/vs2012/testImageCart.vcxproj deleted file mode 100644 index a00c20d53..000000000 --- a/windows/vs2012/testImageCart.vcxproj +++ /dev/null @@ -1,74 +0,0 @@ - - - - - Debug - Win32 - - - Release - Win32 - - - - {68B42B7A-30B0-4507-8315-CFAA8E5040E4} - testImageCart - - - - Application - true - v110 - MultiByte - - - Application - false - v110 - true - MultiByte - - - - - - - - - - - - - - - - - Level3 - Disabled - true - - - true - - - - - Level3 - MaxSpeed - true - true - true - - - true - true - true - - - - - - - - - \ No newline at end of file diff --git a/windows/vs2012/testImageCart.vcxproj.filters b/windows/vs2012/testImageCart.vcxproj.filters deleted file mode 100644 index 1f9722edc..000000000 --- a/windows/vs2012/testImageCart.vcxproj.filters +++ /dev/null @@ -1,22 +0,0 @@ - - - - - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx - - - {93995380-89BD-4b04-88EB-625FBE52EBFB} - h;hpp;hxx;hm;inl;inc;xsd - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms - - - - - Source Files - - - \ No newline at end of file diff --git a/windows/vs2012/testInverter.vcxproj b/windows/vs2012/testInverter.vcxproj deleted file mode 100644 index 5b61822e0..000000000 --- a/windows/vs2012/testInverter.vcxproj +++ /dev/null @@ -1,78 +0,0 @@ - - - - - Debug - Win32 - - - Release - Win32 - - - - {228735C3-E2B8-4887-8254-FA24D4F25C9E} - testInverter - - - - Application - true - v110 - MultiByte - - - Application - false - v110 - true - MultiByte - - - - - - - - - - - - - - - - - Level3 - Disabled - true - - - true - - - - - Level3 - MaxSpeed - true - true - true - - - true - true - true - - - - - - - - - - - - - \ No newline at end of file diff --git a/windows/vs2012/testInverter.vcxproj.filters b/windows/vs2012/testInverter.vcxproj.filters deleted file mode 100644 index 357f53ed1..000000000 --- a/windows/vs2012/testInverter.vcxproj.filters +++ /dev/null @@ -1,30 +0,0 @@ - - - - - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx - - - {93995380-89BD-4b04-88EB-625FBE52EBFB} - h;hpp;hxx;hm;inl;inc;xsd - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms - - - - - Source Files - - - Source Files - - - - - Header Files - - - \ No newline at end of file diff --git a/windows/vs2012/testLangton.vcxproj b/windows/vs2012/testLangton.vcxproj deleted file mode 100644 index c7e762bce..000000000 --- a/windows/vs2012/testLangton.vcxproj +++ /dev/null @@ -1,80 +0,0 @@ - - - - - Debug - Win32 - - - Release - Win32 - - - - {2420042C-1EF3-4BF2-BE56-0125A671E824} - testLangton - - - - Application - true - v110 - MultiByte - - - Application - false - v110 - true - MultiByte - - - - - - - - - - - - - - - - - Level3 - Disabled - true - - - true - - - - - Level3 - MaxSpeed - true - true - true - - - true - true - true - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/windows/vs2012/testLangton.vcxproj.filters b/windows/vs2012/testLangton.vcxproj.filters deleted file mode 100644 index 5d9ffa2cc..000000000 --- a/windows/vs2012/testLangton.vcxproj.filters +++ /dev/null @@ -1,36 +0,0 @@ - - - - - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx - - - {93995380-89BD-4b04-88EB-625FBE52EBFB} - h;hpp;hxx;hm;inl;inc;xsd - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms - - - - - Source Files - - - Source Files - - - Source Files - - - - - Header Files - - - Header Files - - - \ No newline at end of file diff --git a/windows/vs2012/testLineChain.vcxproj b/windows/vs2012/testLineChain.vcxproj deleted file mode 100644 index 1436f8693..000000000 --- a/windows/vs2012/testLineChain.vcxproj +++ /dev/null @@ -1,74 +0,0 @@ - - - - - Debug - Win32 - - - Release - Win32 - - - - {4B6B49DC-E40B-45F1-9A6E-A6A75EEDBA4F} - testLineChain - - - - Application - true - v110 - MultiByte - - - Application - false - v110 - true - MultiByte - - - - - - - - - - - - - - - - - Level3 - Disabled - true - - - true - - - - - Level3 - MaxSpeed - true - true - true - - - true - true - true - - - - - - - - - \ No newline at end of file diff --git a/windows/vs2012/testLineChain.vcxproj.filters b/windows/vs2012/testLineChain.vcxproj.filters deleted file mode 100644 index c9a421499..000000000 --- a/windows/vs2012/testLineChain.vcxproj.filters +++ /dev/null @@ -1,22 +0,0 @@ - - - - - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx - - - {93995380-89BD-4b04-88EB-625FBE52EBFB} - h;hpp;hxx;hm;inl;inc;xsd - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms - - - - - Source Files - - - \ No newline at end of file diff --git a/windows/vs2012/testLineFan.vcxproj b/windows/vs2012/testLineFan.vcxproj deleted file mode 100644 index 1837c4c50..000000000 --- a/windows/vs2012/testLineFan.vcxproj +++ /dev/null @@ -1,74 +0,0 @@ - - - - - Debug - Win32 - - - Release - Win32 - - - - {78DAB5A3-7DB1-42AF-B921-CDDB8E58301B} - testLineFan - - - - Application - true - v110 - MultiByte - - - Application - false - v110 - true - MultiByte - - - - - - - - - - - - - - - - - Level3 - Disabled - true - - - true - - - - - Level3 - MaxSpeed - true - true - true - - - true - true - true - - - - - - - - - \ No newline at end of file diff --git a/windows/vs2012/testLineFan.vcxproj.filters b/windows/vs2012/testLineFan.vcxproj.filters deleted file mode 100644 index 3a7b49193..000000000 --- a/windows/vs2012/testLineFan.vcxproj.filters +++ /dev/null @@ -1,22 +0,0 @@ - - - - - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx - - - {93995380-89BD-4b04-88EB-625FBE52EBFB} - h;hpp;hxx;hm;inl;inc;xsd - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms - - - - - Source Files - - - \ No newline at end of file diff --git a/windows/vs2012/testMandelbrot.vcxproj b/windows/vs2012/testMandelbrot.vcxproj deleted file mode 100644 index 9a1ce6a80..000000000 --- a/windows/vs2012/testMandelbrot.vcxproj +++ /dev/null @@ -1,86 +0,0 @@ - - - - - Debug - Win32 - - - Release - Win32 - - - - {5F024883-B62F-4B30-B5E0-84A6CD8F834C} - testMandelbrot - - - - Application - true - v110 - MultiByte - - - Application - false - v110 - true - MultiByte - - - - - - - - - - - - - - - - - Level3 - Disabled - true - - - true - - - - - Level3 - MaxSpeed - true - true - true - - - true - true - true - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/windows/vs2012/testMandelbrot.vcxproj.filters b/windows/vs2012/testMandelbrot.vcxproj.filters deleted file mode 100644 index 66356e246..000000000 --- a/windows/vs2012/testMandelbrot.vcxproj.filters +++ /dev/null @@ -1,48 +0,0 @@ - - - - - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx - - - {93995380-89BD-4b04-88EB-625FBE52EBFB} - h;hpp;hxx;hm;inl;inc;xsd - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms - - - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - - - Header Files - - - Header Files - - - Header Files - - - Header Files - - - \ No newline at end of file diff --git a/windows/vs2012/testMouse.vcxproj b/windows/vs2012/testMouse.vcxproj deleted file mode 100644 index 81ac991ac..000000000 --- a/windows/vs2012/testMouse.vcxproj +++ /dev/null @@ -1,74 +0,0 @@ - - - - - Debug - Win32 - - - Release - Win32 - - - - {F7E56A8B-4878-4D91-A950-B015F562E6C2} - testMouse - - - - Application - true - v110 - MultiByte - - - Application - false - v110 - true - MultiByte - - - - - - - - - - - - - - - - - Level3 - Disabled - true - - - true - - - - - Level3 - MaxSpeed - true - true - true - - - true - true - true - - - - - - - - - \ No newline at end of file diff --git a/windows/vs2012/testMouse.vcxproj.filters b/windows/vs2012/testMouse.vcxproj.filters deleted file mode 100644 index 225602b21..000000000 --- a/windows/vs2012/testMouse.vcxproj.filters +++ /dev/null @@ -1,22 +0,0 @@ - - - - - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx - - - {93995380-89BD-4b04-88EB-625FBE52EBFB} - h;hpp;hxx;hm;inl;inc;xsd - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms - - - - - Source Files - - - \ No newline at end of file diff --git a/windows/vs2012/testNewtonPendulum.vcxproj b/windows/vs2012/testNewtonPendulum.vcxproj deleted file mode 100644 index 960be30b5..000000000 --- a/windows/vs2012/testNewtonPendulum.vcxproj +++ /dev/null @@ -1,74 +0,0 @@ - - - - - Debug - Win32 - - - Release - Win32 - - - - {FB523785-E427-45D7-8A4F-6C3ADCFD0AC7} - testNewtonPendulum - - - - Application - true - v110 - MultiByte - - - Application - false - v110 - true - MultiByte - - - - - - - - - - - - - - - - - Level3 - Disabled - true - - - true - - - - - Level3 - MaxSpeed - true - true - true - - - true - true - true - - - - - - - - - \ No newline at end of file diff --git a/windows/vs2012/testNewtonPendulum.vcxproj.filters b/windows/vs2012/testNewtonPendulum.vcxproj.filters deleted file mode 100644 index ed4139541..000000000 --- a/windows/vs2012/testNewtonPendulum.vcxproj.filters +++ /dev/null @@ -1,22 +0,0 @@ - - - - - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx - - - {93995380-89BD-4b04-88EB-625FBE52EBFB} - h;hpp;hxx;hm;inl;inc;xsd - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms - - - - - Source Files - - - \ No newline at end of file diff --git a/windows/vs2012/testNova.vcxproj b/windows/vs2012/testNova.vcxproj deleted file mode 100644 index 9d2952810..000000000 --- a/windows/vs2012/testNova.vcxproj +++ /dev/null @@ -1,74 +0,0 @@ - - - - - Debug - Win32 - - - Release - Win32 - - - - {AB9E7E75-6E28-4AD0-A6E6-AA98E06AE4D2} - testNova - - - - Application - true - v110 - MultiByte - - - Application - false - v110 - true - MultiByte - - - - - - - - - - - - - - - - - Level3 - Disabled - true - - - true - - - - - Level3 - MaxSpeed - true - true - true - - - true - true - true - - - - - - - - - \ No newline at end of file diff --git a/windows/vs2012/testNova.vcxproj.filters b/windows/vs2012/testNova.vcxproj.filters deleted file mode 100644 index c3e8bf132..000000000 --- a/windows/vs2012/testNova.vcxproj.filters +++ /dev/null @@ -1,22 +0,0 @@ - - - - - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx - - - {93995380-89BD-4b04-88EB-625FBE52EBFB} - h;hpp;hxx;hm;inl;inc;xsd - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms - - - - - Source Files - - - \ No newline at end of file diff --git a/windows/vs2012/testPhilosophers.vcxproj b/windows/vs2012/testPhilosophers.vcxproj deleted file mode 100644 index 118fab16a..000000000 --- a/windows/vs2012/testPhilosophers.vcxproj +++ /dev/null @@ -1,74 +0,0 @@ - - - - - Debug - Win32 - - - Release - Win32 - - - - {AD6A5374-298B-49FA-9885-D2BF535F3B7D} - testPhilosophers - - - - Application - true - v110 - MultiByte - - - Application - false - v110 - true - MultiByte - - - - - - - - - - - - - - - - - Level3 - Disabled - true - - - true - - - - - Level3 - MaxSpeed - true - true - true - - - true - true - true - - - - - - - - - \ No newline at end of file diff --git a/windows/vs2012/testPhilosophers.vcxproj.filters b/windows/vs2012/testPhilosophers.vcxproj.filters deleted file mode 100644 index a632b7ad7..000000000 --- a/windows/vs2012/testPhilosophers.vcxproj.filters +++ /dev/null @@ -1,22 +0,0 @@ - - - - - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx - - - {93995380-89BD-4b04-88EB-625FBE52EBFB} - h;hpp;hxx;hm;inl;inc;xsd - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms - - - - - Source Files - - - \ No newline at end of file diff --git a/windows/vs2012/testPong.vcxproj b/windows/vs2012/testPong.vcxproj deleted file mode 100644 index 8bffb3a67..000000000 --- a/windows/vs2012/testPong.vcxproj +++ /dev/null @@ -1,82 +0,0 @@ - - - - - Debug - Win32 - - - Release - Win32 - - - - {04E2B42D-18F0-4ABF-A5AA-127F0ADA61E7} - testPong - - - - Application - true - v110 - MultiByte - - - Application - false - v110 - true - MultiByte - - - - - - - - - - - - - - - - - Level3 - Disabled - true - - - true - - - - - Level3 - MaxSpeed - true - true - true - - - true - true - true - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/windows/vs2012/testPong.vcxproj.filters b/windows/vs2012/testPong.vcxproj.filters deleted file mode 100644 index 617473044..000000000 --- a/windows/vs2012/testPong.vcxproj.filters +++ /dev/null @@ -1,42 +0,0 @@ - - - - - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx - - - {93995380-89BD-4b04-88EB-625FBE52EBFB} - h;hpp;hxx;hm;inl;inc;xsd - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms - - - - - Source Files - - - Source Files - - - Source Files - - - Source Files - - - - - Header Files - - - Header Files - - - Header Files - - - \ No newline at end of file diff --git a/windows/vs2012/testProjectiles.vcxproj b/windows/vs2012/testProjectiles.vcxproj deleted file mode 100644 index 2888d08b2..000000000 --- a/windows/vs2012/testProjectiles.vcxproj +++ /dev/null @@ -1,74 +0,0 @@ - - - - - Debug - Win32 - - - Release - Win32 - - - - {404FB540-9351-4519-83E9-EF1243C5AF60} - testProjectiles - - - - Application - true - v110 - MultiByte - - - Application - false - v110 - true - MultiByte - - - - - - - - - - - - - - - - - Level3 - Disabled - true - - - true - - - - - Level3 - MaxSpeed - true - true - true - - - true - true - true - - - - - - - - - \ No newline at end of file diff --git a/windows/vs2012/testProjectiles.vcxproj.filters b/windows/vs2012/testProjectiles.vcxproj.filters deleted file mode 100644 index b93387185..000000000 --- a/windows/vs2012/testProjectiles.vcxproj.filters +++ /dev/null @@ -1,22 +0,0 @@ - - - - - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx - - - {93995380-89BD-4b04-88EB-625FBE52EBFB} - h;hpp;hxx;hm;inl;inc;xsd - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms - - - - - Source Files - - - \ No newline at end of file diff --git a/windows/vs2012/testScreenshot.vcxproj b/windows/vs2012/testScreenshot.vcxproj deleted file mode 100644 index 2498ff76e..000000000 --- a/windows/vs2012/testScreenshot.vcxproj +++ /dev/null @@ -1,74 +0,0 @@ - - - - - Debug - Win32 - - - Release - Win32 - - - - {FFDE8917-365E-4F5A-BF48-1EC9ECAA132A} - testScreenshot - - - - Application - true - v110 - MultiByte - - - Application - false - v110 - true - MultiByte - - - - - - - - - - - - - - - - - Level3 - Disabled - true - - - true - - - - - Level3 - MaxSpeed - true - true - true - - - true - true - true - - - - - - - - - \ No newline at end of file diff --git a/windows/vs2012/testScreenshot.vcxproj.filters b/windows/vs2012/testScreenshot.vcxproj.filters deleted file mode 100644 index 74f21d3e2..000000000 --- a/windows/vs2012/testScreenshot.vcxproj.filters +++ /dev/null @@ -1,22 +0,0 @@ - - - - - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx - - - {93995380-89BD-4b04-88EB-625FBE52EBFB} - h;hpp;hxx;hm;inl;inc;xsd - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms - - - - - Source Files - - - \ No newline at end of file diff --git a/windows/vs2012/testSeaUrchin.vcxproj b/windows/vs2012/testSeaUrchin.vcxproj deleted file mode 100644 index 14194d9b8..000000000 --- a/windows/vs2012/testSeaUrchin.vcxproj +++ /dev/null @@ -1,79 +0,0 @@ - - - - - Debug - Win32 - - - Release - Win32 - - - - - - - - - - - {9B53EED3-25C7-440B-8BFA-B1F6037D6600} - testSeaUrchin - - - - Application - true - v110 - MultiByte - - - Application - false - v110 - true - MultiByte - - - - - - - - - - - - - - - - - - Level3 - Disabled - true - - - true - - - - - Level3 - MaxSpeed - true - true - true - - - true - true - true - - - - - - \ No newline at end of file diff --git a/windows/vs2012/testSeaUrchin.vcxproj.filters b/windows/vs2012/testSeaUrchin.vcxproj.filters deleted file mode 100644 index 900654ef9..000000000 --- a/windows/vs2012/testSeaUrchin.vcxproj.filters +++ /dev/null @@ -1,30 +0,0 @@ - - - - - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx - - - {93995380-89BD-4b04-88EB-625FBE52EBFB} - h;hpp;hxx;hm;inl;inc;xsd - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms - - - - - Source Files - - - Source Files - - - - - Header Files - - - \ No newline at end of file diff --git a/windows/vs2012/testSmartSort.vcxproj b/windows/vs2012/testSmartSort.vcxproj deleted file mode 100644 index b07c290a2..000000000 --- a/windows/vs2012/testSmartSort.vcxproj +++ /dev/null @@ -1,75 +0,0 @@ - - - - - Debug - Win32 - - - Release - Win32 - - - - - - - {841706E2-3993-4FAA-8792-75EBB6B61446} - testSmartSort - - - - Application - true - v110 - MultiByte - - - Application - false - v110 - true - MultiByte - - - - - - - - - - - - - - - - - - Level3 - Disabled - true - - - true - - - - - Level3 - MaxSpeed - true - true - true - - - true - true - true - - - - - - \ No newline at end of file diff --git a/windows/vs2012/testSmartSort.vcxproj.filters b/windows/vs2012/testSmartSort.vcxproj.filters deleted file mode 100644 index 87a6525ed..000000000 --- a/windows/vs2012/testSmartSort.vcxproj.filters +++ /dev/null @@ -1,22 +0,0 @@ - - - - - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx - - - {93995380-89BD-4b04-88EB-625FBE52EBFB} - h;hpp;hxx;hm;inl;inc;xsd - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms - - - - - Source Files - - - \ No newline at end of file diff --git a/windows/vs2012/testSpectrogram.vcxproj b/windows/vs2012/testSpectrogram.vcxproj deleted file mode 100644 index a0c53abfe..000000000 --- a/windows/vs2012/testSpectrogram.vcxproj +++ /dev/null @@ -1,74 +0,0 @@ - - - - - Debug - Win32 - - - Release - Win32 - - - - {F3DD7942-BB0A-4879-A9B6-8BFB69B4E543} - testSpectrogram - - - - Application - true - v110 - MultiByte - - - Application - false - v110 - true - MultiByte - - - - - - - - - - - - - - - - - Level3 - Disabled - true - - - true - - - - - Level3 - MaxSpeed - true - true - true - - - true - true - true - - - - - - - - - \ No newline at end of file diff --git a/windows/vs2012/testSpectrogram.vcxproj.filters b/windows/vs2012/testSpectrogram.vcxproj.filters deleted file mode 100644 index 5e9adcddd..000000000 --- a/windows/vs2012/testSpectrogram.vcxproj.filters +++ /dev/null @@ -1,22 +0,0 @@ - - - - - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx - - - {93995380-89BD-4b04-88EB-625FBE52EBFB} - h;hpp;hxx;hm;inl;inc;xsd - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms - - - - - Source Files - - - \ No newline at end of file diff --git a/windows/vs2012/testSpectrum.vcxproj b/windows/vs2012/testSpectrum.vcxproj deleted file mode 100644 index 3d0c1500b..000000000 --- a/windows/vs2012/testSpectrum.vcxproj +++ /dev/null @@ -1,74 +0,0 @@ - - - - - Debug - Win32 - - - Release - Win32 - - - - {DE83CA2E-4F10-4263-9D72-31079735A4A9} - testSpectrum - - - - Application - true - v110 - MultiByte - - - Application - false - v110 - true - MultiByte - - - - - - - - - - - - - - - - - Level3 - Disabled - true - - - true - - - - - Level3 - MaxSpeed - true - true - true - - - true - true - true - - - - - - - - - \ No newline at end of file diff --git a/windows/vs2012/testSpectrum.vcxproj.filters b/windows/vs2012/testSpectrum.vcxproj.filters deleted file mode 100644 index 0abef408b..000000000 --- a/windows/vs2012/testSpectrum.vcxproj.filters +++ /dev/null @@ -1,22 +0,0 @@ - - - - - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx - - - {93995380-89BD-4b04-88EB-625FBE52EBFB} - h;hpp;hxx;hm;inl;inc;xsd - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms - - - - - Source Files - - - \ No newline at end of file diff --git a/windows/vs2012/testText.vcxproj b/windows/vs2012/testText.vcxproj deleted file mode 100644 index f59379cd4..000000000 --- a/windows/vs2012/testText.vcxproj +++ /dev/null @@ -1,74 +0,0 @@ - - - - - Debug - Win32 - - - Release - Win32 - - - - {F7FC3D3F-8007-4188-A895-C6659D327353} - testText - - - - Application - true - v110 - MultiByte - - - Application - false - v110 - true - MultiByte - - - - - - - - - - - - - - - - - Level3 - Disabled - true - - - true - - - - - Level3 - MaxSpeed - true - true - true - - - true - true - true - - - - - - - - - \ No newline at end of file diff --git a/windows/vs2012/testText.vcxproj.filters b/windows/vs2012/testText.vcxproj.filters deleted file mode 100644 index 8e93137ab..000000000 --- a/windows/vs2012/testText.vcxproj.filters +++ /dev/null @@ -1,22 +0,0 @@ - - - - - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx - - - {93995380-89BD-4b04-88EB-625FBE52EBFB} - h;hpp;hxx;hm;inl;inc;xsd - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms - - - - - Source Files - - - \ No newline at end of file diff --git a/windows/vs2012/testTextCart.vcxproj b/windows/vs2012/testTextCart.vcxproj deleted file mode 100644 index 8195f6913..000000000 --- a/windows/vs2012/testTextCart.vcxproj +++ /dev/null @@ -1,74 +0,0 @@ - - - - - Debug - Win32 - - - Release - Win32 - - - - {ECE6163D-9117-4375-8AA6-8BD1D5BA409B} - testTextCart - - - - Application - true - v110 - MultiByte - - - Application - false - v110 - true - MultiByte - - - - - - - - - - - - - - - - - Level3 - Disabled - true - - - true - - - - - Level3 - MaxSpeed - true - true - true - - - true - true - true - - - - - - - - - \ No newline at end of file diff --git a/windows/vs2012/testTextCart.vcxproj.filters b/windows/vs2012/testTextCart.vcxproj.filters deleted file mode 100644 index 53d835d14..000000000 --- a/windows/vs2012/testTextCart.vcxproj.filters +++ /dev/null @@ -1,22 +0,0 @@ - - - - - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx - - - {93995380-89BD-4b04-88EB-625FBE52EBFB} - h;hpp;hxx;hm;inl;inc;xsd - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms - - - - - Source Files - - - \ No newline at end of file diff --git a/windows/vs2012/testTextTwo.vcxproj b/windows/vs2012/testTextTwo.vcxproj deleted file mode 100644 index 3e08928b3..000000000 --- a/windows/vs2012/testTextTwo.vcxproj +++ /dev/null @@ -1,74 +0,0 @@ - - - - - Debug - Win32 - - - Release - Win32 - - - - {BC5020F0-25B1-4DB3-A1DE-9E1062B9ACAD} - testTextTwo - - - - Application - true - v110 - MultiByte - - - Application - false - v110 - true - MultiByte - - - - - - - - - - - - - - - - - Level3 - Disabled - true - - - true - - - - - Level3 - MaxSpeed - true - true - true - - - true - true - true - - - - - - - - - \ No newline at end of file diff --git a/windows/vs2012/testTextTwo.vcxproj.filters b/windows/vs2012/testTextTwo.vcxproj.filters deleted file mode 100644 index 6960154c1..000000000 --- a/windows/vs2012/testTextTwo.vcxproj.filters +++ /dev/null @@ -1,22 +0,0 @@ - - - - - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx - - - {93995380-89BD-4b04-88EB-625FBE52EBFB} - h;hpp;hxx;hm;inl;inc;xsd - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms - - - - - Source Files - - - \ No newline at end of file diff --git a/windows/vs2012/testUnits.vcxproj b/windows/vs2012/testUnits.vcxproj deleted file mode 100644 index e000d5b10..000000000 --- a/windows/vs2012/testUnits.vcxproj +++ /dev/null @@ -1,74 +0,0 @@ - - - - - Debug - Win32 - - - Release - Win32 - - - - {D6E6FC71-A1DE-43B8-A825-F5518B890CDB} - testUnits - - - - Application - true - v110 - MultiByte - - - Application - false - v110 - true - MultiByte - - - - - - - - - - - - - - - - - Level3 - Disabled - true - - - true - - - - - Level3 - MaxSpeed - true - true - true - - - true - true - true - - - - - - - - - \ No newline at end of file diff --git a/windows/vs2012/testUnits.vcxproj.filters b/windows/vs2012/testUnits.vcxproj.filters deleted file mode 100644 index 593c8d10c..000000000 --- a/windows/vs2012/testUnits.vcxproj.filters +++ /dev/null @@ -1,22 +0,0 @@ - - - - - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx - - - {93995380-89BD-4b04-88EB-625FBE52EBFB} - h;hpp;hxx;hm;inl;inc;xsd - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms - - - - - Source Files - - - \ No newline at end of file diff --git a/windows/vs2012/testVoronoi.vcxproj b/windows/vs2012/testVoronoi.vcxproj deleted file mode 100644 index 4cb6ef76b..000000000 --- a/windows/vs2012/testVoronoi.vcxproj +++ /dev/null @@ -1,80 +0,0 @@ - - - - - Debug - Win32 - - - Release - Win32 - - - - {BB1A650E-51DA-4873-8E65-0BC7A4A09F5E} - testVoronoi - - - - Application - true - v110 - MultiByte - - - Application - false - v110 - true - MultiByte - - - - - - - - - - - - - - - - - Level3 - Disabled - true - - - true - - - - - Level3 - MaxSpeed - true - true - true - - - true - true - true - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/windows/vs2012/testVoronoi.vcxproj.filters b/windows/vs2012/testVoronoi.vcxproj.filters deleted file mode 100644 index 9311eee74..000000000 --- a/windows/vs2012/testVoronoi.vcxproj.filters +++ /dev/null @@ -1,36 +0,0 @@ - - - - - {4FC737F1-C7A5-4376-A066-2A32D752A2FF} - cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx - - - {93995380-89BD-4b04-88EB-625FBE52EBFB} - h;hpp;hxx;hm;inl;inc;xsd - - - {67DA6AB6-F800-4c08-8B7A-83BB121AAD01} - rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav;mfcribbon-ms - - - - - Source Files - - - Source Files - - - Source Files - - - - - Header Files - - - Header Files - - - \ No newline at end of file