Browse Source

Even more structural reorganisation.

tags/2021-05-28
Julian Storer 14 years ago
parent
commit
e381dff4b3
19 changed files with 459 additions and 290 deletions
  1. +0
    -6
      Builds/Linux/Makefile
  2. +0
    -8
      Builds/MacOSX/Juce.xcodeproj/project.pbxproj
  3. +0
    -2
      Builds/VisualStudio2005/Juce.vcproj
  4. +0
    -2
      Builds/VisualStudio2008/Juce.vcproj
  5. +0
    -2
      Builds/VisualStudio2008_DLL/Juce.vcproj
  6. +0
    -1
      Builds/VisualStudio2010/Juce.vcxproj
  7. +0
    -6
      Builds/VisualStudio2010/Juce.vcxproj.filters
  8. +0
    -8
      Builds/iOS/Juce.xcodeproj/project.pbxproj
  9. +0
    -4
      Juce.jucer
  10. +76
    -101
      juce_amalgamated.cpp
  11. +306
    -0
      src/native/android/juce_android_JNIHelpers.h
  12. +0
    -58
      src/native/mac/juce_mac_Debugging.mm
  13. +0
    -1
      src/native/mac/juce_mac_NativeCode.mm
  14. +6
    -0
      src/native/mac/juce_mac_SystemStats.mm
  15. +22
    -0
      src/native/mac/juce_mac_Threads.mm
  16. +0
    -62
      src/native/windows/juce_win32_Misc.cpp
  17. +0
    -1
      src/native/windows/juce_win32_NativeCode.cpp
  18. +27
    -1
      src/native/windows/juce_win32_Threads.cpp
  19. +22
    -27
      src/native/windows/juce_win32_Windowing.cpp

+ 0
- 6
Builds/Linux/Makefile View File

@@ -324,7 +324,6 @@ OBJECTS := \
$(OBJDIR)/juce_win32_Fonts_e695d7fc.o \
$(OBJDIR)/juce_win32_Messaging_926ab77c.o \
$(OBJDIR)/juce_win32_Midi_fac3cfb3.o \
$(OBJDIR)/juce_win32_Misc_1407f3fe.o \
$(OBJDIR)/juce_win32_NativeCode_c247c7f6.o \
$(OBJDIR)/juce_win32_Network_6c84a66.o \
$(OBJDIR)/juce_win32_OpenGLComponent_d0d99a46.o \
@@ -1812,11 +1811,6 @@ $(OBJDIR)/juce_win32_Midi_fac3cfb3.o: ../../src/native/windows/juce_win32_Midi.c
@echo "Compiling juce_win32_Midi.cpp"
@$(CXX) $(CXXFLAGS) -o "$@" -c "$<"
$(OBJDIR)/juce_win32_Misc_1407f3fe.o: ../../src/native/windows/juce_win32_Misc.cpp
-@mkdir -p $(OBJDIR)
@echo "Compiling juce_win32_Misc.cpp"
@$(CXX) $(CXXFLAGS) -o "$@" -c "$<"
$(OBJDIR)/juce_win32_NativeCode_c247c7f6.o: ../../src/native/windows/juce_win32_NativeCode.cpp
-@mkdir -p $(OBJDIR)
@echo "Compiling juce_win32_NativeCode.cpp"


+ 0
- 8
Builds/MacOSX/Juce.xcodeproj/project.pbxproj View File

@@ -289,7 +289,6 @@
51F5844EAE455D51BDB17228 = { isa = PBXBuildFile; fileRef = 72524FE185FF48DC1F954341; };
C99F35ABEC13F58C27C1D303 = { isa = PBXBuildFile; fileRef = BF5307F364AC9250D8625168; };
3D9B5EDBECAA680B0A067F5C = { isa = PBXBuildFile; fileRef = AA4823F2F2A78C43D7A039D0; };
FB21AC2812F11A4B8E4676E0 = { isa = PBXBuildFile; fileRef = 94580B04D0BC48A3E6CBB04C; };
724B03672FC7862B671969BC = { isa = PBXBuildFile; fileRef = 87A5A064CC3CD55BA5D7617D; };
8B31099030792C554BD51211 = { isa = PBXBuildFile; fileRef = 641638A0466CEC1BDEAFB476; };
D04EEEC7EAE7C806E95ED41C = { isa = PBXBuildFile; fileRef = 7DB37383434F45D8A7B674C3; };
@@ -319,7 +318,6 @@
D4A05D7CA67B6F0527C9BD81 = { isa = PBXBuildFile; fileRef = 1DBF9DAAD0690CB2CA4E9960; };
0D7547577A31512EDCEDC42C = { isa = PBXBuildFile; fileRef = BA561E64C6400CFB1DE013F6; };
E2FDC7D3E3DC4C1423FA0C5B = { isa = PBXBuildFile; fileRef = 061B492EABD6B1C995D581A8; };
E9943D2BC3C60AF1AB241B48 = { isa = PBXBuildFile; fileRef = 519B519B76E2EEEAB49C62DF; };
A46B0025A68136ED993E0D85 = { isa = PBXBuildFile; fileRef = 50159A5B7A552A6C1EB557F3; };
B99678E919BF547A3A3F5D6E = { isa = PBXBuildFile; fileRef = CDA5FCC51F6C1E84D7DC3274; };
5B714CDD0082419BFED7D2D4 = { isa = PBXBuildFile; fileRef = B14735381ADB00741166E330; };
@@ -990,7 +988,6 @@
72524FE185FF48DC1F954341 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_mac_CoreAudio.cpp"; path = "../../src/native/mac/juce_mac_CoreAudio.cpp"; sourceTree = "SOURCE_ROOT"; };
BF5307F364AC9250D8625168 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_CoreGraphicsContext.mm"; path = "../../src/native/mac/juce_mac_CoreGraphicsContext.mm"; sourceTree = "SOURCE_ROOT"; };
AA4823F2F2A78C43D7A039D0 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_mac_CoreMidi.cpp"; path = "../../src/native/mac/juce_mac_CoreMidi.cpp"; sourceTree = "SOURCE_ROOT"; };
94580B04D0BC48A3E6CBB04C = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Debugging.mm"; path = "../../src/native/mac/juce_mac_Debugging.mm"; sourceTree = "SOURCE_ROOT"; };
87A5A064CC3CD55BA5D7617D = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_FileChooser.mm"; path = "../../src/native/mac/juce_mac_FileChooser.mm"; sourceTree = "SOURCE_ROOT"; };
641638A0466CEC1BDEAFB476 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Files.mm"; path = "../../src/native/mac/juce_mac_Files.mm"; sourceTree = "SOURCE_ROOT"; };
7DB37383434F45D8A7B674C3 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Fonts.mm"; path = "../../src/native/mac/juce_mac_Fonts.mm"; sourceTree = "SOURCE_ROOT"; };
@@ -1027,7 +1024,6 @@
E9B203E963EB1AB566061AC1 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_win32_HiddenMessageWindow.h"; path = "../../src/native/windows/juce_win32_HiddenMessageWindow.h"; sourceTree = "SOURCE_ROOT"; };
BA561E64C6400CFB1DE013F6 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Messaging.cpp"; path = "../../src/native/windows/juce_win32_Messaging.cpp"; sourceTree = "SOURCE_ROOT"; };
061B492EABD6B1C995D581A8 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Midi.cpp"; path = "../../src/native/windows/juce_win32_Midi.cpp"; sourceTree = "SOURCE_ROOT"; };
519B519B76E2EEEAB49C62DF = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Misc.cpp"; path = "../../src/native/windows/juce_win32_Misc.cpp"; sourceTree = "SOURCE_ROOT"; };
50159A5B7A552A6C1EB557F3 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_NativeCode.cpp"; path = "../../src/native/windows/juce_win32_NativeCode.cpp"; sourceTree = "SOURCE_ROOT"; };
E7625D7A06CBC11F40A56A70 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_win32_NativeIncludes.h"; path = "../../src/native/windows/juce_win32_NativeIncludes.h"; sourceTree = "SOURCE_ROOT"; };
CDA5FCC51F6C1E84D7DC3274 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Network.cpp"; path = "../../src/native/windows/juce_win32_Network.cpp"; sourceTree = "SOURCE_ROOT"; };
@@ -1833,7 +1829,6 @@
72524FE185FF48DC1F954341,
BF5307F364AC9250D8625168,
AA4823F2F2A78C43D7A039D0,
94580B04D0BC48A3E6CBB04C,
87A5A064CC3CD55BA5D7617D,
641638A0466CEC1BDEAFB476,
7DB37383434F45D8A7B674C3,
@@ -1871,7 +1866,6 @@
E9B203E963EB1AB566061AC1,
BA561E64C6400CFB1DE013F6,
061B492EABD6B1C995D581A8,
519B519B76E2EEEAB49C62DF,
50159A5B7A552A6C1EB557F3,
E7625D7A06CBC11F40A56A70,
CDA5FCC51F6C1E84D7DC3274,
@@ -2353,7 +2347,6 @@
51F5844EAE455D51BDB17228,
C99F35ABEC13F58C27C1D303,
3D9B5EDBECAA680B0A067F5C,
FB21AC2812F11A4B8E4676E0,
724B03672FC7862B671969BC,
8B31099030792C554BD51211,
D04EEEC7EAE7C806E95ED41C,
@@ -2383,7 +2376,6 @@
D4A05D7CA67B6F0527C9BD81,
0D7547577A31512EDCEDC42C,
E2FDC7D3E3DC4C1423FA0C5B,
E9943D2BC3C60AF1AB241B48,
A46B0025A68136ED993E0D85,
B99678E919BF547A3A3F5D6E,
5B714CDD0082419BFED7D2D4,


