Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Overhauled the formatting and designs. #152

Draft
wants to merge 1 commit into
base: master
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
37 changes: 37 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
* text eol=crlf
*.sh text eol=lf

*.7z binary
*.aif binary
*.aiff binary
*.asf binary
*.eot binary
*.fla binary
*.flac binary
*.flv binary
*.gif binary
*.gz binary
*.ico binary
*.jpeg binary
*.jpg binary
*.mid binary
*.mov binary
*.mp2 binary
*.mp3 binary
*.mp4 binary
*.ogg binary
*.otc binary
*.otf binary
*.pdf binary
*.png binary
*.pyc binary
*.swf binary
*.tga binary
*.ttc binary
*.ttf binary
*.wav binary
*.wma binary
*.wm binary
*.wmv binary
*.woff binary
*.zip binary
162 changes: 86 additions & 76 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,76 +1,86 @@
._*
*.mode1v3
*.pbxuser
*.perspectivev3
*.user
*.ncb
*.suo
*.ilk
*.pch
*.pdb
*.dep
*.idb
*.manifest
*.manifest.res
*.o
*.d
*.sdf
*.opensdf
*.VC.db
*.VC.opendb
xcuserdata
xcshareddata
*.xccheckout
*.xcscmblueprint
contents.xcworkspacedata
.DS_Store
.svn
.deps
.dirstamp
profile
node_modules
examples/**/build
**/MacOSX/build
**/iOS/build
**/IDEWorkspaceChecks.plist
**/Linux/build
**/LinuxMakefile/build
**/VisualStudio2005/Debug
**/VisualStudio2005/Release
**/VisualStudio2008/Debug
**/VisualStudio2008/Release
**/VisualStudio2010/Debug
**/VisualStudio2010/Release
**/VisualStudio2012/Debug
**/VisualStudio2012/Release
**/VisualStudio2013/Win32
**/VisualStudio2013/x64
**/VisualStudio2015/Win32
**/VisualStudio2015/x64
**/VisualStudio2017/Win32
**/VisualStudio2017/x64
**/Builds/x64
**/.vs
**/CodeBlocks/bin
**/CodeBlocks/obj
**/CodeBlocks/*.depend
**/CodeBlocks/*.layout
**/Builds/Android/.gradle
**/Builds/Android/.idea
**/Builds/Android/build
**/Builds/Android/**/*.iml
**/Builds/Android/local.properties
**/Builds/Android/app/build
**/Builds/Android/app/.externalNativeBuild
**/Builds/Android/lib/build
**/Builds/Android/lib/.externalNativeBuild
**/Builds/CLion/cmake-build-*
**/Builds/CLion/.idea
**/doxygen/doc
**/doxygen/build
extras/Projucer/JUCECompileEngine.dylib
**/AAX_SDK_2p3p1/Libs/*.build
**/AAX_SDK_2p3p1/Libs/AAXLibrary/WinBuild/**/int
**/AAX_SDK_2p3p1/Libs/Debug
**/AAX_SDK_2p3p1/Libs/Release
**/AAX_SDK_2p3p1/Documentation
# Compiled object files
*.slo
*.lo
*.o
*.obj
*.tlog
*.log

.vscode

