@@ -79,6 +79,7 @@ public: | |||||
//============================================================================== | //============================================================================== | ||||
Value getObjCSuffix() { return getSetting ("objCExtraSuffix"); } | Value getObjCSuffix() { return getSetting ("objCExtraSuffix"); } | ||||
Value getPListToMerge() { return getSetting ("customPList"); } | Value getPListToMerge() { return getSetting ("customPList"); } | ||||
Value getExtraFrameworks() { return getSetting (Ids::extraFrameworks); } | |||||
int getLaunchPreferenceOrderForCurrentOS() | int getLaunchPreferenceOrderForCurrentOS() | ||||
{ | { | ||||
@@ -131,6 +132,10 @@ public: | |||||
"You can paste the contents of an XML PList file in here, and the settings that it contains will override any " | "You can paste the contents of an XML PList file in here, and the settings that it contains will override any " | ||||
"settings that the Introjucer creates. BEWARE! When doing this, be careful to remove from the XML any " | "settings that the Introjucer creates. BEWARE! When doing this, be careful to remove from the XML any " | ||||
"values that you DO want the introjucer to change!"); | "values that you DO want the introjucer to change!"); | ||||
props.add (new TextPropertyComponent (getExtraFrameworks(), "Extra Frameworks", 2048, false), | |||||
"A comma-separated list of extra frameworks that should be added to the build. " | |||||
"(Don't include the .framework extension in the name)"); | |||||
} | } | ||||
void launchProject() | void launchProject() | ||||
@@ -706,6 +711,8 @@ private: | |||||
if (! projectType.isLibrary()) | if (! projectType.isLibrary()) | ||||
{ | { | ||||
StringArray s (xcodeFrameworks); | StringArray s (xcodeFrameworks); | ||||
s.addTokens (getExtraFrameworks().toString(), ",;", "\"'"); | |||||
s.trim(); | s.trim(); | ||||
s.removeDuplicates (true); | s.removeDuplicates (true); | ||||
s.sort (true); | s.sort (true); | ||||
@@ -61,6 +61,7 @@ namespace Ids | |||||
DECLARE_ID (osxSDK); | DECLARE_ID (osxSDK); | ||||
DECLARE_ID (osxCompatibility); | DECLARE_ID (osxCompatibility); | ||||
DECLARE_ID (osxArchitecture); | DECLARE_ID (osxArchitecture); | ||||
DECLARE_ID (extraFrameworks); | |||||
DECLARE_ID (winArchitecture); | DECLARE_ID (winArchitecture); | ||||
DECLARE_ID (winWarningLevel); | DECLARE_ID (winWarningLevel); | ||||
DECLARE_ID (bigIcon); | DECLARE_ID (bigIcon); | ||||
@@ -47,7 +47,7 @@ | |||||
#undef Time | #undef Time | ||||
#else | #else | ||||
#ifndef JUCE_SUPPORT_CARBON | |||||
#if ! (defined (JUCE_SUPPORT_CARBON) || JUCE_64BIT) | |||||
#define JUCE_SUPPORT_CARBON 1 | #define JUCE_SUPPORT_CARBON 1 | ||||
#endif | #endif | ||||
@@ -54,7 +54,7 @@ | |||||
// #error "You need to set either the JUCE_PLUGINHOST_AU anr/or JUCE_PLUGINHOST_VST flags if you're using this module!" | // #error "You need to set either the JUCE_PLUGINHOST_AU anr/or JUCE_PLUGINHOST_VST flags if you're using this module!" | ||||
#endif | #endif | ||||
#ifndef JUCE_SUPPORT_CARBON | |||||
#if ! (defined (JUCE_SUPPORT_CARBON) || JUCE_64BIT) | |||||
#define JUCE_SUPPORT_CARBON 1 | #define JUCE_SUPPORT_CARBON 1 | ||||
#endif | #endif | ||||
@@ -153,8 +153,8 @@ namespace DirectWriteTypeLayout | |||||
HRESULT hr = fontCollection->GetFontFromFontFace (glyphRun->fontFace, dwFont.resetAndGetPointerAddress()); | HRESULT hr = fontCollection->GetFontFromFontFace (glyphRun->fontFace, dwFont.resetAndGetPointerAddress()); | ||||
jassert (dwFont != nullptr); | jassert (dwFont != nullptr); | ||||
if (dwFont->GetWeight() == DWRITE_FONT_WEIGHT_BOLD) styleFlags &= Font::bold; | |||||
if (dwFont->GetStyle() == DWRITE_FONT_STYLE_ITALIC) styleFlags &= Font::italic; | |||||
if (dwFont->GetWeight() == DWRITE_FONT_WEIGHT_BOLD) styleFlags |= Font::bold; | |||||
if (dwFont->GetStyle() == DWRITE_FONT_STYLE_ITALIC) styleFlags |= Font::italic; | |||||
ComSmartPtr<IDWriteFontFamily> dwFontFamily; | ComSmartPtr<IDWriteFontFamily> dwFontFamily; | ||||
hr = dwFont->GetFontFamily (dwFontFamily.resetAndGetPointerAddress()); | hr = dwFont->GetFontFamily (dwFontFamily.resetAndGetPointerAddress()); | ||||
@@ -248,12 +248,17 @@ namespace DirectWriteTypeLayout | |||||
range.startPosition = attr.range.getStart(); | range.startPosition = attr.range.getStart(); | ||||
range.length = jmin (attr.range.getLength(), textLen - attr.range.getStart()); | range.length = jmin (attr.range.getLength(), textLen - attr.range.getStart()); | ||||
if (attr.getFont() != nullptr) | |||||
const Font* const font = attr.getFont(); | |||||
if (font != nullptr) | |||||
{ | { | ||||
textLayout->SetFontFamilyName (attr.getFont()->getTypefaceName().toWideCharPointer(), range); | |||||
textLayout->SetFontFamilyName (font->getTypefaceName().toWideCharPointer(), range); | |||||
const float fontHeightToEmSizeFactor = getFontHeightToEmSizeFactor (*font, *fontCollection); | |||||
textLayout->SetFontSize (font->getHeight() * fontHeightToEmSizeFactor, range); | |||||
const float fontHeightToEmSizeFactor = getFontHeightToEmSizeFactor (*attr.getFont(), *fontCollection); | |||||
textLayout->SetFontSize (attr.getFont()->getHeight() * fontHeightToEmSizeFactor, range); | |||||
if (font->isBold()) textLayout->SetFontWeight (DWRITE_FONT_WEIGHT_BOLD, range); | |||||
if (font->isItalic()) textLayout->SetFontStyle (DWRITE_FONT_STYLE_ITALIC, range); | |||||
} | } | ||||
if (attr.getColour() != nullptr) | if (attr.getColour() != nullptr) | ||||