+ 0
- 2
Builds/VisualStudio2005/Juce.vcproj View File

@@ -892,7 +892,6 @@
<File RelativePath="..\..\src\native\mac\juce_mac_CoreAudio.cpp"/>
<File RelativePath="..\..\src\native\mac\juce_mac_CoreGraphicsContext.mm"/>
<File RelativePath="..\..\src\native\mac\juce_mac_CoreMidi.cpp"/>
<File RelativePath="..\..\src\native\mac\juce_mac_Debugging.mm"/>
<File RelativePath="..\..\src\native\mac\juce_mac_FileChooser.mm"/>
<File RelativePath="..\..\src\native\mac\juce_mac_Files.mm"/>
<File RelativePath="..\..\src\native\mac\juce_mac_Fonts.mm"/>
@@ -931,7 +930,6 @@
<File RelativePath="..\..\src\native\windows\juce_win32_HiddenMessageWindow.h"/>
<File RelativePath="..\..\src\native\windows\juce_win32_Messaging.cpp"/>
<File RelativePath="..\..\src\native\windows\juce_win32_Midi.cpp"/>
<File RelativePath="..\..\src\native\windows\juce_win32_Misc.cpp"/>
<File RelativePath="..\..\src\native\windows\juce_win32_NativeCode.cpp"/>
<File RelativePath="..\..\src\native\windows\juce_win32_NativeIncludes.h"/>
<File RelativePath="..\..\src\native\windows\juce_win32_Network.cpp"/>


+ 0
- 2
Builds/VisualStudio2008/Juce.vcproj View File

@@ -892,7 +892,6 @@
<File RelativePath="..\..\src\native\mac\juce_mac_CoreAudio.cpp"/>
<File RelativePath="..\..\src\native\mac\juce_mac_CoreGraphicsContext.mm"/>
<File RelativePath="..\..\src\native\mac\juce_mac_CoreMidi.cpp"/>
<File RelativePath="..\..\src\native\mac\juce_mac_Debugging.mm"/>
<File RelativePath="..\..\src\native\mac\juce_mac_FileChooser.mm"/>
<File RelativePath="..\..\src\native\mac\juce_mac_Files.mm"/>
<File RelativePath="..\..\src\native\mac\juce_mac_Fonts.mm"/>
@@ -931,7 +930,6 @@
<File RelativePath="..\..\src\native\windows\juce_win32_HiddenMessageWindow.h"/>
<File RelativePath="..\..\src\native\windows\juce_win32_Messaging.cpp"/>
<File RelativePath="..\..\src\native\windows\juce_win32_Midi.cpp"/>
<File RelativePath="..\..\src\native\windows\juce_win32_Misc.cpp"/>
<File RelativePath="..\..\src\native\windows\juce_win32_NativeCode.cpp"/>
<File RelativePath="..\..\src\native\windows\juce_win32_NativeIncludes.h"/>
<File RelativePath="..\..\src\native\windows\juce_win32_Network.cpp"/>


+ 0
- 2
Builds/VisualStudio2008_DLL/Juce.vcproj View File

@@ -894,7 +894,6 @@
<File RelativePath="..\..\src\native\mac\juce_mac_CoreAudio.cpp"/>
<File RelativePath="..\..\src\native\mac\juce_mac_CoreGraphicsContext.mm"/>
<File RelativePath="..\..\src\native\mac\juce_mac_CoreMidi.cpp"/>
<File RelativePath="..\..\src\native\mac\juce_mac_Debugging.mm"/>
<File RelativePath="..\..\src\native\mac\juce_mac_FileChooser.mm"/>
<File RelativePath="..\..\src\native\mac\juce_mac_Files.mm"/>
<File RelativePath="..\..\src\native\mac\juce_mac_Fonts.mm"/>
@@ -933,7 +932,6 @@
<File RelativePath="..\..\src\native\windows\juce_win32_HiddenMessageWindow.h"/>
<File RelativePath="..\..\src\native\windows\juce_win32_Messaging.cpp"/>
<File RelativePath="..\..\src\native\windows\juce_win32_Midi.cpp"/>
<File RelativePath="..\..\src\native\windows\juce_win32_Misc.cpp"/>
<File RelativePath="..\..\src\native\windows\juce_win32_NativeCode.cpp"/>
<File RelativePath="..\..\src\native\windows\juce_win32_NativeIncludes.h"/>
<File RelativePath="..\..\src\native\windows\juce_win32_Network.cpp"/>