._*
*.mode1v3
*.pbxuser
*.perspectivev3
*.user
*.ncb
*.suo
*.ilk
*.pch
*.pdb
*.dep
*.idb
*.manifest
*.manifest.res
*.o
*.d
*.sdf
*.opensdf
*.VC.db
*.VC.opendb
xcuserdata
xcshareddata
*.xccheckout
*.xcscmblueprint
contents.xcworkspacedata
.DS_Store
.svn
.deps
.dirstamp
profile
node_modules
examples/**/build
**/MacOSX/build
**/iOS/build
**/IDEWorkspaceChecks.plist
**/Linux/build
**/LinuxMakefile/build
**/VisualStudio2005/Debug
**/VisualStudio2005/Release
**/VisualStudio2008/Debug
**/VisualStudio2008/Release
**/VisualStudio2010/Debug
**/VisualStudio2010/Release
**/VisualStudio2012/Debug
**/VisualStudio2012/Release
**/VisualStudio2013/Win32
**/VisualStudio2013/x64
**/VisualStudio2015/Win32
**/VisualStudio2015/x64
**/VisualStudio2017/Win32
**/VisualStudio2017/x64
**/Builds/x64
**/.vs
**/CodeBlocks/bin
**/CodeBlocks/obj
**/CodeBlocks/*.depend
**/CodeBlocks/*.layout
**/Builds/Android/.gradle
**/Builds/Android/.idea
**/Builds/Android/build
**/Builds/Android/**/*.iml
**/Builds/Android/local.properties
**/Builds/Android/app/build
**/Builds/Android/app/.externalNativeBuild
**/Builds/Android/lib/build
**/Builds/Android/lib/.externalNativeBuild
**/Builds/CLion/cmake-build-*
**/Builds/CLion/.idea
**/doxygen/doc
**/doxygen/build
extras/Projucer/JUCECompileEngine.dylib
**/AAX_SDK_2p3p1/Libs/*.build
**/AAX_SDK_2p3p1/Libs/AAXLibrary/WinBuild/**/int
**/AAX_SDK_2p3p1/Libs/Debug
**/AAX_SDK_2p3p1/Libs/Release
**/AAX_SDK_2p3p1/Documentation
130 changes: 31 additions & 99 deletions blueprint/blueprint.cpp
Original file line number Diff line number Diff line change
@@ -1,97 +1,36 @@
/*
==============================================================================

blueprint.cpp
Created: 26 Nov 2018 3:19:03pm

==============================================================================
*/

#ifdef BLUEPRINT_H_INCLUDED
/* When you add this cpp file to your project, you mustn't include it in a file where you've
already included any other headers - just put it inside a file on its own, possibly with your config
flags preceding it, but don't include anything else. That also includes avoiding any automatic prefix
header files that the compiler may be using.
*/
#error "Incorrect use of the Blueprint cpp file"
/** When you add this cpp file to your project, you mustn't include it in a file where you've
already included any other headers - just put it inside a file on its own, possibly with your config
flags preceding it, but don't include anything else. That also includes avoiding any automatic prefix
header files that the compiler may be using.
*/
#error "Incorrect use of the Blueprint cpp file!"
#endif

/* We're careful to include the duktape source files before the module header
* file because `duktape.c` sets certain preprocessor definitions that enable
* necessary features in the duktape header. We need those defines to preempt
* the loading of the duktape header. This also, therefore, is the place for
* custom preprocessor definitions.
*
* We force Duktape to use a time provider on Windows that is compatible with
* Windows 7 SP1. It looks like W7SP1 is quite happy with plugins built with
* the 8.1 SDK, but the GetSystemTimePreciseAsFileTime() call used in here is
* just not supported without the 8.1 dll available.
*/
#if defined (_WIN32) || defined (_WIN64)
#define DUK_USE_DATE_NOW_WINDOWS 1
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah damn... I removed this accidentally, and also I don't have a Win7 system to test on anymore.

#endif
//==============================================================================
#define JUCE_CORE_INCLUDE_NATIVE_HEADERS 1

/*
* For whatever reason it is necessary to define this to resolve errors caused by both
* duktape and juce including parts of the winsock2 API. There may be a better way to
* resolve this.
*/
#if defined (_WIN32) || defined (_WIN64)
#define _WINSOCKAPI_
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@nick-thompson This is no longer necessary now that I applied JUCE_CORE_INCLUDE_NATIVE_HEADERS above.

Copy link
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice. That one was annoying.

#endif