+ 0
- 1
Builds/VisualStudio2010/Juce.vcxproj View File

@@ -407,7 +407,6 @@
<ClCompile Include="..\..\src\native\windows\juce_win32_Fonts.cpp"/>
<ClCompile Include="..\..\src\native\windows\juce_win32_Messaging.cpp"/>
<ClCompile Include="..\..\src\native\windows\juce_win32_Midi.cpp"/>
<ClCompile Include="..\..\src\native\windows\juce_win32_Misc.cpp"/>
<ClCompile Include="..\..\src\native\windows\juce_win32_NativeCode.cpp"/>
<ClCompile Include="..\..\src\native\windows\juce_win32_Network.cpp"/>
<ClCompile Include="..\..\src\native\windows\juce_win32_OpenGLComponent.cpp"/>


+ 0
- 6
Builds/VisualStudio2010/Juce.vcxproj.filters View File

@@ -1066,9 +1066,6 @@
<ClCompile Include="..\..\src\native\mac\juce_mac_CoreMidi.cpp">
<Filter>Juce\Source\native\mac</Filter>
</ClCompile>
<ClCompile Include="..\..\src\native\mac\juce_mac_Debugging.mm">
<Filter>Juce\Source\native\mac</Filter>
</ClCompile>
<ClCompile Include="..\..\src\native\mac\juce_mac_FileChooser.mm">
<Filter>Juce\Source\native\mac</Filter>
</ClCompile>
@@ -1156,9 +1153,6 @@
<ClCompile Include="..\..\src\native\windows\juce_win32_Midi.cpp">
<Filter>Juce\Source\native\windows</Filter>
</ClCompile>
<ClCompile Include="..\..\src\native\windows\juce_win32_Misc.cpp">
<Filter>Juce\Source\native\windows</Filter>
</ClCompile>
<ClCompile Include="..\..\src\native\windows\juce_win32_NativeCode.cpp">
<Filter>Juce\Source\native\windows</Filter>
</ClCompile>


+ 0
- 8
Builds/iOS/Juce.xcodeproj/project.pbxproj View File

@@ -289,7 +289,6 @@
51F5844EAE455D51BDB17228 = { isa = PBXBuildFile; fileRef = 72524FE185FF48DC1F954341; };
C99F35ABEC13F58C27C1D303 = { isa = PBXBuildFile; fileRef = BF5307F364AC9250D8625168; };
3D9B5EDBECAA680B0A067F5C = { isa = PBXBuildFile; fileRef = AA4823F2F2A78C43D7A039D0; };
FB21AC2812F11A4B8E4676E0 = { isa = PBXBuildFile; fileRef = 94580B04D0BC48A3E6CBB04C; };
724B03672FC7862B671969BC = { isa = PBXBuildFile; fileRef = 87A5A064CC3CD55BA5D7617D; };
8B31099030792C554BD51211 = { isa = PBXBuildFile; fileRef = 641638A0466CEC1BDEAFB476; };
D04EEEC7EAE7C806E95ED41C = { isa = PBXBuildFile; fileRef = 7DB37383434F45D8A7B674C3; };
@@ -319,7 +318,6 @@
D4A05D7CA67B6F0527C9BD81 = { isa = PBXBuildFile; fileRef = 1DBF9DAAD0690CB2CA4E9960; };
0D7547577A31512EDCEDC42C = { isa = PBXBuildFile; fileRef = BA561E64C6400CFB1DE013F6; };
E2FDC7D3E3DC4C1423FA0C5B = { isa = PBXBuildFile; fileRef = 061B492EABD6B1C995D581A8; };
E9943D2BC3C60AF1AB241B48 = { isa = PBXBuildFile; fileRef = 519B519B76E2EEEAB49C62DF; };
A46B0025A68136ED993E0D85 = { isa = PBXBuildFile; fileRef = 50159A5B7A552A6C1EB557F3; };
B99678E919BF547A3A3F5D6E = { isa = PBXBuildFile; fileRef = CDA5FCC51F6C1E84D7DC3274; };
5B714CDD0082419BFED7D2D4 = { isa = PBXBuildFile; fileRef = B14735381ADB00741166E330; };
@@ -990,7 +988,6 @@
72524FE185FF48DC1F954341 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_mac_CoreAudio.cpp"; path = "../../src/native/mac/juce_mac_CoreAudio.cpp"; sourceTree = "SOURCE_ROOT"; };
BF5307F364AC9250D8625168 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_CoreGraphicsContext.mm"; path = "../../src/native/mac/juce_mac_CoreGraphicsContext.mm"; sourceTree = "SOURCE_ROOT"; };
AA4823F2F2A78C43D7A039D0 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_mac_CoreMidi.cpp"; path = "../../src/native/mac/juce_mac_CoreMidi.cpp"; sourceTree = "SOURCE_ROOT"; };
94580B04D0BC48A3E6CBB04C = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Debugging.mm"; path = "../../src/native/mac/juce_mac_Debugging.mm"; sourceTree = "SOURCE_ROOT"; };
87A5A064CC3CD55BA5D7617D = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_FileChooser.mm"; path = "../../src/native/mac/juce_mac_FileChooser.mm"; sourceTree = "SOURCE_ROOT"; };
641638A0466CEC1BDEAFB476 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Files.mm"; path = "../../src/native/mac/juce_mac_Files.mm"; sourceTree = "SOURCE_ROOT"; };
7DB37383434F45D8A7B674C3 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; name = "juce_mac_Fonts.mm"; path = "../../src/native/mac/juce_mac_Fonts.mm"; sourceTree = "SOURCE_ROOT"; };
@@ -1027,7 +1024,6 @@
E9B203E963EB1AB566061AC1 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_win32_HiddenMessageWindow.h"; path = "../../src/native/windows/juce_win32_HiddenMessageWindow.h"; sourceTree = "SOURCE_ROOT"; };
BA561E64C6400CFB1DE013F6 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Messaging.cpp"; path = "../../src/native/windows/juce_win32_Messaging.cpp"; sourceTree = "SOURCE_ROOT"; };
061B492EABD6B1C995D581A8 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Midi.cpp"; path = "../../src/native/windows/juce_win32_Midi.cpp"; sourceTree = "SOURCE_ROOT"; };
519B519B76E2EEEAB49C62DF = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Misc.cpp"; path = "../../src/native/windows/juce_win32_Misc.cpp"; sourceTree = "SOURCE_ROOT"; };
50159A5B7A552A6C1EB557F3 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_NativeCode.cpp"; path = "../../src/native/windows/juce_win32_NativeCode.cpp"; sourceTree = "SOURCE_ROOT"; };
E7625D7A06CBC11F40A56A70 = { isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = "juce_win32_NativeIncludes.h"; path = "../../src/native/windows/juce_win32_NativeIncludes.h"; sourceTree = "SOURCE_ROOT"; };
CDA5FCC51F6C1E84D7DC3274 = { isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; name = "juce_win32_Network.cpp"; path = "../../src/native/windows/juce_win32_Network.cpp"; sourceTree = "SOURCE_ROOT"; };
@@ -1833,7 +1829,6 @@
72524FE185FF48DC1F954341,
BF5307F364AC9250D8625168,
AA4823F2F2A78C43D7A039D0,
94580B04D0BC48A3E6CBB04C,
87A5A064CC3CD55BA5D7617D,
641638A0466CEC1BDEAFB476,
7DB37383434F45D8A7B674C3,
@@ -1871,7 +1866,6 @@
E9B203E963EB1AB566061AC1,
BA561E64C6400CFB1DE013F6,
061B492EABD6B1C995D581A8,
519B519B76E2EEEAB49C62DF,
50159A5B7A552A6C1EB557F3,
E7625D7A06CBC11F40A56A70,
CDA5FCC51F6C1E84D7DC3274,
@@ -2357,7 +2351,6 @@
51F5844EAE455D51BDB17228,
C99F35ABEC13F58C27C1D303,
3D9B5EDBECAA680B0A067F5C,
FB21AC2812F11A4B8E4676E0,
724B03672FC7862B671969BC,
8B31099030792C554BD51211,
D04EEEC7EAE7C806E95ED41C,
@@ -2387,7 +2380,6 @@
D4A05D7CA67B6F0527C9BD81,
0D7547577A31512EDCEDC42C,
E2FDC7D3E3DC4C1423FA0C5B,
E9943D2BC3C60AF1AB241B48,
A46B0025A68136ED993E0D85,
B99678E919BF547A3A3F5D6E,
5B714CDD0082419BFED7D2D4,


+ 0
- 4
Juce.jucer View File

@@ -1364,8 +1364,6 @@
resource="0" file="src/native/mac/juce_mac_CoreGraphicsContext.mm"/>
<FILE id="Rcaxxc1OE" name="juce_mac_CoreMidi.cpp" compile="1" resource="0"
file="src/native/mac/juce_mac_CoreMidi.cpp"/>
<FILE id="PXsBYpcvN" name="juce_mac_Debugging.mm" compile="1" resource="0"
file="src/native/mac/juce_mac_Debugging.mm"/>
<FILE id="Wsa2HHU0P" name="juce_mac_FileChooser.mm" compile="1" resource="0"
file="src/native/mac/juce_mac_FileChooser.mm"/>
<FILE id="QwSNNEs9e" name="juce_mac_Files.mm" compile="1" resource="0"
@@ -1440,8 +1438,6 @@
file="src/native/windows/juce_win32_Messaging.cpp"/>
<FILE id="P25j5MUtL" name="juce_win32_Midi.cpp" compile="1" resource="0"
file="src/native/windows/juce_win32_Midi.cpp"/>
<FILE id="9ucc62F3e" name="juce_win32_Misc.cpp" compile="1" resource="0"
file="src/native/windows/juce_win32_Misc.cpp"/>
<FILE id="kUKTKh" name="juce_win32_NativeCode.cpp" compile="1" resource="0"
file="src/native/windows/juce_win32_NativeCode.cpp"/>
<FILE id="nI5Yz3BGi" name="juce_win32_NativeIncludes.h" compile="0"


+ 76
- 101
juce_amalgamated.cpp View File

@@ -245209,6 +245209,28 @@ bool JUCE_CALLTYPE Process::isRunningUnderDebugger()
return juce_isRunningUnderDebugger();
}

String JUCE_CALLTYPE Process::getCurrentCommandLineParams()
{
return CharacterFunctions::findEndOfToken (CharPointer_UTF16 (GetCommandLineW()),
CharPointer_UTF16 (L" "),
CharPointer_UTF16 (L"\"")).findEndOfWhitespace();
}

static void* currentModuleHandle = nullptr;

void* Process::getCurrentModuleInstanceHandle() noexcept
{
if (currentModuleHandle == nullptr)
currentModuleHandle = GetModuleHandle (0);

return currentModuleHandle;
}

void Process::setCurrentModuleInstanceHandle (void* const newHandle) noexcept
{
currentModuleHandle = newHandle;
}

void Process::raisePrivilege()
{
jassertfalse; // xxx not implemented
@@ -245229,6 +245251,12 @@ void Process::terminate()
ExitProcess (0);
}

bool juce_IsRunningInWine()
{
HMODULE ntdll = GetModuleHandle (_T("ntdll.dll"));
return ntdll != 0 && GetProcAddress (ntdll, "wine_get_version") != 0;
}

bool DynamicLibrary::open (const String& name)
{
close();
@@ -248967,9 +248995,9 @@ public:
dropTarget = nullptr;
}

#if JUCE_DIRECT2D
#if JUCE_DIRECT2D
direct2DContext = nullptr;
#endif
#endif
}

void* getNativeHandle() const
@@ -249594,14 +249622,9 @@ private:
else
exstyle |= WS_EX_APPWINDOW;

if ((styleFlags & windowHasMinimiseButton) != 0)
type |= WS_MINIMIZEBOX;

if ((styleFlags & windowHasMaximiseButton) != 0)
type |= WS_MAXIMIZEBOX;

if ((styleFlags & windowIgnoresMouseClicks) != 0)
exstyle |= WS_EX_TRANSPARENT;
if ((styleFlags & windowHasMinimiseButton) != 0) type |= WS_MINIMIZEBOX;
if ((styleFlags & windowHasMaximiseButton) != 0) type |= WS_MAXIMIZEBOX;
if ((styleFlags & windowIgnoresMouseClicks) != 0) exstyle |= WS_EX_TRANSPARENT;

if ((styleFlags & windowIsSemiTransparent) != 0 && Desktop::canUseSemiTransparentWindows())
exstyle |= WS_EX_LAYERED;
@@ -250146,20 +250169,20 @@ private:
{
switch (virtualScanCode) // check for a numeric keypad scan-code
{
case 0x52:
case 0x4f:
case 0x50:
case 0x51:
case 0x4b:
case 0x4c:
case 0x4d:
case 0x47:
case 0x48:
case 0x49:
key = (key - '0') + KeyPress::numberPad0;
break;
default:
break;
case 0x52:
case 0x4f:
case 0x50:
case 0x51:
case 0x4b:
case 0x4c:
case 0x4d:
case 0x47:
case 0x48:
case 0x49:
key = (key - '0') + KeyPress::numberPad0;
break;
default:
break;
}
}
else
@@ -250229,10 +250252,10 @@ private:

constrainer->checkBounds (pos, windowBorder.addedTo (component->getBounds()),
Desktop::getInstance().getAllMonitorDisplayAreas().getBounds(),
wParam == WMSZ_TOP || wParam == WMSZ_TOPLEFT || wParam == WMSZ_TOPRIGHT,
wParam == WMSZ_LEFT || wParam == WMSZ_TOPLEFT || wParam == WMSZ_BOTTOMLEFT,
wParam == WMSZ_TOP || wParam == WMSZ_TOPLEFT || wParam == WMSZ_TOPRIGHT,
wParam == WMSZ_LEFT || wParam == WMSZ_TOPLEFT || wParam == WMSZ_BOTTOMLEFT,
wParam == WMSZ_BOTTOM || wParam == WMSZ_BOTTOMLEFT || wParam == WMSZ_BOTTOMRIGHT,
wParam == WMSZ_RIGHT || wParam == WMSZ_TOPRIGHT || wParam == WMSZ_BOTTOMRIGHT);
wParam == WMSZ_RIGHT || wParam == WMSZ_TOPRIGHT || wParam == WMSZ_BOTTOMRIGHT);
r->left = pos.getX();
r->top = pos.getY();
r->right = pos.getRight();
@@ -252086,44 +252109,6 @@ void FileChooser::showPlatformDialog (Array<File>& results, const String& title_
/*** End of inlined file: juce_win32_FileChooser.cpp ***/


/*** Start of inlined file: juce_win32_Misc.cpp ***/
// (This file gets included by juce_win32_NativeCode.cpp, rather than being
// compiled on its own).
#if JUCE_INCLUDED_FILE

bool juce_IsRunningInWine()
{
HMODULE ntdll = GetModuleHandle (_T("ntdll.dll"));
return ntdll != 0 && GetProcAddress (ntdll, "wine_get_version") != 0;
}

String JUCE_CALLTYPE Process::getCurrentCommandLineParams()
{
return CharacterFunctions::findEndOfToken (CharPointer_UTF16 (GetCommandLineW()),
CharPointer_UTF16 (L" "),
CharPointer_UTF16 (L"\"")).findEndOfWhitespace();
}

static void* currentModuleHandle = nullptr;

void* Process::getCurrentModuleInstanceHandle() noexcept
{
if (currentModuleHandle == nullptr)
currentModuleHandle = GetModuleHandle (0);

return currentModuleHandle;
}

void Process::setCurrentModuleInstanceHandle (void* const newHandle) noexcept
{
currentModuleHandle = newHandle;
}

#endif

/*** End of inlined file: juce_win32_Misc.cpp ***/


/*** Start of inlined file: juce_win32_ActiveXComponent.cpp ***/
// (This file gets included by juce_win32_NativeCode.cpp, rather than being
// compiled on its own).
@@ -270967,6 +270952,11 @@ ScopedAutoReleasePool::~ScopedAutoReleasePool()
[((NSAutoreleasePool*) pool) release];
}

void Logger::outputDebugString (const String& text)
{
std::cerr << text << std::endl;
}

namespace SystemStatsHelpers
{
#if JUCE_INTEL
@@ -271859,6 +271849,27 @@ void Process::setPriority (ProcessPriority)
// xxx
}

JUCE_API bool JUCE_CALLTYPE juce_isRunningUnderDebugger()
{
static char testResult = 0;

if (testResult == 0)
{
struct kinfo_proc info;
int m[] = { CTL_KERN, KERN_PROC, KERN_PROC_PID, getpid() };
size_t sz = sizeof (info);
sysctl (m, 4, &info, &sz, 0, 0);
testResult = ((info.kp_proc.p_flag & P_TRACED) != 0) ? 1 : -1;
}

return testResult > 0;
}

JUCE_API bool JUCE_CALLTYPE Process::isRunningUnderDebugger()
{
return juce_isRunningUnderDebugger();
}

#endif

/*** End of inlined file: juce_mac_Threads.mm ***/
@@ -273193,42 +273204,6 @@ void File::addToDock() const

/*** End of inlined file: juce_mac_Files.mm ***/


/*** Start of inlined file: juce_mac_Debugging.mm ***/
// (This file gets included by juce_mac_NativeCode.mm, rather than being
// compiled on its own).
#if JUCE_INCLUDED_FILE

void Logger::outputDebugString (const String& text)
{
std::cerr << text << std::endl;
}

JUCE_API bool JUCE_CALLTYPE juce_isRunningUnderDebugger()
{
static char testResult = 0;

if (testResult == 0)
{
struct kinfo_proc info;
int m[] = { CTL_KERN, KERN_PROC, KERN_PROC_PID, getpid() };
size_t sz = sizeof (info);
sysctl (m, 4, &info, &sz, 0, 0);
testResult = ((info.kp_proc.p_flag & P_TRACED) != 0) ? 1 : -1;
}

return testResult > 0;
}

JUCE_API bool JUCE_CALLTYPE Process::isRunningUnderDebugger()
{
return juce_isRunningUnderDebugger();
}

#endif

/*** End of inlined file: juce_mac_Debugging.mm ***/

#if ! JUCE_ONLY_BUILD_CORE_LIBRARY

/*** Start of inlined file: juce_osx_MessageQueue.h ***/


+ 306
- 0
src/native/android/juce_android_JNIHelpers.h View File