// Disable compiler warnings for external source files (duktape & yoga)
#if _MSC_VER
#pragma warning(push)
#pragma warning(disable : 4018) // signed/unsigned mismatch
#pragma warning(disable : 4127) // conditional expression is constant
#pragma warning(disable : 4244) // possible loss of data
#pragma warning(disable : 4505) // unreferenced local function
#pragma warning(disable : 4611) // object destruction is non-portable
#pragma warning(disable : 4702) // unreachable code
#elif __clang__
#pragma clang diagnostic push
#pragma clang diagnostic ignored "-Wextra-semi"
#pragma clang diagnostic ignored "-Wzero-as-null-pointer-constant"
#pragma clang diagnostic ignored "-Wswitch-enum"
#pragma clang diagnostic ignored "-Wshorten-64-to-32"
#pragma clang diagnostic ignored "-Wshadow-field-in-constructor"
#pragma clang diagnostic ignored "-Wsign-conversion"
#pragma clang diagnostic ignored "-Wused-but-marked-unused"
#pragma clang diagnostic ignored "-Wformat-nonliteral"
#if __clang_major__ > 10
#pragma clang diagnostic ignored "-Wc++98-compat-extra-semi"
#pragma clang diagnostic ignored "-Wimplicit-int-conversion"
#pragma clang diagnostic ignored "-Wimplicit-float-conversion"
#else
#pragma clang diagnostic ignored "-Wconversion"
#endif
#elif __GNUC__
#pragma GCC diagnostic push
#pragma GCC diagnostic ignored "-Wzero-as-null-pointer-constant"
#pragma GCC diagnostic ignored "-Wsign-conversion"
#pragma GCC diagnostic ignored "-Wswitch-enum"
#pragma GCC diagnostic ignored "-Wunused-variable"
#pragma GCC diagnostic ignored "-Wredundant-decls"
#endif
#undef DUK_COMPILING_DUKTAPE
#define DUK_COMPILING_DUKTAPE 1

//==============================================================================
#include "blueprint.h"

// We rely on the JUCE_DEBUG macro in duk_config.h at the moment to determine
// when we enable duktape debug features. This is a bit of a hack to make this
// work. We should be able to do better and may do so once we enable custom duktape
// configs.
#include <juce_core/system/juce_TargetPlatform.h>
//==============================================================================
#include "internal/BeginIgnoringThirdPartyWarnings.h"

#include "duktape/src-noline/duktape.c"
#include "duktape/extras/console/duk_console.c"
extern "C"
{
#undef DUK_COMPILING_DUKTAPE
#include "duktape/src-noline/duktape.c"
#include "duktape/extras/console/duk_console.c"

#if defined (_WIN32) || defined (_WIN64)
#if JUCE_WINDOWS
#include "duktape/examples/debug-trans-socket/duk_trans_socket_windows.c"
#else
#else
#include "duktape/examples/debug-trans-socket/duk_trans_socket_unix.c"
#endif

#include "blueprint.h"
#endif
}

#include "yoga/yoga/log.cpp"
#include "yoga/yoga/event/event.cpp"
Expand All @@ -105,29 +44,22 @@
#include "yoga/yoga/YGValue.cpp"
#include "yoga/yoga/Yoga.cpp"

// Enable compiler warnings
#if _MSC_VER
#pragma warning (pop)
#elif __clang__
#pragma clang diagnostic pop
#elif __GNUC__
#pragma GCC diagnostic pop
#endif
#include "internal/EndIgnoringThirdPartyWarnings.h"

//==============================================================================
#include "core/blueprint_AppHarness.cpp"
#include "core/blueprint_EcmascriptEngine.cpp"

#if JUCE_MODULE_AVAILABLE_juce_audio_processors
#include "core/blueprint_GenericEditor.cpp"
#endif

#include "core/blueprint_ReactApplicationRoot.cpp"
#include "core/blueprint_ShadowView.cpp"
#include "core/blueprint_TextShadowView.cpp"
#include "core/blueprint_View.cpp"
#include "core/blueprint_ViewManager.cpp"
#include "core/blueprint_ScrollView.cpp"

#ifdef BLUEPRINT_INCLUDE_TESTS
#include "tests/blueprint_EcmascriptEngineTests.cpp"
#if JUCE_MODULE_AVAILABLE_juce_audio_processors
#include "core/blueprint_GenericEditor.cpp"
#endif

#if BLUEPRINT_INCLUDE_UNIT_TESTS
#include "tests/blueprint_EcmascriptEngineTests.cpp"
#endif
Loading