@@ -0,0 +1,306 @@
/*
==============================================================================
This file is part of the JUCE library - "Jules' Utility Class Extensions"
Copyright 2004-11 by Raw Material Software Ltd.
------------------------------------------------------------------------------
JUCE can be redistributed and/or modified under the terms of the GNU General
Public License (Version 2), as published by the Free Software Foundation.
A copy of the license is included in the JUCE distribution, or can be found
online at www.gnu.org/licenses.
JUCE is distributed in the hope that it will be useful, but WITHOUT ANY
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
A PARTICULAR PURPOSE. See the GNU General Public License for more details.
------------------------------------------------------------------------------
To release a closed-source product which uses JUCE, commercial licenses are
available: visit www.rawmaterialsoftware.com/juce for more information.
==============================================================================
*/
#ifndef __JUCE_ANDROID_JNIHELPERS_JUCEHEADER__
#define __JUCE_ANDROID_JNIHELPERS_JUCEHEADER__
#ifndef USE_ANDROID_CANVAS
#define USE_ANDROID_CANVAS 0
#endif
//==============================================================================
extern JNIEnv* getEnv() noexcept;
//==============================================================================
class GlobalRef
{
public:
inline GlobalRef() noexcept : obj (0) {}
inline explicit GlobalRef (jobject obj_) : obj (retain (obj_)) {}
inline GlobalRef (const GlobalRef& other) : obj (retain (other.obj)) {}
~GlobalRef() { clear(); }
inline void clear()
{
if (obj != 0)
{
getEnv()->DeleteGlobalRef (obj);
obj = 0;
}
}
inline GlobalRef& operator= (const GlobalRef& other)
{
jobject newObj = retain (other.obj);
clear();
obj = newObj;
return *this;
}
//==============================================================================
inline operator jobject() const noexcept { return obj; }
inline jobject get() const noexcept { return obj; }
//==============================================================================
#define DECLARE_CALL_TYPE_METHOD(returnType, typeName) \
returnType call##typeName##Method (jmethodID methodID, ... ) const \
{ \
va_list args; \
va_start (args, methodID); \
returnType result = getEnv()->Call##typeName##MethodV (obj, methodID, args); \
va_end (args); \
return result; \
}
DECLARE_CALL_TYPE_METHOD (jobject, Object)
DECLARE_CALL_TYPE_METHOD (jboolean, Boolean)
DECLARE_CALL_TYPE_METHOD (jbyte, Byte)
DECLARE_CALL_TYPE_METHOD (jchar, Char)
DECLARE_CALL_TYPE_METHOD (jshort, Short)
DECLARE_CALL_TYPE_METHOD (jint, Int)
DECLARE_CALL_TYPE_METHOD (jlong, Long)
DECLARE_CALL_TYPE_METHOD (jfloat, Float)
DECLARE_CALL_TYPE_METHOD (jdouble, Double)
#undef DECLARE_CALL_TYPE_METHOD
void callVoidMethod (jmethodID methodID, ... ) const
{
va_list args;
va_start (args, methodID);
getEnv()->CallVoidMethodV (obj, methodID, args);
va_end (args);
}
private:
//==============================================================================
jobject obj;
static inline jobject retain (jobject obj_)
{
return obj_ == 0 ? 0 : getEnv()->NewGlobalRef (obj_);
}
};
//==============================================================================
template <typename JavaType>
class LocalRef
{
public:
explicit inline LocalRef (JavaType obj_) noexcept : obj (obj_){}
inline LocalRef (const LocalRef& other) noexcept : obj (retain (other.obj)) {}
~LocalRef() { clear(); }
void clear()
{
if (obj != 0)
getEnv()->DeleteLocalRef (obj);
}
LocalRef& operator= (const LocalRef& other)
{
jobject newObj = retain (other.obj);
clear();
obj = newObj;
return *this;
}
inline operator JavaType() const noexcept { return obj; }
inline JavaType get() const noexcept { return obj; }
private:
JavaType obj;
static JavaType retain (JavaType obj_)
{
return obj_ == 0 ? 0 : (JavaType) getEnv()->NewLocalRef (obj_);
}
};
//==============================================================================
namespace
{
String juceString (JNIEnv* env, jstring s)
{
jboolean isCopy;
const char* const utf8 = env->GetStringUTFChars (s, &isCopy);
CharPointer_UTF8 utf8CP (utf8);
const String result (utf8CP);
env->ReleaseStringUTFChars (s, utf8);
return result;
}
String juceString (jstring s)
{
return juceString (getEnv(), s);
}
LocalRef<jstring> javaString (const String& s)
{
return LocalRef<jstring> (getEnv()->NewStringUTF (s.toUTF8()));
}
LocalRef<jstring> javaStringFromChar (const juce_wchar c)
{
char utf8[8] = { 0 };
CharPointer_UTF8 (utf8).write (c);
return LocalRef<jstring> (getEnv()->NewStringUTF (utf8));
}
}
//==============================================================================
class JNIClassBase
{
public:
explicit JNIClassBase (const char* classPath_);
virtual ~JNIClassBase();
inline operator jclass() const noexcept { return classRef; }
static void initialiseAllClasses (JNIEnv*);
static void releaseAllClasses (JNIEnv*);
protected:
virtual void initialiseFields (JNIEnv*) = 0;
jmethodID resolveMethod (JNIEnv*, const char* methodName, const char* params);
jmethodID resolveStaticMethod (JNIEnv*, const char* methodName, const char* params);
jfieldID resolveField (JNIEnv*, const char* fieldName, const char* signature);
jfieldID resolveStaticField (JNIEnv*, const char* fieldName, const char* signature);
private:
const char* const classPath;
jclass classRef;
static Array<JNIClassBase*>& getClasses();
void initialise (JNIEnv*);
void release (JNIEnv*);
JUCE_DECLARE_NON_COPYABLE (JNIClassBase);
};
//==============================================================================
#define CREATE_JNI_METHOD(methodID, stringName, params) methodID = resolveMethod (env, stringName, params);
#define CREATE_JNI_STATICMETHOD(methodID, stringName, params) methodID = resolveStaticMethod (env, stringName, params);
#define CREATE_JNI_FIELD(fieldID, stringName, signature) fieldID = resolveField (env, stringName, signature);
#define CREATE_JNI_STATICFIELD(fieldID, stringName, signature) fieldID = resolveStaticField (env, stringName, signature);
#define DECLARE_JNI_METHOD(methodID, stringName, params) jmethodID methodID;
#define DECLARE_JNI_FIELD(fieldID, stringName, signature) jfieldID fieldID;
#define DECLARE_JNI_CLASS(CppClassName, javaPath) \
class CppClassName ## _Class : public JNIClassBase \
{ \
public: \
CppClassName ## _Class() : JNIClassBase (javaPath) {} \
\
void initialiseFields (JNIEnv* env) \
{ \
JNI_CLASS_MEMBERS (CREATE_JNI_METHOD, CREATE_JNI_STATICMETHOD, CREATE_JNI_FIELD, CREATE_JNI_STATICFIELD); \
} \
\
JNI_CLASS_MEMBERS (DECLARE_JNI_METHOD, DECLARE_JNI_METHOD, DECLARE_JNI_FIELD, DECLARE_JNI_FIELD); \
}; \
static CppClassName ## _Class CppClassName;
//==============================================================================
#define JUCE_JNI_CALLBACK(className, methodName, returnType, params) \
extern "C" __attribute__ ((visibility("default"))) returnType Java_com_juce_ ## className ## _ ## methodName params
//==============================================================================
class AndroidSystem
{
public:
AndroidSystem();
void initialise (JNIEnv*, jobject activity, jstring appFile, jstring appDataDir);
void shutdown (JNIEnv*);
//==============================================================================
GlobalRef activity;
String appFile, appDataDir;
int screenWidth, screenHeight;
jobject createPaint (Graphics::ResamplingQuality quality);
const jobject createMatrix (JNIEnv*, const AffineTransform& t);
};
extern AndroidSystem android;
//==============================================================================
#define JNI_CLASS_MEMBERS(METHOD, STATICMETHOD, FIELD, STATICFIELD) \
STATICMETHOD (printToConsole, "printToConsole", "(Ljava/lang/String;)V") \
METHOD (createNewView, "createNewView", "(Z)Lcom/juce/ComponentPeerView;") \
METHOD (deleteView, "deleteView", "(Lcom/juce/ComponentPeerView;)V") \
METHOD (postMessage, "postMessage", "(J)V") \
METHOD (finish, "finish", "()V") \
METHOD (getClipboardContent, "getClipboardContent", "()Ljava/lang/String;") \
METHOD (setClipboardContent, "setClipboardContent", "(Ljava/lang/String;)V") \
METHOD (excludeClipRegion, "excludeClipRegion", "(Landroid/graphics/Canvas;FFFF)V") \
METHOD (renderGlyph, "renderGlyph", "(CLandroid/graphics/Paint;Landroid/graphics/Matrix;Landroid/graphics/Rect;)[I") \
STATICMETHOD (createHTTPStream, "createHTTPStream", "(Ljava/lang/String;Z[BLjava/lang/String;ILjava/lang/StringBuffer;)Lcom/juce/JuceAppActivity$HTTPStream;") \
METHOD (showMessageBox, "showMessageBox", "(Ljava/lang/String;Ljava/lang/String;J)V") \
METHOD (showOkCancelBox, "showOkCancelBox", "(Ljava/lang/String;Ljava/lang/String;J)V") \
METHOD (showYesNoCancelBox, "showYesNoCancelBox", "(Ljava/lang/String;Ljava/lang/String;J)V") \
DECLARE_JNI_CLASS (JuceAppActivity, "com/juce/JuceAppActivity");
#undef JNI_CLASS_MEMBERS
//==============================================================================
#define JNI_CLASS_MEMBERS(METHOD, STATICMETHOD, FIELD, STATICFIELD) \
METHOD (constructor, "<init>", "(I)V") \
METHOD (setColor, "setColor", "(I)V") \
METHOD (setAlpha, "setAlpha", "(I)V") \
METHOD (setTypeface, "setTypeface", "(Landroid/graphics/Typeface;)Landroid/graphics/Typeface;") \
METHOD (ascent, "ascent", "()F") \
METHOD (descent, "descent", "()F") \
METHOD (setTextSize, "setTextSize", "(F)V") \
METHOD (getTextWidths, "getTextWidths", "(Ljava/lang/String;[F)I") \
METHOD (setTextScaleX, "setTextScaleX", "(F)V") \
METHOD (getTextPath, "getTextPath", "(Ljava/lang/String;IIFFLandroid/graphics/Path;)V") \
METHOD (setShader, "setShader", "(Landroid/graphics/Shader;)Landroid/graphics/Shader;") \
DECLARE_JNI_CLASS (Paint, "android/graphics/Paint");
#undef JNI_CLASS_MEMBERS
//==============================================================================
#define JNI_CLASS_MEMBERS(METHOD, STATICMETHOD, FIELD, STATICFIELD) \
METHOD (constructor, "<init>", "()V") \
METHOD (setValues, "setValues", "([F)V") \
DECLARE_JNI_CLASS (Matrix, "android/graphics/Matrix");
#undef JNI_CLASS_MEMBERS
//==============================================================================
#define JNI_CLASS_MEMBERS(METHOD, STATICMETHOD, FIELD, STATICFIELD) \
METHOD (constructor, "<init>", "(IIII)V") \
FIELD (left, "left", "I") \
FIELD (right, "right", "I") \
FIELD (top, "top", "I") \
FIELD (bottom, "bottom", "I") \
DECLARE_JNI_CLASS (RectClass, "android/graphics/Rect");
#undef JNI_CLASS_MEMBERS
#endif // __JUCE_ANDROID_JNIHELPERS_JUCEHEADER__

+ 0
- 58
src/native/mac/juce_mac_Debugging.mm View File

@@ -1,58 +0,0 @@
/*
==============================================================================
This file is part of the JUCE library - "Jules' Utility Class Extensions"
Copyright 2004-11 by Raw Material Software Ltd.
------------------------------------------------------------------------------
JUCE can be redistributed and/or modified under the terms of the GNU General
Public License (Version 2), as published by the Free Software Foundation.
A copy of the license is included in the JUCE distribution, or can be found
online at www.gnu.org/licenses.
JUCE is distributed in the hope that it will be useful, but WITHOUT ANY
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
A PARTICULAR PURPOSE. See the GNU General Public License for more details.
------------------------------------------------------------------------------
To release a closed-source product which uses JUCE, commercial licenses are
available: visit www.rawmaterialsoftware.com/juce for more information.
==============================================================================
*/
// (This file gets included by juce_mac_NativeCode.mm, rather than being
// compiled on its own).
#if JUCE_INCLUDED_FILE
//==============================================================================
void Logger::outputDebugString (const String& text)
{
std::cerr << text << std::endl;
}
JUCE_API bool JUCE_CALLTYPE juce_isRunningUnderDebugger()
{
static char testResult = 0;
if (testResult == 0)
{
struct kinfo_proc info;
int m[] = { CTL_KERN, KERN_PROC, KERN_PROC_PID, getpid() };
size_t sz = sizeof (info);
sysctl (m, 4, &info, &sz, 0, 0);
testResult = ((info.kp_proc.p_flag & P_TRACED) != 0) ? 1 : -1;
}
return testResult > 0;
}
JUCE_API bool JUCE_CALLTYPE Process::isRunningUnderDebugger()
{
return juce_isRunningUnderDebugger();
}
#endif

+ 0
- 1
src/native/mac/juce_mac_NativeCode.mm View File

@@ -113,7 +113,6 @@ BEGIN_JUCE_NAMESPACE
#include "juce_mac_Threads.mm"
#include "../common/juce_posix_SharedCode.h"
#include "juce_mac_Files.mm"
#include "juce_mac_Debugging.mm"
#if ! JUCE_ONLY_BUILD_CORE_LIBRARY
#include "juce_osx_MessageQueue.h"


+ 6
- 0
src/native/mac/juce_mac_SystemStats.mm View File

@@ -38,6 +38,12 @@ ScopedAutoReleasePool::~ScopedAutoReleasePool()
[((NSAutoreleasePool*) pool) release];
}
//==============================================================================
void Logger::outputDebugString (const String& text)
{
std::cerr << text << std::endl;
}
//==============================================================================
namespace SystemStatsHelpers
{


+ 22
- 0
src/native/mac/juce_mac_Threads.mm View File

@@ -63,4 +63,26 @@ void Process::setPriority (ProcessPriority)
// xxx
}
//==============================================================================
JUCE_API bool JUCE_CALLTYPE juce_isRunningUnderDebugger()
{
static char testResult = 0;
if (testResult == 0)
{
struct kinfo_proc info;
int m[] = { CTL_KERN, KERN_PROC, KERN_PROC_PID, getpid() };
size_t sz = sizeof (info);
sysctl (m, 4, &info, &sz, 0, 0);
testResult = ((info.kp_proc.p_flag & P_TRACED) != 0) ? 1 : -1;
}
return testResult > 0;
}
JUCE_API bool JUCE_CALLTYPE Process::isRunningUnderDebugger()
{
return juce_isRunningUnderDebugger();
}
#endif

+ 0
- 62
src/native/windows/juce_win32_Misc.cpp View File

@@ -1,62 +0,0 @@
/*
==============================================================================
This file is part of the JUCE library - "Jules' Utility Class Extensions"
Copyright 2004-11 by Raw Material Software Ltd.
------------------------------------------------------------------------------
JUCE can be redistributed and/or modified under the terms of the GNU General
Public License (Version 2), as published by the Free Software Foundation.
A copy of the license is included in the JUCE distribution, or can be found
online at www.gnu.org/licenses.
JUCE is distributed in the hope that it will be useful, but WITHOUT ANY
WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR
A PARTICULAR PURPOSE. See the GNU General Public License for more details.
------------------------------------------------------------------------------
To release a closed-source product which uses JUCE, commercial licenses are
available: visit www.rawmaterialsoftware.com/juce for more information.
==============================================================================
*/
// (This file gets included by juce_win32_NativeCode.cpp, rather than being
// compiled on its own).
#if JUCE_INCLUDED_FILE
//==============================================================================
bool juce_IsRunningInWine()
{
HMODULE ntdll = GetModuleHandle (_T("ntdll.dll"));
return ntdll != 0 && GetProcAddress (ntdll, "wine_get_version") != 0;
}
//==============================================================================
String JUCE_CALLTYPE Process::getCurrentCommandLineParams()
{
return CharacterFunctions::findEndOfToken (CharPointer_UTF16 (GetCommandLineW()),
CharPointer_UTF16 (L" "),
CharPointer_UTF16 (L"\"")).findEndOfWhitespace();
}
//==============================================================================
static void* currentModuleHandle = nullptr;
void* Process::getCurrentModuleInstanceHandle() noexcept
{
if (currentModuleHandle == nullptr)
currentModuleHandle = GetModuleHandle (0);
return currentModuleHandle;
}
void Process::setCurrentModuleInstanceHandle (void* const newHandle) noexcept
{
currentModuleHandle = newHandle;
}
#endif

+ 0
- 1
src/native/windows/juce_win32_NativeCode.cpp View File

@@ -112,7 +112,6 @@ BEGIN_JUCE_NAMESPACE
#include "juce_win32_Direct2DGraphicsContext.cpp"
#include "juce_win32_Windowing.cpp"
#include "juce_win32_FileChooser.cpp"
#include "juce_win32_Misc.cpp"
#include "juce_win32_ActiveXComponent.cpp"
#include "juce_win32_QuickTimeMovieComponent.cpp"
#include "juce_win32_DirectShowComponent.cpp"


+ 27
- 1
src/native/windows/juce_win32_Threads.cpp View File

@@ -286,8 +286,28 @@ bool JUCE_CALLTYPE Process::isRunningUnderDebugger()
return juce_isRunningUnderDebugger();
}
String JUCE_CALLTYPE Process::getCurrentCommandLineParams()
{
return CharacterFunctions::findEndOfToken (CharPointer_UTF16 (GetCommandLineW()),
CharPointer_UTF16 (L" "),
CharPointer_UTF16 (L"\"")).findEndOfWhitespace();
}
static void* currentModuleHandle = nullptr;
void* Process::getCurrentModuleInstanceHandle() noexcept
{
if (currentModuleHandle == nullptr)
currentModuleHandle = GetModuleHandle (0);
return currentModuleHandle;
}
void Process::setCurrentModuleInstanceHandle (void* const newHandle) noexcept
{
currentModuleHandle = newHandle;
}
//==============================================================================
void Process::raisePrivilege()
{
jassertfalse; // xxx not implemented
@@ -308,6 +328,12 @@ void Process::terminate()
ExitProcess (0);
}
bool juce_IsRunningInWine()
{
HMODULE ntdll = GetModuleHandle (_T("ntdll.dll"));
return ntdll != 0 && GetProcAddress (ntdll, "wine_get_version") != 0;
}
//==============================================================================
bool DynamicLibrary::open (const String& name)
{


+ 22
- 27
src/native/windows/juce_win32_Windowing.cpp View File

@@ -476,9 +476,9 @@ public:
dropTarget = nullptr;
}
#if JUCE_DIRECT2D
#if JUCE_DIRECT2D
direct2DContext = nullptr;
#endif
#endif
}
//==============================================================================
@@ -1112,14 +1112,9 @@ private:
else
exstyle |= WS_EX_APPWINDOW;
if ((styleFlags & windowHasMinimiseButton) != 0)
type |= WS_MINIMIZEBOX;
if ((styleFlags & windowHasMaximiseButton) != 0)
type |= WS_MAXIMIZEBOX;
if ((styleFlags & windowIgnoresMouseClicks) != 0)
exstyle |= WS_EX_TRANSPARENT;
if ((styleFlags & windowHasMinimiseButton) != 0) type |= WS_MINIMIZEBOX;
if ((styleFlags & windowHasMaximiseButton) != 0) type |= WS_MAXIMIZEBOX;
if ((styleFlags & windowIgnoresMouseClicks) != 0) exstyle |= WS_EX_TRANSPARENT;
if ((styleFlags & windowIsSemiTransparent) != 0 && Desktop::canUseSemiTransparentWindows())
exstyle |= WS_EX_LAYERED;
@@ -1668,20 +1663,20 @@ private:
{
switch (virtualScanCode) // check for a numeric keypad scan-code
{
case 0x52:
case 0x4f:
case 0x50:
case 0x51:
case 0x4b:
case 0x4c:
case 0x4d:
case 0x47:
case 0x48:
case 0x49:
key = (key - '0') + KeyPress::numberPad0;
break;
default:
break;
case 0x52:
case 0x4f:
case 0x50:
case 0x51:
case 0x4b:
case 0x4c:
case 0x4d:
case 0x47:
case 0x48:
case 0x49:
key = (key - '0') + KeyPress::numberPad0;
break;
default:
break;
}
}
else
@@ -1751,10 +1746,10 @@ private:
constrainer->checkBounds (pos, windowBorder.addedTo (component->getBounds()),
Desktop::getInstance().getAllMonitorDisplayAreas().getBounds(),
wParam == WMSZ_TOP || wParam == WMSZ_TOPLEFT || wParam == WMSZ_TOPRIGHT,
wParam == WMSZ_LEFT || wParam == WMSZ_TOPLEFT || wParam == WMSZ_BOTTOMLEFT,
wParam == WMSZ_TOP || wParam == WMSZ_TOPLEFT || wParam == WMSZ_TOPRIGHT,
wParam == WMSZ_LEFT || wParam == WMSZ_TOPLEFT || wParam == WMSZ_BOTTOMLEFT,
wParam == WMSZ_BOTTOM || wParam == WMSZ_BOTTOMLEFT || wParam == WMSZ_BOTTOMRIGHT,
wParam == WMSZ_RIGHT || wParam == WMSZ_TOPRIGHT || wParam == WMSZ_BOTTOMRIGHT);
wParam == WMSZ_RIGHT || wParam == WMSZ_TOPRIGHT || wParam == WMSZ_BOTTOMRIGHT);
r->left = pos.getX();
r->top = pos.getY();
r->right = pos.getRight();


Loading…
Cancel
Save