Skip to content

Instantly share code, notes, and snippets.

@TyounanMOTI
Created July 3, 2012 09:26
Show Gist options
  • Save TyounanMOTI/3038728 to your computer and use it in GitHub Desktop.
Save TyounanMOTI/3038728 to your computer and use it in GitHub Desktop.
git diff --no-prefix 359e8fabadf696120b12d4c9428b34dd3527f2af > mac_build.patch
This file has been truncated, but you can view the full file.
diff --git libsrcs/angelscript/angelSVN/sdk/angelscript/projects/xcode/angelscript.xcodeproj/project.pbxproj libsrcs/angelscript/angelSVN/sdk/angelscript/projects/xcode/angelscript.xcodeproj/project.pbxproj
index 42aed37..b9daa61 100644
--- libsrcs/angelscript/angelSVN/sdk/angelscript/projects/xcode/angelscript.xcodeproj/project.pbxproj
+++ libsrcs/angelscript/angelSVN/sdk/angelscript/projects/xcode/angelscript.xcodeproj/project.pbxproj
@@ -1,512 +1,827 @@
-// !$*UTF8*$!
-{
- archiveVersion = 1;
- classes = {
- };
- objectVersion = 46;
- objects = {
-
-/* Begin PBXBuildFile section */
- 61FD9FDF14DCA9BA00161C82 /* as_array.h in Headers */ = {isa = PBXBuildFile; fileRef = 61FD9F9314DCA9BA00161C82 /* as_array.h */; };
- 61FD9FE014DCA9BA00161C82 /* as_atomic.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 61FD9F9414DCA9BA00161C82 /* as_atomic.cpp */; };
- 61FD9FE114DCA9BA00161C82 /* as_atomic.h in Headers */ = {isa = PBXBuildFile; fileRef = 61FD9F9514DCA9BA00161C82 /* as_atomic.h */; };
- 61FD9FE214DCA9BA00161C82 /* as_builder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 61FD9F9614DCA9BA00161C82 /* as_builder.cpp */; };
- 61FD9FE314DCA9BA00161C82 /* as_builder.h in Headers */ = {isa = PBXBuildFile; fileRef = 61FD9F9714DCA9BA00161C82 /* as_builder.h */; };
- 61FD9FE414DCA9BA00161C82 /* as_bytecode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 61FD9F9814DCA9BA00161C82 /* as_bytecode.cpp */; };
- 61FD9FE514DCA9BA00161C82 /* as_bytecode.h in Headers */ = {isa = PBXBuildFile; fileRef = 61FD9F9914DCA9BA00161C82 /* as_bytecode.h */; };
- 61FD9FE814DCA9BA00161C82 /* as_callfunc_arm_xcode.S in Sources */ = {isa = PBXBuildFile; fileRef = 61FD9F9C14DCA9BA00161C82 /* as_callfunc_arm_xcode.S */; };
- 61FD9FE914DCA9BA00161C82 /* as_callfunc_arm.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 61FD9F9D14DCA9BA00161C82 /* as_callfunc_arm.cpp */; };
- 61FD9FEA14DCA9BA00161C82 /* as_callfunc_mips.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 61FD9F9E14DCA9BA00161C82 /* as_callfunc_mips.cpp */; };
- 61FD9FEB14DCA9BA00161C82 /* as_callfunc_ppc_64.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 61FD9F9F14DCA9BA00161C82 /* as_callfunc_ppc_64.cpp */; };
- 61FD9FEC14DCA9BA00161C82 /* as_callfunc_ppc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 61FD9FA014DCA9BA00161C82 /* as_callfunc_ppc.cpp */; };
- 61FD9FED14DCA9BA00161C82 /* as_callfunc_sh4.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 61FD9FA114DCA9BA00161C82 /* as_callfunc_sh4.cpp */; };
- 61FD9FEE14DCA9BA00161C82 /* as_callfunc_x64_gcc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 61FD9FA214DCA9BA00161C82 /* as_callfunc_x64_gcc.cpp */; };
- 61FD9FF114DCA9BA00161C82 /* as_callfunc_x86.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 61FD9FA514DCA9BA00161C82 /* as_callfunc_x86.cpp */; };
- 61FD9FF214DCA9BA00161C82 /* as_callfunc_xenon.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 61FD9FA614DCA9BA00161C82 /* as_callfunc_xenon.cpp */; };
- 61FD9FF314DCA9BA00161C82 /* as_callfunc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 61FD9FA714DCA9BA00161C82 /* as_callfunc.cpp */; };
- 61FD9FF414DCA9BA00161C82 /* as_callfunc.h in Headers */ = {isa = PBXBuildFile; fileRef = 61FD9FA814DCA9BA00161C82 /* as_callfunc.h */; };
- 61FD9FF514DCA9BA00161C82 /* as_compiler.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 61FD9FA914DCA9BA00161C82 /* as_compiler.cpp */; };
- 61FD9FF614DCA9BA00161C82 /* as_compiler.h in Headers */ = {isa = PBXBuildFile; fileRef = 61FD9FAA14DCA9BA00161C82 /* as_compiler.h */; };
- 61FD9FF714DCA9BA00161C82 /* as_config.h in Headers */ = {isa = PBXBuildFile; fileRef = 61FD9FAB14DCA9BA00161C82 /* as_config.h */; };
- 61FD9FF814DCA9BA00161C82 /* as_configgroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 61FD9FAC14DCA9BA00161C82 /* as_configgroup.cpp */; };
- 61FD9FF914DCA9BA00161C82 /* as_configgroup.h in Headers */ = {isa = PBXBuildFile; fileRef = 61FD9FAD14DCA9BA00161C82 /* as_configgroup.h */; };
- 61FD9FFA14DCA9BA00161C82 /* as_context.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 61FD9FAE14DCA9BA00161C82 /* as_context.cpp */; };
- 61FD9FFB14DCA9BA00161C82 /* as_context.h in Headers */ = {isa = PBXBuildFile; fileRef = 61FD9FAF14DCA9BA00161C82 /* as_context.h */; };
- 61FD9FFC14DCA9BA00161C82 /* as_criticalsection.h in Headers */ = {isa = PBXBuildFile; fileRef = 61FD9FB014DCA9BA00161C82 /* as_criticalsection.h */; };
- 61FD9FFD14DCA9BA00161C82 /* as_datatype.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 61FD9FB114DCA9BA00161C82 /* as_datatype.cpp */; };
- 61FD9FFE14DCA9BA00161C82 /* as_datatype.h in Headers */ = {isa = PBXBuildFile; fileRef = 61FD9FB214DCA9BA00161C82 /* as_datatype.h */; };
- 61FD9FFF14DCA9BA00161C82 /* as_debug.h in Headers */ = {isa = PBXBuildFile; fileRef = 61FD9FB314DCA9BA00161C82 /* as_debug.h */; };
- 61FDA00014DCA9BA00161C82 /* as_gc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 61FD9FB414DCA9BA00161C82 /* as_gc.cpp */; };
- 61FDA00114DCA9BA00161C82 /* as_gc.h in Headers */ = {isa = PBXBuildFile; fileRef = 61FD9FB514DCA9BA00161C82 /* as_gc.h */; };
- 61FDA00214DCA9BA00161C82 /* as_generic.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 61FD9FB614DCA9BA00161C82 /* as_generic.cpp */; };
- 61FDA00314DCA9BA00161C82 /* as_generic.h in Headers */ = {isa = PBXBuildFile; fileRef = 61FD9FB714DCA9BA00161C82 /* as_generic.h */; };
- 61FDA00414DCA9BA00161C82 /* as_globalproperty.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 61FD9FB814DCA9BA00161C82 /* as_globalproperty.cpp */; };
- 61FDA00514DCA9BA00161C82 /* as_map.h in Headers */ = {isa = PBXBuildFile; fileRef = 61FD9FB914DCA9BA00161C82 /* as_map.h */; };
- 61FDA00614DCA9BA00161C82 /* as_memory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 61FD9FBA14DCA9BA00161C82 /* as_memory.cpp */; };
- 61FDA00714DCA9BA00161C82 /* as_memory.h in Headers */ = {isa = PBXBuildFile; fileRef = 61FD9FBB14DCA9BA00161C82 /* as_memory.h */; };
- 61FDA00814DCA9BA00161C82 /* as_module.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 61FD9FBC14DCA9BA00161C82 /* as_module.cpp */; };
- 61FDA00914DCA9BA00161C82 /* as_module.h in Headers */ = {isa = PBXBuildFile; fileRef = 61FD9FBD14DCA9BA00161C82 /* as_module.h */; };
- 61FDA00A14DCA9BA00161C82 /* as_objecttype.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 61FD9FBE14DCA9BA00161C82 /* as_objecttype.cpp */; };
- 61FDA00B14DCA9BA00161C82 /* as_objecttype.h in Headers */ = {isa = PBXBuildFile; fileRef = 61FD9FBF14DCA9BA00161C82 /* as_objecttype.h */; };
- 61FDA00C14DCA9BA00161C82 /* as_outputbuffer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 61FD9FC014DCA9BA00161C82 /* as_outputbuffer.cpp */; };
- 61FDA00D14DCA9BA00161C82 /* as_outputbuffer.h in Headers */ = {isa = PBXBuildFile; fileRef = 61FD9FC114DCA9BA00161C82 /* as_outputbuffer.h */; };
- 61FDA00E14DCA9BA00161C82 /* as_parser.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 61FD9FC214DCA9BA00161C82 /* as_parser.cpp */; };
- 61FDA00F14DCA9BA00161C82 /* as_parser.h in Headers */ = {isa = PBXBuildFile; fileRef = 61FD9FC314DCA9BA00161C82 /* as_parser.h */; };
- 61FDA01014DCA9BA00161C82 /* as_property.h in Headers */ = {isa = PBXBuildFile; fileRef = 61FD9FC414DCA9BA00161C82 /* as_property.h */; };
- 61FDA01114DCA9BA00161C82 /* as_restore.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 61FD9FC514DCA9BA00161C82 /* as_restore.cpp */; };
- 61FDA01214DCA9BA00161C82 /* as_restore.h in Headers */ = {isa = PBXBuildFile; fileRef = 61FD9FC614DCA9BA00161C82 /* as_restore.h */; };
- 61FDA01314DCA9BA00161C82 /* as_scriptcode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 61FD9FC714DCA9BA00161C82 /* as_scriptcode.cpp */; };
- 61FDA01414DCA9BA00161C82 /* as_scriptcode.h in Headers */ = {isa = PBXBuildFile; fileRef = 61FD9FC814DCA9BA00161C82 /* as_scriptcode.h */; };
- 61FDA01514DCA9BA00161C82 /* as_scriptengine.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 61FD9FC914DCA9BA00161C82 /* as_scriptengine.cpp */; };
- 61FDA01614DCA9BA00161C82 /* as_scriptengine.h in Headers */ = {isa = PBXBuildFile; fileRef = 61FD9FCA14DCA9BA00161C82 /* as_scriptengine.h */; };
- 61FDA01714DCA9BA00161C82 /* as_scriptfunction.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 61FD9FCB14DCA9BA00161C82 /* as_scriptfunction.cpp */; };
- 61FDA01814DCA9BA00161C82 /* as_scriptfunction.h in Headers */ = {isa = PBXBuildFile; fileRef = 61FD9FCC14DCA9BA00161C82 /* as_scriptfunction.h */; };
- 61FDA01914DCA9BA00161C82 /* as_scriptnode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 61FD9FCD14DCA9BA00161C82 /* as_scriptnode.cpp */; };
- 61FDA01A14DCA9BA00161C82 /* as_scriptnode.h in Headers */ = {isa = PBXBuildFile; fileRef = 61FD9FCE14DCA9BA00161C82 /* as_scriptnode.h */; };
- 61FDA01B14DCA9BA00161C82 /* as_scriptobject.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 61FD9FCF14DCA9BA00161C82 /* as_scriptobject.cpp */; };
- 61FDA01C14DCA9BA00161C82 /* as_scriptobject.h in Headers */ = {isa = PBXBuildFile; fileRef = 61FD9FD014DCA9BA00161C82 /* as_scriptobject.h */; };
- 61FDA01D14DCA9BA00161C82 /* as_string_util.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 61FD9FD114DCA9BA00161C82 /* as_string_util.cpp */; };
- 61FDA01E14DCA9BA00161C82 /* as_string_util.h in Headers */ = {isa = PBXBuildFile; fileRef = 61FD9FD214DCA9BA00161C82 /* as_string_util.h */; };
- 61FDA01F14DCA9BA00161C82 /* as_string.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 61FD9FD314DCA9BA00161C82 /* as_string.cpp */; };
- 61FDA02014DCA9BA00161C82 /* as_string.h in Headers */ = {isa = PBXBuildFile; fileRef = 61FD9FD414DCA9BA00161C82 /* as_string.h */; };
- 61FDA02114DCA9BA00161C82 /* as_texts.h in Headers */ = {isa = PBXBuildFile; fileRef = 61FD9FD514DCA9BA00161C82 /* as_texts.h */; };
- 61FDA02214DCA9BA00161C82 /* as_thread.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 61FD9FD614DCA9BA00161C82 /* as_thread.cpp */; };
- 61FDA02314DCA9BA00161C82 /* as_thread.h in Headers */ = {isa = PBXBuildFile; fileRef = 61FD9FD714DCA9BA00161C82 /* as_thread.h */; };
- 61FDA02414DCA9BA00161C82 /* as_tokendef.h in Headers */ = {isa = PBXBuildFile; fileRef = 61FD9FD814DCA9BA00161C82 /* as_tokendef.h */; };
- 61FDA02514DCA9BA00161C82 /* as_tokenizer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 61FD9FD914DCA9BA00161C82 /* as_tokenizer.cpp */; };
- 61FDA02614DCA9BA00161C82 /* as_tokenizer.h in Headers */ = {isa = PBXBuildFile; fileRef = 61FD9FDA14DCA9BA00161C82 /* as_tokenizer.h */; };
- 61FDA02714DCA9BA00161C82 /* as_typeinfo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 61FD9FDB14DCA9BA00161C82 /* as_typeinfo.cpp */; };
- 61FDA02814DCA9BA00161C82 /* as_typeinfo.h in Headers */ = {isa = PBXBuildFile; fileRef = 61FD9FDC14DCA9BA00161C82 /* as_typeinfo.h */; };
- 61FDA02914DCA9BA00161C82 /* as_variablescope.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 61FD9FDD14DCA9BA00161C82 /* as_variablescope.cpp */; };
- 61FDA02A14DCA9BA00161C82 /* as_variablescope.h in Headers */ = {isa = PBXBuildFile; fileRef = 61FD9FDE14DCA9BA00161C82 /* as_variablescope.h */; };
- AA747D9F0F9514B9006C5449 /* angelscript_Prefix.pch in Headers */ = {isa = PBXBuildFile; fileRef = AA747D9E0F9514B9006C5449 /* angelscript_Prefix.pch */; };
- AACBBE4A0F95108600F1A2B1 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AACBBE490F95108600F1A2B1 /* Foundation.framework */; };
-/* End PBXBuildFile section */
-
-/* Begin PBXFileReference section */
- 61FD9F9314DCA9BA00161C82 /* as_array.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = as_array.h; path = ../../source/as_array.h; sourceTree = SOURCE_ROOT; };
- 61FD9F9414DCA9BA00161C82 /* as_atomic.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = as_atomic.cpp; path = ../../source/as_atomic.cpp; sourceTree = SOURCE_ROOT; };
- 61FD9F9514DCA9BA00161C82 /* as_atomic.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = as_atomic.h; path = ../../source/as_atomic.h; sourceTree = SOURCE_ROOT; };
- 61FD9F9614DCA9BA00161C82 /* as_builder.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = as_builder.cpp; path = ../../source/as_builder.cpp; sourceTree = SOURCE_ROOT; };
- 61FD9F9714DCA9BA00161C82 /* as_builder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = as_builder.h; path = ../../source/as_builder.h; sourceTree = SOURCE_ROOT; };
- 61FD9F9814DCA9BA00161C82 /* as_bytecode.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = as_bytecode.cpp; path = ../../source/as_bytecode.cpp; sourceTree = SOURCE_ROOT; };
- 61FD9F9914DCA9BA00161C82 /* as_bytecode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = as_bytecode.h; path = ../../source/as_bytecode.h; sourceTree = SOURCE_ROOT; };
- 61FD9F9C14DCA9BA00161C82 /* as_callfunc_arm_xcode.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; name = as_callfunc_arm_xcode.S; path = ../../source/as_callfunc_arm_xcode.S; sourceTree = SOURCE_ROOT; };
- 61FD9F9D14DCA9BA00161C82 /* as_callfunc_arm.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = as_callfunc_arm.cpp; path = ../../source/as_callfunc_arm.cpp; sourceTree = SOURCE_ROOT; };
- 61FD9F9E14DCA9BA00161C82 /* as_callfunc_mips.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = as_callfunc_mips.cpp; path = ../../source/as_callfunc_mips.cpp; sourceTree = SOURCE_ROOT; };
- 61FD9F9F14DCA9BA00161C82 /* as_callfunc_ppc_64.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = as_callfunc_ppc_64.cpp; path = ../../source/as_callfunc_ppc_64.cpp; sourceTree = SOURCE_ROOT; };
- 61FD9FA014DCA9BA00161C82 /* as_callfunc_ppc.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = as_callfunc_ppc.cpp; path = ../../source/as_callfunc_ppc.cpp; sourceTree = SOURCE_ROOT; };
- 61FD9FA114DCA9BA00161C82 /* as_callfunc_sh4.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = as_callfunc_sh4.cpp; path = ../../source/as_callfunc_sh4.cpp; sourceTree = SOURCE_ROOT; };
- 61FD9FA214DCA9BA00161C82 /* as_callfunc_x64_gcc.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = as_callfunc_x64_gcc.cpp; path = ../../source/as_callfunc_x64_gcc.cpp; sourceTree = SOURCE_ROOT; };
- 61FD9FA514DCA9BA00161C82 /* as_callfunc_x86.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = as_callfunc_x86.cpp; path = ../../source/as_callfunc_x86.cpp; sourceTree = SOURCE_ROOT; };
- 61FD9FA614DCA9BA00161C82 /* as_callfunc_xenon.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = as_callfunc_xenon.cpp; path = ../../source/as_callfunc_xenon.cpp; sourceTree = SOURCE_ROOT; };
- 61FD9FA714DCA9BA00161C82 /* as_callfunc.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = as_callfunc.cpp; path = ../../source/as_callfunc.cpp; sourceTree = SOURCE_ROOT; };
- 61FD9FA814DCA9BA00161C82 /* as_callfunc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = as_callfunc.h; path = ../../source/as_callfunc.h; sourceTree = SOURCE_ROOT; };
- 61FD9FA914DCA9BA00161C82 /* as_compiler.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = as_compiler.cpp; path = ../../source/as_compiler.cpp; sourceTree = SOURCE_ROOT; };
- 61FD9FAA14DCA9BA00161C82 /* as_compiler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = as_compiler.h; path = ../../source/as_compiler.h; sourceTree = SOURCE_ROOT; };
- 61FD9FAB14DCA9BA00161C82 /* as_config.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = as_config.h; path = ../../source/as_config.h; sourceTree = SOURCE_ROOT; };
- 61FD9FAC14DCA9BA00161C82 /* as_configgroup.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = as_configgroup.cpp; path = ../../source/as_configgroup.cpp; sourceTree = SOURCE_ROOT; };
- 61FD9FAD14DCA9BA00161C82 /* as_configgroup.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = as_configgroup.h; path = ../../source/as_configgroup.h; sourceTree = SOURCE_ROOT; };
- 61FD9FAE14DCA9BA00161C82 /* as_context.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = as_context.cpp; path = ../../source/as_context.cpp; sourceTree = SOURCE_ROOT; };
- 61FD9FAF14DCA9BA00161C82 /* as_context.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = as_context.h; path = ../../source/as_context.h; sourceTree = SOURCE_ROOT; };
- 61FD9FB014DCA9BA00161C82 /* as_criticalsection.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = as_criticalsection.h; path = ../../source/as_criticalsection.h; sourceTree = SOURCE_ROOT; };
- 61FD9FB114DCA9BA00161C82 /* as_datatype.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = as_datatype.cpp; path = ../../source/as_datatype.cpp; sourceTree = SOURCE_ROOT; };
- 61FD9FB214DCA9BA00161C82 /* as_datatype.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = as_datatype.h; path = ../../source/as_datatype.h; sourceTree = SOURCE_ROOT; };
- 61FD9FB314DCA9BA00161C82 /* as_debug.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = as_debug.h; path = ../../source/as_debug.h; sourceTree = SOURCE_ROOT; };
- 61FD9FB414DCA9BA00161C82 /* as_gc.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = as_gc.cpp; path = ../../source/as_gc.cpp; sourceTree = SOURCE_ROOT; };
- 61FD9FB514DCA9BA00161C82 /* as_gc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = as_gc.h; path = ../../source/as_gc.h; sourceTree = SOURCE_ROOT; };
- 61FD9FB614DCA9BA00161C82 /* as_generic.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = as_generic.cpp; path = ../../source/as_generic.cpp; sourceTree = SOURCE_ROOT; };
- 61FD9FB714DCA9BA00161C82 /* as_generic.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = as_generic.h; path = ../../source/as_generic.h; sourceTree = SOURCE_ROOT; };
- 61FD9FB814DCA9BA00161C82 /* as_globalproperty.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = as_globalproperty.cpp; path = ../../source/as_globalproperty.cpp; sourceTree = SOURCE_ROOT; };
- 61FD9FB914DCA9BA00161C82 /* as_map.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = as_map.h; path = ../../source/as_map.h; sourceTree = SOURCE_ROOT; };
- 61FD9FBA14DCA9BA00161C82 /* as_memory.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = as_memory.cpp; path = ../../source/as_memory.cpp; sourceTree = SOURCE_ROOT; };
- 61FD9FBB14DCA9BA00161C82 /* as_memory.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = as_memory.h; path = ../../source/as_memory.h; sourceTree = SOURCE_ROOT; };
- 61FD9FBC14DCA9BA00161C82 /* as_module.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = as_module.cpp; path = ../../source/as_module.cpp; sourceTree = SOURCE_ROOT; };
- 61FD9FBD14DCA9BA00161C82 /* as_module.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = as_module.h; path = ../../source/as_module.h; sourceTree = SOURCE_ROOT; };
- 61FD9FBE14DCA9BA00161C82 /* as_objecttype.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = as_objecttype.cpp; path = ../../source/as_objecttype.cpp; sourceTree = SOURCE_ROOT; };
- 61FD9FBF14DCA9BA00161C82 /* as_objecttype.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = as_objecttype.h; path = ../../source/as_objecttype.h; sourceTree = SOURCE_ROOT; };
- 61FD9FC014DCA9BA00161C82 /* as_outputbuffer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = as_outputbuffer.cpp; path = ../../source/as_outputbuffer.cpp; sourceTree = SOURCE_ROOT; };
- 61FD9FC114DCA9BA00161C82 /* as_outputbuffer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = as_outputbuffer.h; path = ../../source/as_outputbuffer.h; sourceTree = SOURCE_ROOT; };
- 61FD9FC214DCA9BA00161C82 /* as_parser.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = as_parser.cpp; path = ../../source/as_parser.cpp; sourceTree = SOURCE_ROOT; };
- 61FD9FC314DCA9BA00161C82 /* as_parser.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = as_parser.h; path = ../../source/as_parser.h; sourceTree = SOURCE_ROOT; };
- 61FD9FC414DCA9BA00161C82 /* as_property.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = as_property.h; path = ../../source/as_property.h; sourceTree = SOURCE_ROOT; };
- 61FD9FC514DCA9BA00161C82 /* as_restore.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = as_restore.cpp; path = ../../source/as_restore.cpp; sourceTree = SOURCE_ROOT; };
- 61FD9FC614DCA9BA00161C82 /* as_restore.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = as_restore.h; path = ../../source/as_restore.h; sourceTree = SOURCE_ROOT; };
- 61FD9FC714DCA9BA00161C82 /* as_scriptcode.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = as_scriptcode.cpp; path = ../../source/as_scriptcode.cpp; sourceTree = SOURCE_ROOT; };
- 61FD9FC814DCA9BA00161C82 /* as_scriptcode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = as_scriptcode.h; path = ../../source/as_scriptcode.h; sourceTree = SOURCE_ROOT; };
- 61FD9FC914DCA9BA00161C82 /* as_scriptengine.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = as_scriptengine.cpp; path = ../../source/as_scriptengine.cpp; sourceTree = SOURCE_ROOT; };
- 61FD9FCA14DCA9BA00161C82 /* as_scriptengine.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = as_scriptengine.h; path = ../../source/as_scriptengine.h; sourceTree = SOURCE_ROOT; };
- 61FD9FCB14DCA9BA00161C82 /* as_scriptfunction.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = as_scriptfunction.cpp; path = ../../source/as_scriptfunction.cpp; sourceTree = SOURCE_ROOT; };
- 61FD9FCC14DCA9BA00161C82 /* as_scriptfunction.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = as_scriptfunction.h; path = ../../source/as_scriptfunction.h; sourceTree = SOURCE_ROOT; };
- 61FD9FCD14DCA9BA00161C82 /* as_scriptnode.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = as_scriptnode.cpp; path = ../../source/as_scriptnode.cpp; sourceTree = SOURCE_ROOT; };
- 61FD9FCE14DCA9BA00161C82 /* as_scriptnode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = as_scriptnode.h; path = ../../source/as_scriptnode.h; sourceTree = SOURCE_ROOT; };
- 61FD9FCF14DCA9BA00161C82 /* as_scriptobject.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = as_scriptobject.cpp; path = ../../source/as_scriptobject.cpp; sourceTree = SOURCE_ROOT; };
- 61FD9FD014DCA9BA00161C82 /* as_scriptobject.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = as_scriptobject.h; path = ../../source/as_scriptobject.h; sourceTree = SOURCE_ROOT; };
- 61FD9FD114DCA9BA00161C82 /* as_string_util.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = as_string_util.cpp; path = ../../source/as_string_util.cpp; sourceTree = SOURCE_ROOT; };
- 61FD9FD214DCA9BA00161C82 /* as_string_util.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = as_string_util.h; path = ../../source/as_string_util.h; sourceTree = SOURCE_ROOT; };
- 61FD9FD314DCA9BA00161C82 /* as_string.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = as_string.cpp; path = ../../source/as_string.cpp; sourceTree = SOURCE_ROOT; };
- 61FD9FD414DCA9BA00161C82 /* as_string.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = as_string.h; path = ../../source/as_string.h; sourceTree = SOURCE_ROOT; };
- 61FD9FD514DCA9BA00161C82 /* as_texts.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = as_texts.h; path = ../../source/as_texts.h; sourceTree = SOURCE_ROOT; };
- 61FD9FD614DCA9BA00161C82 /* as_thread.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = as_thread.cpp; path = ../../source/as_thread.cpp; sourceTree = SOURCE_ROOT; };
- 61FD9FD714DCA9BA00161C82 /* as_thread.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = as_thread.h; path = ../../source/as_thread.h; sourceTree = SOURCE_ROOT; };
- 61FD9FD814DCA9BA00161C82 /* as_tokendef.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = as_tokendef.h; path = ../../source/as_tokendef.h; sourceTree = SOURCE_ROOT; };
- 61FD9FD914DCA9BA00161C82 /* as_tokenizer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = as_tokenizer.cpp; path = ../../source/as_tokenizer.cpp; sourceTree = SOURCE_ROOT; };
- 61FD9FDA14DCA9BA00161C82 /* as_tokenizer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = as_tokenizer.h; path = ../../source/as_tokenizer.h; sourceTree = SOURCE_ROOT; };
- 61FD9FDB14DCA9BA00161C82 /* as_typeinfo.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = as_typeinfo.cpp; path = ../../source/as_typeinfo.cpp; sourceTree = SOURCE_ROOT; };
- 61FD9FDC14DCA9BA00161C82 /* as_typeinfo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = as_typeinfo.h; path = ../../source/as_typeinfo.h; sourceTree = SOURCE_ROOT; };
- 61FD9FDD14DCA9BA00161C82 /* as_variablescope.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = as_variablescope.cpp; path = ../../source/as_variablescope.cpp; sourceTree = SOURCE_ROOT; };
- 61FD9FDE14DCA9BA00161C82 /* as_variablescope.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = as_variablescope.h; path = ../../source/as_variablescope.h; sourceTree = SOURCE_ROOT; };
- AA747D9E0F9514B9006C5449 /* angelscript_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = angelscript_Prefix.pch; sourceTree = SOURCE_ROOT; };
- AACBBE490F95108600F1A2B1 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
- D2AAC07E0554694100DB518D /* libangelscript.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libangelscript.a; sourceTree = BUILT_PRODUCTS_DIR; };
-/* End PBXFileReference section */
-
-/* Begin PBXFrameworksBuildPhase section */
- D2AAC07C0554694100DB518D /* Frameworks */ = {
- isa = PBXFrameworksBuildPhase;
- buildActionMask = 2147483647;
- files = (
- AACBBE4A0F95108600F1A2B1 /* Foundation.framework in Frameworks */,
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
-/* End PBXFrameworksBuildPhase section */
-
-/* Begin PBXGroup section */
- 034768DFFF38A50411DB9C8B /* Products */ = {
- isa = PBXGroup;
- children = (
- D2AAC07E0554694100DB518D /* libangelscript.a */,
- );
- name = Products;
- sourceTree = "<group>";
- };
- 0867D691FE84028FC02AAC07 /* angelscript */ = {
- isa = PBXGroup;
- children = (
- 08FB77AEFE84172EC02AAC07 /* Classes */,
- 32C88DFF0371C24200C91783 /* Other Sources */,
- 0867D69AFE84028FC02AAC07 /* Frameworks */,
- 034768DFFF38A50411DB9C8B /* Products */,
- );
- name = angelscript;
- sourceTree = "<group>";
- };
- 0867D69AFE84028FC02AAC07 /* Frameworks */ = {
- isa = PBXGroup;
- children = (
- AACBBE490F95108600F1A2B1 /* Foundation.framework */,
- );
- name = Frameworks;
- sourceTree = "<group>";
- };
- 08FB77AEFE84172EC02AAC07 /* Classes */ = {
- isa = PBXGroup;
- children = (
- );
- name = Classes;
- sourceTree = "<group>";
- };
- 32C88DFF0371C24200C91783 /* Other Sources */ = {
- isa = PBXGroup;
- children = (
- 61FD9F9314DCA9BA00161C82 /* as_array.h */,
- 61FD9F9414DCA9BA00161C82 /* as_atomic.cpp */,
- 61FD9F9514DCA9BA00161C82 /* as_atomic.h */,
- 61FD9F9614DCA9BA00161C82 /* as_builder.cpp */,
- 61FD9F9714DCA9BA00161C82 /* as_builder.h */,
- 61FD9F9814DCA9BA00161C82 /* as_bytecode.cpp */,
- 61FD9F9914DCA9BA00161C82 /* as_bytecode.h */,
- 61FD9F9C14DCA9BA00161C82 /* as_callfunc_arm_xcode.S */,
- 61FD9F9D14DCA9BA00161C82 /* as_callfunc_arm.cpp */,
- 61FD9F9E14DCA9BA00161C82 /* as_callfunc_mips.cpp */,
- 61FD9F9F14DCA9BA00161C82 /* as_callfunc_ppc_64.cpp */,
- 61FD9FA014DCA9BA00161C82 /* as_callfunc_ppc.cpp */,
- 61FD9FA114DCA9BA00161C82 /* as_callfunc_sh4.cpp */,
- 61FD9FA214DCA9BA00161C82 /* as_callfunc_x64_gcc.cpp */,
- 61FD9FA514DCA9BA00161C82 /* as_callfunc_x86.cpp */,
- 61FD9FA614DCA9BA00161C82 /* as_callfunc_xenon.cpp */,
- 61FD9FA714DCA9BA00161C82 /* as_callfunc.cpp */,
- 61FD9FA814DCA9BA00161C82 /* as_callfunc.h */,
- 61FD9FA914DCA9BA00161C82 /* as_compiler.cpp */,
- 61FD9FAA14DCA9BA00161C82 /* as_compiler.h */,
- 61FD9FAB14DCA9BA00161C82 /* as_config.h */,
- 61FD9FAC14DCA9BA00161C82 /* as_configgroup.cpp */,
- 61FD9FAD14DCA9BA00161C82 /* as_configgroup.h */,
- 61FD9FAE14DCA9BA00161C82 /* as_context.cpp */,
- 61FD9FAF14DCA9BA00161C82 /* as_context.h */,
- 61FD9FB014DCA9BA00161C82 /* as_criticalsection.h */,
- 61FD9FB114DCA9BA00161C82 /* as_datatype.cpp */,
- 61FD9FB214DCA9BA00161C82 /* as_datatype.h */,
- 61FD9FB314DCA9BA00161C82 /* as_debug.h */,
- 61FD9FB414DCA9BA00161C82 /* as_gc.cpp */,
- 61FD9FB514DCA9BA00161C82 /* as_gc.h */,
- 61FD9FB614DCA9BA00161C82 /* as_generic.cpp */,
- 61FD9FB714DCA9BA00161C82 /* as_generic.h */,
- 61FD9FB814DCA9BA00161C82 /* as_globalproperty.cpp */,
- 61FD9FB914DCA9BA00161C82 /* as_map.h */,
- 61FD9FBA14DCA9BA00161C82 /* as_memory.cpp */,
- 61FD9FBB14DCA9BA00161C82 /* as_memory.h */,
- 61FD9FBC14DCA9BA00161C82 /* as_module.cpp */,
- 61FD9FBD14DCA9BA00161C82 /* as_module.h */,
- 61FD9FBE14DCA9BA00161C82 /* as_objecttype.cpp */,
- 61FD9FBF14DCA9BA00161C82 /* as_objecttype.h */,
- 61FD9FC014DCA9BA00161C82 /* as_outputbuffer.cpp */,
- 61FD9FC114DCA9BA00161C82 /* as_outputbuffer.h */,
- 61FD9FC214DCA9BA00161C82 /* as_parser.cpp */,
- 61FD9FC314DCA9BA00161C82 /* as_parser.h */,
- 61FD9FC414DCA9BA00161C82 /* as_property.h */,
- 61FD9FC514DCA9BA00161C82 /* as_restore.cpp */,
- 61FD9FC614DCA9BA00161C82 /* as_restore.h */,
- 61FD9FC714DCA9BA00161C82 /* as_scriptcode.cpp */,
- 61FD9FC814DCA9BA00161C82 /* as_scriptcode.h */,
- 61FD9FC914DCA9BA00161C82 /* as_scriptengine.cpp */,
- 61FD9FCA14DCA9BA00161C82 /* as_scriptengine.h */,
- 61FD9FCB14DCA9BA00161C82 /* as_scriptfunction.cpp */,
- 61FD9FCC14DCA9BA00161C82 /* as_scriptfunction.h */,
- 61FD9FCD14DCA9BA00161C82 /* as_scriptnode.cpp */,
- 61FD9FCE14DCA9BA00161C82 /* as_scriptnode.h */,
- 61FD9FCF14DCA9BA00161C82 /* as_scriptobject.cpp */,
- 61FD9FD014DCA9BA00161C82 /* as_scriptobject.h */,
- 61FD9FD114DCA9BA00161C82 /* as_string_util.cpp */,
- 61FD9FD214DCA9BA00161C82 /* as_string_util.h */,
- 61FD9FD314DCA9BA00161C82 /* as_string.cpp */,
- 61FD9FD414DCA9BA00161C82 /* as_string.h */,
- 61FD9FD514DCA9BA00161C82 /* as_texts.h */,
- 61FD9FD614DCA9BA00161C82 /* as_thread.cpp */,
- 61FD9FD714DCA9BA00161C82 /* as_thread.h */,
- 61FD9FD814DCA9BA00161C82 /* as_tokendef.h */,
- 61FD9FD914DCA9BA00161C82 /* as_tokenizer.cpp */,
- 61FD9FDA14DCA9BA00161C82 /* as_tokenizer.h */,
- 61FD9FDB14DCA9BA00161C82 /* as_typeinfo.cpp */,
- 61FD9FDC14DCA9BA00161C82 /* as_typeinfo.h */,
- 61FD9FDD14DCA9BA00161C82 /* as_variablescope.cpp */,
- 61FD9FDE14DCA9BA00161C82 /* as_variablescope.h */,
- AA747D9E0F9514B9006C5449 /* angelscript_Prefix.pch */,
- );
- name = "Other Sources";
- sourceTree = "<group>";
- };
-/* End PBXGroup section */
-
-/* Begin PBXHeadersBuildPhase section */
- D2AAC07A0554694100DB518D /* Headers */ = {
- isa = PBXHeadersBuildPhase;
- buildActionMask = 2147483647;
- files = (
- AA747D9F0F9514B9006C5449 /* angelscript_Prefix.pch in Headers */,
- 61FD9FDF14DCA9BA00161C82 /* as_array.h in Headers */,
- 61FD9FE114DCA9BA00161C82 /* as_atomic.h in Headers */,
- 61FD9FE314DCA9BA00161C82 /* as_builder.h in Headers */,
- 61FD9FE514DCA9BA00161C82 /* as_bytecode.h in Headers */,
- 61FD9FF414DCA9BA00161C82 /* as_callfunc.h in Headers */,
- 61FD9FF614DCA9BA00161C82 /* as_compiler.h in Headers */,
- 61FD9FF714DCA9BA00161C82 /* as_config.h in Headers */,
- 61FD9FF914DCA9BA00161C82 /* as_configgroup.h in Headers */,
- 61FD9FFB14DCA9BA00161C82 /* as_context.h in Headers */,
- 61FD9FFC14DCA9BA00161C82 /* as_criticalsection.h in Headers */,
- 61FD9FFE14DCA9BA00161C82 /* as_datatype.h in Headers */,
- 61FD9FFF14DCA9BA00161C82 /* as_debug.h in Headers */,
- 61FDA00114DCA9BA00161C82 /* as_gc.h in Headers */,
- 61FDA00314DCA9BA00161C82 /* as_generic.h in Headers */,
- 61FDA00514DCA9BA00161C82 /* as_map.h in Headers */,
- 61FDA00714DCA9BA00161C82 /* as_memory.h in Headers */,
- 61FDA00914DCA9BA00161C82 /* as_module.h in Headers */,
- 61FDA00B14DCA9BA00161C82 /* as_objecttype.h in Headers */,
- 61FDA00D14DCA9BA00161C82 /* as_outputbuffer.h in Headers */,
- 61FDA00F14DCA9BA00161C82 /* as_parser.h in Headers */,
- 61FDA01014DCA9BA00161C82 /* as_property.h in Headers */,
- 61FDA01214DCA9BA00161C82 /* as_restore.h in Headers */,
- 61FDA01414DCA9BA00161C82 /* as_scriptcode.h in Headers */,
- 61FDA01614DCA9BA00161C82 /* as_scriptengine.h in Headers */,
- 61FDA01814DCA9BA00161C82 /* as_scriptfunction.h in Headers */,
- 61FDA01A14DCA9BA00161C82 /* as_scriptnode.h in Headers */,
- 61FDA01C14DCA9BA00161C82 /* as_scriptobject.h in Headers */,
- 61FDA01E14DCA9BA00161C82 /* as_string_util.h in Headers */,
- 61FDA02014DCA9BA00161C82 /* as_string.h in Headers */,
- 61FDA02114DCA9BA00161C82 /* as_texts.h in Headers */,
- 61FDA02314DCA9BA00161C82 /* as_thread.h in Headers */,
- 61FDA02414DCA9BA00161C82 /* as_tokendef.h in Headers */,
- 61FDA02614DCA9BA00161C82 /* as_tokenizer.h in Headers */,
- 61FDA02814DCA9BA00161C82 /* as_typeinfo.h in Headers */,
- 61FDA02A14DCA9BA00161C82 /* as_variablescope.h in Headers */,
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
-/* End PBXHeadersBuildPhase section */
-
-/* Begin PBXNativeTarget section */
- D2AAC07D0554694100DB518D /* angelscript */ = {
- isa = PBXNativeTarget;
- buildConfigurationList = 1DEB921E08733DC00010E9CD /* Build configuration list for PBXNativeTarget "angelscript" */;
- buildPhases = (
- D2AAC07A0554694100DB518D /* Headers */,
- D2AAC07B0554694100DB518D /* Sources */,
- D2AAC07C0554694100DB518D /* Frameworks */,
- );
- buildRules = (
- );
- dependencies = (
- );
- name = angelscript;
- productName = angelscript;
- productReference = D2AAC07E0554694100DB518D /* libangelscript.a */;
- productType = "com.apple.product-type.library.static";
- };
-/* End PBXNativeTarget section */
-
-/* Begin PBXProject section */
- 0867D690FE84028FC02AAC07 /* Project object */ = {
- isa = PBXProject;
- buildConfigurationList = 1DEB922208733DC00010E9CD /* Build configuration list for PBXProject "angelscript" */;
- compatibilityVersion = "Xcode 3.2";
- developmentRegion = English;
- hasScannedForEncodings = 1;
- knownRegions = (
- English,
- Japanese,
- French,
- German,
- );
- mainGroup = 0867D691FE84028FC02AAC07 /* angelscript */;
- productRefGroup = 034768DFFF38A50411DB9C8B /* Products */;
- projectDirPath = "";
- projectRoot = "";
- targets = (
- D2AAC07D0554694100DB518D /* angelscript */,
- );
- };
-/* End PBXProject section */
-
-/* Begin PBXSourcesBuildPhase section */
- D2AAC07B0554694100DB518D /* Sources */ = {
- isa = PBXSourcesBuildPhase;
- buildActionMask = 2147483647;
- files = (
- 61FD9FE014DCA9BA00161C82 /* as_atomic.cpp in Sources */,
- 61FD9FE214DCA9BA00161C82 /* as_builder.cpp in Sources */,
- 61FD9FE414DCA9BA00161C82 /* as_bytecode.cpp in Sources */,
- 61FD9FE814DCA9BA00161C82 /* as_callfunc_arm_xcode.S in Sources */,
- 61FD9FE914DCA9BA00161C82 /* as_callfunc_arm.cpp in Sources */,
- 61FD9FEA14DCA9BA00161C82 /* as_callfunc_mips.cpp in Sources */,
- 61FD9FEB14DCA9BA00161C82 /* as_callfunc_ppc_64.cpp in Sources */,
- 61FD9FEC14DCA9BA00161C82 /* as_callfunc_ppc.cpp in Sources */,
- 61FD9FED14DCA9BA00161C82 /* as_callfunc_sh4.cpp in Sources */,
- 61FD9FEE14DCA9BA00161C82 /* as_callfunc_x64_gcc.cpp in Sources */,
- 61FD9FF114DCA9BA00161C82 /* as_callfunc_x86.cpp in Sources */,
- 61FD9FF214DCA9BA00161C82 /* as_callfunc_xenon.cpp in Sources */,
- 61FD9FF314DCA9BA00161C82 /* as_callfunc.cpp in Sources */,
- 61FD9FF514DCA9BA00161C82 /* as_compiler.cpp in Sources */,
- 61FD9FF814DCA9BA00161C82 /* as_configgroup.cpp in Sources */,
- 61FD9FFA14DCA9BA00161C82 /* as_context.cpp in Sources */,
- 61FD9FFD14DCA9BA00161C82 /* as_datatype.cpp in Sources */,
- 61FDA00014DCA9BA00161C82 /* as_gc.cpp in Sources */,
- 61FDA00214DCA9BA00161C82 /* as_generic.cpp in Sources */,
- 61FDA00414DCA9BA00161C82 /* as_globalproperty.cpp in Sources */,
- 61FDA00614DCA9BA00161C82 /* as_memory.cpp in Sources */,
- 61FDA00814DCA9BA00161C82 /* as_module.cpp in Sources */,
- 61FDA00A14DCA9BA00161C82 /* as_objecttype.cpp in Sources */,
- 61FDA00C14DCA9BA00161C82 /* as_outputbuffer.cpp in Sources */,
- 61FDA00E14DCA9BA00161C82 /* as_parser.cpp in Sources */,
- 61FDA01114DCA9BA00161C82 /* as_restore.cpp in Sources */,
- 61FDA01314DCA9BA00161C82 /* as_scriptcode.cpp in Sources */,
- 61FDA01514DCA9BA00161C82 /* as_scriptengine.cpp in Sources */,
- 61FDA01714DCA9BA00161C82 /* as_scriptfunction.cpp in Sources */,
- 61FDA01914DCA9BA00161C82 /* as_scriptnode.cpp in Sources */,
- 61FDA01B14DCA9BA00161C82 /* as_scriptobject.cpp in Sources */,
- 61FDA01D14DCA9BA00161C82 /* as_string_util.cpp in Sources */,
- 61FDA01F14DCA9BA00161C82 /* as_string.cpp in Sources */,
- 61FDA02214DCA9BA00161C82 /* as_thread.cpp in Sources */,
- 61FDA02514DCA9BA00161C82 /* as_tokenizer.cpp in Sources */,
- 61FDA02714DCA9BA00161C82 /* as_typeinfo.cpp in Sources */,
- 61FDA02914DCA9BA00161C82 /* as_variablescope.cpp in Sources */,
- );
- runOnlyForDeploymentPostprocessing = 0;
- };
-/* End PBXSourcesBuildPhase section */
-
-/* Begin XCBuildConfiguration section */
- 1DEB921F08733DC00010E9CD /* Debug */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- ALWAYS_SEARCH_USER_PATHS = NO;
- ARCHS = "$(ARCHS_STANDARD_32_BIT)";
- COPY_PHASE_STRIP = NO;
- DSTROOT = /tmp/angelscript.dst;
- GCC_DYNAMIC_NO_PIC = NO;
- GCC_ENABLE_FIX_AND_CONTINUE = YES;
- GCC_MODEL_TUNING = G5;
- GCC_OPTIMIZATION_LEVEL = 0;
- GCC_PRECOMPILE_PREFIX_HEADER = YES;
- GCC_PREFIX_HEADER = angelscript_Prefix.pch;
- INSTALL_PATH = /usr/local/lib;
- PRODUCT_NAME = angelscript;
- };
- name = Debug;
- };
- 1DEB922008733DC00010E9CD /* Release */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- ALWAYS_SEARCH_USER_PATHS = NO;
- ARCHS = "$(ARCHS_STANDARD_32_BIT)";
- DSTROOT = /tmp/angelscript.dst;
- GCC_MODEL_TUNING = G5;
- GCC_PRECOMPILE_PREFIX_HEADER = YES;
- GCC_PREFIX_HEADER = angelscript_Prefix.pch;
- INSTALL_PATH = /usr/local/lib;
- PRODUCT_NAME = angelscript;
- };
- name = Release;
- };
- 1DEB922308733DC00010E9CD /* Debug */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- ARCHS = "$(ARCHS_STANDARD_32_BIT)";
- GCC_C_LANGUAGE_STANDARD = c99;
- GCC_OPTIMIZATION_LEVEL = 0;
- GCC_WARN_ABOUT_RETURN_TYPE = YES;
- GCC_WARN_UNUSED_VARIABLE = YES;
- OTHER_LDFLAGS = "-ObjC";
- PREBINDING = NO;
- SDKROOT = iphoneos;
- };
- name = Debug;
- };
- 1DEB922408733DC00010E9CD /* Release */ = {
- isa = XCBuildConfiguration;
- buildSettings = {
- ARCHS = "$(ARCHS_STANDARD_32_BIT)";
- GCC_C_LANGUAGE_STANDARD = c99;
- GCC_WARN_ABOUT_RETURN_TYPE = YES;
- GCC_WARN_UNUSED_VARIABLE = YES;
- OTHER_LDFLAGS = "-ObjC";
- PREBINDING = NO;
- SDKROOT = iphoneos;
- };
- name = Release;
- };
-/* End XCBuildConfiguration section */
-
-/* Begin XCConfigurationList section */
- 1DEB921E08733DC00010E9CD /* Build configuration list for PBXNativeTarget "angelscript" */ = {
- isa = XCConfigurationList;
- buildConfigurations = (
- 1DEB921F08733DC00010E9CD /* Debug */,
- 1DEB922008733DC00010E9CD /* Release */,
- );
- defaultConfigurationIsVisible = 0;
- defaultConfigurationName = Release;
- };
- 1DEB922208733DC00010E9CD /* Build configuration list for PBXProject "angelscript" */ = {
- isa = XCConfigurationList;
- buildConfigurations = (
- 1DEB922308733DC00010E9CD /* Debug */,
- 1DEB922408733DC00010E9CD /* Release */,
- );
- defaultConfigurationIsVisible = 0;
- defaultConfigurationName = Release;
- };
-/* End XCConfigurationList section */
- };
- rootObject = 0867D690FE84028FC02AAC07 /* Project object */;
-}
+// !$*UTF8*$!
+{
+ archiveVersion = 1;
+ classes = {
+ };
+ objectVersion = 46;
+ objects = {
+
+/* Begin PBXBuildFile section */
+ 61FD9FDF14DCA9BA00161C82 /* as_array.h in Headers */ = {isa = PBXBuildFile; fileRef = 61FD9F9314DCA9BA00161C82 /* as_array.h */; };
+ 61FD9FE014DCA9BA00161C82 /* as_atomic.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 61FD9F9414DCA9BA00161C82 /* as_atomic.cpp */; };
+ 61FD9FE114DCA9BA00161C82 /* as_atomic.h in Headers */ = {isa = PBXBuildFile; fileRef = 61FD9F9514DCA9BA00161C82 /* as_atomic.h */; };
+ 61FD9FE214DCA9BA00161C82 /* as_builder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 61FD9F9614DCA9BA00161C82 /* as_builder.cpp */; };
+ 61FD9FE314DCA9BA00161C82 /* as_builder.h in Headers */ = {isa = PBXBuildFile; fileRef = 61FD9F9714DCA9BA00161C82 /* as_builder.h */; };
+ 61FD9FE414DCA9BA00161C82 /* as_bytecode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 61FD9F9814DCA9BA00161C82 /* as_bytecode.cpp */; };
+ 61FD9FE514DCA9BA00161C82 /* as_bytecode.h in Headers */ = {isa = PBXBuildFile; fileRef = 61FD9F9914DCA9BA00161C82 /* as_bytecode.h */; };
+ 61FD9FE814DCA9BA00161C82 /* as_callfunc_arm_xcode.S in Sources */ = {isa = PBXBuildFile; fileRef = 61FD9F9C14DCA9BA00161C82 /* as_callfunc_arm_xcode.S */; };
+ 61FD9FE914DCA9BA00161C82 /* as_callfunc_arm.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 61FD9F9D14DCA9BA00161C82 /* as_callfunc_arm.cpp */; };
+ 61FD9FEA14DCA9BA00161C82 /* as_callfunc_mips.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 61FD9F9E14DCA9BA00161C82 /* as_callfunc_mips.cpp */; };
+ 61FD9FEB14DCA9BA00161C82 /* as_callfunc_ppc_64.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 61FD9F9F14DCA9BA00161C82 /* as_callfunc_ppc_64.cpp */; };
+ 61FD9FEC14DCA9BA00161C82 /* as_callfunc_ppc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 61FD9FA014DCA9BA00161C82 /* as_callfunc_ppc.cpp */; };
+ 61FD9FED14DCA9BA00161C82 /* as_callfunc_sh4.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 61FD9FA114DCA9BA00161C82 /* as_callfunc_sh4.cpp */; };
+ 61FD9FEE14DCA9BA00161C82 /* as_callfunc_x64_gcc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 61FD9FA214DCA9BA00161C82 /* as_callfunc_x64_gcc.cpp */; };
+ 61FD9FF114DCA9BA00161C82 /* as_callfunc_x86.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 61FD9FA514DCA9BA00161C82 /* as_callfunc_x86.cpp */; };
+ 61FD9FF214DCA9BA00161C82 /* as_callfunc_xenon.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 61FD9FA614DCA9BA00161C82 /* as_callfunc_xenon.cpp */; };
+ 61FD9FF314DCA9BA00161C82 /* as_callfunc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 61FD9FA714DCA9BA00161C82 /* as_callfunc.cpp */; };
+ 61FD9FF414DCA9BA00161C82 /* as_callfunc.h in Headers */ = {isa = PBXBuildFile; fileRef = 61FD9FA814DCA9BA00161C82 /* as_callfunc.h */; };
+ 61FD9FF514DCA9BA00161C82 /* as_compiler.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 61FD9FA914DCA9BA00161C82 /* as_compiler.cpp */; };
+ 61FD9FF614DCA9BA00161C82 /* as_compiler.h in Headers */ = {isa = PBXBuildFile; fileRef = 61FD9FAA14DCA9BA00161C82 /* as_compiler.h */; };
+ 61FD9FF714DCA9BA00161C82 /* as_config.h in Headers */ = {isa = PBXBuildFile; fileRef = 61FD9FAB14DCA9BA00161C82 /* as_config.h */; };
+ 61FD9FF814DCA9BA00161C82 /* as_configgroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 61FD9FAC14DCA9BA00161C82 /* as_configgroup.cpp */; };
+ 61FD9FF914DCA9BA00161C82 /* as_configgroup.h in Headers */ = {isa = PBXBuildFile; fileRef = 61FD9FAD14DCA9BA00161C82 /* as_configgroup.h */; };
+ 61FD9FFA14DCA9BA00161C82 /* as_context.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 61FD9FAE14DCA9BA00161C82 /* as_context.cpp */; };
+ 61FD9FFB14DCA9BA00161C82 /* as_context.h in Headers */ = {isa = PBXBuildFile; fileRef = 61FD9FAF14DCA9BA00161C82 /* as_context.h */; };
+ 61FD9FFC14DCA9BA00161C82 /* as_criticalsection.h in Headers */ = {isa = PBXBuildFile; fileRef = 61FD9FB014DCA9BA00161C82 /* as_criticalsection.h */; };
+ 61FD9FFD14DCA9BA00161C82 /* as_datatype.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 61FD9FB114DCA9BA00161C82 /* as_datatype.cpp */; };
+ 61FD9FFE14DCA9BA00161C82 /* as_datatype.h in Headers */ = {isa = PBXBuildFile; fileRef = 61FD9FB214DCA9BA00161C82 /* as_datatype.h */; };
+ 61FD9FFF14DCA9BA00161C82 /* as_debug.h in Headers */ = {isa = PBXBuildFile; fileRef = 61FD9FB314DCA9BA00161C82 /* as_debug.h */; };
+ 61FDA00014DCA9BA00161C82 /* as_gc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 61FD9FB414DCA9BA00161C82 /* as_gc.cpp */; };
+ 61FDA00114DCA9BA00161C82 /* as_gc.h in Headers */ = {isa = PBXBuildFile; fileRef = 61FD9FB514DCA9BA00161C82 /* as_gc.h */; };
+ 61FDA00214DCA9BA00161C82 /* as_generic.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 61FD9FB614DCA9BA00161C82 /* as_generic.cpp */; };
+ 61FDA00314DCA9BA00161C82 /* as_generic.h in Headers */ = {isa = PBXBuildFile; fileRef = 61FD9FB714DCA9BA00161C82 /* as_generic.h */; };
+ 61FDA00414DCA9BA00161C82 /* as_globalproperty.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 61FD9FB814DCA9BA00161C82 /* as_globalproperty.cpp */; };
+ 61FDA00514DCA9BA00161C82 /* as_map.h in Headers */ = {isa = PBXBuildFile; fileRef = 61FD9FB914DCA9BA00161C82 /* as_map.h */; };
+ 61FDA00614DCA9BA00161C82 /* as_memory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 61FD9FBA14DCA9BA00161C82 /* as_memory.cpp */; };
+ 61FDA00714DCA9BA00161C82 /* as_memory.h in Headers */ = {isa = PBXBuildFile; fileRef = 61FD9FBB14DCA9BA00161C82 /* as_memory.h */; };
+ 61FDA00814DCA9BA00161C82 /* as_module.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 61FD9FBC14DCA9BA00161C82 /* as_module.cpp */; };
+ 61FDA00914DCA9BA00161C82 /* as_module.h in Headers */ = {isa = PBXBuildFile; fileRef = 61FD9FBD14DCA9BA00161C82 /* as_module.h */; };
+ 61FDA00A14DCA9BA00161C82 /* as_objecttype.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 61FD9FBE14DCA9BA00161C82 /* as_objecttype.cpp */; };
+ 61FDA00B14DCA9BA00161C82 /* as_objecttype.h in Headers */ = {isa = PBXBuildFile; fileRef = 61FD9FBF14DCA9BA00161C82 /* as_objecttype.h */; };
+ 61FDA00C14DCA9BA00161C82 /* as_outputbuffer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 61FD9FC014DCA9BA00161C82 /* as_outputbuffer.cpp */; };
+ 61FDA00D14DCA9BA00161C82 /* as_outputbuffer.h in Headers */ = {isa = PBXBuildFile; fileRef = 61FD9FC114DCA9BA00161C82 /* as_outputbuffer.h */; };
+ 61FDA00E14DCA9BA00161C82 /* as_parser.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 61FD9FC214DCA9BA00161C82 /* as_parser.cpp */; };
+ 61FDA00F14DCA9BA00161C82 /* as_parser.h in Headers */ = {isa = PBXBuildFile; fileRef = 61FD9FC314DCA9BA00161C82 /* as_parser.h */; };
+ 61FDA01014DCA9BA00161C82 /* as_property.h in Headers */ = {isa = PBXBuildFile; fileRef = 61FD9FC414DCA9BA00161C82 /* as_property.h */; };
+ 61FDA01114DCA9BA00161C82 /* as_restore.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 61FD9FC514DCA9BA00161C82 /* as_restore.cpp */; };
+ 61FDA01214DCA9BA00161C82 /* as_restore.h in Headers */ = {isa = PBXBuildFile; fileRef = 61FD9FC614DCA9BA00161C82 /* as_restore.h */; };
+ 61FDA01314DCA9BA00161C82 /* as_scriptcode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 61FD9FC714DCA9BA00161C82 /* as_scriptcode.cpp */; };
+ 61FDA01414DCA9BA00161C82 /* as_scriptcode.h in Headers */ = {isa = PBXBuildFile; fileRef = 61FD9FC814DCA9BA00161C82 /* as_scriptcode.h */; };
+ 61FDA01514DCA9BA00161C82 /* as_scriptengine.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 61FD9FC914DCA9BA00161C82 /* as_scriptengine.cpp */; };
+ 61FDA01614DCA9BA00161C82 /* as_scriptengine.h in Headers */ = {isa = PBXBuildFile; fileRef = 61FD9FCA14DCA9BA00161C82 /* as_scriptengine.h */; };
+ 61FDA01714DCA9BA00161C82 /* as_scriptfunction.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 61FD9FCB14DCA9BA00161C82 /* as_scriptfunction.cpp */; };
+ 61FDA01814DCA9BA00161C82 /* as_scriptfunction.h in Headers */ = {isa = PBXBuildFile; fileRef = 61FD9FCC14DCA9BA00161C82 /* as_scriptfunction.h */; };
+ 61FDA01914DCA9BA00161C82 /* as_scriptnode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 61FD9FCD14DCA9BA00161C82 /* as_scriptnode.cpp */; };
+ 61FDA01A14DCA9BA00161C82 /* as_scriptnode.h in Headers */ = {isa = PBXBuildFile; fileRef = 61FD9FCE14DCA9BA00161C82 /* as_scriptnode.h */; };
+ 61FDA01B14DCA9BA00161C82 /* as_scriptobject.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 61FD9FCF14DCA9BA00161C82 /* as_scriptobject.cpp */; };
+ 61FDA01C14DCA9BA00161C82 /* as_scriptobject.h in Headers */ = {isa = PBXBuildFile; fileRef = 61FD9FD014DCA9BA00161C82 /* as_scriptobject.h */; };
+ 61FDA01D14DCA9BA00161C82 /* as_string_util.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 61FD9FD114DCA9BA00161C82 /* as_string_util.cpp */; };
+ 61FDA01E14DCA9BA00161C82 /* as_string_util.h in Headers */ = {isa = PBXBuildFile; fileRef = 61FD9FD214DCA9BA00161C82 /* as_string_util.h */; };
+ 61FDA01F14DCA9BA00161C82 /* as_string.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 61FD9FD314DCA9BA00161C82 /* as_string.cpp */; };
+ 61FDA02014DCA9BA00161C82 /* as_string.h in Headers */ = {isa = PBXBuildFile; fileRef = 61FD9FD414DCA9BA00161C82 /* as_string.h */; };
+ 61FDA02114DCA9BA00161C82 /* as_texts.h in Headers */ = {isa = PBXBuildFile; fileRef = 61FD9FD514DCA9BA00161C82 /* as_texts.h */; };
+ 61FDA02214DCA9BA00161C82 /* as_thread.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 61FD9FD614DCA9BA00161C82 /* as_thread.cpp */; };
+ 61FDA02314DCA9BA00161C82 /* as_thread.h in Headers */ = {isa = PBXBuildFile; fileRef = 61FD9FD714DCA9BA00161C82 /* as_thread.h */; };
+ 61FDA02414DCA9BA00161C82 /* as_tokendef.h in Headers */ = {isa = PBXBuildFile; fileRef = 61FD9FD814DCA9BA00161C82 /* as_tokendef.h */; };
+ 61FDA02514DCA9BA00161C82 /* as_tokenizer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 61FD9FD914DCA9BA00161C82 /* as_tokenizer.cpp */; };
+ 61FDA02614DCA9BA00161C82 /* as_tokenizer.h in Headers */ = {isa = PBXBuildFile; fileRef = 61FD9FDA14DCA9BA00161C82 /* as_tokenizer.h */; };
+ 61FDA02714DCA9BA00161C82 /* as_typeinfo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 61FD9FDB14DCA9BA00161C82 /* as_typeinfo.cpp */; };
+ 61FDA02814DCA9BA00161C82 /* as_typeinfo.h in Headers */ = {isa = PBXBuildFile; fileRef = 61FD9FDC14DCA9BA00161C82 /* as_typeinfo.h */; };
+ 61FDA02914DCA9BA00161C82 /* as_variablescope.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 61FD9FDD14DCA9BA00161C82 /* as_variablescope.cpp */; };
+ 61FDA02A14DCA9BA00161C82 /* as_variablescope.h in Headers */ = {isa = PBXBuildFile; fileRef = 61FD9FDE14DCA9BA00161C82 /* as_variablescope.h */; };
+ 9D251DC6159F3348001CE46F /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 9D251DC4159F3348001CE46F /* InfoPlist.strings */; };
+ 9D251DCF159F33D1001CE46F /* as_array.h in Headers */ = {isa = PBXBuildFile; fileRef = 61FD9F9314DCA9BA00161C82 /* as_array.h */; };
+ 9D251DD0159F33D1001CE46F /* as_atomic.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 61FD9F9414DCA9BA00161C82 /* as_atomic.cpp */; };
+ 9D251DD1159F33D1001CE46F /* as_atomic.h in Headers */ = {isa = PBXBuildFile; fileRef = 61FD9F9514DCA9BA00161C82 /* as_atomic.h */; };
+ 9D251DD2159F33D1001CE46F /* as_builder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 61FD9F9614DCA9BA00161C82 /* as_builder.cpp */; };
+ 9D251DD3159F33D1001CE46F /* as_builder.h in Headers */ = {isa = PBXBuildFile; fileRef = 61FD9F9714DCA9BA00161C82 /* as_builder.h */; };
+ 9D251DD4159F33D1001CE46F /* as_bytecode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 61FD9F9814DCA9BA00161C82 /* as_bytecode.cpp */; };
+ 9D251DD5159F33D1001CE46F /* as_bytecode.h in Headers */ = {isa = PBXBuildFile; fileRef = 61FD9F9914DCA9BA00161C82 /* as_bytecode.h */; };
+ 9D251DD6159F33D1001CE46F /* as_callfunc_arm_xcode.S in Sources */ = {isa = PBXBuildFile; fileRef = 61FD9F9C14DCA9BA00161C82 /* as_callfunc_arm_xcode.S */; };
+ 9D251DD7159F33D1001CE46F /* as_callfunc_arm.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 61FD9F9D14DCA9BA00161C82 /* as_callfunc_arm.cpp */; };
+ 9D251DD8159F33D1001CE46F /* as_callfunc_mips.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 61FD9F9E14DCA9BA00161C82 /* as_callfunc_mips.cpp */; };
+ 9D251DD9159F33D1001CE46F /* as_callfunc_ppc_64.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 61FD9F9F14DCA9BA00161C82 /* as_callfunc_ppc_64.cpp */; };
+ 9D251DDA159F33D1001CE46F /* as_callfunc_ppc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 61FD9FA014DCA9BA00161C82 /* as_callfunc_ppc.cpp */; };
+ 9D251DDB159F33D1001CE46F /* as_callfunc_sh4.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 61FD9FA114DCA9BA00161C82 /* as_callfunc_sh4.cpp */; };
+ 9D251DDC159F33D1001CE46F /* as_callfunc_x64_gcc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 61FD9FA214DCA9BA00161C82 /* as_callfunc_x64_gcc.cpp */; };
+ 9D251DDD159F33D1001CE46F /* as_callfunc_x86.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 61FD9FA514DCA9BA00161C82 /* as_callfunc_x86.cpp */; };
+ 9D251DDE159F33D1001CE46F /* as_callfunc_xenon.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 61FD9FA614DCA9BA00161C82 /* as_callfunc_xenon.cpp */; };
+ 9D251DDF159F33D1001CE46F /* as_callfunc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 61FD9FA714DCA9BA00161C82 /* as_callfunc.cpp */; };
+ 9D251DE0159F33D1001CE46F /* as_callfunc.h in Headers */ = {isa = PBXBuildFile; fileRef = 61FD9FA814DCA9BA00161C82 /* as_callfunc.h */; };
+ 9D251DE1159F33D1001CE46F /* as_compiler.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 61FD9FA914DCA9BA00161C82 /* as_compiler.cpp */; };
+ 9D251DE2159F33D1001CE46F /* as_compiler.h in Headers */ = {isa = PBXBuildFile; fileRef = 61FD9FAA14DCA9BA00161C82 /* as_compiler.h */; };
+ 9D251DE3159F33D1001CE46F /* as_config.h in Headers */ = {isa = PBXBuildFile; fileRef = 61FD9FAB14DCA9BA00161C82 /* as_config.h */; };
+ 9D251DE4159F33D1001CE46F /* as_configgroup.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 61FD9FAC14DCA9BA00161C82 /* as_configgroup.cpp */; };
+ 9D251DE5159F33D1001CE46F /* as_configgroup.h in Headers */ = {isa = PBXBuildFile; fileRef = 61FD9FAD14DCA9BA00161C82 /* as_configgroup.h */; };
+ 9D251DE6159F33D1001CE46F /* as_context.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 61FD9FAE14DCA9BA00161C82 /* as_context.cpp */; };
+ 9D251DE7159F33D1001CE46F /* as_context.h in Headers */ = {isa = PBXBuildFile; fileRef = 61FD9FAF14DCA9BA00161C82 /* as_context.h */; };
+ 9D251DE8159F33D1001CE46F /* as_criticalsection.h in Headers */ = {isa = PBXBuildFile; fileRef = 61FD9FB014DCA9BA00161C82 /* as_criticalsection.h */; };
+ 9D251DE9159F33D1001CE46F /* as_datatype.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 61FD9FB114DCA9BA00161C82 /* as_datatype.cpp */; };
+ 9D251DEA159F33D1001CE46F /* as_datatype.h in Headers */ = {isa = PBXBuildFile; fileRef = 61FD9FB214DCA9BA00161C82 /* as_datatype.h */; };
+ 9D251DEB159F33D1001CE46F /* as_debug.h in Headers */ = {isa = PBXBuildFile; fileRef = 61FD9FB314DCA9BA00161C82 /* as_debug.h */; };
+ 9D251DEC159F33D1001CE46F /* as_gc.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 61FD9FB414DCA9BA00161C82 /* as_gc.cpp */; };
+ 9D251DED159F33D1001CE46F /* as_gc.h in Headers */ = {isa = PBXBuildFile; fileRef = 61FD9FB514DCA9BA00161C82 /* as_gc.h */; };
+ 9D251DEE159F33D1001CE46F /* as_generic.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 61FD9FB614DCA9BA00161C82 /* as_generic.cpp */; };
+ 9D251DEF159F33D1001CE46F /* as_generic.h in Headers */ = {isa = PBXBuildFile; fileRef = 61FD9FB714DCA9BA00161C82 /* as_generic.h */; };
+ 9D251DF0159F33D1001CE46F /* as_globalproperty.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 61FD9FB814DCA9BA00161C82 /* as_globalproperty.cpp */; };
+ 9D251DF1159F33D1001CE46F /* as_map.h in Headers */ = {isa = PBXBuildFile; fileRef = 61FD9FB914DCA9BA00161C82 /* as_map.h */; };
+ 9D251DF2159F33D1001CE46F /* as_memory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 61FD9FBA14DCA9BA00161C82 /* as_memory.cpp */; };
+ 9D251DF3159F33D1001CE46F /* as_memory.h in Headers */ = {isa = PBXBuildFile; fileRef = 61FD9FBB14DCA9BA00161C82 /* as_memory.h */; };
+ 9D251DF4159F33D1001CE46F /* as_module.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 61FD9FBC14DCA9BA00161C82 /* as_module.cpp */; };
+ 9D251DF5159F33D1001CE46F /* as_module.h in Headers */ = {isa = PBXBuildFile; fileRef = 61FD9FBD14DCA9BA00161C82 /* as_module.h */; };
+ 9D251DF6159F33D1001CE46F /* as_objecttype.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 61FD9FBE14DCA9BA00161C82 /* as_objecttype.cpp */; };
+ 9D251DF7159F33D1001CE46F /* as_objecttype.h in Headers */ = {isa = PBXBuildFile; fileRef = 61FD9FBF14DCA9BA00161C82 /* as_objecttype.h */; };
+ 9D251DF8159F33D1001CE46F /* as_outputbuffer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 61FD9FC014DCA9BA00161C82 /* as_outputbuffer.cpp */; };
+ 9D251DF9159F33D1001CE46F /* as_outputbuffer.h in Headers */ = {isa = PBXBuildFile; fileRef = 61FD9FC114DCA9BA00161C82 /* as_outputbuffer.h */; };
+ 9D251DFA159F33D1001CE46F /* as_parser.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 61FD9FC214DCA9BA00161C82 /* as_parser.cpp */; };
+ 9D251DFB159F33D1001CE46F /* as_parser.h in Headers */ = {isa = PBXBuildFile; fileRef = 61FD9FC314DCA9BA00161C82 /* as_parser.h */; };
+ 9D251DFC159F33D1001CE46F /* as_property.h in Headers */ = {isa = PBXBuildFile; fileRef = 61FD9FC414DCA9BA00161C82 /* as_property.h */; };
+ 9D251DFD159F33D1001CE46F /* as_restore.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 61FD9FC514DCA9BA00161C82 /* as_restore.cpp */; };
+ 9D251DFE159F33D1001CE46F /* as_restore.h in Headers */ = {isa = PBXBuildFile; fileRef = 61FD9FC614DCA9BA00161C82 /* as_restore.h */; };
+ 9D251DFF159F33D1001CE46F /* as_scriptcode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 61FD9FC714DCA9BA00161C82 /* as_scriptcode.cpp */; };
+ 9D251E00159F33D1001CE46F /* as_scriptcode.h in Headers */ = {isa = PBXBuildFile; fileRef = 61FD9FC814DCA9BA00161C82 /* as_scriptcode.h */; };
+ 9D251E01159F33D1001CE46F /* as_scriptengine.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 61FD9FC914DCA9BA00161C82 /* as_scriptengine.cpp */; };
+ 9D251E02159F33D1001CE46F /* as_scriptengine.h in Headers */ = {isa = PBXBuildFile; fileRef = 61FD9FCA14DCA9BA00161C82 /* as_scriptengine.h */; };
+ 9D251E03159F33D1001CE46F /* as_scriptfunction.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 61FD9FCB14DCA9BA00161C82 /* as_scriptfunction.cpp */; };
+ 9D251E04159F33D1001CE46F /* as_scriptfunction.h in Headers */ = {isa = PBXBuildFile; fileRef = 61FD9FCC14DCA9BA00161C82 /* as_scriptfunction.h */; };
+ 9D251E05159F33D1001CE46F /* as_scriptnode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 61FD9FCD14DCA9BA00161C82 /* as_scriptnode.cpp */; };
+ 9D251E06159F33D1001CE46F /* as_scriptnode.h in Headers */ = {isa = PBXBuildFile; fileRef = 61FD9FCE14DCA9BA00161C82 /* as_scriptnode.h */; };
+ 9D251E07159F33D1001CE46F /* as_scriptobject.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 61FD9FCF14DCA9BA00161C82 /* as_scriptobject.cpp */; };
+ 9D251E08159F33D1001CE46F /* as_scriptobject.h in Headers */ = {isa = PBXBuildFile; fileRef = 61FD9FD014DCA9BA00161C82 /* as_scriptobject.h */; };
+ 9D251E09159F33D1001CE46F /* as_string_util.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 61FD9FD114DCA9BA00161C82 /* as_string_util.cpp */; };
+ 9D251E0A159F33D1001CE46F /* as_string_util.h in Headers */ = {isa = PBXBuildFile; fileRef = 61FD9FD214DCA9BA00161C82 /* as_string_util.h */; };
+ 9D251E0B159F33D1001CE46F /* as_string.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 61FD9FD314DCA9BA00161C82 /* as_string.cpp */; };
+ 9D251E0C159F33D1001CE46F /* as_string.h in Headers */ = {isa = PBXBuildFile; fileRef = 61FD9FD414DCA9BA00161C82 /* as_string.h */; };
+ 9D251E0D159F33D1001CE46F /* as_texts.h in Headers */ = {isa = PBXBuildFile; fileRef = 61FD9FD514DCA9BA00161C82 /* as_texts.h */; };
+ 9D251E0E159F33D1001CE46F /* as_thread.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 61FD9FD614DCA9BA00161C82 /* as_thread.cpp */; };
+ 9D251E0F159F33D1001CE46F /* as_thread.h in Headers */ = {isa = PBXBuildFile; fileRef = 61FD9FD714DCA9BA00161C82 /* as_thread.h */; };
+ 9D251E10159F33D1001CE46F /* as_tokendef.h in Headers */ = {isa = PBXBuildFile; fileRef = 61FD9FD814DCA9BA00161C82 /* as_tokendef.h */; };
+ 9D251E11159F33D1001CE46F /* as_tokenizer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 61FD9FD914DCA9BA00161C82 /* as_tokenizer.cpp */; };
+ 9D251E12159F33D1001CE46F /* as_tokenizer.h in Headers */ = {isa = PBXBuildFile; fileRef = 61FD9FDA14DCA9BA00161C82 /* as_tokenizer.h */; };
+ 9D251E13159F33D1001CE46F /* as_typeinfo.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 61FD9FDB14DCA9BA00161C82 /* as_typeinfo.cpp */; };
+ 9D251E14159F33D1001CE46F /* as_typeinfo.h in Headers */ = {isa = PBXBuildFile; fileRef = 61FD9FDC14DCA9BA00161C82 /* as_typeinfo.h */; };
+ 9D251E15159F33D1001CE46F /* as_variablescope.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 61FD9FDD14DCA9BA00161C82 /* as_variablescope.cpp */; };
+ 9D251E16159F33D1001CE46F /* as_variablescope.h in Headers */ = {isa = PBXBuildFile; fileRef = 61FD9FDE14DCA9BA00161C82 /* as_variablescope.h */; };
+ 9D251E17159F33D1001CE46F /* angelscript_Prefix.pch in Headers */ = {isa = PBXBuildFile; fileRef = AA747D9E0F9514B9006C5449 /* angelscript_Prefix.pch */; };
+ 9D251E19159F341F001CE46F /* angelscript.h in Headers */ = {isa = PBXBuildFile; fileRef = 9D251E18159F341F001CE46F /* angelscript.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 9D251E1A159F3472001CE46F /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AACBBE490F95108600F1A2B1 /* Foundation.framework */; };
+ AA747D9F0F9514B9006C5449 /* angelscript_Prefix.pch in Headers */ = {isa = PBXBuildFile; fileRef = AA747D9E0F9514B9006C5449 /* angelscript_Prefix.pch */; };
+ AACBBE4A0F95108600F1A2B1 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AACBBE490F95108600F1A2B1 /* Foundation.framework */; };
+/* End PBXBuildFile section */
+
+/* Begin PBXFileReference section */
+ 61FD9F9314DCA9BA00161C82 /* as_array.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = as_array.h; path = ../../source/as_array.h; sourceTree = SOURCE_ROOT; };
+ 61FD9F9414DCA9BA00161C82 /* as_atomic.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = as_atomic.cpp; path = ../../source/as_atomic.cpp; sourceTree = SOURCE_ROOT; };
+ 61FD9F9514DCA9BA00161C82 /* as_atomic.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = as_atomic.h; path = ../../source/as_atomic.h; sourceTree = SOURCE_ROOT; };
+ 61FD9F9614DCA9BA00161C82 /* as_builder.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = as_builder.cpp; path = ../../source/as_builder.cpp; sourceTree = SOURCE_ROOT; };
+ 61FD9F9714DCA9BA00161C82 /* as_builder.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = as_builder.h; path = ../../source/as_builder.h; sourceTree = SOURCE_ROOT; };
+ 61FD9F9814DCA9BA00161C82 /* as_bytecode.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = as_bytecode.cpp; path = ../../source/as_bytecode.cpp; sourceTree = SOURCE_ROOT; };
+ 61FD9F9914DCA9BA00161C82 /* as_bytecode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = as_bytecode.h; path = ../../source/as_bytecode.h; sourceTree = SOURCE_ROOT; };
+ 61FD9F9C14DCA9BA00161C82 /* as_callfunc_arm_xcode.S */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.asm; name = as_callfunc_arm_xcode.S; path = ../../source/as_callfunc_arm_xcode.S; sourceTree = SOURCE_ROOT; };
+ 61FD9F9D14DCA9BA00161C82 /* as_callfunc_arm.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = as_callfunc_arm.cpp; path = ../../source/as_callfunc_arm.cpp; sourceTree = SOURCE_ROOT; };
+ 61FD9F9E14DCA9BA00161C82 /* as_callfunc_mips.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = as_callfunc_mips.cpp; path = ../../source/as_callfunc_mips.cpp; sourceTree = SOURCE_ROOT; };
+ 61FD9F9F14DCA9BA00161C82 /* as_callfunc_ppc_64.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = as_callfunc_ppc_64.cpp; path = ../../source/as_callfunc_ppc_64.cpp; sourceTree = SOURCE_ROOT; };
+ 61FD9FA014DCA9BA00161C82 /* as_callfunc_ppc.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = as_callfunc_ppc.cpp; path = ../../source/as_callfunc_ppc.cpp; sourceTree = SOURCE_ROOT; };
+ 61FD9FA114DCA9BA00161C82 /* as_callfunc_sh4.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = as_callfunc_sh4.cpp; path = ../../source/as_callfunc_sh4.cpp; sourceTree = SOURCE_ROOT; };
+ 61FD9FA214DCA9BA00161C82 /* as_callfunc_x64_gcc.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = as_callfunc_x64_gcc.cpp; path = ../../source/as_callfunc_x64_gcc.cpp; sourceTree = SOURCE_ROOT; };
+ 61FD9FA514DCA9BA00161C82 /* as_callfunc_x86.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = as_callfunc_x86.cpp; path = ../../source/as_callfunc_x86.cpp; sourceTree = SOURCE_ROOT; };
+ 61FD9FA614DCA9BA00161C82 /* as_callfunc_xenon.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = as_callfunc_xenon.cpp; path = ../../source/as_callfunc_xenon.cpp; sourceTree = SOURCE_ROOT; };
+ 61FD9FA714DCA9BA00161C82 /* as_callfunc.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = as_callfunc.cpp; path = ../../source/as_callfunc.cpp; sourceTree = SOURCE_ROOT; };
+ 61FD9FA814DCA9BA00161C82 /* as_callfunc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = as_callfunc.h; path = ../../source/as_callfunc.h; sourceTree = SOURCE_ROOT; };
+ 61FD9FA914DCA9BA00161C82 /* as_compiler.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = as_compiler.cpp; path = ../../source/as_compiler.cpp; sourceTree = SOURCE_ROOT; };
+ 61FD9FAA14DCA9BA00161C82 /* as_compiler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = as_compiler.h; path = ../../source/as_compiler.h; sourceTree = SOURCE_ROOT; };
+ 61FD9FAB14DCA9BA00161C82 /* as_config.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = as_config.h; path = ../../source/as_config.h; sourceTree = SOURCE_ROOT; };
+ 61FD9FAC14DCA9BA00161C82 /* as_configgroup.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = as_configgroup.cpp; path = ../../source/as_configgroup.cpp; sourceTree = SOURCE_ROOT; };
+ 61FD9FAD14DCA9BA00161C82 /* as_configgroup.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = as_configgroup.h; path = ../../source/as_configgroup.h; sourceTree = SOURCE_ROOT; };
+ 61FD9FAE14DCA9BA00161C82 /* as_context.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = as_context.cpp; path = ../../source/as_context.cpp; sourceTree = SOURCE_ROOT; };
+ 61FD9FAF14DCA9BA00161C82 /* as_context.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = as_context.h; path = ../../source/as_context.h; sourceTree = SOURCE_ROOT; };
+ 61FD9FB014DCA9BA00161C82 /* as_criticalsection.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = as_criticalsection.h; path = ../../source/as_criticalsection.h; sourceTree = SOURCE_ROOT; };
+ 61FD9FB114DCA9BA00161C82 /* as_datatype.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = as_datatype.cpp; path = ../../source/as_datatype.cpp; sourceTree = SOURCE_ROOT; };
+ 61FD9FB214DCA9BA00161C82 /* as_datatype.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = as_datatype.h; path = ../../source/as_datatype.h; sourceTree = SOURCE_ROOT; };
+ 61FD9FB314DCA9BA00161C82 /* as_debug.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = as_debug.h; path = ../../source/as_debug.h; sourceTree = SOURCE_ROOT; };
+ 61FD9FB414DCA9BA00161C82 /* as_gc.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = as_gc.cpp; path = ../../source/as_gc.cpp; sourceTree = SOURCE_ROOT; };
+ 61FD9FB514DCA9BA00161C82 /* as_gc.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = as_gc.h; path = ../../source/as_gc.h; sourceTree = SOURCE_ROOT; };
+ 61FD9FB614DCA9BA00161C82 /* as_generic.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = as_generic.cpp; path = ../../source/as_generic.cpp; sourceTree = SOURCE_ROOT; };
+ 61FD9FB714DCA9BA00161C82 /* as_generic.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = as_generic.h; path = ../../source/as_generic.h; sourceTree = SOURCE_ROOT; };
+ 61FD9FB814DCA9BA00161C82 /* as_globalproperty.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = as_globalproperty.cpp; path = ../../source/as_globalproperty.cpp; sourceTree = SOURCE_ROOT; };
+ 61FD9FB914DCA9BA00161C82 /* as_map.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = as_map.h; path = ../../source/as_map.h; sourceTree = SOURCE_ROOT; };
+ 61FD9FBA14DCA9BA00161C82 /* as_memory.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = as_memory.cpp; path = ../../source/as_memory.cpp; sourceTree = SOURCE_ROOT; };
+ 61FD9FBB14DCA9BA00161C82 /* as_memory.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = as_memory.h; path = ../../source/as_memory.h; sourceTree = SOURCE_ROOT; };
+ 61FD9FBC14DCA9BA00161C82 /* as_module.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = as_module.cpp; path = ../../source/as_module.cpp; sourceTree = SOURCE_ROOT; };
+ 61FD9FBD14DCA9BA00161C82 /* as_module.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = as_module.h; path = ../../source/as_module.h; sourceTree = SOURCE_ROOT; };
+ 61FD9FBE14DCA9BA00161C82 /* as_objecttype.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = as_objecttype.cpp; path = ../../source/as_objecttype.cpp; sourceTree = SOURCE_ROOT; };
+ 61FD9FBF14DCA9BA00161C82 /* as_objecttype.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = as_objecttype.h; path = ../../source/as_objecttype.h; sourceTree = SOURCE_ROOT; };
+ 61FD9FC014DCA9BA00161C82 /* as_outputbuffer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = as_outputbuffer.cpp; path = ../../source/as_outputbuffer.cpp; sourceTree = SOURCE_ROOT; };
+ 61FD9FC114DCA9BA00161C82 /* as_outputbuffer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = as_outputbuffer.h; path = ../../source/as_outputbuffer.h; sourceTree = SOURCE_ROOT; };
+ 61FD9FC214DCA9BA00161C82 /* as_parser.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = as_parser.cpp; path = ../../source/as_parser.cpp; sourceTree = SOURCE_ROOT; };
+ 61FD9FC314DCA9BA00161C82 /* as_parser.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = as_parser.h; path = ../../source/as_parser.h; sourceTree = SOURCE_ROOT; };
+ 61FD9FC414DCA9BA00161C82 /* as_property.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = as_property.h; path = ../../source/as_property.h; sourceTree = SOURCE_ROOT; };
+ 61FD9FC514DCA9BA00161C82 /* as_restore.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = as_restore.cpp; path = ../../source/as_restore.cpp; sourceTree = SOURCE_ROOT; };
+ 61FD9FC614DCA9BA00161C82 /* as_restore.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = as_restore.h; path = ../../source/as_restore.h; sourceTree = SOURCE_ROOT; };
+ 61FD9FC714DCA9BA00161C82 /* as_scriptcode.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = as_scriptcode.cpp; path = ../../source/as_scriptcode.cpp; sourceTree = SOURCE_ROOT; };
+ 61FD9FC814DCA9BA00161C82 /* as_scriptcode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = as_scriptcode.h; path = ../../source/as_scriptcode.h; sourceTree = SOURCE_ROOT; };
+ 61FD9FC914DCA9BA00161C82 /* as_scriptengine.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = as_scriptengine.cpp; path = ../../source/as_scriptengine.cpp; sourceTree = SOURCE_ROOT; };
+ 61FD9FCA14DCA9BA00161C82 /* as_scriptengine.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = as_scriptengine.h; path = ../../source/as_scriptengine.h; sourceTree = SOURCE_ROOT; };
+ 61FD9FCB14DCA9BA00161C82 /* as_scriptfunction.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = as_scriptfunction.cpp; path = ../../source/as_scriptfunction.cpp; sourceTree = SOURCE_ROOT; };
+ 61FD9FCC14DCA9BA00161C82 /* as_scriptfunction.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = as_scriptfunction.h; path = ../../source/as_scriptfunction.h; sourceTree = SOURCE_ROOT; };
+ 61FD9FCD14DCA9BA00161C82 /* as_scriptnode.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = as_scriptnode.cpp; path = ../../source/as_scriptnode.cpp; sourceTree = SOURCE_ROOT; };
+ 61FD9FCE14DCA9BA00161C82 /* as_scriptnode.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = as_scriptnode.h; path = ../../source/as_scriptnode.h; sourceTree = SOURCE_ROOT; };
+ 61FD9FCF14DCA9BA00161C82 /* as_scriptobject.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = as_scriptobject.cpp; path = ../../source/as_scriptobject.cpp; sourceTree = SOURCE_ROOT; };
+ 61FD9FD014DCA9BA00161C82 /* as_scriptobject.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = as_scriptobject.h; path = ../../source/as_scriptobject.h; sourceTree = SOURCE_ROOT; };
+ 61FD9FD114DCA9BA00161C82 /* as_string_util.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = as_string_util.cpp; path = ../../source/as_string_util.cpp; sourceTree = SOURCE_ROOT; };
+ 61FD9FD214DCA9BA00161C82 /* as_string_util.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = as_string_util.h; path = ../../source/as_string_util.h; sourceTree = SOURCE_ROOT; };
+ 61FD9FD314DCA9BA00161C82 /* as_string.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = as_string.cpp; path = ../../source/as_string.cpp; sourceTree = SOURCE_ROOT; };
+ 61FD9FD414DCA9BA00161C82 /* as_string.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = as_string.h; path = ../../source/as_string.h; sourceTree = SOURCE_ROOT; };
+ 61FD9FD514DCA9BA00161C82 /* as_texts.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = as_texts.h; path = ../../source/as_texts.h; sourceTree = SOURCE_ROOT; };
+ 61FD9FD614DCA9BA00161C82 /* as_thread.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = as_thread.cpp; path = ../../source/as_thread.cpp; sourceTree = SOURCE_ROOT; };
+ 61FD9FD714DCA9BA00161C82 /* as_thread.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = as_thread.h; path = ../../source/as_thread.h; sourceTree = SOURCE_ROOT; };
+ 61FD9FD814DCA9BA00161C82 /* as_tokendef.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = as_tokendef.h; path = ../../source/as_tokendef.h; sourceTree = SOURCE_ROOT; };
+ 61FD9FD914DCA9BA00161C82 /* as_tokenizer.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = as_tokenizer.cpp; path = ../../source/as_tokenizer.cpp; sourceTree = SOURCE_ROOT; };
+ 61FD9FDA14DCA9BA00161C82 /* as_tokenizer.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = as_tokenizer.h; path = ../../source/as_tokenizer.h; sourceTree = SOURCE_ROOT; };
+ 61FD9FDB14DCA9BA00161C82 /* as_typeinfo.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = as_typeinfo.cpp; path = ../../source/as_typeinfo.cpp; sourceTree = SOURCE_ROOT; };
+ 61FD9FDC14DCA9BA00161C82 /* as_typeinfo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = as_typeinfo.h; path = ../../source/as_typeinfo.h; sourceTree = SOURCE_ROOT; };
+ 61FD9FDD14DCA9BA00161C82 /* as_variablescope.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = as_variablescope.cpp; path = ../../source/as_variablescope.cpp; sourceTree = SOURCE_ROOT; };
+ 61FD9FDE14DCA9BA00161C82 /* as_variablescope.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = as_variablescope.h; path = ../../source/as_variablescope.h; sourceTree = SOURCE_ROOT; };
+ 9D251DBA159F3348001CE46F /* angelscript.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = angelscript.framework; sourceTree = BUILT_PRODUCTS_DIR; };
+ 9D251DC3159F3348001CE46F /* angelscript_framework-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "angelscript_framework-Info.plist"; sourceTree = "<group>"; };
+ 9D251DC5159F3348001CE46F /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = "<group>"; };
+ 9D251E18159F341F001CE46F /* angelscript.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = angelscript.h; path = ../../include/angelscript.h; sourceTree = SOURCE_ROOT; };
+ AA747D9E0F9514B9006C5449 /* angelscript_Prefix.pch */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = angelscript_Prefix.pch; sourceTree = SOURCE_ROOT; };
+ AACBBE490F95108600F1A2B1 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; };
+ D2AAC07E0554694100DB518D /* libangelscript.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = libangelscript.a; sourceTree = BUILT_PRODUCTS_DIR; };
+/* End PBXFileReference section */
+
+/* Begin PBXFrameworksBuildPhase section */
+ 9D251DB6159F3348001CE46F /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 9D251E1A159F3472001CE46F /* Foundation.framework in Frameworks */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ D2AAC07C0554694100DB518D /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ AACBBE4A0F95108600F1A2B1 /* Foundation.framework in Frameworks */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXFrameworksBuildPhase section */
+
+/* Begin PBXGroup section */
+ 034768DFFF38A50411DB9C8B /* Products */ = {
+ isa = PBXGroup;
+ children = (
+ D2AAC07E0554694100DB518D /* libangelscript.a */,
+ 9D251DBA159F3348001CE46F /* angelscript.framework */,
+ );
+ name = Products;
+ sourceTree = "<group>";
+ };
+ 0867D691FE84028FC02AAC07 /* angelscript */ = {
+ isa = PBXGroup;
+ children = (
+ 08FB77AEFE84172EC02AAC07 /* Classes */,
+ 32C88DFF0371C24200C91783 /* Other Sources */,
+ 9D251DC1159F3348001CE46F /* angelscript_framework */,
+ 0867D69AFE84028FC02AAC07 /* Frameworks */,
+ 034768DFFF38A50411DB9C8B /* Products */,
+ );
+ name = angelscript;
+ sourceTree = "<group>";
+ };
+ 0867D69AFE84028FC02AAC07 /* Frameworks */ = {
+ isa = PBXGroup;
+ children = (
+ AACBBE490F95108600F1A2B1 /* Foundation.framework */,
+ );
+ name = Frameworks;
+ sourceTree = "<group>";
+ };
+ 08FB77AEFE84172EC02AAC07 /* Classes */ = {
+ isa = PBXGroup;
+ children = (
+ );
+ name = Classes;
+ sourceTree = "<group>";
+ };
+ 32C88DFF0371C24200C91783 /* Other Sources */ = {
+ isa = PBXGroup;
+ children = (
+ 61FD9F9314DCA9BA00161C82 /* as_array.h */,
+ 61FD9F9414DCA9BA00161C82 /* as_atomic.cpp */,
+ 61FD9F9514DCA9BA00161C82 /* as_atomic.h */,
+ 61FD9F9614DCA9BA00161C82 /* as_builder.cpp */,
+ 61FD9F9714DCA9BA00161C82 /* as_builder.h */,
+ 61FD9F9814DCA9BA00161C82 /* as_bytecode.cpp */,
+ 61FD9F9914DCA9BA00161C82 /* as_bytecode.h */,
+ 61FD9F9C14DCA9BA00161C82 /* as_callfunc_arm_xcode.S */,
+ 61FD9F9D14DCA9BA00161C82 /* as_callfunc_arm.cpp */,
+ 61FD9F9E14DCA9BA00161C82 /* as_callfunc_mips.cpp */,
+ 61FD9F9F14DCA9BA00161C82 /* as_callfunc_ppc_64.cpp */,
+ 61FD9FA014DCA9BA00161C82 /* as_callfunc_ppc.cpp */,
+ 61FD9FA114DCA9BA00161C82 /* as_callfunc_sh4.cpp */,
+ 61FD9FA214DCA9BA00161C82 /* as_callfunc_x64_gcc.cpp */,
+ 61FD9FA514DCA9BA00161C82 /* as_callfunc_x86.cpp */,
+ 61FD9FA614DCA9BA00161C82 /* as_callfunc_xenon.cpp */,
+ 61FD9FA714DCA9BA00161C82 /* as_callfunc.cpp */,
+ 61FD9FA814DCA9BA00161C82 /* as_callfunc.h */,
+ 61FD9FA914DCA9BA00161C82 /* as_compiler.cpp */,
+ 61FD9FAA14DCA9BA00161C82 /* as_compiler.h */,
+ 61FD9FAB14DCA9BA00161C82 /* as_config.h */,
+ 61FD9FAC14DCA9BA00161C82 /* as_configgroup.cpp */,
+ 61FD9FAD14DCA9BA00161C82 /* as_configgroup.h */,
+ 61FD9FAE14DCA9BA00161C82 /* as_context.cpp */,
+ 61FD9FAF14DCA9BA00161C82 /* as_context.h */,
+ 61FD9FB014DCA9BA00161C82 /* as_criticalsection.h */,
+ 61FD9FB114DCA9BA00161C82 /* as_datatype.cpp */,
+ 61FD9FB214DCA9BA00161C82 /* as_datatype.h */,
+ 61FD9FB314DCA9BA00161C82 /* as_debug.h */,
+ 61FD9FB414DCA9BA00161C82 /* as_gc.cpp */,
+ 61FD9FB514DCA9BA00161C82 /* as_gc.h */,
+ 61FD9FB614DCA9BA00161C82 /* as_generic.cpp */,
+ 61FD9FB714DCA9BA00161C82 /* as_generic.h */,
+ 61FD9FB814DCA9BA00161C82 /* as_globalproperty.cpp */,
+ 61FD9FB914DCA9BA00161C82 /* as_map.h */,
+ 61FD9FBA14DCA9BA00161C82 /* as_memory.cpp */,
+ 61FD9FBB14DCA9BA00161C82 /* as_memory.h */,
+ 61FD9FBC14DCA9BA00161C82 /* as_module.cpp */,
+ 61FD9FBD14DCA9BA00161C82 /* as_module.h */,
+ 61FD9FBE14DCA9BA00161C82 /* as_objecttype.cpp */,
+ 61FD9FBF14DCA9BA00161C82 /* as_objecttype.h */,
+ 61FD9FC014DCA9BA00161C82 /* as_outputbuffer.cpp */,
+ 61FD9FC114DCA9BA00161C82 /* as_outputbuffer.h */,
+ 61FD9FC214DCA9BA00161C82 /* as_parser.cpp */,
+ 61FD9FC314DCA9BA00161C82 /* as_parser.h */,
+ 61FD9FC414DCA9BA00161C82 /* as_property.h */,
+ 61FD9FC514DCA9BA00161C82 /* as_restore.cpp */,
+ 61FD9FC614DCA9BA00161C82 /* as_restore.h */,
+ 61FD9FC714DCA9BA00161C82 /* as_scriptcode.cpp */,
+ 61FD9FC814DCA9BA00161C82 /* as_scriptcode.h */,
+ 61FD9FC914DCA9BA00161C82 /* as_scriptengine.cpp */,
+ 61FD9FCA14DCA9BA00161C82 /* as_scriptengine.h */,
+ 61FD9FCB14DCA9BA00161C82 /* as_scriptfunction.cpp */,
+ 61FD9FCC14DCA9BA00161C82 /* as_scriptfunction.h */,
+ 61FD9FCD14DCA9BA00161C82 /* as_scriptnode.cpp */,
+ 61FD9FCE14DCA9BA00161C82 /* as_scriptnode.h */,
+ 61FD9FCF14DCA9BA00161C82 /* as_scriptobject.cpp */,
+ 61FD9FD014DCA9BA00161C82 /* as_scriptobject.h */,
+ 61FD9FD114DCA9BA00161C82 /* as_string_util.cpp */,
+ 61FD9FD214DCA9BA00161C82 /* as_string_util.h */,
+ 61FD9FD314DCA9BA00161C82 /* as_string.cpp */,
+ 61FD9FD414DCA9BA00161C82 /* as_string.h */,
+ 61FD9FD514DCA9BA00161C82 /* as_texts.h */,
+ 61FD9FD614DCA9BA00161C82 /* as_thread.cpp */,
+ 61FD9FD714DCA9BA00161C82 /* as_thread.h */,
+ 61FD9FD814DCA9BA00161C82 /* as_tokendef.h */,
+ 61FD9FD914DCA9BA00161C82 /* as_tokenizer.cpp */,
+ 61FD9FDA14DCA9BA00161C82 /* as_tokenizer.h */,
+ 61FD9FDB14DCA9BA00161C82 /* as_typeinfo.cpp */,
+ 61FD9FDC14DCA9BA00161C82 /* as_typeinfo.h */,
+ 61FD9FDD14DCA9BA00161C82 /* as_variablescope.cpp */,
+ 61FD9FDE14DCA9BA00161C82 /* as_variablescope.h */,
+ AA747D9E0F9514B9006C5449 /* angelscript_Prefix.pch */,
+ );
+ name = "Other Sources";
+ sourceTree = "<group>";
+ };
+ 9D251DC1159F3348001CE46F /* angelscript_framework */ = {
+ isa = PBXGroup;
+ children = (
+ 9D251E18159F341F001CE46F /* angelscript.h */,
+ 9D251DC2159F3348001CE46F /* Supporting Files */,
+ );
+ path = angelscript_framework;
+ sourceTree = "<group>";
+ };
+ 9D251DC2159F3348001CE46F /* Supporting Files */ = {
+ isa = PBXGroup;
+ children = (
+ 9D251DC3159F3348001CE46F /* angelscript_framework-Info.plist */,
+ 9D251DC4159F3348001CE46F /* InfoPlist.strings */,
+ );
+ name = "Supporting Files";
+ sourceTree = "<group>";
+ };
+/* End PBXGroup section */
+
+/* Begin PBXHeadersBuildPhase section */
+ 9D251DB7159F3348001CE46F /* Headers */ = {
+ isa = PBXHeadersBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 9D251E19159F341F001CE46F /* angelscript.h in Headers */,
+ 9D251DCF159F33D1001CE46F /* as_array.h in Headers */,
+ 9D251DD1159F33D1001CE46F /* as_atomic.h in Headers */,
+ 9D251DD3159F33D1001CE46F /* as_builder.h in Headers */,
+ 9D251DD5159F33D1001CE46F /* as_bytecode.h in Headers */,
+ 9D251DE0159F33D1001CE46F /* as_callfunc.h in Headers */,
+ 9D251DE2159F33D1001CE46F /* as_compiler.h in Headers */,
+ 9D251DE3159F33D1001CE46F /* as_config.h in Headers */,
+ 9D251DE5159F33D1001CE46F /* as_configgroup.h in Headers */,
+ 9D251DE7159F33D1001CE46F /* as_context.h in Headers */,
+ 9D251DE8159F33D1001CE46F /* as_criticalsection.h in Headers */,
+ 9D251DEA159F33D1001CE46F /* as_datatype.h in Headers */,
+ 9D251DEB159F33D1001CE46F /* as_debug.h in Headers */,
+ 9D251DED159F33D1001CE46F /* as_gc.h in Headers */,
+ 9D251DEF159F33D1001CE46F /* as_generic.h in Headers */,
+ 9D251DF1159F33D1001CE46F /* as_map.h in Headers */,
+ 9D251DF3159F33D1001CE46F /* as_memory.h in Headers */,
+ 9D251DF5159F33D1001CE46F /* as_module.h in Headers */,
+ 9D251DF7159F33D1001CE46F /* as_objecttype.h in Headers */,
+ 9D251DF9159F33D1001CE46F /* as_outputbuffer.h in Headers */,
+ 9D251DFB159F33D1001CE46F /* as_parser.h in Headers */,
+ 9D251DFC159F33D1001CE46F /* as_property.h in Headers */,
+ 9D251DFE159F33D1001CE46F /* as_restore.h in Headers */,
+ 9D251E00159F33D1001CE46F /* as_scriptcode.h in Headers */,
+ 9D251E02159F33D1001CE46F /* as_scriptengine.h in Headers */,
+ 9D251E04159F33D1001CE46F /* as_scriptfunction.h in Headers */,
+ 9D251E06159F33D1001CE46F /* as_scriptnode.h in Headers */,
+ 9D251E08159F33D1001CE46F /* as_scriptobject.h in Headers */,
+ 9D251E0A159F33D1001CE46F /* as_string_util.h in Headers */,
+ 9D251E0C159F33D1001CE46F /* as_string.h in Headers */,
+ 9D251E0D159F33D1001CE46F /* as_texts.h in Headers */,
+ 9D251E0F159F33D1001CE46F /* as_thread.h in Headers */,
+ 9D251E10159F33D1001CE46F /* as_tokendef.h in Headers */,
+ 9D251E12159F33D1001CE46F /* as_tokenizer.h in Headers */,
+ 9D251E14159F33D1001CE46F /* as_typeinfo.h in Headers */,
+ 9D251E16159F33D1001CE46F /* as_variablescope.h in Headers */,
+ 9D251E17159F33D1001CE46F /* angelscript_Prefix.pch in Headers */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ D2AAC07A0554694100DB518D /* Headers */ = {
+ isa = PBXHeadersBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ AA747D9F0F9514B9006C5449 /* angelscript_Prefix.pch in Headers */,
+ 61FD9FDF14DCA9BA00161C82 /* as_array.h in Headers */,
+ 61FD9FE114DCA9BA00161C82 /* as_atomic.h in Headers */,
+ 61FD9FE314DCA9BA00161C82 /* as_builder.h in Headers */,
+ 61FD9FE514DCA9BA00161C82 /* as_bytecode.h in Headers */,
+ 61FD9FF414DCA9BA00161C82 /* as_callfunc.h in Headers */,
+ 61FD9FF614DCA9BA00161C82 /* as_compiler.h in Headers */,
+ 61FD9FF714DCA9BA00161C82 /* as_config.h in Headers */,
+ 61FD9FF914DCA9BA00161C82 /* as_configgroup.h in Headers */,
+ 61FD9FFB14DCA9BA00161C82 /* as_context.h in Headers */,
+ 61FD9FFC14DCA9BA00161C82 /* as_criticalsection.h in Headers */,
+ 61FD9FFE14DCA9BA00161C82 /* as_datatype.h in Headers */,
+ 61FD9FFF14DCA9BA00161C82 /* as_debug.h in Headers */,
+ 61FDA00114DCA9BA00161C82 /* as_gc.h in Headers */,
+ 61FDA00314DCA9BA00161C82 /* as_generic.h in Headers */,
+ 61FDA00514DCA9BA00161C82 /* as_map.h in Headers */,
+ 61FDA00714DCA9BA00161C82 /* as_memory.h in Headers */,
+ 61FDA00914DCA9BA00161C82 /* as_module.h in Headers */,
+ 61FDA00B14DCA9BA00161C82 /* as_objecttype.h in Headers */,
+ 61FDA00D14DCA9BA00161C82 /* as_outputbuffer.h in Headers */,
+ 61FDA00F14DCA9BA00161C82 /* as_parser.h in Headers */,
+ 61FDA01014DCA9BA00161C82 /* as_property.h in Headers */,
+ 61FDA01214DCA9BA00161C82 /* as_restore.h in Headers */,
+ 61FDA01414DCA9BA00161C82 /* as_scriptcode.h in Headers */,
+ 61FDA01614DCA9BA00161C82 /* as_scriptengine.h in Headers */,
+ 61FDA01814DCA9BA00161C82 /* as_scriptfunction.h in Headers */,
+ 61FDA01A14DCA9BA00161C82 /* as_scriptnode.h in Headers */,
+ 61FDA01C14DCA9BA00161C82 /* as_scriptobject.h in Headers */,
+ 61FDA01E14DCA9BA00161C82 /* as_string_util.h in Headers */,
+ 61FDA02014DCA9BA00161C82 /* as_string.h in Headers */,
+ 61FDA02114DCA9BA00161C82 /* as_texts.h in Headers */,
+ 61FDA02314DCA9BA00161C82 /* as_thread.h in Headers */,
+ 61FDA02414DCA9BA00161C82 /* as_tokendef.h in Headers */,
+ 61FDA02614DCA9BA00161C82 /* as_tokenizer.h in Headers */,
+ 61FDA02814DCA9BA00161C82 /* as_typeinfo.h in Headers */,
+ 61FDA02A14DCA9BA00161C82 /* as_variablescope.h in Headers */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXHeadersBuildPhase section */
+
+/* Begin PBXNativeTarget section */
+ 9D251DB9159F3348001CE46F /* angelscript_framework */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = 9D251DCD159F3348001CE46F /* Build configuration list for PBXNativeTarget "angelscript_framework" */;
+ buildPhases = (
+ 9D251DB5159F3348001CE46F /* Sources */,
+ 9D251DB6159F3348001CE46F /* Frameworks */,
+ 9D251DB7159F3348001CE46F /* Headers */,
+ 9D251DB8159F3348001CE46F /* Resources */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ );
+ name = angelscript_framework;
+ productName = angelscript_framework;
+ productReference = 9D251DBA159F3348001CE46F /* angelscript.framework */;
+ productType = "com.apple.product-type.framework";
+ };
+ D2AAC07D0554694100DB518D /* angelscript */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = 1DEB921E08733DC00010E9CD /* Build configuration list for PBXNativeTarget "angelscript" */;
+ buildPhases = (
+ D2AAC07A0554694100DB518D /* Headers */,
+ D2AAC07B0554694100DB518D /* Sources */,
+ D2AAC07C0554694100DB518D /* Frameworks */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ );
+ name = angelscript;
+ productName = angelscript;
+ productReference = D2AAC07E0554694100DB518D /* libangelscript.a */;
+ productType = "com.apple.product-type.library.static";
+ };
+/* End PBXNativeTarget section */
+
+/* Begin PBXProject section */
+ 0867D690FE84028FC02AAC07 /* Project object */ = {
+ isa = PBXProject;
+ attributes = {
+ LastUpgradeCheck = 0430;
+ };
+ buildConfigurationList = 1DEB922208733DC00010E9CD /* Build configuration list for PBXProject "angelscript" */;
+ compatibilityVersion = "Xcode 3.2";
+ developmentRegion = English;
+ hasScannedForEncodings = 1;
+ knownRegions = (
+ English,
+ Japanese,
+ French,
+ German,
+ en,
+ );
+ mainGroup = 0867D691FE84028FC02AAC07 /* angelscript */;
+ productRefGroup = 034768DFFF38A50411DB9C8B /* Products */;
+ projectDirPath = "";
+ projectRoot = "";
+ targets = (
+ D2AAC07D0554694100DB518D /* angelscript */,
+ 9D251DB9159F3348001CE46F /* angelscript_framework */,
+ );
+ };
+/* End PBXProject section */
+
+/* Begin PBXResourcesBuildPhase section */
+ 9D251DB8159F3348001CE46F /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 9D251DC6159F3348001CE46F /* InfoPlist.strings in Resources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXResourcesBuildPhase section */
+
+/* Begin PBXSourcesBuildPhase section */
+ 9D251DB5159F3348001CE46F /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 9D251DD0159F33D1001CE46F /* as_atomic.cpp in Sources */,
+ 9D251DD2159F33D1001CE46F /* as_builder.cpp in Sources */,
+ 9D251DD4159F33D1001CE46F /* as_bytecode.cpp in Sources */,
+ 9D251DD6159F33D1001CE46F /* as_callfunc_arm_xcode.S in Sources */,
+ 9D251DD7159F33D1001CE46F /* as_callfunc_arm.cpp in Sources */,
+ 9D251DD8159F33D1001CE46F /* as_callfunc_mips.cpp in Sources */,
+ 9D251DD9159F33D1001CE46F /* as_callfunc_ppc_64.cpp in Sources */,
+ 9D251DDA159F33D1001CE46F /* as_callfunc_ppc.cpp in Sources */,
+ 9D251DDB159F33D1001CE46F /* as_callfunc_sh4.cpp in Sources */,
+ 9D251DDC159F33D1001CE46F /* as_callfunc_x64_gcc.cpp in Sources */,
+ 9D251DDD159F33D1001CE46F /* as_callfunc_x86.cpp in Sources */,
+ 9D251DDE159F33D1001CE46F /* as_callfunc_xenon.cpp in Sources */,
+ 9D251DDF159F33D1001CE46F /* as_callfunc.cpp in Sources */,
+ 9D251DE1159F33D1001CE46F /* as_compiler.cpp in Sources */,
+ 9D251DE4159F33D1001CE46F /* as_configgroup.cpp in Sources */,
+ 9D251DE6159F33D1001CE46F /* as_context.cpp in Sources */,
+ 9D251DE9159F33D1001CE46F /* as_datatype.cpp in Sources */,
+ 9D251DEC159F33D1001CE46F /* as_gc.cpp in Sources */,
+ 9D251DEE159F33D1001CE46F /* as_generic.cpp in Sources */,
+ 9D251DF0159F33D1001CE46F /* as_globalproperty.cpp in Sources */,
+ 9D251DF2159F33D1001CE46F /* as_memory.cpp in Sources */,
+ 9D251DF4159F33D1001CE46F /* as_module.cpp in Sources */,
+ 9D251DF6159F33D1001CE46F /* as_objecttype.cpp in Sources */,
+ 9D251DF8159F33D1001CE46F /* as_outputbuffer.cpp in Sources */,
+ 9D251DFA159F33D1001CE46F /* as_parser.cpp in Sources */,
+ 9D251DFD159F33D1001CE46F /* as_restore.cpp in Sources */,
+ 9D251DFF159F33D1001CE46F /* as_scriptcode.cpp in Sources */,
+ 9D251E01159F33D1001CE46F /* as_scriptengine.cpp in Sources */,
+ 9D251E03159F33D1001CE46F /* as_scriptfunction.cpp in Sources */,
+ 9D251E05159F33D1001CE46F /* as_scriptnode.cpp in Sources */,
+ 9D251E07159F33D1001CE46F /* as_scriptobject.cpp in Sources */,
+ 9D251E09159F33D1001CE46F /* as_string_util.cpp in Sources */,
+ 9D251E0B159F33D1001CE46F /* as_string.cpp in Sources */,
+ 9D251E0E159F33D1001CE46F /* as_thread.cpp in Sources */,
+ 9D251E11159F33D1001CE46F /* as_tokenizer.cpp in Sources */,
+ 9D251E13159F33D1001CE46F /* as_typeinfo.cpp in Sources */,
+ 9D251E15159F33D1001CE46F /* as_variablescope.cpp in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+ D2AAC07B0554694100DB518D /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 61FD9FE014DCA9BA00161C82 /* as_atomic.cpp in Sources */,
+ 61FD9FE214DCA9BA00161C82 /* as_builder.cpp in Sources */,
+ 61FD9FE414DCA9BA00161C82 /* as_bytecode.cpp in Sources */,
+ 61FD9FE814DCA9BA00161C82 /* as_callfunc_arm_xcode.S in Sources */,
+ 61FD9FE914DCA9BA00161C82 /* as_callfunc_arm.cpp in Sources */,
+ 61FD9FEA14DCA9BA00161C82 /* as_callfunc_mips.cpp in Sources */,
+ 61FD9FEB14DCA9BA00161C82 /* as_callfunc_ppc_64.cpp in Sources */,
+ 61FD9FEC14DCA9BA00161C82 /* as_callfunc_ppc.cpp in Sources */,
+ 61FD9FED14DCA9BA00161C82 /* as_callfunc_sh4.cpp in Sources */,
+ 61FD9FEE14DCA9BA00161C82 /* as_callfunc_x64_gcc.cpp in Sources */,
+ 61FD9FF114DCA9BA00161C82 /* as_callfunc_x86.cpp in Sources */,
+ 61FD9FF214DCA9BA00161C82 /* as_callfunc_xenon.cpp in Sources */,
+ 61FD9FF314DCA9BA00161C82 /* as_callfunc.cpp in Sources */,
+ 61FD9FF514DCA9BA00161C82 /* as_compiler.cpp in Sources */,
+ 61FD9FF814DCA9BA00161C82 /* as_configgroup.cpp in Sources */,
+ 61FD9FFA14DCA9BA00161C82 /* as_context.cpp in Sources */,
+ 61FD9FFD14DCA9BA00161C82 /* as_datatype.cpp in Sources */,
+ 61FDA00014DCA9BA00161C82 /* as_gc.cpp in Sources */,
+ 61FDA00214DCA9BA00161C82 /* as_generic.cpp in Sources */,
+ 61FDA00414DCA9BA00161C82 /* as_globalproperty.cpp in Sources */,
+ 61FDA00614DCA9BA00161C82 /* as_memory.cpp in Sources */,
+ 61FDA00814DCA9BA00161C82 /* as_module.cpp in Sources */,
+ 61FDA00A14DCA9BA00161C82 /* as_objecttype.cpp in Sources */,
+ 61FDA00C14DCA9BA00161C82 /* as_outputbuffer.cpp in Sources */,
+ 61FDA00E14DCA9BA00161C82 /* as_parser.cpp in Sources */,
+ 61FDA01114DCA9BA00161C82 /* as_restore.cpp in Sources */,
+ 61FDA01314DCA9BA00161C82 /* as_scriptcode.cpp in Sources */,
+ 61FDA01514DCA9BA00161C82 /* as_scriptengine.cpp in Sources */,
+ 61FDA01714DCA9BA00161C82 /* as_scriptfunction.cpp in Sources */,
+ 61FDA01914DCA9BA00161C82 /* as_scriptnode.cpp in Sources */,
+ 61FDA01B14DCA9BA00161C82 /* as_scriptobject.cpp in Sources */,
+ 61FDA01D14DCA9BA00161C82 /* as_string_util.cpp in Sources */,
+ 61FDA01F14DCA9BA00161C82 /* as_string.cpp in Sources */,
+ 61FDA02214DCA9BA00161C82 /* as_thread.cpp in Sources */,
+ 61FDA02514DCA9BA00161C82 /* as_tokenizer.cpp in Sources */,
+ 61FDA02714DCA9BA00161C82 /* as_typeinfo.cpp in Sources */,
+ 61FDA02914DCA9BA00161C82 /* as_variablescope.cpp in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXSourcesBuildPhase section */
+
+/* Begin PBXVariantGroup section */
+ 9D251DC4159F3348001CE46F /* InfoPlist.strings */ = {
+ isa = PBXVariantGroup;
+ children = (
+ 9D251DC5159F3348001CE46F /* en */,
+ );
+ name = InfoPlist.strings;
+ sourceTree = "<group>";
+ };
+/* End PBXVariantGroup section */
+
+/* Begin XCBuildConfiguration section */
+ 1DEB921F08733DC00010E9CD /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ ARCHS = "$(ARCHS_STANDARD_32_BIT)";
+ COPY_PHASE_STRIP = NO;
+ DSTROOT = /tmp/angelscript.dst;
+ GCC_DYNAMIC_NO_PIC = NO;
+ GCC_MODEL_TUNING = G5;
+ GCC_OPTIMIZATION_LEVEL = 0;
+ GCC_PRECOMPILE_PREFIX_HEADER = YES;
+ GCC_PREFIX_HEADER = angelscript_Prefix.pch;
+ INSTALL_PATH = /usr/local/lib;
+ PRODUCT_NAME = angelscript;
+ };
+ name = Debug;
+ };
+ 1DEB922008733DC00010E9CD /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ ARCHS = "$(ARCHS_STANDARD_32_BIT)";
+ DSTROOT = /tmp/angelscript.dst;
+ GCC_MODEL_TUNING = G5;
+ GCC_PRECOMPILE_PREFIX_HEADER = YES;
+ GCC_PREFIX_HEADER = angelscript_Prefix.pch;
+ INSTALL_PATH = /usr/local/lib;
+ PRODUCT_NAME = angelscript;
+ };
+ name = Release;
+ };
+ 1DEB922308733DC00010E9CD /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ARCHS = "$(ARCHS_STANDARD_32_BIT)";
+ GCC_C_LANGUAGE_STANDARD = c99;
+ GCC_OPTIMIZATION_LEVEL = 0;
+ GCC_WARN_ABOUT_RETURN_TYPE = YES;
+ GCC_WARN_UNUSED_VARIABLE = YES;
+ OTHER_LDFLAGS = "-ObjC";
+ SDKROOT = iphoneos;
+ };
+ name = Debug;
+ };
+ 1DEB922408733DC00010E9CD /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ARCHS = "$(ARCHS_STANDARD_32_BIT)";
+ GCC_C_LANGUAGE_STANDARD = c99;
+ GCC_WARN_ABOUT_RETURN_TYPE = YES;
+ GCC_WARN_UNUSED_VARIABLE = YES;
+ OTHER_LDFLAGS = "-ObjC";
+ SDKROOT = iphoneos;
+ };
+ name = Release;
+ };
+ 9D251DCB159F3348001CE46F /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ ARCHS = "$(ARCHS_STANDARD_32_BIT)";
+ CLANG_ENABLE_OBJC_ARC = YES;
+ COPY_PHASE_STRIP = NO;
+ DYLIB_COMPATIBILITY_VERSION = 1;
+ DYLIB_CURRENT_VERSION = 1;
+ FRAMEWORK_SEARCH_PATHS = (
+ "$(inherited)",
+ "\"$(SYSTEM_APPS_DIR)/Xcode.app/Contents/Developer/Library/Frameworks\"",
+ );
+ FRAMEWORK_VERSION = A;
+ GCC_C_LANGUAGE_STANDARD = gnu99;
+ GCC_DYNAMIC_NO_PIC = NO;
+ GCC_ENABLE_OBJC_EXCEPTIONS = YES;
+ GCC_PRECOMPILE_PREFIX_HEADER = YES;
+ GCC_PREFIX_HEADER = angelscript_Prefix.pch;
+ GCC_PREPROCESSOR_DEFINITIONS = (
+ "DEBUG=1",
+ "$(inherited)",
+ );
+ GCC_SYMBOLS_PRIVATE_EXTERN = NO;
+ GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
+ GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
+ GCC_WARN_UNINITIALIZED_AUTOS = YES;
+ INFOPLIST_FILE = "angelscript_framework/angelscript_framework-Info.plist";
+ INSTALL_PATH = "@executable_path/../Frameworks";
+ MACOSX_DEPLOYMENT_TARGET = 10.7;
+ ONLY_ACTIVE_ARCH = YES;
+ PRODUCT_NAME = angelscript;
+ SDKROOT = macosx;
+ WRAPPER_EXTENSION = framework;
+ };
+ name = Debug;
+ };
+ 9D251DCC159F3348001CE46F /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ ARCHS = "$(ARCHS_STANDARD_32_BIT)";
+ CLANG_ENABLE_OBJC_ARC = YES;
+ COPY_PHASE_STRIP = YES;
+ DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
+ DYLIB_COMPATIBILITY_VERSION = 1;
+ DYLIB_CURRENT_VERSION = 1;
+ FRAMEWORK_SEARCH_PATHS = (
+ "$(inherited)",
+ "\"$(SYSTEM_APPS_DIR)/Xcode.app/Contents/Developer/Library/Frameworks\"",
+ );
+ FRAMEWORK_VERSION = A;
+ GCC_C_LANGUAGE_STANDARD = gnu99;
+ GCC_ENABLE_OBJC_EXCEPTIONS = YES;
+ GCC_PRECOMPILE_PREFIX_HEADER = YES;
+ GCC_PREFIX_HEADER = angelscript_Prefix.pch;
+ GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
+ GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
+ GCC_WARN_UNINITIALIZED_AUTOS = YES;
+ INFOPLIST_FILE = "angelscript_framework/angelscript_framework-Info.plist";
+ INSTALL_PATH = "@executable_path/../Frameworks";
+ MACOSX_DEPLOYMENT_TARGET = 10.7;
+ PRODUCT_NAME = angelscript;
+ SDKROOT = macosx;
+ WRAPPER_EXTENSION = framework;
+ };
+ name = Release;
+ };
+/* End XCBuildConfiguration section */
+
+/* Begin XCConfigurationList section */
+ 1DEB921E08733DC00010E9CD /* Build configuration list for PBXNativeTarget "angelscript" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 1DEB921F08733DC00010E9CD /* Debug */,
+ 1DEB922008733DC00010E9CD /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+ 1DEB922208733DC00010E9CD /* Build configuration list for PBXProject "angelscript" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 1DEB922308733DC00010E9CD /* Debug */,
+ 1DEB922408733DC00010E9CD /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+ 9D251DCD159F3348001CE46F /* Build configuration list for PBXNativeTarget "angelscript_framework" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 9D251DCB159F3348001CE46F /* Debug */,
+ 9D251DCC159F3348001CE46F /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+/* End XCConfigurationList section */
+ };
+ rootObject = 0867D690FE84028FC02AAC07 /* Project object */;
+}
diff --git libsrcs/angelscript/angelSVN/sdk/angelscript/projects/xcode/angelscript.xcodeproj/project.xcworkspace/contents.xcworkspacedata libsrcs/angelscript/angelSVN/sdk/angelscript/projects/xcode/angelscript.xcodeproj/project.xcworkspace/contents.xcworkspacedata
new file mode 100644
index 0000000..5dbc4b8
--- /dev/null
+++ libsrcs/angelscript/angelSVN/sdk/angelscript/projects/xcode/angelscript.xcodeproj/project.xcworkspace/contents.xcworkspacedata
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Workspace
+ version = "1.0">
+ <FileRef
+ location = "self:angelscript.xcodeproj">
+ </FileRef>
+</Workspace>
diff --git libsrcs/angelscript/angelSVN/sdk/angelscript/projects/xcode/angelscript_framework/angelscript_framework-Info.plist libsrcs/angelscript/angelSVN/sdk/angelscript/projects/xcode/angelscript_framework/angelscript_framework-Info.plist
new file mode 100644
index 0000000..d81010a
--- /dev/null
+++ libsrcs/angelscript/angelSVN/sdk/angelscript/projects/xcode/angelscript_framework/angelscript_framework-Info.plist
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>CFBundleDevelopmentRegion</key>
+ <string>English</string>
+ <key>CFBundleExecutable</key>
+ <string>${EXECUTABLE_NAME}</string>
+ <key>CFBundleIdentifier</key>
+ <string>com.yourcompany.${PRODUCT_NAME:rfc1034identifier}</string>
+ <key>CFBundleInfoDictionaryVersion</key>
+ <string>6.0</string>
+ <key>CFBundleName</key>
+ <string>${PRODUCT_NAME}</string>
+ <key>CFBundlePackageType</key>
+ <string>FMWK</string>
+ <key>CFBundleShortVersionString</key>
+ <string>1.0</string>
+ <key>CFBundleVersion</key>
+ <string>1</string>
+</dict>
+</plist>
diff --git libsrcs/angelscript/angelSVN/sdk/angelscript/projects/xcode/angelscript_framework/en.lproj/InfoPlist.strings libsrcs/angelscript/angelSVN/sdk/angelscript/projects/xcode/angelscript_framework/en.lproj/InfoPlist.strings
new file mode 100644
index 0000000..477b28f
--- /dev/null
+++ libsrcs/angelscript/angelSVN/sdk/angelscript/projects/xcode/angelscript_framework/en.lproj/InfoPlist.strings
@@ -0,0 +1,2 @@
+/* Localized versions of Info.plist keys */
+
diff --git libsrcs/libRocket/libRocket/Build/Rocket.xcodeproj/project.pbxproj libsrcs/libRocket/libRocket/Build/Rocket.xcodeproj/project.pbxproj
index 6ec089a..66c44b6 100644
--- libsrcs/libRocket/libRocket/Build/Rocket.xcodeproj/project.pbxproj
+++ libsrcs/libRocket/libRocket/Build/Rocket.xcodeproj/project.pbxproj
@@ -45,7 +45,6 @@
6E8B1CF8123AB0CC00C451C8 /* XMLNodeHandlerTextArea.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6E8B1C70123AB0CC00C451C8 /* XMLNodeHandlerTextArea.cpp */; };
6E8B1DC3123AB7A500C451C8 /* libfreetype.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 6E8B1DC2123AB7A500C451C8 /* libfreetype.a */; };
6E8B1DE1123ABCA200C451C8 /* libfreetype.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 6E8B1DC2123AB7A500C451C8 /* libfreetype.a */; };
- 6E8B1DE2123ABCA200C451C8 /* libz.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 6E8B1DD1123ABA3A00C451C8 /* libz.dylib */; };
6E8B1DE3123ABCC200C451C8 /* BaseXMLParser.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6E9D09261209823B00099E1A /* BaseXMLParser.cpp */; };
6E8B1DE4123ABCC200C451C8 /* Box.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6EF28B78120580DA000FAF17 /* Box.cpp */; };
6E8B1DE5123ABCC200C451C8 /* Clock.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6EF28D0312058A45000FAF17 /* Clock.cpp */; };
@@ -360,25 +359,25 @@
6EF3BB5612481CD70014316D /* Header.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EF3BB5412481CD70014316D /* Header.h */; };
6EF3BB5712481CD70014316D /* Debugger.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EF3BB5312481CD70014316D /* Debugger.h */; };
6EF3BB5812481CD70014316D /* Header.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EF3BB5412481CD70014316D /* Header.h */; };
- 6EF3BB8012481D140014316D /* Clipboard.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EF3BB5A12481D140014316D /* Clipboard.h */; };
- 6EF3BB8112481D140014316D /* Controls.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EF3BB5B12481D140014316D /* Controls.h */; };
- 6EF3BB8212481D140014316D /* DataFormatter.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EF3BB5C12481D140014316D /* DataFormatter.h */; };
- 6EF3BB8312481D140014316D /* DataQuery.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EF3BB5D12481D140014316D /* DataQuery.h */; };
- 6EF3BB8412481D140014316D /* DataSource.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EF3BB5E12481D140014316D /* DataSource.h */; };
- 6EF3BB8512481D140014316D /* DataSourceListener.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EF3BB5F12481D140014316D /* DataSourceListener.h */; };
- 6EF3BB8612481D140014316D /* ElementDataGrid.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EF3BB6012481D140014316D /* ElementDataGrid.h */; };
- 6EF3BB8712481D140014316D /* ElementDataGridCell.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EF3BB6112481D140014316D /* ElementDataGridCell.h */; };
- 6EF3BB8812481D140014316D /* ElementDataGridExpandButton.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EF3BB6212481D140014316D /* ElementDataGridExpandButton.h */; };
- 6EF3BB8912481D140014316D /* ElementDataGridRow.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EF3BB6312481D140014316D /* ElementDataGridRow.h */; };
- 6EF3BB8A12481D140014316D /* ElementForm.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EF3BB6412481D140014316D /* ElementForm.h */; };
- 6EF3BB8B12481D140014316D /* ElementFormControl.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EF3BB6512481D140014316D /* ElementFormControl.h */; };
- 6EF3BB8C12481D140014316D /* ElementFormControlDataSelect.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EF3BB6612481D140014316D /* ElementFormControlDataSelect.h */; };
- 6EF3BB8D12481D140014316D /* ElementFormControlInput.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EF3BB6712481D140014316D /* ElementFormControlInput.h */; };
- 6EF3BB8E12481D140014316D /* ElementFormControlSelect.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EF3BB6812481D140014316D /* ElementFormControlSelect.h */; };
- 6EF3BB8F12481D140014316D /* ElementFormControlTextArea.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EF3BB6912481D140014316D /* ElementFormControlTextArea.h */; };
- 6EF3BB9012481D140014316D /* ElementTabSet.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EF3BB6A12481D140014316D /* ElementTabSet.h */; };
- 6EF3BB9112481D140014316D /* Header.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EF3BB6B12481D140014316D /* Header.h */; };
- 6EF3BB9212481D140014316D /* SelectOption.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EF3BB6C12481D140014316D /* SelectOption.h */; };
+ 6EF3BB8012481D140014316D /* Clipboard.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EF3BB5A12481D140014316D /* Clipboard.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 6EF3BB8112481D140014316D /* Controls.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EF3BB5B12481D140014316D /* Controls.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 6EF3BB8212481D140014316D /* DataFormatter.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EF3BB5C12481D140014316D /* DataFormatter.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 6EF3BB8312481D140014316D /* DataQuery.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EF3BB5D12481D140014316D /* DataQuery.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 6EF3BB8412481D140014316D /* DataSource.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EF3BB5E12481D140014316D /* DataSource.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 6EF3BB8512481D140014316D /* DataSourceListener.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EF3BB5F12481D140014316D /* DataSourceListener.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 6EF3BB8612481D140014316D /* ElementDataGrid.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EF3BB6012481D140014316D /* ElementDataGrid.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 6EF3BB8712481D140014316D /* ElementDataGridCell.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EF3BB6112481D140014316D /* ElementDataGridCell.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 6EF3BB8812481D140014316D /* ElementDataGridExpandButton.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EF3BB6212481D140014316D /* ElementDataGridExpandButton.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 6EF3BB8912481D140014316D /* ElementDataGridRow.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EF3BB6312481D140014316D /* ElementDataGridRow.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 6EF3BB8A12481D140014316D /* ElementForm.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EF3BB6412481D140014316D /* ElementForm.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 6EF3BB8B12481D140014316D /* ElementFormControl.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EF3BB6512481D140014316D /* ElementFormControl.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 6EF3BB8C12481D140014316D /* ElementFormControlDataSelect.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EF3BB6612481D140014316D /* ElementFormControlDataSelect.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 6EF3BB8D12481D140014316D /* ElementFormControlInput.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EF3BB6712481D140014316D /* ElementFormControlInput.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 6EF3BB8E12481D140014316D /* ElementFormControlSelect.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EF3BB6812481D140014316D /* ElementFormControlSelect.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 6EF3BB8F12481D140014316D /* ElementFormControlTextArea.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EF3BB6912481D140014316D /* ElementFormControlTextArea.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 6EF3BB9012481D140014316D /* ElementTabSet.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EF3BB6A12481D140014316D /* ElementTabSet.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 6EF3BB9112481D140014316D /* Header.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EF3BB6B12481D140014316D /* Header.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 6EF3BB9212481D140014316D /* SelectOption.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EF3BB6C12481D140014316D /* SelectOption.h */; settings = {ATTRIBUTES = (Public, ); }; };
6EF3BC0512481DD40014316D /* Colour.inl in Resources */ = {isa = PBXBuildFile; fileRef = 6EF3BBAC12481DD40014316D /* Colour.inl */; };
6EF3BC0E12481DD40014316D /* Dictionary.inl in Resources */ = {isa = PBXBuildFile; fileRef = 6EF3BBB512481DD40014316D /* Dictionary.inl */; };
6EF3BC1012481DD40014316D /* Element.inl in Resources */ = {isa = PBXBuildFile; fileRef = 6EF3BBB712481DD40014316D /* Element.inl */; };
@@ -388,81 +387,259 @@
6EF3BC4F12481DD40014316D /* TypeConverter.inl in Resources */ = {isa = PBXBuildFile; fileRef = 6EF3BBF712481DD40014316D /* TypeConverter.inl */; };
6EF3BC5312481DD40014316D /* Variant.inl in Resources */ = {isa = PBXBuildFile; fileRef = 6EF3BBFB12481DD40014316D /* Variant.inl */; };
6EF3BC5512481DD40014316D /* Vector2.inl in Resources */ = {isa = PBXBuildFile; fileRef = 6EF3BBFD12481DD40014316D /* Vector2.inl */; };
- 6EF3BCA912481DD40014316D /* BaseXMLParser.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EF3BBA912481DD40014316D /* BaseXMLParser.h */; };
- 6EF3BCAA12481DD40014316D /* Box.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EF3BBAA12481DD40014316D /* Box.h */; };
- 6EF3BCAB12481DD40014316D /* Colour.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EF3BBAB12481DD40014316D /* Colour.h */; };
+ 6EF3BCA912481DD40014316D /* BaseXMLParser.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EF3BBA912481DD40014316D /* BaseXMLParser.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 6EF3BCAA12481DD40014316D /* Box.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EF3BBAA12481DD40014316D /* Box.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 6EF3BCAB12481DD40014316D /* Colour.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EF3BBAB12481DD40014316D /* Colour.h */; settings = {ATTRIBUTES = (Public, ); }; };
6EF3BCAC12481DD40014316D /* Colour.inl in Resources */ = {isa = PBXBuildFile; fileRef = 6EF3BBAC12481DD40014316D /* Colour.inl */; };
- 6EF3BCAD12481DD40014316D /* Context.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EF3BBAD12481DD40014316D /* Context.h */; };
- 6EF3BCAE12481DD40014316D /* ContextInstancer.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EF3BBAE12481DD40014316D /* ContextInstancer.h */; };
- 6EF3BCAF12481DD40014316D /* ConvolutionFilter.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EF3BBAF12481DD40014316D /* ConvolutionFilter.h */; };
- 6EF3BCB012481DD40014316D /* Core.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EF3BBB012481DD40014316D /* Core.h */; };
- 6EF3BCB112481DD40014316D /* Debug.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EF3BBB112481DD40014316D /* Debug.h */; };
- 6EF3BCB212481DD40014316D /* Decorator.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EF3BBB212481DD40014316D /* Decorator.h */; };
- 6EF3BCB312481DD40014316D /* DecoratorInstancer.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EF3BBB312481DD40014316D /* DecoratorInstancer.h */; };
- 6EF3BCB412481DD40014316D /* Dictionary.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EF3BBB412481DD40014316D /* Dictionary.h */; };
+ 6EF3BCAD12481DD40014316D /* Context.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EF3BBAD12481DD40014316D /* Context.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 6EF3BCAE12481DD40014316D /* ContextInstancer.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EF3BBAE12481DD40014316D /* ContextInstancer.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 6EF3BCAF12481DD40014316D /* ConvolutionFilter.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EF3BBAF12481DD40014316D /* ConvolutionFilter.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 6EF3BCB012481DD40014316D /* Core.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EF3BBB012481DD40014316D /* Core.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 6EF3BCB112481DD40014316D /* Debug.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EF3BBB112481DD40014316D /* Debug.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 6EF3BCB212481DD40014316D /* Decorator.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EF3BBB212481DD40014316D /* Decorator.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 6EF3BCB312481DD40014316D /* DecoratorInstancer.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EF3BBB312481DD40014316D /* DecoratorInstancer.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 6EF3BCB412481DD40014316D /* Dictionary.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EF3BBB412481DD40014316D /* Dictionary.h */; settings = {ATTRIBUTES = (Public, ); }; };
6EF3BCB512481DD40014316D /* Dictionary.inl in Resources */ = {isa = PBXBuildFile; fileRef = 6EF3BBB512481DD40014316D /* Dictionary.inl */; };
- 6EF3BCB612481DD40014316D /* Element.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EF3BBB612481DD40014316D /* Element.h */; };
+ 6EF3BCB612481DD40014316D /* Element.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EF3BBB612481DD40014316D /* Element.h */; settings = {ATTRIBUTES = (Public, ); }; };
6EF3BCB712481DD40014316D /* Element.inl in Resources */ = {isa = PBXBuildFile; fileRef = 6EF3BBB712481DD40014316D /* Element.inl */; };
- 6EF3BCB812481DD40014316D /* ElementDocument.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EF3BBB812481DD40014316D /* ElementDocument.h */; };
- 6EF3BCB912481DD40014316D /* ElementInstancer.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EF3BBB912481DD40014316D /* ElementInstancer.h */; };
- 6EF3BCBA12481DD40014316D /* ElementInstancerGeneric.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EF3BBBA12481DD40014316D /* ElementInstancerGeneric.h */; };
+ 6EF3BCB812481DD40014316D /* ElementDocument.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EF3BBB812481DD40014316D /* ElementDocument.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 6EF3BCB912481DD40014316D /* ElementInstancer.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EF3BBB912481DD40014316D /* ElementInstancer.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 6EF3BCBA12481DD40014316D /* ElementInstancerGeneric.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EF3BBBA12481DD40014316D /* ElementInstancerGeneric.h */; settings = {ATTRIBUTES = (Public, ); }; };
6EF3BCBB12481DD40014316D /* ElementInstancerGeneric.inl in Resources */ = {isa = PBXBuildFile; fileRef = 6EF3BBBB12481DD40014316D /* ElementInstancerGeneric.inl */; };
- 6EF3BCBC12481DD40014316D /* ElementReference.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EF3BBBC12481DD40014316D /* ElementReference.h */; };
- 6EF3BCBD12481DD40014316D /* ElementScroll.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EF3BBBD12481DD40014316D /* ElementScroll.h */; };
- 6EF3BCBE12481DD40014316D /* ElementText.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EF3BBBE12481DD40014316D /* ElementText.h */; };
- 6EF3BCBF12481DD40014316D /* ElementUtilities.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EF3BBBF12481DD40014316D /* ElementUtilities.h */; };
- 6EF3BCC012481DD40014316D /* Event.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EF3BBC012481DD40014316D /* Event.h */; };
- 6EF3BCC112481DD40014316D /* EventInstancer.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EF3BBC112481DD40014316D /* EventInstancer.h */; };
- 6EF3BCC212481DD40014316D /* EventListener.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EF3BBC212481DD40014316D /* EventListener.h */; };
- 6EF3BCC312481DD40014316D /* EventListenerInstancer.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EF3BBC312481DD40014316D /* EventListenerInstancer.h */; };
- 6EF3BCC412481DD40014316D /* Factory.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EF3BBC412481DD40014316D /* Factory.h */; };
- 6EF3BCC512481DD40014316D /* FileInterface.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EF3BBC512481DD40014316D /* FileInterface.h */; };
- 6EF3BCC612481DD40014316D /* Font.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EF3BBC612481DD40014316D /* Font.h */; };
- 6EF3BCC712481DD40014316D /* FontDatabase.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EF3BBC712481DD40014316D /* FontDatabase.h */; };
- 6EF3BCC812481DD40014316D /* FontEffect.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EF3BBC812481DD40014316D /* FontEffect.h */; };
- 6EF3BCC912481DD40014316D /* FontEffectInstancer.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EF3BBC912481DD40014316D /* FontEffectInstancer.h */; };
- 6EF3BCCA12481DD40014316D /* FontGlyph.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EF3BBCA12481DD40014316D /* FontGlyph.h */; };
- 6EF3BCCB12481DD40014316D /* Geometry.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EF3BBCB12481DD40014316D /* Geometry.h */; };
- 6EF3BCCC12481DD40014316D /* GeometryUtilities.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EF3BBCC12481DD40014316D /* GeometryUtilities.h */; };
- 6EF3BCCD12481DD40014316D /* Header.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EF3BBCD12481DD40014316D /* Header.h */; };
- 6EF3BCCE12481DD40014316D /* Input.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EF3BBCE12481DD40014316D /* Input.h */; };
- 6EF3BCCF12481DD40014316D /* Log.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EF3BBCF12481DD40014316D /* Log.h */; };
- 6EF3BCD012481DD40014316D /* Math.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EF3BBD012481DD40014316D /* Math.h */; };
- 6EF3BCD112481DD40014316D /* MathTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EF3BBD112481DD40014316D /* MathTypes.h */; };
- 6EF3BCD212481DD40014316D /* Platform.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EF3BBD212481DD40014316D /* Platform.h */; };
- 6EF3BCD312481DD40014316D /* Plugin.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EF3BBD312481DD40014316D /* Plugin.h */; };
+ 6EF3BCBC12481DD40014316D /* ElementReference.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EF3BBBC12481DD40014316D /* ElementReference.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 6EF3BCBD12481DD40014316D /* ElementScroll.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EF3BBBD12481DD40014316D /* ElementScroll.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 6EF3BCBE12481DD40014316D /* ElementText.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EF3BBBE12481DD40014316D /* ElementText.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 6EF3BCBF12481DD40014316D /* ElementUtilities.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EF3BBBF12481DD40014316D /* ElementUtilities.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 6EF3BCC012481DD40014316D /* Event.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EF3BBC012481DD40014316D /* Event.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 6EF3BCC112481DD40014316D /* EventInstancer.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EF3BBC112481DD40014316D /* EventInstancer.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 6EF3BCC212481DD40014316D /* EventListener.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EF3BBC212481DD40014316D /* EventListener.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 6EF3BCC312481DD40014316D /* EventListenerInstancer.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EF3BBC312481DD40014316D /* EventListenerInstancer.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 6EF3BCC412481DD40014316D /* Factory.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EF3BBC412481DD40014316D /* Factory.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 6EF3BCC512481DD40014316D /* FileInterface.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EF3BBC512481DD40014316D /* FileInterface.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 6EF3BCC612481DD40014316D /* Font.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EF3BBC612481DD40014316D /* Font.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 6EF3BCC712481DD40014316D /* FontDatabase.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EF3BBC712481DD40014316D /* FontDatabase.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 6EF3BCC812481DD40014316D /* FontEffect.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EF3BBC812481DD40014316D /* FontEffect.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 6EF3BCC912481DD40014316D /* FontEffectInstancer.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EF3BBC912481DD40014316D /* FontEffectInstancer.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 6EF3BCCA12481DD40014316D /* FontGlyph.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EF3BBCA12481DD40014316D /* FontGlyph.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 6EF3BCCB12481DD40014316D /* Geometry.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EF3BBCB12481DD40014316D /* Geometry.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 6EF3BCCC12481DD40014316D /* GeometryUtilities.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EF3BBCC12481DD40014316D /* GeometryUtilities.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 6EF3BCCD12481DD40014316D /* Header.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EF3BBCD12481DD40014316D /* Header.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 6EF3BCCE12481DD40014316D /* Input.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EF3BBCE12481DD40014316D /* Input.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 6EF3BCCF12481DD40014316D /* Log.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EF3BBCF12481DD40014316D /* Log.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 6EF3BCD012481DD40014316D /* Math.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EF3BBD012481DD40014316D /* Math.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 6EF3BCD112481DD40014316D /* MathTypes.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EF3BBD112481DD40014316D /* MathTypes.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 6EF3BCD212481DD40014316D /* Platform.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EF3BBD212481DD40014316D /* Platform.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 6EF3BCD312481DD40014316D /* Plugin.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EF3BBD312481DD40014316D /* Plugin.h */; settings = {ATTRIBUTES = (Public, ); }; };
6EF3BCD512481DD40014316D /* Pool.inl in Resources */ = {isa = PBXBuildFile; fileRef = 6EF3BBD512481DD40014316D /* Pool.inl */; };
- 6EF3BCD612481DD40014316D /* Property.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EF3BBD612481DD40014316D /* Property.h */; };
- 6EF3BCD712481DD40014316D /* PropertyDefinition.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EF3BBD712481DD40014316D /* PropertyDefinition.h */; };
- 6EF3BCD812481DD40014316D /* PropertyDictionary.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EF3BBD812481DD40014316D /* PropertyDictionary.h */; };
- 6EF3BCD912481DD40014316D /* PropertyParser.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EF3BBD912481DD40014316D /* PropertyParser.h */; };
- 6EF3BCDA12481DD40014316D /* PropertySpecification.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EF3BBDA12481DD40014316D /* PropertySpecification.h */; };
- 6EF3BCE612481DD40014316D /* ReferenceCountable.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EF3BBE712481DD40014316D /* ReferenceCountable.h */; };
- 6EF3BCE712481DD40014316D /* RenderInterface.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EF3BBE812481DD40014316D /* RenderInterface.h */; };
- 6EF3BCE812481DD40014316D /* ScriptInterface.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EF3BBE912481DD40014316D /* ScriptInterface.h */; };
- 6EF3BCE912481DD40014316D /* Stream.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EF3BBEA12481DD40014316D /* Stream.h */; };
- 6EF3BCEA12481DD40014316D /* StreamMemory.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EF3BBEB12481DD40014316D /* StreamMemory.h */; };
- 6EF3BCEB12481DD40014316D /* String.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EF3BBEC12481DD40014316D /* String.h */; };
- 6EF3BCEC12481DD40014316D /* StringBase.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EF3BBED12481DD40014316D /* StringBase.h */; };
+ 6EF3BCD612481DD40014316D /* Property.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EF3BBD612481DD40014316D /* Property.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 6EF3BCD712481DD40014316D /* PropertyDefinition.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EF3BBD712481DD40014316D /* PropertyDefinition.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 6EF3BCD812481DD40014316D /* PropertyDictionary.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EF3BBD812481DD40014316D /* PropertyDictionary.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 6EF3BCD912481DD40014316D /* PropertyParser.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EF3BBD912481DD40014316D /* PropertyParser.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 6EF3BCDA12481DD40014316D /* PropertySpecification.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EF3BBDA12481DD40014316D /* PropertySpecification.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 6EF3BCE612481DD40014316D /* ReferenceCountable.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EF3BBE712481DD40014316D /* ReferenceCountable.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 6EF3BCE712481DD40014316D /* RenderInterface.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EF3BBE812481DD40014316D /* RenderInterface.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 6EF3BCE812481DD40014316D /* ScriptInterface.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EF3BBE912481DD40014316D /* ScriptInterface.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 6EF3BCE912481DD40014316D /* Stream.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EF3BBEA12481DD40014316D /* Stream.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 6EF3BCEA12481DD40014316D /* StreamMemory.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EF3BBEB12481DD40014316D /* StreamMemory.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 6EF3BCEB12481DD40014316D /* String.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EF3BBEC12481DD40014316D /* String.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 6EF3BCEC12481DD40014316D /* StringBase.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EF3BBED12481DD40014316D /* StringBase.h */; settings = {ATTRIBUTES = (Public, ); }; };
6EF3BCED12481DD40014316D /* StringBase.inl in Resources */ = {isa = PBXBuildFile; fileRef = 6EF3BBEE12481DD40014316D /* StringBase.inl */; };
- 6EF3BCEF12481DD40014316D /* StringUtilities.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EF3BBF012481DD40014316D /* StringUtilities.h */; };
- 6EF3BCF012481DD40014316D /* StyleSheet.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EF3BBF112481DD40014316D /* StyleSheet.h */; };
- 6EF3BCF112481DD40014316D /* StyleSheetKeywords.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EF3BBF212481DD40014316D /* StyleSheetKeywords.h */; };
- 6EF3BCF212481DD40014316D /* StyleSheetSpecification.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EF3BBF312481DD40014316D /* StyleSheetSpecification.h */; };
- 6EF3BCF312481DD40014316D /* SystemInterface.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EF3BBF412481DD40014316D /* SystemInterface.h */; };
- 6EF3BCF412481DD40014316D /* Texture.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EF3BBF512481DD40014316D /* Texture.h */; };
- 6EF3BCF512481DD40014316D /* TypeConverter.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EF3BBF612481DD40014316D /* TypeConverter.h */; };
+ 6EF3BCEF12481DD40014316D /* StringUtilities.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EF3BBF012481DD40014316D /* StringUtilities.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 6EF3BCF012481DD40014316D /* StyleSheet.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EF3BBF112481DD40014316D /* StyleSheet.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 6EF3BCF112481DD40014316D /* StyleSheetKeywords.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EF3BBF212481DD40014316D /* StyleSheetKeywords.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 6EF3BCF212481DD40014316D /* StyleSheetSpecification.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EF3BBF312481DD40014316D /* StyleSheetSpecification.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 6EF3BCF312481DD40014316D /* SystemInterface.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EF3BBF412481DD40014316D /* SystemInterface.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 6EF3BCF412481DD40014316D /* Texture.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EF3BBF512481DD40014316D /* Texture.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 6EF3BCF512481DD40014316D /* TypeConverter.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EF3BBF612481DD40014316D /* TypeConverter.h */; settings = {ATTRIBUTES = (Public, ); }; };
6EF3BCF612481DD40014316D /* TypeConverter.inl in Resources */ = {isa = PBXBuildFile; fileRef = 6EF3BBF712481DD40014316D /* TypeConverter.inl */; };
- 6EF3BCF712481DD40014316D /* Types.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EF3BBF812481DD40014316D /* Types.h */; };
- 6EF3BCF812481DD40014316D /* URL.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EF3BBF912481DD40014316D /* URL.h */; };
- 6EF3BCF912481DD40014316D /* Variant.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EF3BBFA12481DD40014316D /* Variant.h */; };
+ 6EF3BCF712481DD40014316D /* Types.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EF3BBF812481DD40014316D /* Types.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 6EF3BCF812481DD40014316D /* URL.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EF3BBF912481DD40014316D /* URL.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 6EF3BCF912481DD40014316D /* Variant.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EF3BBFA12481DD40014316D /* Variant.h */; settings = {ATTRIBUTES = (Public, ); }; };
6EF3BCFA12481DD40014316D /* Variant.inl in Resources */ = {isa = PBXBuildFile; fileRef = 6EF3BBFB12481DD40014316D /* Variant.inl */; };
- 6EF3BCFB12481DD40014316D /* Vector2.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EF3BBFC12481DD40014316D /* Vector2.h */; };
+ 6EF3BCFB12481DD40014316D /* Vector2.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EF3BBFC12481DD40014316D /* Vector2.h */; settings = {ATTRIBUTES = (Public, ); }; };
6EF3BCFC12481DD40014316D /* Vector2.inl in Resources */ = {isa = PBXBuildFile; fileRef = 6EF3BBFD12481DD40014316D /* Vector2.inl */; };
- 6EF3BCFD12481DD40014316D /* Vertex.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EF3BBFE12481DD40014316D /* Vertex.h */; };
- 6EF3BCFE12481DD40014316D /* WString.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EF3BBFF12481DD40014316D /* WString.h */; };
- 6EF3BCFF12481DD40014316D /* XMLNodeHandler.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EF3BC0012481DD40014316D /* XMLNodeHandler.h */; };
- 6EF3BD0012481DD40014316D /* XMLParser.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EF3BC0112481DD40014316D /* XMLParser.h */; };
+ 6EF3BCFD12481DD40014316D /* Vertex.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EF3BBFE12481DD40014316D /* Vertex.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 6EF3BCFE12481DD40014316D /* WString.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EF3BBFF12481DD40014316D /* WString.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 6EF3BCFF12481DD40014316D /* XMLNodeHandler.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EF3BC0012481DD40014316D /* XMLNodeHandler.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 6EF3BD0012481DD40014316D /* XMLParser.h in Headers */ = {isa = PBXBuildFile; fileRef = 6EF3BC0112481DD40014316D /* XMLParser.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 9D251E61159F6029001CE46F /* libz.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 9D251E60159F6029001CE46F /* libz.dylib */; };
+ 9D251E63159F6046001CE46F /* libz.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 9D251E62159F6046001CE46F /* libz.dylib */; };
+ 9D251E65159F6308001CE46F /* libbz2.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 9D251E64159F6308001CE46F /* libbz2.dylib */; };
+ 9D25211B159F7207001CE46F /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 9D252119159F7207001CE46F /* InfoPlist.strings */; };
+ 9D252123159F72AB001CE46F /* BaseXMLParser.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6E9D09261209823B00099E1A /* BaseXMLParser.cpp */; };
+ 9D252124159F72AB001CE46F /* Box.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6EF28B78120580DA000FAF17 /* Box.cpp */; };
+ 9D252125159F72AB001CE46F /* Clock.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6EF28D0312058A45000FAF17 /* Clock.cpp */; };
+ 9D252126159F72AB001CE46F /* Context.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6EF28D0512058A45000FAF17 /* Context.cpp */; };
+ 9D252127159F72AB001CE46F /* ContextInstancer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6EF28D0612058A45000FAF17 /* ContextInstancer.cpp */; };
+ 9D252128159F72AB001CE46F /* ContextInstancerDefault.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6EF28D0712058A45000FAF17 /* ContextInstancerDefault.cpp */; };
+ 9D252129159F72AB001CE46F /* ConvolutionFilter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6EF28D0912058A45000FAF17 /* ConvolutionFilter.cpp */; };
+ 9D25212A159F72AB001CE46F /* Core.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6EF28D0A12058A45000FAF17 /* Core.cpp */; };
+ 9D25212B159F72AB001CE46F /* Decorator.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6EF28D0C12058A45000FAF17 /* Decorator.cpp */; };
+ 9D25212C159F72AB001CE46F /* DecoratorInstancer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6EF28D0D12058A45000FAF17 /* DecoratorInstancer.cpp */; };
+ 9D25212D159F72AB001CE46F /* DecoratorNone.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6EF28D0E12058A45000FAF17 /* DecoratorNone.cpp */; };
+ 9D25212E159F72AB001CE46F /* DecoratorNoneInstancer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6EF28D1012058A45000FAF17 /* DecoratorNoneInstancer.cpp */; };
+ 9D25212F159F72AB001CE46F /* DecoratorTiled.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6EF28D1212058A45000FAF17 /* DecoratorTiled.cpp */; };
+ 9D252130159F72AB001CE46F /* DecoratorTiledBox.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6EF28D1412058A45000FAF17 /* DecoratorTiledBox.cpp */; };
+ 9D252131159F72AB001CE46F /* DecoratorTiledBoxInstancer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6EF28D1612058A45000FAF17 /* DecoratorTiledBoxInstancer.cpp */; };
+ 9D252132159F72AB001CE46F /* DecoratorTiledHorizontal.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6EF28D1812058A45000FAF17 /* DecoratorTiledHorizontal.cpp */; };
+ 9D252133159F72AB001CE46F /* DecoratorTiledHorizontalInstancer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6EF28D1A12058A45000FAF17 /* DecoratorTiledHorizontalInstancer.cpp */; };
+ 9D252134159F72AB001CE46F /* DecoratorTiledImage.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6EF28D1C12058A45000FAF17 /* DecoratorTiledImage.cpp */; };
+ 9D252135159F72AB001CE46F /* DecoratorTiledImageInstancer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6EF28D1E12058A45000FAF17 /* DecoratorTiledImageInstancer.cpp */; };
+ 9D252136159F72AB001CE46F /* DecoratorTiledInstancer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6EF28D2012058A45000FAF17 /* DecoratorTiledInstancer.cpp */; };
+ 9D252137159F72AB001CE46F /* DecoratorTiledVertical.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6EF28D2212058A45000FAF17 /* DecoratorTiledVertical.cpp */; };
+ 9D252138159F72AB001CE46F /* DecoratorTiledVerticalInstancer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6EF28D2412058A45000FAF17 /* DecoratorTiledVerticalInstancer.cpp */; };
+ 9D252139159F72AB001CE46F /* Dictionary.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6E9D09271209823B00099E1A /* Dictionary.cpp */; };
+ 9D25213A159F72AB001CE46F /* DocumentHeader.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6EF28D2612058A45000FAF17 /* DocumentHeader.cpp */; };
+ 9D25213B159F72AB001CE46F /* Element.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6EF28D2812058A45000FAF17 /* Element.cpp */; };
+ 9D25213C159F72AB001CE46F /* ElementBackground.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6EF28D2912058A45000FAF17 /* ElementBackground.cpp */; };
+ 9D25213D159F72AB001CE46F /* ElementBorder.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6EF28D2B12058A45000FAF17 /* ElementBorder.cpp */; };
+ 9D25213E159F72AB001CE46F /* ElementDecoration.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6EF28D2D12058A45000FAF17 /* ElementDecoration.cpp */; };
+ 9D25213F159F72AB001CE46F /* ElementDefinition.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6EF28D2F12058A45000FAF17 /* ElementDefinition.cpp */; };
+ 9D252140159F72AB001CE46F /* ElementDocument.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6EF28D3112058A45000FAF17 /* ElementDocument.cpp */; };
+ 9D252141159F72AB001CE46F /* ElementHandle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6EF28D3212058A45000FAF17 /* ElementHandle.cpp */; };
+ 9D252142159F72AB001CE46F /* ElementImage.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6EF28D3412058A45000FAF17 /* ElementImage.cpp */; };
+ 9D252143159F72AB001CE46F /* ElementInstancer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6EF28D3612058A45000FAF17 /* ElementInstancer.cpp */; };
+ 9D252144159F72AB001CE46F /* ElementReference.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6EF28D3712058A45000FAF17 /* ElementReference.cpp */; };
+ 9D252145159F72AB001CE46F /* ElementScroll.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6EF28D3812058A45000FAF17 /* ElementScroll.cpp */; };
+ 9D252146159F72AB001CE46F /* ElementStyle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6EF28D3912058A45000FAF17 /* ElementStyle.cpp */; };
+ 9D252147159F72AB001CE46F /* ElementText.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6EF28D3B12058A45000FAF17 /* ElementText.cpp */; };
+ 9D252148159F72AB001CE46F /* ElementTextDefault.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6EF28D3C12058A45000FAF17 /* ElementTextDefault.cpp */; };
+ 9D252149159F72AB001CE46F /* ElementUtilities.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6EF28D3E12058A45000FAF17 /* ElementUtilities.cpp */; };
+ 9D25214A159F72AB001CE46F /* Event.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6EF28D3F12058A45000FAF17 /* Event.cpp */; };
+ 9D25214B159F72AB001CE46F /* EventDispatcher.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6EF28D4012058A45000FAF17 /* EventDispatcher.cpp */; };
+ 9D25214C159F72AB001CE46F /* EventInstancer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6EF28D4212058A45000FAF17 /* EventInstancer.cpp */; };
+ 9D25214D159F72AB001CE46F /* EventInstancerDefault.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6EF28D4312058A45000FAF17 /* EventInstancerDefault.cpp */; };
+ 9D25214E159F72AB001CE46F /* EventListenerInstancer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6EF28D4612058A45000FAF17 /* EventListenerInstancer.cpp */; };
+ 9D25214F159F72AB001CE46F /* Factory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6EF28D4712058A45000FAF17 /* Factory.cpp */; };
+ 9D252150159F72AB001CE46F /* FileInterface.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6EF28D4812058A45000FAF17 /* FileInterface.cpp */; };
+ 9D252151159F72AB001CE46F /* FileInterfaceDefault.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6EF28D4912058A45000FAF17 /* FileInterfaceDefault.cpp */; };
+ 9D252152159F72AB001CE46F /* FontDatabase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6EF28D4B12058A45000FAF17 /* FontDatabase.cpp */; };
+ 9D252153159F72AB001CE46F /* FontEffect.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6EF28D4C12058A45000FAF17 /* FontEffect.cpp */; };
+ 9D252154159F72AB001CE46F /* FontEffectInstancer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6EF28D4D12058A45000FAF17 /* FontEffectInstancer.cpp */; };
+ 9D252155159F72AB001CE46F /* FontEffectNone.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6EF28D4E12058A45000FAF17 /* FontEffectNone.cpp */; };
+ 9D252156159F72AB001CE46F /* FontEffectNoneInstancer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6EF28D5012058A45000FAF17 /* FontEffectNoneInstancer.cpp */; };
+ 9D252157159F72AB001CE46F /* FontEffectOutline.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6EF28D5212058A45000FAF17 /* FontEffectOutline.cpp */; };
+ 9D252158159F72AB001CE46F /* FontEffectOutlineInstancer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6EF28D5412058A45000FAF17 /* FontEffectOutlineInstancer.cpp */; };
+ 9D252159159F72AB001CE46F /* FontEffectShadow.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6EF28D5612058A45000FAF17 /* FontEffectShadow.cpp */; };
+ 9D25215A159F72AB001CE46F /* FontEffectShadowInstancer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6EF28D5812058A45000FAF17 /* FontEffectShadowInstancer.cpp */; };
+ 9D25215B159F72AB001CE46F /* FontFace.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6EF28D5A12058A45000FAF17 /* FontFace.cpp */; };
+ 9D25215C159F72AB001CE46F /* FontFaceHandle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6EF28D5C12058A45000FAF17 /* FontFaceHandle.cpp */; };
+ 9D25215D159F72AB001CE46F /* FontFaceLayer.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6EF28D5E12058A45000FAF17 /* FontFaceLayer.cpp */; };
+ 9D25215E159F72AB001CE46F /* FontFamily.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6EF28D6012058A45000FAF17 /* FontFamily.cpp */; };
+ 9D25215F159F72AB001CE46F /* Geometry.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6EF28D6212058A45000FAF17 /* Geometry.cpp */; };
+ 9D252160159F72AB001CE46F /* GeometryDatabase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6EF28D6312058A45000FAF17 /* GeometryDatabase.cpp */; };
+ 9D252161159F72AB001CE46F /* GeometryUtilities.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6EF28D6512058A45000FAF17 /* GeometryUtilities.cpp */; };
+ 9D252162159F72AB001CE46F /* LayoutBlockBox.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6EF28D6612058A45000FAF17 /* LayoutBlockBox.cpp */; };
+ 9D252163159F72AB001CE46F /* LayoutBlockBoxSpace.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6EF28D6812058A45000FAF17 /* LayoutBlockBoxSpace.cpp */; };
+ 9D252164159F72AB001CE46F /* LayoutEngine.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6EF28D6A12058A45000FAF17 /* LayoutEngine.cpp */; };
+ 9D252165159F72AB001CE46F /* LayoutInlineBox.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6EF28D6C12058A45000FAF17 /* LayoutInlineBox.cpp */; };
+ 9D252166159F72AB001CE46F /* LayoutInlineBoxText.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6EF28D6E12058A45000FAF17 /* LayoutInlineBoxText.cpp */; };
+ 9D252167159F72AB001CE46F /* LayoutLineBox.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6EF28D7012058A45000FAF17 /* LayoutLineBox.cpp */; };
+ 9D252168159F72AB001CE46F /* Log.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6EF28D7212058A45000FAF17 /* Log.cpp */; };
+ 9D252169159F72AB001CE46F /* Math.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6E9D09771209858B00099E1A /* Math.cpp */; };
+ 9D25216A159F72AB001CE46F /* Plugin.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6EF28D7312058A45000FAF17 /* Plugin.cpp */; };
+ 9D25216B159F72AB001CE46F /* PluginRegistry.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6EF28D7412058A45000FAF17 /* PluginRegistry.cpp */; };
+ 9D25216C159F72AB001CE46F /* Property.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6EF28D7812058A45000FAF17 /* Property.cpp */; };
+ 9D25216D159F72AB001CE46F /* PropertyDefinition.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6EF28D7912058A45000FAF17 /* PropertyDefinition.cpp */; };
+ 9D25216E159F72AB001CE46F /* PropertyDictionary.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6EF28D7A12058A45000FAF17 /* PropertyDictionary.cpp */; };
+ 9D25216F159F72AB001CE46F /* PropertyParserColour.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6EF28D7B12058A45000FAF17 /* PropertyParserColour.cpp */; };
+ 9D252170159F72AB001CE46F /* PropertyParserKeyword.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6EF28D7D12058A45000FAF17 /* PropertyParserKeyword.cpp */; };
+ 9D252171159F72AB001CE46F /* PropertyParserNumber.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6EF28D7F12058A45000FAF17 /* PropertyParserNumber.cpp */; };
+ 9D252172159F72AB001CE46F /* PropertyParserString.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6EF28D8112058A45000FAF17 /* PropertyParserString.cpp */; };
+ 9D252173159F72AB001CE46F /* PropertySpecification.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6EF28D8412058A45000FAF17 /* PropertySpecification.cpp */; };
+ 9D252174159F72AB001CE46F /* ReferenceCountable.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6E9D0987120986B600099E1A /* ReferenceCountable.cpp */; };
+ 9D252175159F72AB001CE46F /* RenderInterface.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6EF28DE212058A45000FAF17 /* RenderInterface.cpp */; };
+ 9D252176159F72AB001CE46F /* Stream.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6E9D09281209823B00099E1A /* Stream.cpp */; };
+ 9D252177159F72AB001CE46F /* StreamFile.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6EF28DE312058A45000FAF17 /* StreamFile.cpp */; };
+ 9D252178159F72AB001CE46F /* StreamMemory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6E9D09291209823B00099E1A /* StreamMemory.cpp */; };
+ 9D252179159F72AB001CE46F /* String.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6E9D099B1209878A00099E1A /* String.cpp */; };
+ 9D25217A159F72AB001CE46F /* StringCache.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6EF28DE612058A45000FAF17 /* StringCache.cpp */; };
+ 9D25217B159F72AB001CE46F /* StringUtilities.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6E9D092A1209823B00099E1A /* StringUtilities.cpp */; };
+ 9D25217C159F72AB001CE46F /* StyleSheet.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6EF28DE812058A45000FAF17 /* StyleSheet.cpp */; };
+ 9D25217D159F72AB001CE46F /* StyleSheetFactory.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6EF28DE912058A45000FAF17 /* StyleSheetFactory.cpp */; };
+ 9D25217E159F72AB001CE46F /* StyleSheetNode.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6EF28DEB12058A45000FAF17 /* StyleSheetNode.cpp */; };
+ 9D25217F159F72AB001CE46F /* StyleSheetNodeSelector.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6EF28DED12058A45000FAF17 /* StyleSheetNodeSelector.cpp */; };
+ 9D252180159F72AB001CE46F /* StyleSheetNodeSelectorEmpty.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6EF28DEF12058A45000FAF17 /* StyleSheetNodeSelectorEmpty.cpp */; };
+ 9D252181159F72AB001CE46F /* StyleSheetNodeSelectorFirstChild.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6EF28DF112058A45000FAF17 /* StyleSheetNodeSelectorFirstChild.cpp */; };
+ 9D252182159F72AB001CE46F /* StyleSheetNodeSelectorFirstOfType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6EF28DF312058A45000FAF17 /* StyleSheetNodeSelectorFirstOfType.cpp */; };
+ 9D252183159F72AB001CE46F /* StyleSheetNodeSelectorLastChild.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6EF28DF512058A45000FAF17 /* StyleSheetNodeSelectorLastChild.cpp */; };
+ 9D252184159F72AB001CE46F /* StyleSheetNodeSelectorLastOfType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6EF28DF712058A45000FAF17 /* StyleSheetNodeSelectorLastOfType.cpp */; };
+ 9D252185159F72AB001CE46F /* StyleSheetNodeSelectorNthChild.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6EF28DF912058A45000FAF17 /* StyleSheetNodeSelectorNthChild.cpp */; };
+ 9D252186159F72AB001CE46F /* StyleSheetNodeSelectorNthLastChild.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6EF28DFB12058A45000FAF17 /* StyleSheetNodeSelectorNthLastChild.cpp */; };
+ 9D252187159F72AB001CE46F /* StyleSheetNodeSelectorNthLastOfType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6EF28DFD12058A45000FAF17 /* StyleSheetNodeSelectorNthLastOfType.cpp */; };
+ 9D252188159F72AB001CE46F /* StyleSheetNodeSelectorNthOfType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6EF28DFF12058A45000FAF17 /* StyleSheetNodeSelectorNthOfType.cpp */; };
+ 9D252189159F72AB001CE46F /* StyleSheetNodeSelectorOnlyChild.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6EF28E0112058A45000FAF17 /* StyleSheetNodeSelectorOnlyChild.cpp */; };
+ 9D25218A159F72AB001CE46F /* StyleSheetNodeSelectorOnlyOfType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6EF28E0312058A45000FAF17 /* StyleSheetNodeSelectorOnlyOfType.cpp */; };
+ 9D25218B159F72AB001CE46F /* StyleSheetParser.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6EF28E0512058A45000FAF17 /* StyleSheetParser.cpp */; };
+ 9D25218C159F72AB001CE46F /* StyleSheetSpecification.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6EF28E0712058A45000FAF17 /* StyleSheetSpecification.cpp */; };
+ 9D25218D159F72AB001CE46F /* SystemInterface.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6EF28E0812058A45000FAF17 /* SystemInterface.cpp */; };
+ 9D25218E159F72AB001CE46F /* Template.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6EF28E0912058A45000FAF17 /* Template.cpp */; };
+ 9D25218F159F72AB001CE46F /* TemplateCache.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6EF28E0B12058A45000FAF17 /* TemplateCache.cpp */; };
+ 9D252190159F72AB001CE46F /* Texture.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6EF28E0D12058A45000FAF17 /* Texture.cpp */; };
+ 9D252191159F72AB001CE46F /* TextureDatabase.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6EF28E0E12058A45000FAF17 /* TextureDatabase.cpp */; };
+ 9D252192159F72AB001CE46F /* TextureLayout.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6EF28E1012058A45000FAF17 /* TextureLayout.cpp */; };
+ 9D252193159F72AB001CE46F /* TextureLayoutRectangle.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6EF28E1212058A45000FAF17 /* TextureLayoutRectangle.cpp */; };
+ 9D252194159F72AB001CE46F /* TextureLayoutRow.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6EF28E1412058A45000FAF17 /* TextureLayoutRow.cpp */; };
+ 9D252195159F72AB001CE46F /* TextureLayoutTexture.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6EF28E1612058A45000FAF17 /* TextureLayoutTexture.cpp */; };
+ 9D252196159F72AB001CE46F /* TextureResource.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6EF28E1812058A45000FAF17 /* TextureResource.cpp */; };
+ 9D252197159F72AB001CE46F /* UnicodeRange.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6EF28E1D12058A45000FAF17 /* UnicodeRange.cpp */; };
+ 9D252198159F72AB001CE46F /* URL.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6E9D092B1209823B00099E1A /* URL.cpp */; };
+ 9D252199159F72AB001CE46F /* Variant.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6E9D092C1209823B00099E1A /* Variant.cpp */; };
+ 9D25219A159F72AB001CE46F /* WidgetSlider.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6EF28E1F12058A45000FAF17 /* WidgetSlider.cpp */; };
+ 9D25219B159F72AB001CE46F /* WidgetSliderScroll.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6EF28E2112058A45000FAF17 /* WidgetSliderScroll.cpp */; };
+ 9D25219C159F72AB001CE46F /* WString.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6EF28DE512058A45000FAF17 /* WString.cpp */; };
+ 9D25219D159F72AB001CE46F /* XMLNodeHandler.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6EF28E2312058A45000FAF17 /* XMLNodeHandler.cpp */; };
+ 9D25219E159F72AB001CE46F /* XMLNodeHandlerBody.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6EF28E2412058A45000FAF17 /* XMLNodeHandlerBody.cpp */; };
+ 9D25219F159F72AB001CE46F /* XMLNodeHandlerDefault.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6EF28E2612058A45000FAF17 /* XMLNodeHandlerDefault.cpp */; };
+ 9D2521A0159F72AB001CE46F /* XMLNodeHandlerHead.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6EF28E2812058A45000FAF17 /* XMLNodeHandlerHead.cpp */; };
+ 9D2521A1159F72AB001CE46F /* XMLNodeHandlerTemplate.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6EF28E2A12058A45000FAF17 /* XMLNodeHandlerTemplate.cpp */; };
+ 9D2521A2159F72AB001CE46F /* XMLParser.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6EF28E2C12058A45000FAF17 /* XMLParser.cpp */; };
+ 9D2521A3159F72AB001CE46F /* XMLParseTools.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6EF28E2D12058A45000FAF17 /* XMLParseTools.cpp */; };
+ 9D2521A4159F72E6001CE46F /* Clipboard.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6E8B1C2D123AB0CC00C451C8 /* Clipboard.cpp */; };
+ 9D2521A5159F72E6001CE46F /* Controls.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6E8B1C2E123AB0CC00C451C8 /* Controls.cpp */; };
+ 9D2521A6159F72E6001CE46F /* DataFormatter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6E8B1C2F123AB0CC00C451C8 /* DataFormatter.cpp */; };
+ 9D2521A7159F72E6001CE46F /* DataQuery.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6E8B1C30123AB0CC00C451C8 /* DataQuery.cpp */; };
+ 9D2521A8159F72E6001CE46F /* DataSource.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6E8B1C31123AB0CC00C451C8 /* DataSource.cpp */; };
+ 9D2521A9159F72E6001CE46F /* DataSourceListener.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6E8B1C32123AB0CC00C451C8 /* DataSourceListener.cpp */; };
+ 9D2521AA159F72E6001CE46F /* ElementDataGrid.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6E8B1C33123AB0CC00C451C8 /* ElementDataGrid.cpp */; };
+ 9D2521AB159F72E6001CE46F /* ElementDataGridCell.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6E8B1C34123AB0CC00C451C8 /* ElementDataGridCell.cpp */; };
+ 9D2521AC159F72E6001CE46F /* ElementDataGridExpandButton.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6E8B1C35123AB0CC00C451C8 /* ElementDataGridExpandButton.cpp */; };
+ 9D2521AD159F72E6001CE46F /* ElementDataGridRow.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6E8B1C36123AB0CC00C451C8 /* ElementDataGridRow.cpp */; };
+ 9D2521AE159F72E6001CE46F /* ElementForm.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6E8B1C37123AB0CC00C451C8 /* ElementForm.cpp */; };
+ 9D2521AF159F72E6001CE46F /* ElementFormControl.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6E8B1C38123AB0CC00C451C8 /* ElementFormControl.cpp */; };
+ 9D2521B0159F72E6001CE46F /* ElementFormControlDataSelect.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6E8B1C39123AB0CC00C451C8 /* ElementFormControlDataSelect.cpp */; };
+ 9D2521B1159F72E6001CE46F /* ElementFormControlInput.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6E8B1C3A123AB0CC00C451C8 /* ElementFormControlInput.cpp */; };
+ 9D2521B2159F72E6001CE46F /* ElementFormControlSelect.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6E8B1C3B123AB0CC00C451C8 /* ElementFormControlSelect.cpp */; };
+ 9D2521B3159F72E6001CE46F /* ElementFormControlTextArea.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6E8B1C3C123AB0CC00C451C8 /* ElementFormControlTextArea.cpp */; };
+ 9D2521B4159F72E6001CE46F /* ElementTabSet.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6E8B1C3D123AB0CC00C451C8 /* ElementTabSet.cpp */; };
+ 9D2521B5159F72E6001CE46F /* ElementTextSelection.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6E8B1C3E123AB0CC00C451C8 /* ElementTextSelection.cpp */; };
+ 9D2521B7159F72E6001CE46F /* InputType.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6E8B1C40123AB0CC00C451C8 /* InputType.cpp */; };
+ 9D2521B9159F72E6001CE46F /* InputTypeButton.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6E8B1C42123AB0CC00C451C8 /* InputTypeButton.cpp */; };
+ 9D2521BB159F72E6001CE46F /* InputTypeCheckbox.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6E8B1C44123AB0CC00C451C8 /* InputTypeCheckbox.cpp */; };
+ 9D2521BD159F72E6001CE46F /* InputTypeRadio.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6E8B1C46123AB0CC00C451C8 /* InputTypeRadio.cpp */; };
+ 9D2521BF159F72E6001CE46F /* InputTypeRange.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6E8B1C48123AB0CC00C451C8 /* InputTypeRange.cpp */; };
+ 9D2521C1159F72E6001CE46F /* InputTypeSubmit.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6E8B1C4A123AB0CC00C451C8 /* InputTypeSubmit.cpp */; };
+ 9D2521C3159F72E6001CE46F /* InputTypeText.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6E8B1C4C123AB0CC00C451C8 /* InputTypeText.cpp */; };
+ 9D2521C5159F72E6001CE46F /* SelectOption.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6E8B1C5D123AB0CC00C451C8 /* SelectOption.cpp */; };
+ 9D2521C6159F72E6001CE46F /* WidgetDropDown.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6E8B1C5E123AB0CC00C451C8 /* WidgetDropDown.cpp */; };
+ 9D2521C8159F72E6001CE46F /* WidgetSlider.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6E8B1C60123AB0CC00C451C8 /* WidgetSlider.cpp */; };
+ 9D2521CA159F72E6001CE46F /* WidgetSliderInput.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6E8B1C62123AB0CC00C451C8 /* WidgetSliderInput.cpp */; };
+ 9D2521CC159F72E6001CE46F /* WidgetTextInput.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6E8B1C64123AB0CC00C451C8 /* WidgetTextInput.cpp */; };
+ 9D2521CE159F72E6001CE46F /* WidgetTextInputMultiLine.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6E8B1C66123AB0CC00C451C8 /* WidgetTextInputMultiLine.cpp */; };
+ 9D2521D0159F72E6001CE46F /* WidgetTextInputSingleLine.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6E8B1C68123AB0CC00C451C8 /* WidgetTextInputSingleLine.cpp */; };
+ 9D2521D2159F72E6001CE46F /* WidgetTextInputSingleLinePassword.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6E8B1C6A123AB0CC00C451C8 /* WidgetTextInputSingleLinePassword.cpp */; };
+ 9D2521D4159F72E6001CE46F /* XMLNodeHandlerDataGrid.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6E8B1C6C123AB0CC00C451C8 /* XMLNodeHandlerDataGrid.cpp */; };
+ 9D2521D6159F72E6001CE46F /* XMLNodeHandlerTabSet.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6E8B1C6E123AB0CC00C451C8 /* XMLNodeHandlerTabSet.cpp */; };
+ 9D2521D8159F72E6001CE46F /* XMLNodeHandlerTextArea.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 6E8B1C70123AB0CC00C451C8 /* XMLNodeHandlerTextArea.cpp */; };
+ 9D2521DE159F7346001CE46F /* Controls in Resources */ = {isa = PBXBuildFile; fileRef = 9D2521DA159F7346001CE46F /* Controls */; };
+ 9D2521DF159F7346001CE46F /* Core in Resources */ = {isa = PBXBuildFile; fileRef = 9D2521DB159F7346001CE46F /* Core */; };
+ 9D2521E0159F7346001CE46F /* Controls.h in Headers */ = {isa = PBXBuildFile; fileRef = 9D2521DC159F7346001CE46F /* Controls.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 9D2521E1159F7346001CE46F /* Core.h in Headers */ = {isa = PBXBuildFile; fileRef = 9D2521DD159F7346001CE46F /* Core.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 9D2521E2159F7352001CE46F /* Controls in Headers */ = {isa = PBXBuildFile; fileRef = 9D2521DA159F7346001CE46F /* Controls */; settings = {ATTRIBUTES = (Public, ); }; };
+ 9D2521E3159F7352001CE46F /* Core in Headers */ = {isa = PBXBuildFile; fileRef = 9D2521DB159F7346001CE46F /* Core */; settings = {ATTRIBUTES = (Public, ); }; };
+ 9D2521E5159F73C0001CE46F /* libfreetype.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 6E8B1DC2123AB7A500C451C8 /* libfreetype.a */; };
+ 9D2521E6159F73C0001CE46F /* libbz2.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 9D251E64159F6308001CE46F /* libbz2.dylib */; };
+ 9D2521E7159F73C0001CE46F /* libz.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 9D251E60159F6029001CE46F /* libz.dylib */; };
/* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */
@@ -554,8 +731,6 @@
6E8B1C70123AB0CC00C451C8 /* XMLNodeHandlerTextArea.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = XMLNodeHandlerTextArea.cpp; path = ../Source/Controls/XMLNodeHandlerTextArea.cpp; sourceTree = SOURCE_ROOT; };
6E8B1C71123AB0CC00C451C8 /* XMLNodeHandlerTextArea.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = XMLNodeHandlerTextArea.h; path = ../Source/Controls/XMLNodeHandlerTextArea.h; sourceTree = SOURCE_ROOT; };
6E8B1DC2123AB7A500C451C8 /* libfreetype.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libfreetype.a; path = ../../support/lib/libfreetype.a; sourceTree = SOURCE_ROOT; };
- 6E8B1DCF123ABA2200C451C8 /* libz.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libz.dylib; path = usr/lib/libz.dylib; sourceTree = SDKROOT; };
- 6E8B1DD1123ABA3A00C451C8 /* libz.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libz.dylib; path = usr/lib/libz.dylib; sourceTree = SDKROOT; };
6E8B1DDC123ABC7800C451C8 /* RocketCoreOSX.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = RocketCoreOSX.framework; sourceTree = BUILT_PRODUCTS_DIR; };
6E8B1DDD123ABC7800C451C8 /* RocketCoreOSX-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "RocketCoreOSX-Info.plist"; sourceTree = "<group>"; };
6E8B1E6B123ABCEF00C451C8 /* RocketControlsOSX.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = RocketControlsOSX.framework; sourceTree = BUILT_PRODUCTS_DIR; };
@@ -807,6 +982,16 @@
6EF3BBFF12481DD40014316D /* WString.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = WString.h; path = ../Include/Rocket/Core/WString.h; sourceTree = SOURCE_ROOT; };
6EF3BC0012481DD40014316D /* XMLNodeHandler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = XMLNodeHandler.h; path = ../Include/Rocket/Core/XMLNodeHandler.h; sourceTree = SOURCE_ROOT; };
6EF3BC0112481DD40014316D /* XMLParser.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = XMLParser.h; path = ../Include/Rocket/Core/XMLParser.h; sourceTree = SOURCE_ROOT; };
+ 9D251E60159F6029001CE46F /* libz.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libz.dylib; path = Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.7.sdk/usr/lib/libz.dylib; sourceTree = DEVELOPER_DIR; };
+ 9D251E62159F6046001CE46F /* libz.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libz.dylib; path = usr/lib/libz.dylib; sourceTree = SDKROOT; };
+ 9D251E64159F6308001CE46F /* libbz2.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libbz2.dylib; path = Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.7.sdk/usr/lib/libbz2.dylib; sourceTree = DEVELOPER_DIR; };
+ 9D25210E159F7207001CE46F /* Rocket.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Rocket.framework; sourceTree = BUILT_PRODUCTS_DIR; };
+ 9D252118159F7207001CE46F /* Rocket-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "Rocket-Info.plist"; sourceTree = "<group>"; };
+ 9D25211A159F7207001CE46F /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = "<group>"; };
+ 9D2521DA159F7346001CE46F /* Controls */ = {isa = PBXFileReference; lastKnownFileType = folder; name = Controls; path = ../../../../../warsow_0.7_sdk/libsrcs/libRocket/libRocket/Include/Rocket/Controls; sourceTree = "<group>"; };
+ 9D2521DB159F7346001CE46F /* Core */ = {isa = PBXFileReference; lastKnownFileType = folder; name = Core; path = ../../../../../warsow_0.7_sdk/libsrcs/libRocket/libRocket/Include/Rocket/Core; sourceTree = "<group>"; };
+ 9D2521DC159F7346001CE46F /* Controls.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Controls.h; path = ../../../../../warsow_0.7_sdk/libsrcs/libRocket/libRocket/Include/Rocket/Controls.h; sourceTree = "<group>"; };
+ 9D2521DD159F7346001CE46F /* Core.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Core.h; path = ../../../../../warsow_0.7_sdk/libsrcs/libRocket/libRocket/Include/Rocket/Core.h; sourceTree = "<group>"; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
@@ -821,8 +1006,9 @@
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
+ 9D251E65159F6308001CE46F /* libbz2.dylib in Frameworks */,
+ 9D251E61159F6029001CE46F /* libz.dylib in Frameworks */,
6E8B1DE1123ABCA200C451C8 /* libfreetype.a in Frameworks */,
- 6E8B1DE2123ABCA200C451C8 /* libz.dylib in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
@@ -849,10 +1035,21 @@
);
runOnlyForDeploymentPostprocessing = 0;
};
+ 9D25210A159F7207001CE46F /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 9D2521E5159F73C0001CE46F /* libfreetype.a in Frameworks */,
+ 9D2521E6159F73C0001CE46F /* libbz2.dylib in Frameworks */,
+ 9D2521E7159F73C0001CE46F /* libz.dylib in Frameworks */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
D2AAC07C0554694100DB518D /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
+ 9D251E63159F6046001CE46F /* libz.dylib in Frameworks */,
6E8B1DC3123AB7A500C451C8 /* libfreetype.a in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
@@ -867,6 +1064,7 @@
6E8B1BE2123AADEB00C451C8 /* Controls */,
6E8B1BD8123AABCD00C451C8 /* Core */,
6E9D09201209807A00099E1A /* Libraries */,
+ 9D252116159F7207001CE46F /* Rocket */,
);
name = test;
sourceTree = "<group>";
@@ -1200,15 +1398,46 @@
6E8B1DDD123ABC7800C451C8 /* RocketCoreOSX-Info.plist */,
6E8B1E6B123ABCEF00C451C8 /* RocketControlsOSX.framework */,
6E8B1E6C123ABCEF00C451C8 /* RocketControlsOSX-Info.plist */,
- 6E8B1DCF123ABA2200C451C8 /* libz.dylib */,
- 6E8B1DD1123ABA3A00C451C8 /* libz.dylib */,
+ 9D25210E159F7207001CE46F /* Rocket.framework */,
6E8B1DC2123AB7A500C451C8 /* libfreetype.a */,
+ 9D251E64159F6308001CE46F /* libbz2.dylib */,
+ 9D251E62159F6046001CE46F /* libz.dylib */,
+ 9D251E60159F6029001CE46F /* libz.dylib */,
6E8B1BF0123AAEE200C451C8 /* libRocketControlsiOS.a */,
6E8B1B0C123A0E2A00C451C8 /* libRocketCoreiOS.a */,
);
name = Libraries;
sourceTree = "<group>";
};
+ 9D252116159F7207001CE46F /* Rocket */ = {
+ isa = PBXGroup;
+ children = (
+ 9D2521E4159F7367001CE46F /* Public Headers */,
+ 9D252117159F7207001CE46F /* Supporting Files */,
+ );
+ path = Rocket;
+ sourceTree = "<group>";
+ };
+ 9D252117159F7207001CE46F /* Supporting Files */ = {
+ isa = PBXGroup;
+ children = (
+ 9D252118159F7207001CE46F /* Rocket-Info.plist */,
+ 9D252119159F7207001CE46F /* InfoPlist.strings */,
+ );
+ name = "Supporting Files";
+ sourceTree = "<group>";
+ };
+ 9D2521E4159F7367001CE46F /* Public Headers */ = {
+ isa = PBXGroup;
+ children = (
+ 9D2521DA159F7346001CE46F /* Controls */,
+ 9D2521DB159F7346001CE46F /* Core */,
+ 9D2521DC159F7346001CE46F /* Controls.h */,
+ 9D2521DD159F7346001CE46F /* Core.h */,
+ );
+ name = "Public Headers";
+ sourceTree = "<group>";
+ };
/* End PBXGroup section */
/* Begin PBXHeadersBuildPhase section */
@@ -1336,6 +1565,17 @@
);
runOnlyForDeploymentPostprocessing = 0;
};
+ 9D25210B159F7207001CE46F /* Headers */ = {
+ isa = PBXHeadersBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 9D2521E2159F7352001CE46F /* Controls in Headers */,
+ 9D2521E3159F7352001CE46F /* Core in Headers */,
+ 9D2521E0159F7346001CE46F /* Controls.h in Headers */,
+ 9D2521E1159F7346001CE46F /* Core.h in Headers */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
D2AAC07A0554694100DB518D /* Headers */ = {
isa = PBXHeadersBuildPhase;
buildActionMask = 2147483647;
@@ -1438,6 +1678,24 @@
productReference = 6E8B1EC6123AC80700C451C8 /* RocketDebuggerOSX.framework */;
productType = "com.apple.product-type.framework";
};
+ 9D25210D159F7207001CE46F /* Rocket */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = 9D252120159F7207001CE46F /* Build configuration list for PBXNativeTarget "Rocket" */;
+ buildPhases = (
+ 9D252109159F7207001CE46F /* Sources */,
+ 9D25210A159F7207001CE46F /* Frameworks */,
+ 9D25210B159F7207001CE46F /* Headers */,
+ 9D25210C159F7207001CE46F /* Resources */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ );
+ name = Rocket;
+ productName = Rocket;
+ productReference = 9D25210E159F7207001CE46F /* Rocket.framework */;
+ productType = "com.apple.product-type.framework";
+ };
D2AAC07D0554694100DB518D /* RocketCoreiOS */ = {
isa = PBXNativeTarget;
buildConfigurationList = 1DEB921E08733DC00010E9CD /* Build configuration list for PBXNativeTarget "RocketCoreiOS" */;
@@ -1478,6 +1736,7 @@
6E8B1DDB123ABC7800C451C8 /* RocketCoreOSX */,
6E8B1EBB123AC7A200C451C8 /* RocketDebuggeriOS */,
6E8B1EC5123AC80700C451C8 /* RocketDebuggerOSX */,
+ 9D25210D159F7207001CE46F /* Rocket */,
);
};
/* End PBXProject section */
@@ -1522,6 +1781,16 @@
);
runOnlyForDeploymentPostprocessing = 0;
};
+ 9D25210C159F7207001CE46F /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 9D25211B159F7207001CE46F /* InfoPlist.strings in Resources */,
+ 9D2521DE159F7346001CE46F /* Controls in Resources */,
+ 9D2521DF159F7346001CE46F /* Core in Resources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
/* End PBXResourcesBuildPhase section */
/* Begin PBXSourcesBuildPhase section */
@@ -1775,6 +2044,178 @@
);
runOnlyForDeploymentPostprocessing = 0;
};
+ 9D252109159F7207001CE46F /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 9D252123159F72AB001CE46F /* BaseXMLParser.cpp in Sources */,
+ 9D252124159F72AB001CE46F /* Box.cpp in Sources */,
+ 9D252125159F72AB001CE46F /* Clock.cpp in Sources */,
+ 9D252126159F72AB001CE46F /* Context.cpp in Sources */,
+ 9D252127159F72AB001CE46F /* ContextInstancer.cpp in Sources */,
+ 9D252128159F72AB001CE46F /* ContextInstancerDefault.cpp in Sources */,
+ 9D252129159F72AB001CE46F /* ConvolutionFilter.cpp in Sources */,
+ 9D25212A159F72AB001CE46F /* Core.cpp in Sources */,
+ 9D25212B159F72AB001CE46F /* Decorator.cpp in Sources */,
+ 9D25212C159F72AB001CE46F /* DecoratorInstancer.cpp in Sources */,
+ 9D25212D159F72AB001CE46F /* DecoratorNone.cpp in Sources */,
+ 9D25212E159F72AB001CE46F /* DecoratorNoneInstancer.cpp in Sources */,
+ 9D25212F159F72AB001CE46F /* DecoratorTiled.cpp in Sources */,
+ 9D252130159F72AB001CE46F /* DecoratorTiledBox.cpp in Sources */,
+ 9D252131159F72AB001CE46F /* DecoratorTiledBoxInstancer.cpp in Sources */,
+ 9D252132159F72AB001CE46F /* DecoratorTiledHorizontal.cpp in Sources */,
+ 9D252133159F72AB001CE46F /* DecoratorTiledHorizontalInstancer.cpp in Sources */,
+ 9D252134159F72AB001CE46F /* DecoratorTiledImage.cpp in Sources */,
+ 9D252135159F72AB001CE46F /* DecoratorTiledImageInstancer.cpp in Sources */,
+ 9D252136159F72AB001CE46F /* DecoratorTiledInstancer.cpp in Sources */,
+ 9D252137159F72AB001CE46F /* DecoratorTiledVertical.cpp in Sources */,
+ 9D252138159F72AB001CE46F /* DecoratorTiledVerticalInstancer.cpp in Sources */,
+ 9D252139159F72AB001CE46F /* Dictionary.cpp in Sources */,
+ 9D25213A159F72AB001CE46F /* DocumentHeader.cpp in Sources */,
+ 9D25213B159F72AB001CE46F /* Element.cpp in Sources */,
+ 9D25213C159F72AB001CE46F /* ElementBackground.cpp in Sources */,
+ 9D25213D159F72AB001CE46F /* ElementBorder.cpp in Sources */,
+ 9D25213E159F72AB001CE46F /* ElementDecoration.cpp in Sources */,
+ 9D25213F159F72AB001CE46F /* ElementDefinition.cpp in Sources */,
+ 9D252140159F72AB001CE46F /* ElementDocument.cpp in Sources */,
+ 9D252141159F72AB001CE46F /* ElementHandle.cpp in Sources */,
+ 9D252142159F72AB001CE46F /* ElementImage.cpp in Sources */,
+ 9D252143159F72AB001CE46F /* ElementInstancer.cpp in Sources */,
+ 9D252144159F72AB001CE46F /* ElementReference.cpp in Sources */,
+ 9D252145159F72AB001CE46F /* ElementScroll.cpp in Sources */,
+ 9D252146159F72AB001CE46F /* ElementStyle.cpp in Sources */,
+ 9D252147159F72AB001CE46F /* ElementText.cpp in Sources */,
+ 9D252148159F72AB001CE46F /* ElementTextDefault.cpp in Sources */,
+ 9D252149159F72AB001CE46F /* ElementUtilities.cpp in Sources */,
+ 9D25214A159F72AB001CE46F /* Event.cpp in Sources */,
+ 9D25214B159F72AB001CE46F /* EventDispatcher.cpp in Sources */,
+ 9D25214C159F72AB001CE46F /* EventInstancer.cpp in Sources */,
+ 9D25214D159F72AB001CE46F /* EventInstancerDefault.cpp in Sources */,
+ 9D25214E159F72AB001CE46F /* EventListenerInstancer.cpp in Sources */,
+ 9D25214F159F72AB001CE46F /* Factory.cpp in Sources */,
+ 9D252150159F72AB001CE46F /* FileInterface.cpp in Sources */,
+ 9D252151159F72AB001CE46F /* FileInterfaceDefault.cpp in Sources */,
+ 9D252152159F72AB001CE46F /* FontDatabase.cpp in Sources */,
+ 9D252153159F72AB001CE46F /* FontEffect.cpp in Sources */,
+ 9D252154159F72AB001CE46F /* FontEffectInstancer.cpp in Sources */,
+ 9D252155159F72AB001CE46F /* FontEffectNone.cpp in Sources */,
+ 9D252156159F72AB001CE46F /* FontEffectNoneInstancer.cpp in Sources */,
+ 9D252157159F72AB001CE46F /* FontEffectOutline.cpp in Sources */,
+ 9D252158159F72AB001CE46F /* FontEffectOutlineInstancer.cpp in Sources */,
+ 9D252159159F72AB001CE46F /* FontEffectShadow.cpp in Sources */,
+ 9D25215A159F72AB001CE46F /* FontEffectShadowInstancer.cpp in Sources */,
+ 9D25215B159F72AB001CE46F /* FontFace.cpp in Sources */,
+ 9D25215C159F72AB001CE46F /* FontFaceHandle.cpp in Sources */,
+ 9D25215D159F72AB001CE46F /* FontFaceLayer.cpp in Sources */,
+ 9D25215E159F72AB001CE46F /* FontFamily.cpp in Sources */,
+ 9D25215F159F72AB001CE46F /* Geometry.cpp in Sources */,
+ 9D252160159F72AB001CE46F /* GeometryDatabase.cpp in Sources */,
+ 9D252161159F72AB001CE46F /* GeometryUtilities.cpp in Sources */,
+ 9D252162159F72AB001CE46F /* LayoutBlockBox.cpp in Sources */,
+ 9D252163159F72AB001CE46F /* LayoutBlockBoxSpace.cpp in Sources */,
+ 9D252164159F72AB001CE46F /* LayoutEngine.cpp in Sources */,
+ 9D252165159F72AB001CE46F /* LayoutInlineBox.cpp in Sources */,
+ 9D252166159F72AB001CE46F /* LayoutInlineBoxText.cpp in Sources */,
+ 9D252167159F72AB001CE46F /* LayoutLineBox.cpp in Sources */,
+ 9D252168159F72AB001CE46F /* Log.cpp in Sources */,
+ 9D252169159F72AB001CE46F /* Math.cpp in Sources */,
+ 9D25216A159F72AB001CE46F /* Plugin.cpp in Sources */,
+ 9D25216B159F72AB001CE46F /* PluginRegistry.cpp in Sources */,
+ 9D25216C159F72AB001CE46F /* Property.cpp in Sources */,
+ 9D25216D159F72AB001CE46F /* PropertyDefinition.cpp in Sources */,
+ 9D25216E159F72AB001CE46F /* PropertyDictionary.cpp in Sources */,
+ 9D25216F159F72AB001CE46F /* PropertyParserColour.cpp in Sources */,
+ 9D252170159F72AB001CE46F /* PropertyParserKeyword.cpp in Sources */,
+ 9D252171159F72AB001CE46F /* PropertyParserNumber.cpp in Sources */,
+ 9D252172159F72AB001CE46F /* PropertyParserString.cpp in Sources */,
+ 9D252173159F72AB001CE46F /* PropertySpecification.cpp in Sources */,
+ 9D252174159F72AB001CE46F /* ReferenceCountable.cpp in Sources */,
+ 9D252175159F72AB001CE46F /* RenderInterface.cpp in Sources */,
+ 9D252176159F72AB001CE46F /* Stream.cpp in Sources */,
+ 9D252177159F72AB001CE46F /* StreamFile.cpp in Sources */,
+ 9D252178159F72AB001CE46F /* StreamMemory.cpp in Sources */,
+ 9D252179159F72AB001CE46F /* String.cpp in Sources */,
+ 9D25217A159F72AB001CE46F /* StringCache.cpp in Sources */,
+ 9D25217B159F72AB001CE46F /* StringUtilities.cpp in Sources */,
+ 9D25217C159F72AB001CE46F /* StyleSheet.cpp in Sources */,
+ 9D25217D159F72AB001CE46F /* StyleSheetFactory.cpp in Sources */,
+ 9D25217E159F72AB001CE46F /* StyleSheetNode.cpp in Sources */,
+ 9D25217F159F72AB001CE46F /* StyleSheetNodeSelector.cpp in Sources */,
+ 9D252180159F72AB001CE46F /* StyleSheetNodeSelectorEmpty.cpp in Sources */,
+ 9D252181159F72AB001CE46F /* StyleSheetNodeSelectorFirstChild.cpp in Sources */,
+ 9D252182159F72AB001CE46F /* StyleSheetNodeSelectorFirstOfType.cpp in Sources */,
+ 9D252183159F72AB001CE46F /* StyleSheetNodeSelectorLastChild.cpp in Sources */,
+ 9D252184159F72AB001CE46F /* StyleSheetNodeSelectorLastOfType.cpp in Sources */,
+ 9D252185159F72AB001CE46F /* StyleSheetNodeSelectorNthChild.cpp in Sources */,
+ 9D252186159F72AB001CE46F /* StyleSheetNodeSelectorNthLastChild.cpp in Sources */,
+ 9D252187159F72AB001CE46F /* StyleSheetNodeSelectorNthLastOfType.cpp in Sources */,
+ 9D252188159F72AB001CE46F /* StyleSheetNodeSelectorNthOfType.cpp in Sources */,
+ 9D252189159F72AB001CE46F /* StyleSheetNodeSelectorOnlyChild.cpp in Sources */,
+ 9D25218A159F72AB001CE46F /* StyleSheetNodeSelectorOnlyOfType.cpp in Sources */,
+ 9D25218B159F72AB001CE46F /* StyleSheetParser.cpp in Sources */,
+ 9D25218C159F72AB001CE46F /* StyleSheetSpecification.cpp in Sources */,
+ 9D25218D159F72AB001CE46F /* SystemInterface.cpp in Sources */,
+ 9D25218E159F72AB001CE46F /* Template.cpp in Sources */,
+ 9D25218F159F72AB001CE46F /* TemplateCache.cpp in Sources */,
+ 9D252190159F72AB001CE46F /* Texture.cpp in Sources */,
+ 9D252191159F72AB001CE46F /* TextureDatabase.cpp in Sources */,
+ 9D252192159F72AB001CE46F /* TextureLayout.cpp in Sources */,
+ 9D252193159F72AB001CE46F /* TextureLayoutRectangle.cpp in Sources */,
+ 9D252194159F72AB001CE46F /* TextureLayoutRow.cpp in Sources */,
+ 9D252195159F72AB001CE46F /* TextureLayoutTexture.cpp in Sources */,
+ 9D252196159F72AB001CE46F /* TextureResource.cpp in Sources */,
+ 9D252197159F72AB001CE46F /* UnicodeRange.cpp in Sources */,
+ 9D252198159F72AB001CE46F /* URL.cpp in Sources */,
+ 9D252199159F72AB001CE46F /* Variant.cpp in Sources */,
+ 9D25219A159F72AB001CE46F /* WidgetSlider.cpp in Sources */,
+ 9D25219B159F72AB001CE46F /* WidgetSliderScroll.cpp in Sources */,
+ 9D25219C159F72AB001CE46F /* WString.cpp in Sources */,
+ 9D25219D159F72AB001CE46F /* XMLNodeHandler.cpp in Sources */,
+ 9D25219E159F72AB001CE46F /* XMLNodeHandlerBody.cpp in Sources */,
+ 9D25219F159F72AB001CE46F /* XMLNodeHandlerDefault.cpp in Sources */,
+ 9D2521A0159F72AB001CE46F /* XMLNodeHandlerHead.cpp in Sources */,
+ 9D2521A1159F72AB001CE46F /* XMLNodeHandlerTemplate.cpp in Sources */,
+ 9D2521A2159F72AB001CE46F /* XMLParser.cpp in Sources */,
+ 9D2521A3159F72AB001CE46F /* XMLParseTools.cpp in Sources */,
+ 9D2521A4159F72E6001CE46F /* Clipboard.cpp in Sources */,
+ 9D2521A5159F72E6001CE46F /* Controls.cpp in Sources */,
+ 9D2521A6159F72E6001CE46F /* DataFormatter.cpp in Sources */,
+ 9D2521A7159F72E6001CE46F /* DataQuery.cpp in Sources */,
+ 9D2521A8159F72E6001CE46F /* DataSource.cpp in Sources */,
+ 9D2521A9159F72E6001CE46F /* DataSourceListener.cpp in Sources */,
+ 9D2521AA159F72E6001CE46F /* ElementDataGrid.cpp in Sources */,
+ 9D2521AB159F72E6001CE46F /* ElementDataGridCell.cpp in Sources */,
+ 9D2521AC159F72E6001CE46F /* ElementDataGridExpandButton.cpp in Sources */,
+ 9D2521AD159F72E6001CE46F /* ElementDataGridRow.cpp in Sources */,
+ 9D2521AE159F72E6001CE46F /* ElementForm.cpp in Sources */,
+ 9D2521AF159F72E6001CE46F /* ElementFormControl.cpp in Sources */,
+ 9D2521B0159F72E6001CE46F /* ElementFormControlDataSelect.cpp in Sources */,
+ 9D2521B1159F72E6001CE46F /* ElementFormControlInput.cpp in Sources */,
+ 9D2521B2159F72E6001CE46F /* ElementFormControlSelect.cpp in Sources */,
+ 9D2521B3159F72E6001CE46F /* ElementFormControlTextArea.cpp in Sources */,
+ 9D2521B4159F72E6001CE46F /* ElementTabSet.cpp in Sources */,
+ 9D2521B5159F72E6001CE46F /* ElementTextSelection.cpp in Sources */,
+ 9D2521B7159F72E6001CE46F /* InputType.cpp in Sources */,
+ 9D2521B9159F72E6001CE46F /* InputTypeButton.cpp in Sources */,
+ 9D2521BB159F72E6001CE46F /* InputTypeCheckbox.cpp in Sources */,
+ 9D2521BD159F72E6001CE46F /* InputTypeRadio.cpp in Sources */,
+ 9D2521BF159F72E6001CE46F /* InputTypeRange.cpp in Sources */,
+ 9D2521C1159F72E6001CE46F /* InputTypeSubmit.cpp in Sources */,
+ 9D2521C3159F72E6001CE46F /* InputTypeText.cpp in Sources */,
+ 9D2521C5159F72E6001CE46F /* SelectOption.cpp in Sources */,
+ 9D2521C6159F72E6001CE46F /* WidgetDropDown.cpp in Sources */,
+ 9D2521C8159F72E6001CE46F /* WidgetSlider.cpp in Sources */,
+ 9D2521CA159F72E6001CE46F /* WidgetSliderInput.cpp in Sources */,
+ 9D2521CC159F72E6001CE46F /* WidgetTextInput.cpp in Sources */,
+ 9D2521CE159F72E6001CE46F /* WidgetTextInputMultiLine.cpp in Sources */,
+ 9D2521D0159F72E6001CE46F /* WidgetTextInputSingleLine.cpp in Sources */,
+ 9D2521D2159F72E6001CE46F /* WidgetTextInputSingleLinePassword.cpp in Sources */,
+ 9D2521D4159F72E6001CE46F /* XMLNodeHandlerDataGrid.cpp in Sources */,
+ 9D2521D6159F72E6001CE46F /* XMLNodeHandlerTabSet.cpp in Sources */,
+ 9D2521D8159F72E6001CE46F /* XMLNodeHandlerTextArea.cpp in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
D2AAC07B0554694100DB518D /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
@@ -1936,6 +2377,17 @@
};
/* End PBXTargetDependency section */
+/* Begin PBXVariantGroup section */
+ 9D252119159F7207001CE46F /* InfoPlist.strings */ = {
+ isa = PBXVariantGroup;
+ children = (
+ 9D25211A159F7207001CE46F /* en */,
+ );
+ name = InfoPlist.strings;
+ sourceTree = "<group>";
+ };
+/* End PBXVariantGroup section */
+
/* Begin XCBuildConfiguration section */
1DEB921F08733DC00010E9CD /* Debug */ = {
isa = XCBuildConfiguration;
@@ -2049,7 +2501,7 @@
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
- ARCHS = "$(ARCHS_STANDARD_64_BIT)";
+ ARCHS = "$(ARCHS_STANDARD_32_BIT)";
COPY_PHASE_STRIP = NO;
DYLIB_COMPATIBILITY_VERSION = 1;
DYLIB_CURRENT_VERSION = 1;
@@ -2074,7 +2526,7 @@
);
PREBINDING = NO;
PRODUCT_NAME = RocketCoreOSX;
- SDKROOT = macosx10.6;
+ SDKROOT = macosx;
};
name = Debug;
};
@@ -2082,7 +2534,7 @@
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
- ARCHS = "$(ARCHS_STANDARD_64_BIT)";
+ ARCHS = "$(ARCHS_STANDARD_32_BIT)";
COPY_PHASE_STRIP = YES;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
DYLIB_COMPATIBILITY_VERSION = 1;
@@ -2106,7 +2558,7 @@
);
PREBINDING = NO;
PRODUCT_NAME = RocketCoreOSX;
- SDKROOT = macosx10.6;
+ SDKROOT = macosx;
ZERO_LINK = NO;
};
name = Release;
@@ -2115,7 +2567,7 @@
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
- ARCHS = "$(ARCHS_STANDARD_64_BIT)";
+ ARCHS = "$(ARCHS_STANDARD_32_BIT)";
COPY_PHASE_STRIP = NO;
DYLIB_COMPATIBILITY_VERSION = 1;
DYLIB_CURRENT_VERSION = 1;
@@ -2136,7 +2588,7 @@
);
PREBINDING = NO;
PRODUCT_NAME = RocketControlsOSX;
- SDKROOT = macosx10.6;
+ SDKROOT = macosx;
};
name = Debug;
};
@@ -2144,7 +2596,7 @@
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
- ARCHS = "$(ARCHS_STANDARD_64_BIT)";
+ ARCHS = "$(ARCHS_STANDARD_32_BIT)";
COPY_PHASE_STRIP = YES;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
DYLIB_COMPATIBILITY_VERSION = 1;
@@ -2164,7 +2616,7 @@
);
PREBINDING = NO;
PRODUCT_NAME = RocketControlsOSX;
- SDKROOT = macosx10.6;
+ SDKROOT = macosx;
ZERO_LINK = NO;
};
name = Release;
@@ -2255,6 +2707,76 @@
};
name = Release;
};
+ 9D252121159F7207001CE46F /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ARCHS = "$(ARCHS_STANDARD_32_BIT)";
+ CLANG_ENABLE_OBJC_ARC = YES;
+ COPY_PHASE_STRIP = NO;
+ DYLIB_COMPATIBILITY_VERSION = 1;
+ DYLIB_CURRENT_VERSION = 1;
+ FRAMEWORK_SEARCH_PATHS = (
+ "$(inherited)",
+ "\"$(SYSTEM_APPS_DIR)/Xcode.app/Contents/Developer/Library/Frameworks\"",
+ );
+ FRAMEWORK_VERSION = A;
+ GCC_C_LANGUAGE_STANDARD = gnu99;
+ GCC_DYNAMIC_NO_PIC = NO;
+ GCC_ENABLE_OBJC_EXCEPTIONS = YES;
+ GCC_PREPROCESSOR_DEFINITIONS = (
+ "DEBUG=1",
+ "$(inherited)",
+ );
+ GCC_SYMBOLS_PRIVATE_EXTERN = NO;
+ GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
+ GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
+ GCC_WARN_UNINITIALIZED_AUTOS = YES;
+ INFOPLIST_FILE = "Rocket/Rocket-Info.plist";
+ INSTALL_PATH = "@executable_path/../Frameworks";
+ LIBRARY_SEARCH_PATHS = (
+ "$(inherited)",
+ "\"$(SRCROOT)/../../support/lib\"",
+ );
+ MACOSX_DEPLOYMENT_TARGET = 10.7;
+ ONLY_ACTIVE_ARCH = YES;
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ SDKROOT = macosx;
+ WRAPPER_EXTENSION = framework;
+ };
+ name = Debug;
+ };
+ 9D252122159F7207001CE46F /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ARCHS = "$(ARCHS_STANDARD_32_BIT)";
+ CLANG_ENABLE_OBJC_ARC = YES;
+ COPY_PHASE_STRIP = YES;
+ DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
+ DYLIB_COMPATIBILITY_VERSION = 1;
+ DYLIB_CURRENT_VERSION = 1;
+ FRAMEWORK_SEARCH_PATHS = (
+ "$(inherited)",
+ "\"$(SYSTEM_APPS_DIR)/Xcode.app/Contents/Developer/Library/Frameworks\"",
+ );
+ FRAMEWORK_VERSION = A;
+ GCC_C_LANGUAGE_STANDARD = gnu99;
+ GCC_ENABLE_OBJC_EXCEPTIONS = YES;
+ GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
+ GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
+ GCC_WARN_UNINITIALIZED_AUTOS = YES;
+ INFOPLIST_FILE = "Rocket/Rocket-Info.plist";
+ INSTALL_PATH = "@executable_path/../Frameworks";
+ LIBRARY_SEARCH_PATHS = (
+ "$(inherited)",
+ "\"$(SRCROOT)/../../support/lib\"",
+ );
+ MACOSX_DEPLOYMENT_TARGET = 10.7;
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ SDKROOT = macosx;
+ WRAPPER_EXTENSION = framework;
+ };
+ name = Release;
+ };
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
@@ -2321,6 +2843,15 @@
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
+ 9D252120159F7207001CE46F /* Build configuration list for PBXNativeTarget "Rocket" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 9D252121159F7207001CE46F /* Debug */,
+ 9D252122159F7207001CE46F /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
/* End XCConfigurationList section */
};
rootObject = 0867D690FE84028FC02AAC07 /* Project object */;
diff --git libsrcs/libRocket/libRocket/Build/Rocket.xcodeproj/project.xcworkspace/contents.xcworkspacedata libsrcs/libRocket/libRocket/Build/Rocket.xcodeproj/project.xcworkspace/contents.xcworkspacedata
new file mode 100644
index 0000000..4bd90b3
--- /dev/null
+++ libsrcs/libRocket/libRocket/Build/Rocket.xcodeproj/project.xcworkspace/contents.xcworkspacedata
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Workspace
+ version = "1.0">
+ <FileRef
+ location = "self:Rocket.xcodeproj">
+ </FileRef>
+</Workspace>
diff --git libsrcs/libcurl/MacOSX-Framework libsrcs/libcurl/MacOSX-Framework
old mode 100644
new mode 100755
index 0c97acd..a50c6f6
--- libsrcs/libcurl/MacOSX-Framework
+++ libsrcs/libcurl/MacOSX-Framework
@@ -24,9 +24,9 @@ FRAMEWORK_VERSION=Versions/Release-$VERSION
# and setup the right paths to this version, leaving the system version
# "intact", so you can "fix" it later with the links to Versions/A/...
-
-OLD_SDK=`ls /Developer/SDKs|head -1`
-NEW_SDK=`ls -r /Developer/SDKs|head -1`
+SDKs="/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs"
+OLD_SDK=`ls $SDKs|head -1`
+NEW_SDK=`ls -r $SDKs|head -1`
if test "0"$USE_OLD -gt 0
then
@@ -37,21 +37,21 @@ fi
MACVER=`echo $SDK32|sed -e s/[a-zA-Z]//g -e s/.\$//`
-SDK32_DIR='/Developer/SDKs/'$SDK32
+SDK32_DIR="$SDKs/"$SDK32
MINVER32='-mmacosx-version-min='$MACVER
-ARCHES32='-arch i386 -arch ppc'
-
+ARCHES32='-arch i386'
+HOST32='--host=i686-apple-darwin11'
if test $PPC64_NEEDED -gt 0
then
SDK64=10.5
ARCHES64='-arch x86_64 -arch ppc64'
- SDK64=`ls /Developer/SDKs|grep 10.5|head -1`
+ SDK64=`ls $SDKs|grep 10.5|head -1`
else
ARCHES64='-arch x86_64'
#We "know" that 10.4 and earlier do not support 64bit
- OLD_SDK64=`ls /Developer/SDKs|egrep -v "10.[0-4]"|head -1`
- NEW_SDK64=`ls -r /Developer/SDKs|egrep -v "10.[0-4]"|head -1`
+ OLD_SDK64=`ls $SDKs|egrep -v "10.[0-4]"|head -1`
+ NEW_SDK64=`ls -r $SDKs|egrep -v "10.[0-4]"|head -1`
if test $USE_OLD -gt 0
then
SDK64=$OLD_SDK64
@@ -60,21 +60,22 @@ else
fi
fi
-SDK64_DIR='/Developer/SDKs/'$SDK64
+SDK64_DIR="$SDKs/"$SDK64
MACVER64=`echo $SDK64|sed -e s/[a-zA-Z]//g -e s/.\$//`
MINVER64='-mmacosx-version-min='$MACVER64
+HOST64='--host=x86_64-apple-darwin11'
if test ! -z $SDK32; then
echo "----Configuring libcurl for 32 bit universal framework..."
make clean
- ./configure --disable-dependency-tracking --disable-static --with-gssapi \
+ ./configure $HOST32 --disable-dependency-tracking --disable-static --with-gssapi \
CFLAGS="-Os -isysroot $SDK32_DIR $ARCHES32 $MINVER32" \
LDFLAGS="-Wl,-syslibroot,$SDK32_DIR $ARCHES32 $MINVER32 -Wl,-headerpad_max_install_names" \
CC=$CC
echo "----Building 32 bit libcurl..."
- make
+ make -j2
echo "----Creating 32 bit framework..."
rm -r libcurl.framework
@@ -97,7 +98,7 @@ if test ! -z $SDK32; then
popd
make clean
echo "----Configuring libcurl for 64 bit universal framework..."
- ./configure --disable-dependency-tracking --disable-static --with-gssapi \
+ ./configure $HOST64 --disable-dependency-tracking --disable-static --with-gssapi \
CFLAGS="-Os -isysroot $SDK64_DIR $ARCHES64 $MINVER64" \
LDFLAGS="-Wl,-syslibroot,$SDK64_DIR $ARCHES64 $MINVER64 -Wl,-headerpad_max_install_names" \
CC=$CC
diff --git libsrcs/libjpeg/xcode/libjpeg.xcodeproj/project.pbxproj libsrcs/libjpeg/xcode/libjpeg.xcodeproj/project.pbxproj
new file mode 100644
index 0000000..003a75e
--- /dev/null
+++ libsrcs/libjpeg/xcode/libjpeg.xcodeproj/project.pbxproj
@@ -0,0 +1,457 @@
+// !$*UTF8*$!
+{
+ archiveVersion = 1;
+ classes = {
+ };
+ objectVersion = 46;
+ objects = {
+
+/* Begin PBXBuildFile section */
+ 9DA731F915A1CA0100910C34 /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 9DA731F715A1CA0100910C34 /* InfoPlist.strings */; };
+ 9DA7329C15A1CAE100910C34 /* jconfig.h in Headers */ = {isa = PBXBuildFile; fileRef = 9DA7329B15A1CAE100910C34 /* jconfig.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 9DA732C815A1D0B200910C34 /* jcapimin.c in Sources */ = {isa = PBXBuildFile; fileRef = 9DA732C015A1D0B200910C34 /* jcapimin.c */; };
+ 9DA732C915A1D0B200910C34 /* jcapistd.c in Sources */ = {isa = PBXBuildFile; fileRef = 9DA732C115A1D0B200910C34 /* jcapistd.c */; };
+ 9DA732CA15A1D0B200910C34 /* jcomapi.c in Sources */ = {isa = PBXBuildFile; fileRef = 9DA732C215A1D0B200910C34 /* jcomapi.c */; };
+ 9DA732CB15A1D0B200910C34 /* jcparam.c in Sources */ = {isa = PBXBuildFile; fileRef = 9DA732C315A1D0B200910C34 /* jcparam.c */; };
+ 9DA732CC15A1D0B200910C34 /* jctrans.c in Sources */ = {isa = PBXBuildFile; fileRef = 9DA732C415A1D0B200910C34 /* jctrans.c */; };
+ 9DA732CD15A1D0B200910C34 /* jdapimin.c in Sources */ = {isa = PBXBuildFile; fileRef = 9DA732C515A1D0B200910C34 /* jdapimin.c */; };
+ 9DA732CE15A1D0B200910C34 /* jdapistd.c in Sources */ = {isa = PBXBuildFile; fileRef = 9DA732C615A1D0B200910C34 /* jdapistd.c */; };
+ 9DA732CF15A1D0B200910C34 /* jdtrans.c in Sources */ = {isa = PBXBuildFile; fileRef = 9DA732C715A1D0B200910C34 /* jdtrans.c */; };
+ 9DA732DF15A1D12800910C34 /* jcarith.c in Sources */ = {isa = PBXBuildFile; fileRef = 9DA732D015A1D12800910C34 /* jcarith.c */; };
+ 9DA732E015A1D12800910C34 /* jccoefct.c in Sources */ = {isa = PBXBuildFile; fileRef = 9DA732D115A1D12800910C34 /* jccoefct.c */; };
+ 9DA732E115A1D12800910C34 /* jccolor.c in Sources */ = {isa = PBXBuildFile; fileRef = 9DA732D215A1D12800910C34 /* jccolor.c */; };
+ 9DA732E215A1D12800910C34 /* jcdctmgr.c in Sources */ = {isa = PBXBuildFile; fileRef = 9DA732D315A1D12800910C34 /* jcdctmgr.c */; };
+ 9DA732E315A1D12800910C34 /* jchuff.c in Sources */ = {isa = PBXBuildFile; fileRef = 9DA732D415A1D12800910C34 /* jchuff.c */; };
+ 9DA732E415A1D12800910C34 /* jcinit.c in Sources */ = {isa = PBXBuildFile; fileRef = 9DA732D515A1D12800910C34 /* jcinit.c */; };
+ 9DA732E515A1D12800910C34 /* jcmainct.c in Sources */ = {isa = PBXBuildFile; fileRef = 9DA732D615A1D12800910C34 /* jcmainct.c */; };
+ 9DA732E615A1D12800910C34 /* jcmarker.c in Sources */ = {isa = PBXBuildFile; fileRef = 9DA732D715A1D12800910C34 /* jcmarker.c */; };
+ 9DA732E715A1D12800910C34 /* jcmaster.c in Sources */ = {isa = PBXBuildFile; fileRef = 9DA732D815A1D12800910C34 /* jcmaster.c */; };
+ 9DA732E815A1D12800910C34 /* jcprepct.c in Sources */ = {isa = PBXBuildFile; fileRef = 9DA732D915A1D12800910C34 /* jcprepct.c */; };
+ 9DA732E915A1D12800910C34 /* jcsample.c in Sources */ = {isa = PBXBuildFile; fileRef = 9DA732DA15A1D12800910C34 /* jcsample.c */; };
+ 9DA732EA15A1D12800910C34 /* jdatadst.c in Sources */ = {isa = PBXBuildFile; fileRef = 9DA732DB15A1D12800910C34 /* jdatadst.c */; };
+ 9DA732EB15A1D12800910C34 /* jfdctflt.c in Sources */ = {isa = PBXBuildFile; fileRef = 9DA732DC15A1D12800910C34 /* jfdctflt.c */; };
+ 9DA732EC15A1D12800910C34 /* jfdctfst.c in Sources */ = {isa = PBXBuildFile; fileRef = 9DA732DD15A1D12800910C34 /* jfdctfst.c */; };
+ 9DA732ED15A1D12800910C34 /* jfdctint.c in Sources */ = {isa = PBXBuildFile; fileRef = 9DA732DE15A1D12800910C34 /* jfdctint.c */; };
+ 9DA732FF15A1D1C400910C34 /* jdarith.c in Sources */ = {isa = PBXBuildFile; fileRef = 9DA732EE15A1D1C400910C34 /* jdarith.c */; };
+ 9DA7330015A1D1C400910C34 /* jdatasrc.c in Sources */ = {isa = PBXBuildFile; fileRef = 9DA732EF15A1D1C400910C34 /* jdatasrc.c */; };
+ 9DA7330115A1D1C400910C34 /* jdcoefct.c in Sources */ = {isa = PBXBuildFile; fileRef = 9DA732F015A1D1C400910C34 /* jdcoefct.c */; };
+ 9DA7330215A1D1C400910C34 /* jddctmgr.c in Sources */ = {isa = PBXBuildFile; fileRef = 9DA732F115A1D1C400910C34 /* jddctmgr.c */; };
+ 9DA7330315A1D1C400910C34 /* jdhuff.c in Sources */ = {isa = PBXBuildFile; fileRef = 9DA732F215A1D1C400910C34 /* jdhuff.c */; };
+ 9DA7330415A1D1C400910C34 /* jdinput.c in Sources */ = {isa = PBXBuildFile; fileRef = 9DA732F315A1D1C400910C34 /* jdinput.c */; };
+ 9DA7330515A1D1C400910C34 /* jdmainct.c in Sources */ = {isa = PBXBuildFile; fileRef = 9DA732F415A1D1C400910C34 /* jdmainct.c */; };
+ 9DA7330615A1D1C400910C34 /* jdmarker.c in Sources */ = {isa = PBXBuildFile; fileRef = 9DA732F515A1D1C400910C34 /* jdmarker.c */; };
+ 9DA7330715A1D1C400910C34 /* jdmaster.c in Sources */ = {isa = PBXBuildFile; fileRef = 9DA732F615A1D1C400910C34 /* jdmaster.c */; };
+ 9DA7330815A1D1C400910C34 /* jdmerge.c in Sources */ = {isa = PBXBuildFile; fileRef = 9DA732F715A1D1C400910C34 /* jdmerge.c */; };
+ 9DA7330915A1D1C400910C34 /* jdpostct.c in Sources */ = {isa = PBXBuildFile; fileRef = 9DA732F815A1D1C400910C34 /* jdpostct.c */; };
+ 9DA7330A15A1D1C400910C34 /* jdsample.c in Sources */ = {isa = PBXBuildFile; fileRef = 9DA732F915A1D1C400910C34 /* jdsample.c */; };
+ 9DA7330B15A1D1C400910C34 /* jidctflt.c in Sources */ = {isa = PBXBuildFile; fileRef = 9DA732FA15A1D1C400910C34 /* jidctflt.c */; };
+ 9DA7330C15A1D1C400910C34 /* jidctfst.c in Sources */ = {isa = PBXBuildFile; fileRef = 9DA732FB15A1D1C400910C34 /* jidctfst.c */; };
+ 9DA7330D15A1D1C400910C34 /* jidctint.c in Sources */ = {isa = PBXBuildFile; fileRef = 9DA732FC15A1D1C400910C34 /* jidctint.c */; };
+ 9DA7330E15A1D1C400910C34 /* jquant1.c in Sources */ = {isa = PBXBuildFile; fileRef = 9DA732FD15A1D1C400910C34 /* jquant1.c */; };
+ 9DA7330F15A1D1C400910C34 /* jquant2.c in Sources */ = {isa = PBXBuildFile; fileRef = 9DA732FE15A1D1C400910C34 /* jquant2.c */; };
+ 9DA7331715A1D23600910C34 /* jaricom.c in Sources */ = {isa = PBXBuildFile; fileRef = 9DA7331015A1D23600910C34 /* jaricom.c */; };
+ 9DA7331815A1D23600910C34 /* jerror.c in Sources */ = {isa = PBXBuildFile; fileRef = 9DA7331115A1D23600910C34 /* jerror.c */; };
+ 9DA7331A15A1D23600910C34 /* jmemmgr.c in Sources */ = {isa = PBXBuildFile; fileRef = 9DA7331315A1D23600910C34 /* jmemmgr.c */; };
+ 9DA7331C15A1D23600910C34 /* jmemnobs.c in Sources */ = {isa = PBXBuildFile; fileRef = 9DA7331515A1D23600910C34 /* jmemnobs.c */; };
+ 9DA7331D15A1D23600910C34 /* jutils.c in Sources */ = {isa = PBXBuildFile; fileRef = 9DA7331615A1D23600910C34 /* jutils.c */; };
+ 9DA7332115A1D27B00910C34 /* jerror.h in Headers */ = {isa = PBXBuildFile; fileRef = 9DA7331E15A1D27B00910C34 /* jerror.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 9DA7332215A1D27B00910C34 /* jmorecfg.h in Headers */ = {isa = PBXBuildFile; fileRef = 9DA7331F15A1D27B00910C34 /* jmorecfg.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 9DA7332315A1D27B00910C34 /* jpeglib.h in Headers */ = {isa = PBXBuildFile; fileRef = 9DA7332015A1D27B00910C34 /* jpeglib.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 9DA7332515A1D35600910C34 /* jdcolor.c in Sources */ = {isa = PBXBuildFile; fileRef = 9DA7332415A1D35600910C34 /* jdcolor.c */; };
+/* End PBXBuildFile section */
+
+/* Begin PBXFileReference section */
+ 9DA731EB15A1CA0100910C34 /* libjpeg.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = libjpeg.framework; sourceTree = BUILT_PRODUCTS_DIR; };
+ 9DA731F615A1CA0100910C34 /* libjpeg-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "libjpeg-Info.plist"; sourceTree = "<group>"; };
+ 9DA731F815A1CA0100910C34 /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = "<group>"; };
+ 9DA7329B15A1CAE100910C34 /* jconfig.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = jconfig.h; sourceTree = "<group>"; };
+ 9DA732C015A1D0B200910C34 /* jcapimin.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = jcapimin.c; path = ../../jcapimin.c; sourceTree = "<group>"; };
+ 9DA732C115A1D0B200910C34 /* jcapistd.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = jcapistd.c; path = ../../jcapistd.c; sourceTree = "<group>"; };
+ 9DA732C215A1D0B200910C34 /* jcomapi.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = jcomapi.c; path = ../../jcomapi.c; sourceTree = "<group>"; };
+ 9DA732C315A1D0B200910C34 /* jcparam.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = jcparam.c; path = ../../jcparam.c; sourceTree = "<group>"; };
+ 9DA732C415A1D0B200910C34 /* jctrans.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = jctrans.c; path = ../../jctrans.c; sourceTree = "<group>"; };
+ 9DA732C515A1D0B200910C34 /* jdapimin.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = jdapimin.c; path = ../../jdapimin.c; sourceTree = "<group>"; };
+ 9DA732C615A1D0B200910C34 /* jdapistd.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = jdapistd.c; path = ../../jdapistd.c; sourceTree = "<group>"; };
+ 9DA732C715A1D0B200910C34 /* jdtrans.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = jdtrans.c; path = ../../jdtrans.c; sourceTree = "<group>"; };
+ 9DA732D015A1D12800910C34 /* jcarith.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = jcarith.c; path = ../../jcarith.c; sourceTree = "<group>"; };
+ 9DA732D115A1D12800910C34 /* jccoefct.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = jccoefct.c; path = ../../jccoefct.c; sourceTree = "<group>"; };
+ 9DA732D215A1D12800910C34 /* jccolor.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = jccolor.c; path = ../../jccolor.c; sourceTree = "<group>"; };
+ 9DA732D315A1D12800910C34 /* jcdctmgr.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = jcdctmgr.c; path = ../../jcdctmgr.c; sourceTree = "<group>"; };
+ 9DA732D415A1D12800910C34 /* jchuff.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = jchuff.c; path = ../../jchuff.c; sourceTree = "<group>"; };
+ 9DA732D515A1D12800910C34 /* jcinit.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = jcinit.c; path = ../../jcinit.c; sourceTree = "<group>"; };
+ 9DA732D615A1D12800910C34 /* jcmainct.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = jcmainct.c; path = ../../jcmainct.c; sourceTree = "<group>"; };
+ 9DA732D715A1D12800910C34 /* jcmarker.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = jcmarker.c; path = ../../jcmarker.c; sourceTree = "<group>"; };
+ 9DA732D815A1D12800910C34 /* jcmaster.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = jcmaster.c; path = ../../jcmaster.c; sourceTree = "<group>"; };
+ 9DA732D915A1D12800910C34 /* jcprepct.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = jcprepct.c; path = ../../jcprepct.c; sourceTree = "<group>"; };
+ 9DA732DA15A1D12800910C34 /* jcsample.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = jcsample.c; path = ../../jcsample.c; sourceTree = "<group>"; };
+ 9DA732DB15A1D12800910C34 /* jdatadst.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = jdatadst.c; path = ../../jdatadst.c; sourceTree = "<group>"; };
+ 9DA732DC15A1D12800910C34 /* jfdctflt.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = jfdctflt.c; path = ../../jfdctflt.c; sourceTree = "<group>"; };
+ 9DA732DD15A1D12800910C34 /* jfdctfst.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = jfdctfst.c; path = ../../jfdctfst.c; sourceTree = "<group>"; };
+ 9DA732DE15A1D12800910C34 /* jfdctint.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = jfdctint.c; path = ../../jfdctint.c; sourceTree = "<group>"; };
+ 9DA732EE15A1D1C400910C34 /* jdarith.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = jdarith.c; path = ../../jdarith.c; sourceTree = "<group>"; };
+ 9DA732EF15A1D1C400910C34 /* jdatasrc.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = jdatasrc.c; path = ../../jdatasrc.c; sourceTree = "<group>"; };
+ 9DA732F015A1D1C400910C34 /* jdcoefct.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = jdcoefct.c; path = ../../jdcoefct.c; sourceTree = "<group>"; };
+ 9DA732F115A1D1C400910C34 /* jddctmgr.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = jddctmgr.c; path = ../../jddctmgr.c; sourceTree = "<group>"; };
+ 9DA732F215A1D1C400910C34 /* jdhuff.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = jdhuff.c; path = ../../jdhuff.c; sourceTree = "<group>"; };
+ 9DA732F315A1D1C400910C34 /* jdinput.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = jdinput.c; path = ../../jdinput.c; sourceTree = "<group>"; };
+ 9DA732F415A1D1C400910C34 /* jdmainct.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = jdmainct.c; path = ../../jdmainct.c; sourceTree = "<group>"; };
+ 9DA732F515A1D1C400910C34 /* jdmarker.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = jdmarker.c; path = ../../jdmarker.c; sourceTree = "<group>"; };
+ 9DA732F615A1D1C400910C34 /* jdmaster.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = jdmaster.c; path = ../../jdmaster.c; sourceTree = "<group>"; };
+ 9DA732F715A1D1C400910C34 /* jdmerge.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = jdmerge.c; path = ../../jdmerge.c; sourceTree = "<group>"; };
+ 9DA732F815A1D1C400910C34 /* jdpostct.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = jdpostct.c; path = ../../jdpostct.c; sourceTree = "<group>"; };
+ 9DA732F915A1D1C400910C34 /* jdsample.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = jdsample.c; path = ../../jdsample.c; sourceTree = "<group>"; };
+ 9DA732FA15A1D1C400910C34 /* jidctflt.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = jidctflt.c; path = ../../jidctflt.c; sourceTree = "<group>"; };
+ 9DA732FB15A1D1C400910C34 /* jidctfst.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = jidctfst.c; path = ../../jidctfst.c; sourceTree = "<group>"; };
+ 9DA732FC15A1D1C400910C34 /* jidctint.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = jidctint.c; path = ../../jidctint.c; sourceTree = "<group>"; };
+ 9DA732FD15A1D1C400910C34 /* jquant1.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = jquant1.c; path = ../../jquant1.c; sourceTree = "<group>"; };
+ 9DA732FE15A1D1C400910C34 /* jquant2.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = jquant2.c; path = ../../jquant2.c; sourceTree = "<group>"; };
+ 9DA7331015A1D23600910C34 /* jaricom.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = jaricom.c; path = ../../jaricom.c; sourceTree = "<group>"; };
+ 9DA7331115A1D23600910C34 /* jerror.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = jerror.c; path = ../../jerror.c; sourceTree = "<group>"; };
+ 9DA7331315A1D23600910C34 /* jmemmgr.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = jmemmgr.c; path = ../../jmemmgr.c; sourceTree = "<group>"; };
+ 9DA7331515A1D23600910C34 /* jmemnobs.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = jmemnobs.c; path = ../../jmemnobs.c; sourceTree = "<group>"; };
+ 9DA7331615A1D23600910C34 /* jutils.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = jutils.c; path = ../../jutils.c; sourceTree = "<group>"; };
+ 9DA7331E15A1D27B00910C34 /* jerror.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = jerror.h; path = ../../jerror.h; sourceTree = "<group>"; };
+ 9DA7331F15A1D27B00910C34 /* jmorecfg.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = jmorecfg.h; path = ../../jmorecfg.h; sourceTree = "<group>"; };
+ 9DA7332015A1D27B00910C34 /* jpeglib.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = jpeglib.h; path = ../../jpeglib.h; sourceTree = "<group>"; };
+ 9DA7332415A1D35600910C34 /* jdcolor.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = jdcolor.c; path = ../../jdcolor.c; sourceTree = "<group>"; };
+/* End PBXFileReference section */
+
+/* Begin PBXFrameworksBuildPhase section */
+ 9DA731E715A1CA0100910C34 /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXFrameworksBuildPhase section */
+
+/* Begin PBXGroup section */
+ 9DA731DF15A1CA0100910C34 = {
+ isa = PBXGroup;
+ children = (
+ 9DA731F415A1CA0100910C34 /* libjpeg */,
+ 9DA731ED15A1CA0100910C34 /* Frameworks */,
+ 9DA731EC15A1CA0100910C34 /* Products */,
+ );
+ sourceTree = "<group>";
+ };
+ 9DA731EC15A1CA0100910C34 /* Products */ = {
+ isa = PBXGroup;
+ children = (
+ 9DA731EB15A1CA0100910C34 /* libjpeg.framework */,
+ );
+ name = Products;
+ sourceTree = "<group>";
+ };
+ 9DA731ED15A1CA0100910C34 /* Frameworks */ = {
+ isa = PBXGroup;
+ children = (
+ );
+ name = Frameworks;
+ sourceTree = "<group>";
+ };
+ 9DA731F415A1CA0100910C34 /* libjpeg */ = {
+ isa = PBXGroup;
+ children = (
+ 9DA7331E15A1D27B00910C34 /* jerror.h */,
+ 9DA7331F15A1D27B00910C34 /* jmorecfg.h */,
+ 9DA7332015A1D27B00910C34 /* jpeglib.h */,
+ 9DA732C015A1D0B200910C34 /* jcapimin.c */,
+ 9DA732C115A1D0B200910C34 /* jcapistd.c */,
+ 9DA732C215A1D0B200910C34 /* jcomapi.c */,
+ 9DA732C315A1D0B200910C34 /* jcparam.c */,
+ 9DA732C415A1D0B200910C34 /* jctrans.c */,
+ 9DA732C515A1D0B200910C34 /* jdapimin.c */,
+ 9DA732C615A1D0B200910C34 /* jdapistd.c */,
+ 9DA732C715A1D0B200910C34 /* jdtrans.c */,
+ 9DA732D015A1D12800910C34 /* jcarith.c */,
+ 9DA732D115A1D12800910C34 /* jccoefct.c */,
+ 9DA732D215A1D12800910C34 /* jccolor.c */,
+ 9DA732D315A1D12800910C34 /* jcdctmgr.c */,
+ 9DA732D415A1D12800910C34 /* jchuff.c */,
+ 9DA732D515A1D12800910C34 /* jcinit.c */,
+ 9DA732D615A1D12800910C34 /* jcmainct.c */,
+ 9DA732D715A1D12800910C34 /* jcmarker.c */,
+ 9DA732D815A1D12800910C34 /* jcmaster.c */,
+ 9DA732D915A1D12800910C34 /* jcprepct.c */,
+ 9DA732DA15A1D12800910C34 /* jcsample.c */,
+ 9DA732DB15A1D12800910C34 /* jdatadst.c */,
+ 9DA732DC15A1D12800910C34 /* jfdctflt.c */,
+ 9DA732DD15A1D12800910C34 /* jfdctfst.c */,
+ 9DA732DE15A1D12800910C34 /* jfdctint.c */,
+ 9DA732EE15A1D1C400910C34 /* jdarith.c */,
+ 9DA732EF15A1D1C400910C34 /* jdatasrc.c */,
+ 9DA732F015A1D1C400910C34 /* jdcoefct.c */,
+ 9DA732F115A1D1C400910C34 /* jddctmgr.c */,
+ 9DA732F215A1D1C400910C34 /* jdhuff.c */,
+ 9DA732F315A1D1C400910C34 /* jdinput.c */,
+ 9DA732F415A1D1C400910C34 /* jdmainct.c */,
+ 9DA732F515A1D1C400910C34 /* jdmarker.c */,
+ 9DA732F615A1D1C400910C34 /* jdmaster.c */,
+ 9DA732F715A1D1C400910C34 /* jdmerge.c */,
+ 9DA732F815A1D1C400910C34 /* jdpostct.c */,
+ 9DA732F915A1D1C400910C34 /* jdsample.c */,
+ 9DA7332415A1D35600910C34 /* jdcolor.c */,
+ 9DA732FA15A1D1C400910C34 /* jidctflt.c */,
+ 9DA732FB15A1D1C400910C34 /* jidctfst.c */,
+ 9DA732FC15A1D1C400910C34 /* jidctint.c */,
+ 9DA732FD15A1D1C400910C34 /* jquant1.c */,
+ 9DA732FE15A1D1C400910C34 /* jquant2.c */,
+ 9DA7331015A1D23600910C34 /* jaricom.c */,
+ 9DA7331115A1D23600910C34 /* jerror.c */,
+ 9DA7331315A1D23600910C34 /* jmemmgr.c */,
+ 9DA7331515A1D23600910C34 /* jmemnobs.c */,
+ 9DA7331615A1D23600910C34 /* jutils.c */,
+ 9DA731F515A1CA0100910C34 /* Supporting Files */,
+ );
+ path = libjpeg;
+ sourceTree = "<group>";
+ };
+ 9DA731F515A1CA0100910C34 /* Supporting Files */ = {
+ isa = PBXGroup;
+ children = (
+ 9DA7329B15A1CAE100910C34 /* jconfig.h */,
+ 9DA731F615A1CA0100910C34 /* libjpeg-Info.plist */,
+ 9DA731F715A1CA0100910C34 /* InfoPlist.strings */,
+ );
+ name = "Supporting Files";
+ sourceTree = "<group>";
+ };
+/* End PBXGroup section */
+
+/* Begin PBXHeadersBuildPhase section */
+ 9DA731E815A1CA0100910C34 /* Headers */ = {
+ isa = PBXHeadersBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 9DA7329C15A1CAE100910C34 /* jconfig.h in Headers */,
+ 9DA7332115A1D27B00910C34 /* jerror.h in Headers */,
+ 9DA7332215A1D27B00910C34 /* jmorecfg.h in Headers */,
+ 9DA7332315A1D27B00910C34 /* jpeglib.h in Headers */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXHeadersBuildPhase section */
+
+/* Begin PBXNativeTarget section */
+ 9DA731EA15A1CA0100910C34 /* libjpeg */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = 9DA7320015A1CA0100910C34 /* Build configuration list for PBXNativeTarget "libjpeg" */;
+ buildPhases = (
+ 9DA731E615A1CA0100910C34 /* Sources */,
+ 9DA731E715A1CA0100910C34 /* Frameworks */,
+ 9DA731E815A1CA0100910C34 /* Headers */,
+ 9DA731E915A1CA0100910C34 /* Resources */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ );
+ name = libjpeg;
+ productName = libjpeg;
+ productReference = 9DA731EB15A1CA0100910C34 /* libjpeg.framework */;
+ productType = "com.apple.product-type.framework";
+ };
+/* End PBXNativeTarget section */
+
+/* Begin PBXProject section */
+ 9DA731E115A1CA0100910C34 /* Project object */ = {
+ isa = PBXProject;
+ attributes = {
+ LastUpgradeCheck = 0430;
+ };
+ buildConfigurationList = 9DA731E415A1CA0100910C34 /* Build configuration list for PBXProject "libjpeg" */;
+ compatibilityVersion = "Xcode 3.2";
+ developmentRegion = English;
+ hasScannedForEncodings = 0;
+ knownRegions = (
+ en,
+ );
+ mainGroup = 9DA731DF15A1CA0100910C34;
+ productRefGroup = 9DA731EC15A1CA0100910C34 /* Products */;
+ projectDirPath = "";
+ projectRoot = "";
+ targets = (
+ 9DA731EA15A1CA0100910C34 /* libjpeg */,
+ );
+ };
+/* End PBXProject section */
+
+/* Begin PBXResourcesBuildPhase section */
+ 9DA731E915A1CA0100910C34 /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 9DA731F915A1CA0100910C34 /* InfoPlist.strings in Resources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXResourcesBuildPhase section */
+
+/* Begin PBXSourcesBuildPhase section */
+ 9DA731E615A1CA0100910C34 /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 9DA732C815A1D0B200910C34 /* jcapimin.c in Sources */,
+ 9DA732C915A1D0B200910C34 /* jcapistd.c in Sources */,
+ 9DA732CA15A1D0B200910C34 /* jcomapi.c in Sources */,
+ 9DA732CB15A1D0B200910C34 /* jcparam.c in Sources */,
+ 9DA732CC15A1D0B200910C34 /* jctrans.c in Sources */,
+ 9DA732CD15A1D0B200910C34 /* jdapimin.c in Sources */,
+ 9DA732CE15A1D0B200910C34 /* jdapistd.c in Sources */,
+ 9DA732CF15A1D0B200910C34 /* jdtrans.c in Sources */,
+ 9DA732DF15A1D12800910C34 /* jcarith.c in Sources */,
+ 9DA732E015A1D12800910C34 /* jccoefct.c in Sources */,
+ 9DA732E115A1D12800910C34 /* jccolor.c in Sources */,
+ 9DA732E215A1D12800910C34 /* jcdctmgr.c in Sources */,
+ 9DA732E315A1D12800910C34 /* jchuff.c in Sources */,
+ 9DA732E415A1D12800910C34 /* jcinit.c in Sources */,
+ 9DA732E515A1D12800910C34 /* jcmainct.c in Sources */,
+ 9DA732E615A1D12800910C34 /* jcmarker.c in Sources */,
+ 9DA732E715A1D12800910C34 /* jcmaster.c in Sources */,
+ 9DA732E815A1D12800910C34 /* jcprepct.c in Sources */,
+ 9DA732E915A1D12800910C34 /* jcsample.c in Sources */,
+ 9DA732EA15A1D12800910C34 /* jdatadst.c in Sources */,
+ 9DA732EB15A1D12800910C34 /* jfdctflt.c in Sources */,
+ 9DA732EC15A1D12800910C34 /* jfdctfst.c in Sources */,
+ 9DA732ED15A1D12800910C34 /* jfdctint.c in Sources */,
+ 9DA732FF15A1D1C400910C34 /* jdarith.c in Sources */,
+ 9DA7330015A1D1C400910C34 /* jdatasrc.c in Sources */,
+ 9DA7330115A1D1C400910C34 /* jdcoefct.c in Sources */,
+ 9DA7330215A1D1C400910C34 /* jddctmgr.c in Sources */,
+ 9DA7330315A1D1C400910C34 /* jdhuff.c in Sources */,
+ 9DA7330415A1D1C400910C34 /* jdinput.c in Sources */,
+ 9DA7330515A1D1C400910C34 /* jdmainct.c in Sources */,
+ 9DA7330615A1D1C400910C34 /* jdmarker.c in Sources */,
+ 9DA7330715A1D1C400910C34 /* jdmaster.c in Sources */,
+ 9DA7330815A1D1C400910C34 /* jdmerge.c in Sources */,
+ 9DA7330915A1D1C400910C34 /* jdpostct.c in Sources */,
+ 9DA7330A15A1D1C400910C34 /* jdsample.c in Sources */,
+ 9DA7330B15A1D1C400910C34 /* jidctflt.c in Sources */,
+ 9DA7330C15A1D1C400910C34 /* jidctfst.c in Sources */,
+ 9DA7330D15A1D1C400910C34 /* jidctint.c in Sources */,
+ 9DA7330E15A1D1C400910C34 /* jquant1.c in Sources */,
+ 9DA7330F15A1D1C400910C34 /* jquant2.c in Sources */,
+ 9DA7331715A1D23600910C34 /* jaricom.c in Sources */,
+ 9DA7331815A1D23600910C34 /* jerror.c in Sources */,
+ 9DA7331A15A1D23600910C34 /* jmemmgr.c in Sources */,
+ 9DA7331C15A1D23600910C34 /* jmemnobs.c in Sources */,
+ 9DA7331D15A1D23600910C34 /* jutils.c in Sources */,
+ 9DA7332515A1D35600910C34 /* jdcolor.c in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXSourcesBuildPhase section */
+
+/* Begin PBXVariantGroup section */
+ 9DA731F715A1CA0100910C34 /* InfoPlist.strings */ = {
+ isa = PBXVariantGroup;
+ children = (
+ 9DA731F815A1CA0100910C34 /* en */,
+ );
+ name = InfoPlist.strings;
+ sourceTree = "<group>";
+ };
+/* End PBXVariantGroup section */
+
+/* Begin XCBuildConfiguration section */
+ 9DA731FE15A1CA0100910C34 /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ ARCHS = "$(ARCHS_STANDARD_32_BIT)";
+ CLANG_ENABLE_OBJC_ARC = YES;
+ COPY_PHASE_STRIP = NO;
+ GCC_C_LANGUAGE_STANDARD = gnu99;
+ GCC_DYNAMIC_NO_PIC = NO;
+ GCC_ENABLE_OBJC_EXCEPTIONS = YES;
+ GCC_OPTIMIZATION_LEVEL = 0;
+ GCC_PREPROCESSOR_DEFINITIONS = (
+ "DEBUG=1",
+ "$(inherited)",
+ );
+ GCC_SYMBOLS_PRIVATE_EXTERN = NO;
+ GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
+ GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
+ GCC_WARN_ABOUT_RETURN_TYPE = YES;
+ GCC_WARN_UNINITIALIZED_AUTOS = YES;
+ GCC_WARN_UNUSED_VARIABLE = YES;
+ MACOSX_DEPLOYMENT_TARGET = 10.7;
+ ONLY_ACTIVE_ARCH = YES;
+ SDKROOT = macosx;
+ };
+ name = Debug;
+ };
+ 9DA731FF15A1CA0100910C34 /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ ARCHS = "$(ARCHS_STANDARD_32_BIT)";
+ CLANG_ENABLE_OBJC_ARC = YES;
+ COPY_PHASE_STRIP = YES;
+ DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
+ GCC_C_LANGUAGE_STANDARD = gnu99;
+ GCC_ENABLE_OBJC_EXCEPTIONS = YES;
+ GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
+ GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
+ GCC_WARN_ABOUT_RETURN_TYPE = YES;
+ GCC_WARN_UNINITIALIZED_AUTOS = YES;
+ GCC_WARN_UNUSED_VARIABLE = YES;
+ MACOSX_DEPLOYMENT_TARGET = 10.7;
+ SDKROOT = macosx;
+ };
+ name = Release;
+ };
+ 9DA7320115A1CA0100910C34 /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ DYLIB_COMPATIBILITY_VERSION = 1;
+ DYLIB_CURRENT_VERSION = 1;
+ FRAMEWORK_VERSION = A;
+ INFOPLIST_FILE = "libjpeg/libjpeg-Info.plist";
+ INSTALL_PATH = "@executable_path/../Frameworks";
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ WRAPPER_EXTENSION = framework;
+ };
+ name = Debug;
+ };
+ 9DA7320215A1CA0100910C34 /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ DYLIB_COMPATIBILITY_VERSION = 1;
+ DYLIB_CURRENT_VERSION = 1;
+ FRAMEWORK_VERSION = A;
+ INFOPLIST_FILE = "libjpeg/libjpeg-Info.plist";
+ INSTALL_PATH = "@executable_path/../Frameworks";
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ WRAPPER_EXTENSION = framework;
+ };
+ name = Release;
+ };
+/* End XCBuildConfiguration section */
+
+/* Begin XCConfigurationList section */
+ 9DA731E415A1CA0100910C34 /* Build configuration list for PBXProject "libjpeg" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 9DA731FE15A1CA0100910C34 /* Debug */,
+ 9DA731FF15A1CA0100910C34 /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+ 9DA7320015A1CA0100910C34 /* Build configuration list for PBXNativeTarget "libjpeg" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 9DA7320115A1CA0100910C34 /* Debug */,
+ 9DA7320215A1CA0100910C34 /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+/* End XCConfigurationList section */
+ };
+ rootObject = 9DA731E115A1CA0100910C34 /* Project object */;
+}
diff --git libsrcs/libjpeg/xcode/libjpeg.xcodeproj/project.xcworkspace/contents.xcworkspacedata libsrcs/libjpeg/xcode/libjpeg.xcodeproj/project.xcworkspace/contents.xcworkspacedata
new file mode 100644
index 0000000..69a8b2f
--- /dev/null
+++ libsrcs/libjpeg/xcode/libjpeg.xcodeproj/project.xcworkspace/contents.xcworkspacedata
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Workspace
+ version = "1.0">
+ <FileRef
+ location = "self:libjpeg.xcodeproj">
+ </FileRef>
+</Workspace>
diff --git libsrcs/libjpeg/xcode/libjpeg/en.lproj/InfoPlist.strings libsrcs/libjpeg/xcode/libjpeg/en.lproj/InfoPlist.strings
new file mode 100644
index 0000000..477b28f
--- /dev/null
+++ libsrcs/libjpeg/xcode/libjpeg/en.lproj/InfoPlist.strings
@@ -0,0 +1,2 @@
+/* Localized versions of Info.plist keys */
+
diff --git libsrcs/libjpeg/xcode/libjpeg/jconfig.h libsrcs/libjpeg/xcode/libjpeg/jconfig.h
new file mode 100644
index 0000000..966b1d5
--- /dev/null
+++ libsrcs/libjpeg/xcode/libjpeg/jconfig.h
@@ -0,0 +1,54 @@
+/* jconfig.h. Generated from jconfig.cfg by configure. */
+/* jconfig.cfg --- source file edited by configure script */
+/* see jconfig.txt for explanations */
+
+#define HAVE_PROTOTYPES 1
+#define HAVE_UNSIGNED_CHAR 1
+#define HAVE_UNSIGNED_SHORT 1
+/* #undef void */
+/* #undef const */
+/* #undef CHAR_IS_UNSIGNED */
+#define HAVE_STDDEF_H 1
+#define HAVE_STDLIB_H 1
+#define HAVE_LOCALE_H 1
+/* #undef NEED_BSD_STRINGS */
+/* #undef NEED_SYS_TYPES_H */
+/* #undef NEED_FAR_POINTERS */
+/* #undef NEED_SHORT_EXTERNAL_NAMES */
+/* Define this if you get warnings about undefined structures. */
+/* #undef INCOMPLETE_TYPES_BROKEN */
+
+/* Define "boolean" as unsigned char, not int, on Windows systems. */
+#ifdef _WIN32
+#ifndef __RPCNDR_H__ /* don't conflict if rpcndr.h already read */
+typedef unsigned char boolean;
+#endif
+#define HAVE_BOOLEAN /* prevent jmorecfg.h from redefining it */
+#endif
+
+#ifdef JPEG_INTERNALS
+
+/* #undef RIGHT_SHIFT_IS_UNSIGNED */
+#define INLINE __inline__
+/* These are for configuring the JPEG memory manager. */
+/* #undef DEFAULT_MAX_MEM */
+/* #undef NO_MKTEMP */
+
+#endif /* JPEG_INTERNALS */
+
+#ifdef JPEG_CJPEG_DJPEG
+
+#define BMP_SUPPORTED /* BMP image file format */
+#define GIF_SUPPORTED /* GIF image file format */
+#define PPM_SUPPORTED /* PBMPLUS PPM/PGM image file format */
+/* #undef RLE_SUPPORTED */
+#define TARGA_SUPPORTED /* Targa image file format */
+
+/* #undef TWO_FILE_COMMANDLINE */
+/* #undef NEED_SIGNAL_CATCHER */
+/* #undef DONT_USE_B_MODE */
+
+/* Define this if you want percent-done progress reports from cjpeg/djpeg. */
+/* #undef PROGRESS_REPORT */
+
+#endif /* JPEG_CJPEG_DJPEG */
diff --git libsrcs/libjpeg/xcode/libjpeg/libjpeg-Info.plist libsrcs/libjpeg/xcode/libjpeg/libjpeg-Info.plist
new file mode 100644
index 0000000..d81010a
--- /dev/null
+++ libsrcs/libjpeg/xcode/libjpeg/libjpeg-Info.plist
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>CFBundleDevelopmentRegion</key>
+ <string>English</string>
+ <key>CFBundleExecutable</key>
+ <string>${EXECUTABLE_NAME}</string>
+ <key>CFBundleIdentifier</key>
+ <string>com.yourcompany.${PRODUCT_NAME:rfc1034identifier}</string>
+ <key>CFBundleInfoDictionaryVersion</key>
+ <string>6.0</string>
+ <key>CFBundleName</key>
+ <string>${PRODUCT_NAME}</string>
+ <key>CFBundlePackageType</key>
+ <string>FMWK</string>
+ <key>CFBundleShortVersionString</key>
+ <string>1.0</string>
+ <key>CFBundleVersion</key>
+ <string>1</string>
+</dict>
+</plist>
diff --git libsrcs/libogg/macosx/Ogg.xcodeproj/project.pbxproj libsrcs/libogg/macosx/Ogg.xcodeproj/project.pbxproj
index 596ccda..5e01aa1 100644
--- libsrcs/libogg/macosx/Ogg.xcodeproj/project.pbxproj
+++ libsrcs/libogg/macosx/Ogg.xcodeproj/project.pbxproj
@@ -3,7 +3,7 @@
archiveVersion = 1;
classes = {
};
- objectVersion = 42;
+ objectVersion = 46;
objects = {
/* Begin PBXBuildFile section */
@@ -168,11 +168,20 @@
/* Begin PBXProject section */
0867D690FE84028FC02AAC07 /* Project object */ = {
isa = PBXProject;
+ attributes = {
+ LastUpgradeCheck = 0430;
+ };
buildConfigurationList = 730F235809181A3A00AB638C /* Build configuration list for PBXProject "Ogg" */;
+ compatibilityVersion = "Xcode 3.2";
+ developmentRegion = English;
hasScannedForEncodings = 1;
+ knownRegions = (
+ en,
+ );
mainGroup = 0867D691FE84028FC02AAC07 /* Ogg */;
productRefGroup = 034768DDFF38A45A11DB9C8B /* Products */;
projectDirPath = "";
+ projectRoot = "";
targets = (
8D07F2BC0486CC7A007CD1D0 /* Ogg */,
734FB2E40B18B33E00D561D7 /* libogg (static) */,
@@ -242,12 +251,11 @@
DYLIB_CURRENT_VERSION = 1;
FRAMEWORK_VERSION = A;
GCC_DYNAMIC_NO_PIC = NO;
- GCC_ENABLE_FIX_AND_CONTINUE = YES;
GCC_GENERATE_DEBUGGING_SYMBOLS = YES;
GCC_PRECOMPILE_PREFIX_HEADER = YES;
GCC_PREFIX_HEADER = Ogg_Prefix.pch;
INFOPLIST_FILE = Info.plist;
- INSTALL_PATH = /Library/Frameworks;
+ INSTALL_PATH = "@executable_path/../Frameworks/";
PRODUCT_NAME = Ogg;
WRAPPER_EXTENSION = framework;
ZERO_LINK = YES;
@@ -261,12 +269,11 @@
DYLIB_COMPATIBILITY_VERSION = 1;
DYLIB_CURRENT_VERSION = 1;
FRAMEWORK_VERSION = A;
- GCC_ENABLE_FIX_AND_CONTINUE = NO;
GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
GCC_PRECOMPILE_PREFIX_HEADER = YES;
GCC_PREFIX_HEADER = Ogg_Prefix.pch;
INFOPLIST_FILE = Info.plist;
- INSTALL_PATH = /Library/Frameworks;
+ INSTALL_PATH = "@executable_path/../Frameworks/";
PRODUCT_NAME = Ogg;
WRAPPER_EXTENSION = framework;
ZERO_LINK = NO;
@@ -276,19 +283,17 @@
730F235909181A3A00AB638C /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
+ ARCHS = "$(ARCHS_STANDARD_32_BIT)";
GCC_OPTIMIZATION_LEVEL = 0;
GCC_PREPROCESSOR_DEFINITIONS = __MACOSX__;
- SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk;
+ SDKROOT = macosx;
};
name = Debug;
};
730F235A09181A3A00AB638C /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
- ARCHS = (
- ppc,
- i386,
- );
+ ARCHS = "$(ARCHS_STANDARD_32_BIT)";
GCC_OPTIMIZATION_LEVEL = 3;
GCC_PREPROCESSOR_DEFINITIONS = __MACOSX__;
OTHER_CFLAGS = (
@@ -296,7 +301,7 @@
"-ffast-math",
"-falign-loops=16",
);
- SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk;
+ SDKROOT = macosx;
};
name = Release;
};
@@ -305,10 +310,8 @@
buildSettings = {
COPY_PHASE_STRIP = NO;
GCC_DYNAMIC_NO_PIC = NO;
- GCC_ENABLE_FIX_AND_CONTINUE = YES;
GCC_GENERATE_DEBUGGING_SYMBOLS = YES;
INSTALL_PATH = /usr/local/lib;
- PREBINDING = NO;
PRODUCT_NAME = ogg;
ZERO_LINK = YES;
};
@@ -318,10 +321,8 @@
isa = XCBuildConfiguration;
buildSettings = {
COPY_PHASE_STRIP = YES;
- GCC_ENABLE_FIX_AND_CONTINUE = NO;
GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
INSTALL_PATH = /usr/local/lib;
- PREBINDING = NO;
PRODUCT_NAME = ogg;
ZERO_LINK = NO;
};
diff --git libsrcs/libogg/macosx/Ogg.xcodeproj/project.xcworkspace/contents.xcworkspacedata libsrcs/libogg/macosx/Ogg.xcodeproj/project.xcworkspace/contents.xcworkspacedata
new file mode 100644
index 0000000..14b1a49
--- /dev/null
+++ libsrcs/libogg/macosx/Ogg.xcodeproj/project.xcworkspace/contents.xcworkspacedata
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Workspace
+ version = "1.0">
+ <FileRef
+ location = "self:Ogg.xcodeproj">
+ </FileRef>
+</Workspace>
diff --git libsrcs/libpng/projects/xcode/png.xcodeproj/project.pbxproj libsrcs/libpng/projects/xcode/png.xcodeproj/project.pbxproj
new file mode 100644
index 0000000..f35682e
--- /dev/null
+++ libsrcs/libpng/projects/xcode/png.xcodeproj/project.pbxproj
@@ -0,0 +1,357 @@
+// !$*UTF8*$!
+{
+ archiveVersion = 1;
+ classes = {
+ };
+ objectVersion = 46;
+ objects = {
+
+/* Begin PBXBuildFile section */
+ 9D25221615A080F1001CE46F /* InfoPlist.strings in Resources */ = {isa = PBXBuildFile; fileRef = 9D25221415A080F1001CE46F /* InfoPlist.strings */; };
+ 9D25225215A08256001CE46F /* config.h in Headers */ = {isa = PBXBuildFile; fileRef = 9D25225015A08245001CE46F /* config.h */; settings = {ATTRIBUTES = (); }; };
+ 9D25225415A08381001CE46F /* libz.dylib in Frameworks */ = {isa = PBXBuildFile; fileRef = 9D25225315A08381001CE46F /* libz.dylib */; };
+ 9D25228D15A0AD10001CE46F /* png.c in Sources */ = {isa = PBXBuildFile; fileRef = 9D25227615A0AD0E001CE46F /* png.c */; };
+ 9D25228E15A0AD10001CE46F /* png.h in Headers */ = {isa = PBXBuildFile; fileRef = 9D25227715A0AD0E001CE46F /* png.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 9D25228F15A0AD10001CE46F /* pngconf.h in Headers */ = {isa = PBXBuildFile; fileRef = 9D25227815A0AD0E001CE46F /* pngconf.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 9D25229015A0AD10001CE46F /* pngdebug.h in Headers */ = {isa = PBXBuildFile; fileRef = 9D25227915A0AD0E001CE46F /* pngdebug.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 9D25229115A0AD10001CE46F /* pngerror.c in Sources */ = {isa = PBXBuildFile; fileRef = 9D25227A15A0AD0E001CE46F /* pngerror.c */; };
+ 9D25229215A0AD10001CE46F /* pngget.c in Sources */ = {isa = PBXBuildFile; fileRef = 9D25227B15A0AD0E001CE46F /* pngget.c */; };
+ 9D25229315A0AD10001CE46F /* pnginfo.h in Headers */ = {isa = PBXBuildFile; fileRef = 9D25227C15A0AD0F001CE46F /* pnginfo.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 9D25229415A0AD10001CE46F /* pnglibconf.h in Headers */ = {isa = PBXBuildFile; fileRef = 9D25227D15A0AD0F001CE46F /* pnglibconf.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 9D25229515A0AD10001CE46F /* pngmem.c in Sources */ = {isa = PBXBuildFile; fileRef = 9D25227E15A0AD0F001CE46F /* pngmem.c */; };
+ 9D25229615A0AD10001CE46F /* pngpread.c in Sources */ = {isa = PBXBuildFile; fileRef = 9D25227F15A0AD0F001CE46F /* pngpread.c */; };
+ 9D25229715A0AD10001CE46F /* pngpriv.h in Headers */ = {isa = PBXBuildFile; fileRef = 9D25228015A0AD0F001CE46F /* pngpriv.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 9D25229815A0AD10001CE46F /* pngread.c in Sources */ = {isa = PBXBuildFile; fileRef = 9D25228115A0AD0F001CE46F /* pngread.c */; };
+ 9D25229915A0AD10001CE46F /* pngrio.c in Sources */ = {isa = PBXBuildFile; fileRef = 9D25228215A0AD0F001CE46F /* pngrio.c */; };
+ 9D25229A15A0AD10001CE46F /* pngrtran.c in Sources */ = {isa = PBXBuildFile; fileRef = 9D25228315A0AD0F001CE46F /* pngrtran.c */; };
+ 9D25229B15A0AD10001CE46F /* pngrutil.c in Sources */ = {isa = PBXBuildFile; fileRef = 9D25228415A0AD0F001CE46F /* pngrutil.c */; };
+ 9D25229C15A0AD10001CE46F /* pngset.c in Sources */ = {isa = PBXBuildFile; fileRef = 9D25228515A0AD0F001CE46F /* pngset.c */; };
+ 9D25229D15A0AD10001CE46F /* pngstruct.h in Headers */ = {isa = PBXBuildFile; fileRef = 9D25228615A0AD0F001CE46F /* pngstruct.h */; settings = {ATTRIBUTES = (Public, ); }; };
+ 9D25229E15A0AD10001CE46F /* pngtest.c in Sources */ = {isa = PBXBuildFile; fileRef = 9D25228715A0AD0F001CE46F /* pngtest.c */; };
+ 9D25229F15A0AD10001CE46F /* pngtrans.c in Sources */ = {isa = PBXBuildFile; fileRef = 9D25228815A0AD0F001CE46F /* pngtrans.c */; };
+ 9D2522A015A0AD10001CE46F /* pngwio.c in Sources */ = {isa = PBXBuildFile; fileRef = 9D25228915A0AD0F001CE46F /* pngwio.c */; };
+ 9D2522A115A0AD10001CE46F /* pngwrite.c in Sources */ = {isa = PBXBuildFile; fileRef = 9D25228A15A0AD10001CE46F /* pngwrite.c */; };
+ 9D2522A215A0AD10001CE46F /* pngwtran.c in Sources */ = {isa = PBXBuildFile; fileRef = 9D25228B15A0AD10001CE46F /* pngwtran.c */; };
+ 9D2522A315A0AD10001CE46F /* pngwutil.c in Sources */ = {isa = PBXBuildFile; fileRef = 9D25228C15A0AD10001CE46F /* pngwutil.c */; };
+/* End PBXBuildFile section */
+
+/* Begin PBXFileReference section */
+ 9D25220815A080F1001CE46F /* png.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = png.framework; sourceTree = BUILT_PRODUCTS_DIR; };
+ 9D25221315A080F1001CE46F /* png-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "png-Info.plist"; sourceTree = "<group>"; };
+ 9D25221515A080F1001CE46F /* en */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = en; path = en.lproj/InfoPlist.strings; sourceTree = "<group>"; };
+ 9D25225015A08245001CE46F /* config.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = config.h; sourceTree = "<group>"; };
+ 9D25225315A08381001CE46F /* libz.dylib */ = {isa = PBXFileReference; lastKnownFileType = "compiled.mach-o.dylib"; name = libz.dylib; path = usr/lib/libz.dylib; sourceTree = SDKROOT; };
+ 9D25227615A0AD0E001CE46F /* png.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = png.c; path = ../../../png.c; sourceTree = "<group>"; };
+ 9D25227715A0AD0E001CE46F /* png.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = png.h; path = ../../../png.h; sourceTree = "<group>"; };
+ 9D25227815A0AD0E001CE46F /* pngconf.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = pngconf.h; path = ../../../pngconf.h; sourceTree = "<group>"; };
+ 9D25227915A0AD0E001CE46F /* pngdebug.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = pngdebug.h; path = ../../../pngdebug.h; sourceTree = "<group>"; };
+ 9D25227A15A0AD0E001CE46F /* pngerror.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = pngerror.c; path = ../../../pngerror.c; sourceTree = "<group>"; };
+ 9D25227B15A0AD0E001CE46F /* pngget.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = pngget.c; path = ../../../pngget.c; sourceTree = "<group>"; };
+ 9D25227C15A0AD0F001CE46F /* pnginfo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = pnginfo.h; path = ../../../pnginfo.h; sourceTree = "<group>"; };
+ 9D25227D15A0AD0F001CE46F /* pnglibconf.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = pnglibconf.h; path = ../../../pnglibconf.h; sourceTree = "<group>"; };
+ 9D25227E15A0AD0F001CE46F /* pngmem.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = pngmem.c; path = ../../../pngmem.c; sourceTree = "<group>"; };
+ 9D25227F15A0AD0F001CE46F /* pngpread.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = pngpread.c; path = ../../../pngpread.c; sourceTree = "<group>"; };
+ 9D25228015A0AD0F001CE46F /* pngpriv.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = pngpriv.h; path = ../../../pngpriv.h; sourceTree = "<group>"; };
+ 9D25228115A0AD0F001CE46F /* pngread.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = pngread.c; path = ../../../pngread.c; sourceTree = "<group>"; };
+ 9D25228215A0AD0F001CE46F /* pngrio.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = pngrio.c; path = ../../../pngrio.c; sourceTree = "<group>"; };
+ 9D25228315A0AD0F001CE46F /* pngrtran.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = pngrtran.c; path = ../../../pngrtran.c; sourceTree = "<group>"; };
+ 9D25228415A0AD0F001CE46F /* pngrutil.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = pngrutil.c; path = ../../../pngrutil.c; sourceTree = "<group>"; };
+ 9D25228515A0AD0F001CE46F /* pngset.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = pngset.c; path = ../../../pngset.c; sourceTree = "<group>"; };
+ 9D25228615A0AD0F001CE46F /* pngstruct.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = pngstruct.h; path = ../../../pngstruct.h; sourceTree = "<group>"; };
+ 9D25228715A0AD0F001CE46F /* pngtest.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = pngtest.c; path = ../../../pngtest.c; sourceTree = "<group>"; };
+ 9D25228815A0AD0F001CE46F /* pngtrans.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = pngtrans.c; path = ../../../pngtrans.c; sourceTree = "<group>"; };
+ 9D25228915A0AD0F001CE46F /* pngwio.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = pngwio.c; path = ../../../pngwio.c; sourceTree = "<group>"; };
+ 9D25228A15A0AD10001CE46F /* pngwrite.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = pngwrite.c; path = ../../../pngwrite.c; sourceTree = "<group>"; };
+ 9D25228B15A0AD10001CE46F /* pngwtran.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = pngwtran.c; path = ../../../pngwtran.c; sourceTree = "<group>"; };
+ 9D25228C15A0AD10001CE46F /* pngwutil.c */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.c; name = pngwutil.c; path = ../../../pngwutil.c; sourceTree = "<group>"; };
+/* End PBXFileReference section */
+
+/* Begin PBXFrameworksBuildPhase section */
+ 9D25220415A080F1001CE46F /* Frameworks */ = {
+ isa = PBXFrameworksBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 9D25225415A08381001CE46F /* libz.dylib in Frameworks */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXFrameworksBuildPhase section */
+
+/* Begin PBXGroup section */
+ 9D2521FC15A080F1001CE46F = {
+ isa = PBXGroup;
+ children = (
+ 9D25221115A080F1001CE46F /* png */,
+ 9D25220A15A080F1001CE46F /* Frameworks */,
+ 9D25220915A080F1001CE46F /* Products */,
+ );
+ sourceTree = "<group>";
+ };
+ 9D25220915A080F1001CE46F /* Products */ = {
+ isa = PBXGroup;
+ children = (
+ 9D25220815A080F1001CE46F /* png.framework */,
+ );
+ name = Products;
+ sourceTree = "<group>";
+ };
+ 9D25220A15A080F1001CE46F /* Frameworks */ = {
+ isa = PBXGroup;
+ children = (
+ 9D25225315A08381001CE46F /* libz.dylib */,
+ );
+ name = Frameworks;
+ sourceTree = "<group>";
+ };
+ 9D25221115A080F1001CE46F /* png */ = {
+ isa = PBXGroup;
+ children = (
+ 9D25227615A0AD0E001CE46F /* png.c */,
+ 9D25227715A0AD0E001CE46F /* png.h */,
+ 9D25227815A0AD0E001CE46F /* pngconf.h */,
+ 9D25227915A0AD0E001CE46F /* pngdebug.h */,
+ 9D25227A15A0AD0E001CE46F /* pngerror.c */,
+ 9D25227B15A0AD0E001CE46F /* pngget.c */,
+ 9D25227C15A0AD0F001CE46F /* pnginfo.h */,
+ 9D25227D15A0AD0F001CE46F /* pnglibconf.h */,
+ 9D25227E15A0AD0F001CE46F /* pngmem.c */,
+ 9D25227F15A0AD0F001CE46F /* pngpread.c */,
+ 9D25228015A0AD0F001CE46F /* pngpriv.h */,
+ 9D25228115A0AD0F001CE46F /* pngread.c */,
+ 9D25228215A0AD0F001CE46F /* pngrio.c */,
+ 9D25228315A0AD0F001CE46F /* pngrtran.c */,
+ 9D25228415A0AD0F001CE46F /* pngrutil.c */,
+ 9D25228515A0AD0F001CE46F /* pngset.c */,
+ 9D25228615A0AD0F001CE46F /* pngstruct.h */,
+ 9D25228715A0AD0F001CE46F /* pngtest.c */,
+ 9D25228815A0AD0F001CE46F /* pngtrans.c */,
+ 9D25228915A0AD0F001CE46F /* pngwio.c */,
+ 9D25228A15A0AD10001CE46F /* pngwrite.c */,
+ 9D25228B15A0AD10001CE46F /* pngwtran.c */,
+ 9D25228C15A0AD10001CE46F /* pngwutil.c */,
+ 9D25221215A080F1001CE46F /* Supporting Files */,
+ );
+ path = png;
+ sourceTree = "<group>";
+ };
+ 9D25221215A080F1001CE46F /* Supporting Files */ = {
+ isa = PBXGroup;
+ children = (
+ 9D25225015A08245001CE46F /* config.h */,
+ 9D25221315A080F1001CE46F /* png-Info.plist */,
+ 9D25221415A080F1001CE46F /* InfoPlist.strings */,
+ );
+ name = "Supporting Files";
+ sourceTree = "<group>";
+ };
+/* End PBXGroup section */
+
+/* Begin PBXHeadersBuildPhase section */
+ 9D25220515A080F1001CE46F /* Headers */ = {
+ isa = PBXHeadersBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 9D25228E15A0AD10001CE46F /* png.h in Headers */,
+ 9D25228F15A0AD10001CE46F /* pngconf.h in Headers */,
+ 9D25229015A0AD10001CE46F /* pngdebug.h in Headers */,
+ 9D25229315A0AD10001CE46F /* pnginfo.h in Headers */,
+ 9D25229415A0AD10001CE46F /* pnglibconf.h in Headers */,
+ 9D25229715A0AD10001CE46F /* pngpriv.h in Headers */,
+ 9D25229D15A0AD10001CE46F /* pngstruct.h in Headers */,
+ 9D25225215A08256001CE46F /* config.h in Headers */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXHeadersBuildPhase section */
+
+/* Begin PBXNativeTarget section */
+ 9D25220715A080F1001CE46F /* png */ = {
+ isa = PBXNativeTarget;
+ buildConfigurationList = 9D25221D15A080F1001CE46F /* Build configuration list for PBXNativeTarget "png" */;
+ buildPhases = (
+ 9D25220315A080F1001CE46F /* Sources */,
+ 9D25220415A080F1001CE46F /* Frameworks */,
+ 9D25220515A080F1001CE46F /* Headers */,
+ 9D25220615A080F1001CE46F /* Resources */,
+ );
+ buildRules = (
+ );
+ dependencies = (
+ );
+ name = png;
+ productName = png;
+ productReference = 9D25220815A080F1001CE46F /* png.framework */;
+ productType = "com.apple.product-type.framework";
+ };
+/* End PBXNativeTarget section */
+
+/* Begin PBXProject section */
+ 9D2521FE15A080F1001CE46F /* Project object */ = {
+ isa = PBXProject;
+ attributes = {
+ LastUpgradeCheck = 0430;
+ };
+ buildConfigurationList = 9D25220115A080F1001CE46F /* Build configuration list for PBXProject "png" */;
+ compatibilityVersion = "Xcode 3.2";
+ developmentRegion = English;
+ hasScannedForEncodings = 0;
+ knownRegions = (
+ en,
+ );
+ mainGroup = 9D2521FC15A080F1001CE46F;
+ productRefGroup = 9D25220915A080F1001CE46F /* Products */;
+ projectDirPath = "";
+ projectRoot = "";
+ targets = (
+ 9D25220715A080F1001CE46F /* png */,
+ );
+ };
+/* End PBXProject section */
+
+/* Begin PBXResourcesBuildPhase section */
+ 9D25220615A080F1001CE46F /* Resources */ = {
+ isa = PBXResourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 9D25221615A080F1001CE46F /* InfoPlist.strings in Resources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXResourcesBuildPhase section */
+
+/* Begin PBXSourcesBuildPhase section */
+ 9D25220315A080F1001CE46F /* Sources */ = {
+ isa = PBXSourcesBuildPhase;
+ buildActionMask = 2147483647;
+ files = (
+ 9D25228D15A0AD10001CE46F /* png.c in Sources */,
+ 9D25229115A0AD10001CE46F /* pngerror.c in Sources */,
+ 9D25229215A0AD10001CE46F /* pngget.c in Sources */,
+ 9D25229515A0AD10001CE46F /* pngmem.c in Sources */,
+ 9D25229615A0AD10001CE46F /* pngpread.c in Sources */,
+ 9D25229815A0AD10001CE46F /* pngread.c in Sources */,
+ 9D25229915A0AD10001CE46F /* pngrio.c in Sources */,
+ 9D25229A15A0AD10001CE46F /* pngrtran.c in Sources */,
+ 9D25229B15A0AD10001CE46F /* pngrutil.c in Sources */,
+ 9D25229C15A0AD10001CE46F /* pngset.c in Sources */,
+ 9D25229E15A0AD10001CE46F /* pngtest.c in Sources */,
+ 9D25229F15A0AD10001CE46F /* pngtrans.c in Sources */,
+ 9D2522A015A0AD10001CE46F /* pngwio.c in Sources */,
+ 9D2522A115A0AD10001CE46F /* pngwrite.c in Sources */,
+ 9D2522A215A0AD10001CE46F /* pngwtran.c in Sources */,
+ 9D2522A315A0AD10001CE46F /* pngwutil.c in Sources */,
+ );
+ runOnlyForDeploymentPostprocessing = 0;
+ };
+/* End PBXSourcesBuildPhase section */
+
+/* Begin PBXVariantGroup section */
+ 9D25221415A080F1001CE46F /* InfoPlist.strings */ = {
+ isa = PBXVariantGroup;
+ children = (
+ 9D25221515A080F1001CE46F /* en */,
+ );
+ name = InfoPlist.strings;
+ sourceTree = "<group>";
+ };
+/* End PBXVariantGroup section */
+
+/* Begin XCBuildConfiguration section */
+ 9D25221B15A080F1001CE46F /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ ARCHS = "$(ARCHS_STANDARD_32_BIT)";
+ CLANG_ENABLE_OBJC_ARC = YES;
+ COPY_PHASE_STRIP = NO;
+ GCC_C_LANGUAGE_STANDARD = gnu99;
+ GCC_DYNAMIC_NO_PIC = NO;
+ GCC_ENABLE_OBJC_EXCEPTIONS = YES;
+ GCC_OPTIMIZATION_LEVEL = 0;
+ GCC_PREPROCESSOR_DEFINITIONS = (
+ "DEBUG=1",
+ "$(inherited)",
+ );
+ GCC_SYMBOLS_PRIVATE_EXTERN = NO;
+ GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
+ GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
+ GCC_WARN_ABOUT_RETURN_TYPE = YES;
+ GCC_WARN_UNINITIALIZED_AUTOS = YES;
+ GCC_WARN_UNUSED_VARIABLE = YES;
+ MACOSX_DEPLOYMENT_TARGET = 10.7;
+ ONLY_ACTIVE_ARCH = YES;
+ SDKROOT = macosx;
+ };
+ name = Debug;
+ };
+ 9D25221C15A080F1001CE46F /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ ALWAYS_SEARCH_USER_PATHS = NO;
+ ARCHS = "$(ARCHS_STANDARD_32_BIT)";
+ CLANG_ENABLE_OBJC_ARC = YES;
+ COPY_PHASE_STRIP = YES;
+ DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
+ GCC_C_LANGUAGE_STANDARD = gnu99;
+ GCC_ENABLE_OBJC_EXCEPTIONS = YES;
+ GCC_VERSION = com.apple.compilers.llvm.clang.1_0;
+ GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
+ GCC_WARN_ABOUT_RETURN_TYPE = YES;
+ GCC_WARN_UNINITIALIZED_AUTOS = YES;
+ GCC_WARN_UNUSED_VARIABLE = YES;
+ MACOSX_DEPLOYMENT_TARGET = 10.7;
+ SDKROOT = macosx;
+ };
+ name = Release;
+ };
+ 9D25221E15A080F1001CE46F /* Debug */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ DYLIB_COMPATIBILITY_VERSION = 1;
+ DYLIB_CURRENT_VERSION = 1;
+ FRAMEWORK_VERSION = A;
+ INFOPLIST_FILE = "png/png-Info.plist";
+ INSTALL_PATH = "@executable_path/../Frameworks";
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ WRAPPER_EXTENSION = framework;
+ };
+ name = Debug;
+ };
+ 9D25221F15A080F1001CE46F /* Release */ = {
+ isa = XCBuildConfiguration;
+ buildSettings = {
+ DYLIB_COMPATIBILITY_VERSION = 1;
+ DYLIB_CURRENT_VERSION = 1;
+ FRAMEWORK_VERSION = A;
+ INFOPLIST_FILE = "png/png-Info.plist";
+ INSTALL_PATH = "@executable_path/../Frameworks";
+ PRODUCT_NAME = "$(TARGET_NAME)";
+ WRAPPER_EXTENSION = framework;
+ };
+ name = Release;
+ };
+/* End XCBuildConfiguration section */
+
+/* Begin XCConfigurationList section */
+ 9D25220115A080F1001CE46F /* Build configuration list for PBXProject "png" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 9D25221B15A080F1001CE46F /* Debug */,
+ 9D25221C15A080F1001CE46F /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+ 9D25221D15A080F1001CE46F /* Build configuration list for PBXNativeTarget "png" */ = {
+ isa = XCConfigurationList;
+ buildConfigurations = (
+ 9D25221E15A080F1001CE46F /* Debug */,
+ 9D25221F15A080F1001CE46F /* Release */,
+ );
+ defaultConfigurationIsVisible = 0;
+ defaultConfigurationName = Release;
+ };
+/* End XCConfigurationList section */
+ };
+ rootObject = 9D2521FE15A080F1001CE46F /* Project object */;
+}
diff --git libsrcs/libpng/projects/xcode/png.xcodeproj/project.xcworkspace/contents.xcworkspacedata libsrcs/libpng/projects/xcode/png.xcodeproj/project.xcworkspace/contents.xcworkspacedata
new file mode 100644
index 0000000..7659e06
--- /dev/null
+++ libsrcs/libpng/projects/xcode/png.xcodeproj/project.xcworkspace/contents.xcworkspacedata
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Workspace
+ version = "1.0">
+ <FileRef
+ location = "self:png.xcodeproj">
+ </FileRef>
+</Workspace>
diff --git libsrcs/libpng/projects/xcode/png/config.h libsrcs/libpng/projects/xcode/png/config.h
new file mode 100644
index 0000000..cab6bda
--- /dev/null
+++ libsrcs/libpng/projects/xcode/png/config.h
@@ -0,0 +1,110 @@
+/* config.h. Generated from config.h.in by configure. */
+/* config.h.in. Generated from configure.ac by autoheader. */
+
+/* Define to 1 if you have the <dlfcn.h> header file. */
+#define HAVE_DLFCN_H 1
+
+/* Define to 1 if you have the `feenableexcept' function. */
+/* #undef HAVE_FEENABLEEXCEPT */
+
+/* Define to 1 if you have the <inttypes.h> header file. */
+#define HAVE_INTTYPES_H 1
+
+/* Define to 1 if you have the `m' library (-lm). */
+/* #undef HAVE_LIBM */
+
+/* Define to 1 if you have the `z' library (-lz). */
+#define HAVE_LIBZ 1
+
+/* Define to 1 if you have the <malloc.h> header file. */
+/* #undef HAVE_MALLOC_H */
+
+/* Define to 1 if you have the <memory.h> header file. */
+#define HAVE_MEMORY_H 1
+
+/* Define to 1 if you have the `memset' function. */
+#define HAVE_MEMSET 1
+
+/* Define to 1 if you have the `pow' function. */
+#define HAVE_POW 1
+
+/* Define to 1 if you have the <stdint.h> header file. */
+#define HAVE_STDINT_H 1
+
+/* Define to 1 if you have the <stdlib.h> header file. */
+#define HAVE_STDLIB_H 1
+
+/* Define to 1 if you have the <strings.h> header file. */
+#define HAVE_STRINGS_H 1
+
+/* Define to 1 if you have the <string.h> header file. */
+#define HAVE_STRING_H 1
+
+/* Define to 1 if you have the <sys/stat.h> header file. */
+#define HAVE_SYS_STAT_H 1
+
+/* Define to 1 if you have the <sys/types.h> header file. */
+#define HAVE_SYS_TYPES_H 1
+
+/* Define to 1 if you have the <unistd.h> header file. */
+#define HAVE_UNISTD_H 1
+
+/* Define to the sub-directory in which libtool stores uninstalled libraries.
+ */
+#define LT_OBJDIR ".libs/"
+
+/* Name of package */
+#define PACKAGE "libpng"
+
+/* Define to the address where bug reports for this package should be sent. */
+#define PACKAGE_BUGREPORT "png-mng-implement@lists.sourceforge.net"
+
+/* Define to the full name of this package. */
+#define PACKAGE_NAME "libpng"
+
+/* Define to the full name and version of this package. */
+#define PACKAGE_STRING "libpng 1.5.10"
+
+/* Define to the one symbol short name of this package. */
+#define PACKAGE_TARNAME "libpng"
+
+/* Define to the home page for this package. */
+#define PACKAGE_URL ""
+
+/* Define to the version of this package. */
+#define PACKAGE_VERSION "1.5.10"
+
+/* Align row buffers */
+/* #undef PNG_ALIGNED_MEMORY_SUPPORTED */
+
+/* Enable ARM NEON optimizations */
+/* #undef PNG_ARM_NEON */
+
+/* Define to 1 if you have the ANSI C header files. */
+#define STDC_HEADERS 1
+
+/* Define to 1 if your <sys/time.h> declares `struct tm'. */
+/* #undef TM_IN_SYS_TIME */
+
+/* Version number of package */
+#define VERSION "1.5.10"
+
+/* Define to empty if `const' does not conform to ANSI C. */
+/* #undef const */
+
+/* Define to the equivalent of the C99 'restrict' keyword, or to
+ nothing if this is not supported. Do not define if restrict is
+ supported directly. */
+#define restrict __restrict
+/* Work around a bug in Sun C++: it does not support _Restrict or
+ __restrict__, even though the corresponding Sun C compiler ends up with
+ "#define restrict _Restrict" or "#define restrict __restrict__" in the
+ previous line. Perhaps some future version of Sun C++ will work with
+ restrict; if so, hopefully it defines __RESTRICT like Sun C does. */
+#if defined __SUNPRO_CC && !defined __RESTRICT
+# define _Restrict
+# define __restrict__
+#endif
+
+/* Define to `unsigned int' if <sys/types.h> does not define. */
+/* #undef size_t */
diff --git libsrcs/libpng/projects/xcode/png/en.lproj/InfoPlist.strings libsrcs/libpng/projects/xcode/png/en.lproj/InfoPlist.strings
new file mode 100644
index 0000000..477b28f
--- /dev/null
+++ libsrcs/libpng/projects/xcode/png/en.lproj/InfoPlist.strings
@@ -0,0 +1,2 @@
+/* Localized versions of Info.plist keys */
+
diff --git libsrcs/libpng/projects/xcode/png/png-Info.plist libsrcs/libpng/projects/xcode/png/png-Info.plist
new file mode 100644
index 0000000..d81010a
--- /dev/null
+++ libsrcs/libpng/projects/xcode/png/png-Info.plist
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<plist version="1.0">
+<dict>
+ <key>CFBundleDevelopmentRegion</key>
+ <string>English</string>
+ <key>CFBundleExecutable</key>
+ <string>${EXECUTABLE_NAME}</string>
+ <key>CFBundleIdentifier</key>
+ <string>com.yourcompany.${PRODUCT_NAME:rfc1034identifier}</string>
+ <key>CFBundleInfoDictionaryVersion</key>
+ <string>6.0</string>
+ <key>CFBundleName</key>
+ <string>${PRODUCT_NAME}</string>
+ <key>CFBundlePackageType</key>
+ <string>FMWK</string>
+ <key>CFBundleShortVersionString</key>
+ <string>1.0</string>
+ <key>CFBundleVersion</key>
+ <string>1</string>
+</dict>
+</plist>
diff --git libsrcs/libtheora/macosx/Theora.xcodeproj/project.pbxproj libsrcs/libtheora/macosx/Theora.xcodeproj/project.pbxproj
index 380245f..aa5ecbb 100644
--- libsrcs/libtheora/macosx/Theora.xcodeproj/project.pbxproj
+++ libsrcs/libtheora/macosx/Theora.xcodeproj/project.pbxproj
@@ -3,7 +3,7 @@
archiveVersion = 1;
classes = {
};
- objectVersion = 42;
+ objectVersion = 46;
objects = {
/* Begin PBXBuildFile section */
@@ -498,9 +498,16 @@
/* Begin PBXProject section */
0867D690FE84028FC02AAC07 /* Project object */ = {
isa = PBXProject;
+ attributes = {
+ LastUpgradeCheck = 0430;
+ };
buildConfigurationList = 4FADC24608B4156D00ABE55E /* Build configuration list for PBXProject "Theora" */;
- compatibilityVersion = "Xcode 2.4";
+ compatibilityVersion = "Xcode 3.2";
+ developmentRegion = English;
hasScannedForEncodings = 1;
+ knownRegions = (
+ en,
+ );
mainGroup = 0867D691FE84028FC02AAC07 /* Theora */;
productRefGroup = 034768DDFF38A45A11DB9C8B /* Products */;
projectDirPath = "";
@@ -651,7 +658,6 @@
buildSettings = {
COPY_PHASE_STRIP = NO;
GCC_DYNAMIC_NO_PIC = NO;
- GCC_ENABLE_FIX_AND_CONTINUE = YES;
GCC_GENERATE_DEBUGGING_SYMBOLS = YES;
GCC_OPTIMIZATION_LEVEL = 0;
HEADER_SEARCH_PATHS = (
@@ -659,7 +665,6 @@
../../ogg/include,
);
INSTALL_PATH = /usr/local/lib;
- PREBINDING = NO;
PRODUCT_NAME = theoradec;
ZERO_LINK = YES;
};
@@ -669,14 +674,12 @@
isa = XCBuildConfiguration;
buildSettings = {
COPY_PHASE_STRIP = YES;
- GCC_ENABLE_FIX_AND_CONTINUE = NO;
GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
HEADER_SEARCH_PATHS = (
"$(inherited)",
../../ogg/include,
);
INSTALL_PATH = /usr/local/lib;
- PREBINDING = NO;
PRODUCT_NAME = theoradec;
ZERO_LINK = NO;
};
@@ -693,14 +696,12 @@
/Library/Frameworks,
);
FRAMEWORK_VERSION = A;
- GCC_ENABLE_FIX_AND_CONTINUE = YES;
GCC_OPTIMIZATION_LEVEL = 0;
GCC_PRECOMPILE_PREFIX_HEADER = YES;
GCC_PREFIX_HEADER = Theora_Prefix.pch;
INFOPLIST_FILE = Info.plist;
- INSTALL_PATH = /Library/Frameworks;
+ INSTALL_PATH = "@executable_path/../Frameworks";
LIBRARY_STYLE = DYNAMIC;
- MACH_O_TYPE = mh_dylib;
OTHER_LDFLAGS_i386 = "-Wl,-read_only_relocs,suppress";
PRODUCT_NAME = Theora;
WRAPPER_EXTENSION = framework;
@@ -721,11 +722,9 @@
GCC_PRECOMPILE_PREFIX_HEADER = YES;
GCC_PREFIX_HEADER = Theora_Prefix.pch;
INFOPLIST_FILE = Info.plist;
- INSTALL_PATH = /Library/Frameworks;
+ INSTALL_PATH = "@executable_path/../Frameworks";
LIBRARY_STYLE = DYNAMIC;
- MACH_O_TYPE = mh_dylib;
OTHER_LDFLAGS_i386 = "-Wl,-read_only_relocs,suppress";
- PREBINDING = YES;
PRODUCT_NAME = Theora;
WRAPPER_EXTENSION = framework;
};
@@ -734,6 +733,7 @@
4FADC24708B4156D00ABE55E /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
+ ARCHS = "$(ARCHS_STANDARD_32_BIT)";
GCC_OPTIMIZATION_LEVEL = 0;
GCC_PREPROCESSOR_DEFINITIONS = (
"$(GCC_PREPROCESSOR_DEFINITIONS)",
@@ -747,16 +747,14 @@
"../lib/**",
);
OTHER_CFLAGS = "";
- PREBINDING = NO;
- SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk;
+ SDKROOT = macosx;
};
name = Debug;
};
4FADC24808B4156D00ABE55E /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
- ARCHS = "$(ARCHS_STANDARD_32_BIT_PRE_XCODE_3_1)";
- ARCHS_STANDARD_32_BIT_PRE_XCODE_3_1 = "ppc i386";
+ ARCHS = "$(ARCHS_STANDARD_32_BIT)";
GCC_OPTIMIZATION_LEVEL = 3;
GCC_PREPROCESSOR_DEFINITIONS = (
"$(GCC_PREPROCESSOR_DEFINITIONS)",
@@ -778,8 +776,7 @@
"-funroll-loops",
);
PER_ARCH_CFLAGS_i386 = "-DOC_X86_ASM";
- PREBINDING = NO;
- SDKROOT = /Developer/SDKs/MacOSX10.4u.sdk;
+ SDKROOT = macosx;
};
name = Release;
};
@@ -788,7 +785,6 @@
buildSettings = {
COPY_PHASE_STRIP = NO;
GCC_DYNAMIC_NO_PIC = NO;
- GCC_ENABLE_FIX_AND_CONTINUE = YES;
GCC_GENERATE_DEBUGGING_SYMBOLS = YES;
GCC_OPTIMIZATION_LEVEL = 0;
HEADER_SEARCH_PATHS = (
@@ -796,7 +792,6 @@
../../ogg/include,
);
INSTALL_PATH = /usr/local/lib;
- PREBINDING = NO;
PRODUCT_NAME = theoraenc;
ZERO_LINK = YES;
};
@@ -806,14 +801,12 @@
isa = XCBuildConfiguration;
buildSettings = {
COPY_PHASE_STRIP = YES;
- GCC_ENABLE_FIX_AND_CONTINUE = NO;
GCC_GENERATE_DEBUGGING_SYMBOLS = NO;
HEADER_SEARCH_PATHS = (
"$(inherited)",
../../ogg/include,
);
INSTALL_PATH = /usr/local/lib;
- PREBINDING = NO;
PRODUCT_NAME = theoraenc;
ZERO_LINK = NO;
};
diff --git libsrcs/libtheora/macosx/Theora.xcodeproj/project.xcworkspace/contents.xcworkspacedata libsrcs/libtheora/macosx/Theora.xcodeproj/project.xcworkspace/contents.xcworkspacedata
new file mode 100644
index 0000000..b9bbd57
--- /dev/null
+++ libsrcs/libtheora/macosx/Theora.xcodeproj/project.xcworkspace/contents.xcworkspacedata
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<Workspace
+ version = "1.0">
+ <FileRef
+ location = "self:Theora.xcodeproj">
+ </FileRef>
+</Workspace>
diff --git source/angelwrap/addon/addon_dictionary.h source/angelwrap/addon/addon_dictionary.h
index c5d0166..8873c63 100644
--- source/angelwrap/addon/addon_dictionary.h
+++ source/angelwrap/addon/addon_dictionary.h
@@ -5,7 +5,11 @@
// string type must be registered with the engine before registering the
// dictionary type
+#if defined ( __APPLE__ )
+#include <angelscript/angelscript.h>
+#else
#include <angelscript.h>
+#endif
#include <string>
#ifdef _MSC_VER
diff --git source/client/cl_vid.c source/client/cl_vid.c
index 2ea7b2e..f287b79 100644
--- source/client/cl_vid.c
+++ source/client/cl_vid.c
@@ -153,7 +153,7 @@ qboolean VID_GetModeInfo( int *width, int *height, qboolean *wideScreen, int mod
*
* Find the best matching video mode for given width and height
*/
-static int VID_GetModeNum( int width, int height )
+int VID_GetModeNum( int width, int height )
{
int i;
int dx, dy, dist;
@@ -190,7 +190,7 @@ static void VID_ModeList_f( void )
/*
** VID_NewWindow
*/
-static void VID_NewWindow( int width, int height )
+void VID_NewWindow( int width, int height )
{
viddef.width = width;
viddef.height = height;
diff --git source/client/vid.h source/client/vid.h
index 7d6715b..ec6fabb 100644
--- source/client/vid.h
+++ source/client/vid.h
@@ -36,3 +36,5 @@ void *VID_GetWindowHandle( void );
void VID_FlashWindow( int count );
qboolean VID_GetScreenSize( int *width, int *height );
qboolean VID_GetModeInfo( int *width, int *height, qboolean *wideScreen, int mode );
+int VID_GetModeNum( int width, int height );
+void VID_NewWindow( int width, int height );
diff --git source/gameshared/q_math.c source/gameshared/q_math.c
index cd244a6..8f0552a 100644
--- source/gameshared/q_math.c
+++ source/gameshared/q_math.c
@@ -1112,7 +1112,7 @@ void Quat_Quat3( const vec3_t in, quat_t out )
out[0] = in[0];
out[1] = in[1];
out[2] = in[2];
- out[3] = -sqrt(max(1 - in[0]*in[0] - in[1]*in[1] - in[2]*in[2], 0));
+ out[3] = -sqrt(max(1 - in[0]*in[0] - in[1]*in[1] - in[2]*in[2], 0.0f));
}
qboolean Quat_Compare( const quat_t q1, const quat_t q2 )
diff --git source/mac/Frameworks/Ogg.framework/Ogg source/mac/Frameworks/Ogg.framework/Ogg
deleted file mode 100755
index 2be62e4..0000000
Binary files source/mac/Frameworks/Ogg.framework/Ogg and /dev/null differ
diff --git source/mac/Frameworks/Ogg.framework/Ogg source/mac/Frameworks/Ogg.framework/Ogg
new file mode 120000
index 0000000..d6b4e13
--- /dev/null
+++ source/mac/Frameworks/Ogg.framework/Ogg
@@ -0,0 +1 @@
+Versions/Current/Ogg
\ No newline at end of file
diff --git source/mac/Frameworks/Ogg.framework/Versions/A/Headers/ogg.h source/mac/Frameworks/Ogg.framework/Versions/A/Headers/ogg.h
index 9082679..ae0cfd5 100644
--- source/mac/Frameworks/Ogg.framework/Versions/A/Headers/ogg.h
+++ source/mac/Frameworks/Ogg.framework/Versions/A/Headers/ogg.h
@@ -5,13 +5,13 @@
* GOVERNED BY A BSD-STYLE SOURCE LICENSE INCLUDED WITH THIS SOURCE *
* IN 'COPYING'. PLEASE READ THESE TERMS BEFORE DISTRIBUTING. *
* *
- * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2002 *
+ * THE OggVorbis SOURCE CODE IS (C) COPYRIGHT 1994-2007 *
* by the Xiph.Org Foundation http://www.xiph.org/ *
* *
********************************************************************
function: toplevel libogg include
- last mod: $Id: ogg.h 7188 2004-07-20 07:26:04Z xiphmont $
+ last mod: $Id: ogg.h 16051 2009-05-27 05:00:06Z xiphmont $
********************************************************************/
#ifndef _OGG_H
@@ -21,9 +21,15 @@
extern "C" {
#endif
+#include <stddef.h>
#include <ogg/os_types.h>
typedef struct {
+ void *iov_base;
+ size_t iov_len;
+} ogg_iovec_t;
+
+typedef struct {
long endbyte;
int endbit;
@@ -53,8 +59,8 @@ typedef struct {
int *lacing_vals; /* The values that will go to the segment table */
ogg_int64_t *granule_vals; /* granulepos values for headers. Not compact
- this way, but it is simple coupled to the
- lacing fifo */
+ this way, but it is simple coupled to the
+ lacing fifo */
long lacing_storage;
long lacing_fill;
long lacing_packet;
@@ -69,7 +75,7 @@ typedef struct {
of a logical bitstream */
long serialno;
long pageno;
- ogg_int64_t packetno; /* sequence number for decode; the framing
+ ogg_int64_t packetno; /* sequence number for decode; the framing
knows where there's a hole in the data,
but we need coupling so that the codec
(which is in a seperate abstraction
@@ -88,12 +94,12 @@ typedef struct {
long e_o_s;
ogg_int64_t granulepos;
-
+
ogg_int64_t packetno; /* sequence number for decode; the framing
- knows where there's a hole in the data,
- but we need coupling so that the codec
- (which is in a seperate abstraction
- layer) also knows about the gap */
+ knows where there's a hole in the data,
+ but we need coupling so that the codec
+ (which is in a seperate abstraction
+ layer) also knows about the gap */
} ogg_packet;
typedef struct {
@@ -110,6 +116,7 @@ typedef struct {
/* Ogg BITSTREAM PRIMITIVES: bitstream ************************/
extern void oggpack_writeinit(oggpack_buffer *b);
+extern int oggpack_writecheck(oggpack_buffer *b);
extern void oggpack_writetrunc(oggpack_buffer *b,long bits);
extern void oggpack_writealign(oggpack_buffer *b);
extern void oggpack_writecopy(oggpack_buffer *b,void *source,long bits);
@@ -128,6 +135,7 @@ extern long oggpack_bits(oggpack_buffer *b);
extern unsigned char *oggpack_get_buffer(oggpack_buffer *b);
extern void oggpackB_writeinit(oggpack_buffer *b);
+extern int oggpackB_writecheck(oggpack_buffer *b);
extern void oggpackB_writetrunc(oggpack_buffer *b,long bits);
extern void oggpackB_writealign(oggpack_buffer *b);
extern void oggpackB_writecopy(oggpack_buffer *b,void *source,long bits);
@@ -148,6 +156,8 @@ extern unsigned char *oggpackB_get_buffer(oggpack_buffer *b);
/* Ogg BITSTREAM PRIMITIVES: encoding **************************/
extern int ogg_stream_packetin(ogg_stream_state *os, ogg_packet *op);
+extern int ogg_stream_iovecin(ogg_stream_state *os, ogg_iovec_t *iov,
+ int count, long e_o_s, ogg_int64_t granulepos);
extern int ogg_stream_pageout(ogg_stream_state *os, ogg_page *og);
extern int ogg_stream_flush(ogg_stream_state *os, ogg_page *og);
@@ -156,7 +166,8 @@ extern int ogg_stream_flush(ogg_stream_state *os, ogg_page *og);
extern int ogg_sync_init(ogg_sync_state *oy);
extern int ogg_sync_clear(ogg_sync_state *oy);
extern int ogg_sync_reset(ogg_sync_state *oy);
-extern int ogg_sync_destroy(ogg_sync_state *oy);
+extern int ogg_sync_destroy(ogg_sync_state *oy);
+extern int ogg_sync_check(ogg_sync_state *oy);
extern char *ogg_sync_buffer(ogg_sync_state *oy, long size);
extern int ogg_sync_wrote(ogg_sync_state *oy, long bytes);
@@ -173,18 +184,19 @@ extern int ogg_stream_clear(ogg_stream_state *os);
extern int ogg_stream_reset(ogg_stream_state *os);
extern int ogg_stream_reset_serialno(ogg_stream_state *os,int serialno);
extern int ogg_stream_destroy(ogg_stream_state *os);
+extern int ogg_stream_check(ogg_stream_state *os);
extern int ogg_stream_eos(ogg_stream_state *os);
extern void ogg_page_checksum_set(ogg_page *og);
-extern int ogg_page_version(ogg_page *og);
-extern int ogg_page_continued(ogg_page *og);
-extern int ogg_page_bos(ogg_page *og);
-extern int ogg_page_eos(ogg_page *og);
-extern ogg_int64_t ogg_page_granulepos(ogg_page *og);
-extern int ogg_page_serialno(ogg_page *og);
-extern long ogg_page_pageno(ogg_page *og);
-extern int ogg_page_packets(ogg_page *og);
+extern int ogg_page_version(const ogg_page *og);
+extern int ogg_page_continued(const ogg_page *og);
+extern int ogg_page_bos(const ogg_page *og);
+extern int ogg_page_eos(const ogg_page *og);
+extern ogg_int64_t ogg_page_granulepos(const ogg_page *og);
+extern int ogg_page_serialno(const ogg_page *og);
+extern long ogg_page_pageno(const ogg_page *og);
+extern int ogg_page_packets(const ogg_page *og);
extern void ogg_packet_clear(ogg_packet *op);
@@ -194,9 +206,3 @@ extern void ogg_packet_clear(ogg_packet *op);
#endif
#endif /* _OGG_H */
-
-
-
-
-
-
diff --git source/mac/Frameworks/Ogg.framework/Versions/A/Headers/os_types.h source/mac/Frameworks/Ogg.framework/Versions/A/Headers/os_types.h
index 32dcb8b..f6f8b38 100644
--- source/mac/Frameworks/Ogg.framework/Versions/A/Headers/os_types.h
+++ source/mac/Frameworks/Ogg.framework/Versions/A/Headers/os_types.h
@@ -11,7 +11,7 @@
********************************************************************
function: #ifdef jail to whip a few platforms into the UNIX ideal.
- last mod: $Id: os_types.h 7524 2004-08-11 04:20:36Z conrad $
+ last mod: $Id: os_types.h 16649 2009-10-25 00:49:58Z ds $
********************************************************************/
#ifndef _OS_TYPES_H
@@ -27,19 +27,21 @@
#if defined(_WIN32)
# if defined(__CYGWIN__)
-# include <_G_config.h>
- typedef _G_int64_t ogg_int64_t;
- typedef _G_int32_t ogg_int32_t;
- typedef _G_uint32_t ogg_uint32_t;
- typedef _G_int16_t ogg_int16_t;
- typedef _G_uint16_t ogg_uint16_t;
+# include <stdint.h>
+ typedef int16_t ogg_int16_t;
+ typedef uint16_t ogg_uint16_t;
+ typedef int32_t ogg_int32_t;
+ typedef uint32_t ogg_uint32_t;
+ typedef int64_t ogg_int64_t;
+ typedef uint64_t ogg_uint64_t;
# elif defined(__MINGW32__)
- typedef short ogg_int16_t;
- typedef unsigned short ogg_uint16_t;
- typedef int ogg_int32_t;
- typedef unsigned int ogg_uint32_t;
- typedef long long ogg_int64_t;
- typedef unsigned long long ogg_uint64_t;
+# include <sys/types.h>
+ typedef short ogg_int16_t;
+ typedef unsigned short ogg_uint16_t;
+ typedef int ogg_int32_t;
+ typedef unsigned int ogg_uint32_t;
+ typedef long long ogg_int64_t;
+ typedef unsigned long long ogg_uint64_t;
# elif defined(__MWERKS__)
typedef long long ogg_int64_t;
typedef int ogg_int32_t;
@@ -64,7 +66,7 @@
typedef UInt32 ogg_uint32_t;
typedef SInt64 ogg_int64_t;
-#elif defined(__MACOSX__) /* MacOS X Framework build */
+#elif (defined(__APPLE__) && defined(__MACH__)) /* MacOS X Framework build */
# include <sys/types.h>
typedef int16_t ogg_int16_t;
@@ -73,6 +75,16 @@
typedef u_int32_t ogg_uint32_t;
typedef int64_t ogg_int64_t;
+#elif defined(__HAIKU__)
+
+ /* Haiku */
+# include <sys/types.h>
+ typedef short ogg_int16_t;
+ typedef unsigned short ogg_uint16_t;
+ typedef int ogg_int32_t;
+ typedef unsigned int ogg_uint32_t;
+ typedef long long ogg_int64_t;
+
#elif defined(__BEOS__)
/* Be */
@@ -117,6 +129,15 @@
typedef unsigned int ogg_uint32_t;
typedef long long int ogg_int64_t;
+#elif defined(__TMS320C6X__)
+
+ /* TI C64x compiler */
+ typedef signed short ogg_int16_t;
+ typedef unsigned short ogg_uint16_t;
+ typedef signed int ogg_int32_t;
+ typedef unsigned int ogg_uint32_t;
+ typedef long long int ogg_int64_t;
+
#else
# include <sys/types.h>
diff --git source/mac/Frameworks/Ogg.framework/Versions/A/Ogg source/mac/Frameworks/Ogg.framework/Versions/A/Ogg
index 2be62e4..3acec28 100755
Binary files source/mac/Frameworks/Ogg.framework/Versions/A/Ogg and source/mac/Frameworks/Ogg.framework/Versions/A/Ogg differ
diff --git source/mac/Frameworks/Ogg.framework/Versions/A/Resources/English.lproj/InfoPlist.strings source/mac/Frameworks/Ogg.framework/Versions/A/Resources/English.lproj/InfoPlist.strings
index b230fea..8d0beeb 100644
Binary files source/mac/Frameworks/Ogg.framework/Versions/A/Resources/English.lproj/InfoPlist.strings and source/mac/Frameworks/Ogg.framework/Versions/A/Resources/English.lproj/InfoPlist.strings differ
diff --git source/mac/Frameworks/Ogg.framework/Versions/A/Resources/Info.plist source/mac/Frameworks/Ogg.framework/Versions/A/Resources/Info.plist
index 2e229ce..a69a4c2 100644
--- source/mac/Frameworks/Ogg.framework/Versions/A/Resources/Info.plist
+++ source/mac/Frameworks/Ogg.framework/Versions/A/Resources/Info.plist
@@ -1,13 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
+<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
+ <key>BuildMachineOSBuild</key>
+ <string>11E53</string>
<key>CFBundleDevelopmentRegion</key>
<string>English</string>
<key>CFBundleExecutable</key>
<string>Ogg</string>
<key>CFBundleGetInfoString</key>
- <string>Ogg framework 1.1.2, Copyright © 1994-2005 Xiph.Org Foundation</string>
+ <string>Ogg framework 1.1.4, Copyright © 1994-2009 Xiph.Org Foundation</string>
<key>CFBundleIdentifier</key>
<string>org.xiph.ogg</string>
<key>CFBundleInfoDictionaryVersion</key>
@@ -15,14 +17,28 @@
<key>CFBundlePackageType</key>
<string>FMWK</string>
<key>CFBundleShortVersionString</key>
- <string>1.1.2</string>
+ <string>1.1.4</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
- <string>1.1.2d1</string>
+ <string>1.1.4</string>
<key>CSResourcesFileMapped</key>
<true/>
+ <key>DTCompiler</key>
+ <string></string>
+ <key>DTPlatformBuild</key>
+ <string>4E3002</string>
+ <key>DTPlatformVersion</key>
+ <string>GM</string>
+ <key>DTSDKBuild</key>
+ <string>11E52</string>
+ <key>DTSDKName</key>
+ <string>macosx10.7</string>
+ <key>DTXcode</key>
+ <string>0433</string>
+ <key>DTXcodeBuild</key>
+ <string>4E3002</string>
<key>NSHumanReadableCopyright</key>
- <string>Ogg framework 1.1.2, Copyright © 1994-2005 Xiph.Org Foundation</string>
+ <string>Ogg framework 1.1.4, Copyright © 1994-2009 Xiph.Org Foundation</string>
</dict>
</plist>
diff --git source/mac/Frameworks/Rocket.framework/Headers source/mac/Frameworks/Rocket.framework/Headers
new file mode 120000
index 0000000..a177d2a
--- /dev/null
+++ source/mac/Frameworks/Rocket.framework/Headers
@@ -0,0 +1 @@
+Versions/Current/Headers
\ No newline at end of file
diff --git source/mac/Frameworks/Rocket.framework/Resources source/mac/Frameworks/Rocket.framework/Resources
new file mode 120000
index 0000000..953ee36
--- /dev/null
+++ source/mac/Frameworks/Rocket.framework/Resources
@@ -0,0 +1 @@
+Versions/Current/Resources
\ No newline at end of file
diff --git source/mac/Frameworks/Rocket.framework/Rocket source/mac/Frameworks/Rocket.framework/Rocket
new file mode 120000
index 0000000..b8b5789
--- /dev/null
+++ source/mac/Frameworks/Rocket.framework/Rocket
@@ -0,0 +1 @@
+Versions/Current/Rocket
\ No newline at end of file
diff --git source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Controls.h source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Controls.h
new file mode 100644
index 0000000..4fde116
--- /dev/null
+++ source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Controls.h
@@ -0,0 +1,33 @@
+/*
+ * This source file is part of libRocket, the HTML/CSS Interface Middleware
+ *
+ * For the latest information, see http://www.librocket.com
+ *
+ * Copyright (c) 2008-2010 CodePoint Ltd, Shift Technology Ltd
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ *
+ */
+
+#ifndef ROCKETCONTROLS_H
+#define ROCKETCONTROLS_H
+
+#include <Rocket/Controls/Controls.h>
+
+#endif
diff --git source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Controls/Clipboard.h source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Controls/Clipboard.h
new file mode 100644
index 0000000..7261723
--- /dev/null
+++ source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Controls/Clipboard.h
@@ -0,0 +1,61 @@
+/*
+ * This source file is part of libRocket, the HTML/CSS Interface Middleware
+ *
+ * For the latest information, see http://www.librocket.com
+ *
+ * Copyright (c) 2008-2010 CodePoint Ltd, Shift Technology Ltd
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ *
+ */
+
+#ifndef ROCKETCONTROLSCLIPBOARD_H
+#define ROCKETCONTROLSCLIPBOARD_H
+
+#include <Rocket/Core/WString.h>
+
+namespace Rocket {
+namespace Controls {
+
+/**
+ The clipboard temporarily stores text that is cut or copied from a text widget.
+
+ @author Peter Curry
+ */
+
+class Clipboard
+{
+public:
+ /// Get the current contents of the clipboard.
+ static Rocket::Core::WString Get();
+
+ /// Set the contents of the clipboard.
+ static void Set(const Rocket::Core::WString& content);
+
+ #if defined ROCKET_PLATFORM_WIN32
+ /// Set the window handle of the application. This shouldn't need to be called unless the host
+ /// application opens multiple windows, or opens and closes windows, etc.
+ static void SetHWND(void* hwnd);
+ #endif
+};
+
+}
+}
+
+#endif
diff --git source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Controls/Controls.h source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Controls/Controls.h
new file mode 100644
index 0000000..1ad6f67
--- /dev/null
+++ source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Controls/Controls.h
@@ -0,0 +1,54 @@
+/*
+ * This source file is part of libRocket, the HTML/CSS Interface Middleware
+ *
+ * For the latest information, see http://www.librocket.com
+ *
+ * Copyright (c) 2008-2010 CodePoint Ltd, Shift Technology Ltd
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ *
+ */
+
+#ifndef ROCKETCONTROLSCONTROLS_H
+#define ROCKETCONTROLSCONTROLS_H
+
+#include <Rocket/Controls/DataFormatter.h>
+#include <Rocket/Controls/ElementDataGrid.h>
+#include <Rocket/Controls/ElementDataGridCell.h>
+#include <Rocket/Controls/ElementDataGridExpandButton.h>
+#include <Rocket/Controls/ElementDataGridRow.h>
+#include <Rocket/Controls/ElementForm.h>
+#include <Rocket/Controls/ElementFormControl.h>
+#include <Rocket/Controls/ElementFormControlDataSelect.h>
+#include <Rocket/Controls/ElementFormControlInput.h>
+#include <Rocket/Controls/ElementFormControlSelect.h>
+#include <Rocket/Controls/ElementFormControlTextArea.h>
+#include <Rocket/Controls/ElementTabSet.h>
+#include <Rocket/Controls/SelectOption.h>
+
+namespace Rocket {
+namespace Controls {
+
+/// Registers the instancers for the custom controls.
+ROCKETCONTROLS_API void Initialise();
+
+}
+}
+
+#endif
diff --git source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Controls/DataFormatter.h source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Controls/DataFormatter.h
new file mode 100644
index 0000000..086bfef
--- /dev/null
+++ source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Controls/DataFormatter.h
@@ -0,0 +1,78 @@
+/*
+ * This source file is part of libRocket, the HTML/CSS Interface Middleware
+ *
+ * For the latest information, see http://www.librocket.com
+ *
+ * Copyright (c) 2008-2010 CodePoint Ltd, Shift Technology Ltd
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ *
+ */
+
+#ifndef ROCKETCONTROLSDATAFORMATTER_H
+#define ROCKETCONTROLSDATAFORMATTER_H
+
+#include <Rocket/Core/ScriptInterface.h>
+#include <Rocket/Core/String.h>
+#include <Rocket/Controls/Header.h>
+
+namespace Rocket {
+namespace Controls {
+
+class Element;
+
+/**
+ Abstract base class for a data formatter. A data formatter takes raw data
+ and processes it into a final string. They are usually used in conjunction
+ with a data source and a datagrid.
+
+ @author Robert Curry
+ */
+
+class ROCKETCONTROLS_API DataFormatter
+{
+public:
+ DataFormatter(const Rocket::Core::String& name = "");
+ virtual ~DataFormatter();
+
+ /// Returns the name by which this data formatter is referenced by.
+ /// @return The name of this data formatter.
+ const Rocket::Core::String& GetDataFormatterName();
+ /// Returns a data formatter with the given name.
+ /// @parameter [in] data_formatter_name The name of the data formatter to
+ /// be returned.
+ /// @return If the data formatter with the specified name has been
+ /// constructed, a pointer to it will be returned. Otherwise, NULL.
+ static DataFormatter* GetDataFormatter(const Rocket::Core::String& data_formatter_name);
+
+ /// Formats the raw results of a data source request into RML.
+ /// @param[out] formatted_data The formatted RML.
+ /// @param[in] raw_data A list of the raw data fields.
+ virtual void FormatData(Rocket::Core::String& formatted_data, const Rocket::Core::StringList& raw_data) = 0;
+
+ virtual void* GetScriptObject() const;
+
+private:
+ Rocket::Core::String name;
+};
+
+}
+}
+
+#endif
diff --git source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Controls/DataQuery.h source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Controls/DataQuery.h
new file mode 100644
index 0000000..f3057ae
--- /dev/null
+++ source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Controls/DataQuery.h
@@ -0,0 +1,136 @@
+/*
+ * This source file is part of libRocket, the HTML/CSS Interface Middleware
+ *
+ * For the latest information, see http://www.librocket.com
+ *
+ * Copyright (c) 2008-2010 CodePoint Ltd, Shift Technology Ltd
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ *
+ */
+
+#ifndef ROCKETCONTROLSDATAQUERY_H
+#define ROCKETCONTROLSDATAQUERY_H
+
+#include <Rocket/Controls/Header.h>
+#include <Rocket/Core/TypeConverter.h>
+#include <Rocket/Core/Log.h>
+
+namespace Rocket {
+namespace Controls {
+
+class DataSource;
+
+/**
+ DataQuery
+ @author Robert Curry
+
+ Represents a request for information from an DataSource, encapsulates the result and offers
+ mechanisms to iterate through the returned rows.
+*/
+
+class ROCKETCONTROLS_API DataQuery
+{
+public:
+ DataQuery();
+ DataQuery(DataSource* data_source, const Rocket::Core::String& table, const Rocket::Core::String& fields, int offset = 0, int limit = -1, const Rocket::Core::String& order = "");
+ virtual ~DataQuery();
+
+ void ExecuteQuery(DataSource* data_source, const Rocket::Core::String& table, const Rocket::Core::String& fields, int offset = 0, int limit = -1, const Rocket::Core::String& order = "");
+ bool NextRow();
+
+ bool IsFieldSet(const Rocket::Core::String& field) const;
+
+ template< typename T >
+ T Get(const Rocket::Core::String& field_name, const T& default_value) const
+ {
+ FieldIndices::const_iterator itr = field_indices.find(field_name);
+ if (itr == field_indices.end())
+ {
+ Rocket::Core::Log::Message(Rocket::Core::Log::LT_ERROR, "Field %s not found in query", field_name.CString());
+ return default_value;
+ }
+
+ T return_value = default_value;
+
+ GetInto((*itr).second, return_value);
+
+ return return_value;
+ }
+
+ template< typename T >
+ bool GetInto(const Rocket::Core::String& field_name, T& value) const
+ {
+ FieldIndices::const_iterator itr = field_indices.find(field_name);
+ if (itr == field_indices.end())
+ {
+ Rocket::Core::Log::Message(Rocket::Core::Log::LT_ERROR, "Field %s not found in query", field_name.CString());
+ return false;
+ }
+
+ return GetInto((*itr).second, value);
+ }
+
+ template< typename T >
+ T Get(const size_t field_index, const T& default_value) const
+ {
+ T return_value = default_value;
+
+ GetInto(field_index, return_value);
+
+ return return_value;
+ }
+
+ template< typename T >
+ bool GetInto(const size_t field_index, T& value) const
+ {
+ if (field_index < rows[current_row].size())
+ {
+ return Rocket::Core::TypeConverter< Rocket::Core::String, T >::Convert(rows[current_row][field_index], value);
+ }
+
+ return false;
+ }
+
+ size_t GetNumFields()
+ {
+ return rows[current_row].size();
+ }
+
+private:
+ Rocket::Core::StringList fields;
+
+ DataSource* data_source;
+ Rocket::Core::String table;
+ int current_row;
+ int offset;
+ int limit;
+
+ typedef std::vector< Rocket::Core::StringList > Rows;
+ Rows rows;
+ typedef std::map< Rocket::Core::String, size_t > FieldIndices;
+ FieldIndices field_indices;
+
+ void LoadRow();
+};
+
+}
+}
+
+#endif // ROCKETCONTROLSDATAQUERY_H
diff --git source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Controls/DataSource.h source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Controls/DataSource.h
new file mode 100644
index 0000000..c2f04b2
--- /dev/null
+++ source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Controls/DataSource.h
@@ -0,0 +1,113 @@
+/*
+ * This source file is part of libRocket, the HTML/CSS Interface Middleware
+ *
+ * For the latest information, see http://www.librocket.com
+ *
+ * Copyright (c) 2008-2010 CodePoint Ltd, Shift Technology Ltd
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ *
+ */
+
+#ifndef ROCKETCONTROLSDATASOURCE_H
+#define ROCKETCONTROLSDATASOURCE_H
+
+#include <Rocket/Controls/Header.h>
+#include <Rocket/Core/String.h>
+#include <list>
+#include <map>
+
+namespace Rocket {
+namespace Controls {
+
+class DataSourceListener;
+
+/**
+ Generic object that provides a database-like interface for requesting rows from a table.
+ @author Robert Curry
+ */
+
+class ROCKETCONTROLS_API DataSource
+{
+ public:
+ DataSource(const Rocket::Core::String& name = "");
+ virtual ~DataSource();
+
+ const Rocket::Core::String& GetDataSourceName();
+ static DataSource* GetDataSource(const Rocket::Core::String& data_source_name);
+
+ /// Fetches the contents of one row of a table within the data source.
+ /// @param[out] row The list of values in the table.
+ /// @param[in] table The name of the table to query.
+ /// @param[in] row_index The index of the desired row.
+ /// @param[in] columns The list of desired columns within the row.
+ virtual void GetRow(Rocket::Core::StringList& row, const Rocket::Core::String& table, int row_index, const Rocket::Core::StringList& columns) = 0;
+ /// Fetches the number of rows within one of this data source's tables.
+ /// @param[in] table The name of the table to query.
+ /// @return The number of rows within the specified table.
+ virtual int GetNumRows(const Rocket::Core::String& table) = 0;
+
+ void AttachListener(DataSourceListener* listener);
+ void DetachListener(DataSourceListener* listener);
+
+ virtual void* GetScriptObject() const;
+
+ static const Rocket::Core::String CHILD_SOURCE;
+ static const Rocket::Core::String DEPTH;
+ static const Rocket::Core::String NUM_CHILDREN;
+
+ protected:
+ /// Tells all attached listeners that one or more rows have been added to the data source.
+ /// @param[in] table The name of the table to have rows added to it.
+ /// @param[in] first_row_added The index of the first row added.
+ /// @param[in] num_rows_added The number of rows added (including the first row).
+ void NotifyRowAdd(const Rocket::Core::String& table, int first_row_added, int num_rows_added);
+
+ /// Tells all attached listeners that one or more rows have been removed from the data source.
+ /// @param[in] table The name of the table to have rows removed from it.
+ /// @param[in] first_row_removed The index of the first row removed.
+ /// @param[in] num_rows_removed The number of rows removed (including the first row).
+ void NotifyRowRemove(const Rocket::Core::String& table, int first_row_removed, int num_rows_removed);
+
+ /// Tells all attached listeners that one or more rows have been changed in the data source.
+ /// @param[in] table The name of the table to have rows changed in it.
+ /// @param[in] first_row_changed The index of the first row changed.
+ /// @param[in] num_rows_changed The number of rows changed (including the first row).
+ void NotifyRowChange(const Rocket::Core::String& table, int first_row_changed, int num_rows_changed);
+
+ /// Tells all attached listeners that the row structure has completely changed in the data source.
+ /// @param[in] table The name of the table to have rows changed in it.
+ void NotifyRowChange(const Rocket::Core::String& table);
+
+ /// Helper function for building a result set.
+ typedef std::map< Rocket::Core::String, Rocket::Core::String > RowMap;
+ void BuildRowEntries(Rocket::Core::StringList& row, const RowMap& row_map, const Rocket::Core::StringList& columns);
+
+ private:
+ Core::String name;
+
+ typedef std::list< DataSourceListener* > ListenerList;
+ ListenerList listeners;
+};
+
+}
+}
+
+#endif // ROCKETCONTROLSDATASOURCE_H
+
diff --git source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Controls/DataSourceListener.h source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Controls/DataSourceListener.h
new file mode 100644
index 0000000..202f283
--- /dev/null
+++ source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Controls/DataSourceListener.h
@@ -0,0 +1,91 @@
+/*
+ * This source file is part of libRocket, the HTML/CSS Interface Middleware
+ *
+ * For the latest information, see http://www.librocket.com
+ *
+ * Copyright (c) 2008-2010 CodePoint Ltd, Shift Technology Ltd
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ *
+ */
+
+#ifndef ROCKETCONTROLSDATASOURCELISTENER_H
+#define ROCKETCONTROLSDATASOURCELISTENER_H
+
+#include <Rocket/Controls/Header.h>
+#include <Rocket/Core/String.h>
+
+namespace Rocket {
+namespace Controls {
+
+class DataSource;
+
+/**
+ Interface for objects wishing to listen to data source events. Listeners should use the
+ AttachListener() on DataSource to begin observing a data source.
+
+ @author Robert Curry
+ */
+
+class ROCKETCONTROLS_API DataSourceListener
+{
+public:
+ DataSourceListener();
+ virtual ~DataSourceListener();
+
+ /// Notification of the destruction of an observed data source.
+ /// @param[in] data_source Data source being destroyed.
+ virtual void OnDataSourceDestroy(DataSource* data_source);
+ /// Notification of the addition of one or more rows to an observed data source's table.
+ /// @param[in] data_source Data source being changed.
+ /// @param[in] table The name of the changing table within the data source.
+ /// @param[in] first_row_added Index of the first new row.
+ /// @param[in] num_rows_added Number of new sequential rows being added.
+ virtual void OnRowAdd(DataSource* data_source, const Rocket::Core::String& table, int first_row_added, int num_rows_added);
+ /// Notification of the removal of one or more rows from an observed data source's table.
+ /// @param[in] data_source Data source being changed.
+ /// @param[in] table The name of the changing table within the data source.
+ /// @param[in] first_row_removed Index of the first removed row.
+ /// @param[in] num_rows_removed Number of new sequential rows being removed.
+ virtual void OnRowRemove(DataSource* data_source, const Rocket::Core::String& table, int first_row_removed, int num_rows_removed);
+ /// Notification of the changing of one or more rows from an observed data source's table.
+ /// @param[in] data_source Data source being changed.
+ /// @param[in] table The name of the changing table within the data source.
+ /// @param[in] first_row_removed Index of the first changed row.
+ /// @param[in] num_rows_removed Number of new sequential rows being changed.
+ virtual void OnRowChange(DataSource* data_source, const Rocket::Core::String& table, int first_row_changed, int num_rows_changed);
+ /// Notification of the change of all of the data of an observed data source's table.
+ /// @param[in] data_source Data source being changed.
+ /// @param[in] table The name of the changing table within the data source.
+ virtual void OnRowChange(DataSource* data_source, const Rocket::Core::String& table);
+
+protected:
+ /// Sets up data source and table from a given Rocket::Core::String.
+ /// @param[out] data_source A pointer to a data_source that gets loaded with the specified data source.
+ /// @param[out] table_name A reference to an Rocket::Core::String that gets loaded with the specified data table.
+ /// @param[in] data_source_name The data source and table in SOURCE.TABLE format.
+ /// @return True if the data source name was in the correct format, and the data source was found.
+ bool ParseDataSource(DataSource*& data_source, Rocket::Core::String& table_name, const Rocket::Core::String& data_source_name);
+};
+
+}
+}
+
+#endif // ROCKETCONTROLSDATASOURCELISTENER_H
+
diff --git source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Controls/ElementDataGrid.h source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Controls/ElementDataGrid.h
new file mode 100644
index 0000000..84b9741
--- /dev/null
+++ source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Controls/ElementDataGrid.h
@@ -0,0 +1,155 @@
+/*
+ * This source file is part of libRocket, the HTML/CSS Interface Middleware
+ *
+ * For the latest information, see http://www.librocket.com
+ *
+ * Copyright (c) 2008-2010 CodePoint Ltd, Shift Technology Ltd
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ *
+ */
+
+#ifndef ROCKETCONTROLSELEMENTDATAGRID_H
+#define ROCKETCONTROLSELEMENTDATAGRID_H
+
+#include <Rocket/Controls/Header.h>
+#include <Rocket/Controls/DataSourceListener.h>
+#include <Rocket/Core/Element.h>
+
+namespace Rocket {
+namespace Controls {
+
+class DataFormatter;
+class ElementDataGridRow;
+
+/**
+ A table driven from a data source.
+
+ @author Robert Curry
+ */
+
+class ROCKETCONTROLS_API ElementDataGrid : public Core::Element, public DataSourceListener
+{
+public:
+ ElementDataGrid(const Rocket::Core::String& tag);
+ virtual ~ElementDataGrid();
+
+ /// Sets a new data source for the contents of the data grid.
+ /// @param[in] data_source_name The name of the new data source.
+ void SetDataSource(const Rocket::Core::String& data_source_name);
+
+ /**
+ A column inside a table.
+
+ @author Robert Curry
+ */
+ struct Column
+ {
+ /// The list of fields that this column reads from the data source for
+ /// each row.
+ Rocket::Core::StringList fields;
+
+ /// The data formatter this is used to process the field information
+ /// into what is finally displayed in the data grid.
+ DataFormatter* formatter;
+ /// The header that is displayed at the top of the column, in the
+ /// header row.
+ Core::Element* header;
+
+ /// The width of this column.
+ float current_width;
+
+ /// Whether this column has a forced refresh when a child node changes.
+ /// This is to allow the expand/collapse buttons to be added or removed
+ /// when a child node is added.
+ bool refresh_on_child_change;
+ };
+
+ /// Adds a column to the table.
+ /// @param[in] fields A comma-separated list of fields that this column reads from the data source.
+ /// @param[in] formatter The name of the data formatter to be used to format the raw column data into RML.
+ /// @param[in] initial_width The initial width, in pixels, of the column.
+ /// @param[in] header_rml The RML to use as the column header.
+ /// @return True if the column was added successfully, false if not.
+ bool AddColumn(const Rocket::Core::String& fields, const Rocket::Core::String& formatter, float initial_width, const Rocket::Core::String& header_rml);
+ /// Adds a column to the table.
+ /// @param[in] fields A comma-separated list of fields that this column reads from the data source.
+ /// @param[in] formatter The name of the data formatter to be used to format the raw column data into RML.
+ /// @param[in] initial_width The initial width, in pixels, of the column.
+ /// @param[in] header_element The element hierarchy to use as the column header.
+ void AddColumn(const Rocket::Core::String& fields, const Rocket::Core::String& formatter, float initial_width, Core::Element* header_element);
+ /// Returns the number of columns in this table
+ int GetNumColumns();
+ /// Returns the column at the specified index.
+ const Column* GetColumn(int column_index);
+ /// Returns a CSV string containing all the fields that each column requires, in order.
+ const Rocket::Core::String& GetAllColumnFields();
+
+ /// Adds a new row to the table. This is only called from child rows.
+ /// @param[in] parent The parent row that the row is being added under.
+ /// @param[in] index The index of the child, relative to its parent.
+ /// @return A pointer to the newly created row.
+ ElementDataGridRow* AddRow(ElementDataGridRow* parent, int index);
+ /// Removes a series of rows from the table.
+ /// @param[in] index The index of the first row, relative to the table.
+ /// @param[in] num_rows The number of rows to remove. Defaults to one.
+ void RemoveRows(int index, int num_rows = 1);
+
+ /// Returns the number of rows in the table
+ int GetNumRows() const;
+ /// Returns the row at the given index in the table.
+ /// @param[in] index The index of the row, relative to the table.
+ ElementDataGridRow* GetRow(int index) const;
+
+protected:
+ virtual void OnUpdate();
+
+ virtual void ProcessEvent(Core::Event& event);
+
+ /// Gets the markup and content of the element.
+ /// @param content[out] The content of the element.
+ virtual void GetInnerRML(Rocket::Core::String& content) const;
+
+private:
+ typedef std::vector< Column > ColumnList;
+ typedef std::vector< ElementDataGridRow* > RowList;
+
+ ColumnList columns;
+ Rocket::Core::String column_fields;
+
+ // The row that contains the header elements of the table.
+ ElementDataGridRow* header;
+
+ // The root row, all the top level rows are children under this. Not
+ // actually rendered, has "display: none".
+ ElementDataGridRow* root;
+ // If this is non-empty, then in the previous update the data source was set
+ // and we must set it this update.
+ Rocket::Core::String new_data_source;
+
+ // The block element that contains all our rows. Only used for applying styles.
+ Core::Element* body;
+ // Stores if the body has already been made visible by having enough rows added.
+ bool body_visible;
+};
+
+}
+}
+
+#endif
diff --git source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Controls/ElementDataGridCell.h source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Controls/ElementDataGridCell.h
new file mode 100644
index 0000000..80f63ec
--- /dev/null
+++ source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Controls/ElementDataGridCell.h
@@ -0,0 +1,64 @@
+/*
+ * This source file is part of libRocket, the HTML/CSS Interface Middleware
+ *
+ * For the latest information, see http://www.librocket.com
+ *
+ * Copyright (c) 2008-2010 CodePoint Ltd, Shift Technology Ltd
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ *
+ */
+
+#ifndef ROCKETCONTROLSELEMENTDATAGRIDCELL_H
+#define ROCKETCONTROLSELEMENTDATAGRIDCELL_H
+
+#include <Rocket/Core/Element.h>
+#include <Rocket/Core/EventListener.h>
+#include <Rocket/Controls/Header.h>
+
+namespace Rocket {
+namespace Controls {
+
+/**
+ The class for cells inside a data table row.
+
+ @author Robert Curry
+ */
+
+class ROCKETCONTROLS_API ElementDataGridCell : public Core::Element, public Core::EventListener
+{
+public:
+ ElementDataGridCell(const Rocket::Core::String& tag);
+ virtual ~ElementDataGridCell();
+
+ void Initialise(int column, Core::Element* header);
+ int GetColumn();
+
+protected:
+ virtual void ProcessEvent(Core::Event& event);
+
+private:
+ int column;
+ Core::Element* header;
+};
+
+}
+}
+
+#endif
diff --git source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Controls/ElementDataGridExpandButton.h source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Controls/ElementDataGridExpandButton.h
new file mode 100644
index 0000000..5f490ba
--- /dev/null
+++ source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Controls/ElementDataGridExpandButton.h
@@ -0,0 +1,54 @@
+/*
+ * This source file is part of libRocket, the HTML/CSS Interface Middleware
+ *
+ * For the latest information, see http://www.librocket.com
+ *
+ * Copyright (c) 2008-2010 CodePoint Ltd, Shift Technology Ltd
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ *
+ */
+
+#ifndef ROCKETCONTROLSELEMENTDATAGRIDEXPANDBUTTON_H
+#define ROCKETCONTROLSELEMENTDATAGRIDEXPANDBUTTON_H
+
+#include <Rocket/Core/Element.h>
+#include <Rocket/Controls/Header.h>
+
+namespace Rocket {
+namespace Controls {
+
+/**
+ @author Robert Curry
+ */
+
+class ROCKETCONTROLS_API ElementDataGridExpandButton : public Core::Element
+{
+public:
+ ElementDataGridExpandButton(const Rocket::Core::String& tag);
+ virtual ~ElementDataGridExpandButton();
+
+protected:
+ void ProcessEvent(Core::Event& event);
+};
+
+}
+}
+
+#endif
diff --git source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Controls/ElementDataGridRow.h source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Controls/ElementDataGridRow.h
new file mode 100644
index 0000000..bc2c603
--- /dev/null
+++ source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Controls/ElementDataGridRow.h
@@ -0,0 +1,175 @@
+/*
+ * This source file is part of libRocket, the HTML/CSS Interface Middleware
+ *
+ * For the latest information, see http://www.librocket.com
+ *
+ * Copyright (c) 2008-2010 CodePoint Ltd, Shift Technology Ltd
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ *
+ */
+
+#ifndef ROCKETCONTROLSELEMENTDATAGRIDROW_H
+#define ROCKETCONTROLSELEMENTDATAGRIDROW_H
+
+#include <Rocket/Controls/Header.h>
+#include <Rocket/Controls/DataSourceListener.h>
+#include <Rocket/Controls/DataQuery.h>
+#include <Rocket/Core/Element.h>
+#include <queue>
+
+namespace Rocket {
+namespace Controls {
+
+class ElementDataGrid;
+
+/**
+ Class for rows inside a data table. Used for both the header and the individual rows.
+
+ @author Robert Curry
+ */
+
+class ROCKETCONTROLS_API ElementDataGridRow : public Core::Element, public DataSourceListener
+{
+friend class ElementDataGrid;
+
+public:
+ ElementDataGridRow(const Rocket::Core::String& tag);
+ virtual ~ElementDataGridRow();
+
+ void Initialise(ElementDataGrid* parent_grid, ElementDataGridRow* parent_row = NULL, int child_index = -1, ElementDataGridRow* header_row = NULL, int depth = -1);
+ void SetChildIndex(int child_index);
+ int GetDepth();
+
+ void SetDataSource(const Rocket::Core::String& data_source_name);
+
+ /// Checks dirty children and cells, and loads them if necessary.
+ /// @return True if any children were updated.
+ bool UpdateChildren();
+
+ /// Returns the number of children that aren't dirty (have been loaded)
+ int GetNumLoadedChildren();
+
+ // Removes all the child cells and fetches them again from the data
+ // source.
+ void RefreshRows();
+
+ /// Returns whether this row is expanded or not.
+ bool IsRowExpanded();
+ /// Shows all of this row's descendants.
+ void ExpandRow();
+ /// Hides all of this row's descendants.
+ void CollapseRow();
+ /// Expands the row if collapsed, or collapses the row if expanded.
+ void ToggleRow();
+
+ /// Returns the index of this row, relative to its parent.
+ int GetParentRelativeIndex();
+ /// Returns the index of this row, relative to the table rather than its parent.
+ int GetTableRelativeIndex();
+ /// Returns the parent row of this row.
+ ElementDataGridRow* GetParentRow();
+ /// Returns the grid that this row belongs to.
+ ElementDataGrid* GetParentGrid();
+
+protected:
+ virtual void OnDataSourceDestroy(DataSource* data_source);
+ virtual void OnRowAdd(DataSource* data_source, const Rocket::Core::String& table, int first_row_added, int num_rows_added);
+ virtual void OnRowRemove(DataSource* data_source, const Rocket::Core::String& table, int first_row_removed, int num_rows_removed);
+ virtual void OnRowChange(DataSource* data_source, const Rocket::Core::String& table, int first_row_changed, int num_rows_changed);
+ virtual void OnRowChange(DataSource* data_source, const Rocket::Core::String& table);
+
+private:
+ typedef std::queue< ElementDataGridRow* > RowQueue;
+ typedef std::vector< ElementDataGridRow* > RowList;
+
+ // Called when a row change (addition or removal) occurs in one of our
+ // children. Causes the table row index to be dirtied on all following
+ // children.
+ void ChildChanged(int child_index);
+ // Checks if any columns are dependent on the number of children
+ // present, and refreshes them from the data source if they are.
+ void RefreshChildDependentCells();
+
+ // Forces the row to recalculate its relative table index the next time
+ // it is requested.
+ void DirtyTableRelativeIndex();
+ // Works out what the table relative index is for a given child.
+ int GetChildTableRelativeIndex(int child_index);
+
+ // Adds children underneath this row, and fetches their contents (and
+ // possible children) from the row's data source. If first_row is left
+ // as the default -1, the rows are appended at the end of the list.
+ void AddChildren(int first_row_added = -1, int num_rows_added = 1);
+ // Removes this rows children, and their children, etc, from the table.
+ // If the num_rows_removed parameter is left as the -1 default, it'll
+ // default to the rest of the children after the first row.
+ void RemoveChildren(int first_row_removed = 0, int num_rows_removed = -1);
+ // Marks children as dirty and dispatches the event.
+ void ChangeChildren(int first_row_changed = 0, int num_rows_changed = -1);
+ // Returns the number of rows under this row (children, grandchildren, etc)
+ int GetNumDescendants();
+
+ // Adds or refreshes the cell contents, and undirties the row's cells.
+ void Load(const Rocket::Controls::DataQuery& row_information);
+ // Finds all children that have cell information missing (either though being
+ // refreshed or not being loaded yet) and reloads them.
+ void LoadChildren(float time_slice);
+ // Loads a specific set of children. Called by the above function.
+ void LoadChildren(int first_row_to_load, int num_rows_to_load, Rocket::Core::Time time_slice);
+
+ // If the cells need reloading, this takes care of it. If any children
+ // need updating, they are added to the queue.
+ void UpdateCellsAndChildren(RowQueue& dirty_rows);
+
+ // Sets the dirty_cells flag on this row, and lets our ancestors know.
+ void DirtyCells();
+ // Sets the dirty children flag on this row and the row's ancestors.
+ void DirtyRow();
+ // This row has one or more cells that need loading.
+ bool dirty_cells;
+ // This row has one or more children that have either dirty flag set.
+ bool dirty_children;
+
+ // Shows this row, and, if this was was expanded before it was hidden, its children as well.
+ void Show();
+ // Hides this row and all descendants.
+ void Hide();
+ bool row_expanded;
+
+ int table_relative_index;
+ bool table_relative_index_dirty;
+
+ ElementDataGrid* parent_grid;
+
+ ElementDataGridRow* parent_row;
+ int child_index;
+ int depth;
+
+ RowList children;
+
+ // The data source and table that the children are fetched from.
+ DataSource* data_source;
+ Rocket::Core::String data_table;
+};
+
+}
+}
+
+#endif
diff --git source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Controls/ElementForm.h source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Controls/ElementForm.h
new file mode 100644
index 0000000..035bba5
--- /dev/null
+++ source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Controls/ElementForm.h
@@ -0,0 +1,60 @@
+/*
+ * This source file is part of libRocket, the HTML/CSS Interface Middleware
+ *
+ * For the latest information, see http://www.librocket.com
+ *
+ * Copyright (c) 2008-2010 CodePoint Ltd, Shift Technology Ltd
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ *
+ */
+
+#ifndef ROCKETCONTROLSELEMENTFORM_H
+#define ROCKETCONTROLSELEMENTFORM_H
+
+#include <Rocket/Core/Element.h>
+#include <Rocket/Controls/Header.h>
+
+namespace Rocket {
+namespace Controls {
+
+/**
+ A specialisation of the generic Core::Element representing a form element.
+
+ @author Peter Curry
+ */
+
+class ROCKETCONTROLS_API ElementForm : public Core::Element
+{
+public:
+ /// Constructs a new ElementForm. This should not be called directly; use the Factory instead.
+ /// @param[in] tag The tag the element was declared as in RML.
+ ElementForm(const Rocket::Core::String& tag);
+ virtual ~ElementForm();
+
+ /// Submits the form.
+ /// @param[in] name The name of the item doing the submit
+ /// @param[in] submit_value The value to send through as the 'submit' parameter.
+ void Submit(const Rocket::Core::String& name = "", const Rocket::Core::String& submit_value = "");
+};
+
+}
+}
+
+#endif
diff --git source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Controls/ElementFormControl.h source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Controls/ElementFormControl.h
new file mode 100644
index 0000000..cac6814
--- /dev/null
+++ source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Controls/ElementFormControl.h
@@ -0,0 +1,86 @@
+/*
+ * This source file is part of libRocket, the HTML/CSS Interface Middleware
+ *
+ * For the latest information, see http://www.librocket.com
+ *
+ * Copyright (c) 2008-2010 CodePoint Ltd, Shift Technology Ltd
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ *
+ */
+
+#ifndef ROCKETCONTROLSELEMENTFORMCONTROL_H
+#define ROCKETCONTROLSELEMENTFORMCONTROL_H
+
+#include <Rocket/Core/Element.h>
+#include <Rocket/Controls/Header.h>
+
+namespace Rocket {
+namespace Controls {
+
+/**
+ A generic specialisation of the generic Core::Element for all input controls.
+
+ @author Peter Curry
+ */
+
+class ROCKETCONTROLS_API ElementFormControl : public Core::Element
+{
+public:
+ /// Constructs a new ElementFormControl. This should not be called directly; use the Factory
+ /// instead.
+ /// @param[in] tag The tag the element was declared as in RML.
+ ElementFormControl(const Rocket::Core::String& tag);
+ virtual ~ElementFormControl();
+
+ /// Returns the name of the form control. This is not guaranteed to be unique, and in the case of some form
+ /// controls (such as radio buttons) most likely will not be.
+ /// @return The name of the form control.
+ Rocket::Core::String GetName() const;
+ /// Sets the name of the form control.
+ /// @param[in] name The new name of the form control.
+ void SetName(const Rocket::Core::String& name);
+
+ /// Returns a string representation of the current value of the form control.
+ /// @return The value of the form control.
+ virtual Rocket::Core::String GetValue() const = 0;
+ /// Sets the current value of the form control.
+ /// @param[in] value The new value of the form control.
+ virtual void SetValue(const Rocket::Core::String& value) = 0;
+ /// Returns if this value should be submitted with the form.
+ /// @return True if the value should be be submitted with the form, false otherwise.
+ virtual bool IsSubmitted();
+
+ /// Returns the disabled status of the form control.
+ /// @return True if the element is disabled, false otherwise.
+ bool IsDisabled() const;
+ /// Sets the disabled status of the form control.
+ /// @param[in] disable True to disable the element, false to enable.
+ void SetDisabled(bool disable);
+
+protected:
+ /// Checks for changes to the 'disabled' attribute.
+ /// @param[in] changed_attributes List of changed attributes on the element.
+ virtual void OnAttributeChange(const Core::AttributeNameList& changed_attributes);
+};
+
+}
+}
+
+#endif
diff --git source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Controls/ElementFormControlDataSelect.h source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Controls/ElementFormControlDataSelect.h
new file mode 100644
index 0000000..4e1b275
--- /dev/null
+++ source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Controls/ElementFormControlDataSelect.h
@@ -0,0 +1,92 @@
+/*
+ * This source file is part of libRocket, the HTML/CSS Interface Middleware
+ *
+ * For the latest information, see http://www.librocket.com
+ *
+ * Copyright (c) 2008-2010 CodePoint Ltd, Shift Technology Ltd
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ *
+ */
+
+#ifndef ROCKETCONTROLSELEMENTFORMCONTROLDATASELECT_H
+#define ROCKETCONTROLSELEMENTFORMCONTROLDATASELECT_H
+
+#include <Rocket/Controls/Header.h>
+#include <Rocket/Controls/ElementFormControlSelect.h>
+#include <Rocket/Controls/DataSourceListener.h>
+
+namespace Rocket {
+namespace Controls {
+
+class DataSource;
+
+/**
+ A drop-down select form control driven from a data source.
+
+ @author Peter Curry
+ */
+
+class ROCKETCONTROLS_API ElementFormControlDataSelect : public ElementFormControlSelect, public DataSourceListener
+{
+public:
+ /// Constructs a new ElementFormControlDataSelect. This should not be called directly; use the
+ /// Factory instead.
+ /// @param[in] tag The tag the element was declared as in RML.
+ ElementFormControlDataSelect(const Rocket::Core::String& tag);
+ virtual ~ElementFormControlDataSelect();
+
+ /// Sets the data source the control's options are driven from.
+ /// @param[in] data_source The name of the new data source.
+ void SetDataSource(const Rocket::Core::String& data_source);
+
+protected:
+ /// If a new data source has been set on the control, this will attach to it and build the
+ /// initial options.
+ virtual void OnUpdate();
+
+ /// Checks for changes to the data source or formatting attributes.
+ /// @param[in] changed_attributes List of changed attributes on the element.
+ virtual void OnAttributeChange(const Core::AttributeNameList& changed_attributes);
+
+ /// Detaches from the data source and rebuilds the options.
+ virtual void OnDataSourceDestroy(DataSource* data_source);
+ /// Rebuilds the available options from the data source.
+ virtual void OnRowAdd(DataSource* data_source, const Rocket::Core::String& table, int first_row_added, int num_rows_added);
+ /// Rebuilds the available options from the data source.
+ virtual void OnRowRemove(DataSource* data_source, const Rocket::Core::String& table, int first_row_removed, int num_rows_removed);
+ /// Rebuilds the available options from the data source.
+ virtual void OnRowChange(DataSource* data_source, const Rocket::Core::String& table, int first_row_changed, int num_rows_changed);
+ /// Rebuilds the available options from the data source.
+ virtual void OnRowChange(DataSource* data_source, const Rocket::Core::String& table);
+
+private:
+ // Builds the option list from the data source.
+ void BuildOptions();
+
+ DataSource* data_source;
+ Rocket::Core::String data_table;
+
+ bool initialised;
+};
+
+}
+}
+
+#endif
diff --git source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Controls/ElementFormControlInput.h source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Controls/ElementFormControlInput.h
new file mode 100644
index 0000000..81fbfa0
--- /dev/null
+++ source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Controls/ElementFormControlInput.h
@@ -0,0 +1,100 @@
+/*
+ * This source file is part of libRocket, the HTML/CSS Interface Middleware
+ *
+ * For the latest information, see http://www.librocket.com
+ *
+ * Copyright (c) 2008-2010 CodePoint Ltd, Shift Technology Ltd
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ *
+ */
+
+#ifndef ROCKETCONTROLSELEMENTFORMCONTROLINPUT_H
+#define ROCKETCONTROLSELEMENTFORMCONTROLINPUT_H
+
+#include <Rocket/Controls/Header.h>
+#include <Rocket/Controls/ElementFormControl.h>
+
+namespace Rocket {
+namespace Controls {
+
+class InputType;
+
+/**
+ A form control for the generic input element. All functionality is handled through an input type interface.
+
+ @author Peter Curry
+ */
+
+class ROCKETCONTROLS_API ElementFormControlInput : public ElementFormControl
+{
+public:
+ /// Constructs a new ElementFormControlInput. This should not be called directly; use the
+ /// Factory instead.
+ /// @param[in] tag The tag the element was declared as in RML.
+ ElementFormControlInput(const Rocket::Core::String& tag);
+ virtual ~ElementFormControlInput();
+
+ /// Returns a string representation of the current value of the form control.
+ /// @return The value of the form control.
+ virtual Rocket::Core::String GetValue() const;
+ /// Sets the current value of the form control.
+ /// @param value[in] The new value of the form control.
+ virtual void SetValue(const Rocket::Core::String& value);
+ /// Returns if this value's type should be submitted with the form.
+ /// @return True if the form control is to be submitted, false otherwise.
+ virtual bool IsSubmitted();
+
+protected:
+ /// Updates the element's underlying type.
+ virtual void OnUpdate();
+ /// Renders the element's underlying type.
+ virtual void OnRender();
+
+ /// Checks for necessary functional changes in the control as a result of changed attributes.
+ /// @param[in] changed_attributes The list of changed attributes.
+ virtual void OnAttributeChange(const Core::AttributeNameList& changed_attributes);
+ /// Called when properties on the control are changed.
+ /// @param[in] changed_properties The properties changed on the element.
+ virtual void OnPropertyChange(const Core::PropertyNameList& changed_properties);
+
+ /// If we are the added element, this will pass the call onto our type handler.
+ /// @param[in] child The new member of the hierarchy.
+ virtual void OnChildAdd(Rocket::Core::Element* child);
+ /// If we are the removed element, this will pass the call onto our type handler.
+ /// @param[in] child The member of the hierarchy that was just removed.
+ virtual void OnChildRemove(Rocket::Core::Element* child);
+
+ /// Checks for necessary functional changes in the control as a result of the event.
+ /// @param[in] event The event to process.
+ virtual void ProcessEvent(Core::Event& event);
+
+ /// Sizes the dimensions to the element's inherent size.
+ /// @return True.
+ virtual bool GetIntrinsicDimensions(Rocket::Core::Vector2f& dimensions);
+
+private:
+ InputType* type;
+ Rocket::Core::String type_name;
+};
+
+}
+}
+
+#endif
diff --git source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Controls/ElementFormControlSelect.h source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Controls/ElementFormControlSelect.h
new file mode 100644
index 0000000..dc55a8f
--- /dev/null
+++ source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Controls/ElementFormControlSelect.h
@@ -0,0 +1,111 @@
+/*
+ * This source file is part of libRocket, the HTML/CSS Interface Middleware
+ *
+ * For the latest information, see http://www.librocket.com
+ *
+ * Copyright (c) 2008-2010 CodePoint Ltd, Shift Technology Ltd
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ *
+ */
+
+#ifndef ROCKETCONTROLSELEMENTFORMCONTROLSELECT_H
+#define ROCKETCONTROLSELEMENTFORMCONTROLSELECT_H
+
+#include <Rocket/Controls/Header.h>
+#include <Rocket/Controls/ElementFormControl.h>
+#include <Rocket/Controls/SelectOption.h>
+
+namespace Rocket {
+namespace Controls {
+
+class WidgetDropDown;
+
+/**
+ A drop-down select form control.
+
+ @author Peter Curry
+ */
+
+class ROCKETCONTROLS_API ElementFormControlSelect : public ElementFormControl
+{
+public:
+ /// Constructs a new ElementFormControlSelect. This should not be called directly; use the
+ /// Factory instead.
+ /// @param[in] tag The tag the element was declared as in RML.
+ ElementFormControlSelect(const Rocket::Core::String& tag);
+ virtual ~ElementFormControlSelect();
+
+ /// Returns a string representation of the current value of the form control.
+ /// @return The value of the form control.
+ virtual Rocket::Core::String GetValue() const;
+ /// Sets the current value of the form control.
+ /// @param[in] value The new value of the form control.
+ virtual void SetValue(const Rocket::Core::String& value);
+
+ /// Sets the index of the selection. If the new index lies outside of the bounds, it will be clamped.
+ /// @param[in] selection The new selection index.
+ void SetSelection(int selection);
+ /// Returns the index of the currently selected item.
+ /// @return The index of the currently selected item.
+ int GetSelection() const;
+
+ /// Returns one of the select control's option elements.
+ /// @param[in] The index of the desired option element.
+ /// @return The option element at the given index. This will be NULL if the index is out of bounds.
+ SelectOption* GetOption(int index);
+ /// Returns the number of options in the select control.
+ /// @return The number of options.
+ int GetNumOptions();
+
+ /// Adds a new option to the select control.
+ /// @param[in] rml The RML content used to represent the option. This is usually a simple string, but can include RML tags.
+ /// @param[in] value The value of the option. This is used to identify the option, but does not necessarily need to be unique.
+ /// @param[in] before The index of the element to insert the new option before. If out of bounds of the control's option list (the default) the new option will be added at the end of the list.
+ /// @param[in] selectable If true this option can be selected. If false, this option is not selectable.
+ /// @return The index of the new option.
+ int Add(const Rocket::Core::String& rml, const Rocket::Core::String& value, int before = -1, bool selectable = true);
+ /// Removes an option from the select control.
+ /// @param[in] index The index of the option to remove. If this is outside of the bounds of the control's option list, no option will be removed.
+ void Remove(int index);
+
+ /// Removes all options from the select control.
+ void RemoveAll();
+
+protected:
+ /// Moves all children to be under control of the widget.
+ virtual void OnUpdate();
+ /// Updates the layout of the widget's elements.
+ virtual void OnRender();
+
+ /// Forces an internal layout.
+ virtual void OnLayout();
+
+ /// Returns true to mark this element as replaced.
+ /// @param[out] intrinsic_dimensions Set to the arbitrary dimensions of 128 x 16 just to give this element a size. Resize with the 'width' and 'height' properties.
+ /// @return True.
+ virtual bool GetIntrinsicDimensions(Rocket::Core::Vector2f& intrinsic_dimensions);
+
+ WidgetDropDown* widget;
+};
+
+}
+}
+
+#endif
diff --git source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Controls/ElementFormControlTextArea.h source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Controls/ElementFormControlTextArea.h
new file mode 100644
index 0000000..3381b53
--- /dev/null
+++ source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Controls/ElementFormControlTextArea.h
@@ -0,0 +1,121 @@
+/*
+ * This source file is part of libRocket, the HTML/CSS Interface Middleware
+ *
+ * For the latest information, see http://www.librocket.com
+ *
+ * Copyright (c) 2008-2010 CodePoint Ltd, Shift Technology Ltd
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ *
+ */
+
+#ifndef ROCKETCONTROLSELEMENTFORMCONTROLTEXTAREA_H
+#define ROCKETCONTROLSELEMENTFORMCONTROLTEXTAREA_H
+
+#include <Rocket/Controls/Header.h>
+#include <Rocket/Controls/ElementFormControl.h>
+
+namespace Rocket {
+namespace Controls {
+
+class WidgetTextInput;
+
+/**
+ Default Rocket implemention of a text area.
+
+ @author Peter Curry
+ */
+
+class ROCKETCONTROLS_API ElementFormControlTextArea : public ElementFormControl
+{
+public:
+ /// Constructs a new ElementFormControlTextArea. This should not be called directly; use the
+ /// Factory instead.
+ /// @param[in] tag The tag the element was declared as in RML.
+ ElementFormControlTextArea(const Rocket::Core::String& tag);
+ virtual ~ElementFormControlTextArea();
+
+ /// Returns a string representation of the current value of the form control. This is the value of the control
+ /// regardless of whether it has been selected / checked (as appropriate for the control).
+ /// @return The value of the form control.
+ virtual Rocket::Core::String GetValue() const;
+ /// Sets the current value of the form control.
+ /// @param[in] value The new value of the form control.
+ virtual void SetValue(const Rocket::Core::String& value);
+
+ /// Sets the number of characters visible across the text area. Note that this will only be precise when using
+ /// a fixed-width font.
+ /// @param[in] size The number of visible characters.
+ void SetNumColumns(int num_columns);
+ /// Returns the approximate number of characters visible at once.
+ /// @return The number of visible characters.
+ int GetNumColumns() const;
+
+ /// Sets the number of visible lines of text in the text area.
+ /// @param[in] num_rows The new number of visible lines of text.
+ void SetNumRows(int num_rows);
+ /// Returns the number of visible lines of text in the text area.
+ /// @return The number of visible lines of text.
+ int GetNumRows() const;
+
+ /// Sets the maximum length (in characters) of this text area.
+ /// @param[in] max_length The new maximum length of the text area. A number lower than zero will mean infinite
+ /// characters.
+ void SetMaxLength(int max_length);
+ /// Returns the maximum length (in characters) of this text area.
+ /// @return The maximum number of characters allowed in this text area.
+ int GetMaxLength() const;
+
+ /// Enables or disables word-wrapping in the text area.
+ /// @param[in] word_wrap True to enable word-wrapping, false to disable.
+ void SetWordWrap(bool word_wrap);
+ /// Returns the state of word-wrapping in the text area.
+ /// @return True if the text area is word-wrapping, false otherwise.
+ bool GetWordWrap();
+
+ /// Returns the control's inherent size, based on the length of the input field and the current font size.
+ /// @return True.
+ virtual bool GetIntrinsicDimensions(Rocket::Core::Vector2f& dimensions);
+
+protected:
+ /// Updates the control's widget.
+ void OnUpdate();
+ /// Renders the control's widget.
+ void OnRender();
+ /// Formats the element.
+ void OnLayout();
+
+ /// Called when attributes on the element are changed.
+ virtual void OnAttributeChange(const Core::AttributeNameList& changed_attributes);
+ /// Called when properties on the control are changed.
+ /// @param[in] changed_properties The properties changed on the element.
+ virtual void OnPropertyChange(const Core::PropertyNameList& changed_properties);
+
+ /// Returns the text content of the element.
+ /// @param[out] content The content of the element.
+ virtual void GetInnerRML(Rocket::Core::String& content) const;
+
+private:
+ WidgetTextInput* widget;
+};
+
+}
+}
+
+#endif
diff --git source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Controls/ElementTabSet.h source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Controls/ElementTabSet.h
new file mode 100644
index 0000000..dfdf134
--- /dev/null
+++ source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Controls/ElementTabSet.h
@@ -0,0 +1,107 @@
+/*
+ * This source file is part of libRocket, the HTML/CSS Interface Middleware
+ *
+ * For the latest information, see http://www.librocket.com
+ *
+ * Copyright (c) 2008-2010 CodePoint Ltd, Shift Technology Ltd
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ *
+ */
+
+#ifndef ROCKETCONTROLSELEMENTTABSET_H
+#define ROCKETCONTROLSELEMENTTABSET_H
+
+#include <Rocket/Core/Element.h>
+#include <Rocket/Core/EventListener.h>
+#include <Rocket/Controls/Header.h>
+
+namespace Rocket {
+namespace Controls {
+
+/**
+ A tabulated set of panels.
+
+ @author Lloyd Weehuizen
+ */
+
+class ROCKETCONTROLS_API ElementTabSet : public Core::Element, public Core::EventListener
+{
+public:
+ ElementTabSet(const Rocket::Core::String& tag);
+ ~ElementTabSet();
+
+ /// Sets the specifed tab index's tab title RML.
+ /// @param[in] tab_index The tab index to set. If it doesn't already exist, it will be created.
+ /// @param[in] rml The RML to set on the tab title.
+ void SetTab(int tab_index, const Rocket::Core::String& rml);
+ /// Sets the specifed tab index's tab panel RML.
+ /// @param[in] tab_index The tab index to set. If it doesn't already exist, it will be created.
+ /// @param[in] rml The RML to set on the tab panel.
+ void SetPanel(int tab_index, const Rocket::Core::String& rml);
+
+ /// Set the specifed tab index's title element.
+ /// @param[in] tab_index The tab index to set. If it doesn't already exist, it will be created.
+ /// @param[in] element The root of the element tree to set as the tab title.
+ void SetTab(int tab_index, Core::Element* element);
+ /// Set the specified tab index's body element.
+ /// @param[in] tab_index The tab index to set. If it doesn't already exist, it will be created.
+ /// @param[in] element The root of the element tree to set as the window.
+ void SetPanel(int tab_index, Core::Element* element);
+
+ /// Remove one of the tab set's panels and its corresponding tab.
+ /// @param[in] tab_index The tab index to remove. If no tab matches this index, nothing will be removed.
+ void RemoveTab(int tab_index);
+
+ /// Retrieve the number of tabs in the tabset.
+ /// @return The number of tabs.
+ int GetNumTabs();
+
+ /// Sets the currently active (visible) tab index.
+ /// @param[in] tab_index Index of the tab to display.
+ void SetActiveTab(int tab_index);
+
+ /// Get the current active tab index.
+ /// @return The index of the active tab.
+ int GetActiveTab() const;
+
+ /// Process the incoming event.
+ void ProcessEvent(Core::Event& event);
+
+ /// Called when the listener has been attached to a new Element
+ void OnAttach(Element* ROCKET_UNUSED(element));
+
+ /// Called when the listener has been detached from a Element
+ void OnDetach(Element* ROCKET_UNUSED(element));
+
+protected:
+ // Catch child add/removes so we can correctly set up their events.
+ virtual void OnChildAdd(Core::Element* child);
+ virtual void OnChildRemove(Core::Element* child);
+
+private:
+ Core::Element* GetChildByTag(const Rocket::Core::String& tag);
+
+ int active_tab;
+};
+
+}
+}
+
+#endif
diff --git source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Controls/Header.h source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Controls/Header.h
new file mode 100644
index 0000000..30153b3
--- /dev/null
+++ source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Controls/Header.h
@@ -0,0 +1,47 @@
+/*
+ * This source file is part of libRocket, the HTML/CSS Interface Middleware
+ *
+ * For the latest information, see http://www.librocket.com
+ *
+ * Copyright (c) 2008-2010 CodePoint Ltd, Shift Technology Ltd
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ *
+ */
+
+#ifndef ROCKETCONTROLSHEADER_H
+#define ROCKETCONTROLSHEADER_H
+
+#include <Rocket/Core/Platform.h>
+
+#if !defined STATIC_LIB
+ #ifdef ROCKET_PLATFORM_WIN32
+ #ifdef RocketControls_EXPORTS
+ #define ROCKETCONTROLS_API __declspec(dllexport)
+ #else
+ #define ROCKETCONTROLS_API __declspec(dllimport)
+ #endif
+ #else
+ #define ROCKETCONTROLS_API __attribute__((visibility("default")))
+ #endif
+#else
+ #define ROCKETCONTROLS_API
+#endif
+
+#endif
diff --git source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Controls/SelectOption.h source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Controls/SelectOption.h
new file mode 100644
index 0000000..f5dc0b5
--- /dev/null
+++ source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Controls/SelectOption.h
@@ -0,0 +1,75 @@
+/*
+ * This source file is part of libRocket, the HTML/CSS Interface Middleware
+ *
+ * For the latest information, see http://www.librocket.com
+ *
+ * Copyright (c) 2008-2010 CodePoint Ltd, Shift Technology Ltd
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ *
+ */
+
+#ifndef ROCKETCONTROLSSELECTOPTION_H
+#define ROCKETCONTROLSSELECTOPTION_H
+
+#include <Rocket/Controls/Header.h>
+#include <Rocket/Core/String.h>
+
+namespace Rocket {
+namespace Core {
+
+class Element;
+
+}
+
+namespace Controls {
+
+/**
+ Represents individual options within a select control.
+
+ @author Peter Curry
+ */
+
+class ROCKETCONTROLS_API SelectOption
+{
+public:
+ SelectOption(Core::Element* element, const Rocket::Core::String& value, bool selectable);
+ ~SelectOption();
+
+ /// Returns the element that represents the option visually.
+ /// @return The option's element.
+ Core::Element* GetElement();
+ /// Returns the value of the option.
+ /// @return The option's value.
+ const Rocket::Core::String& GetValue() const;
+
+ /// Returns true if the item is selectable.
+ /// @return True if the item is selectable.
+ bool IsSelectable() { return selectable; }
+
+private:
+ Core::Element* element;
+ Rocket::Core::String value;
+ bool selectable;
+};
+
+}
+}
+
+#endif
diff --git source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core.h source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core.h
new file mode 100644
index 0000000..f033713
--- /dev/null
+++ source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core.h
@@ -0,0 +1,33 @@
+/*
+ * This source file is part of libRocket, the HTML/CSS Interface Middleware
+ *
+ * For the latest information, see http://www.librocket.com
+ *
+ * Copyright (c) 2008-2010 CodePoint Ltd, Shift Technology Ltd
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ *
+ */
+
+#ifndef ROCKETCORE_H
+#define ROCKETCORE_H
+
+#include <Rocket/Core/Core.h>
+
+#endif
diff --git source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/BaseXMLParser.h source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/BaseXMLParser.h
new file mode 100644
index 0000000..51491c6
--- /dev/null
+++ source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/BaseXMLParser.h
@@ -0,0 +1,119 @@
+/*
+ * This source file is part of libRocket, the HTML/CSS Interface Middleware
+ *
+ * For the latest information, see http://www.librocket.com
+ *
+ * Copyright (c) 2008-2010 CodePoint Ltd, Shift Technology Ltd
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ *
+ */
+
+#ifndef ROCKETCOREBASEXMLPARSER_H
+#define ROCKETCOREBASEXMLPARSER_H
+
+#include <Rocket/Core/Header.h>
+#include <Rocket/Core/Types.h>
+#include <Rocket/Core/Dictionary.h>
+#include <set>
+
+namespace Rocket {
+namespace Core {
+
+class Stream;
+
+typedef Dictionary XMLAttributes;
+
+/**
+ @author Peter Curry
+ */
+
+class ROCKETCORE_API BaseXMLParser
+{
+ public:
+ BaseXMLParser();
+ virtual ~BaseXMLParser();
+
+ /// Registers a tag as containing general character data. This will mean the contents of the tag will be parsed
+ /// similarly to a CDATA tag (ie, no other markup will be recognised until the section's closing tag is found).
+ /// @param[in] tag The tag to register as containing generic character data.
+ void RegisterCDATATag(const String& tag);
+
+ /// Parses the given stream as an XML file, and calls the handlers when
+ /// interesting phenomena are encountered.
+ void Parse(Stream* stream);
+
+ /// Get the line number in the stream.
+ /// @return The line currently being processed in the XML stream.
+ int GetLineNumber();
+
+ /// Called when the parser finds the beginning of an element tag.
+ virtual void HandleElementStart(const String& name, const XMLAttributes& attributes);
+ /// Called when the parser finds the end of an element tag.
+ virtual void HandleElementEnd(const String& name);
+ /// Called when the parser encounters data.
+ virtual void HandleData(const String& data);
+
+ protected:
+ // The stream we're reading the XML from.
+ Stream* xml_source;
+
+ private:
+ void ReadHeader();
+ void ReadBody();
+
+ bool ReadOpenTag();
+ bool ReadCloseTag();
+ bool ReadAttributes(XMLAttributes& attributes);
+ bool ReadCDATA(const char* terminator = NULL);
+
+ // Reads from the stream until a complete word is found.
+ // @param[out] word Word thats been found
+ // @param[in] terminators List of characters that terminate the search
+ bool FindWord(String& word, const char* terminators = NULL);
+ // Reads from the stream until the given character set is found. All
+ // intervening characters will be returned in data.
+ bool FindString(const unsigned char* string, String& data);
+ // Returns true if the next sequence of characters in the stream
+ // matches the given string. If consume is set and this returns true,
+ // the characters will be consumed.
+ bool PeekString(const unsigned char* string, bool consume = true);
+
+ // Fill the buffer as much as possible, without removing any content that is still pending
+ bool FillBuffer();
+
+ unsigned char* read;
+ unsigned char* buffer;
+ int buffer_size;
+ int buffer_used;
+ int line_number;
+ int open_tag_depth;
+
+ // The element attributes being read.
+ XMLAttributes attributes;
+ // The loose data being read.
+ String data;
+
+ std::set< String > cdata_tags;
+};
+
+}
+}
+
+#endif
diff --git source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/Box.h source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/Box.h
new file mode 100644
index 0000000..271df6c
--- /dev/null
+++ source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/Box.h
@@ -0,0 +1,126 @@
+/*
+ * This source file is part of libRocket, the HTML/CSS Interface Middleware
+ *
+ * For the latest information, see http://www.librocket.com
+ *
+ * Copyright (c) 2008-2010 CodePoint Ltd, Shift Technology Ltd
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ *
+ */
+
+#ifndef ROCKETCOREBOX_H
+#define ROCKETCOREBOX_H
+
+//#include <Rocket/Core/Header.h>
+//#include <Rocket/Core/Types.h>
+#include <Rocket/Core/Types.h>
+
+namespace Rocket {
+namespace Core {
+
+/**
+ Stores a box with four sized areas; content, padding, a border and margin. See
+ http://www.w3.org/TR/REC-CSS2/box.html#box-dimensions for a diagram.
+
+ @author Peter Curry
+ */
+
+class ROCKETCORE_API Box
+{
+public:
+ enum Area
+ {
+ MARGIN = 0,
+ BORDER = 1,
+ PADDING = 2,
+ CONTENT = 3,
+ NUM_AREAS = 3, // ignores CONTENT
+ };
+
+ enum Edge
+ {
+ TOP = 0,
+ RIGHT = 1,
+ BOTTOM = 2,
+ LEFT = 3,
+ NUM_EDGES = 4
+ };
+
+ /// Initialises a zero-sized box.
+ Box();
+ /// Initialises a box with a default content area and no padding, borders and margins.
+ Box(const Vector2f& content);
+ ~Box();
+
+ /// Returns the offset of this box. This will usually be (0, 0).
+ /// @return The box's offset.
+ const Vector2f& GetOffset() const;
+ /// Returns the top-left position of one of the box's areas, relative to the top-left of the border area. This
+ /// means the position of the margin area is likely to be negative.
+ /// @param area[in] The desired area.
+ /// @return The position of the area.
+ Vector2f GetPosition(Area area = Box::CONTENT) const;
+ /// Returns the size of one of the box's areas. This will include all inner areas.
+ /// @param area[in] The desired area.
+ /// @return The size of the requested area.
+ Vector2f GetSize(Area area = Box::CONTENT) const;
+
+ /// Sets the offset of the box, relative usually to the owning element. This should only be set for auxiliary
+ /// boxes of an element.
+ /// @param offset[in] The offset of the box from the primary box.
+ void SetOffset(const Vector2f& offset);
+ /// Sets the size of the content area.
+ /// @param content[in] The size of the new content area.
+ void SetContent(const Vector2f& content);
+ /// Sets the size of one of the edges of one of the box's outer areas.
+ /// @param area[in] The area to change.
+ /// @param edge[in] The area edge to change.
+ /// @param size[in] The new size of the area segment.
+ void SetEdge(Area area, Edge edge, float size);
+
+ /// Returns the size of one of the area edges.
+ /// @param area[in] The desired area.
+ /// @param edge[in] The desired edge.
+ /// @return The size of the requested area edge.
+ float GetEdge(Area area, Edge edge) const;
+ /// Returns the cumulative size of one edge up to one of the box's areas.
+ /// @param area[in] The area to measure up to (and including). So, MARGIN will return the width of the margin, and PADDING will be the sum of the margin, border and padding.
+ /// @param edge[in] The desired edge.
+ /// @return The cumulative size of the edge.
+ float GetCumulativeEdge(Area area, Edge edge) const;
+
+ /// Compares the size of the content area and the other area edges.
+ /// @return True if the boxes represent the same area.
+ bool operator==(const Box& rhs) const;
+ /// Compares the size of the content area and the other area edges.
+ /// @return True if the boxes do not represent the same area.
+ bool operator!=(const Box& rhs) const;
+
+private:
+ Vector2f content;
+ float area_edges[NUM_AREAS][NUM_EDGES];
+
+ Vector2f offset;
+};
+
+}
+}
+
+#endif
diff --git source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/Colour.h source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/Colour.h
new file mode 100644
index 0000000..6ac0704
--- /dev/null
+++ source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/Colour.h
@@ -0,0 +1,125 @@
+/*
+ * This source file is part of libRocket, the HTML/CSS Interface Middleware
+ *
+ * For the latest information, see http://www.librocket.com
+ *
+ * Copyright (c) 2008-2010 CodePoint Ltd, Shift Technology Ltd
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ *
+ */
+
+#ifndef ROCKETCORECOLOUR_H
+#define ROCKETCORECOLOUR_H
+
+#include <Rocket/Core/Header.h>
+
+namespace Rocket {
+namespace Core {
+
+/**
+ Templated class for a four-component RGBA colour.
+
+ @author Peter Curry
+ */
+
+template < typename ColourType, int AlphaDefault >
+class Colour
+{
+public:
+ /// Lightweight, non-initialising constructor.
+ inline Colour();
+ /// Initialising constructor.
+ /// @param[in] red Initial red value of the colour.
+ /// @param[in] green Initial green value of the colour.
+ /// @param[in] blue Initial blue value of the colour.
+ /// @param[in] alpha Initial alpha value of the colour.
+ inline Colour(ColourType red, ColourType green, ColourType blue, ColourType alpha = AlphaDefault);
+
+ /// Returns the sum of this colour and another. This does not saturate the channels.
+ /// @param[in] rhs The colour to add this to.
+ /// @return The sum of the two colours.
+ inline Colour operator+(const Colour& rhs) const;
+ /// Returns the result of subtracting another colour from this colour.
+ /// @param[in] rhs The colour to subtract from this colour.
+ /// @return The result of the subtraction.
+ inline Colour operator-(const Colour& rhs) const;
+ /// Returns the result of multiplying this colour by another.
+ /// @param[in] rhs The colour to multiply by.
+ /// @return The result of the multiplication.
+ Colour operator*(const Colour& rhs) const;
+ /// Returns the result of multiplying this colour component-wise by a scalar.
+ /// @param[in] rhs The scalar value to multiply by.
+ /// @return The result of the scale.
+ inline Colour operator*(float rhs) const;
+ /// Returns the result of dividing this colour component-wise by a scalar.
+ /// @param[in] rhs The scalar value to divide by.
+ /// @return The result of the scale.
+ inline Colour operator/(float rhs) const;
+
+ /// Adds another colour to this in-place. This does not saturate the channels.
+ /// @param[in] rhs The colour to add.
+ inline void operator+=(const Colour& rhs);
+ /// Subtracts another colour from this in-place.
+ /// @param[in] rhs The colour to subtract.
+ inline void operator-=(const Colour& rhs);
+ /// Multiplies this colour component-wise with another in-place.
+ /// @param[in] rhs The colour to multiply by.
+ /// @return This colour, post-operation.
+ void operator*=(const Colour& rhs);
+ /// Scales this colour component-wise in-place.
+ /// @param[in] rhs The value to scale this colours's components by.
+ inline void operator*=(float rhs);
+ /// Scales this colour component-wise in-place by the inverse of a value.
+ /// @param[in] rhs The value to divide this colour's components by.
+ inline void operator/=(float rhs);
+
+ /// Equality operator.
+ /// @param[in] rhs The colour to compare this against.
+ /// @return True if the two colours are equal, false otherwise.
+ inline bool operator==(const Colour& rhs) { return red == rhs.red && green == rhs.green && blue == rhs.blue && alpha == rhs.alpha; }
+ /// Inequality operator.
+ /// @param[in] rhs The colour to compare this against.
+ /// @return True if the two colours are not equal, false otherwise.
+ inline bool operator!=(const Colour& rhs) { return red != rhs.red || green != rhs.green || blue != rhs.blue || alpha != rhs.alpha; }
+
+ /// Auto-cast operator.
+ /// @return A pointer to the first value.
+ inline operator const ColourType*() const { return &red; }
+ /// Constant auto-cast operator.
+ /// @return A constant pointer to the first value.
+ inline operator ColourType*() { return &red; }
+
+ ColourType red, green, blue, alpha;
+};
+
+}
+}
+
+//#include <Rocket/Core/Types.h>
+
+namespace Rocket {
+namespace Core {
+
+#include "Colour.inl"
+
+}
+}
+
+#endif
diff --git source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/Colour.inl source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/Colour.inl
new file mode 100644
index 0000000..d9344eb
--- /dev/null
+++ source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/Colour.inl
@@ -0,0 +1,119 @@
+/*
+ * This source file is part of libRocket, the HTML/CSS Interface Middleware
+ *
+ * For the latest information, see http://www.librocket.com
+ *
+ * Copyright (c) 2008-2010 CodePoint Ltd, Shift Technology Ltd
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ *
+ */
+
+// Lightweight, non-initialising constructor.
+template < typename ColourType, int AlphaDefault >
+Colour< ColourType, AlphaDefault >::Colour()
+{
+}
+
+// Initialising constructor.
+template < typename ColourType, int AlphaDefault >
+Colour< ColourType, AlphaDefault >::Colour(ColourType _red, ColourType _green, ColourType _blue, ColourType _alpha)
+{
+ red = _red;
+ green = _green;
+ blue = _blue;
+ alpha = _alpha;
+}
+
+// Returns the sum of this colour and another. This does not saturate the channels.
+template < typename ColourType, int AlphaDefault >
+Colour< ColourType, AlphaDefault > Colour< ColourType, AlphaDefault >::operator+(const Colour< ColourType, AlphaDefault >& rhs) const
+{
+ return Colour< ColourType, AlphaDefault >(red + rhs.red, green + rhs.green, blue + rhs.blue, alpha + rhs.alpha);
+}
+
+// Returns the result of subtracting another colour from this colour.
+template < typename ColourType, int AlphaDefault >
+Colour< ColourType, AlphaDefault > Colour< ColourType, AlphaDefault >::operator-(const Colour< ColourType, AlphaDefault >& rhs) const
+{
+ return Colour< ColourType, AlphaDefault >(red - rhs.red, green - rhs.green, blue - rhs.blue, alpha - rhs.alpha);
+}
+
+// Returns the result of multiplying this colour component-wise by a scalar.
+template < typename ColourType, int AlphaDefault >
+Colour< ColourType, AlphaDefault > Colour< ColourType, AlphaDefault >::operator*(float rhs) const
+{
+ return Colour((ColourType) (red * rhs), (ColourType) (green * rhs), (ColourType) (blue * rhs), (ColourType) (alpha * rhs));
+}
+
+// Returns the result of dividing this colour component-wise by a scalar.
+template < typename ColourType, int AlphaDefault >
+Colour< ColourType, AlphaDefault > Colour< ColourType, AlphaDefault >::operator/(float rhs) const
+{
+ return Colour((ColourType) (red / rhs), (ColourType) (green / rhs), (ColourType) (blue / rhs), (ColourType) (alpha / rhs));
+}
+
+// Adds another colour to this in-place. This does not saturate the channels.
+template < typename ColourType, int AlphaDefault >
+void Colour< ColourType, AlphaDefault >::operator+=(const Colour& rhs)
+{
+ red += rhs.red;
+ green += rhs.green;
+ blue += rhs.blue;
+ alpha += rhs.alpha;
+}
+
+// Subtracts another colour from this in-place.
+template < typename ColourType, int AlphaDefault >
+void Colour< ColourType, AlphaDefault >::operator-=(const Colour& rhs)
+{
+ red -= rhs.red;
+ green -= rhs.green;
+ blue -= rhs.blue;
+ alpha -= rhs.alpha;
+}
+
+// Scales this colour component-wise in-place.
+template < typename ColourType, int AlphaDefault >
+void Colour< ColourType, AlphaDefault >::operator*=(float rhs)
+{
+ red = (ColourType)(red * rhs);
+ green = (ColourType)(green * rhs);
+ blue = (ColourType)(blue * rhs);
+ alpha = (ColourType)(alpha * rhs);
+}
+
+// Scales this colour component-wise in-place by the inverse of a value.
+template < typename ColourType, int AlphaDefault >
+void Colour< ColourType, AlphaDefault >::operator/=(float rhs)
+{
+ *this *= (1.0f / rhs);
+}
+
+template < >
+Colour< float, 1 > ROCKETCORE_API Colour< float, 1 >::operator*(const Colour< float, 1 >& rhs) const;
+
+template < >
+Colour< byte, 255 > ROCKETCORE_API Colour< byte, 255 >::operator*(const Colour< byte, 255 >& rhs) const;
+
+template < >
+void ROCKETCORE_API Colour< float, 1 >::operator*=(const Colour& rhs);
+
+template < >
+void ROCKETCORE_API Colour< byte, 255 >::operator*=(const Colour& rhs);
diff --git source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/Context.h source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/Context.h
new file mode 100644
index 0000000..50fa31a
--- /dev/null
+++ source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/Context.h
@@ -0,0 +1,341 @@
+/*
+ * This source file is part of libRocket, the HTML/CSS Interface Middleware
+ *
+ * For the latest information, see http://www.librocket.com
+ *
+ * Copyright (c) 2008-2010 CodePoint Ltd, Shift Technology Ltd
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ *
+ */
+
+#ifndef ROCKETCORECONTEXT_H
+#define ROCKETCORECONTEXT_H
+
+#include <Rocket/Core/Header.h>
+#include <Rocket/Core/Types.h>
+#include <Rocket/Core/ReferenceCountable.h>
+#include <Rocket/Core/ElementReference.h>
+#include <Rocket/Core/Input.h>
+#include <Rocket/Core/String.h>
+#include <Rocket/Core/ScriptInterface.h>
+
+namespace Rocket {
+namespace Core {
+
+class Stream;
+class Dictionary;
+
+}
+}
+
+namespace Rocket {
+namespace Core {
+
+class ContextInstancer;
+class ElementDocument;
+class EventListener;
+class RenderInterface;
+
+/**
+ A context for storing, rendering and processing RML documents. Multiple contexts can exist simultaneously.
+
+ @author Peter Curry
+ */
+
+class ROCKETCORE_API Context : public ScriptInterface
+{
+public:
+ /// Constructs a new, uninitialised context. This should not be called directly, use Core::CreateContext()
+ /// instead.
+ /// @param[in] name The name of the context.
+ Context(const String& name);
+ /// Destroys a context.
+ virtual ~Context();
+
+ /// Returns the name of the context.
+ /// @return The context's name.
+ const String& GetName() const;
+
+ /// Changes the dimensions of the context.
+ /// @param[in] dimensions The new dimensions of the context.
+ void SetDimensions(const Vector2i& dimensions);
+ /// Returns the dimensions of the context.
+ /// @return The current dimensions of the context.
+ const Vector2i& GetDimensions() const;
+
+ /// Updates all elements in the context's documents.
+ bool Update();
+ /// Renders all visible elements in the context's documents.
+ bool Render();
+
+ /// Creates a new, empty document and places it into this context.
+ /// @param[in] tag The document type to create.
+ /// @return The new document, or NULL if no document could be created. The document is returned with a reference owned by the caller.
+ ElementDocument* CreateDocument(const String& tag = "body");
+ /// Load a document into the context.
+ /// @param[in] document_path The path to the document to load.
+ /// @return The loaded document, or NULL if no document was loaded. The document is returned with a reference owned by the caller.
+ ElementDocument* LoadDocument(const String& document_path);
+ /// Load a document into the context.
+ /// @param[in] document_stream The opened stream, ready to read.
+ /// @return The loaded document, or NULL if no document was loaded. The document is returned with a reference owned by the caller.
+ ElementDocument* LoadDocument(Stream* document_stream);
+ /// Load a document into the context.
+ /// @param[in] string The string containing the document RML.
+ /// @return The loaded document, or NULL if no document was loaded. The document is returned with a reference owned by the caller.
+ ElementDocument* LoadDocumentFromMemory(const String& string);
+ /// Unload the given document.
+ /// @param[in] document The document to unload.
+ void UnloadDocument(ElementDocument* document);
+ /// Unloads all loaded documents.
+ void UnloadAllDocuments();
+
+ /// Adds a previously-loaded cursor document as a mouse cursor within this context. This allows you to share
+ /// cursors between contexts.
+ /// @param[in] cursor_document The document to add as a cursor into this context.
+ void AddMouseCursor(ElementDocument* cursor_document);
+ /// Loads a document as a mouse cursor within this context.
+ /// @param[in] cursor_document_path The path to the document to load as a cursor.
+ /// @return The loaded cursor document, or NULL if no document was loaded. The document is returned with a reference owned by the caller.
+ ElementDocument* LoadMouseCursor(const String& cursor_document_path);
+ /// Unload the given cursor.
+ /// @param[in] cursor_name The name of cursor to unload.
+ void UnloadMouseCursor(const String& cursor_name);
+ /// Unloads all currently loaded cursors.
+ void UnloadAllMouseCursors();
+ /// Sets a cursor as the active cursor.
+ /// @param[in] cursor_name The name of the cursor to activate.
+ /// @return True if a cursor exists with the given name, false if not.
+ bool SetMouseCursor(const String& cursor_name);
+ /// Shows or hides the cursor.
+ /// @param[in] show True to show the cursor, false to hide it.
+ void ShowMouseCursor(bool show);
+
+ /// Returns the first document in the context with the given id.
+ /// @param[in] id The id of the desired document.
+ /// @return The document (if it was found), or NULL if no document exists with the ID. The document is returned with a borrowed reference.
+ ElementDocument* GetDocument(const String& id);
+ /// Returns a document in the context by index.
+ /// @param[in] index The index of the desired document.
+ /// @return The document (if one exists with this index), or NULL if the index was invalid. The document is returned with a borrowed reference.
+ ElementDocument* GetDocument(int index);
+ /// Returns the number of documents in the context.
+ /// @return The number of documents in the context.
+ int GetNumDocuments() const;
+
+ /// Returns the hover element.
+ /// @return The element the mouse cursor is hovering over. The element is returned with a borrowed reference.
+ Element* GetHoverElement();
+
+ /// Returns the focus element.
+ /// @return The element with input focus. The element is returned with a borrowed reference.
+ Element* GetFocusElement();
+
+ /// Returns the root element that holds all the documents
+ /// @return The root element. The element is returned with a borrowed reference.
+ Element* GetRootElement();
+
+ /// Brings the document to the front of the document stack.
+ /// @param[in] document The document to pull to the front of the stack.
+ void PullDocumentToFront(ElementDocument* document);
+ /// Sends the document to the back of the document stack.
+ /// @param[in] document The document to push to the bottom of the stack.
+ void PushDocumentToBack(ElementDocument* document);
+
+ /// Adds an event listener to the context's root element.
+ /// @param[in] event The name of the event to attach to.
+ /// @param[in] listener Listener object to be attached.
+ /// @param[in] in_capture_phase True if the listener is to be attached to the capture phase, false for the bubble phase.
+ void AddEventListener(const String& event, EventListener* listener, bool in_capture_phase = false);
+ /// Removes an event listener from the context's root element.
+ /// @param[in] event The name of the event to detach from.
+ /// @param[in] listener Listener object to be detached.
+ /// @param[in] in_capture_phase True to detach from the capture phase, false from the bubble phase.
+ void RemoveEventListener(const String& event, EventListener* listener, bool in_capture_phase = false);
+
+ /// Sends a key down event into this context.
+ /// @param[in] key_identifier The key pressed.
+ /// @param[in] key_modifier_state The state of key modifiers (shift, control, caps-lock, etc) keys; this should be generated by ORing together members of the Input::KeyModifier enumeration.
+ /// @return True if the event was not consumed (ie, was prevented from propagating by an element), false if it was.
+ bool ProcessKeyDown(Input::KeyIdentifier key_identifier, int key_modifier_state);
+ /// Sends a key up event into this context.
+ /// @param[in] key_identifier The key released.
+ /// @param[in] key_modifier_state The state of key modifiers (shift, control, caps-lock, etc) keys; this should be generated by ORing together members of the Input::KeyModifier enumeration.
+ /// @return True if the event was not consumed (ie, was prevented from propagating by an element), false if it was.
+ bool ProcessKeyUp(Input::KeyIdentifier key_identifier, int key_modifier_state);
+
+ /// Sends a single character of text as text input into this context.
+ /// @param[in] character The UCS-2 character to send into this context.
+ /// @return True if the event was not consumed (ie, was prevented from propagating by an element), false if it was.
+ bool ProcessTextInput(word character);
+ /// Sends a string of text as text input into this context.
+ /// @param[in] string The UCS-2 string to send into this context.
+ /// @return True if the event was not consumed (ie, was prevented from propagating by an element), false if it was.
+ bool ProcessTextInput(const String& string);
+
+ /// Sends a mouse movement event into this context.
+ /// @param[in] x The x-coordinate of the mouse cursor, in window-coordinates (ie, 0 should be the left of the client area).
+ /// @param[in] y The y-coordinate of the mouse cursor, in window-coordinates (ie, 0 should be the top of the client area).
+ /// @param[in] key_modifier_state The state of key modifiers (shift, control, caps-lock, etc) keys; this should be generated by ORing together members of the Input::KeyModifier enumeration.
+ void ProcessMouseMove(int x, int y, int key_modifier_state);
+ /// Sends a mouse-button down event into this context.
+ /// @param[in] button_index The index of the button that was pressed; 0 for the left button, 1 for right, and any others from 2 onwards.
+ /// @param[in] key_modifier_state The state of key modifiers (shift, control, caps-lock, etc) keys; this should be generated by ORing together members of the Input::KeyModifier enumeration.
+ void ProcessMouseButtonDown(int button_index, int key_modifier_state);
+ /// Sends a mouse-button up event into this context.
+ /// @param[in] button_index The index of the button that was release; 0 for the left button, 1 for right, and any others from 2 onwards.
+ /// @param[in] key_modifier_state The state of key modifiers (shift, control, caps-lock, etc) keys; this should be generated by ORing together members of the Input::KeyModifier enumeration.
+ void ProcessMouseButtonUp(int button_index, int key_modifier_state);
+ /// Sends a mouse-wheel movement event into this context.
+ /// @param[in] wheel_delta The mouse-wheel movement this frame. Rocket treats a negative delta as up movement (away from the user), positive as down.
+ /// @param[in] key_modifier_state The state of key modifiers (shift, control, caps-lock, etc) keys; this should be generated by ORing together members of the Input::KeyModifier enumeration.
+ /// @return True if the event was not consumed (ie, was prevented from propagating by an element), false if it was.
+ bool ProcessMouseWheel(int wheel_delta, int key_modifier_state);
+
+ /// Gets the context's render interface.
+ /// @return The render interface the context renders through.
+ RenderInterface* GetRenderInterface() const;
+ /// Gets the current clipping region for the render traversal
+ /// @param[out] origin The clipping origin
+ /// @param[out] dimensions The clipping dimensions
+ bool GetActiveClipRegion(Vector2i& origin, Vector2i& dimensions) const;
+ /// Sets the current clipping region for the render traversal
+ /// @param[out] origin The clipping origin
+ /// @param[out] dimensions The clipping dimensions
+ void SetActiveClipRegion(const Vector2i& origin, const Vector2i& dimensions);
+
+ /// Sets the instancer to use for releasing this object.
+ /// @param[in] instancer The context's instancer.
+ void SetInstancer(ContextInstancer* instancer);
+
+protected:
+ virtual void OnReferenceDeactivate();
+
+private:
+ String name;
+ Vector2i dimensions;
+
+ ContextInstancer* instancer;
+
+ typedef std::set< ElementReference > ElementSet;
+ typedef std::vector< ElementReference > ElementList;
+ // Set of elements that are currently in hover state.
+ ElementSet hover_chain;
+ // List of elements that are currently in active state.
+ ElementList active_chain;
+ // History of windows that have had focus
+ ElementList document_focus_history;
+
+ // Documents that have been unloaded from the context but not yet released.
+ ElementList unloaded_documents;
+
+ // Root of the element tree.
+ Element* root;
+ // The element that current has input focus.
+ ElementReference focus;
+ // The top-most element being hovered over.
+ ElementReference hover;
+ // The element that was being hovered over when the primary mouse button was pressed most recently.
+ ElementReference active;
+
+ // The element that was clicked on last.
+ Element* last_click_element;
+ // The time the last click occured.
+ float last_click_time;
+
+ typedef std::map< String, ElementDocument* > CursorMap;
+ CursorMap cursors;
+ ElementReference default_cursor;
+ ElementReference active_cursor;
+ bool show_cursor;
+
+ ElementDocument* cursor_proxy;
+
+ // The element that is currently being dragged (or about to be dragged).
+ ElementReference drag;
+ // True if a drag has begun (ie, the ondragstart event has been fired for the drag element), false otherwise.
+ bool drag_started;
+ // True if the current drag is a verbose drag (ie, sends ondragover, ondragout, ondragdrop, etc, events).
+ bool drag_verbose;
+ // Used when dragging a cloned object.
+ Element* drag_clone;
+
+ // The element currently being dragged over; this is equivalent to hover, but only set while an element is being
+ // dragged, and excludes the dragged element.
+ ElementReference drag_hover;
+ // Set of elements that are currently being dragged over; this differs from the hover state as the dragged element
+ // itself can't be part of it.
+ ElementSet drag_hover_chain;
+
+ // Input state; stored from the most recent input events we receive from the application.
+ Vector2i mouse_position;
+
+ // The render interface this context renders through.
+ RenderInterface* render_interface;
+ Vector2i clip_origin;
+ Vector2i clip_dimensions;
+
+ // Internal callback for when an element is removed from the hierarchy.
+ void OnElementRemove(Element* element);
+ // Internal callback for when a new element gains focus.
+ bool OnFocusChange(Element* element);
+
+ // Generates an event for faking clicks on an element.
+ void GenerateClickEvent(Element* element);
+
+ // Updates the current hover elements, sending required events.
+ void UpdateHoverChain(const Dictionary& parameters, const Dictionary& drag_parameters, const Vector2i& old_mouse_position);
+ // Returns the youngest descendent of the given element which is under the given point in screen coordinates.
+ // @param[in] point The point to test.
+ // @param[in] ignore_element If set, this element and its descendents will be ignored.
+ // @param[in] element Used internally.
+ // @return The element under the point, or NULL if nothing is.
+ Element* GetElementAtPoint(const Vector2f& point, const Element* ignore_element = NULL, Element* element = NULL);
+
+ // Creates the drag clone from the given element. The old drag clone will be released if
+ // necessary.
+ // @param[in] element The element to clone.
+ void CreateDragClone(Element* element);
+ // Releases the drag clone, if one exists.
+ void ReleaseDragClone();
+
+ // Builds the parameters for a generic key event.
+ void GenerateKeyEventParameters(Dictionary& parameters, Input::KeyIdentifier key_identifier);
+ // Builds the parameters for a generic mouse event.
+ void GenerateMouseEventParameters(Dictionary& parameters, int button_index = -1);
+ // Builds the parameters for the key modifier state.
+ void GenerateKeyModifierEventParameters(Dictionary& parameters, int key_modifier_state);
+ // Builds the parameters for a drag event.
+ void GenerateDragEventParameters(Dictionary& parameters);
+
+ // Releases all unloaded documents pending destruction.
+ void ReleaseUnloadedDocuments();
+
+ // Sends the specified event to all elements in new_items that don't appear in old_items.
+ static void SendEvents(const ElementSet& old_items, const ElementSet& new_items, const String& event, const Dictionary& parameters, bool interruptible);
+
+ friend class Element;
+ friend ROCKETCORE_API Context* CreateContext(const String&, const Vector2i&, RenderInterface*);
+};
+
+}
+}
+
+#endif
diff --git source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/ContextInstancer.h source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/ContextInstancer.h
new file mode 100644
index 0000000..6017dc8
--- /dev/null
+++ source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/ContextInstancer.h
@@ -0,0 +1,70 @@
+/*
+ * This source file is part of libRocket, the HTML/CSS Interface Middleware
+ *
+ * For the latest information, see http://www.librocket.com
+ *
+ * Copyright (c) 2008-2010 CodePoint Ltd, Shift Technology Ltd
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ *
+ */
+
+#ifndef ROCKETCORECONTEXTINSTANCER_H
+#define ROCKETCORECONTEXTINSTANCER_H
+
+#include <Rocket/Core/ReferenceCountable.h>
+#include <Rocket/Core/Header.h>
+
+namespace Rocket {
+namespace Core {
+
+class Context;
+class Event;
+
+/**
+ Abstract instancer interface for instancing contexts.
+
+ @author Lloyd Weehuizen
+ */
+
+class ROCKETCORE_API ContextInstancer : public ReferenceCountable
+{
+public:
+ virtual ~ContextInstancer();
+
+ /// Instances a context.
+ /// @param[in] name Name of this context.
+ /// @return The instanced context.
+ virtual Context* InstanceContext(const String& name) = 0;
+
+ /// Releases a context previously created by this context.
+ /// @param[in] context The context to release.
+ virtual void ReleaseContext(Context* context) = 0;
+
+ /// Releases this context instancer
+ virtual void Release() = 0;
+
+private:
+ virtual void OnReferenceDeactivate();
+};
+
+}
+}
+
+#endif
diff --git source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/ConvolutionFilter.h source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/ConvolutionFilter.h
new file mode 100644
index 0000000..4187423
--- /dev/null
+++ source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/ConvolutionFilter.h
@@ -0,0 +1,89 @@
+/*
+ * This source file is part of libRocket, the HTML/CSS Interface Middleware
+ *
+ * For the latest information, see http://www.librocket.com
+ *
+ * Copyright (c) 2008-2010 CodePoint Ltd, Shift Technology Ltd
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ *
+ */
+
+#ifndef ROCKETCORECONVOLUTIONFILTER_H
+#define ROCKETCORECONVOLUTIONFILTER_H
+
+namespace Rocket {
+namespace Core {
+
+/**
+ A programmable convolution filter, designed to aid in the generation of texture data by custom
+ FontEffect types.
+
+ @author Peter Curry
+ */
+
+class ConvolutionFilter
+{
+public:
+ enum FilterOperation
+ {
+ // The result is the median value of all the filtered pixels.
+ MEDIAN,
+ // The result is the smallest value of all filtered pixels.
+ DILATION,
+ // The result is the largest value of all the filtered pixels.
+ EROSION
+ };
+
+ ConvolutionFilter();
+ ~ConvolutionFilter();
+
+ /// Initialises the filter. A filter must be initialised and populated with values before use.
+ /// @param[in] kernel_size The size of the filter's kernel each side of the origin. So, for example, a filter initialised with a size of 1 will store 9 values.
+ /// @param[in] operation The operation the filter conducts to determine the result.
+ bool Initialise(int kernel_size, FilterOperation operation = MEDIAN);
+
+ /// Returns a reference to one of the rows of the filter kernel.
+ /// @param[in] index The index of the desired row.
+ /// @return The row of kernel values.
+ float* operator[](int index);
+
+ /// Runs the convolution filter. The filter will operate on each pixel in the destination
+ /// surface, setting its opacity to the result the filter on the source opacity values. The
+ /// colour values will remain unchanged.
+ /// @param[in] destination The RGBA-encoded destination buffer.
+ /// @param[in] destination_dimensions The size of the destination region (in pixels).
+ /// @param[in] destination_stride The stride (in bytes) of the destination region.
+ /// @param[in] source The opacity information for the source buffer.
+ /// @param[in] source_dimensions The size of the source region (in pixels). The stride is assumed to be equivalent to the horizontal width.
+ /// @param[in] source_offset The offset of the source region from the destination region. This is usually the same as the kernel size.
+ void Run(byte* destination, const Vector2i& destination_dimensions, int destination_stride, const byte* source, const Vector2i& source_dimensions, const Vector2i& source_offset) const;
+
+private:
+ int kernel_size;
+ float* kernel;
+
+ FilterOperation operation;
+};
+
+}
+}
+
+#endif
+
diff --git source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/Core.h source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/Core.h
new file mode 100644
index 0000000..c8fafdf
--- /dev/null
+++ source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/Core.h
@@ -0,0 +1,152 @@
+/*
+ * This source file is part of libRocket, the HTML/CSS Interface Middleware
+ *
+ * For the latest information, see http://www.librocket.com
+ *
+ * Copyright (c) 2008-2010 CodePoint Ltd, Shift Technology Ltd
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ *
+ */
+
+#ifndef ROCKETCORECORE_H
+#define ROCKETCORECORE_H
+
+#include <Rocket/Core/Types.h>
+#include <Rocket/Core/Math.h>
+#include <Rocket/Core/Header.h>
+#include <Rocket/Core/Box.h>
+#include <Rocket/Core/Context.h>
+#include <Rocket/Core/ContextInstancer.h>
+#include <Rocket/Core/Decorator.h>
+#include <Rocket/Core/DecoratorInstancer.h>
+#include <Rocket/Core/Element.h>
+#include <Rocket/Core/ElementDocument.h>
+#include <Rocket/Core/ElementInstancer.h>
+#include <Rocket/Core/ElementInstancerGeneric.h>
+#include <Rocket/Core/ElementReference.h>
+#include <Rocket/Core/ElementScroll.h>
+#include <Rocket/Core/ElementText.h>
+#include <Rocket/Core/ElementUtilities.h>
+#include <Rocket/Core/Event.h>
+#include <Rocket/Core/EventInstancer.h>
+#include <Rocket/Core/EventListener.h>
+#include <Rocket/Core/EventListenerInstancer.h>
+#include <Rocket/Core/Factory.h>
+#include <Rocket/Core/FileInterface.h>
+#include <Rocket/Core/Font.h>
+#include <Rocket/Core/FontDatabase.h>
+#include <Rocket/Core/FontEffect.h>
+#include <Rocket/Core/FontGlyph.h>
+#include <Rocket/Core/Geometry.h>
+#include <Rocket/Core/GeometryUtilities.h>
+#include <Rocket/Core/Input.h>
+#include <Rocket/Core/Log.h>
+#include <Rocket/Core/Plugin.h>
+#include <Rocket/Core/Property.h>
+#include <Rocket/Core/PropertyDefinition.h>
+#include <Rocket/Core/PropertyDictionary.h>
+#include <Rocket/Core/PropertyParser.h>
+#include <Rocket/Core/PropertySpecification.h>
+#include <Rocket/Core/RenderInterface.h>
+#include <Rocket/Core/String.h>
+#include <Rocket/Core/StyleSheet.h>
+#include <Rocket/Core/StyleSheetKeywords.h>
+#include <Rocket/Core/StyleSheetSpecification.h>
+#include <Rocket/Core/SystemInterface.h>
+#include <Rocket/Core/Texture.h>
+#include <Rocket/Core/Types.h>
+#include <Rocket/Core/Vertex.h>
+#include <Rocket/Core/XMLNodeHandler.h>
+#include <Rocket/Core/XMLParser.h>
+
+namespace Rocket {
+namespace Core {
+
+class Plugin;
+
+/**
+ Rocket library core API.
+
+ @author Peter Curry
+ */
+
+/// Initialises Rocket.
+ROCKETCORE_API bool Initialise();
+/// Shutdown Rocket.
+ROCKETCORE_API void Shutdown();
+
+/// Returns the version of this Rocket library.
+/// @return The version number.
+ROCKETCORE_API String GetVersion();
+
+/// Sets the interface through which all system requests are made. This must be called before Initialise().
+/// @param[in] system_interface The application-specified logging interface.
+ROCKETCORE_API void SetSystemInterface(SystemInterface* system_interface);
+/// Returns Rocket's system interface.
+/// @return Rocket's system interface.
+ROCKETCORE_API SystemInterface* GetSystemInterface();
+
+/// Sets the interface through which all rendering requests are made. This is not required to be called, but if it is
+/// it must be called before Initialise(). If no render interface is specified, then all contexts must have a custom
+/// render interface.
+/// @param[in] render_interface Render interface implementation.
+ROCKETCORE_API void SetRenderInterface(RenderInterface* render_interface);
+/// Returns Rocket's default's render interface.
+/// @return Rocket's render interface.
+ROCKETCORE_API RenderInterface* GetRenderInterface();
+
+/// Sets the interface through which all file I/O requests are made. This is not required to be called, but if it is it
+/// must be called before Initialise().
+/// @param[in] file_interface The application-specified file interface
+ROCKETCORE_API void SetFileInterface(FileInterface* file_interface);
+/// Returns Rocket's file interface.
+/// @return Rocket's file interface.
+ROCKETCORE_API FileInterface* GetFileInterface();
+
+/// Creates a new element context.
+/// @param[in] name The new name of the context. This must be unique.
+/// @param[in] dimensions The initial dimensions of the new context.
+/// @param[in] render_interface The custom render interface to use, or NULL to use the default.
+/// @return The new context, or NULL if the context could not be created.
+ROCKETCORE_API Context* CreateContext(const String& name, const Vector2i& dimensions, RenderInterface* render_interface = NULL);
+/// Fetches a previously constructed context by name.
+/// @param[in] name The name of the desired context.
+/// @return The desired context, or NULL if no context exists with the given name.
+ROCKETCORE_API Context* GetContext(const String& name);
+/// Fetches a context by index.
+/// @param[in] index The index of the desired context. If this is outside of the valid range of contexts, it will be clamped.
+/// @return The requested context, or NULL if no contexts exist.
+ROCKETCORE_API Context* GetContext(int index);
+/// Returns the number of active contexts.
+/// @return The total number of active Rocket contexts.
+ROCKETCORE_API int GetNumContexts();
+
+/// Registers a generic Rocket plugin.
+ROCKETCORE_API void RegisterPlugin(Plugin* plugin);
+
+/// Forces all compiled geometry handles generated by libRocket to be released.
+ROCKETCORE_API void ReleaseCompiledGeometries();
+/// Forces all texture handles loaded and generated by libRocket to be released.
+ROCKETCORE_API void ReleaseTextures();
+
+}
+}
+
+#endif
diff --git source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/Debug.h source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/Debug.h
new file mode 100644
index 0000000..5c02012
--- /dev/null
+++ source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/Debug.h
@@ -0,0 +1,112 @@
+/*
+ * This source file is part of libRocket, the HTML/CSS Interface Middleware
+ *
+ * For the latest information, see http://www.librocket.com
+ *
+ * Copyright (c) 2008-2010 CodePoint Ltd, Shift Technology Ltd
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ *
+ */
+
+#ifndef ROCKETCOREDEBUG_H
+#define ROCKETCOREDEBUG_H
+
+#include <Rocket/Core/Header.h>
+
+// Define for breakpointing.
+#if defined (ROCKET_PLATFORM_WIN32)
+ #if defined (__MINGW32__)
+ #define ROCKET_BREAK asm("int $0x03")
+ #else
+ #define ROCKET_BREAK _asm { int 0x03 }
+ #endif
+#elif defined (ROCKET_PLATFORM_LINUX)
+ #if defined __i386__ || defined __x86_64__
+ #define ROCKET_BREAK asm ("int $0x03" )
+ #else
+ #define ROCKET_BREAK
+ #endif
+#elif defined (ROCKET_PLATFORM_MACOSX)
+ #include <TargetConditionals.h>
+
+ #if TARGET_OS_IPHONE
+ #define ROCKET_BREAK
+ #else
+ #define ROCKET_BREAK {__asm__("int $3\n" : : );}
+ #endif
+#endif
+
+
+
+// Define the LT_ASSERT and ROCKET_VERIFY macros.
+#if !defined ROCKET_DEBUG
+#define ROCKET_ASSERT(x)
+#define ROCKET_ASSERTMSG(x, m)
+#define ROCKET_ERROR
+#define ROCKET_ERRORMSG(m)
+#define ROCKET_VERIFY(x) x
+#else
+namespace Rocket {
+namespace Core {
+
+bool ROCKETCORE_API Assert(const char* message, const char* file, int line);
+#define ROCKET_ASSERT(x) \
+if (!(x)) \
+{ \
+ if (!Rocket::Core::Assert("ROCKET_ASSERT("#x")", __FILE__, __LINE__ )) \
+ { \
+ ROCKET_BREAK; \
+ } \
+}
+#define ROCKET_ASSERTMSG(x, m) \
+if (!(x)) \
+{ \
+ if (!Rocket::Core::Assert(m, __FILE__, __LINE__ )) \
+ { \
+ ROCKET_BREAK; \
+ } \
+}
+#define ROCKET_ERROR \
+if (!Rocket::Core::Assert("ROCKET_ERROR", __FILE__, __LINE__)) \
+{ \
+ ROCKET_BREAK; \
+}
+#define ROCKET_ERRORMSG(m) \
+if (!Rocket::Core::Assert(m, __FILE__, __LINE__)) \
+{ \
+ ROCKET_BREAK; \
+}
+#define ROCKET_VERIFY(x) ROCKET_ASSERT(x)
+
+}
+}
+#endif
+
+namespace Rocket {
+namespace Core {
+
+template <bool> struct STATIC_ASSERTION_FAILURE;
+template <> struct STATIC_ASSERTION_FAILURE<true>{};
+
+}
+}
+#define ROCKET_STATIC_ASSERT(cond, msg) Rocket::Core::STATIC_ASSERTION_FAILURE<cond> msg
+
+#endif
diff --git source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/Decorator.h source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/Decorator.h
new file mode 100644
index 0000000..331cb66
--- /dev/null
+++ source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/Decorator.h
@@ -0,0 +1,127 @@
+/*
+ * This source file is part of libRocket, the HTML/CSS Interface Middleware
+ *
+ * For the latest information, see http://www.librocket.com
+ *
+ * Copyright (c) 2008-2010 CodePoint Ltd, Shift Technology Ltd
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ *
+ */
+
+#ifndef ROCKETCOREDECORATOR_H
+#define ROCKETCOREDECORATOR_H
+
+#include <Rocket/Core/ReferenceCountable.h>
+#include <vector>
+#include <Rocket/Core/Header.h>
+#include <Rocket/Core/Texture.h>
+#include <Rocket/Core/Types.h>
+
+namespace Rocket {
+namespace Core {
+
+class DecoratorInstancer;
+class Element;
+class PropertyDictionary;
+class Property;
+struct Texture;
+class TextureResource;
+
+/**
+ The abstract base class for any visual object that can be attached to any element.
+
+ @author Peter Curry
+ */
+
+class ROCKETCORE_API Decorator : public ReferenceCountable
+{
+public:
+ Decorator();
+ virtual ~Decorator();
+
+ /// Called on a decorator to generate any required per-element data for a newly decorated element.
+ /// @param[in] element The newly decorated element.
+ /// @return A handle to a decorator-defined data handle, or NULL if none is needed for the element.
+ virtual DecoratorDataHandle GenerateElementData(Element* element) = 0;
+ /// Called to release element data generated by this decorator.
+ /// @param[in] element_data The element data handle to release.
+ virtual void ReleaseElementData(DecoratorDataHandle element_data) = 0;
+
+ /// Sets the z-index of the decorator. A decorator with a higher z-index will be rendered after a decorator
+ /// with a lower z-index. By default, all decorators have a z-index of 0.
+ /// @param[in] z-index The new z-index of the decorator.
+ void SetZIndex(float z_index);
+ /// Returns the decorator's z-index.
+ /// @return The z-index of the decorator.
+ float GetZIndex() const;
+
+ /// Sets the specificity of the decorator.
+ /// @param[in] specificity The specificity of the decorator.
+ void SetSpecificity(int specificity);
+ /// Returns the specificity of the decorator. This is used when multiple pseudo-classes are active on an
+ /// element, each with similarly-named decorators.
+ /// @return The specificity of the decorator.
+ int GetSpecificity() const;
+
+ /// Called to render the decorator on an element.
+ /// @param[in] element The element to render the decorator on.
+ /// @param[in] element_data The handle to the data generated by the decorator for the element.
+ virtual void RenderElement(Element* element, DecoratorDataHandle element_data) = 0;
+
+protected:
+ /// Releases the decorator through its instancer.
+ virtual void OnReferenceDeactivate();
+
+ /// Attempts to load a texture into the list of textures in use by the decorator.
+ /// @param[in] texture_name The name of the texture to load.
+ /// @param[in] rcss_path The RCSS file the decorator definition was loaded from; this is used to resolve relative paths.
+ /// @return The index of the texture if the load was successful, or -1 if the load failed.
+ int LoadTexture(const String& texture_name, const String& rcss_path);
+ /// Returns one of the decorator's previously loaded textures.
+ /// @param[in] index The index of the desired texture.
+ /// @return The texture at the appropriate index, or NULL if the index was invalid.
+ const Texture* GetTexture(int index = 0) const;
+
+ /// Returns the floating-point value of a numerical property from a dictionary of properties, resolving it
+ /// against a base value if it is a relative property.
+ /// @param[in] properties The user-supplied dictionary of properties.
+ /// @param[in] name The name of the desired property. This must be a numerical property.
+ /// @return The fully-resolved value of the property, or 0 if an error occured.
+ float ResolveProperty(const PropertyDictionary& properties, const String& name, float base_value) const;
+
+private:
+ DecoratorInstancer* instancer;
+
+ // The z-index of this decorator, used to resolve render order when multiple decorators are rendered
+ // simultaneously on the same element.
+ float z_index;
+ // The maximum specificity of the properties used to define the decorator.
+ int specificity;
+
+ // Stores a list of textures in use by this decorator.
+ std::vector< Texture > textures;
+
+ friend class Factory;
+};
+
+}
+}
+
+#endif
diff --git source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/DecoratorInstancer.h source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/DecoratorInstancer.h
new file mode 100644
index 0000000..1f06e83
--- /dev/null
+++ source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/DecoratorInstancer.h
@@ -0,0 +1,94 @@
+/*
+ * This source file is part of libRocket, the HTML/CSS Interface Middleware
+ *
+ * For the latest information, see http://www.librocket.com
+ *
+ * Copyright (c) 2008-2010 CodePoint Ltd, Shift Technology Ltd
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ *
+ */
+
+#ifndef ROCKETCOREDECORATORINSTANCER_H
+#define ROCKETCOREDECORATORINSTANCER_H
+
+#include <Rocket/Core/ReferenceCountable.h>
+#include <Rocket/Core/Header.h>
+#include <Rocket/Core/PropertyDictionary.h>
+#include <Rocket/Core/PropertySpecification.h>
+
+namespace Rocket {
+namespace Core {
+
+class Decorator;
+
+/**
+ An element instancer provides a method for allocating and deallocating decorators.
+
+ It is important at the same instancer that allocated a decorator releases it. This ensures there are no issues with
+ memory from different DLLs getting mixed up.
+
+ @author Peter Curry
+ */
+
+class ROCKETCORE_API DecoratorInstancer : public ReferenceCountable
+{
+public:
+ DecoratorInstancer();
+ virtual ~DecoratorInstancer();
+
+ /// Instances a decorator given the property tag and attributes from the RCSS file.
+ /// @param[in] name The type of decorator desired. For example, "background-decorator: simple;" is declared as type "simple".
+ /// @param[in] properties All RCSS properties associated with the decorator.
+ /// @return The decorator if it was instanced successfully, NULL if an error occured.
+ virtual Decorator* InstanceDecorator(const String& name, const PropertyDictionary& properties) = 0;
+ /// Releases the given decorator.
+ /// @param[in] decorator Decorator to release. This is guaranteed to have been constructed by this instancer.
+ virtual void ReleaseDecorator(Decorator* decorator) = 0;
+
+ /// Releases the instancer.
+ virtual void Release() = 0;
+
+ /// Returns the property specification associated with the instancer.
+ const PropertySpecification& GetPropertySpecification() const;
+
+protected:
+ /// Registers a property for the decorator.
+ /// @param[in] property_name The name of the new property (how it is specified through RCSS).
+ /// @param[in] default_value The default value to be used.
+ /// @return The new property definition, ready to have parsers attached.
+ PropertyDefinition& RegisterProperty(const String& property_name, const String& default_value);
+ /// Registers a shorthand property definition.
+ /// @param[in] shorthand_name The name to register the new shorthand property under.
+ /// @param[in] properties A comma-separated list of the properties this definition is shorthand for. The order in which they are specified here is the order in which the values will be processed.
+ /// @param[in] type The type of shorthand to declare.
+ /// @param True if all the property names exist, false otherwise.
+ bool RegisterShorthand(const String& shorthand_name, const String& property_names, PropertySpecification::ShorthandType type = PropertySpecification::AUTO);
+
+ // Releases the instancer.
+ virtual void OnReferenceDeactivate();
+
+private:
+ PropertySpecification properties;
+};
+
+}
+}
+
+#endif
diff --git source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/Dictionary.h source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/Dictionary.h
new file mode 100644
index 0000000..b298139
--- /dev/null
+++ source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/Dictionary.h
@@ -0,0 +1,151 @@
+/*
+ * This source file is part of libRocket, the HTML/CSS Interface Middleware
+ *
+ * For the latest information, see http://www.librocket.com
+ *
+ * Copyright (c) 2008-2010 CodePoint Ltd, Shift Technology Ltd
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ *
+ */
+
+#ifndef ROCKETCOREDICTIONARY_H
+#define ROCKETCOREDICTIONARY_H
+
+#include <Rocket/Core/Header.h>
+#include <Rocket/Core/Variant.h>
+
+namespace Rocket {
+namespace Core {
+
+/**
+ A dictionay is a container of variants.
+ It uses a hash table to maintain a string key to variant mapping.
+
+ @author Lloyd Weehuizen
+ */
+
+class ROCKETCORE_API Dictionary
+{
+public:
+ Dictionary();
+ Dictionary(const Dictionary &dict);
+ ~Dictionary();
+
+ /// Store an item in the dictionary
+ void Set(const String& key, const Variant &value);
+
+ /// Templated set eases setting of values
+ template <typename T>
+ inline void Set(const String& key, const T& value);
+
+ /// Get an item from the dictionary
+ Variant* Get(const String& key) const;
+ Variant* operator[](const String& key) const;
+
+ /// Get a value from the dictionary, if it doesn't exist
+ /// use the supplied default value
+ template <typename T>
+ inline T Get(const String& key, const T& default_val) const;
+
+ /// Get a value from the dictionary, returns if the
+ /// value was found or not.
+ template <typename T>
+ inline bool GetInto(const String& key, T& value) const;
+
+ /// Remove an item from the dictionary
+ bool Remove(const String& key);
+
+ /// Iterate through a dictionary
+ bool Iterate(int &pos, String& key, Variant* &value) const;
+ template <typename T>
+ bool Iterate(int &pos, String& key, T& value) const;
+
+ /// Reserve the specified number of entries in the dictionary
+ bool Reserve(int size);
+
+ /// Empty the dictionary
+ void Clear();
+
+ /// Is the dictionary empty?
+ bool IsEmpty() const;
+
+ /// Items in the dict
+ int Size() const;
+
+ /// Merges another dictionary into this one. Any existing values stored against similar keys will be updated.
+ void Merge(const Dictionary& dict);
+
+ // Copy
+ void operator=(const Dictionary &dict);
+
+private:
+ unsigned int num_full; // Active + # Dummy
+ unsigned int num_used; // Active
+
+ /* DICTIONARY_MINSIZE is the minimum size of a dictionary. This many slots are
+ * allocated directly in the dict object (in the small_table member).
+ * It must be a power of 2, and at least 4. 8 allows dicts with no more
+ * than 5 active entries to live in small_table (and so avoid an
+ * additional malloc); instrumentation suggested this suffices for the
+ * majority of dicts (consisting mostly of usually-small instance dicts and
+ * usually-small dicts created to pass keyword arguments).
+ */
+ static const int DICTIONARY_MINSIZE = 8;
+
+ // Individual entry in a dictionary
+ struct DictionaryEntry
+ {
+ DictionaryEntry() : hash(0) {}
+ Hash hash; // Cached hash of key
+ String key; // key in plain text
+ Variant value; // Value for this entry
+ };
+
+ /* The table contains mask + 1 slots, and that's a power of 2.
+ * We store the mask instead of the size because the mask is more
+ * frequently needed.
+ */
+ unsigned int mask;
+
+ // Small dictionaries just use this, saves mallocs for small tables
+ DictionaryEntry small_table[DICTIONARY_MINSIZE];
+
+ /// Pointer to table in use, may be malloc'd or may point to smallTable
+ DictionaryEntry* table;
+
+ /// Insert an item
+ void Insert(const String& key, Hash hash, const Variant& value);
+
+ /// Retrieve an item
+ DictionaryEntry* Retrieve(const String& key, Hash hash) const;
+
+ /// Reset to small dictionary
+ void ResetToMinimumSize();
+
+ // Copy another dict
+ void Copy(const Dictionary &dict);
+};
+
+#include <Rocket/Core/Dictionary.inl>
+
+}
+}
+
+#endif
diff --git source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/Dictionary.inl source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/Dictionary.inl
new file mode 100644
index 0000000..c7d28aa
--- /dev/null
+++ source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/Dictionary.inl
@@ -0,0 +1,63 @@
+/*
+ * This source file is part of libRocket, the HTML/CSS Interface Middleware
+ *
+ * For the latest information, see http://www.librocket.com
+ *
+ * Copyright (c) 2008-2010 CodePoint Ltd, Shift Technology Ltd
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ *
+ */
+
+template< typename T >
+inline void Dictionary::Set(const String& key, const T& value)
+{
+ Set(key, Variant(value));
+}
+
+template< typename T >
+inline T Dictionary::Get(const String& key, const T& default_value) const
+{
+ T value;
+ if (!GetInto(key, value))
+ return default_value;
+
+ return value;
+}
+
+
+template <typename T>
+inline bool Dictionary::GetInto(const String& key, T& value) const
+{
+ Variant* variant = Get(key);
+ if (!variant)
+ return false;
+
+ return variant->GetInto<T>(value);
+}
+
+template <typename T>
+inline bool Dictionary::Iterate(int &pos, String& key, T& value) const
+{
+ Variant* variant;
+ bool iterate = Iterate(pos, key, variant);
+ if (iterate)
+ variant->GetInto(value);
+ return iterate;
+}
diff --git source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/Element.h source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/Element.h
new file mode 100644
index 0000000..d4288d8
--- /dev/null
+++ source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/Element.h
@@ -0,0 +1,686 @@
+/*
+ * This source file is part of libRocket, the HTML/CSS Interface Middleware
+ *
+ * For the latest information, see http://www.librocket.com
+ *
+ * Copyright (c) 2008-2010 CodePoint Ltd, Shift Technology Ltd
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ *
+ */
+
+#ifndef ROCKETCOREELEMENT_H
+#define ROCKETCOREELEMENT_H
+
+#include <Rocket/Core/ReferenceCountable.h>
+#include <Rocket/Core/ScriptInterface.h>
+#include <Rocket/Core/Header.h>
+#include <Rocket/Core/Box.h>
+#include <Rocket/Core/Event.h>
+#include <Rocket/Core/Property.h>
+#include <Rocket/Core/Types.h>
+
+namespace Rocket {
+namespace Core {
+ class Dictionary;
+}
+}
+
+namespace Rocket {
+namespace Core {
+
+class Context;
+class Decorator;
+class ElementInstancer;
+class EventDispatcher;
+class EventListener;
+class ElementBackground;
+class ElementBorder;
+class ElementDecoration;
+class ElementDefinition;
+class ElementDocument;
+class ElementScroll;
+class ElementStyle;
+class FontFaceHandle;
+class PropertyDictionary;
+class RenderInterface;
+class StyleSheet;
+
+/**
+ A generic element in the DOM tree.
+
+ @author Peter Curry
+ */
+
+class ROCKETCORE_API Element : public ScriptInterface
+{
+public:
+ /// Constructs a new libRocket element. This should not be called directly; use the Factory
+ /// instead.
+ /// @param[in] tag The tag the element was declared as in RML.
+ Element(const String& tag);
+ virtual ~Element();
+
+ void Update();
+ void Render();
+
+ /// Clones this element, returning a new, unparented element.
+ Element* Clone() const;
+
+ /** @name Classes
+ */
+ //@{
+ /// Sets or removes a class on the element.
+ /// @param[in] class_name The name of the class to add or remove from the class list.
+ /// @param[in] activate True if the class is to be added, false to be removed.
+ void SetClass(const String& class_name, bool activate);
+ /// Checks if a class is set on the element.
+ /// @param[in] class_name The name of the class to check for.
+ /// @return True if the class is set on the element, false otherwise.
+ bool IsClassSet(const String& class_name) const;
+ /// Specifies the entire list of classes for this element. This will replace any others specified.
+ /// @param[in] class_names The list of class names to set on the style, separated by spaces.
+ void SetClassNames(const String& class_names);
+ /// Return the active class list.
+ /// @return The space-separated list of classes active on the element.
+ String GetClassNames() const;
+ //@}
+
+ /// Returns the active style sheet for this element. This may be NULL.
+ /// @return The element's style sheet.
+ virtual StyleSheet* GetStyleSheet() const;
+
+ /// Returns the element's definition, updating if necessary.
+ /// @return The element's definition.
+ const ElementDefinition* GetDefinition();
+
+ /// Fills a string with the full address of this element.
+ /// @param[in] include_pseudo_classes True if the address is to include the pseudo-classes of the leaf element.
+ /// @return The address of the element, including its full parentage.
+ String GetAddress(bool include_pseudo_classes = false) const;
+
+ /// Sets the position of this element, as a two-dimensional offset from another element.
+ /// @param[in] offset The offset (in pixels) of our primary box's top-left border corner from our offset parent's top-left border corner.
+ /// @param[in] offset_parent The element this element is being positioned relative to.
+ /// @param[in] offset_fixed True if the element is fixed in place (and will not scroll), false if not.
+ void SetOffset(const Vector2f& offset, Element* offset_parent, bool offset_fixed = false);
+ /// Returns the position of the top-left corner of one of the areas of this element's primary box, relative to its
+ /// offset parent's top-left border corner.
+ /// @param[in] area The desired area position.
+ /// @return The relative offset.
+ Vector2f GetRelativeOffset(Box::Area area = Box::CONTENT);
+ /// Returns the position of the top-left corner of one of the areas of this element's primary box, relative to
+ /// the element root.
+ /// @param[in] area The desired area position.
+ /// @return The absolute offset.
+ Vector2f GetAbsoluteOffset(Box::Area area = Box::CONTENT);
+
+ /// Sets an alternate area to use as the client area.
+ /// @param[in] client_area The box area to use as the element's client area.
+ void SetClientArea(Box::Area client_area);
+ /// Returns the area the element uses as its client area.
+ /// @return The box area used as the element's client area.
+ Box::Area GetClientArea() const;
+
+ /// Sets the dimensions of the element's internal content. This is the tightest fitting box surrounding all of
+ /// this element's logical children, plus the element's padding.
+ /// @param[in] content_offset The offset of the box's internal content.
+ /// @param[in] content_box The dimensions of the box's internal content.
+ void SetContentBox(const Vector2f& content_offset, const Vector2f& content_box);
+ /// Sets the box describing the size of the element, and removes all others.
+ /// @param[in] box The new dimensions box for the element.
+ void SetBox(const Box& box);
+ /// Adds a box to the end of the list describing this element's geometry.
+ /// @param[in] box The auxiliary box for the element.
+ void AddBox(const Box& box);
+ /// Returns one of the boxes describing the size of the element.
+ /// @param[in] index The index of the desired box. If this is outside of the bounds of the element's list of boxes, it will be clamped.
+ /// @return The requested box.
+ const Box& GetBox(int index = 0);
+ /// Returns the number of boxes making up this element's geometry.
+ /// @return the number of boxes making up this element's geometry.
+ int GetNumBoxes();
+
+ /// Returns the baseline of the element, in pixels offset from the bottom of the element's content area.
+ /// @return The element's baseline. A negative baseline will be further 'up' the element, a positive on further 'down'. The default element will return 0.
+ virtual float GetBaseline() const;
+ /// Gets the intrinsic dimensions of this element, if it is of a type that has an inherent size. This size will
+ /// only be overriden by a styled width or height.
+ /// @param[in] dimensions The dimensions to size, if appropriate.
+ /// @return True if the element has intrinsic dimensions, false otherwise. The default element will return false.
+ virtual bool GetIntrinsicDimensions(Vector2f& dimensions);
+
+ /// Checks if a given point in screen coordinates lies within the bordered area of this element.
+ /// @param[in] point The point to test.
+ /// @return True if the element is within this element, false otherwise.
+ virtual bool IsPointWithinElement(const Vector2f& point);
+
+ /// Returns the visibility of the element.
+ /// @return True if the element is visible, false otherwise.
+ bool IsVisible() const;
+ /// Returns the z-index of the element.
+ /// @return The element's z-index.
+ float GetZIndex() const;
+
+ /// Returns the element's font face handle.
+ /// @return The element's font face handle.
+ FontFaceHandle* GetFontFaceHandle() const;
+
+ /** @name Properties
+ */
+ //@{
+ /// Sets a local property override on the element.
+ /// @param[in] name The name of the new property.
+ /// @param[in] value The new property to set.
+ /// @return True if the property parsed successfully, false otherwise.
+ bool SetProperty(const String& name, const String& value);
+ /// Sets a local property override on the element to a pre-parsed value.
+ /// @param[in] name The name of the new property.
+ /// @param[in] property The parsed property to set.
+ /// @return True if the property was set successfully, false otherwise.
+ bool SetProperty(const String& name, const Property& property);
+ /// Removes a local property override on the element; its value will revert to that defined in
+ /// the style sheet.
+ /// @param[in] name The name of the local property definition to remove.
+ void RemoveProperty(const String& name);
+ /// Returns one of this element's properties. If this element is not defined this property, or a parent cannot
+ /// be found that we can inherit the property from, the default value will be returned.
+ /// @param[in] name The name of the property to fetch the value for.
+ /// @return The value of this property for this element, or NULL if no property exists with the given name.
+ const Property* GetProperty(const String& name);
+ /// Returns the values of one of this element's properties.
+ /// @param[in] name The name of the property to get.
+ /// @return The value of this property.
+ template < typename T >
+ T GetProperty(const String& name);
+ /// Returns one of this element's properties. If this element is not defined this property, NULL will be
+ /// returned.
+ /// @param[in] name The name of the property to fetch the value for.
+ /// @return The value of this property for this element, or NULL if this property has not been explicitly defined for this element.
+ const Property* GetLocalProperty(const String& name);
+ /// Resolves one of this element's properties. If the value is a number or px, this is returned. If it's a
+ /// percentage then it is resolved based on the second argument (the base value).
+ /// @param[in] name The name of the property to resolve the value for.
+ /// @param[in] base_value The value that is scaled by the percentage value, if it is a percentage.
+ /// @return The value of this property for this element.
+ float ResolveProperty(const String& name, float base_value);
+
+ /// Iterates over the properties defined on this element.
+ /// @param[inout] index Index of the property to fetch. This is incremented to the next valid index after the fetch. Indices are not necessarily incremental.
+ /// @param[out] pseudo_classes The pseudo-classes the property is defined by.
+ /// @param[out] name The name of the property at the specified index.
+ /// @param[out] property The property at the specified index.
+ /// @return True if a property was successfully fetched.
+ bool IterateProperties(int& index, PseudoClassList& pseudo_classes, String& name, const Property*& property) const;
+ ///@}
+
+ /** @name Pseudo-classes
+ */
+ //@{
+ /// Sets or removes a pseudo-class on the element.
+ /// @param[in] pseudo_class The pseudo class to activate or deactivate.
+ /// @param[in] activate True if the pseudo-class is to be activated, false to be deactivated.
+ void SetPseudoClass(const String& pseudo_class, bool activate);
+ /// Checks if a specific pseudo-class has been set on the element.
+ /// @param[in] pseudo_class The name of the pseudo-class to check for.
+ /// @return True if the pseudo-class is set on the element, false if not.
+ bool IsPseudoClassSet(const String& pseudo_class) const;
+ /// Checks if a complete set of pseudo-classes are set on the element.
+ /// @param[in] pseudo_classes The set of pseudo-classes to check for.
+ /// @return True if all of the pseudo-classes are set, false if not.
+ bool ArePseudoClassesSet(const PseudoClassList& pseudo_classes) const;
+ /// Gets a list of the current active pseudo-classes.
+ /// @return The list of active pseudo-classes.
+ const PseudoClassList& GetActivePseudoClasses() const;
+ //@}
+
+ /** @name Attributes
+ */
+ //@{
+ /// Sets an attribute on the element.
+ /// @param[in] name Name of the attribute.
+ /// @param[in] value Value of the attribute.
+ template< typename T >
+ void SetAttribute(const String& name, const T& value);
+ /// Gets the specified attribute.
+ /// @param[in] name Name of the attribute to retrieve.
+ /// @return A variant representing the attribute, or NULL if the attribute doesn't exist.
+ Variant* GetAttribute(const String& name) const;
+ /// Gets the specified attribute, with default value.
+ /// @param[in] name Name of the attribute to retrieve.
+ /// @param[in] default_value Value to return if the attribute doesn't exist.
+ template< typename T >
+ T GetAttribute(const String& name, const T& default_value) const;
+ /// Checks if the element has a certain attribute.
+ /// @param[in] name The name of the attribute to check for.
+ /// @return True if the element has the given attribute, false if not.
+ bool HasAttribute(const String& name);
+ /// Removes the attribute from the element.
+ /// @param[in] name Name of the attribute.
+ void RemoveAttribute(const String& name);
+ /// Set a group of attributes.
+ /// @param[in] attributes Attributes to set.
+ void SetAttributes(const ElementAttributes* attributes);
+ /// Iterates over the attributes.
+ /// @param[inout] index Index to fetch. This is incremented after the fetch.
+ /// @param[out] name Name of the attribute at the specified index
+ /// @param[out] value Value of the attribute at the specified index.
+ /// @return True if an attribute was successfully fetched.
+ template< typename T >
+ bool IterateAttributes(int& index, String& name, T& value) const;
+ /// Returns the number of attributes on the element.
+ /// @return The number of attributes on the element.
+ int GetNumAttributes() const;
+ //@}
+
+ /** @name Decorators
+ */
+ //@{
+ /// Iterates over all decorators attached to the element. Note that all decorators are iterated
+ /// over, not just active ones.
+ /// @param[inout] index Index to fetch. This is incremented after the fetch.
+ /// @param[out] pseudo_classes The pseudo-classes the decorator required to be active before it renders.
+ /// @param[out] name The name of the decorator at the specified index.
+ /// @param[out] decorator The decorator at the specified index.
+ /// @param[out] decorator_data This element's handle to any data is has stored against the decorator.
+ /// @return True if a decorator was successfully fetched, false if not.
+ bool IterateDecorators(int& index, PseudoClassList& pseudo_classes, String& name, Decorator*& decorator, DecoratorDataHandle& decorator_data);
+ //@}
+
+ /// Gets the outer-most focus element down the tree from this node.
+ /// @return Outer-most focus element.
+ Element* GetFocusLeafNode();
+
+ /// Returns the element's context.
+ /// @return The context this element's document exists within.
+ Context* GetContext();
+
+ /** @name DOM Properties
+ */
+ //@{
+
+ /// Gets the name of the element.
+ /// @return The name of the element.
+ const String& GetTagName() const;
+
+ /// Gets the id of the element.
+ /// @return The element's id.
+ const String& GetId() const;
+ /// Sets the id of the element.
+ /// @param[in] id The new id of the element.
+ void SetId(const String& id);
+
+ /// Gets the horizontal offset from the context's left edge to element's left border edge.
+ /// @return The horizontal offset of the element within its context, in pixels.
+ float GetAbsoluteLeft();
+ /// Gets the vertical offset from the context's top edge to element's top border edge.
+ /// @return The vertical offset of the element within its context, in pixels.
+ float GetAbsoluteTop();
+
+ /// Gets the horizontal offset from the element's left border edge to the left edge of its client area. This is
+ /// usually the edge of the padding, but may be the content area for some replaced elements.
+ /// @return The horizontal offset of the element's client area, in pixels.
+ float GetClientLeft();
+ /// Gets the vertical offset from the element's top border edge to the top edge of its client area. This is
+ /// usually the edge of the padding, but may be the content area for some replaced elements.
+ /// @return The vertical offset of the element's client area, in pixels.
+ float GetClientTop();
+ /// Gets the width of the element's client area. This is usually the padded area less the vertical scrollbar
+ /// width, but may be the content area for some replaced elements.
+ /// @return The width of the element's client area, usually including padding but not the vertical scrollbar width, border or margin.
+ float GetClientWidth();
+ /// Gets the height of the element's client area. This is usually the padded area less the horizontal scrollbar
+ /// height, but may be the content area for some replaced elements.
+ /// @return The inner height of the element, usually including padding but not the horizontal scrollbar height, border or margin.
+ float GetClientHeight();
+
+ /// Returns the element from which all offset calculations are currently computed.
+ /// @return This element's offset parent.
+ Element* GetOffsetParent();
+ /// Gets the distance from this element's left border to its offset parent's left border.
+ /// @return The horizontal distance (in pixels) from this element's offset parent to itself.
+ float GetOffsetLeft();
+ /// Gets the distance from this element's top border to its offset parent's top border.
+ /// @return The vertical distance (in pixels) from this element's offset parent to itself.
+ float GetOffsetTop();
+ /// Gets the width of the element, including the client area, padding, borders and scrollbars, but not margins.
+ /// @return The width of the rendered element, in pixels.
+ float GetOffsetWidth();
+ /// Gets the height of the element, including the client area, padding, borders and scrollbars, but not margins.
+ /// @return The height of the rendered element, in pixels.
+ float GetOffsetHeight();
+
+ /// Gets the left scroll offset of the element.
+ /// @return The element's left scroll offset.
+ float GetScrollLeft();
+ /// Sets the left scroll offset of the element.
+ /// @param[in] scroll_left The element's new left scroll offset.
+ void SetScrollLeft(float scroll_left);
+ /// Gets the top scroll offset of the element.
+ /// @return The element's top scroll offset.
+ float GetScrollTop();
+ /// Sets the top scroll offset of the element.
+ /// @param[in] scroll_top The element's new top scroll offset.
+ void SetScrollTop(float scroll_top);
+ /// Gets the width of the scrollable content of the element; it includes the element padding but not its margin.
+ /// @return The width (in pixels) of the of the scrollable content of the element.
+ float GetScrollWidth();
+ /// Gets the height of the scrollable content of the element; it includes the element padding but not its margin.
+ /// @return The height (in pixels) of the of the scrollable content of the element.
+ float GetScrollHeight();
+
+ /// Gets the object representing the declarations of an element's style attributes.
+ /// @return The element's style.
+ ElementStyle* GetStyle();
+
+ /// Gets the document this element belongs to.
+ /// @return This element's document.
+ virtual ElementDocument* GetOwnerDocument();
+
+ /// Gets this element's parent node.
+ /// @return This element's parent.
+ Element* GetParentNode() const;
+
+ /// Gets the element immediately following this one in the tree.
+ /// @return This element's next sibling element, or NULL if there is no sibling element.
+ Element* GetNextSibling() const;
+ /// Gets the element immediately preceding this one in the tree.
+ /// @return This element's previous sibling element, or NULL if there is no sibling element.
+ Element* GetPreviousSibling() const;
+
+ /// Returns the first child of this element.
+ /// @return This element's first child, or NULL if it contains no children.
+ Element* GetFirstChild() const;
+ /// Gets the last child of this element.
+ /// @return This element's last child, or NULL if it contains no children.
+ Element* GetLastChild() const;
+ /// Get the child element at the given index.
+ /// @param[in] index Index of child to get.
+ /// @return The child element at the given index.
+ Element* GetChild(int index) const;
+ /// Get the current number of children in this element
+ /// @param[in] include_non_dom_elements True if the caller wants to include the non DOM children. Only set this to true if you know what you're doing!
+ /// @return The number of children.
+ int GetNumChildren(bool include_non_dom_elements = false) const;
+
+ /// Gets the markup and content of the element.
+ /// @param[out] content The content of the element.
+ virtual void GetInnerRML(String& content) const;
+ /// Gets the markup and content of the element.
+ /// @return The content of the element.
+ String GetInnerRML() const;
+ /// Sets the markup and content of the element. All existing children will be replaced.
+ /// @param[in] rml The new content of the element.
+ void SetInnerRML(const String& rml);
+
+ //@}
+
+ /** @name DOM Methods
+ */
+ //@{
+
+ /// Gives focus to the current element.
+ /// @return True if the change focus request was successful
+ bool Focus();
+ /// Removes focus from from this element.
+ void Blur();
+ /// Fakes a mouse click on this element.
+ void Click();
+
+ /// Adds an event listener to this element.
+ /// @param[in] event Event to attach to.
+ /// @param[in] listener The listener object to be attached.
+ /// @param[in] in_capture_phase True to attach in the capture phase, false in bubble phase.
+ void AddEventListener(const String& event, EventListener* listener, bool in_capture_phase = false);
+ /// Removes an event listener from this element.
+ /// @param[in] event Event to detach from.
+ /// @param[in] listener The listener object to be detached.
+ /// @param[in] in_capture_phase True to detach from the capture phase, false from the bubble phase.
+ void RemoveEventListener(const String& event, EventListener* listener, bool in_capture_phase = false);
+ /// Sends an event to this element.
+ /// @param[in] event Name of the event in string form.
+ /// @param[in] parameters The event parameters.
+ /// @param[in] interruptible True if the propagation of the event be stopped.
+ /// @return True if the event was not consumed (ie, was prevented from propagating by an element), false if it was.
+ bool DispatchEvent(const String& event, const Dictionary& parameters, bool interruptible = false);
+
+ /// Scrolls the parent element's contents so that this element is visible.
+ /// @param[in] align_with_top If true, the element will align itself to the top of the parent element's window. If false, the element will be aligned to the bottom of the parent element's window.
+ void ScrollIntoView(bool align_with_top = true);
+
+ /// Append a child to this element.
+ /// @param[in] element The element to append as a child.
+ /// @param[in] dom_element True if the element is to be part of the DOM, false otherwise. Only set this to false if you know what you're doing!
+ void AppendChild(Element* element, bool dom_element = true);
+ /// Adds a child to this element, directly after the adjacent element. The new element inherits the DOM/non-DOM
+ /// status from the adjacent element.
+ /// @param[in] element Element to insert into the this element.
+ /// @param[in] adjacent_element The element to insert directly before.
+ void InsertBefore(Element* element, Element* adjacent_element);
+ /// Replaces the second node with the first node.
+ /// @param[in] inserted_element The element that will be inserted and replace the other element.
+ /// @param[in] replaced_element The existing element that will be replaced. If this doesn't exist, inserted_element will be appended.
+ /// @return True if the replaced_element was found, false otherwise.
+ bool ReplaceChild(Element* inserted_element, Element* replaced_element);
+ /// Remove a child element from this element.
+ /// @param[in] The element to remove.
+ /// @returns True if the element was found and removed.
+ bool RemoveChild(Element* element);
+ /// Returns whether or not this element has any DOM children.
+ /// @return True if the element has at least one DOM child, false otherwise.
+ bool HasChildNodes() const;
+
+ /// Get a child element by its ID.
+ /// @param[in] id Id of the the child element
+ /// @return The child of this element with the given ID, or NULL if no such child exists.
+ Element* GetElementById(const String& id);
+ /// Get all descendant elements with the given tag.
+ /// @param[out] elements Resulting elements.
+ /// @param[in] tag Tag to search for.
+ void GetElementsByTagName(ElementList& elements, const String& tag);
+ /// Get all descendant elements with the given class set on them.
+ /// @param[out] elements Resulting elements.
+ /// @param[in] tag Tag to search for.
+ void GetElementsByClassName(ElementList& elements, const String& class_name);
+ //@}
+
+ /**
+ @name Internal Functions
+ */
+ //@{
+ /// Access the event dispatcher for this element.
+ /// @return The element's dispatcher.
+ EventDispatcher* GetEventDispatcher() const;
+ /// Access the element background.
+ /// @return The element's background.
+ ElementBackground* GetElementBackground() const;
+ /// Access the element border.
+ /// @return The element's boder.
+ ElementBorder* GetElementBorder() const;
+ /// Access the element decorators.
+ /// @return The element decoration.
+ ElementDecoration* GetElementDecoration() const;
+ /// Returns the element's scrollbar functionality.
+ /// @return The element's scrolling functionality.
+ ElementScroll* GetElementScroll() const;
+ //@}
+
+ /// Returns true if this element requires clipping
+ int GetClippingIgnoreDepth();
+ /// Returns true if this element has clipping enabled
+ bool IsClippingEnabled();
+
+ /// Gets the render interface owned by this element's context.
+ /// @return The element's context's render interface.
+ RenderInterface* GetRenderInterface();
+
+ /// Sets the instancer to use for releasing this element.
+ /// @param[in] instancer Instancer to set on this element.
+ void SetInstancer(ElementInstancer* instancer);
+
+ /// Called for every event sent to this element or one of its descendants.
+ /// @param[in] event The event to process.
+ virtual void ProcessEvent(Event& event);
+
+ /// Update the element's layout if required.
+ void UpdateLayout();
+
+protected:
+ /// Forces the element to generate a local stacking context, regardless of the value of its z-index
+ /// property.
+ void ForceLocalStackingContext();
+
+ /// Called during the update loop after children are updated.
+ virtual void OnUpdate();
+ /// Called during render after backgrounds, borders, decorators, but before children, are rendered.
+ virtual void OnRender();
+
+ /// Called during a layout operation, when the element is being positioned and sized.
+ virtual void OnLayout();
+
+ /// Called when attributes on the element are changed.
+ /// @param[in] changed_attributes The attributes changed on the element.
+ virtual void OnAttributeChange(const AttributeNameList& changed_attributes);
+ /// Called when properties on the element are changed.
+ /// @param[in] changed_properties The properties changed on the element.
+ virtual void OnPropertyChange(const PropertyNameList& changed_properties);
+
+ /// Called when a child node has been added somewhere in the hierarchy.
+ // @param[in] child The element that has been added. This may be this element.
+ virtual void OnChildAdd(Element* child);
+ /// Called when a child node has been removed somewhere in the hierarchy.
+ // @param[in] child The element that has been removed. This may be this element.
+ virtual void OnChildRemove(Element* child);
+
+ /// Forces a re-layout of this element, and any other elements required.
+ virtual void DirtyLayout();
+
+ /// Forces a reevaluation of applicable font effects.
+ virtual void DirtyFont();
+
+ /// Returns the RML of this element and all children.
+ /// @param[out] content The content of this element and those under it, in XML form.
+ virtual void GetRML(String& content);
+
+ virtual void OnReferenceDeactivate();
+
+private:
+ void SetParent(Element* parent);
+
+ void ReleaseDeletedElements();
+ void ReleaseElements(ElementList& elements);
+
+ void DirtyOffset();
+ void UpdateOffset();
+
+ void BuildLocalStackingContext();
+ void BuildStackingContext(ElementList* stacking_context);
+ void DirtyStackingContext();
+
+ void DirtyStructure();
+
+ // Original tag this element came from.
+ String tag;
+
+ // The optional, unique ID of this object.
+ String id;
+
+ // Instancer that created us, used for destruction.
+ ElementInstancer* instancer;
+
+ // Parent element.
+ Element* parent;
+ // Currently focused child object
+ Element* focus;
+ // The owning document
+ ElementDocument* owner_document;
+
+ // The event dispatcher for this element.
+ EventDispatcher* event_dispatcher;
+ // Style information for this element.
+ ElementStyle* style;
+ // Background functionality for this element.
+ ElementBackground* background;
+ // Border functionality for this element.
+ ElementBorder* border;
+ // Decorator information for this element.
+ ElementDecoration* decoration;
+ // Scrollbar information for this element.
+ ElementScroll* scroll;
+ // Attributes on this element.
+ ElementAttributes attributes;
+
+ // The offset of the element, and the element it is offset from.
+ Element* offset_parent;
+ Vector2f relative_offset_base; // the base offset from the parent
+ Vector2f relative_offset_position; // the offset of a relatively positioned element
+ bool offset_fixed;
+
+ mutable Vector2f absolute_offset;
+ mutable bool offset_dirty;
+
+ // The offset this element adds to its logical children due to scrolling content.
+ Vector2f scroll_offset;
+
+ // The size of the element.
+ typedef std::vector< Box > BoxList;
+ BoxList boxes;
+ // And of the element's internal content.
+ Vector2f content_offset;
+ Vector2f content_box;
+
+ // Defines what box area represents the element's client area; this is usually padding, but may be content.
+ Box::Area client_area;
+
+ // True if the element is visible and active.
+ bool visible;
+
+ ElementList children;
+ int num_non_dom_children;
+
+ ElementList active_children;
+ ElementList deleted_children;
+
+ float z_index;
+ bool local_stacking_context;
+ bool local_stacking_context_forced;
+
+ ElementList stacking_context;
+ bool stacking_context_dirty;
+
+ // The element's font face; used to render text and resolve em / ex properties.
+ FontFaceHandle* font_face_handle;
+
+ // Cached rendering information
+ int clipping_ignore_depth;
+ bool clipping_enabled;
+ bool clipping_state_dirty;
+
+ friend class Context;
+ friend class ElementStyle;
+ friend class LayoutEngine;
+ friend class LayoutInlineBox;
+};
+
+#include <Rocket/Core/Element.inl>
+
+}
+}
+
+#endif
diff --git source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/Element.inl source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/Element.inl
new file mode 100644
index 0000000..453b859
--- /dev/null
+++ source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/Element.inl
@@ -0,0 +1,61 @@
+/*
+ * This source file is part of libRocket, the HTML/CSS Interface Middleware
+ *
+ * For the latest information, see http://www.librocket.com
+ *
+ * Copyright (c) 2008-2010 CodePoint Ltd, Shift Technology Ltd
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ *
+ */
+
+// Returns the values of one of this element's properties.
+// We can assume the property will exist based on the RCSS inheritance.
+template < typename T >
+T Element::GetProperty(const String& name)
+{
+ const Property* property = GetProperty(name);
+ ROCKET_ASSERTMSG(property, "Invalid property name.");
+ return property->Get< T >();
+}
+
+// Sets an attribute on the element.
+template< typename T >
+void Element::SetAttribute(const String& name, const T& value)
+{
+ attributes.Set(name, value);
+ AttributeNameList changed_attributes;
+ changed_attributes.insert(name);
+
+ OnAttributeChange(changed_attributes);
+}
+
+// Gets the specified attribute, with default value.
+template< typename T >
+T Element::GetAttribute(const String& name, const T& default_value) const
+{
+ return attributes.Get(name, default_value);
+}
+
+// Iterates over the attributes.
+template< typename T >
+bool Element::IterateAttributes(int& index, String& name, T& value) const
+{
+ return attributes.Iterate(index, name, value);
+}
diff --git source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/ElementDocument.h source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/ElementDocument.h
new file mode 100644
index 0000000..406c2d1
--- /dev/null
+++ source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/ElementDocument.h
@@ -0,0 +1,183 @@
+/*
+ * This source file is part of libRocket, the HTML/CSS Interface Middleware
+ *
+ * For the latest information, see http://www.librocket.com
+ *
+ * Copyright (c) 2008-2010 CodePoint Ltd, Shift Technology Ltd
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ *
+ */
+
+#ifndef ROCKETCOREELEMENTDOCUMENT_H
+#define ROCKETCOREELEMENTDOCUMENT_H
+
+#include <Rocket/Core/Element.h>
+
+namespace Rocket {
+namespace Core {
+
+class Stream;
+
+}
+}
+
+namespace Rocket {
+namespace Core {
+
+class Context;
+class DocumentHeader;
+class ElementText;
+class StyleSheet;
+
+/**
+ Represents a document in the dom tree.
+
+ @author Lloyd Weehuizen
+ */
+
+class ROCKETCORE_API ElementDocument : public Element
+{
+public:
+ ElementDocument(const String& tag);
+ virtual ~ElementDocument();
+
+ /// Process given document header
+ void ProcessHeader(const DocumentHeader* header);
+
+ /// Returns itself as the current document
+ virtual ElementDocument* GetOwnerDocument();
+
+ /// Returns the document's context.
+ /// @return The context this document exists within.
+ Context* GetContext();
+
+ /// Sets the document's title.
+ /// @param[in] title The new title of the document.
+ void SetTitle(const String& title);
+ /// Returns the title of this document.
+ /// @return The document's title.
+ const String& GetTitle() const;
+
+ /// Returns the source address of this document.
+ /// @return The source of this document, usually a file name.
+ const String& GetSourceURL() const;
+
+ /// Sets the style sheet this document, and all of its children, uses.
+ /// @param[in] style_sheet The style sheet to set on the document.
+ void SetStyleSheet(StyleSheet* style_sheet);
+ /// Returns the document's style sheet.
+ /// @return The document's style sheet.
+ virtual StyleSheet* GetStyleSheet() const;
+
+ /// Brings the document to the front of the document stack.
+ void PullToFront();
+ /// Sends the document to the back of the document stack.
+ void PushToBack();
+
+ /**
+ Flags used for displaying the document.
+ */
+ enum FocusFlags
+ {
+ NONE = 0,
+ FOCUS = (1 << 1),
+ MODAL = (1 << 2)
+ };
+
+ /// Show the document.
+ /// @param[in] focus_flags Flags controlling the changing of focus. Leave as FOCUS to switch focus to the document.
+ void Show(int focus_flags = FOCUS);
+ /// Hide the document.
+ void Hide();
+ /// Close the document.
+ void Close();
+
+ /// Creates the named element.
+ /// @param[in] name The tag name of the element.
+ Element* CreateElement(const String& name);
+ /// Create a text element with the given text content.
+ /// @param[in] text The text content of the text element.
+ ElementText* CreateTextNode(const String& text);
+
+ /// Does the document have modal display set.
+ /// @return True if the document is hogging focus.
+ bool IsModal() const;
+
+ /// Load a script into the document. Note that the base implementation does nothing, scripting language addons hook
+ /// this method.
+ /// @param[in] stream Stream of code to process.
+ /// @param[in] source_name Name of the the script the source comes from, useful for debug information.
+ virtual void LoadScript(Stream* stream, const String& source_name);
+
+ /// Updates the layout if necessary.
+ inline void UpdateLayout() { if (layout_dirty && lock_layout == 0) _UpdateLayout(); }
+ /// Updates the position of the document based on the style properties.
+ void UpdatePosition();
+
+ /// Increment/Decrement the layout lock
+ void LockLayout(bool lock);
+
+protected:
+ /// Refreshes the document layout if required.
+ virtual void OnUpdate();
+
+ /// Repositions the document if necessary.
+ virtual void OnPropertyChange(const PropertyNameList& changed_properties);
+
+ /// Sets the dirty flag on the layout so the document will format its children before the next render.
+ virtual void DirtyLayout();
+
+ /// Processes the 'onpropertychange' event, checking for a change in position or size.
+ virtual void ProcessEvent(Event& event);
+
+private:
+ // Find the next element to focus, starting at the current element
+ bool FocusNextTabElement(Element* current_element, bool forward);
+ /// Searches forwards or backwards for a focusable element in the given substree
+ bool SearchFocusSubtree(Element* element, bool forward);
+
+ // Title of the document
+ String title;
+
+ // The original path this document came from
+ String source_url;
+
+ // The document's style sheet.
+ StyleSheet* style_sheet;
+
+ Context* context;
+
+ // Is the current display modal
+ bool modal;
+
+ // Is the layout dirty?
+ bool layout_dirty;
+ int lock_layout;
+
+ friend class Context;
+ friend class Factory;
+
+ void _UpdateLayout();
+};
+
+}
+}
+
+#endif
diff --git source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/ElementInstancer.h source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/ElementInstancer.h
new file mode 100644
index 0000000..5413624
--- /dev/null
+++ source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/ElementInstancer.h
@@ -0,0 +1,77 @@
+/*
+ * This source file is part of libRocket, the HTML/CSS Interface Middleware
+ *
+ * For the latest information, see http://www.librocket.com
+ *
+ * Copyright (c) 2008-2010 CodePoint Ltd, Shift Technology Ltd
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ *
+ */
+
+#ifndef ROCKETCOREELEMENTINSTANCER_H
+#define ROCKETCOREELEMENTINSTANCER_H
+
+#include <Rocket/Core/ReferenceCountable.h>
+#include <Rocket/Core/XMLParser.h>
+#include <Rocket/Core/Header.h>
+
+namespace Rocket {
+namespace Core {
+
+class Element;
+
+/**
+ An element instancer provides a method for allocating
+ an deallocating elements.
+
+ Node handlers are reference counted, so that the same handler
+ can be used for multiple tags.
+
+ It is important at the same instancer that allocated
+ the element releases it. This ensures there are no
+ issues with memory from different DLLs getting mixed up.
+
+ @author Lloyd Weehuizen
+ */
+
+class ROCKETCORE_API ElementInstancer : public ReferenceCountable
+{
+public:
+ virtual ~ElementInstancer();
+
+ /// Instances an element given the tag name and attributes.
+ /// @param[in] parent The element the new element is destined to be parented to.
+ /// @param[in] tag The tag of the element to instance.
+ /// @param[in] attributes Dictionary of attributes.
+ virtual Element* InstanceElement(Element* parent, const String& tag, const XMLAttributes& attributes) = 0;
+ /// Releases an element instanced by this instancer.
+ /// @param[in] element The element to release.
+ virtual void ReleaseElement(Element* element) = 0;
+ /// Release the instancer.
+ virtual void Release() = 0;
+
+protected:
+ virtual void OnReferenceDeactivate();
+};
+
+}
+}
+
+#endif
diff --git source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/ElementInstancerGeneric.h source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/ElementInstancerGeneric.h
new file mode 100644
index 0000000..f3a2ca6
--- /dev/null
+++ source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/ElementInstancerGeneric.h
@@ -0,0 +1,69 @@
+/*
+ * This source file is part of libRocket, the HTML/CSS Interface Middleware
+ *
+ * For the latest information, see http://www.librocket.com
+ *
+ * Copyright (c) 2008-2010 CodePoint Ltd, Shift Technology Ltd
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ *
+ */
+
+#ifndef ROCKETCOREELEMENTINSTANCERGENERIC_H
+#define ROCKETCOREELEMENTINSTANCERGENERIC_H
+
+#include <Rocket/Core/ElementInstancer.h>
+
+namespace Rocket {
+namespace Core {
+
+/**
+ Generic Instancer that creates a plain old Element
+
+ This instancer is used for most elements and is by default
+ registered as the "*" fallback handler.
+
+ @author Lloyd Weehuizen
+ */
+
+template <typename T>
+class ElementInstancerGeneric : public ElementInstancer
+{
+public:
+ virtual ~ElementInstancerGeneric();
+
+ /// Instances an element given the tag name and attributes
+ /// @param tag Name of the element to instance
+ /// @param attributes vector of name value pairs
+ virtual Element* InstanceElement(Element* parent, const String& tag, const XMLAttributes& attributes);
+
+ /// Releases the given element
+ /// @param element to release
+ virtual void ReleaseElement(Element* element);
+
+ /// Release the instancer
+ virtual void Release();
+};
+
+#include <Rocket/Core/ElementInstancerGeneric.inl>
+
+}
+}
+
+#endif
diff --git source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/ElementInstancerGeneric.inl source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/ElementInstancerGeneric.inl
new file mode 100644
index 0000000..00e1c3e
--- /dev/null
+++ source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/ElementInstancerGeneric.inl
@@ -0,0 +1,56 @@
+/*
+ * This source file is part of libRocket, the HTML/CSS Interface Middleware
+ *
+ * For the latest information, see http://www.librocket.com
+ *
+ * Copyright (c) 2008-2010 CodePoint Ltd, Shift Technology Ltd
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ *
+ */
+
+template <typename T>
+ElementInstancerGeneric<T>::~ElementInstancerGeneric()
+{
+}
+
+// Instances an element given the tag name and attributes
+template <typename T>
+Element* ElementInstancerGeneric<T>::InstanceElement(Element* /*parent*/, const String& tag, const XMLAttributes& /*attributes*/)
+{
+ return new T(tag);
+}
+
+
+
+// Releases the given element
+template <typename T>
+void ElementInstancerGeneric<T>::ReleaseElement(Element* element)
+{
+ delete element;
+}
+
+
+
+// Release the instancer
+template <typename T>
+void ElementInstancerGeneric<T>::Release()
+{
+ delete this;
+}
diff --git source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/ElementReference.h source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/ElementReference.h
new file mode 100644
index 0000000..aff7666
--- /dev/null
+++ source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/ElementReference.h
@@ -0,0 +1,101 @@
+/*
+ * This source file is part of libRocket, the HTML/CSS Interface Middleware
+ *
+ * For the latest information, see http://www.librocket.com
+ *
+ * Copyright (c) 2008-2010 CodePoint Ltd, Shift Technology Ltd
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ *
+ */
+
+#ifndef ROCKETCOREELEMENTREFERENCE_H
+#define ROCKETCOREELEMENTREFERENCE_H
+
+#include <Rocket/Core/Header.h>
+
+namespace Rocket {
+namespace Core {
+
+class Element;
+
+/**
+ A smart pointer for RKTElements.
+
+ @author Peter Curry
+ */
+
+class ROCKETCORE_API ElementReference
+{
+public:
+ ElementReference(Element* element = NULL);
+ ElementReference(const ElementReference& copy);
+ ~ElementReference();
+
+ /// Returns true if this reference is bound to an element.
+ /// @return True if this reference points to a non-NULL element, false otherwise.
+ operator bool() const;
+
+ /// Assigns a new element for this reference to point to.
+ /// @param element[in] The new element.
+ /// @return This element reference.
+ ElementReference& operator=(Element* element);
+ /// Assigns a new element for this reference, from another reference.
+ /// @param element_reference[in] The element reference to copy.
+ /// @return This element reference.
+ ElementReference& operator=(const ElementReference& element_reference);
+
+ /// Returns a reference to the underlying element.
+ /// @return The underlying element. This may be NULL.
+ Element* operator*();
+ /// Returns a reference to the underlying element.
+ /// @return The underlying element. This may be NULL.
+ Element* operator->();
+
+ /// Equality operator for the reference. Used for STL containers.
+ /// @param rhs[in] The other element to use in the comparison.
+ /// @return True if the elements are equivalent, false otherwise.
+ bool operator==(const ElementReference& rhs) const;
+ /// Equality operator for the reference.
+ /// @param rhs[in] The other element to use in the comparison.
+ /// @return True if the elements are equivalent, false otherwise.
+ bool operator==(const Element* rhs) const;
+
+ /// Less-than operator for the reference. Used for STL containers.
+ /// @param rhs[in] The other element to use in the comparison.
+ /// @return True if this element is less than the other element, false otherwise.
+ bool operator<(const ElementReference& rhs) const;
+
+ /// Inequality operator for the reference.
+ /// @param rhs[in] The other element to use in the comparison.
+ /// @return False if the elements are equivalent, true otherwise.
+ bool operator!=(const ElementReference& rhs) const;
+ /// Inequality operator for the reference.
+ /// @param rhs[in] A raw element to use in the comparison.
+ /// @return False if the elements are equivalent, true otherwise.
+ bool operator!=(const Element* rhs) const;
+
+private:
+ Element* element;
+};
+
+}
+}
+
+#endif
diff --git source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/ElementScroll.h source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/ElementScroll.h
new file mode 100644
index 0000000..e9d0eb3
--- /dev/null
+++ source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/ElementScroll.h
@@ -0,0 +1,115 @@
+/*
+ * This source file is part of libRocket, the HTML/CSS Interface Middleware
+ *
+ * For the latest information, see http://www.librocket.com
+ *
+ * Copyright (c) 2008-2010 CodePoint Ltd, Shift Technology Ltd
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ *
+ */
+
+#ifndef ROCKETCOREELEMENTSCROLL_H
+#define ROCKETCOREELEMENTSCROLL_H
+
+#include <Rocket/Core/Header.h>
+#include <Rocket/Core/EventListener.h>
+
+namespace Rocket {
+namespace Core {
+
+class Element;
+class WidgetSliderScroll;
+
+/**
+ Manages an element's scrollbars and scrolling state.
+
+ @author Peter Curry
+ */
+
+class ROCKETCORE_API ElementScroll : public EventListener
+{
+public:
+ enum Orientation
+ {
+ VERTICAL = 0,
+ HORIZONTAL = 1
+ };
+
+ ElementScroll(Element* element);
+ virtual ~ElementScroll();
+
+ /// Updates the increment / decrement arrows.
+ void Update();
+
+ /// Enables and sizes one of the scrollbars.
+ /// @param[in] orientation Which scrollbar (vertical or horizontal) to enable.
+ /// @param[in] element_width The current computed width of the element, used only to resolve percentage properties.
+ void EnableScrollbar(Orientation orientation, float element_width);
+ /// Disables and hides one of the scrollbars.
+ /// @param[in] orientation Which scrollbar (vertical or horizontal) to disable.
+ void DisableScrollbar(Orientation orientation);
+
+ /// Updates the position of the scrollbar.
+ /// @param[in] orientation Which scrollbar (vertical or horizontal) to update).
+ void UpdateScrollbar(Orientation orientation);
+
+ /// Returns one of the scrollbar elements.
+ /// @param[in] orientation Which scrollbar to return.
+ /// @return The requested scrollbar, or NULL if it does not exist.
+ Element* GetScrollbar(Orientation orientation);
+ /// Returns the size, in pixels, of one of the scrollbars; for a vertical scrollbar, this is width, for a horizontal scrollbar, this is height.
+ /// @param[in] orientation Which scrollbar (vertical or horizontal) to query.
+ /// @return The size of the scrollbar, or 0 if the scrollbar is disabled.
+ float GetScrollbarSize(Orientation orientation);
+
+ /// Formats the enabled scrollbars based on the current size of the host element.
+ void FormatScrollbars();
+
+protected:
+ /// Handles the 'onchange' events for the scrollbars.
+ void ProcessEvent(Event& event);
+
+private:
+ struct Scrollbar
+ {
+ Scrollbar();
+ ~Scrollbar();
+
+ Element* element;
+ WidgetSliderScroll* widget;
+ bool enabled;
+ float size;
+ };
+
+ // Creates one of the scroll component's scrollbar.
+ bool CreateScrollbar(Orientation orientation);
+ // Creates the scrollbar corner.
+ bool CreateCorner();
+
+ Element* element;
+
+ Scrollbar scrollbars[2];
+ Element* corner;
+};
+
+}
+}
+
+#endif
diff --git source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/ElementText.h source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/ElementText.h
new file mode 100644
index 0000000..008ecd3
--- /dev/null
+++ source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/ElementText.h
@@ -0,0 +1,88 @@
+/*
+ * This source file is part of libRocket, the HTML/CSS Interface Middleware
+ *
+ * For the latest information, see http://www.librocket.com
+ *
+ * Copyright (c) 2008-2010 CodePoint Ltd, Shift Technology Ltd
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ *
+ */
+
+#ifndef ROCKETCOREELEMENTTEXT_H
+#define ROCKETCOREELEMENTTEXT_H
+
+#include <Rocket/Core/Header.h>
+#include <Rocket/Core/Element.h>
+#include <Rocket/Core/WString.h>
+
+namespace Rocket {
+namespace Core {
+
+/**
+ Rocket's text-element interface.
+
+ @author Peter Curry
+ */
+
+class ROCKETCORE_API ElementText : public Element
+{
+public:
+ ElementText(const String& tag);
+ virtual ~ElementText();
+
+ /// Sets the raw string this text element contains. The actual rendered text may be different due to whitespace
+ /// formatting.
+ /// @param[in] text The new string to set on this element.
+ virtual void SetText(const WString& text) = 0;
+ /// Returns the raw string this text element contains.
+ /// @return This element's raw text.
+ virtual const WString& GetText() const = 0;
+
+ /// Generates a token of text from this element, returning only the width.
+ /// @param[out] token_width The window (in pixels) of the token.
+ /// @param[in] token_begin The first character to be included in the token.
+ /// @return True if the token is the end of the element's text, false if not.
+ virtual bool GenerateToken(float& token_width, int token_begin) = 0;
+ /// Generates a line of text rendered from this element.
+ /// @param[out] line The characters making up the line, with white-space characters collapsed and endlines processed appropriately.
+ /// @param[out] line_length The number of characters from the source string consumed making up this string; this may very well be different from line.size()!
+ /// @param[out] line_width The width (in pixels) of the generated line.
+ /// @param[in] line_begin The index of the first character to be rendered in the line.
+ /// @param[in] maximum_line_width The width (in pixels) of space allowed for the line, or -1 for unlimited space.
+ /// @param[in] right_spacing_width The width (in pixels) of the spacing (consisting of margins, padding, etc) that must be remaining on the right of the line if the last of the text is rendered onto this line.
+ /// @param[in] trim_whitespace_prefix If we're collapsing whitespace, whether or not to remove all prefixing whitespace or collapse it down to a single space.
+ /// @return True if the line reached the end of the element's text, false if not.
+ virtual bool GenerateLine(WString& line, int& line_length, float& line_width, int line_begin, float maximum_line_width, float right_spacing_width, bool trim_whitespace_prefix) = 0;
+
+ /// Clears all lines of generated text and prepares the element for generating new lines.
+ virtual void ClearLines() = 0;
+ /// Adds a new line into the text element.
+ /// @param[in] line_position The position of this line, as an offset from the first line.
+ /// @param[in] line The contents of the line.
+ virtual void AddLine(const Vector2f& line_position, const WString& line) = 0;
+
+ /// Prevents the element from dirtying its document's layout when its text is changed.
+ virtual void SuppressAutoLayout() = 0;
+};
+
+}
+}
+
+#endif
diff --git source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/ElementUtilities.h source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/ElementUtilities.h
new file mode 100644
index 0000000..139532b
--- /dev/null
+++ source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/ElementUtilities.h
@@ -0,0 +1,147 @@
+/*
+ * This source file is part of libRocket, the HTML/CSS Interface Middleware
+ *
+ * For the latest information, see http://www.librocket.com
+ *
+ * Copyright (c) 2008-2010 CodePoint Ltd, Shift Technology Ltd
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ *
+ */
+
+#ifndef ROCKETCOREELEMENTUTILITIES_H
+#define ROCKETCOREELEMENTUTILITIES_H
+
+#include <Rocket/Core/Header.h>
+#include <Rocket/Core/Box.h>
+#include <Rocket/Core/WString.h>
+#include <Rocket/Core/Types.h>
+
+namespace Rocket {
+namespace Core {
+
+class Context;
+class FontFaceHandle;
+class RenderInterface;
+
+/**
+ Utility functions for dealing with elements.
+
+ @author Lloyd Weehuizen
+ */
+
+class ROCKETCORE_API ElementUtilities
+{
+public:
+ enum PositionAnchor
+ {
+ TOP = 1 << 0,
+ BOTTOM = 1 << 1,
+ LEFT = 1 << 2,
+ RIGHT = 1 << 3,
+
+ TOP_LEFT = TOP | LEFT,
+ TOP_RIGHT = TOP | RIGHT,
+ BOTTOM_LEFT = BOTTOM | LEFT,
+ BOTTOM_RIGHT = BOTTOM | RIGHT
+ };
+
+ /// Get the element with the given id.
+ /// @param[in] root_element First element to check.
+ /// @param[in] id ID of the element to look for.
+ static Element* GetElementById(Element* root_element, const String& id);
+ /// Get all elements with the given tag.
+ /// @param[out] elements Resulting elements.
+ /// @param[in] root_element First element to check.
+ /// @param[in] tag Tag to search for.
+ static void GetElementsByTagName(ElementList& elements, Element* root_element, const String& tag);
+ /// Get all elements with the given class set on them.
+ /// @param[out] elements Resulting elements.
+ /// @param[in] root_element First element to check.
+ /// @param[in] tag Class name to search for.
+ static void GetElementsByClassName(ElementList& elements, Element* root_element, const String& class_name);
+
+ /// Returns an element's font face.
+ /// @param[in] element The element to determine the font face for.
+ /// @return The element's font face. This will be NULL if no valid RCSS font styles have been set up for this element.
+ static FontFaceHandle* GetFontFaceHandle(Element* element);
+ /// Returns an element's font size, if it has a font defined.
+ /// @param[in] element The element to determine the font size for.
+ /// @return The font size as determined by the element's font, or 0 if it has no font specified.
+ static int GetFontSize(Element* element);
+ /// Returns an element's line height, if it has a font defined.
+ /// @param[in] element The element to determine the line height for.
+ /// @return The line height as specified by the element's font and line height styles.
+ static int GetLineHeight(Element* element);
+ /// Returns the width of a string rendered within the context of the given element.
+ /// @param[in] element The element to measure the string from.
+ /// @param[in] string The string to measure.
+ /// @return The string width, in pixels.
+ static int GetStringWidth(Element* element, const WString& string);
+
+ /// Bind and instance all event attributes on the given element onto the element
+ /// @param element Element to bind events on
+ static void BindEventAttributes(Element* element);
+
+ /// Generates the clipping region for an element.
+ /// @param[out] clip_origin The origin, in context coordinates, of the origin of the element's clipping window.
+ /// @param[out] clip_dimensions The size, in context coordinates, of the element's clipping window.
+ /// @param[in] element The element to generate the clipping region for.
+ /// @return True if a clipping region exists for the element and clip_origin and clip_window were set, false if not.
+ static bool GetClippingRegion(Vector2i& clip_origin, Vector2i& clip_dimensions, Element* element);
+ /// Sets the clipping region from an element and its ancestors.
+ /// @param[in] element The element to generate the clipping region from.
+ /// @param[in] context The context of the element; if this is not supplied, it will be derived from the element.
+ /// @return The visibility of the given element within its clipping region.
+ static bool SetClippingRegion(Element* element, Context* context = NULL);
+ /// Applies the clip region from the render interface to the renderer
+ /// @param[in] context The context to read the clip region from
+ /// @param[in] render_interface The render interface to update.
+ static void ApplyActiveClipRegion(Context* context, RenderInterface* render_interface);
+
+ /// Formats the contents of an element. This does not need to be called for ordinary elements, but can be useful
+ /// for non-DOM elements of custom elements.
+ /// @param[in] element The element to lay out.
+ /// @param[in] containing_block The size of the element's containing block.
+ static bool FormatElement(Element* element, const Vector2f& containing_block);
+
+ /// Generates the box for an element.
+ /// @param[out] box The box to be built.
+ /// @param[in] containing_block The dimensions of the content area of the block containing the element.
+ /// @param[in] element The element to build the box for.
+ /// @param[in] inline_element True if the element is placed in an inline context, false if not.
+ static void BuildBox(Box& box, const Vector2f& containing_block, Element* element, bool inline_element = false);
+
+ /// Sizes and positions an element within its parent. Any relative values will be evaluated against the size of the
+ /// element parent's content area.
+ /// @param element[in] The element to size and position.
+ /// @param offset[in] The offset of the element inside its parent's content area.
+ static bool PositionElement(Element* element, const Vector2f& offset);
+ /// Sizes an element, and positions it within its parent offset from the borders of its content area. Any relative
+ /// values will be evaluated against the size of the element parent's content area.
+ /// @param element[in] The element to size and position.
+ /// @param offset[in] The offset from the parent's borders.
+ /// @param anchor[in] Defines which corner or edge the border is to be positioned relative to.
+ static bool PositionElement(Element* element, const Vector2f& offset, PositionAnchor anchor);
+};
+
+}
+}
+
+#endif
diff --git source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/Event.h source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/Event.h
new file mode 100644
index 0000000..1017910
--- /dev/null
+++ source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/Event.h
@@ -0,0 +1,132 @@
+/*
+ * This source file is part of libRocket, the HTML/CSS Interface Middleware
+ *
+ * For the latest information, see http://www.librocket.com
+ *
+ * Copyright (c) 2008-2010 CodePoint Ltd, Shift Technology Ltd
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ *
+ */
+
+#ifndef ROCKETCOREEVENT_H
+#define ROCKETCOREEVENT_H
+
+#include <Rocket/Core/Dictionary.h>
+#include <Rocket/Core/ScriptInterface.h>
+#include <Rocket/Core/Header.h>
+
+namespace Rocket {
+namespace Core {
+
+class Element;
+class EventInstancer;
+
+/**
+ An event that propogates through the element hierarchy. Events follow the DOM3 event specification. See
+ http://www.w3.org/TR/DOM-Level-3-Events/events.html.
+
+ @author Lloyd Weehuizen
+ */
+
+class ROCKETCORE_API Event : public ScriptInterface
+{
+public:
+ /// Constructor
+ Event();
+ /// Constructor
+ /// @param[in] target The target element of this event
+ /// @param[in] type The event type
+ /// @param[in] parameters The event parameters
+ /// @param[in] interruptible Can this event have is propagation stopped?
+ Event(Element* target, const String& type, const Dictionary& parameters, bool interruptible = false);
+ /// Destructor
+ virtual ~Event();
+
+ enum EventPhase { PHASE_UNKNOWN, PHASE_CAPTURE, PHASE_TARGET, PHASE_BUBBLE };
+
+ /// Get the current propagation phase.
+ /// @return Current phase the event is in.
+ EventPhase GetPhase() const;
+ /// Set the current propagation phase
+ /// @param phase Switch the phase the event is in
+ void SetPhase(EventPhase phase);
+
+ /// Set the current element in the propagation.
+ /// @param[in] element The current element.
+ void SetCurrentElement(Element* element);
+ /// Get the current element in the propagation.
+ /// @return The current element in propagation.
+ Element* GetCurrentElement() const;
+
+ /// Get the target element
+ /// @return The target element of this event
+ Element* GetTargetElement() const;
+
+ /// Get the event type.
+ /// @return The event type.
+ const String& GetType() const;
+ /// Checks if the event is of a certain type.
+ /// @param type The name of the type to check for.
+ /// @return True if the event is of the requested type, false otherwise.
+ bool operator==(const String& type) const;
+
+ /// Has the event been stopped?
+ /// @return True if the event is still propogating
+ bool IsPropagating() const;
+ /// Stops the propagation of the event wherever it is
+ void StopPropagation();
+
+ /// Returns the value of one of the event's parameters.
+ /// @param key[in] The name of the desired parameter.
+ /// @return The value of the requested parameter.
+ template < typename T >
+ T GetParameter(const String& key, const T& default_value)
+ {
+ return parameters.Get(key, default_value);
+ }
+ /// Access the dictionary of parameters
+ /// @return The dictionary of parameters
+ const Dictionary* GetParameters() const;
+
+ /// Release this event.
+ virtual void OnReferenceDeactivate();
+
+protected:
+ String type;
+ Dictionary parameters;
+
+ Element* target_element;
+ Element* current_element;
+
+private:
+ bool interruptible;
+ bool interruped;
+
+ EventPhase phase;
+
+ EventInstancer* instancer;
+
+ friend class Factory;
+};
+
+}
+}
+
+#endif
diff --git source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/EventInstancer.h source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/EventInstancer.h
new file mode 100644
index 0000000..8d84085
--- /dev/null
+++ source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/EventInstancer.h
@@ -0,0 +1,72 @@
+/*
+ * This source file is part of libRocket, the HTML/CSS Interface Middleware
+ *
+ * For the latest information, see http://www.librocket.com
+ *
+ * Copyright (c) 2008-2010 CodePoint Ltd, Shift Technology Ltd
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ *
+ */
+
+#ifndef ROCKETCOREEVENTINSTANCER_H
+#define ROCKETCOREEVENTINSTANCER_H
+
+#include <Rocket/Core/ReferenceCountable.h>
+#include <Rocket/Core/Header.h>
+
+namespace Rocket {
+namespace Core {
+
+class Element;
+class Event;
+
+/**
+ Abstract instancer interface for instancing events. This is required to be overridden for scripting systems.
+
+ @author Lloyd Weehuizen
+ */
+
+class ROCKETCORE_API EventInstancer : public ReferenceCountable
+{
+public:
+ virtual ~EventInstancer();
+
+ /// Instance an event object.
+ /// @param[in] target Target element of this event.
+ /// @param[in] name Name of this event.
+ /// @param[in] parameters Additional parameters for this event.
+ /// @param[in] interruptible If the event propagation can be stopped.
+ virtual Event* InstanceEvent(Element* target, const String& name, const Dictionary& parameters, bool interruptible) = 0;
+
+ /// Releases an event instanced by this instancer.
+ /// @param[in] event The event to release.
+ virtual void ReleaseEvent(Event* event) = 0;
+
+ /// Releases this event instancer.
+ virtual void Release() = 0;
+
+private:
+ virtual void OnReferenceDeactivate();
+};
+
+}
+}
+
+#endif
diff --git source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/EventListener.h source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/EventListener.h
new file mode 100644
index 0000000..967fc87
--- /dev/null
+++ source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/EventListener.h
@@ -0,0 +1,68 @@
+/*
+ * This source file is part of libRocket, the HTML/CSS Interface Middleware
+ *
+ * For the latest information, see http://www.librocket.com
+ *
+ * Copyright (c) 2008-2010 CodePoint Ltd, Shift Technology Ltd
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ *
+ */
+
+#ifndef ROCKETCOREEVENTLISTENER_H
+#define ROCKETCOREEVENTLISTENER_H
+
+#include <Rocket/Core/Header.h>
+#include <Rocket/Core/Event.h>
+
+namespace Rocket {
+namespace Core {
+
+class Event;
+class Element;
+
+/**
+ Abstract interface class for handling events.
+
+ @author Lloyd Weehuizen
+ */
+
+class ROCKETCORE_API EventListener
+{
+public:
+ virtual ~EventListener() {}
+
+ /// Process the incoming Event
+ virtual void ProcessEvent(Event& event) = 0;
+
+ /// Called when the listener has been attached to a new Element
+ virtual void OnAttach(Element* ROCKET_UNUSED(element))
+ {
+ }
+
+ /// Called when the listener has been detached from a Element
+ virtual void OnDetach(Element* ROCKET_UNUSED(element))
+ {
+ }
+};
+
+}
+}
+
+#endif
diff --git source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/EventListenerInstancer.h source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/EventListenerInstancer.h
new file mode 100644
index 0000000..2b1f442
--- /dev/null
+++ source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/EventListenerInstancer.h
@@ -0,0 +1,68 @@
+/*
+ * This source file is part of libRocket, the HTML/CSS Interface Middleware
+ *
+ * For the latest information, see http://www.librocket.com
+ *
+ * Copyright (c) 2008-2010 CodePoint Ltd, Shift Technology Ltd
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ *
+ */
+
+#ifndef ROCKETCOREEVENTLISTENERINSTANCER_H
+#define ROCKETCOREEVENTLISTENERINSTANCER_H
+
+#include <Rocket/Core/ReferenceCountable.h>
+#include <Rocket/Core/String.h>
+#include <Rocket/Core/Header.h>
+#include <Rocket/Core/Element.h>
+
+namespace Rocket {
+namespace Core {
+
+class EventListener;
+
+/**
+ Abstract instancer interface for instancing event listeners. This is required to be overridden for scripting
+ systems.
+
+ @author Lloyd Weehuizen
+ */
+
+class ROCKETCORE_API EventListenerInstancer : public ReferenceCountable
+{
+public:
+ virtual ~EventListenerInstancer();
+
+ /// Instance an event listener object.
+ /// @param value Value of the event.
+ /// @param element Element that triggers the events.
+ virtual EventListener* InstanceEventListener(const String& value, Element* element) = 0;
+
+ /// Releases this event listener instancer.
+ virtual void Release() = 0;
+
+protected:
+ virtual void OnReferenceDeactivate();
+};
+
+}
+}
+
+#endif
diff --git source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/Factory.h source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/Factory.h
new file mode 100644
index 0000000..3d3007b
--- /dev/null
+++ source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/Factory.h
@@ -0,0 +1,179 @@
+/*
+ * This source file is part of libRocket, the HTML/CSS Interface Middleware
+ *
+ * For the latest information, see http://www.librocket.com
+ *
+ * Copyright (c) 2008-2010 CodePoint Ltd, Shift Technology Ltd
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ *
+ */
+
+#ifndef ROCKETCOREFACTORY_H
+#define ROCKETCOREFACTORY_H
+
+#include <Rocket/Core/XMLParser.h>
+#include <Rocket/Core/Header.h>
+#include <map>
+
+namespace Rocket {
+namespace Core {
+
+class Context;
+class ContextInstancer;
+class Decorator;
+class DecoratorInstancer;
+class Element;
+class ElementDocument;
+class ElementInstancer;
+class Event;
+class EventInstancer;
+class EventListener;
+class EventListenerInstancer;
+class FontEffect;
+class FontEffectInstancer;
+class StyleSheet;
+class PropertyDictionary;
+
+/**
+ The Factory contains a registry of instancers for different types.
+
+ All instantiation of these rocket types should go through the factory
+ so that scripting API's can bind in new types.
+
+ @author Lloyd Weehuizen
+ */
+
+class ROCKETCORE_API Factory
+{
+public:
+ /// Initialise the element factory
+ static bool Initialise();
+ /// Cleanup and shutdown the factory
+ static void Shutdown();
+
+ /// Registers the instancer to use when instancing contexts.
+ /// @param[in] instancer The new context instancer.
+ static ContextInstancer* RegisterContextInstancer(ContextInstancer* instancer);
+ /// Instances a new context.
+ /// @param[in] name The name of the new context.
+ /// @return The new context, or NULL if no context could be created.
+ static Context* InstanceContext(const String& name);
+
+ /// Registers an element instancer that will be used to instance an element when the specified tag is encountered.
+ /// @param[in] name Name of the instancer; elements with this as their tag will use this instancer.
+ /// @param[in] instancer The instancer to call when the tag is encountered.
+ /// @return The added instancer if the registration was successful, NULL otherwise.
+ static ElementInstancer* RegisterElementInstancer(const String& name, ElementInstancer* instancer);
+ /// Returns the element instancer for the specified tag.
+ /// @param[in] tag Name of the tag to get the instancer for.
+ /// @return The requested element instancer, or NULL if no such instancer is registered.
+ static ElementInstancer* GetElementInstancer(const String& tag);
+ /// Instances a single element.
+ /// @param[in] parent The parent of the new element, or NULL for a root tag.
+ /// @param[in] instancer The name of the instancer to create the element with.
+ /// @param[in] tag The tag of the element to be instanced.
+ /// @param[in] attributes The attributes to instance the element with.
+ /// @return The instanced element, or NULL if the instancing failed.
+ static Element* InstanceElement(Element* parent, const String& instancer, const String& tag, const XMLAttributes& attributes);
+
+ /// Instances a single text element containing a string. The string is assumed to contain no RML markup, but will
+ /// be translated and therefore may have some introduced. In this case more than one element may be instanced.
+ /// @param[in] parent The element any instanced elements will be parented to.
+ /// @param[in] text The text to instance the element (or elements) from.
+ /// @return True if the string was parsed without error, false otherwise.
+ static bool InstanceElementText(Element* parent, const String& text);
+ /// Instances an element tree based on the stream.
+ /// @param[in] parent The element the stream elements will be added to.
+ /// @param[in] stream The stream to read the element RML from.
+ /// @return True if the stream was parsed without error, false otherwise.
+ static bool InstanceElementStream(Element* parent, Stream* stream);
+ /// Instances a document from a stream.
+ /// @param[in] context The context that is creating the document.
+ /// @param[in] stream The stream to instance from.
+ /// @return The instanced document, or NULL if an error occurred.
+ static ElementDocument* InstanceDocumentStream(Rocket::Core::Context* context, Stream* stream);
+
+ /// Registers an instancer that will be used to instance decorators.
+ /// @param[in] name The name of the decorator the instancer will be called for.
+ /// @param[in] instancer The instancer to call when the decorator name is encountered.
+ /// @return The added instancer if the registration was successful, NULL otherwise.
+ static DecoratorInstancer* RegisterDecoratorInstancer(const String& name, DecoratorInstancer* instancer);
+ /// Attempts to instance a decorator from an instancer registered with the factory.
+ /// @param[in] name The name of the desired decorator type.
+ /// @param[in] properties The properties associated with the decorator.
+ /// @return The newly instanced decorator, or NULL if the decorator could not be instanced.
+ static Decorator* InstanceDecorator(const String& name, const PropertyDictionary& properties);
+
+ /// Registers an instancer that will be used to instance font effects.
+ /// @param[in] name The name of the font effect the instancer will be called for.
+ /// @param[in] instancer The instancer to call when the font effect name is encountered.
+ /// @return The added instancer if the registration was successful, NULL otherwise.
+ static FontEffectInstancer* RegisterFontEffectInstancer(const String& name, FontEffectInstancer* instancer);
+ /// Attempts to instance a font effect from an instancer registered with the factory.
+ /// @param[in] name The name of the desired font effect type.
+ /// @param[in] properties The properties associated with the font effect.
+ /// @return The newly instanced font effect, or NULL if the font effect could not be instanced.
+ static FontEffect* InstanceFontEffect(const String& name, const PropertyDictionary& properties);
+
+ /// Creates a style sheet from a user-generated string.
+ /// @param[in] string The contents of the style sheet.
+ /// @return A pointer to the newly created style sheet.
+ static StyleSheet* InstanceStyleSheetString(const String& string);
+ /// Creates a style sheet from a file.
+ /// @param[in] file_name The location of the style sheet file.
+ /// @return A pointer to the newly created style sheet.
+ static StyleSheet* InstanceStyleSheetFile(const String& file_name);
+ /// Creates a style sheet from an Stream.
+ /// @param[in] stream A pointer to the stream containing the style sheet's contents.
+ /// @return A pointer to the newly created style sheet.
+ static StyleSheet* InstanceStyleSheetStream(Stream* stream);
+ /// Clears the style sheet cache. This will force style sheets to be reloaded.
+ static void ClearStyleSheetCache();
+
+ /// Registers an instancer for all events.
+ /// @param[in] instancer The instancer to be called.
+ /// @return The registered instanced on success, NULL on failure.
+ static EventInstancer* RegisterEventInstancer(EventInstancer* instancer);
+ /// Instance and event object
+ /// @param[in] target Target element of this event.
+ /// @param[in] name Name of this event.
+ /// @param[in] parameters Additional parameters for this event.
+ /// @param[in] interruptible If the event propagation can be stopped.
+ /// @return The instanced event.
+ static Event* InstanceEvent(Element* target, const String& name, const Dictionary& parameters, bool interruptible);
+
+ /// Register the instancer to be used for all event listeners.
+ /// @return The registered instancer on success, NULL on failure.
+ static EventListenerInstancer* RegisterEventListenerInstancer(EventListenerInstancer* instancer);
+ /// Instance an event listener with the given string. This is used for instancing listeners for the on* events from
+ /// RML.
+ /// @param[in] value The parameters to the event listener.
+ /// @return The instanced event listener.
+ static EventListener* InstanceEventListener(const String& value, Element* element);
+
+private:
+ Factory();
+ ~Factory();
+};
+
+}
+}
+
+#endif
diff --git source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/FileInterface.h source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/FileInterface.h
new file mode 100644
index 0000000..9e17457
--- /dev/null
+++ source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/FileInterface.h
@@ -0,0 +1,95 @@
+/*
+ * This source file is part of libRocket, the HTML/CSS Interface Middleware
+ *
+ * For the latest information, see http://www.librocket.com
+ *
+ * Copyright (c) 2008-2010 CodePoint Ltd, Shift Technology Ltd
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ *
+ */
+
+#ifndef ROCKETCOREFILEINTERFACE_H
+#define ROCKETCOREFILEINTERFACE_H
+
+#include <Rocket/Core/Header.h>
+#include <Rocket/Core/Types.h>
+#include <Rocket/Core/ReferenceCountable.h>
+
+namespace Rocket {
+namespace Core {
+
+/**
+ The abstract base class for application-specific file I/O.
+
+ By default, Rocket will use a file interface implementing the standard C file functions. If this is not sufficient,
+ or your application wants more control over file I/O, this class should be derived, instanced, and installed
+ through Core::SetFileInterface() before you initialise Rocket.
+
+ @author Peter Curry
+ */
+
+class ROCKETCORE_API FileInterface : public ReferenceCountable
+{
+public:
+ FileInterface();
+ virtual ~FileInterface();
+
+ /// Opens a file.
+ /// @param file The file handle to write to.
+ /// @return A valid file handle, or NULL on failure
+ virtual FileHandle Open(const String& path) = 0;
+ /// Closes a previously opened file.
+ /// @param file The file handle previously opened through Open().
+ virtual void Close(FileHandle file) = 0;
+
+ /// Reads data from a previously opened file.
+ /// @param buffer The buffer to be read into.
+ /// @param size The number of bytes to read into the buffer.
+ /// @param file The handle of the file.
+ /// @return The total number of bytes read into the buffer.
+ virtual size_t Read(void* buffer, size_t size, FileHandle file) = 0;
+ /// Seeks to a point in a previously opened file.
+ /// @param file The handle of the file to seek.
+ /// @param offset The number of bytes to seek.
+ /// @param origin One of either SEEK_SET (seek from the beginning of the file), SEEK_END (seek from the end of the file) or SEEK_CUR (seek from the current file position).
+ /// @return True if the operation completed successfully, false otherwise.
+ virtual bool Seek(FileHandle file, long offset, int origin) = 0;
+ /// Returns the current position of the file pointer.
+ /// @param file The handle of the file to be queried.
+ /// @return The number of bytes from the origin of the file.
+ virtual size_t Tell(FileHandle file) = 0;
+
+ /// Returns the length of the file.
+ /// The default implementation uses Seek & Tell.
+ /// @param file The handle of the file to be queried.
+ /// @return The length of the file in bytes.
+ virtual size_t Length(FileHandle file);
+
+ /// Called when this file interface is released.
+ virtual void Release();
+
+protected:
+ virtual void OnReferenceDeactivate();
+};
+
+}
+}
+
+#endif
diff --git source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/Font.h source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/Font.h
new file mode 100644
index 0000000..1a75184
--- /dev/null
+++ source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/Font.h
@@ -0,0 +1,61 @@
+/*
+ * This source file is part of libRocket, the HTML/CSS Interface Middleware
+ *
+ * For the latest information, see http://www.librocket.com
+ *
+ * Copyright (c) 2008-2010 CodePoint Ltd, Shift Technology Ltd
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ *
+ */
+
+#ifndef ROCKETCOREFONT_H
+#define ROCKETCOREFONT_H
+
+namespace Rocket {
+namespace Core {
+
+namespace Font
+{
+ enum Style
+ {
+ STYLE_NORMAL = 0,
+ STYLE_ITALIC = 1,
+ NUM_STYLES = 2
+ };
+
+ enum Weight
+ {
+ WEIGHT_NORMAL = 0,
+ WEIGHT_BOLD = 1,
+ NUM_WEIGHTS = 2
+ };
+
+ enum Line
+ {
+ UNDERLINE = 0,
+ OVERLINE = 1,
+ STRIKE_THROUGH = 2
+ };
+};
+
+}
+}
+
+#endif
diff --git source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/FontDatabase.h source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/FontDatabase.h
new file mode 100644
index 0000000..1c44bbb
--- /dev/null
+++ source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/FontDatabase.h
@@ -0,0 +1,117 @@
+/*
+ * This source file is part of libRocket, the HTML/CSS Interface Middleware
+ *
+ * For the latest information, see http://www.librocket.com
+ *
+ * Copyright (c) 2008-2010 CodePoint Ltd, Shift Technology Ltd
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ *
+ */
+
+#ifndef ROCKETCOREFONTDATABASE_H
+#define ROCKETCOREFONTDATABASE_H
+
+#include <Rocket/Core/StringUtilities.h>
+#include <Rocket/Core/Header.h>
+#include <Rocket/Core/Font.h>
+
+namespace Rocket {
+namespace Core {
+
+class FontEffect;
+class FontFamily;
+class FontFaceHandle;
+class PropertyDictionary;
+
+/**
+ The font database contains all font families currently in use by Rocket.
+
+ @author Peter Curry
+ */
+
+class ROCKETCORE_API FontDatabase
+{
+public:
+ static bool Initialise();
+ static void Shutdown();
+
+ /// Adds a new font face to the database. The face's family, style and weight will be determined from the face itself.
+ /// @param[in] file_name The file to load the face from.
+ /// @return True if the face was loaded successfully, false otherwise.
+ static bool LoadFontFace(const String& file_name);
+ /// Adds a new font face to the database, ignoring any family, style and weight information stored in the face itself.
+ /// @param[in] file_name The file to load the face from.
+ /// @param[in] family The family to add the face to.
+ /// @param[in] style The style of the face (normal or italic).
+ /// @param[in] weight The weight of the face (normal or bold).
+ /// @return True if the face was loaded successfully, false otherwise.
+ static bool LoadFontFace(const String& file_name, const String& family, Font::Style style, Font::Weight weight);
+ /// Adds a new font face to the database, loading from memory.
+ /// @param[in] data The font data.
+ /// @param[in] data_length Length of the data.
+ /// @param[in] family The family to add the face to.
+ /// @param[in] style The style of the face (normal or italic).
+ /// @param[in] weight The weight of the face (normal or bold).
+ /// @return True if the face was loaded successfully, false otherwise.
+ static bool LoadFontFace(const byte* data, int data_length, const String& family, Font::Style style, Font::Weight weight);
+
+ /// Returns a handle to a font face that can be used to position and render text. This will return the closest match
+ /// it can find, but in the event a font family is requested that does not exist, NULL will be returned instead of a
+ /// valid handle.
+ /// @param[in] family The family of the desired font handle.
+ /// @param[in] charset The set of characters required in the font face, as a comma-separated list of unicode ranges.
+ /// @param[in] style The style of the desired font handle.
+ /// @param[in] weight The weight of the desired font handle.
+ /// @param[in] size The size of desired handle, in points.
+ /// @return A valid handle if a matching (or closely matching) font face was found, NULL otherwise.
+ static FontFaceHandle* GetFontFaceHandle(const String& family, const String& charset, Font::Style style, Font::Weight weight, int size);
+
+ /// Returns a font effect, either a newly-instanced effect from the factory or an identical
+ /// shared effect.
+ /// @param[in] name The name of the desired font effect type.
+ /// @param[in] properties The properties associated with the font effect.
+ /// @return The requested font effect, or NULL if the font effect could not be found or instanced.
+ static FontEffect* GetFontEffect(const String& name, const PropertyDictionary& properties);
+
+ /// Removes a font effect from the font database's cache.
+ /// @param[in] The effect to release.
+ static void ReleaseFontEffect(const FontEffect* effect);
+
+private:
+ FontDatabase(void);
+ ~FontDatabase(void);
+
+ // Adds a loaded face to the appropriate font family.
+ bool AddFace(void* face, const String& family, Font::Style style, Font::Weight weight, bool release_stream);
+ // Loads a FreeType face.
+ void* LoadFace(const String& file_name);
+ // Loads a FreeType face from memory.
+ void* LoadFace(const byte* data, int data_length, const String& source, bool local_data);
+
+ typedef std::map< String, FontFamily*, StringUtilities::StringComparei > FontFamilyMap;
+ FontFamilyMap font_families;
+
+ static FontDatabase* instance;
+};
+
+}
+}
+
+#endif
diff --git source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/FontEffect.h source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/FontEffect.h
new file mode 100644
index 0000000..6554aeb
--- /dev/null
+++ source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/FontEffect.h
@@ -0,0 +1,129 @@
+/*
+ * This source file is part of libRocket, the HTML/CSS Interface Middleware
+ *
+ * For the latest information, see http://www.librocket.com
+ *
+ * Copyright (c) 2008-2010 CodePoint Ltd, Shift Technology Ltd
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ *
+ */
+
+#ifndef ROCKETCOREFONTEFFECT_H
+#define ROCKETCOREFONTEFFECT_H
+
+#include <Rocket/Core/FontGlyph.h>
+
+namespace Rocket {
+namespace Core {
+
+class FontEffectInstancer;
+
+/**
+ @author Peter Curry
+ */
+
+class FontEffect : public ReferenceCountable
+{
+public:
+ FontEffect();
+ virtual ~FontEffect();
+
+ /// Returns the name of the effect; this is the type that instanced the effect.
+ /// @return The effect's name.
+ const String& GetName() const;
+
+ /// Asks the font effect if it requires, and will generate, its own unique texture. If it does
+ /// not, it will share the font's base layer's textures instead.
+ /// @return True if the effect generates its own textures, false if not. The default implementation returns false.
+ virtual bool HasUniqueTexture() const;
+
+ /// Requests the effect for a size and position of a single glyph's bitmap.
+ /// @param[out] origin The desired origin of the effect's glyph bitmap, as a pixel offset from its original origin. This defaults to (0, 0).
+ /// @param[out] dimensions The desired dimensions of the effect's glyph bitmap, in pixels. This defaults to the dimensions of the glyph's original bitmap. If the font effect is not generating a unique texture, this will be ignored.
+ /// @param[in] glyph The glyph the effect is being asked to size.
+ /// @return False if the effect is not providing support for the glyph, true otherwise.
+ virtual bool GetGlyphMetrics(Vector2i& origin, Vector2i& dimensions, const FontGlyph& glyph) const;
+
+ /// Requests the effect to generate the texture data for a single glyph's bitmap. The default implementation does
+ /// nothing.
+ /// @param[out] destination_data The top-left corner of the glyph's 32-bit, RGBA-ordered, destination texture. Note that they glyph shares its texture with other glyphs.
+ /// @param[in] destination_dimensions The dimensions of the glyph's area on its texture.
+ /// @param[in] destination_stride The stride of the glyph's texture.
+ /// @param[in] glyph The glyph the effect is being asked to generate an effect texture for.
+ virtual void GenerateGlyphTexture(byte* destination_data, const Vector2i& destination_dimensions, int destination_stride, const FontGlyph& glyph) const;
+
+ /// Sets the colour of the effect's geometry.
+ /// @param[in] colour The effect's colour.
+ void SetColour(const Colourb& colour);
+ /// Returns the effect's colour.
+ /// @return The colour of the effect.
+ const Colourb& GetColour() const;
+
+ /// Sets the z-index of the font effect. An effect with a higher z-index will be rendered after
+ /// an effect with a lower z-index. By default, all effects have a z-index of 0.
+ /// @param[in] z-index The new z-index of the effect.
+ void SetZIndex(float z_index);
+ /// Returns the font effect's z-index.
+ /// @return The z-index of the effect.
+ float GetZIndex() const;
+
+ /// Sets the specificity of the font effect.
+ /// @param[in] specificity The specificity of the effect.
+ void SetSpecificity(int specificity);
+ /// Returns the specificity of the font effect. This is used when multiple pseudo-classes are
+ /// active on an element, each with similarly-named font effects.
+ /// @return The specificity of the effect.
+ int GetSpecificity() const;
+
+ /// Returns the font effect's generation key.
+ /// @return A hash of the effect's properties used to generate the geometry and texture data.
+ const String& GetGenerationKey() const;
+
+protected:
+ /// Releases the effect through its instancer.
+ virtual void OnReferenceDeactivate();
+
+private:
+ FontEffectInstancer* instancer;
+
+ // The name of the effect.
+ String name;
+
+ // The colour of the effect's geometry.
+ Colourb colour;
+
+ // The z-index of this font effect, used to resolve render order when multiple font effects are rendered.
+ float z_index;
+ // The maximum specificity of the properties used to define the font effect.
+ int specificity;
+
+ // A string identifying the properties that affected the generation of the effect's geometry and texture data.
+ String generation_key;
+
+ friend class Factory;
+};
+
+typedef std::vector< FontEffect* > FontEffectList;
+typedef std::map< String, FontEffect* > FontEffectMap;
+
+}
+}
+
+#endif
diff --git source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/FontEffectInstancer.h source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/FontEffectInstancer.h
new file mode 100644
index 0000000..718c478
--- /dev/null
+++ source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/FontEffectInstancer.h
@@ -0,0 +1,100 @@
+/*
+ * This source file is part of libRocket, the HTML/CSS Interface Middleware
+ *
+ * For the latest information, see http://www.librocket.com
+ *
+ * Copyright (c) 2008-2010 CodePoint Ltd, Shift Technology Ltd
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ *
+ */
+
+#ifndef ROCKETCOREFONTEFFECTINSTANCER_H
+#define ROCKETCOREFONTEFFECTINSTANCER_H
+
+#include <Rocket/Core/ReferenceCountable.h>
+#include <Rocket/Core/Header.h>
+#include <Rocket/Core/PropertyDictionary.h>
+#include <Rocket/Core/PropertySpecification.h>
+
+namespace Rocket {
+namespace Core {
+
+class FontEffect;
+
+/**
+ A font effect instancer provides a method for allocating and deallocating font effects.
+
+ It is important at the same instancer that allocated a font effect releases it. This ensures there are no issues
+ with memory from different DLLs getting mixed up.
+
+ @author Peter Curry
+ */
+
+class ROCKETCORE_API FontEffectInstancer : public ReferenceCountable
+{
+public:
+ FontEffectInstancer();
+ virtual ~FontEffectInstancer();
+
+ /// Instances a font effect given the property tag and attributes from the RCSS file.
+ /// @param[in] name The type of font effect desired. For example, "title-font-effect: outline;" is declared as type "outline".
+ /// @param[in] properties All RCSS properties associated with the font effect.
+ /// @return The font effect if it was instanced successfully, NULL if an error occured.
+ virtual FontEffect* InstanceFontEffect(const String& name, const PropertyDictionary& properties) = 0;
+ /// Releases the given font effect.
+ /// @param[in] font_effect Font effect to release. This is guaranteed to have been constructed by this instancer.
+ virtual void ReleaseFontEffect(FontEffect* font_effect) = 0;
+
+ /// Releases the instancer.
+ virtual void Release() = 0;
+
+ /// Returns the property specification associated with the instancer.
+ const PropertySpecification& GetPropertySpecification() const;
+
+protected:
+ /// Registers a property for the font effect.
+ /// @param[in] property_name The name of the new property (how it is specified through RCSS).
+ /// @param[in] default_value The default value to be used.
+ /// @param[in] affects_generation True if this property affects the effect's texture data or glyph size, false if not.
+ /// @return The new property definition, ready to have parsers attached.
+ PropertyDefinition& RegisterProperty(const String& property_name, const String& default_value, bool affects_generation = true);
+ /// Registers a shorthand property definition.
+ /// @param[in] shorthand_name The name to register the new shorthand property under.
+ /// @param[in] properties A comma-separated list of the properties this definition is shorthand for. The order in which they are specified here is the order in which the values will be processed.
+ /// @param[in] type The type of shorthand to declare.
+ /// @param True if all the property names exist, false otherwise.
+ bool RegisterShorthand(const String& shorthand_name, const String& property_names, PropertySpecification::ShorthandType type = PropertySpecification::AUTO);
+
+ // Releases the instancer.
+ virtual void OnReferenceDeactivate();
+
+private:
+ PropertySpecification properties;
+
+ // Properties that define the geometry.
+ std::set< String > volatile_properties;
+
+ friend class Factory;
+};
+
+}
+}
+
+#endif
diff --git source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/FontGlyph.h source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/FontGlyph.h
new file mode 100644
index 0000000..ac2fc2f
--- /dev/null
+++ source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/FontGlyph.h
@@ -0,0 +1,69 @@
+/*
+ * This source file is part of libRocket, the HTML/CSS Interface Middleware
+ *
+ * For the latest information, see http://www.librocket.com
+ *
+ * Copyright (c) 2008-2010 CodePoint Ltd, Shift Technology Ltd
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ *
+ */
+
+#ifndef ROCKETCOREFONTGLYPH_H
+#define ROCKETCOREFONTGLYPH_H
+
+#include <map>
+
+namespace Rocket {
+namespace Core {
+
+/**
+ Metrics and bitmap data for a single glyph within a font face.
+
+ @author Peter Curry
+ */
+
+class FontGlyph
+{
+public:
+ /// The unicode code point for this glyph.
+ word character;
+
+ /// The glyph's bounding box. Not to be confused with the dimensions of the glyph's bitmap!
+ Vector2i dimensions;
+ /// The distance from the cursor (positioned vertically on the baseline) to the top-left corner
+ /// of this glyph's bitmap.
+ Vector2i bearing;
+ /// The glyph's advance; this is how far the cursor will be moved along after rendering this
+ /// character.
+ int advance;
+
+ /// 8-bit opacity information for the glyph's bitmap. The size of the data is given by the
+ /// dimensions, below. This will be NULL if the glyph has no bitmap data.
+ byte* bitmap_data;
+ /// The dimensions of the glyph's bitmap.
+ Vector2i bitmap_dimensions;
+};
+
+typedef std::map< word, FontGlyph > FontGlyphMap;
+
+}
+}
+
+#endif
diff --git source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/Geometry.h source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/Geometry.h
new file mode 100644
index 0000000..c297829
--- /dev/null
+++ source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/Geometry.h
@@ -0,0 +1,101 @@
+/*
+ * This source file is part of libRocket, the HTML/CSS Interface Middleware
+ *
+ * For the latest information, see http://www.librocket.com
+ *
+ * Copyright (c) 2008-2010 CodePoint Ltd, Shift Technology Ltd
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ *
+ */
+
+#ifndef ROCKETCOREGEOMETRY_H
+#define ROCKETCOREGEOMETRY_H
+
+#include <Rocket/Core/Header.h>
+#include <Rocket/Core/Vertex.h>
+
+namespace Rocket {
+namespace Core {
+
+class Context;
+class Element;
+class RenderInterface;
+struct Texture;
+
+/**
+ A helper object for holding an array of vertices and indices, and compiling it as necessary when rendered.
+
+ @author Peter Curry
+ */
+
+class ROCKETCORE_API Geometry
+{
+public:
+ Geometry(Element* host_element = NULL);
+ Geometry(Context* host_context);
+ ~Geometry();
+
+ /// Set the host element for this geometry; this should be passed in the constructor if possible.
+ /// @param[in] host_element The new host element for the geometry.
+ void SetHostElement(Element* host_element);
+
+ /// Attempts to compile the geometry if appropriate, then renders the geometry, compiled if it can.
+ /// @param[in] translation The translation of the geometry.
+ void Render(const Vector2f& translation);
+
+ /// Returns the geometry's vertices. If these are written to, Release() should be called to force a recompile.
+ /// @return The geometry's vertex array.
+ std::vector< Vertex >& GetVertices();
+ /// Returns the geometry's indices. If these are written to, Release() should be called to force a recompile.
+ /// @return The geometry's index array.
+ std::vector< int >& GetIndices();
+
+ /// Gets the geometry's texture.
+ /// @return The geometry's texture.
+ const Texture* GetTexture() const;
+ /// Sets the geometry's texture.
+ void SetTexture(const Texture* texture);
+
+ /// Releases any previously-compiled geometry, and forces any new geometry to have a compile attempted.
+ /// @param[in] clear_buffers True to also clear the vertex and index buffers, false to leave intact.
+ void Release(bool clear_buffers = false);
+
+private:
+ // Returns the host context's render interface.
+ RenderInterface* GetRenderInterface();
+
+ Context* host_context;
+ Element* host_element;
+
+ std::vector< Vertex > vertices;
+ std::vector< int > indices;
+ const Texture* texture;
+
+ CompiledGeometryHandle compiled_geometry;
+ bool compile_attempted;
+ bool fixed_texcoords;
+};
+
+typedef std::vector< Geometry > GeometryList;
+
+}
+}
+
+#endif
diff --git source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/GeometryUtilities.h source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/GeometryUtilities.h
new file mode 100644
index 0000000..7084da2
--- /dev/null
+++ source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/GeometryUtilities.h
@@ -0,0 +1,74 @@
+/*
+ * This source file is part of libRocket, the HTML/CSS Interface Middleware
+ *
+ * For the latest information, see http://www.librocket.com
+ *
+ * Copyright (c) 2008-2010 CodePoint Ltd, Shift Technology Ltd
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ *
+ */
+
+#ifndef ROCKETCOREGEOMETRYUTILITIES_H
+#define ROCKETCOREGEOMETRYUTILITIES_H
+
+#include <Rocket/Core/Header.h>
+#include <Rocket/Core/Types.h>
+#include <Rocket/Core/Vertex.h>
+
+namespace Rocket {
+namespace Core {
+
+/**
+ A class containing helper functions for rendering geometry.
+
+ @author Robert Curry
+ */
+
+class ROCKETCORE_API GeometryUtilities
+{
+public:
+ /// Generates a quad from a position, size and colour.
+ /// @param[out] vertices An array of at least four vertices that the generated vertex data will be written into.
+ /// @param[out] indices An array of at least six indices that the generated index data will be written into.
+ /// @param[in] origin The origin of the quad to generate.
+ /// @param[in] dimensions The dimensions of the quad to generate.
+ /// @param[in] colour The colour to be assigned to each of the quad's vertices.
+ /// @param[in] index_offset The offset to be added to the generated indices; this should be the number of vertices already in the array.
+ static void GenerateQuad(Vertex* vertices, int* indices, const Vector2f& origin, const Vector2f& dimensions, const Colourb& colour, int index_offset = 0);
+ /// Generates a quad from a position, size, colour and texture coordinates.
+ /// @param[out] vertices An array of at least four vertices that the generated vertex data will be written into.
+ /// @param[out] indices An array of at least six indices that the generated index data will be written into.
+ /// @param[in] origin The origin of the quad to generate.
+ /// @param[in] dimensions The dimensions of the quad to generate.
+ /// @param[in] colour The colour to be assigned to each of the quad's vertices.
+ /// @param[in] top_left_texcoord The texture coordinates at the top-left of the quad.
+ /// @param[in] bottom_right_texcoord The texture coordinates at the bottom-right of the quad.
+ /// @param[in] index_offset The offset to be added to the generated indices; this should be the number of vertices already in the array.
+ static void GenerateQuad(Vertex* vertices, int* indices, const Vector2f& origin, const Vector2f& dimensions, const Colourb& colour, const Vector2f& top_left_texcoord, const Vector2f& bottom_right_texcoord, int index_offset = 0);
+
+private:
+ GeometryUtilities();
+ ~GeometryUtilities();
+};
+
+}
+}
+
+#endif
diff --git source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/Header.h source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/Header.h
new file mode 100644
index 0000000..73f94e5
--- /dev/null
+++ source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/Header.h
@@ -0,0 +1,47 @@
+/*
+ * This source file is part of libRocket, the HTML/CSS Interface Middleware
+ *
+ * For the latest information, see http://www.librocket.com
+ *
+ * Copyright (c) 2008-2010 CodePoint Ltd, Shift Technology Ltd
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ *
+ */
+
+#ifndef ROCKETCOREHEADER_H
+#define ROCKETCOREHEADER_H
+
+#include <Rocket/Core/Platform.h>
+
+#if !defined STATIC_LIB
+ #if defined ROCKET_PLATFORM_WIN32
+ #if defined RocketCore_EXPORTS
+ #define ROCKETCORE_API __declspec(dllexport)
+ #else
+ #define ROCKETCORE_API __declspec(dllimport)
+ #endif
+ #else
+ #define ROCKETCORE_API __attribute__((visibility("default")))
+ #endif
+#else
+ #define ROCKETCORE_API
+#endif
+
+#endif
diff --git source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/Input.h source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/Input.h
new file mode 100644
index 0000000..e733857
--- /dev/null
+++ source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/Input.h
@@ -0,0 +1,275 @@
+/*
+ * This source file is part of libRocket, the HTML/CSS Interface Middleware
+ *
+ * For the latest information, see http://www.librocket.com
+ *
+ * Copyright (c) 2008-2010 CodePoint Ltd, Shift Technology Ltd
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ *
+ */
+
+#ifndef ROCKETCOREINPUT_H
+#define ROCKETCOREINPUT_H
+
+namespace Rocket {
+namespace Core {
+
+/*
+ Enumerants for sending input events into Rocket.
+
+ @author Peter Curry
+ */
+
+namespace Input
+{
+ enum KeyIdentifier
+ {
+ KI_UNKNOWN = 0,
+
+ KI_SPACE = 1,
+
+ KI_0 = 2,
+ KI_1 = 3,
+ KI_2 = 4,
+ KI_3 = 5,
+ KI_4 = 6,
+ KI_5 = 7,
+ KI_6 = 8,
+ KI_7 = 9,
+ KI_8 = 10,
+ KI_9 = 11,
+
+ KI_A = 12,
+ KI_B = 13,
+ KI_C = 14,
+ KI_D = 15,
+ KI_E = 16,
+ KI_F = 17,
+ KI_G = 18,
+ KI_H = 19,
+ KI_I = 20,
+ KI_J = 21,
+ KI_K = 22,
+ KI_L = 23,
+ KI_M = 24,
+ KI_N = 25,
+ KI_O = 26,
+ KI_P = 27,
+ KI_Q = 28,
+ KI_R = 29,
+ KI_S = 30,
+ KI_T = 31,
+ KI_U = 32,
+ KI_V = 33,
+ KI_W = 34,
+ KI_X = 35,
+ KI_Y = 36,
+ KI_Z = 37,
+
+ KI_OEM_1 = 38, // US standard keyboard; the ';:' key.
+ KI_OEM_PLUS = 39, // Any region; the '=+' key.
+ KI_OEM_COMMA = 40, // Any region; the ',<' key.
+ KI_OEM_MINUS = 41, // Any region; the '-_' key.
+ KI_OEM_PERIOD = 42, // Any region; the '.>' key.
+ KI_OEM_2 = 43, // Any region; the '/?' key.
+ KI_OEM_3 = 44, // Any region; the '`~' key.
+
+ KI_OEM_4 = 45, // US standard keyboard; the '[{' key.
+ KI_OEM_5 = 46, // US standard keyboard; the '\|' key.
+ KI_OEM_6 = 47, // US standard keyboard; the ']}' key.
+ KI_OEM_7 = 48, // US standard keyboard; the ''"' key.
+ KI_OEM_8 = 49,
+
+ KI_OEM_102 = 50, // RT 102-key keyboard; the '<>' or '\|' key.
+
+ KI_NUMPAD0 = 51,
+ KI_NUMPAD1 = 52,
+ KI_NUMPAD2 = 53,
+ KI_NUMPAD3 = 54,
+ KI_NUMPAD4 = 55,
+ KI_NUMPAD5 = 56,
+ KI_NUMPAD6 = 57,
+ KI_NUMPAD7 = 58,
+ KI_NUMPAD8 = 59,
+ KI_NUMPAD9 = 60,
+ KI_NUMPADENTER = 61,
+ KI_MULTIPLY = 62, // Asterisk on the numeric keypad.
+ KI_ADD = 63, // Plus on the numeric keypad.
+ KI_SEPARATOR = 64,
+ KI_SUBTRACT = 65, // Minus on the numeric keypad.
+ KI_DECIMAL = 66, // Period on the numeric keypad.
+ KI_DIVIDE = 67, // Forward Slash on the numeric keypad.
+
+ /*
+ * NEC PC-9800 kbd definitions
+ */
+ KI_OEM_NEC_EQUAL = 68, // Equals key on the numeric keypad.
+
+ KI_BACK = 69, // Backspace key.
+ KI_TAB = 70, // Tab key.
+
+ KI_CLEAR = 71,
+ KI_RETURN = 72,
+
+ KI_PAUSE = 73,
+ KI_CAPITAL = 74, // Capslock key.
+
+ KI_KANA = 75, // IME Kana mode.
+ KI_HANGUL = 76, // IME Hangul mode.
+ KI_JUNJA = 77, // IME Junja mode.
+ KI_FINAL = 78, // IME final mode.
+ KI_HANJA = 79, // IME Hanja mode.
+ KI_KANJI = 80, // IME Kanji mode.
+
+ KI_ESCAPE = 81, // Escape key.
+
+ KI_CONVERT = 82, // IME convert.
+ KI_NONCONVERT = 83, // IME nonconvert.
+ KI_ACCEPT = 84, // IME accept.
+ KI_MODECHANGE = 85, // IME mode change request.
+
+ KI_PRIOR = 86, // Page Up key.
+ KI_NEXT = 87, // Page Down key.
+ KI_END = 88,
+ KI_HOME = 89,
+ KI_LEFT = 90, // Left Arrow key.
+ KI_UP = 91, // Up Arrow key.
+ KI_RIGHT = 92, // Right Arrow key.
+ KI_DOWN = 93, // Down Arrow key.
+ KI_SELECT = 94,
+ KI_PRINT = 95,
+ KI_EXECUTE = 96,
+ KI_SNAPSHOT = 97, // Print Screen key.
+ KI_INSERT = 98,
+ KI_DELETE = 99,
+ KI_HELP = 100,
+
+ KI_LWIN = 101, // Left Windows key.
+ KI_RWIN = 102, // Right Windows key.
+ KI_APPS = 103, // Applications key.
+
+ KI_POWER = 104,
+ KI_SLEEP = 105,
+ KI_WAKE = 106,
+
+ KI_F1 = 107,
+ KI_F2 = 108,
+ KI_F3 = 109,
+ KI_F4 = 110,
+ KI_F5 = 111,
+ KI_F6 = 112,
+ KI_F7 = 113,
+ KI_F8 = 114,
+ KI_F9 = 115,
+ KI_F10 = 116,
+ KI_F11 = 117,
+ KI_F12 = 118,
+ KI_F13 = 119,
+ KI_F14 = 120,
+ KI_F15 = 121,
+ KI_F16 = 122,
+ KI_F17 = 123,
+ KI_F18 = 124,
+ KI_F19 = 125,
+ KI_F20 = 126,
+ KI_F21 = 127,
+ KI_F22 = 128,
+ KI_F23 = 129,
+ KI_F24 = 130,
+
+ KI_NUMLOCK = 131, // Numlock key.
+ KI_SCROLL = 132, // Scroll Lock key.
+
+ /*
+ * Fujitsu/OASYS kbd definitions
+ */
+ KI_OEM_FJ_JISHO = 133, // 'Dictionary' key.
+ KI_OEM_FJ_MASSHOU = 134, // 'Unregister word' key.
+ KI_OEM_FJ_TOUROKU = 135, // 'Register word' key.
+ KI_OEM_FJ_LOYA = 136, // 'Left OYAYUBI' key.
+ KI_OEM_FJ_ROYA = 137, // 'Right OYAYUBI' key.
+
+ KI_LSHIFT = 138,
+ KI_RSHIFT = 139,
+ KI_LCONTROL = 140,
+ KI_RCONTROL = 141,
+ KI_LMENU = 142,
+ KI_RMENU = 143,
+
+ KI_BROWSER_BACK = 144,
+ KI_BROWSER_FORWARD = 145,
+ KI_BROWSER_REFRESH = 146,
+ KI_BROWSER_STOP = 147,
+ KI_BROWSER_SEARCH = 148,
+ KI_BROWSER_FAVORITES = 149,
+ KI_BROWSER_HOME = 150,
+
+ KI_VOLUME_MUTE = 151,
+ KI_VOLUME_DOWN = 152,
+ KI_VOLUME_UP = 153,
+ KI_MEDIA_NEXT_TRACK = 154,
+ KI_MEDIA_PREV_TRACK = 155,
+ KI_MEDIA_STOP = 156,
+ KI_MEDIA_PLAY_PAUSE = 157,
+ KI_LAUNCH_MAIL = 158,
+ KI_LAUNCH_MEDIA_SELECT = 159,
+ KI_LAUNCH_APP1 = 160,
+ KI_LAUNCH_APP2 = 161,
+
+ /*
+ * Various extended or enhanced keyboards
+ */
+ KI_OEM_AX = 162,
+ KI_ICO_HELP = 163,
+ KI_ICO_00 = 164,
+
+ KI_PROCESSKEY = 165, // IME Process key.
+
+ KI_ICO_CLEAR = 166,
+
+ KI_ATTN = 167,
+ KI_CRSEL = 168,
+ KI_EXSEL = 169,
+ KI_EREOF = 170,
+ KI_PLAY = 171,
+ KI_ZOOM = 172,
+ KI_PA1 = 173,
+ KI_OEM_CLEAR = 174,
+
+ KI_LMETA = 175,
+ KI_RMETA = 176
+ };
+
+ enum KeyModifier
+ {
+ KM_CTRL = 1 << 0, // Set if at least one Ctrl key is depressed.
+ KM_SHIFT = 1 << 1, // Set if at least one Shift key is depressed.
+ KM_ALT = 1 << 2, // Set if at least one Alt key is depressed.
+ KM_META = 1 << 3, // Set if at least one Meta key (the command key) is depressed.
+ KM_CAPSLOCK = 1 << 4, // Set if caps lock is enabled.
+ KM_NUMLOCK = 1 << 5, // Set if num lock is enabled.
+ KM_SCROLLLOCK = 1 << 6 // Set if scroll lock is enabled.
+ };
+}
+
+}
+}
+
+#endif
diff --git source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/Log.h source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/Log.h
new file mode 100644
index 0000000..9e0b6fa
--- /dev/null
+++ source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/Log.h
@@ -0,0 +1,79 @@
+/*
+ * This source file is part of libRocket, the HTML/CSS Interface Middleware
+ *
+ * For the latest information, see http://www.librocket.com
+ *
+ * Copyright (c) 2008-2010 CodePoint Ltd, Shift Technology Ltd
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ *
+ */
+
+#ifndef ROCKETCORELOG_H
+#define ROCKETCORELOG_H
+
+#include <Rocket/Core/Header.h>
+#include <Rocket/Core/Types.h>
+
+namespace Rocket {
+namespace Core {
+
+/**
+ libRocket logging API.
+
+ @author Lloyd Weehuizen
+ */
+
+class ROCKETCORE_API Log
+{
+public:
+ enum Type
+ {
+ LT_ALWAYS = 0,
+ LT_ERROR,
+ LT_ASSERT,
+ LT_WARNING,
+ LT_INFO,
+ LT_DEBUG,
+ LT_MAX
+ };
+
+public:
+ /// Initialises the logging interface.
+ /// @return True if the logging interface was successful, false if not.
+ static bool Initialise();
+ /// Shutdown the log interface.
+ static void Shutdown();
+
+ /// Log the specified message via the registered log interface
+ /// @param[in] type Type of message.
+ /// @param[in] format The message, with sprintf-style parameters.
+ static void Message(Type type, const char* format, ...);
+
+ /// Log a parse error on the specified file and line number.
+ /// @param[in] filename Name of the file with the parse error.
+ /// @param[in] line_number Line the error occured on.
+ /// @param[in] format The error message, with sprintf-style parameters.
+ static void ParseError(const String& filename, int line_number, const char* format, ...);
+};
+
+}
+}
+
+#endif
diff --git source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/Math.h source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/Math.h
new file mode 100644
index 0000000..9170f0b
--- /dev/null
+++ source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/Math.h
@@ -0,0 +1,181 @@
+/*
+ * This source file is part of libRocket, the HTML/CSS Interface Middleware
+ *
+ * For the latest information, see http://www.librocket.com
+ *
+ * Copyright (c) 2008-2010 CodePoint Ltd, Shift Technology Ltd
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ *
+ */
+
+#ifndef ROCKETCOREMATH_H
+#define ROCKETCOREMATH_H
+
+#include <Rocket/Core/Header.h>
+
+namespace Rocket {
+namespace Core {
+namespace Math {
+
+// The constant PI / 2.
+extern ROCKETCORE_API const float PI_BY_TWO;
+// The constant PI.
+extern ROCKETCORE_API const float PI;
+// The constant 2 * PI / 3.
+extern ROCKETCORE_API const float TWO_PI_BY_THREE;
+// The constant 2 * PI.
+extern ROCKETCORE_API const float TWO_PI;
+
+
+template < typename Type >
+Type Max(Type a, Type b)
+{
+ return (a > b) ? a : b;
+}
+
+template< typename Type >
+Type Min(Type a, Type b)
+{
+ return (a < b) ? a : b;
+}
+
+template < typename Type >
+Type ClampLower(Type value, Type min)
+{
+ return (value < min) ? min : value;
+}
+
+template < typename Type >
+Type ClampUpper(Type value, Type max)
+{
+ return (value > max) ? max: value;
+}
+
+template< typename Type >
+Type Clamp(Type value, Type min, Type max)
+{
+ return (value < min) ? min : (value > max) ? max : value;
+}
+
+/// Evaluates if a number is, or close to, zero.
+/// @param[in] value The number to compare to zero.
+/// @return True if the number if zero or close to it, false otherwise.
+ROCKETCORE_API bool IsZero(float value);
+/// Evaluates if two floating-point numbers are equal, or so similar that they could be considered
+/// so.
+/// @param[in] value_0 The first number to compare.
+/// @param[in] value_1 The second number to compare.
+/// @return True if the numbers are similar or equal.
+ROCKETCORE_API bool AreEqual(float value_0, float value_1);
+
+/// Calculates the absolute value of a number.
+/// @param[in] value The number of get the absolute value of.
+/// @return The absolute value of the number.
+ROCKETCORE_API float AbsoluteValue(float value);
+
+/// Calculates the cosine of an angle.
+/// @param[in] angle The angle to calculate the cosine of, in radians.
+/// @return The cosine of the angle.
+ROCKETCORE_API float Cos(float angle);
+/// Calculates the arc-cosine of an value.
+/// @param[in] angle The value to calculate the arc-cosine of.
+/// @return The angle, in radians.
+ROCKETCORE_API float ACos(float value);
+/// Calculates the sine of an angle.
+/// @param[in] angle The angle to calculate the sine of, in radians.
+/// @return The sine of the angle.
+ROCKETCORE_API float Sin(float angle);
+/// Calculates the arc-sine of an value.
+/// @param[in] angle The value to calculate the arc-sine of.
+/// @return The angle, in radians.
+ROCKETCORE_API float ASin(float angle);
+/// Calculates the tangent of an angle.
+/// @param[in] angle The angle to calculate the tangent of, in radians.
+/// @return The tanget of the angle.
+ROCKETCORE_API float Tan(float angle);
+/// Calculates the angle of a two-dimensional line.
+/// @param[in] y The y-component of the line.
+/// @param[in] x The x-component of the line.
+/// @return The angle of the line in radians.
+ROCKETCORE_API float ATan2(float y, float x);
+
+/// Converts an angle from radians to degrees.
+/// @param[in] The angle, in radians.
+/// @return The angle converted to degrees.
+ROCKETCORE_API float RadiansToDegrees(float angle);
+/// Converts an angle from degrees to radians.
+/// @param[in] The angle, in degrees.
+/// @return The angle converted to radians.
+ROCKETCORE_API float DegreesToRadians(float angle);
+/// Normalises and angle in radians
+/// @param[in] The angle, in randians
+/// @return The normalised angle
+ROCKETCORE_API float NormaliseAngle(float angle);
+
+/// Calculates the square root of a value.
+/// @param[in] value The value to calculate the square root of. This must be above zero.
+/// @return The square root of the value.
+ROCKETCORE_API float SquareRoot(float value);
+
+/// Rounds a floating-point value to the nearest integer.
+/// @param[in] value The value to round.
+/// @return The rounded integer.
+ROCKETCORE_API int Round(float value);
+/// Rounds a floating-point value up to the nearest integer.
+/// @param[in] value The value to round.
+/// @return The rounded integer.
+ROCKETCORE_API int RoundUp(float value);
+/// Rounds a floating-point value down to the nearest integer.
+/// @param[in] value The value to round.
+/// @return The rounded integer.
+ROCKETCORE_API int RoundDown(float value);
+
+/// Efficiently truncates a floating-point value into an integer.
+/// @param[in] value The value to truncate.
+/// @return The truncated value as a signed integer.
+ROCKETCORE_API int RealToInteger(float value);
+
+/// Converts a number to the nearest power of two, rounding up if necessary.
+/// @param[in] value The value to convert to a power-of-two.
+/// @return The smallest power of two that is as least as big as the input value.
+ROCKETCORE_API int ToPowerOfTwo(int value);
+
+/// Converts from the ASCII-representation of a hexadecimal digit to decimal.
+/// @param[in] hex_digit The hexadecimal digit to convert to decimal.
+/// @return The digit in decimal.
+ROCKETCORE_API int HexToDecimal(char hex_digit);
+
+/// Generates a random floating-point value between 0 and a user-specified value.
+/// @param[in] max_value The limit to random value. The generated value will be guaranteed to be below this limit.
+/// @return The random value.
+ROCKETCORE_API float RandomReal(float max_value);
+/// Generates a random integer value between 0 and a user-specified value.
+/// @param[in] max_value The limit to random value. The generated value will be guaranteed to be below this limit.
+/// @return The random value.
+ROCKETCORE_API int RandomInteger(int max_value);
+/// Generates a random boolean value, with equal chance of true or false.
+/// @return The random value.
+ROCKETCORE_API bool RandomBool();
+
+}
+}
+}
+
+#endif
diff --git source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/MathTypes.h source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/MathTypes.h
new file mode 100644
index 0000000..e62b443
--- /dev/null
+++ source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/MathTypes.h
@@ -0,0 +1,60 @@
+/*
+ * This source file is part of libRocket, the HTML/CSS Interface Middleware
+ *
+ * For the latest information, see http://www.librocket.com
+ *
+ * Copyright (c) 2008-2010 CodePoint Ltd, Shift Technology Ltd
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ *
+ */
+
+#ifndef ROCKETCOREMATHTYPES_H
+#define ROCKETCOREMATHTYPES_H
+
+#include <Rocket/Core/Header.h>
+#include <Rocket/Core/Vector2.h>
+#include <Rocket/Core/Vector3.h>
+#include <Rocket/Core/Vector4.h>
+
+namespace Rocket {
+namespace Core {
+
+// Define common Vector2 types.
+typedef Vector2< int > Vector2i;
+typedef Vector2< float > Vector2f;
+ROCKETCORE_API Vector2i operator*(int lhs, const Vector2i& rhs);
+ROCKETCORE_API Vector2f operator*(float lhs, const Vector2f& rhs);
+
+// Define common Vector3 types.
+typedef Vector3< int > Vector3i;
+typedef Vector3< float > Vector3f;
+ROCKETCORE_API Vector3i operator*(int lhs, const Vector3i& rhs);
+ROCKETCORE_API Vector3f operator*(float lhs, const Vector3f& rhs);
+
+// Define common Vector4 types.
+typedef Vector4< int > Vector4i;
+typedef Vector4< float > Vector4f;
+ROCKETCORE_API Vector4i operator*(int lhs, const Vector4i& rhs);
+ROCKETCORE_API Vector4f operator*(float lhs, const Vector4f& rhs);
+
+}
+}
+
+#endif
diff --git source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/Platform.h source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/Platform.h
new file mode 100644
index 0000000..9b6b2b1
--- /dev/null
+++ source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/Platform.h
@@ -0,0 +1,78 @@
+/*
+ * This source file is part of libRocket, the HTML/CSS Interface Middleware
+ *
+ * For the latest information, see http://www.librocket.com
+ *
+ * Copyright (c) 2008-2010 CodePoint Ltd, Shift Technology Ltd
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ *
+ */
+
+#ifndef ROCKETCOREPLATFORM_H
+#define ROCKETCOREPLATFORM_H
+
+#if defined __WIN32__ || defined _WIN32
+ #define ROCKET_PLATFORM_WIN32
+ #define ROCKET_PLATFORM_NAME "win32"
+ #if !defined(__MINGW32__)
+ #pragma warning(disable:4355)
+ #endif
+#elif defined __APPLE_CC__
+ #define ROCKET_PLATFORM_UNIX
+ #define ROCKET_PLATFORM_MACOSX
+ #define ROCKET_PLATFORM_NAME "macosx"
+#else
+ #define ROCKET_PLATFORM_UNIX
+ #define ROCKET_PLATFORM_LINUX
+ #define ROCKET_PLATFORM_NAME "linux"
+#endif
+
+#if !defined NDEBUG && !defined ROCKET_DEBUG
+ #define ROCKET_DEBUG
+#endif
+
+#if defined __x86_64__ || defined _M_X64 || defined __powerpc64__ || defined __alpha__ || defined __ia64__ || defined __s390__ || defined __s390x__
+ #define ROCKET_ARCH_64
+#else
+ #define ROCKET_ARCH_32
+#endif
+
+
+#if defined(ROCKET_PLATFORM_WIN32) && !defined(__MINGW32__)
+ // alignment of a member was sensitive to packing
+ #pragma warning(disable : 4121)
+
+ // <type> needs to have dll-interface to be used by clients
+ #pragma warning(disable : 4251)
+
+ // assignment operator could not be generated
+ #pragma warning(disable : 4512)
+
+ // <function> was declared deprecated
+ #pragma warning(disable : 4996)
+
+ #if !defined _CRT_SECURE_NO_DEPRECATE
+ #define _CRT_SECURE_NO_DEPRECATE
+ #endif
+#endif
+
+#define ROCKET_UNUSED(x)
+
+#endif
diff --git source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/Plugin.h source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/Plugin.h
new file mode 100644
index 0000000..bb4723c
--- /dev/null
+++ source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/Plugin.h
@@ -0,0 +1,92 @@
+/*
+ * This source file is part of libRocket, the HTML/CSS Interface Middleware
+ *
+ * For the latest information, see http://www.librocket.com
+ *
+ * Copyright (c) 2008-2010 CodePoint Ltd, Shift Technology Ltd
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ *
+ */
+
+#ifndef ROCKETCOREPLUGIN_H
+#define ROCKETCOREPLUGIN_H
+
+#include <Rocket/Core/Header.h>
+
+namespace Rocket {
+namespace Core {
+
+class Element;
+class ElementDocument;
+class Context;
+
+/**
+ Generic Interface for plugins to Rocket.
+
+ @author Lloyd Weehuizen
+ */
+
+class ROCKETCORE_API Plugin
+{
+public:
+ virtual ~Plugin();
+
+ enum EventClasses
+ {
+ EVT_BASIC = (1 << 0), // Initialise, Shutdown, ContextCreate, ContextDestroy
+ EVT_DOCUMENT = (1 << 1), // DocumentOpen, DocumentLoad, DocumentUnload
+ EVT_ELEMENT = (1 << 2), // ElementCreate, ElementDestroy
+
+ EVT_ALL = EVT_BASIC | EVT_DOCUMENT | EVT_ELEMENT
+ };
+ /// Called when the plugin is registered to determine
+ /// which of the above event types the plugin is interested in
+ virtual int GetEventClasses();
+
+ /// Called when Rocket is initialised, or immediately when the plugin registers itself if
+ /// Rocket has already been initialised.
+ virtual void OnInitialise();
+ /// Called when Rocket shuts down.
+ virtual void OnShutdown();
+
+ /// Called when a new context is created.
+ virtual void OnContextCreate(Context* context);
+ /// Called when a context is destroyed.
+ virtual void OnContextDestroy(Context* context);
+
+ /// Called when a document load request occurs, before the document's file is opened.
+ virtual void OnDocumentOpen(Context* context, const String& document_path);
+ /// Called when a document is successfully loaded from file or instanced, initialised and added
+ /// to its context. This is called before the document's 'load' event.
+ virtual void OnDocumentLoad(ElementDocument* document);
+ /// Called when a document is unloaded from its context. This is called after the document's
+ /// 'unload' event.
+ virtual void OnDocumentUnload(ElementDocument* document);
+
+ /// Called when a new element is created.
+ virtual void OnElementCreate(Element* element);
+ /// Called when an element is destroyed.
+ virtual void OnElementDestroy(Element* element);
+};
+
+}
+}
+
+#endif
diff --git source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/Pool.inl source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/Pool.inl
new file mode 100644
index 0000000..51dcdeb
--- /dev/null
+++ source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/Pool.inl
@@ -0,0 +1,247 @@
+/*
+ * This source file is part of libRocket, the HTML/CSS Interface Middleware
+ *
+ * For the latest information, see http://www.librocket.com
+ *
+ * Copyright (c) 2008-2010 CodePoint Ltd, Shift Technology Ltd
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ *
+ */
+
+template < typename PoolType >
+Pool< PoolType >::Pool(int _chunk_size, bool _grow)
+{
+ chunk_size = 0;
+ grow = _grow;
+
+ num_allocated_objects = 0;
+
+ pool = NULL;
+ first_allocated_node = NULL;
+ first_free_node = NULL;
+
+ if (_chunk_size > 0)
+ Initialise(_chunk_size, _grow);
+}
+
+template < typename PoolType >
+Pool< PoolType >::~Pool()
+{
+ PoolChunk* chunk = pool;
+ while (chunk)
+ {
+ PoolChunk* next_chunk = chunk->next;
+
+ delete[] chunk->chunk;
+ delete chunk;
+
+ chunk = next_chunk;
+ }
+}
+
+// Initialises the pool to a given size.
+template < typename PoolType >
+void Pool< PoolType >::Initialise(int _chunk_size, bool _grow)
+{
+ // Should resize the pool here ... ?
+ if (chunk_size > 0)
+ return;
+
+ if (_chunk_size <= 0)
+ return;
+
+ grow = _grow;
+ chunk_size = _chunk_size;
+ pool = NULL;
+
+ // Create the initial chunk.
+ CreateChunk();
+}
+
+// Returns the head of the linked list of allocated objects.
+template < typename PoolType >
+typename Pool< PoolType >::Iterator Pool< PoolType >::Begin()
+{
+ return typename Pool< PoolType >::Iterator(first_allocated_node);
+}
+
+// Attempts to allocate a deallocated object in the memory pool.
+template < typename PoolType >
+PoolType* Pool< PoolType >::AllocateObject()
+{
+ // We can't allocate a new object if the deallocated list is empty.
+ if (first_free_node == NULL)
+ {
+ // Attempt to grow the pool first.
+ if (grow)
+ {
+ CreateChunk();
+ if (first_free_node == NULL)
+ return NULL;
+ }
+ else
+ return NULL;
+ }
+
+ // We're about to allocate an object.
+ ++num_allocated_objects;
+
+ // This one!
+ PoolNode* allocated_object = first_free_node;
+
+ // Remove the newly allocated object from the list of deallocated objects.
+ first_free_node = first_free_node->next;
+ if (first_free_node != NULL)
+ first_free_node->previous = NULL;
+
+ // Add the newly allocated object to the head of the list of allocated objects.
+ if (first_allocated_node != NULL)
+ {
+ allocated_object->previous = NULL;
+ allocated_object->next = first_allocated_node;
+ first_allocated_node->previous = allocated_object;
+ }
+ else
+ {
+ // This object is the only allocated object.
+ allocated_object->previous = NULL;
+ allocated_object->next = NULL;
+ }
+
+ first_allocated_node = allocated_object;
+
+ return new (&allocated_object->object) PoolType();
+}
+
+// Deallocates the object pointed to by the given iterator.
+template < typename PoolType >
+void Pool< PoolType >::DeallocateObject(Iterator& iterator)
+{
+ // We're about to deallocate an object.
+ --num_allocated_objects;
+
+ PoolNode* object = iterator.node;
+ object->object.~PoolType();
+
+ // Get the previous and next pointers now, because they will be overwritten
+ // before we're finished.
+ PoolNode* previous_object = object->previous;
+ PoolNode* next_object = object->next;
+
+ if (previous_object != NULL)
+ previous_object->next = next_object;
+ else
+ {
+ ROCKET_ASSERT(first_allocated_node == object);
+ first_allocated_node = next_object;
+ }
+
+ if (next_object != NULL)
+ next_object->previous = previous_object;
+
+ // Insert the freed node at the beginning of the free object list.
+ if (first_free_node == NULL)
+ {
+ object->previous = NULL;
+ object->next = NULL;
+ }
+ else
+ {
+ object->previous = NULL;
+ object->next = first_free_node;
+ }
+
+ first_free_node = object;
+
+ // Increment the iterator, so it points to the next active object.
+ iterator.node = next_object;
+}
+
+// Deallocates the given object.
+template < typename PoolType >
+void Pool< PoolType >::DeallocateObject(PoolType* object)
+{
+ // This assumes the object has the same address as the node, which will be
+ // true as long as the struct definition does not change.
+ Iterator iterator((PoolNode*) object);
+ DeallocateObject(iterator);
+}
+
+// Returns the number of objects in the pool.
+template < typename PoolType >
+int Pool< PoolType >::GetSize() const
+{
+ return chunk_size * GetNumChunks();
+}
+
+/// Returns the number of object chunks in the pool.
+template < typename PoolType >
+int Pool< PoolType >::GetNumChunks() const
+{
+ int num_chunks = 0;
+
+ PoolChunk* chunk = pool;
+ while (chunk != NULL)
+ {
+ ++num_chunks;
+ chunk = chunk->next;
+ }
+
+ return num_chunks;
+}
+
+// Returns the number of allocated objects in the pool.
+template < typename PoolType >
+int Pool< PoolType >::GetNumAllocatedObjects() const
+{
+ return num_allocated_objects;
+}
+
+// Creates a new pool chunk and appends its nodes to the beginning of the free list.
+template < typename PoolType >
+void Pool< PoolType >::CreateChunk()
+{
+ if (chunk_size <= 0)
+ return;
+
+ // Create the new chunk and mark it as the first chunk.
+ PoolChunk* new_chunk = new PoolChunk();
+ new_chunk->next = pool;
+ pool = new_chunk;
+
+ // Create chunk's pool nodes.
+ new_chunk->chunk = new PoolNode[chunk_size];
+
+ // Initialise the linked list.
+ for (int i = 0; i < chunk_size; i++)
+ {
+ if (i == 0)
+ new_chunk->chunk[i].previous = NULL ;
+ else
+ new_chunk->chunk[i].previous = &new_chunk->chunk[i - 1];
+
+ if (i == chunk_size - 1)
+ new_chunk->chunk[i].next = first_free_node;
+ else
+ new_chunk->chunk[i].next = &new_chunk->chunk[i + 1];
+ }
+
+ first_free_node = new_chunk->chunk;
+}
diff --git source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/Property.h source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/Property.h
new file mode 100644
index 0000000..bb42f57
--- /dev/null
+++ source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/Property.h
@@ -0,0 +1,102 @@
+/*
+ * This source file is part of libRocket, the HTML/CSS Interface Middleware
+ *
+ * For the latest information, see http://www.librocket.com
+ *
+ * Copyright (c) 2008-2010 CodePoint Ltd, Shift Technology Ltd
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ *
+ */
+
+#ifndef ROCKETCOREPROPERTY_H
+#define ROCKETCOREPROPERTY_H
+
+#include <Rocket/Core/Variant.h>
+#include <Rocket/Core/Header.h>
+
+namespace Rocket {
+namespace Core {
+
+class PropertyDefinition;
+
+/**
+ @author Peter Curry
+ */
+
+class ROCKETCORE_API Property
+{
+public:
+ enum Unit
+ {
+ UNKNOWN = 1 << 0,
+
+ KEYWORD = 1 << 1, // generic keyword; fetch as < int >
+
+ STRING = 1 << 2, // generic string; fetch as < String >
+
+ // Absolute values.
+ NUMBER = 1 << 3, // number unsuffixed; fetch as < float >
+ PX = 1 << 4, // number suffixed by 'px'; fetch as < float >
+ COLOUR = 1 << 5, // colour; fetch as < Colourb >
+ ABSOLUTE_UNIT = NUMBER | PX | COLOUR,
+
+ // Relative values.
+ EM = 1 << 6, // number suffixed by 'em'; fetch as < float >
+ PERCENT = 1 << 7, // number suffixed by '%'; fetch as < float >
+ RELATIVE_UNIT = EM | PERCENT
+ };
+
+ Property();
+ template < typename PropertyType >
+ Property(PropertyType value, Unit unit, int specificity = -1) : value(Variant(value)), unit(unit), specificity(specificity)
+ {
+ definition = NULL;
+ parser_index = -1;
+
+ source_line_number = 0;
+ }
+
+ ~Property();
+
+ /// Get the value of the property as a string.
+ String ToString() const;
+
+ /// Templatised accessor.
+ template <typename T>
+ T Get() const
+ {
+ return value.Get<T>();
+ }
+
+ Variant value;
+ Unit unit;
+ int specificity;
+
+ const PropertyDefinition* definition;
+ int parser_index;
+
+ String source;
+ int source_line_number;
+};
+
+}
+}
+
+#endif
diff --git source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/PropertyDefinition.h source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/PropertyDefinition.h
new file mode 100644
index 0000000..6cf54ae
--- /dev/null
+++ source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/PropertyDefinition.h
@@ -0,0 +1,91 @@
+/*
+ * This source file is part of libRocket, the HTML/CSS Interface Middleware
+ *
+ * For the latest information, see http://www.librocket.com
+ *
+ * Copyright (c) 2008-2010 CodePoint Ltd, Shift Technology Ltd
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ *
+ */
+
+#ifndef ROCKETCOREPROPERTYDEFINITION_H
+#define ROCKETCOREPROPERTYDEFINITION_H
+
+#include <Rocket/Core/Header.h>
+#include <Rocket/Core/Property.h>
+#include <Rocket/Core/PropertyParser.h>
+
+namespace Rocket {
+namespace Core {
+
+/**
+ @author Peter Curry
+ */
+
+class ROCKETCORE_API PropertyDefinition
+{
+public:
+ PropertyDefinition(const String& default_value, bool inherited, bool forces_layout);
+ virtual ~PropertyDefinition();
+
+ /// Registers a parser to parse values for this definition.
+ /// @param[in] parser_name The name of the parser (default parsers are 'string', 'keyword', 'number' and 'colour').
+ /// @param[in] parser_parameters A comma-separated list of validation parameters for the parser.
+ /// @return This property definition.
+ PropertyDefinition& AddParser(const String& parser_name, const String& parser_parameters = "");
+
+ /// Called when parsing a RCSS declaration.
+ /// @param property[out] The property to set the parsed value onto.
+ /// @param value[in] The raw value defined for this property.
+ /// @return True if all values were parsed successfully, false otherwise.
+ bool ParseValue(Property& property, const String& value) const;
+ /// Called to convert a parsed property back into a value.
+ /// @param value[out] The string to return the value in.
+ /// @param property[in] The processed property to parse.
+ /// @return True if the property was reverse-engineered successfully, false otherwise.
+ bool GetValue(String& value, const Property& property) const;
+
+ /// Returns true if this property is inherited from parent to child elements.
+ bool IsInherited() const;
+
+ /// Returns true if this property forces a re-layout when changed.
+ bool IsLayoutForced() const;
+
+ /// Returns the default defined for this property.
+ const Property* GetDefaultValue() const;
+
+private:
+ Property default_value;
+ bool inherited;
+ bool forces_layout;
+
+ struct ParserState
+ {
+ PropertyParser* parser;
+ ParameterMap parameters;
+ };
+
+ std::vector< ParserState > parsers;
+};
+
+}
+}
+
+#endif
diff --git source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/PropertyDictionary.h source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/PropertyDictionary.h
new file mode 100644
index 0000000..0be2917
--- /dev/null
+++ source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/PropertyDictionary.h
@@ -0,0 +1,96 @@
+/*
+ * This source file is part of libRocket, the HTML/CSS Interface Middleware
+ *
+ * For the latest information, see http://www.librocket.com
+ *
+ * Copyright (c) 2008-2010 CodePoint Ltd, Shift Technology Ltd
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ *
+ */
+
+#ifndef ROCKETCOREPROPERTYDICTIONARY_H
+#define ROCKETCOREPROPERTYDICTIONARY_H
+
+#include <Rocket/Core/Header.h>
+#include <Rocket/Core/Property.h>
+
+namespace Rocket {
+namespace Core {
+
+typedef std::map< String, Property > PropertyMap;
+
+/**
+ A dictionary to property names to values.
+
+ @author Peter Curry
+ */
+
+class ROCKETCORE_API PropertyDictionary
+{
+public:
+ PropertyDictionary();
+ ~PropertyDictionary();
+
+ /// Sets a property on the dictionary. Any existing property with a similar name will be overwritten.
+ /// @param[in] name The name of the property to add.
+ /// @param[in] property The value of the new property.
+ void SetProperty(const String& name, const Property& property);
+ /// Removes a property from the dictionary, if it exists.
+ /// @param[in] name The name of the property to remove.
+ void RemoveProperty(const String& name);
+ /// Returns the value of the property with the requested name, if one exists.
+ /// @param[in] name The name of the desired property.
+ const Property* GetProperty(const String& name) const;
+
+ /// Returns the number of properties in the dictionary.
+ /// @return The number of properties in the dictionary.
+ int GetNumProperties() const;
+ /// Returns the map of properties in the dictionary.
+ /// @return The property map.
+ const PropertyMap& GetProperties() const;
+
+ /// Imports into the dictionary, and optionally defines the specificity of, potentially
+ /// un-specified properties. In the case of name conflicts, the incoming properties will
+ /// overwrite the existing properties if their specificity (or their forced specificity)
+ /// are at least equal.
+ /// @param[in] property_dictionary The properties to import.
+ /// @param[in] specificity The specificity for all incoming properties. If this is not specified, the properties will keep their original specificity.
+ void Import(const PropertyDictionary& property_dictionary, int specificity = -1);
+
+ /// Merges the contents of another fully-specified property dictionary with this one.
+ /// Properties defined in the new dictionary will overwrite those with the same name as
+ /// appropriate.
+ /// @param[in] property_dictionary The dictionary to merge.
+ /// @param[in] specificity_offset The specificities of all incoming properties will be offset by this value.
+ void Merge(const PropertyDictionary& property_dictionary, int specificity_offset = 0);
+
+private:
+ // Sets a property on the dictionary and its specificity if there is no name conflict, or its
+ // specificity (given by the parameter, not read from the property itself) is at least equal to
+ // the specificity of the conflicting property.
+ void SetProperty(const String& name, const Rocket::Core::Property& property, int specificity);
+
+ PropertyMap properties;
+};
+
+}
+}
+
+#endif
diff --git source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/PropertyParser.h source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/PropertyParser.h
new file mode 100644
index 0000000..0598d3a
--- /dev/null
+++ source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/PropertyParser.h
@@ -0,0 +1,67 @@
+/*
+ * This source file is part of libRocket, the HTML/CSS Interface Middleware
+ *
+ * For the latest information, see http://www.librocket.com
+ *
+ * Copyright (c) 2008-2010 CodePoint Ltd, Shift Technology Ltd
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ *
+ */
+
+#ifndef ROCKETCOREPROPERTYPARSER_H
+#define ROCKETCOREPROPERTYPARSER_H
+
+#include <Rocket/Core/Header.h>
+#include <Rocket/Core/Property.h>
+#include <map>
+
+namespace Rocket {
+namespace Core {
+
+typedef std::map< String, int, StringUtilities::StringComparei > ParameterMap;
+
+/**
+ A property parser takes a property declaration in string form, validates it, and converts it to a Property.
+
+ @author Peter Curry
+ */
+
+class ROCKETCORE_API PropertyParser
+{
+public:
+ virtual ~PropertyParser()
+ {
+ }
+
+ /// Called to parse a RCSS declaration.
+ /// @param[out] property The property to set the parsed value on.
+ /// @param[in] value The raw value defined for this property.
+ /// @param[in] parameters The list of parameters defined for this property.
+ /// @return True if the value was parsed successfully, false otherwise.
+ virtual bool ParseValue(Property& property, const String& value, const ParameterMap& parameters) const = 0;
+
+ /// Called when the parser is released. This should free all dynamic memory used by the parser.
+ virtual void Release() = 0;
+};
+
+}
+}
+
+#endif
diff --git source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/PropertySpecification.h source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/PropertySpecification.h
new file mode 100644
index 0000000..7d6e1b8
--- /dev/null
+++ source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/PropertySpecification.h
@@ -0,0 +1,117 @@
+/*
+ * This source file is part of libRocket, the HTML/CSS Interface Middleware
+ *
+ * For the latest information, see http://www.librocket.com
+ *
+ * Copyright (c) 2008-2010 CodePoint Ltd, Shift Technology Ltd
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ *
+ */
+
+#ifndef ROCKETCOREPROPERTYSPECIFICATION_H
+#define ROCKETCOREPROPERTYSPECIFICATION_H
+
+#include <Rocket/Core/Header.h>
+#include <Rocket/Core/Element.h>
+#include <Rocket/Core/PropertyDefinition.h>
+
+namespace Rocket {
+namespace Core {
+
+class PropertyDictionary;
+struct PropertyShorthandDefinition;
+
+/**
+ A property specification stores a group of property definitions.
+
+ @author Peter Curry
+ */
+
+class ROCKETCORE_API PropertySpecification
+{
+public:
+ enum ShorthandType
+ {
+ // Normal; properties that fail to parse fall-through to the next until they parse correctly, and any
+ // undeclared are not set.
+ FALL_THROUGH,
+ // A single failed parse will abort, and any undeclared are replicated from the last declared property.
+ REPLICATE,
+ // For 'padding', 'margin', etc; up four properties are expected.
+ BOX,
+ // BOX if four properties are shorthanded and they end in '-top', '-right', etc, otherwise FALL_THROUGH.
+ AUTO
+ };
+
+ PropertySpecification();
+ ~PropertySpecification();
+
+ /// Registers a property with a new definition.
+ /// @param[in] property_name The name to register the new property under.
+ /// @param[in] default_value The default value to be used for an element if it has no other definition provided.
+ /// @param[in] inherited True if this property is inherited from parent to child, false otherwise.
+ /// @param[in] forces_layout True if this property requires its parent to be reformatted if changed.
+ /// @return The new property definition, ready to have parsers attached.
+ PropertyDefinition& RegisterProperty(const String& property_name, const String& default_value, bool inherited, bool forces_layout);
+ /// Returns a property definition.
+ /// @param[in] property_name The name of the desired property.
+ /// @return The appropriate property definition if it could be found, NULL otherwise.
+ const PropertyDefinition* GetProperty(const String& property_name) const;
+
+ /// Returns the list of the names of all registered property definitions.
+ /// @return The list with stored property names.
+ const PropertyNameList& GetRegisteredProperties() const;
+
+ /// Registers a shorthand property definition.
+ /// @param[in] shorthand_name The name to register the new shorthand property under.
+ /// @param[in] properties A comma-separated list of the properties this definition is shorthand for. The order in which they are specified here is the order in which the values will be processed.
+ /// @param[in] type The type of shorthand to declare.
+ /// @param True if all the property names exist, false otherwise.
+ bool RegisterShorthand(const String& shorthand_name, const String& property_names, ShorthandType type = AUTO);
+ /// Returns a shorthand definition.
+ /// @param[in] shorthand_name The name of the desired shorthand.
+ /// @return The appropriate shorthand definition if it could be found, NULL otherwise.
+ const PropertyShorthandDefinition* GetShorthand(const String& shorthand_name) const;
+
+ /// Parses a property declaration, setting any parsed and validated properties on the given dictionary.
+ /// @param dictionary The property dictionary which will hold all declared properties.
+ /// @param property_name The name of the declared property.
+ /// @param property_value The values the property is being set to.
+ /// @return True if all properties were parsed successfully, false otherwise.
+ bool ParsePropertyDeclaration(PropertyDictionary& dictionary, const String& property_name, const String& property_value, const String& source_file = "", int source_line_number = 0) const;
+ /// Sets all undefined properties in the dictionary to their defaults.
+ /// @param dictionary[in] The dictionary to set the default values on.
+ void SetPropertyDefaults(PropertyDictionary& dictionary) const;
+
+private:
+ typedef std::map< String, PropertyDefinition* > PropertyMap;
+ typedef std::map< String, PropertyShorthandDefinition* > ShorthandMap;
+
+ PropertyMap properties;
+ ShorthandMap shorthands;
+ PropertyNameList property_names;
+
+ bool ParsePropertyValues(StringList& values_list, const String& values, bool split_values) const;
+};
+
+}
+}
+
+#endif
diff --git source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/Python/ConverterScriptObject.h source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/Python/ConverterScriptObject.h
new file mode 100644
index 0000000..908502b
--- /dev/null
+++ source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/Python/ConverterScriptObject.h
@@ -0,0 +1,77 @@
+/*
+ * This source file is part of libRocket, the HTML/CSS Interface Middleware
+ *
+ * For the latest information, see http://www.librocket.com
+ *
+ * Copyright (c) 2008-2010 CodePoint Ltd, Shift Technology Ltd
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ *
+ */
+
+#ifndef ROCKETCOREPYTHONCONVERTERSCRIPTOBJECT_H
+#define ROCKETCOREPYTHONCONVERTERSCRIPTOBJECT_H
+
+#include <Rocket/Core/Python/Python.h>
+
+namespace Rocket {
+namespace Core {
+namespace Python {
+
+/**
+ Templated class for converting from a script object to a python object
+
+ Simply construct this class in your application start up and it
+ will do the necessary registration of the object with the boost
+ type conversion repository.
+
+ @author Lloyd Weehuizen
+ */
+
+template <typename T>
+struct ConverterScriptObject
+{
+ ConverterScriptObject()
+ {
+ // Register custom RKTElement to python converter
+ boost::python::to_python_converter< T*, ConverterScriptObject< T > >();
+ }
+
+ static PyObject* convert(T* object)
+ {
+ PyObject* pyobject = Py_None;
+ if (object)
+ {
+ PyObject* script_object = (PyObject*)object->GetScriptObject();
+ if (script_object)
+ {
+ pyobject = script_object;
+ }
+ }
+
+ Py_INCREF(pyobject);
+ return pyobject;
+ }
+};
+
+}
+}
+}
+
+#endif
diff --git source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/Python/ElementInstancer.h source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/Python/ElementInstancer.h
new file mode 100644
index 0000000..e2c754c
--- /dev/null
+++ source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/Python/ElementInstancer.h
@@ -0,0 +1,115 @@
+/*
+ * This source file is part of libRocket, the HTML/CSS Interface Middleware
+ *
+ * For the latest information, see http://www.librocket.com
+ *
+ * Copyright (c) 2008-2010 CodePoint Ltd, Shift Technology Ltd
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ *
+ */
+
+#ifndef ROCKETCOREPYTHONELEMENTINSTANCER_H
+#define ROCKETCOREPYTHONELEMENTINSTANCER_H
+
+#include <Rocket/Core/String.h>
+#include <Rocket/Core/XMLParser.h>
+#include <Rocket/Core/Python/Python.h>
+#include <Rocket/Core/Element.h>
+#include <Rocket/Core/ElementInstancer.h>
+#include <Rocket/Core/Python/Header.h>
+
+namespace Rocket {
+namespace Core {
+namespace Python {
+
+/**
+ Python Element Instancer
+
+ This object provides the standard ElementInstancer
+ interface for instancing python elements.
+
+ NOTE: This is all inline so that it can be used by 3rdparty plugins
+
+ @author Lloyd Weehuizen
+ */
+
+class ElementInstancer : public Rocket::Core::ElementInstancer
+{
+public:
+ ElementInstancer(PyObject* _class_definition)
+ {
+ class_definition = _class_definition;
+ Py_INCREF(class_definition);
+ }
+ virtual ~ElementInstancer()
+ {
+ Py_DECREF(class_definition);
+ }
+
+ /// Instances an element given the tag name and attributes
+ /// @param tag Name of the element to instance
+ /// @param attributes vector of name value pairs
+ virtual Element* InstanceElement(Element* ROCKET_UNUSED(parent), const Rocket::Core::String& tag, const Rocket::Core::XMLAttributes& ROCKET_UNUSED(attributes))
+ {
+ // Build the arguments
+ PyObject* args = PyTuple_New(1);
+ PyTuple_SetItem(args, 0, PyString_FromString(tag.CString()));
+
+ PyObject* instance = PyObject_CallObject(class_definition, args);
+ Py_DECREF(args);
+
+ // Check the instance was created successfully
+ if (instance == NULL)
+ {
+ PyErr_Print();
+ return NULL;
+ }
+
+ Element* element = python::extract<Element*>(python::object(python::handle<>(python::borrowed(instance))));
+
+ // Need to switch the Python reference count to a true C++ reference count.
+ element->AddReference(); // Adds to C++ and Python reference counts.
+ Py_DECREF( instance ); // Removes from Python.
+
+ return element;
+ }
+
+ /// Releases the given element
+ /// @param element to release
+ virtual void ReleaseElement(Element* ROCKET_UNUSED(element))
+ {
+ // Never release Python elements, Python will manage this for us.
+ }
+
+ /// Release the instancer
+ virtual void Release()
+ {
+ delete this;
+ }
+
+private:
+ PyObject* class_definition;
+};
+
+}
+}
+}
+
+#endif
diff --git source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/Python/ElementWrapper.h source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/Python/ElementWrapper.h
new file mode 100644
index 0000000..7e1754c
--- /dev/null
+++ source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/Python/ElementWrapper.h
@@ -0,0 +1,96 @@
+/*
+ * This source file is part of libRocket, the HTML/CSS Interface Middleware
+ *
+ * For the latest information, see http://www.librocket.com
+ *
+ * Copyright (c) 2008-2010 CodePoint Ltd, Shift Technology Ltd
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ *
+ */
+
+#ifndef ROCKETCOREPYTHONELEMENTWRAPPER_H
+#define ROCKETCOREPYTHONELEMENTWRAPPER_H
+
+namespace Rocket {
+namespace Core {
+namespace Python {
+
+/**
+ Python Wrapper class for Elements
+
+ This class maintains is a standard boost wrapper class that
+ the self pointer for an element and provides virtual
+ overrides for the hook methods.
+
+ @author Lloyd Weehuizen
+ */
+
+template <typename T>
+class ElementWrapper : public T
+{
+public:
+ ElementWrapper( PyObject* self, const char* tag ) : self( self ), T( tag )
+ {
+ // Force remove reference, to reduce the count to 0 as python has instanced
+ // this object. If the call originally came from C++ (PyBRElementInstancer)
+ // then it will add its own reference
+ T::RemoveReference();
+
+ // If the C++ reference count is not 0 at this point, it means additional references have been added
+ // during the classes constructor. We have to propogate these references into python.
+ for (int i = 0; i < this->T::GetReferenceCount(); i++)
+ Py_INCREF(self);
+ }
+ virtual ~ElementWrapper() {}
+
+ /// Return the python script object associated with this element
+ virtual void* GetScriptObject() const { return self; }
+
+ // Propogate add ref's into python
+ virtual void AddReference()
+ {
+ Py_INCREF( self );
+
+ T::AddReference();
+ }
+
+ // Propogate remove ref's into python
+ virtual void RemoveReference()
+ {
+ T::RemoveReference();
+
+ Py_DECREF( self );
+ }
+
+ virtual void OnReferenceDeactivate()
+ {
+ // Ignore reference deactivated
+ }
+
+private:
+ // Python representation of this object
+ PyObject* self;
+};
+
+}
+}
+}
+
+#endif
diff --git source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/Python/Header.h source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/Python/Header.h
new file mode 100644
index 0000000..6523362
--- /dev/null
+++ source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/Python/Header.h
@@ -0,0 +1,43 @@
+/*
+ * This source file is part of libRocket, the HTML/CSS Interface Middleware
+ *
+ * For the latest information, see http://www.librocket.com
+ *
+ * Copyright (c) 2008-2010 CodePoint Ltd, Shift Technology Ltd
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ *
+ */
+
+#ifndef ROCKETCOREPYTHONHEADER_H
+#define ROCKETCOREPYTHONHEADER_H
+
+#include <Rocket/Core/Platform.h>
+
+#if defined ROCKET_PLATFORM_WIN32
+ #if defined RocketCorePython_EXPORTS
+ #define ROCKETCOREPYTHON_API __declspec(dllexport)
+ #else
+ #define ROCKETCOREPYTHON_API __declspec(dllimport)
+ #endif
+#else
+ #define ROCKETCOREPYTHON_API __attribute__((visibility("default")))
+#endif
+
+#endif
diff --git source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/Python/NameIndexInterface.h source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/Python/NameIndexInterface.h
new file mode 100644
index 0000000..20245c9
--- /dev/null
+++ source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/Python/NameIndexInterface.h
@@ -0,0 +1,123 @@
+/*
+ * This source file is part of libRocket, the HTML/CSS Interface Middleware
+ *
+ * For the latest information, see http://www.librocket.com
+ *
+ * Copyright (c) 2008-2010 CodePoint Ltd, Shift Technology Ltd
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ *
+ */
+
+#ifndef ROCKETCOREPYTHONNAMEINDEXINTERFACE_H
+#define ROCKETCOREPYTHONNAMEINDEXINTERFACE_H
+
+#include <Rocket/Core/Python/Utilities.h>
+
+namespace Rocket {
+namespace Core {
+namespace Python {
+
+template < typename HostType >
+class NameAccessorInvalid
+{
+public:
+ python::object operator()(HostType& host, const char* name)
+ {
+ PyErr_SetString(PyExc_KeyError, "Invalid key.");
+ python::throw_error_already_set();
+
+ return python::object();
+ }
+};
+
+/**
+ Template class for generating a lightweight proxy object for providing array-style lookups on a C++ object.
+
+ @author Peter Curry
+ */
+
+template < typename HostType, typename LengthAccessor, typename IndexAccessor, typename NameAccessor = NameAccessorInvalid< HostType > >
+class NameIndexInterface : public python::def_visitor< NameIndexInterface< HostType, LengthAccessor, IndexAccessor, NameAccessor > >
+{
+public:
+ NameIndexInterface()
+ {
+ }
+
+ ~NameIndexInterface()
+ {
+ }
+
+ /// Initialise the interface.
+ template < typename ClassType >
+ void visit(ClassType& _class) const
+ {
+ _class.def("__getitem__", &NameIndexInterface< HostType, LengthAccessor, IndexAccessor, NameAccessor >::GetItem);
+ _class.def("__len__", &NameIndexInterface< HostType, LengthAccessor, IndexAccessor, NameAccessor >::Len);
+ }
+
+ /// Python __getitem__ override.
+ static python::object GetItem(HostType& host, python::object key)
+ {
+ static NameAccessor name_accessor;
+ static LengthAccessor length_accessor;
+ static IndexAccessor index_accessor;
+
+ if (PyString_Check(key.ptr()))
+ {
+ return Rocket::Core::Python::Utilities::MakeObject(name_accessor(host, PyString_AsString(key.ptr())));
+ }
+ else if (PyInt_Check(key.ptr()))
+ {
+ int index = PyInt_AsLong(key.ptr());
+
+ // Support indexing from both ends.
+ if (index < 0)
+ index = length_accessor(host) + index;
+
+ // Throw exception if we're out of range, this is required to support python iteration.
+ if (index >= length_accessor(host))
+ {
+ PyErr_SetString(PyExc_IndexError, "Index out of range.");
+ python::throw_error_already_set();
+ }
+
+ return Rocket::Core::Python::Utilities::MakeObject(index_accessor(host, index));
+ }
+
+ PyErr_SetString(PyExc_KeyError, "Invalid key.");
+ python::throw_error_already_set();
+
+ return python::object();
+ }
+
+ /// Python __len__ override.
+ static int Len(HostType& host)
+ {
+ static LengthAccessor length_accessor;
+ return length_accessor(host);
+ }
+};
+
+}
+}
+}
+
+#endif
diff --git source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/Python/PickleTypeConverter.h source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/Python/PickleTypeConverter.h
new file mode 100644
index 0000000..161780d
--- /dev/null
+++ source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/Python/PickleTypeConverter.h
@@ -0,0 +1,87 @@
+/*
+ * This source file is part of libRocket, the HTML/CSS Interface Middleware
+ *
+ * For the latest information, see http://www.librocket.com
+ *
+ * Copyright (c) 2008-2010 CodePoint Ltd, Shift Technology Ltd
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ *
+ */
+
+#ifndef ROCKETCOREPICKLETYPECONVERTER_H
+#define ROCKETCOREPICKLETYPECONVERTER_H
+
+#include <Rocket/Core/TypeConverter.h>
+
+namespace Rocket {
+namespace Core {
+namespace Python {
+
+/**
+ Generic Python Pickler that does string conversion using an Rocket::Core::TypeConverter.
+
+ @author Lloyd Weehuizen
+ */
+
+template <typename T>
+class PickleTypeConverter : public python::pickle_suite
+{
+public:
+ static python::tuple getstate(python::object obj)
+ {
+ T& object = python::extract<T&>(obj)();
+
+ String buffer;
+ TypeConverter< T, String >::Convert(object, buffer);
+
+ return python::make_tuple(buffer.CString());
+ }
+
+ static void setstate(python::object obj, python::tuple state)
+ {
+ T& object = python::extract< T& >(obj)();
+
+ int len = python::extract< int >(state.attr( "__len__" )());
+ if (len != 1)
+ {
+ PyErr_SetObject(PyExc_ValueError,
+ ("expected 1-item tuple in call to __setstate__; got %s"
+ % state).ptr()
+ );
+ python::throw_error_already_set();
+ }
+
+ const char* cstring = python::extract<const char*>(state[0]);
+ String string(cstring);
+ TypeConverter<String, T>::Convert(string, object);
+ }
+
+ static bool getstate_manages_dict()
+ {
+ // Tell boost we've taken care of the dictionary
+ return true;
+ }
+};
+
+}
+}
+}
+
+#endif
diff --git source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/Python/Python.h source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/Python/Python.h
new file mode 100644
index 0000000..a054c4a
--- /dev/null
+++ source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/Python/Python.h
@@ -0,0 +1,52 @@
+/*
+ * This source file is part of libRocket, the HTML/CSS Interface Middleware
+ *
+ * For the latest information, see http://www.librocket.com
+ *
+ * Copyright (c) 2008-2010 CodePoint Ltd, Shift Technology Ltd
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ *
+ */
+
+#ifndef ROCKETCOREPYTHON_H
+#define ROCKETCOREPYTHON_H
+
+// RocketCore platform header for the ROCKET_PLATFORM_* define.
+#include <Rocket/Core/Platform.h>
+
+// Python header includes
+#include <Python.h>
+
+#ifdef ROCKET_PLATFORM_WIN32
+ #pragma warning(push)
+ #pragma warning(disable: 4244)
+#endif
+
+// Prevent Boost from auto-linking with the wrong library.
+#define BOOST_ALL_NO_LIB
+#include <boost/python.hpp>
+// remap boost::python to python for easier access
+namespace python = boost::python;
+
+#ifdef ROCKET_PLATFORM_WIN32
+ #pragma warning(pop)
+#endif
+
+#endif
diff --git source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/Python/Utilities.h source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/Python/Utilities.h
new file mode 100644
index 0000000..6a48a29
--- /dev/null
+++ source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/Python/Utilities.h
@@ -0,0 +1,111 @@
+/*
+ * This source file is part of libRocket, the HTML/CSS Interface Middleware
+ *
+ * For the latest information, see http://www.librocket.com
+ *
+ * Copyright (c) 2008-2010 CodePoint Ltd, Shift Technology Ltd
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ *
+ */
+
+#ifndef ROCKETCOREPYTHONUTILITIES_H
+#define ROCKETCOREPYTHONUTILITIES_H
+
+#include <Rocket/Core/Variant.h>
+#include <Rocket/Core/Python/Header.h>
+#include <Rocket/Core/Python/Python.h>
+
+namespace Rocket {
+namespace Core {
+namespace Python {
+
+class ROCKETCOREPYTHON_API Utilities
+{
+public:
+ /// Is the specific method name callable
+ static bool IsCallable(PyObject* self, const char* method_name);
+
+ /// Call a python function
+ /// @param[in] object Python Dictionary or Object
+ /// @param[in] method_name function or method name to call
+ /// @param[in] args Tuple of arguments
+ /// @returns The python result
+ template <typename R>
+ static R Call(PyObject* object, const char* method_name, const python::tuple& args)
+ {
+ PyObject* result = PythonCall(object, method_name, args);
+
+ python::converter::return_from_python<R> converter;
+ return converter(result);
+ }
+ /// Call a python function
+ /// @param[in] object Python Dictionary or Object to lookup the method in
+ /// @param[in] method_name function or method name to call
+ /// @param[in] args Tuple of arguments
+ /// @returns True on success
+ static bool Call(PyObject* object, const char* method_name, const python::tuple& args);
+
+ /// Creates a boost python object from an existing C++ object pointer
+ /// @param[in] object The C++ object to convert
+ /// @returns A boost::python::object referencing the same object
+ template< typename T >
+ static inline python::object MakeObject(T* object)
+ {
+ // Constructs a boost::object using a result_converter to get a pointer to the existing object
+ typename python::return_by_value::apply< T* >::type result_converter;
+ return python::object(python::handle<>(result_converter(object)));
+ }
+ /// Creates a new python object (copy) from a C++ object
+ /// @param[in] object The C++ object to convert
+ /// @returns A boost::python::object that contains a copy of the object
+ template< typename T >
+ static inline python::object MakeObject(const T& object)
+ {
+ // Constructs a boost::object copy of the C++ object
+ return python::object(object);
+ }
+
+ /// Print any pending exceptions to stderr
+ /// @param[in] clear_error Clear the error flag
+ static void PrintError(bool clear_error = false);
+
+ /// Converts a python object into an Rocket variant.
+ /// @param[out] variant The variant to convert the object into.
+ /// @param[in] object The python object to convert.
+ /// @return True if the conversion was successful, false otherwise.
+ static bool ConvertToVariant(Variant& variant, PyObject* object);
+
+private:
+ static PyObject* PythonCall(PyObject* object, const char* method_name, const python::tuple& args );
+};
+
+// Template Specialisation for converting from a PyObject*
+template<>
+inline python::object Utilities::MakeObject< PyObject >(PyObject* object)
+{
+ return python::object(python::handle<>(python::borrowed(object)));
+}
+
+}
+}
+}
+
+#endif
+
diff --git source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/Python/VectorInterface.h source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/Python/VectorInterface.h
new file mode 100644
index 0000000..17ca063
--- /dev/null
+++ source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/Python/VectorInterface.h
@@ -0,0 +1,118 @@
+/*
+ * This source file is part of libRocket, the HTML/CSS Interface Middleware
+ *
+ * For the latest information, see http://www.librocket.com
+ *
+ * Copyright (c) 2008-2010 CodePoint Ltd, Shift Technology Ltd
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ *
+ */
+
+#ifndef ROCKETCOREPYTHONVECTORINTERFACE_H
+#define ROCKETCOREPYTHONVECTORINTERFACE_H
+
+namespace Rocket {
+namespace Core {
+namespace Python {
+
+/**
+ Provides a list style python interface to any STL container
+ that can provide a vector style interface.
+
+ Simply contruct one of these objects to register the type
+ with python.
+
+ VectorInterface< std::vector< std::string > >("StringList");
+
+ @author Lloyd Weehuizen
+ */
+template <typename Container>
+class VectorInterface
+{
+public:
+ VectorInterface(const char* name)
+ {
+ python::class_< Container >(name)
+ .def("__len__", &VectorInterface< Container >::Size)
+ .def("__setitem__", &VectorInterface< Container >::SetItem)
+ .def("__delitem__", &VectorInterface< Container >::DelItem)
+ .def("__getitem__", &VectorInterface< Container >::GetItem, python::return_value_policy< python::return_by_value >())
+ .def("__contains__", &VectorInterface< Container >::Contains)
+ ;
+ }
+
+ static size_t Size(const Container& container)
+ {
+ return container.size();
+ }
+
+ static void SetItem(Container& container, int index, const typename Container::value_type& value)
+ {
+ if (index < 0)
+ index = container.size() + index;
+ if (index >= (int)container.size())
+ container.resize(index + 1);
+
+ container[index] = value;
+ }
+
+ static void DelItem(Container& container, int index)
+ {
+ if (index >= (int)container.size())
+ {
+ PyErr_SetString(PyExc_IndexError, String(32, "Invalid index %d", index).CString());
+ python::throw_error_already_set();
+ }
+
+ container.erase(container.begin() + index);
+ }
+
+ static typename Container::value_type& GetItem(Container& container, int index)
+ {
+ if (index < 0)
+ index = container.size() + index;
+
+ if (index >= (int)container.size())
+ {
+ PyErr_SetString(PyExc_IndexError, String(32, "Invalid index %d", index).CString());
+ python::throw_error_already_set();
+ }
+
+ return container[index];
+ }
+
+ static bool Contains(Container& container, const typename Container::value_type& value)
+ {
+ for (typename Container::iterator itr = container.begin(); itr != container.end(); ++itr)
+ {
+ if ((*itr) == value)
+ return true;
+ }
+
+ return false;
+ }
+};
+
+}
+}
+}
+
+#endif
+
diff --git source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/Python/Wrapper.h source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/Python/Wrapper.h
new file mode 100644
index 0000000..a32dd64
--- /dev/null
+++ source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/Python/Wrapper.h
@@ -0,0 +1,67 @@
+/*
+ * This source file is part of libRocket, the HTML/CSS Interface Middleware
+ *
+ * For the latest information, see http://www.librocket.com
+ *
+ * Copyright (c) 2008-2010 CodePoint Ltd, Shift Technology Ltd
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ *
+ */
+
+#ifndef ROCKETCOREPYTHONWRAPPER_H
+#define ROCKETCOREPYTHONWRAPPER_H
+
+#include <Rocket/Core/Debug.h>
+#include <Rocket/Core/Python/Python.h>
+
+#include <boost/none.hpp>
+
+namespace Rocket {
+namespace Core {
+namespace Python {
+
+/**
+ Generic Python Wrapper, using boost preprocessor iteration for constructor params
+
+ Defines a basic wrapper, then template overloads it for each variation of the
+ number of arguments.
+
+ @author Lloyd Weehuizen
+ */
+
+struct WrapperNone {};
+
+#define WRAPPER_MAX_ARGS 6
+
+#define WRAPPER_TEMPLATE_ARG(z, n, d) BOOST_PP_COMMA_IF(n) typename T##n = WrapperNone
+
+template <typename T, BOOST_PP_REPEAT_1( BOOST_PP_INC(WRAPPER_MAX_ARGS), WRAPPER_TEMPLATE_ARG, N) >
+class Wrapper {};
+
+#undef WRAPPER_TEMPLATE_ARG
+
+#define BOOST_PP_ITERATION_PARAMS_1 (3, (0, WRAPPER_MAX_ARGS, <Rocket/Core/Python/WrapperIter.h>))
+#include BOOST_PP_ITERATE()
+
+}
+}
+}
+
+#endif
diff --git source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/Python/WrapperIter.h source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/Python/WrapperIter.h
new file mode 100644
index 0000000..73f4067
--- /dev/null
+++ source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/Python/WrapperIter.h
@@ -0,0 +1,122 @@
+/*
+ * This source file is part of libRocket, the HTML/CSS Interface Middleware
+ *
+ * For the latest information, see http://www.librocket.com
+ *
+ * Copyright (c) 2008-2010 CodePoint Ltd, Shift Technology Ltd
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ *
+ */
+
+#if !defined(BOOST_PP_IS_ITERATING)
+# error PyWrapperIter - do not include this file!
+#endif
+
+#define N BOOST_PP_ITERATION()
+
+/**
+ Generic Python Wrapper, using Boost Preprocessor Iteration to Generate Variants
+
+ Relies on a Rocket::Core::ReferenceCountable base class for reference counting.
+
+ Traps ReferenceActivated/Deactivated calls and makes them behave like
+ they should for python based objects.
+
+ @author Lloyd Weehuizen
+ */
+
+#define WRAPPER_PARAM(x, n, d) , d
+
+template < typename T BOOST_PP_COMMA_IF(N) BOOST_PP_ENUM_PARAMS_Z(1, N, typename A) >
+class Wrapper< T BOOST_PP_COMMA_IF(N) BOOST_PP_ENUM_PARAMS_Z(1, N, A) BOOST_PP_REPEAT_1( BOOST_PP_SUB(BOOST_PP_INC(WRAPPER_MAX_ARGS), N), WRAPPER_PARAM, WrapperNone) > : public T
+{
+public:
+ Wrapper(PyObject* self BOOST_PP_COMMA_IF(N) BOOST_PP_ENUM_BINARY_PARAMS_Z(1, N, A, a)) : T(BOOST_PP_ENUM_PARAMS_Z(1, N, a))
+ {
+ // Set self to NULL, so we can trap the reference deactivated and not pass it down
+ this->self = NULL;
+
+ // We have to remove the C++ reference count that all C++ objects start with here,
+ // otherwise if an object is created in python and destroyed by python, the C++ ref count will
+ // remain 1. The PyWrapperInstancer will increase the refcount again, to ensure a correct refcount
+ // if the object was created by C++
+ T::RemoveReference();
+
+ // If the C++ reference count is not 0 at this point, it means additional references have been added
+ // during the classes constructor. We have to propogate these references into python.
+ for (int i = 0; i < this->T::GetReferenceCount(); i++)
+ Py_INCREF(self);
+
+ // Store self
+ this->self = self;
+ }
+
+ Wrapper(PyObject* self, const T& other) : T(other)
+ {
+ this->self = self;
+ }
+
+ virtual ~Wrapper()
+ {
+ // We should only be deleted when python says the refcnt is 0, if we
+ // are being deleted prematurely, something is wrong!
+ ROCKET_ASSERTMSG(self->ob_refcnt == 0, "Python object being cleared up prematurely, reference count not 0.");
+ ROCKET_ASSERT(this->T::GetReferenceCount() == 0);
+ }
+
+ /// Override AddReference so we can push the call through to python
+ virtual void AddReference()
+ {
+ Py_INCREF(self);
+
+ T::AddReference();
+ }
+
+ /// Overrride RemoveReference so we can push the call through to python
+ virtual void RemoveReference()
+ {
+ T::RemoveReference();
+
+ Py_DECREF(self);
+ }
+
+ virtual int GetReferenceCount()
+ {
+ // C++ reference counts are always reflected in the python ref count
+ return self->ob_refcnt;
+ }
+
+ virtual void OnReferenceDeactivate()
+ {
+ // If self is NULL, don't pass the call down, as this is the initial
+ // T::RemoveReference from the constructor
+ if (self)
+ T::OnReferenceDeactivate();
+ }
+
+ // Script object access
+ virtual void* GetScriptObject() const { return self; }
+
+protected:
+ PyObject* self;
+};
+
+#undef WRAPPER_PARAM
+
diff --git source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/ReferenceCountable.h source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/ReferenceCountable.h
new file mode 100644
index 0000000..307b722
--- /dev/null
+++ source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/ReferenceCountable.h
@@ -0,0 +1,77 @@
+/*
+ * This source file is part of libRocket, the HTML/CSS Interface Middleware
+ *
+ * For the latest information, see http://www.librocket.com
+ *
+ * Copyright (c) 2008-2010 CodePoint Ltd, Shift Technology Ltd
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ *
+ */
+
+#ifndef ROCKETCOREREFERENCECOUNTABLE_H
+#define ROCKETCOREREFERENCECOUNTABLE_H
+
+#include <Rocket/Core/Header.h>
+
+namespace Rocket {
+namespace Core {
+
+/**
+ A base class for any class that wishes to be reference counted.
+ @author Robert Curry
+*/
+
+class ROCKETCORE_API ReferenceCountable
+{
+public:
+ /// Constructor.
+ /// @param[in] initial_count The initial reference count of the object.
+ ReferenceCountable(int initial_count = 1);
+ /// Destructor. The reference count must be 0 when this is invoked.
+ virtual ~ReferenceCountable();
+
+ /// Returns the number of references outstanding against this object.
+ virtual int GetReferenceCount();
+ /// Increases the reference count. If this pushes the count above 0, OnReferenceActivate() will be called.
+ virtual void AddReference();
+ /// Decreases the reference count. If this pushes the count to 0, OnReferenceDeactivate() will be called.
+ virtual void RemoveReference();
+
+ /// Catches incorrect copy attempts.
+ ReferenceCountable& operator=(const ReferenceCountable& copy);
+
+ /// If any reference countable objects are still allocated, this function will write a leak report to the log.
+ static void DumpLeakReport();
+
+protected:
+ /// A hook method called when the reference count climbs from 0.
+ virtual void OnReferenceActivate();
+ /// A hook method called when the reference count drops to 0.
+ virtual void OnReferenceDeactivate();
+
+private:
+ // The number of references against this object.
+ int reference_count;
+};
+
+}
+}
+
+#endif
diff --git source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/RenderInterface.h source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/RenderInterface.h
new file mode 100644
index 0000000..7316f9b
--- /dev/null
+++ source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/RenderInterface.h
@@ -0,0 +1,134 @@
+/*
+ * This source file is part of libRocket, the HTML/CSS Interface Middleware
+ *
+ * For the latest information, see http://www.librocket.com
+ *
+ * Copyright (c) 2008-2010 CodePoint Ltd, Shift Technology Ltd
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ *
+ */
+
+#ifndef ROCKETCORERENDERINTERFACE_H
+#define ROCKETCORERENDERINTERFACE_H
+
+#include <Rocket/Core/ReferenceCountable.h>
+#include <Rocket/Core/Header.h>
+#include <Rocket/Core/Texture.h>
+#include <Rocket/Core/Vertex.h>
+
+namespace Rocket {
+namespace Core {
+
+class Context;
+
+/**
+ The abstract base class for application-specific rendering implementation. Your application must provide a concrete
+ implementation of this class and install it through Core::SetRenderInterface() in order for anything to be rendered.
+
+ @author Peter Curry
+ */
+
+class ROCKETCORE_API RenderInterface : public ReferenceCountable
+{
+public:
+ RenderInterface();
+ virtual ~RenderInterface();
+
+ /// Called by Rocket when it wants to render geometry that the application does not wish to optimise. Note that
+ /// Rocket renders everything as triangles.
+ /// @param[in] vertices The geometry's vertex data.
+ /// @param[in] num_vertices The number of vertices passed to the function.
+ /// @param[in] indices The geometry's index data.
+ /// @param[in] num_indices The number of indices passed to the function. This will always be a multiple of three.
+ /// @param[in] texture The texture to be applied to the geometry. This may be NULL, in which case the geometry is untextured.
+ /// @param[in] translation The translation to apply to the geometry.
+ virtual void RenderGeometry(Vertex* vertices, int num_vertices, int* indices, int num_indices, TextureHandle texture, const Vector2f& translation) = 0;
+
+ /// Called by Rocket when it wants to compile geometry it believes will be static for the forseeable future.
+ /// If supported, this should be return a pointer to an optimised, application-specific version of the data. If
+ /// not, do not override the function or return NULL; the simpler RenderGeometry() will be called instead.
+ /// @param[in] vertices The geometry's vertex data.
+ /// @param[in] num_vertices The number of vertices passed to the function.
+ /// @param[in] indices The geometry's index data.
+ /// @param[in] num_indices The number of indices passed to the function. This will always be a multiple of three.
+ /// @param[in] texture The texture to be applied to the geometry. This may be NULL, in which case the geometry is untextured.
+ /// @return The application-specific compiled geometry. Compiled geometry will be stored and rendered using RenderCompiledGeometry() in future calls, and released with ReleaseCompiledGeometry() when it is no longer needed.
+ virtual CompiledGeometryHandle CompileGeometry(Vertex* vertices, int num_vertices, int* indices, int num_indices, TextureHandle texture);
+ /// Called by Rocket when it wants to render application-compiled geometry.
+ /// @param[in] geometry The application-specific compiled geometry to render.
+ /// @param[in] translation The translation to apply to the geometry.
+ virtual void RenderCompiledGeometry(CompiledGeometryHandle geometry, const Vector2f& translation);
+ /// Called by Rocket when it wants to release application-compiled geometry.
+ /// @param[in] geometry The application-specific compiled geometry to release.
+ virtual void ReleaseCompiledGeometry(CompiledGeometryHandle geometry);
+
+ /// Called by Rocket when it wants to enable or disable scissoring to clip content.
+ /// @param[in] enable True if scissoring is to enabled, false if it is to be disabled.
+ virtual void EnableScissorRegion(bool enable) = 0;
+ /// Called by Rocket when it wants to change the scissor region.
+ /// @param[in] x The left-most pixel to be rendered. All pixels to the left of this should be clipped.
+ /// @param[in] y The top-most pixel to be rendered. All pixels to the top of this should be clipped.
+ /// @param[in] width The width of the scissored region. All pixels to the right of (x + width) should be clipped.
+ /// @param[in] height The height of the scissored region. All pixels to below (y + height) should be clipped.
+ virtual void SetScissorRegion(int x, int y, int width, int height) = 0;
+
+ /// Called by Rocket when a texture is required by the library.
+ /// @param[out] texture_handle The handle to write the texture handle for the loaded texture to.
+ /// @param[out] texture_dimensions The variable to write the dimensions of the loaded texture.
+ /// @param[in] source The application-defined image source, joined with the path of the referencing document.
+ /// @return True if the load attempt succeeded and the handle and dimensions are valid, false if not.
+ virtual bool LoadTexture(TextureHandle& texture_handle, Vector2i& texture_dimensions, const String& source);
+ /// Called by Rocket when a texture is required to be built from an internally-generated sequence of pixels.
+ /// @param[out] texture_handle The handle to write the texture handle for the generated texture to.
+ /// @param[in] source The raw 8-bit texture data. Each pixel is made up of four 8-bit values, indicating red, green, blue and alpha in that order.
+ /// @param[in] source_dimensions The dimensions, in pixels, of the source data.
+ /// @return True if the texture generation succeeded and the handle is valid, false if not.
+ virtual bool GenerateTexture(TextureHandle& texture_handle, const byte* source, const Vector2i& source_dimensions);
+ /// Called by Rocket when a loaded texture is no longer required.
+ /// @param texture The texture handle to release.
+ virtual void ReleaseTexture(TextureHandle texture);
+
+ /// Returns the native horizontal texel offset for the renderer.
+ /// @return The renderer's horizontal texel offset. The default implementation returns 0.
+ virtual float GetHorizontalTexelOffset();
+ /// Returns the native vertical texel offset for the renderer.
+ /// @return The renderer's vertical texel offset. The default implementation returns 0.
+ virtual float GetVerticalTexelOffset();
+
+ /// Called when this render interface is released.
+ virtual void Release();
+
+ /// Get the context currently being rendered. This is only valid during RenderGeometry,
+ /// CompileGeometry, RenderCompiledGeometry, EnableScissorRegion and SetScissorRegion.
+ Context* GetContext() const;
+
+protected:
+ virtual void OnReferenceDeactivate();
+
+private:
+ Context* context;
+
+ friend class Context;
+};
+
+}
+}
+
+#endif
diff --git source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/ScriptInterface.h source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/ScriptInterface.h
new file mode 100644
index 0000000..7148c9d
--- /dev/null
+++ source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/ScriptInterface.h
@@ -0,0 +1,59 @@
+/*
+ * This source file is part of libRocket, the HTML/CSS Interface Middleware
+ *
+ * For the latest information, see http://www.librocket.com
+ *
+ * Copyright (c) 2008-2010 CodePoint Ltd, Shift Technology Ltd
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ *
+ */
+
+#ifndef ROCKETCORESCRIPTINTERFACE_H
+#define ROCKETCORESCRIPTINTERFACE_H
+
+#include <Rocket/Core/Header.h>
+#include <Rocket/Core/ReferenceCountable.h>
+#include <Rocket/Core/Types.h>
+
+namespace Rocket {
+namespace Core {
+
+/**
+ Base class for all objects that hold a scriptable object.
+ @author Peter Curry
+ */
+
+class ROCKETCORE_API ScriptInterface : public ReferenceCountable
+{
+ public:
+ virtual ~ScriptInterface()
+ {
+ }
+
+ virtual ScriptObject GetScriptObject() const
+ {
+ return NULL;
+ }
+};
+
+}
+}
+
+#endif
diff --git source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/Stream.h source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/Stream.h
new file mode 100644
index 0000000..22a1201
--- /dev/null
+++ source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/Stream.h
@@ -0,0 +1,140 @@
+/*
+ * This source file is part of libRocket, the HTML/CSS Interface Middleware
+ *
+ * For the latest information, see http://www.librocket.com
+ *
+ * Copyright (c) 2008-2010 CodePoint Ltd, Shift Technology Ltd
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ *
+ */
+
+#ifndef ROCKETCORESTREAM_H
+#define ROCKETCORESTREAM_H
+
+#include <Rocket/Core/Header.h>
+#include <Rocket/Core/ReferenceCountable.h>
+#include <Rocket/Core/Types.h>
+#include <Rocket/Core/URL.h>
+#include <list>
+
+namespace Rocket {
+namespace Core {
+
+class StreamListener;
+
+/**
+ Abstract class for a media-independent byte stream.
+ @author Lloyd Weehuizen
+ */
+
+class ROCKETCORE_API Stream : public ReferenceCountable
+{
+ public:
+ // Stream modes.
+ enum StreamMode
+ {
+ MODE_WRITE = 1 << 0,
+ MODE_APPEND = 1 << 1,
+ MODE_READ = 1 << 2,
+ MODE_ASYNC = 1 << 3,
+
+ MODE_MASK = MODE_WRITE | MODE_APPEND | MODE_READ
+ };
+
+ Stream();
+ virtual ~Stream();
+
+ /// Closes the stream.
+ virtual void Close();
+
+ /// Returns the mode the stream was opened in.
+ int GetStreamMode() const;
+
+ /// Obtain the source url of this stream (if available)
+ const URL& GetSourceURL() const;
+
+ /// Are we at the end of the stream
+ virtual bool IsEOS() const;
+
+ /// Returns the size of this stream (in bytes).
+ virtual size_t Length() const = 0;
+
+ /// Returns the position of the stream pointer (in bytes).
+ virtual size_t Tell() const = 0;
+ /// Sets the stream position (in bytes).
+ virtual bool Seek(long offset, int origin) const = 0;
+
+ /// Read from the stream.
+ virtual size_t Read(void* buffer, size_t bytes) const = 0;
+ /// Read from the stream into another stream.
+ virtual size_t Read(Stream* stream, size_t bytes) const;
+ /// Read from the stream and append to the string buffer
+ virtual size_t Read(String& buffer, size_t bytes) const;
+ /// Read from the stream, without increasing the stream offset.
+ virtual size_t Peek(void* buffer, size_t bytes) const;
+
+ /// Write to the stream at the current position.
+ virtual size_t Write(const void* buffer, size_t bytes) = 0;
+ /// Write to this stream from another stream.
+ virtual size_t Write(const Stream* stream, size_t bytes);
+ /// Write a character array to the stream.
+ virtual size_t Write(const char* string);
+ /// Write a string to the stream
+ virtual size_t Write(const String& string);
+
+ /// Truncate the stream to the specified length.
+ virtual size_t Truncate(size_t bytes) = 0;
+
+ /// Push onto the front of the stream.
+ virtual size_t PushFront(const void* buffer, size_t bytes);
+ /// Push onto the back of the stream.
+ virtual size_t PushBack(const void* buffer, size_t bytes);
+
+ /// Pop from the front of the stream.
+ virtual size_t PopFront(size_t bytes);
+ /// Pop from the back of the stream.
+ virtual size_t PopBack(size_t bytes);
+
+ /// Returns true if the stream is ready for reading, false otherwise.
+ /// This is usually only implemented on streams supporting asynchronous
+ /// operations.
+ virtual bool IsReadReady() = 0;
+ /// Returns true if the stream is ready for writing, false otherwise.
+ /// This is usually only implemented on streams supporting asynchronous
+ /// operations.
+ virtual bool IsWriteReady() = 0;
+
+ protected:
+
+ /// Sets the mode on the stream; should be called by a stream when it is opened.
+ void SetStreamDetails(const URL& url, int stream_mode);
+
+ /// Deletes the stream.
+ virtual void OnReferenceDeactivate();
+
+ private:
+ URL url;
+ int stream_mode;
+};
+
+}
+}
+
+#endif
diff --git source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/StreamMemory.h source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/StreamMemory.h
new file mode 100644
index 0000000..e1d8cce
--- /dev/null
+++ source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/StreamMemory.h
@@ -0,0 +1,122 @@
+/*
+ * This source file is part of libRocket, the HTML/CSS Interface Middleware
+ *
+ * For the latest information, see http://www.librocket.com
+ *
+ * Copyright (c) 2008-2010 CodePoint Ltd, Shift Technology Ltd
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ *
+ */
+
+#ifndef ROCKETCORESTREAMMEMORY_H
+#define ROCKETCORESTREAMMEMORY_H
+
+#include <Rocket/Core/Header.h>
+#include <Rocket/Core/Stream.h>
+
+namespace Rocket {
+namespace Core {
+
+/**
+ Memory Byte Stream Class
+ @author Lloyd Weehuizen
+ */
+
+class ROCKETCORE_API StreamMemory : public Stream
+{
+public:
+ /// Empty memory stream with default size buffer
+ StreamMemory();
+ /// Empty memory stream with specified buffer size
+ StreamMemory(size_t initial_size);
+ /// Read only memory stream based on the existing buffer
+ StreamMemory(const byte* buffer, size_t buffer_size);
+ /// Copy a memory stream
+ StreamMemory(const StreamMemory& copy);
+ virtual ~StreamMemory();
+
+ StreamMemory& operator=(const StreamMemory& copy);
+
+ /// Close the stream
+ virtual void Close();
+
+ /// Are we at the end of the stream
+ virtual bool IsEOS() const;
+
+ /// Size of this stream ( in bytes )
+ virtual size_t Length() const;
+
+ /// Get Stream position ( in bytes )
+ size_t Tell() const;
+
+ /// Set Stream position ( in bytes )
+ bool Seek(long offset, int origin) const;
+
+ /// Read from the stream
+ using Stream::Read;
+ virtual size_t Read(void* buffer, size_t bytes) const;
+
+ /// Peek into the stream
+ virtual size_t Peek(void *buffer, size_t bytes);
+
+ /// Write to the stream
+ using Stream::Write;
+ virtual size_t Write(const void* buffer, size_t bytes);
+
+ /// Truncate the stream to the specified length
+ virtual size_t Truncate(size_t bytes);
+
+ /// Push onto the front of the stream
+ virtual size_t PushFront(const void* buffer, size_t bytes);
+
+ /// Pop from the front of the stream
+ virtual size_t PopFront(size_t bytes);
+
+ /// Raw access to the stream
+ const byte* RawStream() const;
+
+ /// Erase a section of the stream
+ void Erase(size_t offset, size_t bytes);
+
+ /// Does the stream have data available for reading
+ virtual bool IsReadReady();
+
+ /// Is the stream able to accept data now
+ virtual bool IsWriteReady();
+
+ /// Sets this streams source URL, useful data that is stored
+ /// in memory streams that originated from files
+ void SetSourceURL(const URL& url);
+
+private:
+
+ byte* buffer;
+ mutable byte* buffer_ptr;
+ size_t buffer_size;
+ size_t buffer_used;
+ bool owns_buffer;
+
+ bool Reallocate(size_t size);
+};
+
+}
+}
+
+#endif
diff --git source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/String.h source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/String.h
new file mode 100644
index 0000000..3596d78
--- /dev/null
+++ source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/String.h
@@ -0,0 +1,61 @@
+/*
+ * This source file is part of libRocket, the HTML/CSS Interface Middleware
+ *
+ * For the latest information, see http://www.librocket.com
+ *
+ * Copyright (c) 2008-2010 CodePoint Ltd, Shift Technology Ltd
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ *
+ */
+
+#ifndef ROCKETCORESTRING_H
+#define ROCKETCORESTRING_H
+
+#include <Rocket/Core/Header.h>
+#include <Rocket/Core/StringBase.h>
+#include <stdarg.h>
+#include <string.h>
+#include <vector>
+
+namespace Rocket {
+namespace Core {
+
+typedef StringBase< char > String;
+typedef std::vector< String > StringList;
+
+// Template specialisation of the constructor and FormatString() methods that use variable argument lists.
+template<>
+ROCKETCORE_API StringBase<char>::StringBase(StringBase<char>::size_type max_size, const char* fmt, ...);
+template<>
+ROCKETCORE_API int StringBase<char>::FormatString(StringBase<char>::size_type max_size, const char* fmt, ...);
+
+// Global operators for adding C strings to strings.
+ROCKETCORE_API String operator+(const char* cstring, const String& string);
+
+// Redefine Windows APIs as their STDC counterparts.
+#ifdef ROCKET_PLATFORM_WIN32
+ #define strcasecmp stricmp
+ #define strncasecmp strnicmp
+#endif
+
+}
+}
+
+#endif
diff --git source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/StringBase.h source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/StringBase.h
new file mode 100644
index 0000000..39d985e
--- /dev/null
+++ source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/StringBase.h
@@ -0,0 +1,220 @@
+/*
+ * This source file is part of libRocket, the HTML/CSS Interface Middleware
+ *
+ * For the latest information, see http://www.librocket.com
+ *
+ * Copyright (c) 2008-2010 CodePoint Ltd, Shift Technology Ltd
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ *
+ */
+
+#ifndef ROCKETCORESTRINGBASE_H
+#define ROCKETCORESTRINGBASE_H
+
+#include <Rocket/Core/Debug.h>
+#include <stdlib.h>
+#include <string.h>
+
+namespace Rocket {
+namespace Core {
+
+/**
+ Base String Implementation
+ @author Lloyd Weehuizen
+ */
+template< typename T >
+class StringBase
+{
+public:
+ typedef unsigned int size_type;
+ static const size_type npos = (size_type)-1;
+
+ StringBase();
+ StringBase(const StringBase& copy);
+ StringBase(const T* string);
+ StringBase(const T* string_start, const T* string_end);
+ StringBase(size_type length, const T character);
+ StringBase(size_type max_length, const T* fmt, ...);
+
+ ~StringBase();
+
+ /// Is the string currently empty
+ inline bool Empty() const;
+ /// Clear the string to empty
+ void Clear();
+
+ /// The length of the string
+ inline size_type Length() const;
+ /// Get the hash value of this string
+ inline unsigned int Hash() const;
+ /// Access the string as a standard C string
+ inline const T* CString() const;
+
+ /// Reserve space for at least this much data
+ inline void Reserve(size_type size);
+
+ /// Find the given string within this string
+ /// @param find The string to search for
+ /// @param offset Starting location of the search
+ size_type Find(const T* find, size_type offset = 0) const;
+ /// Find the given string within this string
+ /// @param find The string to search for
+ /// @param offset Starting location of the search
+ size_type Find(const StringBase<T>& find, size_type offset = 0) const;
+ /// Reverse find the given string within this string
+ /// @param find The string to search for
+ /// @param offset Starting location of the search
+ size_type RFind(const T* find, size_type offset = npos) const;
+ /// Reverse find the given string within this string
+ /// @param find The string to search for
+ /// @param offset Starting location of the search
+ size_type RFind(const StringBase<T>& find, size_type offset = npos) const;
+
+ /// Replace all occurances of the given string with another
+ /// @param find The string to search for
+ /// @param replace The string to replace it with
+ StringBase<T> Replace(const T* find, const T* replace) const;
+ /// Replace all occurances of the given string with another
+ /// @param find The string to search for
+ /// @param replace The string to replace it with
+ StringBase<T> Replace(const StringBase<T>& find, const StringBase<T>& replace) const;
+
+ /// Return a substring of this string
+ /// @param start The starting position
+ /// @param length The number of characters to copy
+ inline StringBase<T> Substring(size_type start, size_type length = StringBase<T>::npos) const;
+
+ /// Append the given string to this string
+ /// @param append The string to appen
+ /// @param count The number of characters to append
+ inline StringBase<T>& Append(const T* append, size_type count = StringBase<T>::npos);
+ /// Assign the given string to this string
+ /// @param assign The string to assign
+ /// @param count The number of characters to assign
+ inline StringBase<T>& Append(const StringBase<T>& append, size_type count = StringBase<T>::npos);
+ /// Append a single character
+ /// @param append The character to append
+ inline StringBase<T>& Append(const T& append);
+
+ /// Assign the given string to this string
+ /// @param assign The string to assign
+ /// @param length The number of characters to assign
+ inline StringBase<T>& Assign(const T* assign, size_type count = StringBase<T>::npos);
+ /// Assign the given string to this string
+ /// @param assign The string to assign
+ /// @param count The number of characters to assign
+ inline StringBase<T>& Assign(const T* assign, const T* end);
+ /// Assign the given string to this string
+ /// @param assign The string to assign
+ /// @param count The number of characters to assign
+ inline StringBase<T>& Assign(const StringBase<T>& assign, size_type count = StringBase<T>::npos);
+
+ /// Insert a string into this string
+ /// @param index Index to insert the characters
+ /// @param insert String to insert
+ /// @param count Number of characters to insert
+ inline void Insert(size_type index, const T* insert, size_type count = StringBase<T>::npos);
+ /// Insert a string into this string
+ /// @param index Index to insert the characters
+ /// @param insert String to insert
+ /// @param count Number of characters to insert
+ inline void Insert(size_type index, const StringBase<T>& insert, size_type count = StringBase<T>::npos);
+ /// Insert a character into this string
+ /// @param index Index to insert the characters
+ /// @param insert Character to insert
+ inline void Insert(size_type index, const T& insert);
+
+ /// Erase characters from this string
+ /// @param index Index to erase the characters
+ /// @param length Number of characters to erase
+ inline void Erase(size_type index, size_type length = StringBase<T>::npos);
+
+ /// sprsize_typef style string formatting.
+ /// NOTE: This is not implemented in the base layer and requires template
+ /// specialisation of the specific string type
+ /// @param max_length Maximum length of the result
+ /// @param format The sprsize_typef style formatting
+ int FormatString(size_type max_length, const T* format, ...);
+
+ /// Resize the string to the given size, inserts space if the string is getting bigger
+ /// @param size New size
+ void Resize(size_type size);
+
+ /// Create a lowercase version of the string
+ /// @returns The lower case representation of the string
+ StringBase<T> ToLower() const;
+ /// Create a lowercase version of the string
+ /// @returns The lower case representation of the string
+ StringBase<T> ToUpper() const;
+
+ inline bool operator==(const T* compare) const;
+ inline bool operator==(const StringBase<T>& compare) const;
+
+ inline bool operator!=(const T* compare) const;
+ inline bool operator!=(const StringBase<T>& compare) const;
+
+ inline bool operator<(const T* compare) const;
+ inline bool operator<(const StringBase<T>& compare) const;
+
+ inline StringBase<T>& operator=(const T* assign);
+ inline StringBase<T>& operator=(const StringBase<T>& assign);
+
+ inline StringBase<T> operator+(const T* append) const;
+ inline StringBase<T> operator+(const StringBase<T>& append) const;
+
+ inline StringBase<T>& operator+=(const T* append);
+ inline StringBase<T>& operator+=(const StringBase<T>& append);
+ inline StringBase<T>& operator+=(const T& append);
+
+ inline const T& operator[](size_type index) const;
+ inline T& operator[](size_type index);
+
+protected:
+
+ T* value;
+ size_type buffer_size;
+ size_type length;
+ mutable unsigned int hash;
+ static const size_type LOCAL_BUFFER_SIZE = 8;
+ char local_buffer[LOCAL_BUFFER_SIZE];
+
+ size_type GetLength(const T* string) const;
+
+ // Copies the source string to target string
+ inline void Copy(T* target, const T* src, size_type length, bool terminate = false);
+
+ // Internal implementations of the public interfaces,
+ // all these functions take the length of the const T*'s they're
+ // dealing with which *MUST* be accurate.
+ // Its up to the external interfaces to provide valid values for these functions
+ inline size_type _Find(const T* find, size_type find_length, size_type offset = 0) const;
+ inline size_type _RFind(const T* find, size_type find_length, size_type offset = 0) const;
+ inline StringBase<T> _Replace(const T* find, size_type find_length, const T* replace, size_type replace_length) const;
+ inline StringBase<T>& _Append(const T* append, size_type append_length, size_type count = StringBase<T>::npos);
+ inline StringBase<T>& _Assign(const T* assign, size_type assign_length, size_type count = StringBase<T>::npos);
+ inline void _Insert(size_type index, const T* insert, size_type insert_length, size_type count = StringBase<T>::npos);
+};
+
+#include <Rocket/Core/StringBase.inl>
+
+}
+}
+
+#endif
diff --git source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/StringBase.inl source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/StringBase.inl
new file mode 100644
index 0000000..6bc1878
--- /dev/null
+++ source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/StringBase.inl
@@ -0,0 +1,709 @@
+/*
+ * This source file is part of libRocket, the HTML/CSS Interface Middleware
+ *
+ * For the latest information, see http://www.librocket.com
+ *
+ * Copyright (c) 2008-2010 CodePoint Ltd, Shift Technology Ltd
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ *
+ */
+
+template< typename T >
+StringBase< T >::StringBase() : value((T*)local_buffer), buffer_size(LOCAL_BUFFER_SIZE), length(0), hash(0)
+{
+ value[0] = 0;
+}
+
+template< typename T >
+StringBase< T >::StringBase(const StringBase< T >& copy) : value((T*)local_buffer), buffer_size(LOCAL_BUFFER_SIZE), length(0), hash(0)
+{
+ value[0] = 0;
+ *this = copy;
+}
+
+template< typename T >
+StringBase< T >::StringBase(const T* string) : value((T*)local_buffer), buffer_size(LOCAL_BUFFER_SIZE), length(0), hash(0)
+{
+ value[0] = 0;
+ *this = string;
+}
+
+template< typename T >
+StringBase< T >::StringBase(const T* string_start, const T* string_end) : value((T*)local_buffer), buffer_size(LOCAL_BUFFER_SIZE), length(0), hash(0)
+{
+ value[0] = 0;
+ length = (string_end - string_start);
+
+ if (length > 0)
+ {
+ Reserve(length);
+ Copy(value, string_start, length, true);
+ }
+}
+
+template< typename T >
+StringBase< T >::StringBase(size_type count, const T character) : value((T*)local_buffer), buffer_size(LOCAL_BUFFER_SIZE), length(0), hash(0)
+{
+ value[0] = 0;
+ length = count;
+
+ if (length > 0)
+ {
+ Reserve(length);
+ for (size_type i = 0; i < length; i++)
+ value[i] = character;
+ value[length] = '\0';
+ }
+}
+
+template< typename T >
+StringBase< T >::StringBase(size_type ROCKET_UNUSED(max_length), const T* ROCKET_UNUSED(fmt), ...) : value((T*)local_buffer), buffer_size(LOCAL_BUFFER_SIZE), length(0), hash(0)
+{
+ value[0] = 0;
+ // Can't implement this at the base level, requires template specialisation
+ ROCKET_ERRORMSG("Not implemented.");
+}
+
+template< typename T >
+StringBase< T >::~StringBase()
+{
+ if (value != (T*)local_buffer)
+ free(value);
+}
+
+template< typename T >
+bool StringBase< T >::Empty() const
+{
+ return length == 0;
+}
+
+template< typename T >
+void StringBase< T >::Clear()
+{
+ if (value != (T*)local_buffer)
+ free(value);
+
+ length = 0;
+ hash = 0;
+ value = (T*)local_buffer;
+ buffer_size = LOCAL_BUFFER_SIZE;
+}
+
+template< typename T >
+typename StringBase< T >::size_type StringBase< T >::Length() const
+{
+ return length;
+}
+
+template< typename T >
+unsigned int StringBase< T >::Hash() const
+{
+ if (hash == 0 && length > 0)
+ {
+ // FNV-1 hash algorithm
+ unsigned char* bp = (unsigned char *)value; // start of buffer
+ unsigned char* be = (unsigned char *)value + (length * sizeof(T));
+
+ // FNV-1a hash each octet in the buffer
+ while (bp < be)
+ {
+ // xor the bottom with the current octet
+ hash ^= *bp++;
+
+ /* multiply by the 32 bit FNV magic prime mod 2^32 */
+ #if !defined(__GNUC__)
+ const unsigned int FNV_32_PRIME = ((unsigned int)16777619);
+ hash *= FNV_32_PRIME;
+ #else
+ hash += (hash<<1) + (hash<<4) + (hash<<7) + (hash<<8) + (hash<<24);
+ #endif
+ }
+ }
+ return hash;
+}
+
+template< typename T >
+const T* StringBase< T >::CString() const
+{
+ return value;
+}
+
+template< typename T >
+void StringBase< T >::Reserve(size_type size)
+{
+ size_type new_size = (size + 1) * sizeof(T);
+
+ if (buffer_size >= new_size)
+ return;
+
+ // Pad out to a block of 16 bytes
+ const int BLOCK_SIZE = 16;
+ new_size = (new_size+BLOCK_SIZE-1)&(~(BLOCK_SIZE-1));
+
+ buffer_size = new_size;
+
+ if (value == (T*)local_buffer)
+ {
+ T* new_value = (T*)realloc(NULL, buffer_size);
+ Copy(new_value, (T*)local_buffer, LOCAL_BUFFER_SIZE / sizeof(T));
+ value = new_value;
+ }
+ else
+ {
+ value = (T*)realloc(value, buffer_size);
+ }
+}
+
+template< typename T >
+typename StringBase< T >::size_type StringBase< T >::Find(const T* find, size_type offset) const
+{
+ return _Find(find, GetLength(find), offset);
+}
+
+template< typename T >
+typename StringBase< T >::size_type StringBase< T >::Find(const StringBase< T >& find, size_type offset) const
+{
+ return _Find(find.CString(), find.Length(), offset);
+}
+
+template< typename T >
+typename StringBase< T >::size_type StringBase< T >::RFind(const T* find, size_type offset) const
+{
+ return _RFind(find, GetLength(find), offset);
+}
+
+template< typename T >
+typename StringBase< T >::size_type StringBase< T >::RFind(const StringBase< T >& find, size_type offset) const
+{
+ return _RFind(find.CString(), find.Length(), offset);
+}
+
+template< typename T >
+StringBase< T > StringBase< T >::Replace(const T* find, const T* replace) const
+{
+ return _Replace(find, GetLength(find), replace, GetLength(replace));
+}
+
+template< typename T >
+StringBase< T > StringBase< T >::Replace(const StringBase< T >& find, const StringBase< T >& replace) const
+{
+ return _Replace(find.CString(), find.Length(), replace.CString(), replace.Length());
+}
+
+template< typename T >
+StringBase< T > StringBase< T >::Substring(size_type start, size_type count) const
+{
+ // Ensure we're not going of bounds
+ if (count > length - start)
+ count = length - start;
+
+ if (start > length)
+ count = 0;
+
+ return StringBase< T >(&value[start], &value[start + count]);
+}
+
+template< typename T >
+StringBase< T >& StringBase< T >::Append(const T* append, size_type count)
+{
+ return _Append(append, GetLength(append), count);
+}
+
+template< typename T >
+StringBase< T >& StringBase< T >::Append(const StringBase< T >& append, size_type count)
+{
+ return _Append(append.CString(), append.Length(), count);
+}
+
+template< typename T >
+StringBase< T >& StringBase< T >::Append(const T& append)
+{
+ T buffer[2] = { append, 0 };
+ return (*this += buffer);
+}
+
+template< typename T >
+StringBase< T >& StringBase< T >::Assign(const T* assign, size_type count)
+{
+ size_type assign_length = GetLength(assign);
+ return _Assign(assign, count > assign_length ? assign_length : count);
+}
+
+template< typename T >
+StringBase< T >& StringBase< T >::Assign(const T* assign, const T* end)
+{
+ return _Assign(assign, end - assign);
+}
+
+template< typename T >
+StringBase< T >& StringBase< T >::Assign(const StringBase< T >& assign, size_type count)
+{
+ return _Assign(assign.CString(), assign.length, count);
+}
+
+// Insert a string into this string
+template< typename T >
+void StringBase< T >::Insert(size_type index, const T* insert, size_type count)
+{
+ return _Insert(index, insert, GetLength(insert), count);
+}
+
+// Insert a string into this string
+template< typename T >
+void StringBase< T >::Insert(size_type index, const StringBase< T >& insert, size_type count)
+{
+ return _Insert(index, insert.value, insert.length, count);
+}
+
+// Insert a character into this string
+template< typename T >
+void StringBase< T >::Insert(size_type index, const T& insert)
+{
+ return _Insert(index, &insert, 1, 1);
+}
+
+/// Erase characters from this string
+template< typename T >
+void StringBase< T >::Erase(size_type index, size_type count)
+{
+ if (index >= length)
+ return;
+
+ if (count == npos)
+ {
+ Resize(index);
+ }
+ else
+ {
+ size_type erase_amount = count < length - index ? count : length - index;
+
+ Copy(&value[index], &value[index + erase_amount], length - index - erase_amount, true);
+
+ length -= erase_amount;
+
+ if (length == 0)
+ Clear();
+ }
+}
+
+template< typename T >
+int StringBase< T >::FormatString(size_type ROCKET_UNUSED(max_length), const T* ROCKET_UNUSED(fmt), ...)
+{
+ ROCKET_ERRORMSG("Not implemented.");
+ return -1;
+}
+
+template< typename T >
+void StringBase< T >::Resize(size_type new_length)
+{
+ Reserve(new_length);
+ length = new_length;
+ value[length] = '\0';
+
+ if (length == 0)
+ Clear();
+}
+
+// Create a lowercase version of the string
+template< typename T >
+StringBase< T > StringBase< T >::ToLower() const
+{
+ // Loop through the string, looking for an uppercase character
+ size_t copy_index = npos;
+ for (size_t i = 0; i < length; i++)
+ {
+ if (value[i] >= 'A' && value[i] <= 'Z')
+ {
+ copy_index = i;
+ break;
+ }
+ }
+
+ // If theres no lowercase letters, simply copy us direct
+ if (copy_index == npos)
+ return StringBase< T >(*this);
+
+ StringBase< T > lowercase(CString(), CString() + copy_index);
+ // Otherwise trawl through the rest of the letters
+ for (size_t i = copy_index; i < length; i++)
+ {
+ if (value[i] >= 'A' && value[i] <= 'Z')
+ lowercase.Append((T)(value[i] + ('a' - 'A')));
+ else
+ lowercase.Append(value[i]);
+ }
+
+ return lowercase;
+}
+
+// Create a lowercase version of the string
+template< typename T >
+StringBase< T > StringBase< T >::ToUpper() const
+{
+ // Loop through the string, looking for an uppercase character
+ size_t copy_index = npos;
+ for (size_t i = 0; i < length; i++)
+ {
+ if (value[i] >= 'a' && value[i] <= 'z')
+ {
+ copy_index = i;
+ break;
+ }
+ }
+
+ // If theres no lowercase letters, simply copy us direct
+ if (copy_index == npos)
+ return StringBase< T >(*this);
+
+ StringBase< T > uppercase(CString(), CString() + copy_index);
+ // Otherwise trawl through the rest of the letters
+ for (size_t i = copy_index; i < length; i++)
+ {
+ if (value[i] >= 'a' && value[i] <= 'z')
+ uppercase.Append((T)(value[i] - ('a' - 'A')));
+ else
+ uppercase.Append(value[i]);
+ }
+
+ return uppercase;
+}
+
+template< typename T >
+bool StringBase< T >::operator==(const T* compare) const
+{
+ size_type index = 0;
+
+ while (index < length && compare[index] == value[index])
+ index++;
+
+ return index == length && compare[index] == '\0';
+}
+
+template< typename T >
+bool StringBase< T >::operator==(const StringBase< T >& compare) const
+{
+ if (length != compare.length)
+ return false;
+
+ if (Hash() != compare.Hash())
+ return false;
+
+ return (*this) == compare.value;
+}
+
+template< typename T >
+bool StringBase< T >::operator!=(const T* compare) const
+{
+ return !(*this == compare);
+}
+
+template< typename T >
+bool StringBase< T >::operator!=(const StringBase< T >& compare) const
+{
+ return !(*this == compare);
+}
+
+template< typename T >
+bool StringBase< T >::operator<(const T* compare) const
+{
+ size_type index = 0;
+ while (index < length && compare[index] == value[index])
+ index++;
+
+ // Check if we reached the end of the string
+ if (index < length)
+ {
+ // If we didn't check if we reached the end of
+ // the string we're comparing against, if so
+ // then we're not less than
+ if (compare[index] == 0)
+ return false;
+
+ // Check the character at index
+ return value[index] < compare[index];
+ }
+ else
+ {
+ // We reached the end of our string,
+ // if the string we're comparing with still
+ // has data, then we're smaller
+ if (compare[index] != 0)
+ return true;
+ }
+
+ return false;
+}
+
+template< typename T >
+bool StringBase< T >::operator<(const StringBase< T >& compare) const
+{
+ return *this < compare.CString();
+}
+
+template< typename T >
+StringBase< T >& StringBase< T >::operator=(const T* assign)
+{
+ return Assign(assign);
+}
+
+template< typename T >
+StringBase< T >& StringBase< T >::operator=(const StringBase< T >& assign)
+{
+ return Assign(assign);
+}
+
+template< typename T >
+StringBase< T > StringBase< T >::operator+(const T* add) const
+{
+ StringBase< T > combined(*this);
+ combined.Append(add);
+
+ return combined;
+}
+
+template< typename T >
+StringBase< T > StringBase< T >::operator+(const StringBase< T >& add) const
+{
+ StringBase< T > combined(*this);
+ combined.Append(add);
+
+ return combined;
+}
+
+template< typename T >
+StringBase< T >& StringBase< T >::operator+=(const T* add)
+{
+ return Append(add);
+}
+
+template< typename T >
+StringBase< T >& StringBase< T >::operator+=(const StringBase< T >& add)
+{
+ return _Append(add.CString(), add.length);
+}
+
+template< typename T >
+StringBase< T >& StringBase< T >::operator+=(const T& add)
+{
+ return Append(add);
+}
+
+template< typename T >
+const T& StringBase< T >::operator[](size_type index) const
+{
+ ROCKET_ASSERT(index < length);
+ return value[index];
+}
+
+template< typename T >
+T& StringBase< T >::operator[](size_type index)
+{
+ ROCKET_ASSERT(index < length);
+ return value[index];
+}
+
+template< typename T >
+typename StringBase< T >::size_type StringBase< T >::GetLength(const T* string) const
+{
+ const T* ptr = string;
+
+ while (*ptr)
+ {
+ ptr++;
+ }
+
+ return ptr - string;
+}
+
+template< typename T >
+void StringBase< T >::Copy(T* target, const T* src, size_type length, bool terminate)
+{
+ // Copy values
+ for (size_type i = 0; i < length; i++)
+ {
+ *target++ = *src++;
+ }
+
+ if (terminate)
+ {
+ *target++ = 0;
+ }
+}
+
+template< typename T >
+typename StringBase< T >::size_type StringBase< T >::_Find(const T* find, size_type find_length, size_type offset) const
+{
+ size_type needle_index = 0;
+ size_type haystack_index = offset;
+
+ // If the find length is greater than the string we have, it can't be here
+ if (find_length > length)
+ return npos;
+
+ // While there's still data in the haystack loop
+ while (value[haystack_index])
+ {
+ // If the current haystack posize_typeer plus needle offset matches,
+ // advance the needle index
+ if (value[haystack_index + needle_index] == find[needle_index])
+ {
+ needle_index++;
+
+ // If we reach the end of the search term, return the current haystack index
+ if (needle_index == find_length)
+ return haystack_index;
+ }
+ else
+ {
+ // Advance haystack index by one and reset needle index.
+ haystack_index++;
+ needle_index = 0;
+ }
+ }
+
+ return npos;
+}
+
+template< typename T >
+typename StringBase< T >::size_type StringBase< T >::_RFind(const T* find, size_type find_length, size_type offset) const
+{
+ ROCKET_ASSERT(find_length > 0);
+
+ size_type needle_index = 0;
+ size_type haystack_index = (offset < length ? offset : length) - find_length;
+
+ // If the find length is greater than the string we have, it can't be here
+ if (find_length > length)
+ return npos;
+
+ // While theres still data in the haystack loop
+ for (;;)
+ {
+ // If the current haystack index plus needle offset matches,
+ // advance the needle index
+ if (value[haystack_index + needle_index] == find[needle_index])
+ {
+ needle_index++;
+
+ // If we reach the end of the search term, return the current haystack index
+ if (find[needle_index] == 0)
+ return haystack_index;
+ }
+ else
+ {
+ if (haystack_index == 0)
+ return npos;
+
+ // Advance haystack index backwards
+ haystack_index--;
+ needle_index = 0;
+ }
+ }
+}
+
+template< typename T >
+StringBase< T > StringBase< T >::_Replace(const T* find, size_type find_length, const T* replace, size_type replace_length) const
+{
+ StringBase< T > result;
+
+ size_type offset = 0;
+ // Loop until we reach the end of the string
+ while (offset < Length())
+ {
+ // Look for the next search term
+ size_type pos = _Find(find, find_length, offset);
+
+ // Term not found, add remainder and return
+ if (pos == npos)
+ return result + (Substring(offset).CString());
+
+ // Add the unchanged text and replacement after it
+ result += Substring(offset, pos - offset);
+ result._Append(replace, replace_length);
+
+ // Advance the find position
+ offset = pos + find_length;
+ }
+
+ hash = 0;
+
+ return result;
+}
+
+template< typename T >
+StringBase< T >& StringBase< T >::_Append(const T* append, size_type append_length, size_type count)
+{
+ size_type add_length = count < append_length ? count : append_length;
+
+ if (add_length == 0)
+ return *this;
+
+ Reserve(length + add_length);
+ Copy(&value[length], append, add_length, true);
+ length += add_length;
+
+ hash = 0;
+
+ return *this;
+}
+
+template< typename T >
+StringBase< T >& StringBase< T >::_Assign(const T* assign, size_type assign_length, size_type count)
+{
+ size_type new_length = count < assign_length ? count : assign_length;
+
+ if (new_length == 0)
+ {
+ Clear();
+ }
+ else
+ {
+ Reserve(new_length);
+ Copy(value, assign, new_length, true);
+ }
+
+ length = new_length;
+
+ hash = 0;
+
+ return *this;
+}
+
+template< typename T >
+void StringBase< T >::_Insert(size_type index, const T* insert, size_type insert_length, size_type count)
+{
+ if (index >= length)
+ {
+ Append(insert, count);
+ return;
+ }
+
+ size_type add_length = count < insert_length ? count : insert_length;
+
+ Reserve(length + add_length);
+
+ for (size_type i = length + 1; i > index; i--)
+ value[i + add_length - 1] = value[i - 1];
+
+ Copy(&value[index], insert, add_length);
+ length += add_length;
+
+ hash = 0;
+}
diff --git source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/StringUtilities.h source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/StringUtilities.h
new file mode 100644
index 0000000..a1cc9ea
--- /dev/null
+++ source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/StringUtilities.h
@@ -0,0 +1,109 @@
+/*
+ * This source file is part of libRocket, the HTML/CSS Interface Middleware
+ *
+ * For the latest information, see http://www.librocket.com
+ *
+ * Copyright (c) 2008-2010 CodePoint Ltd, Shift Technology Ltd
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ *
+ */
+
+#ifndef ROCKETCORESTRINGUTILITIES_H
+#define ROCKETCORESTRINGUTILITIES_H
+
+#include <Rocket/Core/Header.h>
+#include <Rocket/Core/Types.h>
+#include <Rocket/Core/String.h>
+#include <stdarg.h>
+
+namespace Rocket {
+namespace Core {
+
+/**
+ Helper functions for string manipulation.
+ @author Lloyd Weehuizen
+ */
+
+class ROCKETCORE_API StringUtilities
+{
+public:
+ /// Expands character-delimited list of values in a single string to a whitespace-trimmed list
+ /// of values.
+ /// @param[out] string_list Resulting list of values.
+ /// @param[in] string String to expand.
+ /// @param[in] delimiter Delimiter found between entries in the string list.
+ static void ExpandString(StringList& string_list, const String& string, const char delimiter = ',');
+ /// Joins a list of string values into a single string separated by a character delimiter.
+ /// @param[out] string Resulting concatenated string.
+ /// @param[in] string_list Input list of string values.
+ /// @param[in] delimiter Delimiter to insert between the individual values.
+ static void JoinString(String& string, const StringList& string_list, const char delimiter = ',');
+
+ /// Hashes a string of data to an integer value using the FNV algorithm.
+ /// @param[in] data Data to hash.
+ /// @param[in] length Length of the string to hash. If this is -1, the data will be interpreted as a C string.
+ /// @return Integer hash of the data.
+ static Hash FNVHash(const char* data, int length = -1);
+
+ /// Converts a character array in UTF-8 encoding to a vector of words. The UCS-2 words will be encoded as
+ /// either big- or little-endian, depending on the host processor.
+ /// @param[in] input Input string in UTF-8 encoding.
+ /// @param[out] output Output vector of UCS-2 characters.
+ /// @return True if the conversion went successfully, false if any characters had to be skipped (this will occur if they can't fit into UCS-2).
+ static bool UTF8toUCS2(const String& input, std::vector< word >& output);
+ /// Converts a vector of words in UCS-2 encoding into a character array in UTF-8 encoding. This
+ /// function assumes the endianness of the input words to be the same as the host processor.
+ /// @param[in] input Input vector in UCS-2 encoding.
+ /// @param[out] output Output string in UTF-8 encoding.
+ /// @return True if the conversion went successfully, false if not.
+ static bool UCS2toUTF8(const std::vector< word >& input, String& output);
+ /// Converts an array of words in UCS-2 encoding into a character array in UTF-8 encoding. This
+ /// function assumes the endianness of the input words to be the same as the host processor.
+ /// @param[in] input Input array of words in UCS-2 encoding.
+ /// @param[in] input_size Length of the input array.
+ /// @param[out] output Output string in UTF-8 encoding.
+ /// @return True if the conversion went successfully, false if not.
+ static bool UCS2toUTF8(const word* input, size_t input_size, String& output);
+
+ /// Checks if a given value is a whitespace character.
+ /// @param[in] x The character to evaluate.
+ /// @return True if the character is whitespace, false otherwise.
+ template < typename CharacterType >
+ static bool IsWhitespace(CharacterType x)
+ {
+ return (x == '\r' || x == '\n' || x == ' ' || x == '\t');
+ }
+
+ /// Strip whitespace characters from the beginning and end of a string.
+ /// @param[in] string The string to trim.
+ /// @return The stripped string.
+ static String StripWhitespace(const String& string);
+
+ /// Operator for STL containers using strings.
+ struct ROCKETCORE_API StringComparei
+ {
+ bool operator()(const String& lhs, const String& rhs) const;
+ };
+};
+
+}
+}
+
+#endif
diff --git source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/StyleSheet.h source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/StyleSheet.h
new file mode 100644
index 0000000..cfdfd97
--- /dev/null
+++ source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/StyleSheet.h
@@ -0,0 +1,101 @@
+/*
+ * This source file is part of libRocket, the HTML/CSS Interface Middleware
+ *
+ * For the latest information, see http://www.librocket.com
+ *
+ * Copyright (c) 2008-2010 CodePoint Ltd, Shift Technology Ltd
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ *
+ */
+
+#ifndef ROCKETCORESTYLESHEET_H
+#define ROCKETCORESTYLESHEET_H
+
+#include <Rocket/Core/Dictionary.h>
+#include <Rocket/Core/ReferenceCountable.h>
+#include <set>
+#include <Rocket/Core/PropertyDictionary.h>
+
+namespace Rocket {
+namespace Core {
+
+class Element;
+class ElementDefinition;
+class StyleSheetNode;
+
+/**
+ StyleSheet maintains a single stylesheet definition. A stylesheet can be combined with another stylesheet to create
+ a new, merged stylesheet.
+
+ @author Lloyd Weehuizen
+ */
+
+class StyleSheet : public ReferenceCountable
+{
+public:
+ typedef std::set< StyleSheetNode* > NodeList;
+ typedef std::map< String, NodeList > NodeIndex;
+
+ StyleSheet();
+ virtual ~StyleSheet();
+
+ /// Loads a style from a CSS definition.
+ bool LoadStyleSheet(Stream* stream);
+
+ /// Combines this style sheet with another one, producing a new sheet.
+ StyleSheet* CombineStyleSheet(const StyleSheet* sheet) const;
+ /// Builds the node index for a combined style sheet.
+ void BuildNodeIndex();
+
+ /// Returns the compiled element definition for a given element hierarchy. A reference count will be added for the
+ /// caller, so another should not be added. The definition should be released by removing the reference count.
+ ElementDefinition* GetElementDefinition(const Element* element) const;
+
+protected:
+ /// Destroys the style sheet.
+ virtual void OnReferenceDeactivate();
+
+private:
+ // Root level node, attributes from special nodes like "body" get added to this node
+ StyleSheetNode* root;
+
+ // The maximum specificity offset used in this style sheet to distinguish between properties in
+ // similarly-specific rules, but declared on different lines. When style sheets are merged, the
+ // more-specific style sheet (ie, coming further 'down' the include path) adds the offset of
+ // the less-specific style sheet onto its offset, thereby ensuring its properties take
+ // precedence in the event of a conflict.
+ int specificity_offset;
+
+ // Map of only nodes with actual style information.
+ NodeIndex styled_node_index;
+ // Map of every node, even empty, un-styled, nodes.
+ NodeIndex complete_node_index;
+
+ typedef std::map< String, ElementDefinition* > ElementDefinitionCache;
+ // Index of element addresses to element definitions.
+ mutable ElementDefinitionCache address_cache;
+ // Index of node sets to element definitions.
+ mutable ElementDefinitionCache node_cache;
+};
+
+}
+}
+
+#endif
diff --git source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/StyleSheetKeywords.h source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/StyleSheetKeywords.h
new file mode 100644
index 0000000..68c6123
--- /dev/null
+++ source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/StyleSheetKeywords.h
@@ -0,0 +1,119 @@
+/*
+ * This source file is part of libRocket, the HTML/CSS Interface Middleware
+ *
+ * For the latest information, see http://www.librocket.com
+ *
+ * Copyright (c) 2008-2010 CodePoint Ltd, Shift Technology Ltd
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ *
+ */
+
+#ifndef ROCKETCORESTYLESHEETKEYWORDS_H
+#define ROCKETCORESTYLESHEETKEYWORDS_H
+
+namespace Rocket {
+namespace Core {
+
+const int POSITION_STATIC = 0;
+const int POSITION_RELATIVE = 1;
+const int POSITION_ABSOLUTE = 2;
+const int POSITION_FIXED = 3;
+
+const int FLOAT_NONE = 0;
+const int FLOAT_LEFT = 1;
+const int FLOAT_RIGHT = 2;
+
+const int CLEAR_NONE = 0;
+const int CLEAR_LEFT = 1;
+const int CLEAR_RIGHT = 2;
+const int CLEAR_BOTH = 3;
+
+const int DISPLAY_NONE = 0;
+const int DISPLAY_BLOCK = 1;
+const int DISPLAY_INLINE = 2;
+const int DISPLAY_INLINE_BLOCK = 3;
+
+const int VISIBILITY_VISIBLE = 0;
+const int VISIBILITY_HIDDEN = 1;
+
+const int OVERFLOW_VISIBLE = 0;
+const int OVERFLOW_HIDDEN = 1;
+const int OVERFLOW_AUTO = 2;
+const int OVERFLOW_SCROLL = 3;
+
+const int CLIP_AUTO = 0;
+const int CLIP_NONE = 1;
+
+const int FONT_STYLE_NORMAL = 0;
+const int FONT_STYLE_ITALIC = 1;
+
+const int FONT_WEIGHT_NORMAL = 0;
+const int FONT_WEIGHT_BOLD = 1;
+
+const int TEXT_ALIGN_LEFT = 0;
+const int TEXT_ALIGN_RIGHT = 1;
+const int TEXT_ALIGN_CENTER = 2;
+const int TEXT_ALIGN_JUSTIFY = 3;
+
+const int TEXT_DECORATION_NONE = 0;
+const int TEXT_DECORATION_UNDERLINE = 1;
+const int TEXT_DECORATION_OVERLINE = 2;
+const int TEXT_DECORATION_LINE_THROUGH = 3;
+
+const int TEXT_TRANSFORM_NONE = 0;
+const int TEXT_TRANSFORM_CAPITALIZE = 1;
+const int TEXT_TRANSFORM_UPPERCASE = 2;
+const int TEXT_TRANSFORM_LOWERCASE = 3;
+
+const int WHITE_SPACE_NORMAL = 0;
+const int WHITE_SPACE_PRE = 1;
+const int WHITE_SPACE_NOWRAP = 2;
+const int WHITE_SPACE_PRE_WRAP = 3;
+const int WHITE_SPACE_PRE_LINE = 4;
+
+const int VERTICAL_ALIGN_BASELINE = 0;
+const int VERTICAL_ALIGN_MIDDLE = 1;
+const int VERTICAL_ALIGN_SUB = 2;
+const int VERTICAL_ALIGN_SUPER = 3;
+const int VERTICAL_ALIGN_TEXT_TOP = 4;
+const int VERTICAL_ALIGN_TEXT_BOTTOM = 5;
+const int VERTICAL_ALIGN_TOP = 6;
+const int VERTICAL_ALIGN_BOTTOM = 7;
+
+const int Z_INDEX_AUTO = 0;
+const int Z_INDEX_TOP = 1;
+const int Z_INDEX_BOTTOM = 2;
+
+const int DRAG_NONE = 0;
+const int DRAG_DRAG = 1;
+const int DRAG_DRAG_DROP = 2;
+const int DRAG_BLOCK = 3;
+const int DRAG_CLONE = 4;
+
+const int TAB_INDEX_NONE = 0;
+const int TAB_INDEX_AUTO = 1;
+
+const int FOCUS_NONE = 0;
+const int FOCUS_AUTO = 1;
+
+}
+}
+
+#endif
diff --git source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/StyleSheetSpecification.h source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/StyleSheetSpecification.h
new file mode 100644
index 0000000..203677a
--- /dev/null
+++ source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/StyleSheetSpecification.h
@@ -0,0 +1,119 @@
+/*
+ * This source file is part of libRocket, the HTML/CSS Interface Middleware
+ *
+ * For the latest information, see http://www.librocket.com
+ *
+ * Copyright (c) 2008-2010 CodePoint Ltd, Shift Technology Ltd
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ *
+ */
+
+#ifndef ROCKETCORESTYLESHEETSPECIFICATION_H
+#define ROCKETCORESTYLESHEETSPECIFICATION_H
+
+#include <Rocket/Core/Header.h>
+#include <Rocket/Core/PropertySpecification.h>
+#include <Rocket/Core/Types.h>
+
+namespace Rocket {
+namespace Core {
+
+class PropertyParser;
+
+/**
+ @author Peter Curry
+ */
+
+class ROCKETCORE_API StyleSheetSpecification
+{
+public:
+ /// Starts up the specification structure and registers default properties and type parsers.
+ /// @return True if the specification started up successfully, false if not.
+ static bool Initialise();
+ /// Destroys the specification structure and releases the parsers.
+ static void Shutdown();
+
+ /// Registers a parser for use in property definitions.
+ /// @param[in] parser_name The name to register the new parser under.
+ /// @param[in] parser The parser to register. This parser will be released by the specification.
+ /// @return True if the parser was registered successfully, false otherwise.
+ static bool RegisterParser(const String& parser_name, PropertyParser* parser);
+ /// Returns the parser registered with a specific name.
+ /// @param[in] parser_name The name of the desired parser.
+ /// @return The parser registered under the given name, or NULL if no such parser exists.
+ static PropertyParser* GetParser(const String& parser_name);
+
+ /// Registers a property with a new definition.
+ /// @param[in] property_name The name to register the new property under.
+ /// @param[in] default_value The default value to be used for an element if it has no other definition provided.
+ /// @param[in] inherited True if this property is inherited from parent to child, false otherwise.
+ /// @param[in] forces_layout True if a change in this property on an element will cause the element's layout to possibly change.
+ /// @return The new property definition, ready to have parsers attached.
+ static PropertyDefinition& RegisterProperty(const String& property_name, const String& default_value, bool inherited, bool forces_layout = false);
+ /// Returns a property definition.
+ /// @param[in] property_name The name of the desired property.
+ /// @return The appropriate property definition if it could be found, NULL otherwise.
+ static const PropertyDefinition* GetProperty(const String& property_name);
+
+ /// Returns the list of the names of all registered property definitions.
+ /// @return The list with stored property names.
+ static const PropertyNameList & GetRegisteredProperties();
+
+ /// Registers a shorthand property definition.
+ /// @param[in] shorthand_name The name to register the new shorthand property under.
+ /// @param[in] properties A comma-separated list of the properties this definition is shorthand for. The order in which they are specified here is the order in which the values will be processed.
+ /// @param[in] type The type of shorthand to declare.
+ /// @param True if all the property names exist, false otherwise.
+ static bool RegisterShorthand(const String& shorthand_name, const String& property_names, PropertySpecification::ShorthandType type = PropertySpecification::AUTO);
+ /// Returns a shorthand definition.
+ /// @param[in] shorthand_name The name of the desired shorthand.
+ /// @return The appropriate shorthand definition if it could be found, NULL otherwise.
+ static const PropertyShorthandDefinition* GetShorthand(const String& shorthand_name);
+
+ /// Parses a property declaration, setting any parsed and validated properties on the given dictionary.
+ /// @param[in] dictionary The property dictionary which will hold all declared properties.
+ /// @param[in] property_name The name of the declared property.
+ /// @param[in] property_value The values the property is being set to.
+ /// @param[in] source_file The file where this property was declared. Used for error reporting, debugging and relative paths for referenced assets.
+ /// @param[in] line_number The location of the source file where this property was declared. Used for error reporting and debugging.
+ /// @return True if all properties were parsed successfully, false otherwise.
+ static bool ParsePropertyDeclaration(PropertyDictionary& dictionary, const String& property_name, const String& property_value, const String& source_file = "", int source_line_number = 0);
+
+private:
+ StyleSheetSpecification();
+ ~StyleSheetSpecification();
+
+ // Registers Rocket's default parsers.
+ void RegisterDefaultParsers();
+ // Registers Rocket's default style properties.
+ void RegisterDefaultProperties();
+
+ // Parsers used by all property definitions.
+ typedef std::map< String, PropertyParser* > ParserMap;
+ ParserMap parsers;
+
+ // The properties defined in the style sheet specification.
+ PropertySpecification properties;
+};
+
+}
+}
+
+#endif
diff --git source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/SystemInterface.h source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/SystemInterface.h
new file mode 100644
index 0000000..3176d80
--- /dev/null
+++ source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/SystemInterface.h
@@ -0,0 +1,98 @@
+/*
+ * This source file is part of libRocket, the HTML/CSS Interface Middleware
+ *
+ * For the latest information, see http://www.librocket.com
+ *
+ * Copyright (c) 2008-2010 CodePoint Ltd, Shift Technology Ltd
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ *
+ */
+
+#ifndef ROCKETCORESYSTEMINTERFACE_H
+#define ROCKETCORESYSTEMINTERFACE_H
+
+#include <Rocket/Core/Log.h>
+#include <Rocket/Core/ReferenceCountable.h>
+#include <Rocket/Core/String.h>
+#include <Rocket/Core/Header.h>
+
+namespace Rocket {
+namespace Core {
+
+/**
+ libRocket's System Interface.
+
+ This class provides interfaces for Time, Translation and Logging.
+
+ Time is the only required implementation.
+
+ The default implemention of Translation doesn't translate anything
+
+ The default implementation of logging logs Windows Debug Console,
+ or Standard Error, depending on what platform you're using.
+
+ @author Lloyd Weehuizen
+ */
+
+class ROCKETCORE_API SystemInterface : public ReferenceCountable
+{
+public:
+ SystemInterface();
+ virtual ~SystemInterface();
+
+ /// Get the number of seconds elapsed since the start of the application.
+ /// @return Elapsed time, in seconds.
+ virtual float GetElapsedTime() = 0;
+
+ /// Translate the input string into the translated string.
+ /// @param[out] translated Translated string ready for display.
+ /// @param[in] input String as received from XML.
+ /// @return Number of translations that occured.
+ virtual int TranslateString(String& translated, const String& input);
+
+ /// Joins the path of an RML or RCSS file with the path of a resource specified within the file.
+ /// @param[out] translated_path The joined path.
+ /// @param[in] document_path The path of the source document (including the file name).
+ /// @param[in] path The path of the resource specified in the document.
+ virtual void JoinPath(String& translated_path, const String& document_path, const String& path);
+
+ /// Log the specified message.
+ /// @param[in] type Type of log message, ERROR, WARNING, etc.
+ /// @param[in] message Message to log.
+ /// @return True to continue execution, false to break into the debugger.
+ virtual bool LogMessage(Log::Type type, const String& message);
+
+ /// Activate keyboard (for touchscreen devices)
+ virtual void ActivateKeyboard();
+
+ /// Deactivate keyboard (for touchscreen devices)
+ virtual void DeactivateKeyboard();
+
+ /// Called when this system interface is no longer required.
+ virtual void Release();
+
+protected:
+ virtual void OnReferenceDeactivate();
+};
+
+}
+}
+
+#endif
diff --git source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/Texture.h source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/Texture.h
new file mode 100644
index 0000000..8cbe49e
--- /dev/null
+++ source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/Texture.h
@@ -0,0 +1,83 @@
+/*
+ * This source file is part of libRocket, the HTML/CSS Interface Middleware
+ *
+ * For the latest information, see http://www.librocket.com
+ *
+ * Copyright (c) 2008-2010 CodePoint Ltd, Shift Technology Ltd
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ *
+ */
+
+#ifndef ROCKETCORETEXTURE_H
+#define ROCKETCORETEXTURE_H
+
+#include <Rocket/Core/Header.h>
+#include <Rocket/Core/Types.h>
+
+namespace Rocket {
+namespace Core {
+
+class TextureResource;
+class RenderInterface;
+
+/**
+ Abstraction of a two-dimensional texture image, with an application-specific texture handle.
+
+ @author Peter Curry
+ */
+
+struct ROCKETCORE_API Texture
+{
+public:
+ /// Constructs an unloaded texture with no resource.
+ Texture();
+ /// Constructs a texture sharing the resource of another.
+ Texture(const Texture&);
+ ~Texture();
+
+ /// Attempts to load a texture.
+ /// @param[in] source The name of the texture.
+ /// @param[in] source_path The path of the resource that is requesting the texture (ie, the RCSS file in which it was specified, etc).
+ /// @return True if the texture loaded successfully, false if not.
+ bool Load(const String& source, const String& source_path = "");
+
+ /// Returns the texture's source name. This is usually the name of the file the texture was loaded from.
+ /// @return The name of the this texture's source. This will be the empty string if this texture is not loaded.
+ String GetSource() const;
+ /// Returns the texture's handle.
+ /// @param[in] The render interface that is requesting the handle.
+ /// @return The texture's handle. This will be NULL if the texture isn't loaded.
+ TextureHandle GetHandle(RenderInterface* render_interface) const;
+ /// Returns the texture's dimensions.
+ /// @param[in] The render interface that is requesting the dimensions.
+ /// @return The texture's dimensions. This will be (0, 0) if the texture isn't loaded.
+ Vector2i GetDimensions(RenderInterface* render_interface) const;
+
+ /// Releases this texture's resource (if any), and sets it to another texture's resource.
+ const Texture& operator=(const Texture&);
+
+private:
+ TextureResource* resource;
+};
+
+}
+}
+
+#endif
diff --git source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/TypeConverter.h source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/TypeConverter.h
new file mode 100644
index 0000000..2ae5efa
--- /dev/null
+++ source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/TypeConverter.h
@@ -0,0 +1,63 @@
+/*
+ * This source file is part of libRocket, the HTML/CSS Interface Middleware
+ *
+ * For the latest information, see http://www.librocket.com
+ *
+ * Copyright (c) 2008-2010 CodePoint Ltd, Shift Technology Ltd
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ *
+ */
+
+#ifndef ROCKETCORETYPECONVERTER_H
+#define ROCKETCORETYPECONVERTER_H
+
+#include <Rocket/Core/Types.h>
+#include <Rocket/Core/Log.h>
+#include <Rocket/Core/Stream.h>
+#include <Rocket/Core/StringUtilities.h>
+#include <typeinfo>
+#include <stdlib.h>
+#include <stdio.h>
+
+namespace Rocket {
+namespace Core {
+
+/**
+ Templatised TypeConverters with Template Specialisation.
+
+ These converters convert from source types to destination types.
+ They're mainly useful in things like dictionaries and serialisers.
+
+ @author Lloyd Weehuizen
+ */
+
+template <typename SourceType, typename DestType>
+class TypeConverter
+{
+public:
+ static bool Convert(const SourceType& src, DestType& dest);
+};
+
+#include <Rocket/Core/TypeConverter.inl>
+
+}
+}
+
+#endif
diff --git source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/TypeConverter.inl source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/TypeConverter.inl
new file mode 100644
index 0000000..545e0ae
--- /dev/null
+++ source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/TypeConverter.inl
@@ -0,0 +1,382 @@
+/*
+ * This source file is part of libRocket, the HTML/CSS Interface Middleware
+ *
+ * For the latest information, see http://www.librocket.com
+ *
+ * Copyright (c) 2008-2010 CodePoint Ltd, Shift Technology Ltd
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ *
+ */
+
+template <typename SourceType, typename DestType>
+bool TypeConverter<SourceType, DestType>::Convert(const SourceType& /*src*/, DestType& /*dest*/)
+{
+ ROCKET_ERRORMSG("No converter specified.");
+ return false;
+}
+
+///
+/// Partial specialisations at the top, as they full specialisations should be prefered.
+///
+template< typename T >
+class TypeConverter< T, Stream >
+{
+public:
+ static bool Convert(const T& src, Stream* dest)
+ {
+ String string_dest;
+ bool result = TypeConverter< T, String >::Convert(src, string_dest);
+ if (result)
+ dest->Write(string_dest);
+
+ return result;
+ }
+};
+
+template< typename T >
+class TypeConverter< Stream, T >
+{
+public:
+ static bool Convert(Stream* src, T& dest, size_t length = String::npos)
+ {
+ String string_src;
+ src->Read(string_src, src->Length() < length ? src->Length() : length);
+ return TypeConverter< String, T >::Convert(string_src, dest);
+ }
+};
+
+///
+/// Full Specialisations
+///
+
+#define BASIC_CONVERTER(s, d) \
+template<> \
+class TypeConverter< s, d > \
+{ \
+public: \
+ static bool Convert(const s& src, d& dest) \
+ { \
+ dest = (d)src; \
+ return true; \
+ } \
+}
+
+#define BASIC_CONVERTER_BOOL(s, d) \
+template<> \
+class TypeConverter< s, d > \
+{ \
+public: \
+ static bool Convert(const s& src, d& dest) \
+ { \
+ dest = src != 0; \
+ return true; \
+ } \
+}
+
+#define PASS_THROUGH(t) BASIC_CONVERTER(t, t)
+
+/////////////////////////////////////////////////
+// Simple pass through definitions for converting
+// to the same type (direct copy)
+/////////////////////////////////////////////////
+PASS_THROUGH(int);
+PASS_THROUGH(unsigned int);
+PASS_THROUGH(float);
+PASS_THROUGH(bool);
+PASS_THROUGH(char);
+PASS_THROUGH(word);
+PASS_THROUGH(Vector2i);
+PASS_THROUGH(Vector2f);
+PASS_THROUGH(Colourf);
+PASS_THROUGH(Colourb);
+PASS_THROUGH(String);
+
+// Pointer types need to be typedef'd
+class ScriptInterface;
+typedef ScriptInterface* ScriptInterfacePtr;
+PASS_THROUGH(ScriptInterfacePtr);
+typedef void* voidPtr;
+PASS_THROUGH(voidPtr);
+
+template<>
+class TypeConverter< Stream, Stream >
+{
+public:
+ static bool Convert(Stream* src, Stream* dest)
+ {
+ return src->Write(dest, src->Length()) == src->Length();
+ }
+};
+
+/////////////////////////////////////////////////
+// Simple Types
+/////////////////////////////////////////////////
+BASIC_CONVERTER(bool, int);
+BASIC_CONVERTER(bool, unsigned int);
+BASIC_CONVERTER(bool, float);
+
+BASIC_CONVERTER(int, unsigned int);
+BASIC_CONVERTER_BOOL(int, bool);
+BASIC_CONVERTER(int, float);
+
+BASIC_CONVERTER_BOOL(float, bool);
+BASIC_CONVERTER(float, int);
+BASIC_CONVERTER(float, unsigned int);
+
+BASIC_CONVERTER(char, word);
+
+/////////////////////////////////////////////////
+// From string converters
+/////////////////////////////////////////////////
+
+#define STRING_FLOAT_CONVERTER(type) \
+template<> \
+class TypeConverter< String, type > \
+{ \
+public: \
+ static bool Convert(const String& src, type& dest) \
+ { \
+ dest = (type) atof(src.CString()); \
+ return true; \
+ } \
+};
+STRING_FLOAT_CONVERTER(float);
+STRING_FLOAT_CONVERTER(double);
+
+template<>
+class TypeConverter< String, int >
+{
+public:
+ static bool Convert(const String& src, int& dest)
+ {
+ return sscanf(src.CString(), "%d", &dest) == 1;
+ }
+};
+
+template<>
+class TypeConverter< String, unsigned int >
+{
+public:
+ static bool Convert(const String& src, unsigned int& dest)
+ {
+ return sscanf(src.CString(), "%u", &dest) == 1;
+ }
+};
+
+template<>
+class TypeConverter< String, byte >
+{
+public:
+ static bool Convert(const String& src, byte& dest)
+ {
+ int value;
+ bool ret = sscanf(src.CString(), "%d", &value) == 1;
+ dest = (byte) value;
+ return ret && (value <= 255);
+ }
+};
+
+template<>
+class TypeConverter< String, bool >
+{
+public:
+ static bool Convert(const String& src, bool& dest)
+ {
+ String lower = src.ToLower();
+ if (lower == "1" || lower == "true")
+ {
+ dest = true;
+ return true;
+ }
+ else if (lower == "0" || lower == "false")
+ {
+ dest = false;
+ return true;
+ }
+ return false;
+ }
+};
+
+template<>
+class TypeConverter< String, URL >
+{
+public:
+ static bool Convert(const String& src, URL& dest)
+ {
+ return dest.SetURL(src);
+ }
+};
+
+template< typename DestType, typename InternalType, int count >
+class TypeConverterStringVector
+{
+public:
+ static bool Convert(const String& src, DestType& dest)
+ {
+ StringList string_list;
+ StringUtilities::ExpandString(string_list, src);
+ if (string_list.size() < count)
+ return false;
+ for (int i = 0; i < count; i++)
+ {
+ if (!TypeConverter< String, InternalType >::Convert(string_list[i], dest[i]))
+ return false;
+ }
+ return true;
+ }
+};
+
+#define STRING_VECTOR_CONVERTER(type, internal_type, count) \
+template<> \
+class TypeConverter< String, type > \
+{ \
+public: \
+ static bool Convert(const String& src, type& dest) \
+ { \
+ return TypeConverterStringVector< type, internal_type, count >::Convert(src, dest); \
+ } \
+}
+
+STRING_VECTOR_CONVERTER(Vector2i, int, 2);
+STRING_VECTOR_CONVERTER(Vector2f, float, 2);
+STRING_VECTOR_CONVERTER(Colourf, float, 4);
+STRING_VECTOR_CONVERTER(Colourb, byte, 4);
+
+/////////////////////////////////////////////////
+// To String Converters
+/////////////////////////////////////////////////
+
+#define FLOAT_STRING_CONVERTER(type) \
+template<> \
+class TypeConverter< type, String > \
+{ \
+public: \
+ static bool Convert(const type& src, String& dest) \
+ { \
+ return dest.FormatString(32, "%.4f", src) > 0; \
+ } \
+};
+FLOAT_STRING_CONVERTER(float);
+FLOAT_STRING_CONVERTER(double);
+
+template<>
+class TypeConverter< int, String >
+{
+public:
+ static bool Convert(const int& src, String& dest)
+ {
+ return dest.FormatString(32, "%d", src) > 0;
+ }
+};
+
+template<>
+class TypeConverter< unsigned int, String >
+{
+public:
+ static bool Convert(const unsigned int& src, String& dest)
+ {
+ return dest.FormatString(32, "%u", src) > 0;
+ }
+};
+
+template<>
+class TypeConverter< byte, String >
+{
+public:
+ static bool Convert(const byte& src, String& dest)
+ {
+ return dest.FormatString(32, "%u", src) > 0;
+ }
+};
+
+template<>
+class TypeConverter< bool, String >
+{
+public:
+ static bool Convert(const bool& src, String& dest)
+ {
+ dest = src ? "1" : "0";
+ return true;
+ }
+};
+
+template<>
+class TypeConverter< char*, String >
+{
+public:
+ static bool Convert(char* const & src, String& dest)
+ {
+ dest = src;
+ return true;
+ }
+};
+
+template<>
+class TypeConverter< URL, String >
+{
+public:
+ static bool Convert(const URL& src, String& dest)
+ {
+ dest = src.GetURL();
+ return true;
+ }
+};
+
+template< typename SourceType, typename InternalType, int count >
+class TypeConverterVectorString
+{
+public:
+ static bool Convert(const SourceType& src, String& dest)
+ {
+ dest = "";
+ for (int i = 0; i < count; i++)
+ {
+ String value;
+ if (!TypeConverter< InternalType, String >::Convert(src[i], value))
+ return false;
+
+ dest += value;
+ if (i < count - 1)
+ dest += ", ";
+ }
+ return true;
+ }
+};
+
+#define VECTOR_STRING_CONVERTER(type, internal_type, count) \
+template<> \
+class TypeConverter< type, String > \
+{ \
+public: \
+ static bool Convert(const type& src, String& dest) \
+ { \
+ return TypeConverterVectorString< type, internal_type, count >::Convert(src, dest); \
+ } \
+}
+
+VECTOR_STRING_CONVERTER(Vector2i, int, 2);
+VECTOR_STRING_CONVERTER(Vector2f, float, 2);
+VECTOR_STRING_CONVERTER(Colourf, float, 4);
+VECTOR_STRING_CONVERTER(Colourb, byte, 4);
+#undef PASS_THROUGH
+#undef BASIC_CONVERTER
+#undef BASIC_CONVERTER_BOOL
+#undef STRING_VECTOR_CONVERTER
+#undef VECTOR_STRING_CONVERTER
diff --git source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/Types.h source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/Types.h
new file mode 100644
index 0000000..72756c9
--- /dev/null
+++ source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/Types.h
@@ -0,0 +1,99 @@
+/*
+ * This source file is part of libRocket, the HTML/CSS Interface Middleware
+ *
+ * For the latest information, see http://www.librocket.com
+ *
+ * Copyright (c) 2008-2010 CodePoint Ltd, Shift Technology Ltd
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ *
+ */
+
+#ifndef ROCKETCORETYPES_H
+#define ROCKETCORETYPES_H
+
+// Define NULL as zero.
+#if !defined NULL
+#define NULL 0
+#endif
+
+#include <float.h>
+#include <limits.h>
+#include <string>
+#include <map>
+#include <set>
+#include <vector>
+
+#include <Rocket/Core/Platform.h>
+#include <Rocket/Core/Debug.h>
+
+namespace Rocket {
+namespace Core {
+
+// Define commonly used basic types.
+typedef unsigned char byte;
+typedef unsigned short word;
+typedef double Time;
+typedef float TimeDelta;
+typedef unsigned int Hash;
+typedef void* ScriptObject;
+
+}
+}
+
+#ifdef ROCKET_PLATFORM_WIN32
+typedef unsigned __int64 uint64_t;
+#else
+#include <inttypes.h>
+#endif
+
+#include <Rocket/Core/Colour.h>
+#include <Rocket/Core/Vector2.h>
+#include <Rocket/Core/String.h>
+
+namespace Rocket {
+namespace Core {
+
+// Default colour types.
+typedef Colour< float, 1 > Colourf;
+typedef Colour< byte, 255 > Colourb;
+typedef Vector2< float > Vector2f;
+typedef Vector2< int > Vector2i;
+
+
+class Element;
+class Dictionary;
+
+// Types for external interfaces.
+typedef uintptr_t FileHandle;
+typedef uintptr_t TextureHandle;
+typedef uintptr_t CompiledGeometryHandle;
+typedef uintptr_t DecoratorDataHandle;
+
+// List of elements.
+typedef std::vector< Element* > ElementList;
+typedef std::set< String > PseudoClassList;
+typedef std::set< String > PropertyNameList;
+typedef std::set< String > AttributeNameList;
+typedef Dictionary ElementAttributes;
+
+}
+}
+
+#endif
diff --git source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/URL.h source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/URL.h
new file mode 100644
index 0000000..c3dfe18
--- /dev/null
+++ source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/URL.h
@@ -0,0 +1,150 @@
+/*
+ * This source file is part of libRocket, the HTML/CSS Interface Middleware
+ *
+ * For the latest information, see http://www.librocket.com
+ *
+ * Copyright (c) 2008-2010 CodePoint Ltd, Shift Technology Ltd
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ *
+ */
+
+#ifndef ROCKETCOREURL_H
+#define ROCKETCOREURL_H
+
+#include <Rocket/Core/Header.h>
+#include <Rocket/Core/String.h>
+#include <map>
+
+namespace Rocket {
+namespace Core {
+
+/**
+ @author Peter Curry
+ */
+
+class ROCKETCORE_API URL
+{
+public:
+ /// Constructs an empty URL.
+ URL();
+ /// Constructs a new URL from the given string.
+ URL(const String& url);
+ /// Constructs a new URL from the given string. A little more scripting
+ /// engine friendly.
+ URL(const char* url);
+ /// Destroys the URL.
+ ~URL();
+
+ /// Assigns a new URL to the object. This will return false if the URL
+ /// is malformed.
+ bool SetURL(const String& url);
+ /// Returns the entire URL.
+ const String& GetURL() const;
+
+ /// Sets the URL's protocol.
+ bool SetProtocol(const String& protocol);
+ /// Returns the protocol this URL is utilising.
+ const String& GetProtocol() const;
+
+ /// Sets the URL's login
+ bool SetLogin( const String& login );
+ /// Returns the URL's login
+ const String& GetLogin() const;
+
+ /// Sets the URL's password
+ bool SetPassword( const String& password );
+ /// Returns the URL's password
+ const String& GetPassword() const;
+
+ /// Sets the URL's host.
+ bool SetHost(const String& host);
+ /// Returns the URL's host.
+ const String& GetHost() const;
+
+ /// Sets the URL's port number.
+ bool SetPort(int port);
+ /// Returns the URL's port number.
+ int GetPort() const;
+
+ /// Sets the URL's path.
+ bool SetPath(const String& path);
+ /// Prefixes the URL's existing path with the given prefix.
+ bool PrefixPath(const String& prefix);
+ /// Returns the URL's path.
+ const String& GetPath() const;
+
+ /// Sets the URL's file name.
+ bool SetFileName(const String& file_name);
+ /// Returns the URL's file name.
+ const String& GetFileName() const;
+
+ /// Sets the URL's file extension.
+ bool SetExtension(const String& extension);
+ /// Returns the URL's file extension.
+ const String& GetExtension() const;
+
+ /// Access the url parameters
+ typedef std::map< String, String > Parameters;
+ const Parameters& GetParameters() const;
+ void SetParameter(const String& name, const String& value);
+ void SetParameters( const Parameters& parameters );
+ void ClearParameters();
+
+ /// Returns the URL's path, file name and extension.
+ String GetPathedFileName() const;
+ /// Builds and returns a url query string ( key=value&key2=value2 )
+ String GetQueryString() const;
+
+ /// Less-than operator for use as a key in STL containers.
+ bool operator<(const URL& rhs) const;
+
+ /// Since URLs often contain characters outside the ASCII set,
+ /// the URL has to be converted into a valid ASCII format and back.
+ static String UrlEncode(const String &value);
+ static String UrlDecode(const String &value);
+
+private:
+ void ConstructURL() const;
+
+ /// Portable character check (remember EBCDIC). Do not use isalnum() because
+ /// its behavior is altered by the current locale.
+ /// See http://tools.ietf.org/html/rfc3986#section-2.3
+ /// (copied from libcurl sources)
+ static bool IsUnreservedChar(const char c);
+
+ mutable String url;
+ String protocol;
+ String login;
+ String password;
+ String host;
+ String path;
+ String file_name;
+ String extension;
+
+ Parameters parameters;
+
+ int port;
+ mutable int url_dirty;
+};
+
+}
+}
+
+#endif
diff --git source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/Variant.h source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/Variant.h
new file mode 100644
index 0000000..d1442b9
--- /dev/null
+++ source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/Variant.h
@@ -0,0 +1,159 @@
+/*
+ * This source file is part of libRocket, the HTML/CSS Interface Middleware
+ *
+ * For the latest information, see http://www.librocket.com
+ *
+ * Copyright (c) 2008-2010 CodePoint Ltd, Shift Technology Ltd
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ *
+ */
+
+#ifndef ROCKETVARIANT_H
+#define ROCKETVARIANT_H
+
+#include <Rocket/Core/Header.h>
+#include <Rocket/Core/Types.h>
+#include <Rocket/Core/TypeConverter.h>
+#include <list>
+
+namespace Rocket {
+namespace Core {
+
+/**
+ Variant is a container that can store a selection of basic types. The variant will store the
+ value in the native form corresponding to the version of Set that was called.
+
+ Get is templated to convert from the stored form to the requested form by using a TypeConverter.
+
+ @author Lloyd Weehuizen
+ */
+
+class ROCKETCORE_API Variant
+{
+public:
+ Variant();
+ /// Templatised constructors don't work for the copy constructor, so we have to define it
+ /// explicitly.
+ Variant(const Variant&);
+ /// Constructs a variant with internal data.
+ /// @param[in] t Data of a supported type to set on the variant.
+ template< typename T >
+ Variant(const T& t);
+
+ ~Variant();
+
+ /// Type of data stored in the variant.
+ enum Type
+ {
+ NONE = '-',
+ BYTE = 'b',
+ CHAR = 'c',
+ FLOAT = 'f',
+ INT = 'i',
+ STRING = 's',
+ WORD = 'w',
+ VECTOR2 = '2',
+ COLOURF = 'g',
+ COLOURB = 'h',
+ SCRIPTINTERFACE = 'p',
+ VOIDPTR = '*',
+ };
+
+ /// Clears the data structure stored by the variant.
+ void Clear();
+
+ /// Gets the current internal representation type.
+ /// @return The type of data stored in the variant internally.
+ Type GetType() const;
+
+ /// Shares another variant's data with this variant.
+ /// @param[in] copy Variant to share data.
+ void Set(const Variant& copy);
+ /// Sets a byte value on this variant.
+ /// @param[in] value New value to set.
+ void Set(const byte value);
+ /// Sets a signed char value on this variant.
+ /// @param[in] value New value to set.
+ void Set(const char value);
+ /// Sets a float value on this variant.
+ /// @param[in] value New value to set.
+ void Set(const float value);
+ /// Sets a signed int value on this variant.
+ /// @param[in] value New value to set.
+ void Set(const int value);
+ /// Sets a word value on this variant.
+ /// @param[in] value New value to set.
+ void Set(const word value);
+ /// Sets a constant C string value on this variant.
+ /// @param[in] value New value to set.
+ void Set(const char* value);
+ /// Sets a generic void* value on this variant.
+ /// @param[in] value New value to set.
+ void Set(void* value);
+ /// Sets an EMP string value on this variant.
+ /// @param[in] value New value to set.
+ void Set(const String& value);
+ /// Sets a Vector2f value on this variant.
+ /// @param[in] value New value to set.
+ void Set(const Vector2f& value);
+ /// Sets a Colourf value on this variant.
+ /// @param[in] value New value to set.
+ void Set(const Colourf& value);
+ /// Sets a Colourb value on this variant.
+ /// @param[in] value New value to set.
+ void Set(const Colourb& value);
+ /// Sets a script object value on this variant.
+ /// @param[in] value New value to set.
+ void Set(ScriptInterface* value);
+
+ /// Templatised data accessor. TypeConverters will be used to attempt to convert from the
+ /// internal representation to the requested representation.
+ /// @return Data in the requested type.
+ template< typename T >
+ T Get() const;
+
+ /// Templatised data accessor. TypeConverters will be used to attempt to convert from the
+ /// internal representation to the requested representation.
+ /// @param[out] value Data in the requested type.
+ /// @return True if the value was converted and returned, false if no data was stored in the variant.
+ template< typename T >
+ bool GetInto(T& value) const;
+
+ /// Assigns another variant's internal data to this variant.
+ /// @param[in] copy Variant to share data.
+ Variant& operator=(const Variant& copy);
+
+private:
+
+#ifdef ROCKET_ARCH_64
+ static const int LOCAL_DATA_SIZE = 32; // Required for Strings
+#else
+ static const int LOCAL_DATA_SIZE = 24;
+#endif
+ Type type;
+ char data[LOCAL_DATA_SIZE];
+};
+
+#include <Rocket/Core/Variant.inl>
+
+}
+}
+
+#endif
diff --git source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/Variant.inl source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/Variant.inl
new file mode 100644
index 0000000..f75f5a4
--- /dev/null
+++ source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/Variant.inl
@@ -0,0 +1,102 @@
+/*
+ * This source file is part of libRocket, the HTML/CSS Interface Middleware
+ *
+ * For the latest information, see http://www.librocket.com
+ *
+ * Copyright (c) 2008-2010 CodePoint Ltd, Shift Technology Ltd
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ *
+ */
+
+// Constructs a variant with internal data.
+template< typename T >
+Variant::Variant(const T& t) : type(NONE)
+{
+ Set( t );
+}
+
+// Templatised data accessor.
+template< typename T >
+bool Variant::GetInto(T& value) const
+{
+ switch (type)
+ {
+ case BYTE:
+ return TypeConverter< byte, T >::Convert(*(byte*)data, value);
+ break;
+
+ case CHAR:
+ return TypeConverter< char, T >::Convert(*(char*)data, value);
+ break;
+
+ case FLOAT:
+ return TypeConverter< float, T >::Convert(*(float*)data, value);
+ break;
+
+ case INT:
+ return TypeConverter< int, T >::Convert(*(int*)data, value);
+ break;
+
+ case STRING:
+ return TypeConverter< String, T >::Convert(*(String*)data, value);
+ break;
+
+ case WORD:
+ return TypeConverter< word, T >::Convert(*(word*)data, value);
+ break;
+
+ case VECTOR2:
+ return TypeConverter< Vector2f, T >::Convert(*(Vector2f*)data, value);
+ break;
+
+ case COLOURF:
+ return TypeConverter< Colourf, T >::Convert(*(Colourf*)data, value);
+ break;
+
+ case COLOURB:
+ return TypeConverter< Colourb, T >::Convert(*(Colourb*)data, value);
+ break;
+
+ case SCRIPTINTERFACE:
+ return TypeConverter< ScriptInterface*, T >::Convert((ScriptInterface*)data, value);
+ break;
+
+ case VOIDPTR:
+ return TypeConverter< void*, T >::Convert((void*)data, value);
+ break;
+
+ // ch : fixing bad programming
+ case NONE:
+ default:
+ // return false;
+ break;
+ }
+
+ return false;
+}
+
+// Templatised data accessor.
+template< typename T >
+T Variant::Get() const
+{
+ T value;
+ GetInto(value);
+ return value;
+}
diff --git source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/Vector2.h source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/Vector2.h
new file mode 100644
index 0000000..d864d98
--- /dev/null
+++ source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/Vector2.h
@@ -0,0 +1,137 @@
+/*
+ * This source file is part of libRocket, the HTML/CSS Interface Middleware
+ *
+ * For the latest information, see http://www.librocket.com
+ *
+ * Copyright (c) 2008-2010 CodePoint Ltd, Shift Technology Ltd
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ *
+ */
+
+#ifndef ROCKETCOREVECTOR2_H
+#define ROCKETCOREVECTOR2_H
+
+#include <Rocket/Core/Debug.h>
+#include <Rocket/Core/Math.h>
+
+namespace Rocket {
+namespace Core {
+
+/**
+ Templated class for a generic two-component vector.
+ @author Peter Curry
+ */
+
+template < typename Type >
+class Vector2
+{
+ public:
+ /// Lightweight, non-initialising constructor.
+ inline Vector2();
+ /// Initialising constructor.
+ /// @param[in] x Initial x-value of the vector.
+ /// @param[in] y Initial y-value of the vector.
+ inline Vector2(Type x, Type y);
+
+ /// Returns the magnitude of the vector.
+ /// @return The computed magnitude.
+ inline float Magnitude() const;
+ /// Returns the squared magnitude of the vector.
+ /// @return The computed squared magnitude.
+ inline Type SquaredMagnitude() const;
+ /// Generates a normalised vector from this vector.
+ /// @return The normalised vector.
+ inline Vector2 Normalise() const;
+
+ /// Computes the dot-product between this vector and another.
+ /// @param[in] rhs The other vector to use in the dot-product.
+ /// @return The computed dot-product between the two vectors.
+ inline Type DotProduct(const Vector2& rhs) const;
+
+ /// Returns this vector rotated around the origin.
+ /// @param[in] theta The angle to rotate by, in radians.
+ /// @return The rotated vector.
+ inline Vector2 Rotate(float theta) const;
+
+ /// Returns the negation of this vector.
+ /// @return The negation of this vector.
+ inline Vector2 operator-() const;
+
+ /// Returns the sum of this vector and another.
+ /// @param[in] rhs The vector to add this to.
+ /// @return The sum of the two vectors.
+ inline Vector2 operator+(const Vector2& rhs) const;
+ /// Returns the result of subtracting another vector from this vector.
+ /// @param[in] rhs The vector to subtract from this vector.
+ /// @return The result of the subtraction.
+ inline Vector2 operator-(const Vector2& rhs) const;
+ /// Returns the result of multiplying this vector by a scalar.
+ /// @param[in] rhs The scalar value to multiply by.
+ /// @return The result of the scale.
+ inline Vector2 operator*(Type rhs) const;
+ /// Returns the result of dividing this vector by a scalar.
+ /// @param[in] rhs The scalar value to divide by.
+ /// @return The result of the scale.
+ inline Vector2 operator/(Type rhs) const;
+
+ /// Adds another vector to this in-place.
+ /// @param[in] rhs The vector to add.
+ /// @return This vector, post-operation.
+ inline Vector2& operator+=(const Vector2& rhs);
+ /// Subtracts another vector from this in-place.
+ /// @param[in] rhs The vector to subtract.
+ /// @return This vector, post-operation.
+ inline Vector2& operator-=(const Vector2& rhs);
+ /// Scales this vector in-place.
+ /// @param[in] rhs The value to scale this vector's components by.
+ /// @return This vector, post-operation.
+ inline Vector2& operator*=(const Type& rhs);
+ /// Scales this vector in-place by the inverse of a value.
+ /// @param[in] rhs The value to divide this vector's components by.
+ /// @return This vector, post-operation.
+ inline Vector2& operator/=(const Type& rhs);
+
+ /// Equality operator.
+ /// @param[in] rhs The vector to compare this against.
+ /// @return True if the two vectors are equal, false otherwise.
+ inline bool operator==(const Vector2& rhs) const;
+ /// Inequality operator.
+ /// @param[in] rhs The vector to compare this against.
+ /// @return True if the two vectors are not equal, false otherwise.
+ inline bool operator!=(const Vector2& rhs) const;
+
+ /// Auto-cast operator.
+ /// @return A pointer to the first value.
+ inline operator const Type*() const;
+ /// Constant auto-cast operator.
+ /// @return A constant pointer to the first value.
+ inline operator Type*();
+
+ // The components of the vector.
+ Type x;
+ Type y;
+};
+
+#include <Rocket/Core/Vector2.inl>
+
+}
+}
+
+#endif
diff --git source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/Vector2.inl source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/Vector2.inl
new file mode 100644
index 0000000..a9fc89b
--- /dev/null
+++ source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/Vector2.inl
@@ -0,0 +1,192 @@
+/*
+ * This source file is part of libRocket, the HTML/CSS Interface Middleware
+ *
+ * For the latest information, see http://www.librocket.com
+ *
+ * Copyright (c) 2008-2010 CodePoint Ltd, Shift Technology Ltd
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ *
+ */
+
+// Default constructor.
+template < typename Type >
+Vector2< Type >::Vector2()
+{
+}
+
+// Initialising constructor.
+template < typename Type >
+Vector2< Type >::Vector2(Type _x, Type _y)
+{
+ x = _x;
+ y = _y;
+}
+
+// Returns the magnitude of the vector.
+template < typename Type >
+float Vector2< Type >::Magnitude() const
+{
+ float squared_magnitude = (float) SquaredMagnitude();
+ if (Math::IsZero(squared_magnitude))
+ return 0;
+
+ return Math::SquareRoot(squared_magnitude);
+}
+
+// Returns the squared magnitude of the vector.
+template < typename Type >
+Type Vector2< Type >::SquaredMagnitude() const
+{
+ return x * x +
+ y * y;
+}
+
+// Generates a normalised vector from this vector.
+template < typename Type >
+Vector2< Type > Vector2< Type >::Normalise() const
+{
+ ROCKET_STATIC_ASSERT(sizeof(Type) == 0, Invalid_Operation);
+ return *this;
+}
+
+template <>
+ROCKETCORE_API Vector2< float > Vector2< float >::Normalise() const;
+
+// Computes the dot-product between this vector and another.
+template < typename Type >
+Type Vector2< Type >::DotProduct(const Vector2< Type >& rhs) const
+{
+ return x * rhs.x +
+ y * rhs.y;
+}
+
+// Returns this vector rotated around the origin.
+template < typename Type >
+Vector2< Type > Vector2< Type >::Rotate(float theta) const
+{
+ ROCKET_STATIC_ASSERT(sizeof(Type) == 0, Invalid_Operation);
+ return *this;
+}
+
+template <>
+ROCKETCORE_API Vector2< float > Vector2< float >::Rotate(float) const;
+
+// Returns the negation of this vector.
+template < typename Type >
+Vector2< Type > Vector2< Type >::operator-() const
+{
+ return Vector2(-x, -y);
+}
+
+// Returns the sum of this vector and another.
+template < typename Type >
+Vector2< Type > Vector2< Type >::operator+(const Vector2< Type >& rhs) const
+{
+ return Vector2< Type >(x + rhs.x, y + rhs.y);
+}
+
+// Returns the result of subtracting another vector from this vector.
+template < typename Type >
+Vector2< Type > Vector2< Type >::operator-(const Vector2< Type >& rhs) const
+{
+ return Vector2(x - rhs.x, y - rhs.y);
+}
+
+// Returns the result of multiplying this vector by a scalar.
+template < typename Type >
+Vector2< Type > Vector2< Type >::operator*(Type rhs) const
+{
+ return Vector2(x * rhs, y * rhs);
+}
+
+// Returns the result of dividing this vector by a scalar.
+template < typename Type >
+Vector2< Type > Vector2< Type >::operator/(Type rhs) const
+{
+ return Vector2(x / rhs, y / rhs);
+}
+
+// Adds another vector to this in-place.
+template < typename Type >
+Vector2< Type >& Vector2< Type >::operator+=(const Vector2& rhs)
+{
+ x += rhs.x;
+ y += rhs.y;
+
+ return *this;
+}
+
+// Subtracts another vector from this in-place.
+template < typename Type >
+Vector2< Type >& Vector2< Type >::operator-=(const Vector2& rhs)
+{
+ x -= rhs.x;
+ y -= rhs.y;
+
+ return *this;
+}
+
+// Scales this vector in-place.
+template < typename Type >
+Vector2< Type >& Vector2< Type >::operator*=(const Type& rhs)
+{
+ x *= rhs;
+ y *= rhs;
+
+ return *this;
+}
+
+// Scales this vector in-place by the inverse of a value.
+template < typename Type >
+Vector2< Type >& Vector2< Type >::operator/=(const Type& rhs)
+{
+ x /= rhs;
+ y /= rhs;
+
+ return *this;
+}
+
+// Equality operator.
+template < typename Type >
+bool Vector2< Type >::operator==(const Vector2& rhs) const
+{
+ return (x == rhs.x && y == rhs.y);
+}
+
+// Inequality operator.
+template < typename Type >
+bool Vector2< Type >::operator!=(const Vector2& rhs) const
+{
+ return (x != rhs.x || y != rhs.y);
+}
+
+// Auto-cast operator.
+template < typename Type >
+Vector2< Type >::operator const Type*() const
+{
+ return &x;
+}
+
+// Constant auto-cast operator.
+template < typename Type >
+Vector2< Type >::operator Type*()
+{
+ return &x;
+}
diff --git source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/Vertex.h source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/Vertex.h
new file mode 100644
index 0000000..a268ab6
--- /dev/null
+++ source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/Vertex.h
@@ -0,0 +1,56 @@
+/*
+ * This source file is part of libRocket, the HTML/CSS Interface Middleware
+ *
+ * For the latest information, see http://www.librocket.com
+ *
+ * Copyright (c) 2008-2010 CodePoint Ltd, Shift Technology Ltd
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ *
+ */
+
+#ifndef ROCKETCOREVERTEX_H
+#define ROCKETCOREVERTEX_H
+
+#include <Rocket/Core/Header.h>
+#include <Rocket/Core/Types.h>
+
+namespace Rocket {
+namespace Core {
+
+/**
+ The element that makes up all geometry sent to the renderer.
+
+ @author Peter Curry
+ */
+
+struct ROCKETCORE_API Vertex
+{
+ /// Two-dimensional position of the vertex (usually in pixels).
+ Vector2f position;
+ /// RGBA-ordered 8-bit / channel colour.
+ Colourb colour;
+ /// Texture coordinate for any associated texture.
+ Vector2f tex_coord;
+};
+
+}
+}
+
+#endif
diff --git source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/WString.h source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/WString.h
new file mode 100644
index 0000000..b1e00de
--- /dev/null
+++ source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/WString.h
@@ -0,0 +1,96 @@
+/*
+ * This source file is part of libRocket, the HTML/CSS Interface Middleware
+ *
+ * For the latest information, see http://www.librocket.com
+ *
+ * Copyright (c) 2008-2010 CodePoint Ltd, Shift Technology Ltd
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ *
+ */
+
+#ifndef ROCKETCOREWSTRING_H
+#define ROCKETCOREWSTRING_H
+
+#include <Rocket/Core/Types.h>
+#include <Rocket/Core/Header.h>
+
+namespace Rocket {
+namespace Core {
+
+typedef StringBase< word > WStringBase;
+
+/**
+ Stores a string of characters encoded in UCS-2 format (UTF-16 without support for supplementary characters).
+
+ @author Peter Curry
+ */
+
+class ROCKETCORE_API WString : public WStringBase
+{
+public:
+ /// Constructs an empty string.
+ WString();
+
+ /// Constructs a string as a copy of another UCS-2 string.
+ WString(const WStringBase& ucs2_string);
+ /// Constructs a string from a sequence of UCS-2 encoded characters.
+ WString(const word* ucs2_string_begin, const word* ucs2_string_end);
+ /// Constructs a string from multiples of a UCS-2 encoded character.
+ WString(WStringBase::size_type count, word ucs2_char);
+
+ /// Constructs a string from a null-terminated sequence of UTF-8 encoded characters.
+ WString(const char* utf8_string);
+ /// Constructs a string from a sequence of UTF-8 encoded characters.
+ WString(const char* utf8_string_begin, const char* utf8_string_end);
+ /// Constructs a string from a sequence of UTF-8 encoded characters.
+ WString(const String& utf8_string);
+
+ /// Destroys the string.
+ ~WString();
+
+ /// Converts the string to UTF-8 encoding.
+ String& ToUTF8(String& utf8_string, bool append = false) const;
+
+ /// Assigns a UCS-2 string to this string.
+ WString& operator=(const WStringBase& string);
+ /// Assigns a UCS-2 string to this string.
+ WString& operator=(const WString& string);
+ /// Assigns a null-terminated UCS-2 string to this string.
+ WString& operator=(const word* string);
+ /// Converts a UTF-8 encoded string into UCS-2 and assigns it to this string.
+ WString& operator=(const char* string);
+
+ /// Checks equality between two UCS-2 encoded strings.
+ bool operator==(const WString& string) const;
+ /// Checks equality between this string and another string in UTF-8 encoding.
+ bool operator==(const char* string) const;
+
+ WStringBase::size_type Find(const WString& s, WStringBase::size_type pos = WStringBase::npos) const;
+ WStringBase::size_type Find(const word* s, WStringBase::size_type pos = WStringBase::npos) const;
+ WStringBase::size_type Find(const word& s, WStringBase::size_type pos = WStringBase::npos) const;
+
+ word& operator[](WStringBase::size_type offset);
+ word operator[](WStringBase::size_type offset) const;
+};
+
+}
+}
+
+#endif
diff --git source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/XMLNodeHandler.h source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/XMLNodeHandler.h
new file mode 100644
index 0000000..9055f6d
--- /dev/null
+++ source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/XMLNodeHandler.h
@@ -0,0 +1,79 @@
+/*
+ * This source file is part of libRocket, the HTML/CSS Interface Middleware
+ *
+ * For the latest information, see http://www.librocket.com
+ *
+ * Copyright (c) 2008-2010 CodePoint Ltd, Shift Technology Ltd
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ *
+ */
+
+#ifndef ROCKETCOREXMLNODEHANDLER_H
+#define ROCKETCOREXMLNODEHANDLER_H
+
+#include <Rocket/Core/ReferenceCountable.h>
+#include <Rocket/Core/XMLParser.h>
+#include <Rocket/Core/Header.h>
+
+namespace Rocket {
+namespace Core {
+
+class Element;
+class XMLParser;
+
+/**
+ A handler gets ElementStart, ElementEnd and ElementData called by the XMLParser.
+
+ @author Lloyd Weehuizen
+ */
+
+class ROCKETCORE_API XMLNodeHandler : public ReferenceCountable
+{
+public:
+ virtual ~XMLNodeHandler();
+
+ /// Called when a new element tag is opened.
+ /// @param parser The parser executing the parse.
+ /// @param name The XML tag name.
+ /// @param attributes The tag attributes.
+ /// @return The new element, may be NULL if no element was created.
+ virtual Element* ElementStart(XMLParser* parser, const String& name, const XMLAttributes& attributes) = 0;
+
+ /// Called when an element is closed.
+ /// @param parser The parser executing the parse.
+ /// @param name The XML tag name.
+ virtual bool ElementEnd(XMLParser* parser, const String& name) = 0;
+
+ /// Called for element data.
+ /// @param parser The parser executing the parse.
+ /// @param data The element data.
+ virtual bool ElementData(XMLParser* parser, const String& data) = 0;
+
+ /// Called to release the node handler.
+ virtual void Release() = 0;
+
+protected:
+ virtual void OnReferenceDeactivate();
+};
+
+}
+}
+
+#endif
diff --git source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/XMLParser.h source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/XMLParser.h
new file mode 100644
index 0000000..8fd62e0
--- /dev/null
+++ source/mac/Frameworks/Rocket.framework/Versions/A/Headers/Core/XMLParser.h
@@ -0,0 +1,121 @@
+/*
+ * This source file is part of libRocket, the HTML/CSS Interface Middleware
+ *
+ * For the latest information, see http://www.librocket.com
+ *
+ * Copyright (c) 2008-2010 CodePoint Ltd, Shift Technology Ltd
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ *
+ */
+
+#ifndef ROCKETCOREXMLPARSER_H
+#define ROCKETCOREXMLPARSER_H
+
+#include <stack>
+#include <Rocket/Core/Header.h>
+#include <Rocket/Core/BaseXMLParser.h>
+
+namespace Rocket {
+namespace Core {
+
+class DocumentHeader;
+class Element;
+class XMLNodeHandler;
+
+/**
+ Rocket's XML parsing engine. The factory creates an instance of this class for each RML parse.
+
+ @author Lloyd Weehuizen
+ */
+
+class ROCKETCORE_API XMLParser : public BaseXMLParser
+{
+public:
+ XMLParser(Element* root);
+ ~XMLParser();
+
+ /// Registers a custom node handler to be used to a given tag.
+ /// @param[in] tag The tag the custom parser will handle.
+ /// @param[in] handler The custom handler.
+ /// @return The registered XML node handler.
+ static XMLNodeHandler* RegisterNodeHandler(const String& tag, XMLNodeHandler* handler);
+ /// Releases all registered node handlers. This is called internally.
+ static void ReleaseHandlers();
+
+ /// Returns the XML document's header.
+ /// @return The document header.
+ DocumentHeader* GetDocumentHeader();
+ /// Returns the source URL of this parse.
+ /// @return The URL of the parsing stream.
+ const URL& GetSourceURL() const;
+
+ // The parse stack.
+ struct ParseFrame
+ {
+ // Tag being parsed.
+ String tag;
+
+ // Element representing this frame.
+ Element* element;
+
+ // Handler used for this frame.
+ XMLNodeHandler* node_handler;
+
+ // The default handler used for this frame's children.
+ XMLNodeHandler* child_handler;
+ };
+
+ /// Pushes an element handler onto the parse stack for parsing child elements.
+ /// @param[in] tag The tag the handler was registered with.
+ /// @return True if an appropriate handler was found and pushed onto the stack, false if not.
+ bool PushHandler(const String& tag);
+ /// Pushes the default element handler onto the parse stack.
+ void PushDefaultHandler();
+
+ /// Access the current parse frame.
+ /// @return The parser's current parse frame.
+ const ParseFrame* GetParseFrame() const;
+
+protected:
+ /// Called when the parser finds the beginning of an element tag.
+ virtual void HandleElementStart(const String& name, const XMLAttributes& attributes);
+ /// Called when the parser finds the end of an element tag.
+ virtual void HandleElementEnd(const String& name);
+ /// Called when the parser encounters data.
+ virtual void HandleData(const String& data);
+
+private:
+ // The header of the document being parsed.
+ DocumentHeader* header;
+ // The root of the entire parse.
+ Element* parse_root;
+
+ // The active node handler.
+ XMLNodeHandler* active_handler;
+
+ // The parser stack.
+ typedef std::stack< ParseFrame > ParserStack;
+ ParserStack stack;
+};
+
+}
+}
+
+#endif
diff --git source/mac/Frameworks/Rocket.framework/Versions/A/Resources/Controls/Clipboard.h source/mac/Frameworks/Rocket.framework/Versions/A/Resources/Controls/Clipboard.h
new file mode 100644
index 0000000..7261723
--- /dev/null
+++ source/mac/Frameworks/Rocket.framework/Versions/A/Resources/Controls/Clipboard.h
@@ -0,0 +1,61 @@
+/*
+ * This source file is part of libRocket, the HTML/CSS Interface Middleware
+ *
+ * For the latest information, see http://www.librocket.com
+ *
+ * Copyright (c) 2008-2010 CodePoint Ltd, Shift Technology Ltd
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ *
+ */
+
+#ifndef ROCKETCONTROLSCLIPBOARD_H
+#define ROCKETCONTROLSCLIPBOARD_H
+
+#include <Rocket/Core/WString.h>
+
+namespace Rocket {
+namespace Controls {
+
+/**
+ The clipboard temporarily stores text that is cut or copied from a text widget.
+
+ @author Peter Curry
+ */
+
+class Clipboard
+{
+public:
+ /// Get the current contents of the clipboard.
+ static Rocket::Core::WString Get();
+
+ /// Set the contents of the clipboard.
+ static void Set(const Rocket::Core::WString& content);
+
+ #if defined ROCKET_PLATFORM_WIN32
+ /// Set the window handle of the application. This shouldn't need to be called unless the host
+ /// application opens multiple windows, or opens and closes windows, etc.
+ static void SetHWND(void* hwnd);
+ #endif
+};
+
+}
+}
+
+#endif
diff --git source/mac/Frameworks/Rocket.framework/Versions/A/Resources/Controls/Controls.h source/mac/Frameworks/Rocket.framework/Versions/A/Resources/Controls/Controls.h
new file mode 100644
index 0000000..1ad6f67
--- /dev/null
+++ source/mac/Frameworks/Rocket.framework/Versions/A/Resources/Controls/Controls.h
@@ -0,0 +1,54 @@
+/*
+ * This source file is part of libRocket, the HTML/CSS Interface Middleware
+ *
+ * For the latest information, see http://www.librocket.com
+ *
+ * Copyright (c) 2008-2010 CodePoint Ltd, Shift Technology Ltd
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ *
+ */
+
+#ifndef ROCKETCONTROLSCONTROLS_H
+#define ROCKETCONTROLSCONTROLS_H
+
+#include <Rocket/Controls/DataFormatter.h>
+#include <Rocket/Controls/ElementDataGrid.h>
+#include <Rocket/Controls/ElementDataGridCell.h>
+#include <Rocket/Controls/ElementDataGridExpandButton.h>
+#include <Rocket/Controls/ElementDataGridRow.h>
+#include <Rocket/Controls/ElementForm.h>
+#include <Rocket/Controls/ElementFormControl.h>
+#include <Rocket/Controls/ElementFormControlDataSelect.h>
+#include <Rocket/Controls/ElementFormControlInput.h>
+#include <Rocket/Controls/ElementFormControlSelect.h>
+#include <Rocket/Controls/ElementFormControlTextArea.h>
+#include <Rocket/Controls/ElementTabSet.h>
+#include <Rocket/Controls/SelectOption.h>
+
+namespace Rocket {
+namespace Controls {
+
+/// Registers the instancers for the custom controls.
+ROCKETCONTROLS_API void Initialise();
+
+}
+}
+
+#endif
diff --git source/mac/Frameworks/Rocket.framework/Versions/A/Resources/Controls/DataFormatter.h source/mac/Frameworks/Rocket.framework/Versions/A/Resources/Controls/DataFormatter.h
new file mode 100644
index 0000000..086bfef
--- /dev/null
+++ source/mac/Frameworks/Rocket.framework/Versions/A/Resources/Controls/DataFormatter.h
@@ -0,0 +1,78 @@
+/*
+ * This source file is part of libRocket, the HTML/CSS Interface Middleware
+ *
+ * For the latest information, see http://www.librocket.com
+ *
+ * Copyright (c) 2008-2010 CodePoint Ltd, Shift Technology Ltd
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ *
+ */
+
+#ifndef ROCKETCONTROLSDATAFORMATTER_H
+#define ROCKETCONTROLSDATAFORMATTER_H
+
+#include <Rocket/Core/ScriptInterface.h>
+#include <Rocket/Core/String.h>
+#include <Rocket/Controls/Header.h>
+
+namespace Rocket {
+namespace Controls {
+
+class Element;
+
+/**
+ Abstract base class for a data formatter. A data formatter takes raw data
+ and processes it into a final string. They are usually used in conjunction
+ with a data source and a datagrid.
+
+ @author Robert Curry
+ */
+
+class ROCKETCONTROLS_API DataFormatter
+{
+public:
+ DataFormatter(const Rocket::Core::String& name = "");
+ virtual ~DataFormatter();
+
+ /// Returns the name by which this data formatter is referenced by.
+ /// @return The name of this data formatter.
+ const Rocket::Core::String& GetDataFormatterName();
+ /// Returns a data formatter with the given name.
+ /// @parameter [in] data_formatter_name The name of the data formatter to
+ /// be returned.
+ /// @return If the data formatter with the specified name has been
+ /// constructed, a pointer to it will be returned. Otherwise, NULL.
+ static DataFormatter* GetDataFormatter(const Rocket::Core::String& data_formatter_name);
+
+ /// Formats the raw results of a data source request into RML.
+ /// @param[out] formatted_data The formatted RML.
+ /// @param[in] raw_data A list of the raw data fields.
+ virtual void FormatData(Rocket::Core::String& formatted_data, const Rocket::Core::StringList& raw_data) = 0;
+
+ virtual void* GetScriptObject() const;
+
+private:
+ Rocket::Core::String name;
+};
+
+}
+}
+
+#endif
diff --git source/mac/Frameworks/Rocket.framework/Versions/A/Resources/Controls/DataQuery.h source/mac/Frameworks/Rocket.framework/Versions/A/Resources/Controls/DataQuery.h
new file mode 100644
index 0000000..f3057ae
--- /dev/null
+++ source/mac/Frameworks/Rocket.framework/Versions/A/Resources/Controls/DataQuery.h
@@ -0,0 +1,136 @@
+/*
+ * This source file is part of libRocket, the HTML/CSS Interface Middleware
+ *
+ * For the latest information, see http://www.librocket.com
+ *
+ * Copyright (c) 2008-2010 CodePoint Ltd, Shift Technology Ltd
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ *
+ */
+
+#ifndef ROCKETCONTROLSDATAQUERY_H
+#define ROCKETCONTROLSDATAQUERY_H
+
+#include <Rocket/Controls/Header.h>
+#include <Rocket/Core/TypeConverter.h>
+#include <Rocket/Core/Log.h>
+
+namespace Rocket {
+namespace Controls {
+
+class DataSource;
+
+/**
+ DataQuery
+ @author Robert Curry
+
+ Represents a request for information from an DataSource, encapsulates the result and offers
+ mechanisms to iterate through the returned rows.
+*/
+
+class ROCKETCONTROLS_API DataQuery
+{
+public:
+ DataQuery();
+ DataQuery(DataSource* data_source, const Rocket::Core::String& table, const Rocket::Core::String& fields, int offset = 0, int limit = -1, const Rocket::Core::String& order = "");
+ virtual ~DataQuery();
+
+ void ExecuteQuery(DataSource* data_source, const Rocket::Core::String& table, const Rocket::Core::String& fields, int offset = 0, int limit = -1, const Rocket::Core::String& order = "");
+ bool NextRow();
+
+ bool IsFieldSet(const Rocket::Core::String& field) const;
+
+ template< typename T >
+ T Get(const Rocket::Core::String& field_name, const T& default_value) const
+ {
+ FieldIndices::const_iterator itr = field_indices.find(field_name);
+ if (itr == field_indices.end())
+ {
+ Rocket::Core::Log::Message(Rocket::Core::Log::LT_ERROR, "Field %s not found in query", field_name.CString());
+ return default_value;
+ }
+
+ T return_value = default_value;
+
+ GetInto((*itr).second, return_value);
+
+ return return_value;
+ }
+
+ template< typename T >
+ bool GetInto(const Rocket::Core::String& field_name, T& value) const
+ {
+ FieldIndices::const_iterator itr = field_indices.find(field_name);
+ if (itr == field_indices.end())
+ {
+ Rocket::Core::Log::Message(Rocket::Core::Log::LT_ERROR, "Field %s not found in query", field_name.CString());
+ return false;
+ }
+
+ return GetInto((*itr).second, value);
+ }
+
+ template< typename T >
+ T Get(const size_t field_index, const T& default_value) const
+ {
+ T return_value = default_value;
+
+ GetInto(field_index, return_value);
+
+ return return_value;
+ }
+
+ template< typename T >
+ bool GetInto(const size_t field_index, T& value) const
+ {
+ if (field_index < rows[current_row].size())
+ {
+ return Rocket::Core::TypeConverter< Rocket::Core::String, T >::Convert(rows[current_row][field_index], value);
+ }
+
+ return false;
+ }
+
+ size_t GetNumFields()
+ {
+ return rows[current_row].size();
+ }
+
+private:
+ Rocket::Core::StringList fields;
+
+ DataSource* data_source;
+ Rocket::Core::String table;
+ int current_row;
+ int offset;
+ int limit;
+
+ typedef std::vector< Rocket::Core::StringList > Rows;
+ Rows rows;
+ typedef std::map< Rocket::Core::String, size_t > FieldIndices;
+ FieldIndices field_indices;
+
+ void LoadRow();
+};
+
+}
+}
+
+#endif // ROCKETCONTROLSDATAQUERY_H
diff --git source/mac/Frameworks/Rocket.framework/Versions/A/Resources/Controls/DataSource.h source/mac/Frameworks/Rocket.framework/Versions/A/Resources/Controls/DataSource.h
new file mode 100644
index 0000000..c2f04b2
--- /dev/null
+++ source/mac/Frameworks/Rocket.framework/Versions/A/Resources/Controls/DataSource.h
@@ -0,0 +1,113 @@
+/*
+ * This source file is part of libRocket, the HTML/CSS Interface Middleware
+ *
+ * For the latest information, see http://www.librocket.com
+ *
+ * Copyright (c) 2008-2010 CodePoint Ltd, Shift Technology Ltd
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ *
+ */
+
+#ifndef ROCKETCONTROLSDATASOURCE_H
+#define ROCKETCONTROLSDATASOURCE_H
+
+#include <Rocket/Controls/Header.h>
+#include <Rocket/Core/String.h>
+#include <list>
+#include <map>
+
+namespace Rocket {
+namespace Controls {
+
+class DataSourceListener;
+
+/**
+ Generic object that provides a database-like interface for requesting rows from a table.
+ @author Robert Curry
+ */
+
+class ROCKETCONTROLS_API DataSource
+{
+ public:
+ DataSource(const Rocket::Core::String& name = "");
+ virtual ~DataSource();
+
+ const Rocket::Core::String& GetDataSourceName();
+ static DataSource* GetDataSource(const Rocket::Core::String& data_source_name);
+
+ /// Fetches the contents of one row of a table within the data source.
+ /// @param[out] row The list of values in the table.
+ /// @param[in] table The name of the table to query.
+ /// @param[in] row_index The index of the desired row.
+ /// @param[in] columns The list of desired columns within the row.
+ virtual void GetRow(Rocket::Core::StringList& row, const Rocket::Core::String& table, int row_index, const Rocket::Core::StringList& columns) = 0;
+ /// Fetches the number of rows within one of this data source's tables.
+ /// @param[in] table The name of the table to query.
+ /// @return The number of rows within the specified table.
+ virtual int GetNumRows(const Rocket::Core::String& table) = 0;
+
+ void AttachListener(DataSourceListener* listener);
+ void DetachListener(DataSourceListener* listener);
+
+ virtual void* GetScriptObject() const;
+
+ static const Rocket::Core::String CHILD_SOURCE;
+ static const Rocket::Core::String DEPTH;
+ static const Rocket::Core::String NUM_CHILDREN;
+
+ protected:
+ /// Tells all attached listeners that one or more rows have been added to the data source.
+ /// @param[in] table The name of the table to have rows added to it.
+ /// @param[in] first_row_added The index of the first row added.
+ /// @param[in] num_rows_added The number of rows added (including the first row).
+ void NotifyRowAdd(const Rocket::Core::String& table, int first_row_added, int num_rows_added);
+
+ /// Tells all attached listeners that one or more rows have been removed from the data source.
+ /// @param[in] table The name of the table to have rows removed from it.
+ /// @param[in] first_row_removed The index of the first row removed.
+ /// @param[in] num_rows_removed The number of rows removed (including the first row).
+ void NotifyRowRemove(const Rocket::Core::String& table, int first_row_removed, int num_rows_removed);
+
+ /// Tells all attached listeners that one or more rows have been changed in the data source.
+ /// @param[in] table The name of the table to have rows changed in it.
+ /// @param[in] first_row_changed The index of the first row changed.
+ /// @param[in] num_rows_changed The number of rows changed (including the first row).
+ void NotifyRowChange(const Rocket::Core::String& table, int first_row_changed, int num_rows_changed);
+
+ /// Tells all attached listeners that the row structure has completely changed in the data source.
+ /// @param[in] table The name of the table to have rows changed in it.
+ void NotifyRowChange(const Rocket::Core::String& table);
+
+ /// Helper function for building a result set.
+ typedef std::map< Rocket::Core::String, Rocket::Core::String > RowMap;
+ void BuildRowEntries(Rocket::Core::StringList& row, const RowMap& row_map, const Rocket::Core::StringList& columns);
+
+ private:
+ Core::String name;
+
+ typedef std::list< DataSourceListener* > ListenerList;
+ ListenerList listeners;
+};
+
+}
+}
+
+#endif // ROCKETCONTROLSDATASOURCE_H
+
diff --git source/mac/Frameworks/Rocket.framework/Versions/A/Resources/Controls/DataSourceListener.h source/mac/Frameworks/Rocket.framework/Versions/A/Resources/Controls/DataSourceListener.h
new file mode 100644
index 0000000..202f283
--- /dev/null
+++ source/mac/Frameworks/Rocket.framework/Versions/A/Resources/Controls/DataSourceListener.h
@@ -0,0 +1,91 @@
+/*
+ * This source file is part of libRocket, the HTML/CSS Interface Middleware
+ *
+ * For the latest information, see http://www.librocket.com
+ *
+ * Copyright (c) 2008-2010 CodePoint Ltd, Shift Technology Ltd
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ *
+ */
+
+#ifndef ROCKETCONTROLSDATASOURCELISTENER_H
+#define ROCKETCONTROLSDATASOURCELISTENER_H
+
+#include <Rocket/Controls/Header.h>
+#include <Rocket/Core/String.h>
+
+namespace Rocket {
+namespace Controls {
+
+class DataSource;
+
+/**
+ Interface for objects wishing to listen to data source events. Listeners should use the
+ AttachListener() on DataSource to begin observing a data source.
+
+ @author Robert Curry
+ */
+
+class ROCKETCONTROLS_API DataSourceListener
+{
+public:
+ DataSourceListener();
+ virtual ~DataSourceListener();
+
+ /// Notification of the destruction of an observed data source.
+ /// @param[in] data_source Data source being destroyed.
+ virtual void OnDataSourceDestroy(DataSource* data_source);
+ /// Notification of the addition of one or more rows to an observed data source's table.
+ /// @param[in] data_source Data source being changed.
+ /// @param[in] table The name of the changing table within the data source.
+ /// @param[in] first_row_added Index of the first new row.
+ /// @param[in] num_rows_added Number of new sequential rows being added.
+ virtual void OnRowAdd(DataSource* data_source, const Rocket::Core::String& table, int first_row_added, int num_rows_added);
+ /// Notification of the removal of one or more rows from an observed data source's table.
+ /// @param[in] data_source Data source being changed.
+ /// @param[in] table The name of the changing table within the data source.
+ /// @param[in] first_row_removed Index of the first removed row.
+ /// @param[in] num_rows_removed Number of new sequential rows being removed.
+ virtual void OnRowRemove(DataSource* data_source, const Rocket::Core::String& table, int first_row_removed, int num_rows_removed);
+ /// Notification of the changing of one or more rows from an observed data source's table.
+ /// @param[in] data_source Data source being changed.
+ /// @param[in] table The name of the changing table within the data source.
+ /// @param[in] first_row_removed Index of the first changed row.
+ /// @param[in] num_rows_removed Number of new sequential rows being changed.
+ virtual void OnRowChange(DataSource* data_source, const Rocket::Core::String& table, int first_row_changed, int num_rows_changed);
+ /// Notification of the change of all of the data of an observed data source's table.
+ /// @param[in] data_source Data source being changed.
+ /// @param[in] table The name of the changing table within the data source.
+ virtual void OnRowChange(DataSource* data_source, const Rocket::Core::String& table);
+
+protected:
+ /// Sets up data source and table from a given Rocket::Core::String.
+ /// @param[out] data_source A pointer to a data_source that gets loaded with the specified data source.
+ /// @param[out] table_name A reference to an Rocket::Core::String that gets loaded with the specified data table.
+ /// @param[in] data_source_name The data source and table in SOURCE.TABLE format.
+ /// @return True if the data source name was in the correct format, and the data source was found.
+ bool ParseDataSource(DataSource*& data_source, Rocket::Core::String& table_name, const Rocket::Core::String& data_source_name);
+};
+
+}
+}
+
+#endif // ROCKETCONTROLSDATASOURCELISTENER_H
+
diff --git source/mac/Frameworks/Rocket.framework/Versions/A/Resources/Controls/ElementDataGrid.h source/mac/Frameworks/Rocket.framework/Versions/A/Resources/Controls/ElementDataGrid.h
new file mode 100644
index 0000000..84b9741
--- /dev/null
+++ source/mac/Frameworks/Rocket.framework/Versions/A/Resources/Controls/ElementDataGrid.h
@@ -0,0 +1,155 @@
+/*
+ * This source file is part of libRocket, the HTML/CSS Interface Middleware
+ *
+ * For the latest information, see http://www.librocket.com
+ *
+ * Copyright (c) 2008-2010 CodePoint Ltd, Shift Technology Ltd
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ *
+ */
+
+#ifndef ROCKETCONTROLSELEMENTDATAGRID_H
+#define ROCKETCONTROLSELEMENTDATAGRID_H
+
+#include <Rocket/Controls/Header.h>
+#include <Rocket/Controls/DataSourceListener.h>
+#include <Rocket/Core/Element.h>
+
+namespace Rocket {
+namespace Controls {
+
+class DataFormatter;
+class ElementDataGridRow;
+
+/**
+ A table driven from a data source.
+
+ @author Robert Curry
+ */
+
+class ROCKETCONTROLS_API ElementDataGrid : public Core::Element, public DataSourceListener
+{
+public:
+ ElementDataGrid(const Rocket::Core::String& tag);
+ virtual ~ElementDataGrid();
+
+ /// Sets a new data source for the contents of the data grid.
+ /// @param[in] data_source_name The name of the new data source.
+ void SetDataSource(const Rocket::Core::String& data_source_name);
+
+ /**
+ A column inside a table.
+
+ @author Robert Curry
+ */
+ struct Column
+ {
+ /// The list of fields that this column reads from the data source for
+ /// each row.
+ Rocket::Core::StringList fields;
+
+ /// The data formatter this is used to process the field information
+ /// into what is finally displayed in the data grid.
+ DataFormatter* formatter;
+ /// The header that is displayed at the top of the column, in the
+ /// header row.
+ Core::Element* header;
+
+ /// The width of this column.
+ float current_width;
+
+ /// Whether this column has a forced refresh when a child node changes.
+ /// This is to allow the expand/collapse buttons to be added or removed
+ /// when a child node is added.
+ bool refresh_on_child_change;
+ };
+
+ /// Adds a column to the table.
+ /// @param[in] fields A comma-separated list of fields that this column reads from the data source.
+ /// @param[in] formatter The name of the data formatter to be used to format the raw column data into RML.
+ /// @param[in] initial_width The initial width, in pixels, of the column.
+ /// @param[in] header_rml The RML to use as the column header.
+ /// @return True if the column was added successfully, false if not.
+ bool AddColumn(const Rocket::Core::String& fields, const Rocket::Core::String& formatter, float initial_width, const Rocket::Core::String& header_rml);
+ /// Adds a column to the table.
+ /// @param[in] fields A comma-separated list of fields that this column reads from the data source.
+ /// @param[in] formatter The name of the data formatter to be used to format the raw column data into RML.
+ /// @param[in] initial_width The initial width, in pixels, of the column.
+ /// @param[in] header_element The element hierarchy to use as the column header.
+ void AddColumn(const Rocket::Core::String& fields, const Rocket::Core::String& formatter, float initial_width, Core::Element* header_element);
+ /// Returns the number of columns in this table
+ int GetNumColumns();
+ /// Returns the column at the specified index.
+ const Column* GetColumn(int column_index);
+ /// Returns a CSV string containing all the fields that each column requires, in order.
+ const Rocket::Core::String& GetAllColumnFields();
+
+ /// Adds a new row to the table. This is only called from child rows.
+ /// @param[in] parent The parent row that the row is being added under.
+ /// @param[in] index The index of the child, relative to its parent.
+ /// @return A pointer to the newly created row.
+ ElementDataGridRow* AddRow(ElementDataGridRow* parent, int index);
+ /// Removes a series of rows from the table.
+ /// @param[in] index The index of the first row, relative to the table.
+ /// @param[in] num_rows The number of rows to remove. Defaults to one.
+ void RemoveRows(int index, int num_rows = 1);
+
+ /// Returns the number of rows in the table
+ int GetNumRows() const;
+ /// Returns the row at the given index in the table.
+ /// @param[in] index The index of the row, relative to the table.
+ ElementDataGridRow* GetRow(int index) const;
+
+protected:
+ virtual void OnUpdate();
+
+ virtual void ProcessEvent(Core::Event& event);
+
+ /// Gets the markup and content of the element.
+ /// @param content[out] The content of the element.
+ virtual void GetInnerRML(Rocket::Core::String& content) const;
+
+private:
+ typedef std::vector< Column > ColumnList;
+ typedef std::vector< ElementDataGridRow* > RowList;
+
+ ColumnList columns;
+ Rocket::Core::String column_fields;
+
+ // The row that contains the header elements of the table.
+ ElementDataGridRow* header;
+
+ // The root row, all the top level rows are children under this. Not
+ // actually rendered, has "display: none".
+ ElementDataGridRow* root;
+ // If this is non-empty, then in the previous update the data source was set
+ // and we must set it this update.
+ Rocket::Core::String new_data_source;
+
+ // The block element that contains all our rows. Only used for applying styles.
+ Core::Element* body;
+ // Stores if the body has already been made visible by having enough rows added.
+ bool body_visible;
+};
+
+}
+}
+
+#endif
diff --git source/mac/Frameworks/Rocket.framework/Versions/A/Resources/Controls/ElementDataGridCell.h source/mac/Frameworks/Rocket.framework/Versions/A/Resources/Controls/ElementDataGridCell.h
new file mode 100644
index 0000000..80f63ec
--- /dev/null
+++ source/mac/Frameworks/Rocket.framework/Versions/A/Resources/Controls/ElementDataGridCell.h
@@ -0,0 +1,64 @@
+/*
+ * This source file is part of libRocket, the HTML/CSS Interface Middleware
+ *
+ * For the latest information, see http://www.librocket.com
+ *
+ * Copyright (c) 2008-2010 CodePoint Ltd, Shift Technology Ltd
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ *
+ */
+
+#ifndef ROCKETCONTROLSELEMENTDATAGRIDCELL_H
+#define ROCKETCONTROLSELEMENTDATAGRIDCELL_H
+
+#include <Rocket/Core/Element.h>
+#include <Rocket/Core/EventListener.h>
+#include <Rocket/Controls/Header.h>
+
+namespace Rocket {
+namespace Controls {
+
+/**
+ The class for cells inside a data table row.
+
+ @author Robert Curry
+ */
+
+class ROCKETCONTROLS_API ElementDataGridCell : public Core::Element, public Core::EventListener
+{
+public:
+ ElementDataGridCell(const Rocket::Core::String& tag);
+ virtual ~ElementDataGridCell();
+
+ void Initialise(int column, Core::Element* header);
+ int GetColumn();
+
+protected:
+ virtual void ProcessEvent(Core::Event& event);
+
+private:
+ int column;
+ Core::Element* header;
+};
+
+}
+}
+
+#endif
diff --git source/mac/Frameworks/Rocket.framework/Versions/A/Resources/Controls/ElementDataGridExpandButton.h source/mac/Frameworks/Rocket.framework/Versions/A/Resources/Controls/ElementDataGridExpandButton.h
new file mode 100644
index 0000000..5f490ba
--- /dev/null
+++ source/mac/Frameworks/Rocket.framework/Versions/A/Resources/Controls/ElementDataGridExpandButton.h
@@ -0,0 +1,54 @@
+/*
+ * This source file is part of libRocket, the HTML/CSS Interface Middleware
+ *
+ * For the latest information, see http://www.librocket.com
+ *
+ * Copyright (c) 2008-2010 CodePoint Ltd, Shift Technology Ltd
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ *
+ */
+
+#ifndef ROCKETCONTROLSELEMENTDATAGRIDEXPANDBUTTON_H
+#define ROCKETCONTROLSELEMENTDATAGRIDEXPANDBUTTON_H
+
+#include <Rocket/Core/Element.h>
+#include <Rocket/Controls/Header.h>
+
+namespace Rocket {
+namespace Controls {
+
+/**
+ @author Robert Curry
+ */
+
+class ROCKETCONTROLS_API ElementDataGridExpandButton : public Core::Element
+{
+public:
+ ElementDataGridExpandButton(const Rocket::Core::String& tag);
+ virtual ~ElementDataGridExpandButton();
+
+protected:
+ void ProcessEvent(Core::Event& event);
+};
+
+}
+}
+
+#endif
diff --git source/mac/Frameworks/Rocket.framework/Versions/A/Resources/Controls/ElementDataGridRow.h source/mac/Frameworks/Rocket.framework/Versions/A/Resources/Controls/ElementDataGridRow.h
new file mode 100644
index 0000000..bc2c603
--- /dev/null
+++ source/mac/Frameworks/Rocket.framework/Versions/A/Resources/Controls/ElementDataGridRow.h
@@ -0,0 +1,175 @@
+/*
+ * This source file is part of libRocket, the HTML/CSS Interface Middleware
+ *
+ * For the latest information, see http://www.librocket.com
+ *
+ * Copyright (c) 2008-2010 CodePoint Ltd, Shift Technology Ltd
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ *
+ */
+
+#ifndef ROCKETCONTROLSELEMENTDATAGRIDROW_H
+#define ROCKETCONTROLSELEMENTDATAGRIDROW_H
+
+#include <Rocket/Controls/Header.h>
+#include <Rocket/Controls/DataSourceListener.h>
+#include <Rocket/Controls/DataQuery.h>
+#include <Rocket/Core/Element.h>
+#include <queue>
+
+namespace Rocket {
+namespace Controls {
+
+class ElementDataGrid;
+
+/**
+ Class for rows inside a data table. Used for both the header and the individual rows.
+
+ @author Robert Curry
+ */
+
+class ROCKETCONTROLS_API ElementDataGridRow : public Core::Element, public DataSourceListener
+{
+friend class ElementDataGrid;
+
+public:
+ ElementDataGridRow(const Rocket::Core::String& tag);
+ virtual ~ElementDataGridRow();
+
+ void Initialise(ElementDataGrid* parent_grid, ElementDataGridRow* parent_row = NULL, int child_index = -1, ElementDataGridRow* header_row = NULL, int depth = -1);
+ void SetChildIndex(int child_index);
+ int GetDepth();
+
+ void SetDataSource(const Rocket::Core::String& data_source_name);
+
+ /// Checks dirty children and cells, and loads them if necessary.
+ /// @return True if any children were updated.
+ bool UpdateChildren();
+
+ /// Returns the number of children that aren't dirty (have been loaded)
+ int GetNumLoadedChildren();
+
+ // Removes all the child cells and fetches them again from the data
+ // source.
+ void RefreshRows();
+
+ /// Returns whether this row is expanded or not.
+ bool IsRowExpanded();
+ /// Shows all of this row's descendants.
+ void ExpandRow();
+ /// Hides all of this row's descendants.
+ void CollapseRow();
+ /// Expands the row if collapsed, or collapses the row if expanded.
+ void ToggleRow();
+
+ /// Returns the index of this row, relative to its parent.
+ int GetParentRelativeIndex();
+ /// Returns the index of this row, relative to the table rather than its parent.
+ int GetTableRelativeIndex();
+ /// Returns the parent row of this row.
+ ElementDataGridRow* GetParentRow();
+ /// Returns the grid that this row belongs to.
+ ElementDataGrid* GetParentGrid();
+
+protected:
+ virtual void OnDataSourceDestroy(DataSource* data_source);
+ virtual void OnRowAdd(DataSource* data_source, const Rocket::Core::String& table, int first_row_added, int num_rows_added);
+ virtual void OnRowRemove(DataSource* data_source, const Rocket::Core::String& table, int first_row_removed, int num_rows_removed);
+ virtual void OnRowChange(DataSource* data_source, const Rocket::Core::String& table, int first_row_changed, int num_rows_changed);
+ virtual void OnRowChange(DataSource* data_source, const Rocket::Core::String& table);
+
+private:
+ typedef std::queue< ElementDataGridRow* > RowQueue;
+ typedef std::vector< ElementDataGridRow* > RowList;
+
+ // Called when a row change (addition or removal) occurs in one of our
+ // children. Causes the table row index to be dirtied on all following
+ // children.
+ void ChildChanged(int child_index);
+ // Checks if any columns are dependent on the number of children
+ // present, and refreshes them from the data source if they are.
+ void RefreshChildDependentCells();
+
+ // Forces the row to recalculate its relative table index the next time
+ // it is requested.
+ void DirtyTableRelativeIndex();
+ // Works out what the table relative index is for a given child.
+ int GetChildTableRelativeIndex(int child_index);
+
+ // Adds children underneath this row, and fetches their contents (and
+ // possible children) from the row's data source. If first_row is left
+ // as the default -1, the rows are appended at the end of the list.
+ void AddChildren(int first_row_added = -1, int num_rows_added = 1);
+ // Removes this rows children, and their children, etc, from the table.
+ // If the num_rows_removed parameter is left as the -1 default, it'll
+ // default to the rest of the children after the first row.
+ void RemoveChildren(int first_row_removed = 0, int num_rows_removed = -1);
+ // Marks children as dirty and dispatches the event.
+ void ChangeChildren(int first_row_changed = 0, int num_rows_changed = -1);
+ // Returns the number of rows under this row (children, grandchildren, etc)
+ int GetNumDescendants();
+
+ // Adds or refreshes the cell contents, and undirties the row's cells.
+ void Load(const Rocket::Controls::DataQuery& row_information);
+ // Finds all children that have cell information missing (either though being
+ // refreshed or not being loaded yet) and reloads them.
+ void LoadChildren(float time_slice);
+ // Loads a specific set of children. Called by the above function.
+ void LoadChildren(int first_row_to_load, int num_rows_to_load, Rocket::Core::Time time_slice);
+
+ // If the cells need reloading, this takes care of it. If any children
+ // need updating, they are added to the queue.
+ void UpdateCellsAndChildren(RowQueue& dirty_rows);
+
+ // Sets the dirty_cells flag on this row, and lets our ancestors know.
+ void DirtyCells();
+ // Sets the dirty children flag on this row and the row's ancestors.
+ void DirtyRow();
+ // This row has one or more cells that need loading.
+ bool dirty_cells;
+ // This row has one or more children that have either dirty flag set.
+ bool dirty_children;
+
+ // Shows this row, and, if this was was expanded before it was hidden, its children as well.
+ void Show();
+ // Hides this row and all descendants.
+ void Hide();
+ bool row_expanded;
+
+ int table_relative_index;
+ bool table_relative_index_dirty;
+
+ ElementDataGrid* parent_grid;
+
+ ElementDataGridRow* parent_row;
+ int child_index;
+ int depth;
+
+ RowList children;
+
+ // The data source and table that the children are fetched from.
+ DataSource* data_source;
+ Rocket::Core::String data_table;
+};
+
+}
+}
+
+#endif
diff --git source/mac/Frameworks/Rocket.framework/Versions/A/Resources/Controls/ElementForm.h source/mac/Frameworks/Rocket.framework/Versions/A/Resources/Controls/ElementForm.h
new file mode 100644
index 0000000..035bba5
--- /dev/null
+++ source/mac/Frameworks/Rocket.framework/Versions/A/Resources/Controls/ElementForm.h
@@ -0,0 +1,60 @@
+/*
+ * This source file is part of libRocket, the HTML/CSS Interface Middleware
+ *
+ * For the latest information, see http://www.librocket.com
+ *
+ * Copyright (c) 2008-2010 CodePoint Ltd, Shift Technology Ltd
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ *
+ */
+
+#ifndef ROCKETCONTROLSELEMENTFORM_H
+#define ROCKETCONTROLSELEMENTFORM_H
+
+#include <Rocket/Core/Element.h>
+#include <Rocket/Controls/Header.h>
+
+namespace Rocket {
+namespace Controls {
+
+/**
+ A specialisation of the generic Core::Element representing a form element.
+
+ @author Peter Curry
+ */
+
+class ROCKETCONTROLS_API ElementForm : public Core::Element
+{
+public:
+ /// Constructs a new ElementForm. This should not be called directly; use the Factory instead.
+ /// @param[in] tag The tag the element was declared as in RML.
+ ElementForm(const Rocket::Core::String& tag);
+ virtual ~ElementForm();
+
+ /// Submits the form.
+ /// @param[in] name The name of the item doing the submit
+ /// @param[in] submit_value The value to send through as the 'submit' parameter.
+ void Submit(const Rocket::Core::String& name = "", const Rocket::Core::String& submit_value = "");
+};
+
+}
+}
+
+#endif
diff --git source/mac/Frameworks/Rocket.framework/Versions/A/Resources/Controls/ElementFormControl.h source/mac/Frameworks/Rocket.framework/Versions/A/Resources/Controls/ElementFormControl.h
new file mode 100644
index 0000000..cac6814
--- /dev/null
+++ source/mac/Frameworks/Rocket.framework/Versions/A/Resources/Controls/ElementFormControl.h
@@ -0,0 +1,86 @@
+/*
+ * This source file is part of libRocket, the HTML/CSS Interface Middleware
+ *
+ * For the latest information, see http://www.librocket.com
+ *
+ * Copyright (c) 2008-2010 CodePoint Ltd, Shift Technology Ltd
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ *
+ */
+
+#ifndef ROCKETCONTROLSELEMENTFORMCONTROL_H
+#define ROCKETCONTROLSELEMENTFORMCONTROL_H
+
+#include <Rocket/Core/Element.h>
+#include <Rocket/Controls/Header.h>
+
+namespace Rocket {
+namespace Controls {
+
+/**
+ A generic specialisation of the generic Core::Element for all input controls.
+
+ @author Peter Curry
+ */
+
+class ROCKETCONTROLS_API ElementFormControl : public Core::Element
+{
+public:
+ /// Constructs a new ElementFormControl. This should not be called directly; use the Factory
+ /// instead.
+ /// @param[in] tag The tag the element was declared as in RML.
+ ElementFormControl(const Rocket::Core::String& tag);
+ virtual ~ElementFormControl();
+
+ /// Returns the name of the form control. This is not guaranteed to be unique, and in the case of some form
+ /// controls (such as radio buttons) most likely will not be.
+ /// @return The name of the form control.
+ Rocket::Core::String GetName() const;
+ /// Sets the name of the form control.
+ /// @param[in] name The new name of the form control.
+ void SetName(const Rocket::Core::String& name);
+
+ /// Returns a string representation of the current value of the form control.
+ /// @return The value of the form control.
+ virtual Rocket::Core::String GetValue() const = 0;
+ /// Sets the current value of the form control.
+ /// @param[in] value The new value of the form control.
+ virtual void SetValue(const Rocket::Core::String& value) = 0;
+ /// Returns if this value should be submitted with the form.
+ /// @return True if the value should be be submitted with the form, false otherwise.
+ virtual bool IsSubmitted();
+
+ /// Returns the disabled status of the form control.
+ /// @return True if the element is disabled, false otherwise.
+ bool IsDisabled() const;
+ /// Sets the disabled status of the form control.
+ /// @param[in] disable True to disable the element, false to enable.
+ void SetDisabled(bool disable);
+
+protected:
+ /// Checks for changes to the 'disabled' attribute.
+ /// @param[in] changed_attributes List of changed attributes on the element.
+ virtual void OnAttributeChange(const Core::AttributeNameList& changed_attributes);
+};
+
+}
+}
+
+#endif
diff --git source/mac/Frameworks/Rocket.framework/Versions/A/Resources/Controls/ElementFormControlDataSelect.h source/mac/Frameworks/Rocket.framework/Versions/A/Resources/Controls/ElementFormControlDataSelect.h
new file mode 100644
index 0000000..4e1b275
--- /dev/null
+++ source/mac/Frameworks/Rocket.framework/Versions/A/Resources/Controls/ElementFormControlDataSelect.h
@@ -0,0 +1,92 @@
+/*
+ * This source file is part of libRocket, the HTML/CSS Interface Middleware
+ *
+ * For the latest information, see http://www.librocket.com
+ *
+ * Copyright (c) 2008-2010 CodePoint Ltd, Shift Technology Ltd
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ *
+ */
+
+#ifndef ROCKETCONTROLSELEMENTFORMCONTROLDATASELECT_H
+#define ROCKETCONTROLSELEMENTFORMCONTROLDATASELECT_H
+
+#include <Rocket/Controls/Header.h>
+#include <Rocket/Controls/ElementFormControlSelect.h>
+#include <Rocket/Controls/DataSourceListener.h>
+
+namespace Rocket {
+namespace Controls {
+
+class DataSource;
+
+/**
+ A drop-down select form control driven from a data source.
+
+ @author Peter Curry
+ */
+
+class ROCKETCONTROLS_API ElementFormControlDataSelect : public ElementFormControlSelect, public DataSourceListener
+{
+public:
+ /// Constructs a new ElementFormControlDataSelect. This should not be called directly; use the
+ /// Factory instead.
+ /// @param[in] tag The tag the element was declared as in RML.
+ ElementFormControlDataSelect(const Rocket::Core::String& tag);
+ virtual ~ElementFormControlDataSelect();
+
+ /// Sets the data source the control's options are driven from.
+ /// @param[in] data_source The name of the new data source.
+ void SetDataSource(const Rocket::Core::String& data_source);
+
+protected:
+ /// If a new data source has been set on the control, this will attach to it and build the
+ /// initial options.
+ virtual void OnUpdate();
+
+ /// Checks for changes to the data source or formatting attributes.
+ /// @param[in] changed_attributes List of changed attributes on the element.
+ virtual void OnAttributeChange(const Core::AttributeNameList& changed_attributes);
+
+ /// Detaches from the data source and rebuilds the options.
+ virtual void OnDataSourceDestroy(DataSource* data_source);
+ /// Rebuilds the available options from the data source.
+ virtual void OnRowAdd(DataSource* data_source, const Rocket::Core::String& table, int first_row_added, int num_rows_added);
+ /// Rebuilds the available options from the data source.
+ virtual void OnRowRemove(DataSource* data_source, const Rocket::Core::String& table, int first_row_removed, int num_rows_removed);
+ /// Rebuilds the available options from the data source.
+ virtual void OnRowChange(DataSource* data_source, const Rocket::Core::String& table, int first_row_changed, int num_rows_changed);
+ /// Rebuilds the available options from the data source.
+ virtual void OnRowChange(DataSource* data_source, const Rocket::Core::String& table);
+
+private:
+ // Builds the option list from the data source.
+ void BuildOptions();
+
+ DataSource* data_source;
+ Rocket::Core::String data_table;
+
+ bool initialised;
+};
+
+}
+}
+
+#endif
diff --git source/mac/Frameworks/Rocket.framework/Versions/A/Resources/Controls/ElementFormControlInput.h source/mac/Frameworks/Rocket.framework/Versions/A/Resources/Controls/ElementFormControlInput.h
new file mode 100644
index 0000000..81fbfa0
--- /dev/null
+++ source/mac/Frameworks/Rocket.framework/Versions/A/Resources/Controls/ElementFormControlInput.h
@@ -0,0 +1,100 @@
+/*
+ * This source file is part of libRocket, the HTML/CSS Interface Middleware
+ *
+ * For the latest information, see http://www.librocket.com
+ *
+ * Copyright (c) 2008-2010 CodePoint Ltd, Shift Technology Ltd
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ *
+ */
+
+#ifndef ROCKETCONTROLSELEMENTFORMCONTROLINPUT_H
+#define ROCKETCONTROLSELEMENTFORMCONTROLINPUT_H
+
+#include <Rocket/Controls/Header.h>
+#include <Rocket/Controls/ElementFormControl.h>
+
+namespace Rocket {
+namespace Controls {
+
+class InputType;
+
+/**
+ A form control for the generic input element. All functionality is handled through an input type interface.
+
+ @author Peter Curry
+ */
+
+class ROCKETCONTROLS_API ElementFormControlInput : public ElementFormControl
+{
+public:
+ /// Constructs a new ElementFormControlInput. This should not be called directly; use the
+ /// Factory instead.
+ /// @param[in] tag The tag the element was declared as in RML.
+ ElementFormControlInput(const Rocket::Core::String& tag);
+ virtual ~ElementFormControlInput();
+
+ /// Returns a string representation of the current value of the form control.
+ /// @return The value of the form control.
+ virtual Rocket::Core::String GetValue() const;
+ /// Sets the current value of the form control.
+ /// @param value[in] The new value of the form control.
+ virtual void SetValue(const Rocket::Core::String& value);
+ /// Returns if this value's type should be submitted with the form.
+ /// @return True if the form control is to be submitted, false otherwise.
+ virtual bool IsSubmitted();
+
+protected:
+ /// Updates the element's underlying type.
+ virtual void OnUpdate();
+ /// Renders the element's underlying type.
+ virtual void OnRender();
+
+ /// Checks for necessary functional changes in the control as a result of changed attributes.
+ /// @param[in] changed_attributes The list of changed attributes.
+ virtual void OnAttributeChange(const Core::AttributeNameList& changed_attributes);
+ /// Called when properties on the control are changed.
+ /// @param[in] changed_properties The properties changed on the element.
+ virtual void OnPropertyChange(const Core::PropertyNameList& changed_properties);
+
+ /// If we are the added element, this will pass the call onto our type handler.
+ /// @param[in] child The new member of the hierarchy.
+ virtual void OnChildAdd(Rocket::Core::Element* child);
+ /// If we are the removed element, this will pass the call onto our type handler.
+ /// @param[in] child The member of the hierarchy that was just removed.
+ virtual void OnChildRemove(Rocket::Core::Element* child);
+
+ /// Checks for necessary functional changes in the control as a result of the event.
+ /// @param[in] event The event to process.
+ virtual void ProcessEvent(Core::Event& event);
+
+ /// Sizes the dimensions to the element's inherent size.
+ /// @return True.
+ virtual bool GetIntrinsicDimensions(Rocket::Core::Vector2f& dimensions);
+
+private:
+ InputType* type;
+ Rocket::Core::String type_name;
+};
+
+}
+}
+
+#endif
diff --git source/mac/Frameworks/Rocket.framework/Versions/A/Resources/Controls/ElementFormControlSelect.h source/mac/Frameworks/Rocket.framework/Versions/A/Resources/Controls/ElementFormControlSelect.h
new file mode 100644
index 0000000..dc55a8f
--- /dev/null
+++ source/mac/Frameworks/Rocket.framework/Versions/A/Resources/Controls/ElementFormControlSelect.h
@@ -0,0 +1,111 @@
+/*
+ * This source file is part of libRocket, the HTML/CSS Interface Middleware
+ *
+ * For the latest information, see http://www.librocket.com
+ *
+ * Copyright (c) 2008-2010 CodePoint Ltd, Shift Technology Ltd
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ *
+ */
+
+#ifndef ROCKETCONTROLSELEMENTFORMCONTROLSELECT_H
+#define ROCKETCONTROLSELEMENTFORMCONTROLSELECT_H
+
+#include <Rocket/Controls/Header.h>
+#include <Rocket/Controls/ElementFormControl.h>
+#include <Rocket/Controls/SelectOption.h>
+
+namespace Rocket {
+namespace Controls {
+
+class WidgetDropDown;
+
+/**
+ A drop-down select form control.
+
+ @author Peter Curry
+ */
+
+class ROCKETCONTROLS_API ElementFormControlSelect : public ElementFormControl
+{
+public:
+ /// Constructs a new ElementFormControlSelect. This should not be called directly; use the
+ /// Factory instead.
+ /// @param[in] tag The tag the element was declared as in RML.
+ ElementFormControlSelect(const Rocket::Core::String& tag);
+ virtual ~ElementFormControlSelect();
+
+ /// Returns a string representation of the current value of the form control.
+ /// @return The value of the form control.
+ virtual Rocket::Core::String GetValue() const;
+ /// Sets the current value of the form control.
+ /// @param[in] value The new value of the form control.
+ virtual void SetValue(const Rocket::Core::String& value);
+
+ /// Sets the index of the selection. If the new index lies outside of the bounds, it will be clamped.
+ /// @param[in] selection The new selection index.
+ void SetSelection(int selection);
+ /// Returns the index of the currently selected item.
+ /// @return The index of the currently selected item.
+ int GetSelection() const;
+
+ /// Returns one of the select control's option elements.
+ /// @param[in] The index of the desired option element.
+ /// @return The option element at the given index. This will be NULL if the index is out of bounds.
+ SelectOption* GetOption(int index);
+ /// Returns the number of options in the select control.
+ /// @return The number of options.
+ int GetNumOptions();
+
+ /// Adds a new option to the select control.
+ /// @param[in] rml The RML content used to represent the option. This is usually a simple string, but can include RML tags.
+ /// @param[in] value The value of the option. This is used to identify the option, but does not necessarily need to be unique.
+ /// @param[in] before The index of the element to insert the new option before. If out of bounds of the control's option list (the default) the new option will be added at the end of the list.
+ /// @param[in] selectable If true this option can be selected. If false, this option is not selectable.
+ /// @return The index of the new option.
+ int Add(const Rocket::Core::String& rml, const Rocket::Core::String& value, int before = -1, bool selectable = true);
+ /// Removes an option from the select control.
+ /// @param[in] index The index of the option to remove. If this is outside of the bounds of the control's option list, no option will be removed.
+ void Remove(int index);
+
+ /// Removes all options from the select control.
+ void RemoveAll();
+
+protected:
+ /// Moves all children to be under control of the widget.
+ virtual void OnUpdate();
+ /// Updates the layout of the widget's elements.
+ virtual void OnRender();
+
+ /// Forces an internal layout.
+ virtual void OnLayout();
+
+ /// Returns true to mark this element as replaced.
+ /// @param[out] intrinsic_dimensions Set to the arbitrary dimensions of 128 x 16 just to give this element a size. Resize with the 'width' and 'height' properties.
+ /// @return True.
+ virtual bool GetIntrinsicDimensions(Rocket::Core::Vector2f& intrinsic_dimensions);
+
+ WidgetDropDown* widget;
+};
+
+}
+}
+
+#endif
diff --git source/mac/Frameworks/Rocket.framework/Versions/A/Resources/Controls/ElementFormControlTextArea.h source/mac/Frameworks/Rocket.framework/Versions/A/Resources/Controls/ElementFormControlTextArea.h
new file mode 100644
index 0000000..3381b53
--- /dev/null
+++ source/mac/Frameworks/Rocket.framework/Versions/A/Resources/Controls/ElementFormControlTextArea.h
@@ -0,0 +1,121 @@
+/*
+ * This source file is part of libRocket, the HTML/CSS Interface Middleware
+ *
+ * For the latest information, see http://www.librocket.com
+ *
+ * Copyright (c) 2008-2010 CodePoint Ltd, Shift Technology Ltd
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ *
+ */
+
+#ifndef ROCKETCONTROLSELEMENTFORMCONTROLTEXTAREA_H
+#define ROCKETCONTROLSELEMENTFORMCONTROLTEXTAREA_H
+
+#include <Rocket/Controls/Header.h>
+#include <Rocket/Controls/ElementFormControl.h>
+
+namespace Rocket {
+namespace Controls {
+
+class WidgetTextInput;
+
+/**
+ Default Rocket implemention of a text area.
+
+ @author Peter Curry
+ */
+
+class ROCKETCONTROLS_API ElementFormControlTextArea : public ElementFormControl
+{
+public:
+ /// Constructs a new ElementFormControlTextArea. This should not be called directly; use the
+ /// Factory instead.
+ /// @param[in] tag The tag the element was declared as in RML.
+ ElementFormControlTextArea(const Rocket::Core::String& tag);
+ virtual ~ElementFormControlTextArea();
+
+ /// Returns a string representation of the current value of the form control. This is the value of the control
+ /// regardless of whether it has been selected / checked (as appropriate for the control).
+ /// @return The value of the form control.
+ virtual Rocket::Core::String GetValue() const;
+ /// Sets the current value of the form control.
+ /// @param[in] value The new value of the form control.
+ virtual void SetValue(const Rocket::Core::String& value);
+
+ /// Sets the number of characters visible across the text area. Note that this will only be precise when using
+ /// a fixed-width font.
+ /// @param[in] size The number of visible characters.
+ void SetNumColumns(int num_columns);
+ /// Returns the approximate number of characters visible at once.
+ /// @return The number of visible characters.
+ int GetNumColumns() const;
+
+ /// Sets the number of visible lines of text in the text area.
+ /// @param[in] num_rows The new number of visible lines of text.
+ void SetNumRows(int num_rows);
+ /// Returns the number of visible lines of text in the text area.
+ /// @return The number of visible lines of text.
+ int GetNumRows() const;
+
+ /// Sets the maximum length (in characters) of this text area.
+ /// @param[in] max_length The new maximum length of the text area. A number lower than zero will mean infinite
+ /// characters.
+ void SetMaxLength(int max_length);
+ /// Returns the maximum length (in characters) of this text area.
+ /// @return The maximum number of characters allowed in this text area.
+ int GetMaxLength() const;
+
+ /// Enables or disables word-wrapping in the text area.
+ /// @param[in] word_wrap True to enable word-wrapping, false to disable.
+ void SetWordWrap(bool word_wrap);
+ /// Returns the state of word-wrapping in the text area.
+ /// @return True if the text area is word-wrapping, false otherwise.
+ bool GetWordWrap();
+
+ /// Returns the control's inherent size, based on the length of the input field and the current font size.
+ /// @return True.
+ virtual bool GetIntrinsicDimensions(Rocket::Core::Vector2f& dimensions);
+
+protected:
+ /// Updates the control's widget.
+ void OnUpdate();
+ /// Renders the control's widget.
+ void OnRender();
+ /// Formats the element.
+ void OnLayout();
+
+ /// Called when attributes on the element are changed.
+ virtual void OnAttributeChange(const Core::AttributeNameList& changed_attributes);
+ /// Called when properties on the control are changed.
+ /// @param[in] changed_properties The properties changed on the element.
+ virtual void OnPropertyChange(const Core::PropertyNameList& changed_properties);
+
+ /// Returns the text content of the element.
+ /// @param[out] content The content of the element.
+ virtual void GetInnerRML(Rocket::Core::String& content) const;
+
+private:
+ WidgetTextInput* widget;
+};
+
+}
+}
+
+#endif
diff --git source/mac/Frameworks/Rocket.framework/Versions/A/Resources/Controls/ElementTabSet.h source/mac/Frameworks/Rocket.framework/Versions/A/Resources/Controls/ElementTabSet.h
new file mode 100644
index 0000000..dfdf134
--- /dev/null
+++ source/mac/Frameworks/Rocket.framework/Versions/A/Resources/Controls/ElementTabSet.h
@@ -0,0 +1,107 @@
+/*
+ * This source file is part of libRocket, the HTML/CSS Interface Middleware
+ *
+ * For the latest information, see http://www.librocket.com
+ *
+ * Copyright (c) 2008-2010 CodePoint Ltd, Shift Technology Ltd
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ *
+ */
+
+#ifndef ROCKETCONTROLSELEMENTTABSET_H
+#define ROCKETCONTROLSELEMENTTABSET_H
+
+#include <Rocket/Core/Element.h>
+#include <Rocket/Core/EventListener.h>
+#include <Rocket/Controls/Header.h>
+
+namespace Rocket {
+namespace Controls {
+
+/**
+ A tabulated set of panels.
+
+ @author Lloyd Weehuizen
+ */
+
+class ROCKETCONTROLS_API ElementTabSet : public Core::Element, public Core::EventListener
+{
+public:
+ ElementTabSet(const Rocket::Core::String& tag);
+ ~ElementTabSet();
+
+ /// Sets the specifed tab index's tab title RML.
+ /// @param[in] tab_index The tab index to set. If it doesn't already exist, it will be created.
+ /// @param[in] rml The RML to set on the tab title.
+ void SetTab(int tab_index, const Rocket::Core::String& rml);
+ /// Sets the specifed tab index's tab panel RML.
+ /// @param[in] tab_index The tab index to set. If it doesn't already exist, it will be created.
+ /// @param[in] rml The RML to set on the tab panel.
+ void SetPanel(int tab_index, const Rocket::Core::String& rml);
+
+ /// Set the specifed tab index's title element.
+ /// @param[in] tab_index The tab index to set. If it doesn't already exist, it will be created.
+ /// @param[in] element The root of the element tree to set as the tab title.
+ void SetTab(int tab_index, Core::Element* element);
+ /// Set the specified tab index's body element.
+ /// @param[in] tab_index The tab index to set. If it doesn't already exist, it will be created.
+ /// @param[in] element The root of the element tree to set as the window.
+ void SetPanel(int tab_index, Core::Element* element);
+
+ /// Remove one of the tab set's panels and its corresponding tab.
+ /// @param[in] tab_index The tab index to remove. If no tab matches this index, nothing will be removed.
+ void RemoveTab(int tab_index);
+
+ /// Retrieve the number of tabs in the tabset.
+ /// @return The number of tabs.
+ int GetNumTabs();
+
+ /// Sets the currently active (visible) tab index.
+ /// @param[in] tab_index Index of the tab to display.
+ void SetActiveTab(int tab_index);
+
+ /// Get the current active tab index.
+ /// @return The index of the active tab.
+ int GetActiveTab() const;
+
+ /// Process the incoming event.
+ void ProcessEvent(Core::Event& event);
+
+ /// Called when the listener has been attached to a new Element
+ void OnAttach(Element* ROCKET_UNUSED(element));
+
+ /// Called when the listener has been detached from a Element
+ void OnDetach(Element* ROCKET_UNUSED(element));
+
+protected:
+ // Catch child add/removes so we can correctly set up their events.
+ virtual void OnChildAdd(Core::Element* child);
+ virtual void OnChildRemove(Core::Element* child);
+
+private:
+ Core::Element* GetChildByTag(const Rocket::Core::String& tag);
+
+ int active_tab;
+};
+
+}
+}
+
+#endif
diff --git source/mac/Frameworks/Rocket.framework/Versions/A/Resources/Controls/Header.h source/mac/Frameworks/Rocket.framework/Versions/A/Resources/Controls/Header.h
new file mode 100644
index 0000000..30153b3
--- /dev/null
+++ source/mac/Frameworks/Rocket.framework/Versions/A/Resources/Controls/Header.h
@@ -0,0 +1,47 @@
+/*
+ * This source file is part of libRocket, the HTML/CSS Interface Middleware
+ *
+ * For the latest information, see http://www.librocket.com
+ *
+ * Copyright (c) 2008-2010 CodePoint Ltd, Shift Technology Ltd
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ *
+ */
+
+#ifndef ROCKETCONTROLSHEADER_H
+#define ROCKETCONTROLSHEADER_H
+
+#include <Rocket/Core/Platform.h>
+
+#if !defined STATIC_LIB
+ #ifdef ROCKET_PLATFORM_WIN32
+ #ifdef RocketControls_EXPORTS
+ #define ROCKETCONTROLS_API __declspec(dllexport)
+ #else
+ #define ROCKETCONTROLS_API __declspec(dllimport)
+ #endif
+ #else
+ #define ROCKETCONTROLS_API __attribute__((visibility("default")))
+ #endif
+#else
+ #define ROCKETCONTROLS_API
+#endif
+
+#endif
diff --git source/mac/Frameworks/Rocket.framework/Versions/A/Resources/Controls/SelectOption.h source/mac/Frameworks/Rocket.framework/Versions/A/Resources/Controls/SelectOption.h
new file mode 100644
index 0000000..f5dc0b5
--- /dev/null
+++ source/mac/Frameworks/Rocket.framework/Versions/A/Resources/Controls/SelectOption.h
@@ -0,0 +1,75 @@
+/*
+ * This source file is part of libRocket, the HTML/CSS Interface Middleware
+ *
+ * For the latest information, see http://www.librocket.com
+ *
+ * Copyright (c) 2008-2010 CodePoint Ltd, Shift Technology Ltd
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ *
+ */
+
+#ifndef ROCKETCONTROLSSELECTOPTION_H
+#define ROCKETCONTROLSSELECTOPTION_H
+
+#include <Rocket/Controls/Header.h>
+#include <Rocket/Core/String.h>
+
+namespace Rocket {
+namespace Core {
+
+class Element;
+
+}
+
+namespace Controls {
+
+/**
+ Represents individual options within a select control.
+
+ @author Peter Curry
+ */
+
+class ROCKETCONTROLS_API SelectOption
+{
+public:
+ SelectOption(Core::Element* element, const Rocket::Core::String& value, bool selectable);
+ ~SelectOption();
+
+ /// Returns the element that represents the option visually.
+ /// @return The option's element.
+ Core::Element* GetElement();
+ /// Returns the value of the option.
+ /// @return The option's value.
+ const Rocket::Core::String& GetValue() const;
+
+ /// Returns true if the item is selectable.
+ /// @return True if the item is selectable.
+ bool IsSelectable() { return selectable; }
+
+private:
+ Core::Element* element;
+ Rocket::Core::String value;
+ bool selectable;
+};
+
+}
+}
+
+#endif
diff --git source/mac/Frameworks/Rocket.framework/Versions/A/Resources/Core/BaseXMLParser.h source/mac/Frameworks/Rocket.framework/Versions/A/Resources/Core/BaseXMLParser.h
new file mode 100644
index 0000000..51491c6
--- /dev/null
+++ source/mac/Frameworks/Rocket.framework/Versions/A/Resources/Core/BaseXMLParser.h
@@ -0,0 +1,119 @@
+/*
+ * This source file is part of libRocket, the HTML/CSS Interface Middleware
+ *
+ * For the latest information, see http://www.librocket.com
+ *
+ * Copyright (c) 2008-2010 CodePoint Ltd, Shift Technology Ltd
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ *
+ */
+
+#ifndef ROCKETCOREBASEXMLPARSER_H
+#define ROCKETCOREBASEXMLPARSER_H
+
+#include <Rocket/Core/Header.h>
+#include <Rocket/Core/Types.h>
+#include <Rocket/Core/Dictionary.h>
+#include <set>
+
+namespace Rocket {
+namespace Core {
+
+class Stream;
+
+typedef Dictionary XMLAttributes;
+
+/**
+ @author Peter Curry
+ */
+
+class ROCKETCORE_API BaseXMLParser
+{
+ public:
+ BaseXMLParser();
+ virtual ~BaseXMLParser();
+
+ /// Registers a tag as containing general character data. This will mean the contents of the tag will be parsed
+ /// similarly to a CDATA tag (ie, no other markup will be recognised until the section's closing tag is found).
+ /// @param[in] tag The tag to register as containing generic character data.
+ void RegisterCDATATag(const String& tag);
+
+ /// Parses the given stream as an XML file, and calls the handlers when
+ /// interesting phenomena are encountered.
+ void Parse(Stream* stream);
+
+ /// Get the line number in the stream.
+ /// @return The line currently being processed in the XML stream.
+ int GetLineNumber();
+
+ /// Called when the parser finds the beginning of an element tag.
+ virtual void HandleElementStart(const String& name, const XMLAttributes& attributes);
+ /// Called when the parser finds the end of an element tag.
+ virtual void HandleElementEnd(const String& name);
+ /// Called when the parser encounters data.
+ virtual void HandleData(const String& data);
+
+ protected:
+ // The stream we're reading the XML from.
+ Stream* xml_source;
+
+ private:
+ void ReadHeader();
+ void ReadBody();
+
+ bool ReadOpenTag();
+ bool ReadCloseTag();
+ bool ReadAttributes(XMLAttributes& attributes);
+ bool ReadCDATA(const char* terminator = NULL);
+
+ // Reads from the stream until a complete word is found.
+ // @param[out] word Word thats been found
+ // @param[in] terminators List of characters that terminate the search
+ bool FindWord(String& word, const char* terminators = NULL);
+ // Reads from the stream until the given character set is found. All
+ // intervening characters will be returned in data.
+ bool FindString(const unsigned char* string, String& data);
+ // Returns true if the next sequence of characters in the stream
+ // matches the given string. If consume is set and this returns true,
+ // the characters will be consumed.
+ bool PeekString(const unsigned char* string, bool consume = true);
+
+ // Fill the buffer as much as possible, without removing any content that is still pending
+ bool FillBuffer();
+
+ unsigned char* read;
+ unsigned char* buffer;
+ int buffer_size;
+ int buffer_used;
+ int line_number;
+ int open_tag_depth;
+
+ // The element attributes being read.
+ XMLAttributes attributes;
+ // The loose data being read.
+ String data;
+
+ std::set< String > cdata_tags;
+};
+
+}
+}
+
+#endif
diff --git source/mac/Frameworks/Rocket.framework/Versions/A/Resources/Core/Box.h source/mac/Frameworks/Rocket.framework/Versions/A/Resources/Core/Box.h
new file mode 100644
index 0000000..271df6c
--- /dev/null
+++ source/mac/Frameworks/Rocket.framework/Versions/A/Resources/Core/Box.h
@@ -0,0 +1,126 @@
+/*
+ * This source file is part of libRocket, the HTML/CSS Interface Middleware
+ *
+ * For the latest information, see http://www.librocket.com
+ *
+ * Copyright (c) 2008-2010 CodePoint Ltd, Shift Technology Ltd
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ *
+ */
+
+#ifndef ROCKETCOREBOX_H
+#define ROCKETCOREBOX_H
+
+//#include <Rocket/Core/Header.h>
+//#include <Rocket/Core/Types.h>
+#include <Rocket/Core/Types.h>
+
+namespace Rocket {
+namespace Core {
+
+/**
+ Stores a box with four sized areas; content, padding, a border and margin. See
+ http://www.w3.org/TR/REC-CSS2/box.html#box-dimensions for a diagram.
+
+ @author Peter Curry
+ */
+
+class ROCKETCORE_API Box
+{
+public:
+ enum Area
+ {
+ MARGIN = 0,
+ BORDER = 1,
+ PADDING = 2,
+ CONTENT = 3,
+ NUM_AREAS = 3, // ignores CONTENT
+ };
+
+ enum Edge
+ {
+ TOP = 0,
+ RIGHT = 1,
+ BOTTOM = 2,
+ LEFT = 3,
+ NUM_EDGES = 4
+ };
+
+ /// Initialises a zero-sized box.
+ Box();
+ /// Initialises a box with a default content area and no padding, borders and margins.
+ Box(const Vector2f& content);
+ ~Box();
+
+ /// Returns the offset of this box. This will usually be (0, 0).
+ /// @return The box's offset.
+ const Vector2f& GetOffset() const;
+ /// Returns the top-left position of one of the box's areas, relative to the top-left of the border area. This
+ /// means the position of the margin area is likely to be negative.
+ /// @param area[in] The desired area.
+ /// @return The position of the area.
+ Vector2f GetPosition(Area area = Box::CONTENT) const;
+ /// Returns the size of one of the box's areas. This will include all inner areas.
+ /// @param area[in] The desired area.
+ /// @return The size of the requested area.
+ Vector2f GetSize(Area area = Box::CONTENT) const;
+
+ /// Sets the offset of the box, relative usually to the owning element. This should only be set for auxiliary
+ /// boxes of an element.
+ /// @param offset[in] The offset of the box from the primary box.
+ void SetOffset(const Vector2f& offset);
+ /// Sets the size of the content area.
+ /// @param content[in] The size of the new content area.
+ void SetContent(const Vector2f& content);
+ /// Sets the size of one of the edges of one of the box's outer areas.
+ /// @param area[in] The area to change.
+ /// @param edge[in] The area edge to change.
+ /// @param size[in] The new size of the area segment.
+ void SetEdge(Area area, Edge edge, float size);
+
+ /// Returns the size of one of the area edges.
+ /// @param area[in] The desired area.
+ /// @param edge[in] The desired edge.
+ /// @return The size of the requested area edge.
+ float GetEdge(Area area, Edge edge) const;
+ /// Returns the cumulative size of one edge up to one of the box's areas.
+ /// @param area[in] The area to measure up to (and including). So, MARGIN will return the width of the margin, and PADDING will be the sum of the margin, border and padding.
+ /// @param edge[in] The desired edge.
+ /// @return The cumulative size of the edge.
+ float GetCumulativeEdge(Area area, Edge edge) const;
+
+ /// Compares the size of the content area and the other area edges.
+ /// @return True if the boxes represent the same area.
+ bool operator==(const Box& rhs) const;
+ /// Compares the size of the content area and the other area edges.
+ /// @return True if the boxes do not represent the same area.
+ bool operator!=(const Box& rhs) const;
+
+private:
+ Vector2f content;
+ float area_edges[NUM_AREAS][NUM_EDGES];
+
+ Vector2f offset;
+};
+
+}
+}
+
+#endif
diff --git source/mac/Frameworks/Rocket.framework/Versions/A/Resources/Core/Colour.h source/mac/Frameworks/Rocket.framework/Versions/A/Resources/Core/Colour.h
new file mode 100644
index 0000000..6ac0704
--- /dev/null
+++ source/mac/Frameworks/Rocket.framework/Versions/A/Resources/Core/Colour.h
@@ -0,0 +1,125 @@
+/*
+ * This source file is part of libRocket, the HTML/CSS Interface Middleware
+ *
+ * For the latest information, see http://www.librocket.com
+ *
+ * Copyright (c) 2008-2010 CodePoint Ltd, Shift Technology Ltd
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ *
+ */
+
+#ifndef ROCKETCORECOLOUR_H
+#define ROCKETCORECOLOUR_H
+
+#include <Rocket/Core/Header.h>
+
+namespace Rocket {
+namespace Core {
+
+/**
+ Templated class for a four-component RGBA colour.
+
+ @author Peter Curry
+ */
+
+template < typename ColourType, int AlphaDefault >
+class Colour
+{
+public:
+ /// Lightweight, non-initialising constructor.
+ inline Colour();
+ /// Initialising constructor.
+ /// @param[in] red Initial red value of the colour.
+ /// @param[in] green Initial green value of the colour.
+ /// @param[in] blue Initial blue value of the colour.
+ /// @param[in] alpha Initial alpha value of the colour.
+ inline Colour(ColourType red, ColourType green, ColourType blue, ColourType alpha = AlphaDefault);
+
+ /// Returns the sum of this colour and another. This does not saturate the channels.
+ /// @param[in] rhs The colour to add this to.
+ /// @return The sum of the two colours.
+ inline Colour operator+(const Colour& rhs) const;
+ /// Returns the result of subtracting another colour from this colour.
+ /// @param[in] rhs The colour to subtract from this colour.
+ /// @return The result of the subtraction.
+ inline Colour operator-(const Colour& rhs) const;
+ /// Returns the result of multiplying this colour by another.
+ /// @param[in] rhs The colour to multiply by.
+ /// @return The result of the multiplication.
+ Colour operator*(const Colour& rhs) const;
+ /// Returns the result of multiplying this colour component-wise by a scalar.
+ /// @param[in] rhs The scalar value to multiply by.
+ /// @return The result of the scale.
+ inline Colour operator*(float rhs) const;
+ /// Returns the result of dividing this colour component-wise by a scalar.
+ /// @param[in] rhs The scalar value to divide by.
+ /// @return The result of the scale.
+ inline Colour operator/(float rhs) const;
+
+ /// Adds another colour to this in-place. This does not saturate the channels.
+ /// @param[in] rhs The colour to add.
+ inline void operator+=(const Colour& rhs);
+ /// Subtracts another colour from this in-place.
+ /// @param[in] rhs The colour to subtract.
+ inline void operator-=(const Colour& rhs);
+ /// Multiplies this colour component-wise with another in-place.
+ /// @param[in] rhs The colour to multiply by.
+ /// @return This colour, post-operation.
+ void operator*=(const Colour& rhs);
+ /// Scales this colour component-wise in-place.
+ /// @param[in] rhs The value to scale this colours's components by.
+ inline void operator*=(float rhs);
+ /// Scales this colour component-wise in-place by the inverse of a value.
+ /// @param[in] rhs The value to divide this colour's components by.
+ inline void operator/=(float rhs);
+
+ /// Equality operator.
+ /// @param[in] rhs The colour to compare this against.
+ /// @return True if the two colours are equal, false otherwise.
+ inline bool operator==(const Colour& rhs) { return red == rhs.red && green == rhs.green && blue == rhs.blue && alpha == rhs.alpha; }
+ /// Inequality operator.
+ /// @param[in] rhs The colour to compare this against.
+ /// @return True if the two colours are not equal, false otherwise.
+ inline bool operator!=(const Colour& rhs) { return red != rhs.red || green != rhs.green || blue != rhs.blue || alpha != rhs.alpha; }
+
+ /// Auto-cast operator.
+ /// @return A pointer to the first value.
+ inline operator const ColourType*() const { return &red; }
+ /// Constant auto-cast operator.
+ /// @return A constant pointer to the first value.
+ inline operator ColourType*() { return &red; }
+
+ ColourType red, green, blue, alpha;
+};
+
+}
+}
+
+//#include <Rocket/Core/Types.h>
+
+namespace Rocket {
+namespace Core {
+
+#include "Colour.inl"
+
+}
+}
+
+#endif
diff --git source/mac/Frameworks/Rocket.framework/Versions/A/Resources/Core/Colour.inl source/mac/Frameworks/Rocket.framework/Versions/A/Resources/Core/Colour.inl
new file mode 100644
index 0000000..d9344eb
--- /dev/null
+++ source/mac/Frameworks/Rocket.framework/Versions/A/Resources/Core/Colour.inl
@@ -0,0 +1,119 @@
+/*
+ * This source file is part of libRocket, the HTML/CSS Interface Middleware
+ *
+ * For the latest information, see http://www.librocket.com
+ *
+ * Copyright (c) 2008-2010 CodePoint Ltd, Shift Technology Ltd
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ *
+ */
+
+// Lightweight, non-initialising constructor.
+template < typename ColourType, int AlphaDefault >
+Colour< ColourType, AlphaDefault >::Colour()
+{
+}
+
+// Initialising constructor.
+template < typename ColourType, int AlphaDefault >
+Colour< ColourType, AlphaDefault >::Colour(ColourType _red, ColourType _green, ColourType _blue, ColourType _alpha)
+{
+ red = _red;
+ green = _green;
+ blue = _blue;
+ alpha = _alpha;
+}
+
+// Returns the sum of this colour and another. This does not saturate the channels.
+template < typename ColourType, int AlphaDefault >
+Colour< ColourType, AlphaDefault > Colour< ColourType, AlphaDefault >::operator+(const Colour< ColourType, AlphaDefault >& rhs) const
+{
+ return Colour< ColourType, AlphaDefault >(red + rhs.red, green + rhs.green, blue + rhs.blue, alpha + rhs.alpha);
+}
+
+// Returns the result of subtracting another colour from this colour.
+template < typename ColourType, int AlphaDefault >
+Colour< ColourType, AlphaDefault > Colour< ColourType, AlphaDefault >::operator-(const Colour< ColourType, AlphaDefault >& rhs) const
+{
+ return Colour< ColourType, AlphaDefault >(red - rhs.red, green - rhs.green, blue - rhs.blue, alpha - rhs.alpha);
+}
+
+// Returns the result of multiplying this colour component-wise by a scalar.
+template < typename ColourType, int AlphaDefault >
+Colour< ColourType, AlphaDefault > Colour< ColourType, AlphaDefault >::operator*(float rhs) const
+{
+ return Colour((ColourType) (red * rhs), (ColourType) (green * rhs), (ColourType) (blue * rhs), (ColourType) (alpha * rhs));
+}
+
+// Returns the result of dividing this colour component-wise by a scalar.
+template < typename ColourType, int AlphaDefault >
+Colour< ColourType, AlphaDefault > Colour< ColourType, AlphaDefault >::operator/(float rhs) const
+{
+ return Colour((ColourType) (red / rhs), (ColourType) (green / rhs), (ColourType) (blue / rhs), (ColourType) (alpha / rhs));
+}
+
+// Adds another colour to this in-place. This does not saturate the channels.
+template < typename ColourType, int AlphaDefault >
+void Colour< ColourType, AlphaDefault >::operator+=(const Colour& rhs)
+{
+ red += rhs.red;
+ green += rhs.green;
+ blue += rhs.blue;
+ alpha += rhs.alpha;
+}
+
+// Subtracts another colour from this in-place.
+template < typename ColourType, int AlphaDefault >
+void Colour< ColourType, AlphaDefault >::operator-=(const Colour& rhs)
+{
+ red -= rhs.red;
+ green -= rhs.green;
+ blue -= rhs.blue;
+ alpha -= rhs.alpha;
+}
+
+// Scales this colour component-wise in-place.
+template < typename ColourType, int AlphaDefault >
+void Colour< ColourType, AlphaDefault >::operator*=(float rhs)
+{
+ red = (ColourType)(red * rhs);
+ green = (ColourType)(green * rhs);
+ blue = (ColourType)(blue * rhs);
+ alpha = (ColourType)(alpha * rhs);
+}
+
+// Scales this colour component-wise in-place by the inverse of a value.
+template < typename ColourType, int AlphaDefault >
+void Colour< ColourType, AlphaDefault >::operator/=(float rhs)
+{
+ *this *= (1.0f / rhs);
+}
+
+template < >
+Colour< float, 1 > ROCKETCORE_API Colour< float, 1 >::operator*(const Colour< float, 1 >& rhs) const;
+
+template < >
+Colour< byte, 255 > ROCKETCORE_API Colour< byte, 255 >::operator*(const Colour< byte, 255 >& rhs) const;
+
+template < >
+void ROCKETCORE_API Colour< float, 1 >::operator*=(const Colour& rhs);
+
+template < >
+void ROCKETCORE_API Colour< byte, 255 >::operator*=(const Colour& rhs);
diff --git source/mac/Frameworks/Rocket.framework/Versions/A/Resources/Core/Context.h source/mac/Frameworks/Rocket.framework/Versions/A/Resources/Core/Context.h
new file mode 100644
index 0000000..50fa31a
--- /dev/null
+++ source/mac/Frameworks/Rocket.framework/Versions/A/Resources/Core/Context.h
@@ -0,0 +1,341 @@
+/*
+ * This source file is part of libRocket, the HTML/CSS Interface Middleware
+ *
+ * For the latest information, see http://www.librocket.com
+ *
+ * Copyright (c) 2008-2010 CodePoint Ltd, Shift Technology Ltd
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ *
+ */
+
+#ifndef ROCKETCORECONTEXT_H
+#define ROCKETCORECONTEXT_H
+
+#include <Rocket/Core/Header.h>
+#include <Rocket/Core/Types.h>
+#include <Rocket/Core/ReferenceCountable.h>
+#include <Rocket/Core/ElementReference.h>
+#include <Rocket/Core/Input.h>
+#include <Rocket/Core/String.h>
+#include <Rocket/Core/ScriptInterface.h>
+
+namespace Rocket {
+namespace Core {
+
+class Stream;
+class Dictionary;
+
+}
+}
+
+namespace Rocket {
+namespace Core {
+
+class ContextInstancer;
+class ElementDocument;
+class EventListener;
+class RenderInterface;
+
+/**
+ A context for storing, rendering and processing RML documents. Multiple contexts can exist simultaneously.
+
+ @author Peter Curry
+ */
+
+class ROCKETCORE_API Context : public ScriptInterface
+{
+public:
+ /// Constructs a new, uninitialised context. This should not be called directly, use Core::CreateContext()
+ /// instead.
+ /// @param[in] name The name of the context.
+ Context(const String& name);
+ /// Destroys a context.
+ virtual ~Context();
+
+ /// Returns the name of the context.
+ /// @return The context's name.
+ const String& GetName() const;
+
+ /// Changes the dimensions of the context.
+ /// @param[in] dimensions The new dimensions of the context.
+ void SetDimensions(const Vector2i& dimensions);
+ /// Returns the dimensions of the context.
+ /// @return The current dimensions of the context.
+ const Vector2i& GetDimensions() const;
+
+ /// Updates all elements in the context's documents.
+ bool Update();
+ /// Renders all visible elements in the context's documents.
+ bool Render();
+
+ /// Creates a new, empty document and places it into this context.
+ /// @param[in] tag The document type to create.
+ /// @return The new document, or NULL if no document could be created. The document is returned with a reference owned by the caller.
+ ElementDocument* CreateDocument(const String& tag = "body");
+ /// Load a document into the context.
+ /// @param[in] document_path The path to the document to load.
+ /// @return The loaded document, or NULL if no document was loaded. The document is returned with a reference owned by the caller.
+ ElementDocument* LoadDocument(const String& document_path);
+ /// Load a document into the context.
+ /// @param[in] document_stream The opened stream, ready to read.
+ /// @return The loaded document, or NULL if no document was loaded. The document is returned with a reference owned by the caller.
+ ElementDocument* LoadDocument(Stream* document_stream);
+ /// Load a document into the context.
+ /// @param[in] string The string containing the document RML.
+ /// @return The loaded document, or NULL if no document was loaded. The document is returned with a reference owned by the caller.
+ ElementDocument* LoadDocumentFromMemory(const String& string);
+ /// Unload the given document.
+ /// @param[in] document The document to unload.
+ void UnloadDocument(ElementDocument* document);
+ /// Unloads all loaded documents.
+ void UnloadAllDocuments();
+
+ /// Adds a previously-loaded cursor document as a mouse cursor within this context. This allows you to share
+ /// cursors between contexts.
+ /// @param[in] cursor_document The document to add as a cursor into this context.
+ void AddMouseCursor(ElementDocument* cursor_document);
+ /// Loads a document as a mouse cursor within this context.
+ /// @param[in] cursor_document_path The path to the document to load as a cursor.
+ /// @return The loaded cursor document, or NULL if no document was loaded. The document is returned with a reference owned by the caller.
+ ElementDocument* LoadMouseCursor(const String& cursor_document_path);
+ /// Unload the given cursor.
+ /// @param[in] cursor_name The name of cursor to unload.
+ void UnloadMouseCursor(const String& cursor_name);
+ /// Unloads all currently loaded cursors.
+ void UnloadAllMouseCursors();
+ /// Sets a cursor as the active cursor.
+ /// @param[in] cursor_name The name of the cursor to activate.
+ /// @return True if a cursor exists with the given name, false if not.
+ bool SetMouseCursor(const String& cursor_name);
+ /// Shows or hides the cursor.
+ /// @param[in] show True to show the cursor, false to hide it.
+ void ShowMouseCursor(bool show);
+
+ /// Returns the first document in the context with the given id.
+ /// @param[in] id The id of the desired document.
+ /// @return The document (if it was found), or NULL if no document exists with the ID. The document is returned with a borrowed reference.
+ ElementDocument* GetDocument(const String& id);
+ /// Returns a document in the context by index.
+ /// @param[in] index The index of the desired document.
+ /// @return The document (if one exists with this index), or NULL if the index was invalid. The document is returned with a borrowed reference.
+ ElementDocument* GetDocument(int index);
+ /// Returns the number of documents in the context.
+ /// @return The number of documents in the context.
+ int GetNumDocuments() const;
+
+ /// Returns the hover element.
+ /// @return The element the mouse cursor is hovering over. The element is returned with a borrowed reference.
+ Element* GetHoverElement();
+
+ /// Returns the focus element.
+ /// @return The element with input focus. The element is returned with a borrowed reference.
+ Element* GetFocusElement();
+
+ /// Returns the root element that holds all the documents
+ /// @return The root element. The element is returned with a borrowed reference.
+ Element* GetRootElement();
+
+ /// Brings the document to the front of the document stack.
+ /// @param[in] document The document to pull to the front of the stack.
+ void PullDocumentToFront(ElementDocument* document);
+ /// Sends the document to the back of the document stack.
+ /// @param[in] document The document to push to the bottom of the stack.
+ void PushDocumentToBack(ElementDocument* document);
+
+ /// Adds an event listener to the context's root element.
+ /// @param[in] event The name of the event to attach to.
+ /// @param[in] listener Listener object to be attached.
+ /// @param[in] in_capture_phase True if the listener is to be attached to the capture phase, false for the bubble phase.
+ void AddEventListener(const String& event, EventListener* listener, bool in_capture_phase = false);
+ /// Removes an event listener from the context's root element.
+ /// @param[in] event The name of the event to detach from.
+ /// @param[in] listener Listener object to be detached.
+ /// @param[in] in_capture_phase True to detach from the capture phase, false from the bubble phase.
+ void RemoveEventListener(const String& event, EventListener* listener, bool in_capture_phase = false);
+
+ /// Sends a key down event into this context.
+ /// @param[in] key_identifier The key pressed.
+ /// @param[in] key_modifier_state The state of key modifiers (shift, control, caps-lock, etc) keys; this should be generated by ORing together members of the Input::KeyModifier enumeration.
+ /// @return True if the event was not consumed (ie, was prevented from propagating by an element), false if it was.
+ bool ProcessKeyDown(Input::KeyIdentifier key_identifier, int key_modifier_state);
+ /// Sends a key up event into this context.
+ /// @param[in] key_identifier The key released.
+ /// @param[in] key_modifier_state The state of key modifiers (shift, control, caps-lock, etc) keys; this should be generated by ORing together members of the Input::KeyModifier enumeration.
+ /// @return True if the event was not consumed (ie, was prevented from propagating by an element), false if it was.
+ bool ProcessKeyUp(Input::KeyIdentifier key_identifier, int key_modifier_state);
+
+ /// Sends a single character of text as text input into this context.
+ /// @param[in] character The UCS-2 character to send into this context.
+ /// @return True if the event was not consumed (ie, was prevented from propagating by an element), false if it was.
+ bool ProcessTextInput(word character);
+ /// Sends a string of text as text input into this context.
+ /// @param[in] string The UCS-2 string to send into this context.
+ /// @return True if the event was not consumed (ie, was prevented from propagating by an element), false if it was.
+ bool ProcessTextInput(const String& string);
+
+ /// Sends a mouse movement event into this context.
+ /// @param[in] x The x-coordinate of the mouse cursor, in window-coordinates (ie, 0 should be the left of the client area).
+ /// @param[in] y The y-coordinate of the mouse cursor, in window-coordinates (ie, 0 should be the top of the client area).
+ /// @param[in] key_modifier_state The state of key modifiers (shift, control, caps-lock, etc) keys; this should be generated by ORing together members of the Input::KeyModifier enumeration.
+ void ProcessMouseMove(int x, int y, int key_modifier_state);
+ /// Sends a mouse-button down event into this context.
+ /// @param[in] button_index The index of the button that was pressed; 0 for the left button, 1 for right, and any others from 2 onwards.
+ /// @param[in] key_modifier_state The state of key modifiers (shift, control, caps-lock, etc) keys; this should be generated by ORing together members of the Input::KeyModifier enumeration.
+ void ProcessMouseButtonDown(int button_index, int key_modifier_state);
+ /// Sends a mouse-button up event into this context.
+ /// @param[in] button_index The index of the button that was release; 0 for the left button, 1 for right, and any others from 2 onwards.
+ /// @param[in] key_modifier_state The state of key modifiers (shift, control, caps-lock, etc) keys; this should be generated by ORing together members of the Input::KeyModifier enumeration.
+ void ProcessMouseButtonUp(int button_index, int key_modifier_state);
+ /// Sends a mouse-wheel movement event into this context.
+ /// @param[in] wheel_delta The mouse-wheel movement this frame. Rocket treats a negative delta as up movement (away from the user), positive as down.
+ /// @param[in] key_modifier_state The state of key modifiers (shift, control, caps-lock, etc) keys; this should be generated by ORing together members of the Input::KeyModifier enumeration.
+ /// @return True if the event was not consumed (ie, was prevented from propagating by an element), false if it was.
+ bool ProcessMouseWheel(int wheel_delta, int key_modifier_state);
+
+ /// Gets the context's render interface.
+ /// @return The render interface the context renders through.
+ RenderInterface* GetRenderInterface() const;
+ /// Gets the current clipping region for the render traversal
+ /// @param[out] origin The clipping origin
+ /// @param[out] dimensions The clipping dimensions
+ bool GetActiveClipRegion(Vector2i& origin, Vector2i& dimensions) const;
+ /// Sets the current clipping region for the render traversal
+ /// @param[out] origin The clipping origin
+ /// @param[out] dimensions The clipping dimensions
+ void SetActiveClipRegion(const Vector2i& origin, const Vector2i& dimensions);
+
+ /// Sets the instancer to use for releasing this object.
+ /// @param[in] instancer The context's instancer.
+ void SetInstancer(ContextInstancer* instancer);
+
+protected:
+ virtual void OnReferenceDeactivate();
+
+private:
+ String name;
+ Vector2i dimensions;
+
+ ContextInstancer* instancer;
+
+ typedef std::set< ElementReference > ElementSet;
+ typedef std::vector< ElementReference > ElementList;
+ // Set of elements that are currently in hover state.
+ ElementSet hover_chain;
+ // List of elements that are currently in active state.
+ ElementList active_chain;
+ // History of windows that have had focus
+ ElementList document_focus_history;
+
+ // Documents that have been unloaded from the context but not yet released.
+ ElementList unloaded_documents;
+
+ // Root of the element tree.
+ Element* root;
+ // The element that current has input focus.
+ ElementReference focus;
+ // The top-most element being hovered over.
+ ElementReference hover;
+ // The element that was being hovered over when the primary mouse button was pressed most recently.
+ ElementReference active;
+
+ // The element that was clicked on last.
+ Element* last_click_element;
+ // The time the last click occured.
+ float last_click_time;
+
+ typedef std::map< String, ElementDocument* > CursorMap;
+ CursorMap cursors;
+ ElementReference default_cursor;
+ ElementReference active_cursor;
+ bool show_cursor;
+
+ ElementDocument* cursor_proxy;
+
+ // The element that is currently being dragged (or about to be dragged).
+ ElementReference drag;
+ // True if a drag has begun (ie, the ondragstart event has been fired for the drag element), false otherwise.
+ bool drag_started;
+ // True if the current drag is a verbose drag (ie, sends ondragover, ondragout, ondragdrop, etc, events).
+ bool drag_verbose;
+ // Used when dragging a cloned object.
+ Element* drag_clone;
+
+ // The element currently being dragged over; this is equivalent to hover, but only set while an element is being
+ // dragged, and excludes the dragged element.
+ ElementReference drag_hover;
+ // Set of elements that are currently being dragged over; this differs from the hover state as the dragged element
+ // itself can't be part of it.
+ ElementSet drag_hover_chain;
+
+ // Input state; stored from the most recent input events we receive from the application.
+ Vector2i mouse_position;
+
+ // The render interface this context renders through.
+ RenderInterface* render_interface;
+ Vector2i clip_origin;
+ Vector2i clip_dimensions;
+
+ // Internal callback for when an element is removed from the hierarchy.
+ void OnElementRemove(Element* element);
+ // Internal callback for when a new element gains focus.
+ bool OnFocusChange(Element* element);
+
+ // Generates an event for faking clicks on an element.
+ void GenerateClickEvent(Element* element);
+
+ // Updates the current hover elements, sending required events.
+ void UpdateHoverChain(const Dictionary& parameters, const Dictionary& drag_parameters, const Vector2i& old_mouse_position);
+ // Returns the youngest descendent of the given element which is under the given point in screen coordinates.
+ // @param[in] point The point to test.
+ // @param[in] ignore_element If set, this element and its descendents will be ignored.
+ // @param[in] element Used internally.
+ // @return The element under the point, or NULL if nothing is.
+ Element* GetElementAtPoint(const Vector2f& point, const Element* ignore_element = NULL, Element* element = NULL);
+
+ // Creates the drag clone from the given element. The old drag clone will be released if
+ // necessary.
+ // @param[in] element The element to clone.
+ void CreateDragClone(Element* element);
+ // Releases the drag clone, if one exists.
+ void ReleaseDragClone();
+
+ // Builds the parameters for a generic key event.
+ void GenerateKeyEventParameters(Dictionary& parameters, Input::KeyIdentifier key_identifier);
+ // Builds the parameters for a generic mouse event.
+ void GenerateMouseEventParameters(Dictionary& parameters, int button_index = -1);
+ // Builds the parameters for the key modifier state.
+ void GenerateKeyModifierEventParameters(Dictionary& parameters, int key_modifier_state);
+ // Builds the parameters for a drag event.
+ void GenerateDragEventParameters(Dictionary& parameters);
+
+ // Releases all unloaded documents pending destruction.
+ void ReleaseUnloadedDocuments();
+
+ // Sends the specified event to all elements in new_items that don't appear in old_items.
+ static void SendEvents(const ElementSet& old_items, const ElementSet& new_items, const String& event, const Dictionary& parameters, bool interruptible);
+
+ friend class Element;
+ friend ROCKETCORE_API Context* CreateContext(const String&, const Vector2i&, RenderInterface*);
+};
+
+}
+}
+
+#endif
diff --git source/mac/Frameworks/Rocket.framework/Versions/A/Resources/Core/ContextInstancer.h source/mac/Frameworks/Rocket.framework/Versions/A/Resources/Core/ContextInstancer.h
new file mode 100644
index 0000000..6017dc8
--- /dev/null
+++ source/mac/Frameworks/Rocket.framework/Versions/A/Resources/Core/ContextInstancer.h
@@ -0,0 +1,70 @@
+/*
+ * This source file is part of libRocket, the HTML/CSS Interface Middleware
+ *
+ * For the latest information, see http://www.librocket.com
+ *
+ * Copyright (c) 2008-2010 CodePoint Ltd, Shift Technology Ltd
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ *
+ */
+
+#ifndef ROCKETCORECONTEXTINSTANCER_H
+#define ROCKETCORECONTEXTINSTANCER_H
+
+#include <Rocket/Core/ReferenceCountable.h>
+#include <Rocket/Core/Header.h>
+
+namespace Rocket {
+namespace Core {
+
+class Context;
+class Event;
+
+/**
+ Abstract instancer interface for instancing contexts.
+
+ @author Lloyd Weehuizen
+ */
+
+class ROCKETCORE_API ContextInstancer : public ReferenceCountable
+{
+public:
+ virtual ~ContextInstancer();
+
+ /// Instances a context.
+ /// @param[in] name Name of this context.
+ /// @return The instanced context.
+ virtual Context* InstanceContext(const String& name) = 0;
+
+ /// Releases a context previously created by this context.
+ /// @param[in] context The context to release.
+ virtual void ReleaseContext(Context* context) = 0;
+
+ /// Releases this context instancer
+ virtual void Release() = 0;
+
+private:
+ virtual void OnReferenceDeactivate();
+};
+
+}
+}
+
+#endif
diff --git source/mac/Frameworks/Rocket.framework/Versions/A/Resources/Core/ConvolutionFilter.h source/mac/Frameworks/Rocket.framework/Versions/A/Resources/Core/ConvolutionFilter.h
new file mode 100644
index 0000000..4187423
--- /dev/null
+++ source/mac/Frameworks/Rocket.framework/Versions/A/Resources/Core/ConvolutionFilter.h
@@ -0,0 +1,89 @@
+/*
+ * This source file is part of libRocket, the HTML/CSS Interface Middleware
+ *
+ * For the latest information, see http://www.librocket.com
+ *
+ * Copyright (c) 2008-2010 CodePoint Ltd, Shift Technology Ltd
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ *
+ */
+
+#ifndef ROCKETCORECONVOLUTIONFILTER_H
+#define ROCKETCORECONVOLUTIONFILTER_H
+
+namespace Rocket {
+namespace Core {
+
+/**
+ A programmable convolution filter, designed to aid in the generation of texture data by custom
+ FontEffect types.
+
+ @author Peter Curry
+ */
+
+class ConvolutionFilter
+{
+public:
+ enum FilterOperation
+ {
+ // The result is the median value of all the filtered pixels.
+ MEDIAN,
+ // The result is the smallest value of all filtered pixels.
+ DILATION,
+ // The result is the largest value of all the filtered pixels.
+ EROSION
+ };
+
+ ConvolutionFilter();
+ ~ConvolutionFilter();
+
+ /// Initialises the filter. A filter must be initialised and populated with values before use.
+ /// @param[in] kernel_size The size of the filter's kernel each side of the origin. So, for example, a filter initialised with a size of 1 will store 9 values.
+ /// @param[in] operation The operation the filter conducts to determine the result.
+ bool Initialise(int kernel_size, FilterOperation operation = MEDIAN);
+
+ /// Returns a reference to one of the rows of the filter kernel.
+ /// @param[in] index The index of the desired row.
+ /// @return The row of kernel values.
+ float* operator[](int index);
+
+ /// Runs the convolution filter. The filter will operate on each pixel in the destination
+ /// surface, setting its opacity to the result the filter on the source opacity values. The
+ /// colour values will remain unchanged.
+ /// @param[in] destination The RGBA-encoded destination buffer.
+ /// @param[in] destination_dimensions The size of the destination region (in pixels).
+ /// @param[in] destination_stride The stride (in bytes) of the destination region.
+ /// @param[in] source The opacity information for the source buffer.
+ /// @param[in] source_dimensions The size of the source region (in pixels). The stride is assumed to be equivalent to the horizontal width.
+ /// @param[in] source_offset The offset of the source region from the destination region. This is usually the same as the kernel size.
+ void Run(byte* destination, const Vector2i& destination_dimensions, int destination_stride, const byte* source, const Vector2i& source_dimensions, const Vector2i& source_offset) const;
+
+private:
+ int kernel_size;
+ float* kernel;
+
+ FilterOperation operation;
+};
+
+}
+}
+
+#endif
+
diff --git source/mac/Frameworks/Rocket.framework/Versions/A/Resources/Core/Core.h source/mac/Frameworks/Rocket.framework/Versions/A/Resources/Core/Core.h
new file mode 100644
index 0000000..c8fafdf
--- /dev/null
+++ source/mac/Frameworks/Rocket.framework/Versions/A/Resources/Core/Core.h
@@ -0,0 +1,152 @@
+/*
+ * This source file is part of libRocket, the HTML/CSS Interface Middleware
+ *
+ * For the latest information, see http://www.librocket.com
+ *
+ * Copyright (c) 2008-2010 CodePoint Ltd, Shift Technology Ltd
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ *
+ */
+
+#ifndef ROCKETCORECORE_H
+#define ROCKETCORECORE_H
+
+#include <Rocket/Core/Types.h>
+#include <Rocket/Core/Math.h>
+#include <Rocket/Core/Header.h>
+#include <Rocket/Core/Box.h>
+#include <Rocket/Core/Context.h>
+#include <Rocket/Core/ContextInstancer.h>
+#include <Rocket/Core/Decorator.h>
+#include <Rocket/Core/DecoratorInstancer.h>
+#include <Rocket/Core/Element.h>
+#include <Rocket/Core/ElementDocument.h>
+#include <Rocket/Core/ElementInstancer.h>
+#include <Rocket/Core/ElementInstancerGeneric.h>
+#include <Rocket/Core/ElementReference.h>
+#include <Rocket/Core/ElementScroll.h>
+#include <Rocket/Core/ElementText.h>
+#include <Rocket/Core/ElementUtilities.h>
+#include <Rocket/Core/Event.h>
+#include <Rocket/Core/EventInstancer.h>
+#include <Rocket/Core/EventListener.h>
+#include <Rocket/Core/EventListenerInstancer.h>
+#include <Rocket/Core/Factory.h>
+#include <Rocket/Core/FileInterface.h>
+#include <Rocket/Core/Font.h>
+#include <Rocket/Core/FontDatabase.h>
+#include <Rocket/Core/FontEffect.h>
+#include <Rocket/Core/FontGlyph.h>
+#include <Rocket/Core/Geometry.h>
+#include <Rocket/Core/GeometryUtilities.h>
+#include <Rocket/Core/Input.h>
+#include <Rocket/Core/Log.h>
+#include <Rocket/Core/Plugin.h>
+#include <Rocket/Core/Property.h>
+#include <Rocket/Core/PropertyDefinition.h>
+#include <Rocket/Core/PropertyDictionary.h>
+#include <Rocket/Core/PropertyParser.h>
+#include <Rocket/Core/PropertySpecification.h>
+#include <Rocket/Core/RenderInterface.h>
+#include <Rocket/Core/String.h>
+#include <Rocket/Core/StyleSheet.h>
+#include <Rocket/Core/StyleSheetKeywords.h>
+#include <Rocket/Core/StyleSheetSpecification.h>
+#include <Rocket/Core/SystemInterface.h>
+#include <Rocket/Core/Texture.h>
+#include <Rocket/Core/Types.h>
+#include <Rocket/Core/Vertex.h>
+#include <Rocket/Core/XMLNodeHandler.h>
+#include <Rocket/Core/XMLParser.h>
+
+namespace Rocket {
+namespace Core {
+
+class Plugin;
+
+/**
+ Rocket library core API.
+
+ @author Peter Curry
+ */
+
+/// Initialises Rocket.
+ROCKETCORE_API bool Initialise();
+/// Shutdown Rocket.
+ROCKETCORE_API void Shutdown();
+
+/// Returns the version of this Rocket library.
+/// @return The version number.
+ROCKETCORE_API String GetVersion();
+
+/// Sets the interface through which all system requests are made. This must be called before Initialise().
+/// @param[in] system_interface The application-specified logging interface.
+ROCKETCORE_API void SetSystemInterface(SystemInterface* system_interface);
+/// Returns Rocket's system interface.
+/// @return Rocket's system interface.
+ROCKETCORE_API SystemInterface* GetSystemInterface();
+
+/// Sets the interface through which all rendering requests are made. This is not required to be called, but if it is
+/// it must be called before Initialise(). If no render interface is specified, then all contexts must have a custom
+/// render interface.
+/// @param[in] render_interface Render interface implementation.
+ROCKETCORE_API void SetRenderInterface(RenderInterface* render_interface);
+/// Returns Rocket's default's render interface.
+/// @return Rocket's render interface.
+ROCKETCORE_API RenderInterface* GetRenderInterface();
+
+/// Sets the interface through which all file I/O requests are made. This is not required to be called, but if it is it
+/// must be called before Initialise().
+/// @param[in] file_interface The application-specified file interface
+ROCKETCORE_API void SetFileInterface(FileInterface* file_interface);
+/// Returns Rocket's file interface.
+/// @return Rocket's file interface.
+ROCKETCORE_API FileInterface* GetFileInterface();
+
+/// Creates a new element context.
+/// @param[in] name The new name of the context. This must be unique.
+/// @param[in] dimensions The initial dimensions of the new context.
+/// @param[in] render_interface The custom render interface to use, or NULL to use the default.
+/// @return The new context, or NULL if the context could not be created.
+ROCKETCORE_API Context* CreateContext(const String& name, const Vector2i& dimensions, RenderInterface* render_interface = NULL);
+/// Fetches a previously constructed context by name.
+/// @param[in] name The name of the desired context.
+/// @return The desired context, or NULL if no context exists with the given name.
+ROCKETCORE_API Context* GetContext(const String& name);
+/// Fetches a context by index.
+/// @param[in] index The index of the desired context. If this is outside of the valid range of contexts, it will be clamped.
+/// @return The requested context, or NULL if no contexts exist.
+ROCKETCORE_API Context* GetContext(int index);
+/// Returns the number of active contexts.
+/// @return The total number of active Rocket contexts.
+ROCKETCORE_API int GetNumContexts();
+
+/// Registers a generic Rocket plugin.
+ROCKETCORE_API void RegisterPlugin(Plugin* plugin);
+
+/// Forces all compiled geometry handles generated by libRocket to be released.
+ROCKETCORE_API void ReleaseCompiledGeometries();
+/// Forces all texture handles loaded and generated by libRocket to be released.
+ROCKETCORE_API void ReleaseTextures();
+
+}
+}
+
+#endif
diff --git source/mac/Frameworks/Rocket.framework/Versions/A/Resources/Core/Debug.h source/mac/Frameworks/Rocket.framework/Versions/A/Resources/Core/Debug.h
new file mode 100644
index 0000000..5c02012
--- /dev/null
+++ source/mac/Frameworks/Rocket.framework/Versions/A/Resources/Core/Debug.h
@@ -0,0 +1,112 @@
+/*
+ * This source file is part of libRocket, the HTML/CSS Interface Middleware
+ *
+ * For the latest information, see http://www.librocket.com
+ *
+ * Copyright (c) 2008-2010 CodePoint Ltd, Shift Technology Ltd
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ *
+ */
+
+#ifndef ROCKETCOREDEBUG_H
+#define ROCKETCOREDEBUG_H
+
+#include <Rocket/Core/Header.h>
+
+// Define for breakpointing.
+#if defined (ROCKET_PLATFORM_WIN32)
+ #if defined (__MINGW32__)
+ #define ROCKET_BREAK asm("int $0x03")
+ #else
+ #define ROCKET_BREAK _asm { int 0x03 }
+ #endif
+#elif defined (ROCKET_PLATFORM_LINUX)
+ #if defined __i386__ || defined __x86_64__
+ #define ROCKET_BREAK asm ("int $0x03" )
+ #else
+ #define ROCKET_BREAK
+ #endif
+#elif defined (ROCKET_PLATFORM_MACOSX)
+ #include <TargetConditionals.h>
+
+ #if TARGET_OS_IPHONE
+ #define ROCKET_BREAK
+ #else
+ #define ROCKET_BREAK {__asm__("int $3\n" : : );}
+ #endif
+#endif
+
+
+
+// Define the LT_ASSERT and ROCKET_VERIFY macros.
+#if !defined ROCKET_DEBUG
+#define ROCKET_ASSERT(x)
+#define ROCKET_ASSERTMSG(x, m)
+#define ROCKET_ERROR
+#define ROCKET_ERRORMSG(m)
+#define ROCKET_VERIFY(x) x
+#else
+namespace Rocket {
+namespace Core {
+
+bool ROCKETCORE_API Assert(const char* message, const char* file, int line);
+#define ROCKET_ASSERT(x) \
+if (!(x)) \
+{ \
+ if (!Rocket::Core::Assert("ROCKET_ASSERT("#x")", __FILE__, __LINE__ )) \
+ { \
+ ROCKET_BREAK; \
+ } \
+}
+#define ROCKET_ASSERTMSG(x, m) \
+if (!(x)) \
+{ \
+ if (!Rocket::Core::Assert(m, __FILE__, __LINE__ )) \
+ { \
+ ROCKET_BREAK; \
+ } \
+}
+#define ROCKET_ERROR \
+if (!Rocket::Core::Assert("ROCKET_ERROR", __FILE__, __LINE__)) \
+{ \
+ ROCKET_BREAK; \
+}
+#define ROCKET_ERRORMSG(m) \
+if (!Rocket::Core::Assert(m, __FILE__, __LINE__)) \
+{ \
+ ROCKET_BREAK; \
+}
+#define ROCKET_VERIFY(x) ROCKET_ASSERT(x)
+
+}
+}
+#endif
+
+namespace Rocket {
+namespace Core {
+
+template <bool> struct STATIC_ASSERTION_FAILURE;
+template <> struct STATIC_ASSERTION_FAILURE<true>{};
+
+}
+}
+#define ROCKET_STATIC_ASSERT(cond, msg) Rocket::Core::STATIC_ASSERTION_FAILURE<cond> msg
+
+#endif
diff --git source/mac/Frameworks/Rocket.framework/Versions/A/Resources/Core/Decorator.h source/mac/Frameworks/Rocket.framework/Versions/A/Resources/Core/Decorator.h
new file mode 100644
index 0000000..331cb66
--- /dev/null
+++ source/mac/Frameworks/Rocket.framework/Versions/A/Resources/Core/Decorator.h
@@ -0,0 +1,127 @@
+/*
+ * This source file is part of libRocket, the HTML/CSS Interface Middleware
+ *
+ * For the latest information, see http://www.librocket.com
+ *
+ * Copyright (c) 2008-2010 CodePoint Ltd, Shift Technology Ltd
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ *
+ */
+
+#ifndef ROCKETCOREDECORATOR_H
+#define ROCKETCOREDECORATOR_H
+
+#include <Rocket/Core/ReferenceCountable.h>
+#include <vector>
+#include <Rocket/Core/Header.h>
+#include <Rocket/Core/Texture.h>
+#include <Rocket/Core/Types.h>
+
+namespace Rocket {
+namespace Core {
+
+class DecoratorInstancer;
+class Element;
+class PropertyDictionary;
+class Property;
+struct Texture;
+class TextureResource;
+
+/**
+ The abstract base class for any visual object that can be attached to any element.
+
+ @author Peter Curry
+ */
+
+class ROCKETCORE_API Decorator : public ReferenceCountable
+{
+public:
+ Decorator();
+ virtual ~Decorator();
+
+ /// Called on a decorator to generate any required per-element data for a newly decorated element.
+ /// @param[in] element The newly decorated element.
+ /// @return A handle to a decorator-defined data handle, or NULL if none is needed for the element.
+ virtual DecoratorDataHandle GenerateElementData(Element* element) = 0;
+ /// Called to release element data generated by this decorator.
+ /// @param[in] element_data The element data handle to release.
+ virtual void ReleaseElementData(DecoratorDataHandle element_data) = 0;
+
+ /// Sets the z-index of the decorator. A decorator with a higher z-index will be rendered after a decorator
+ /// with a lower z-index. By default, all decorators have a z-index of 0.
+ /// @param[in] z-index The new z-index of the decorator.
+ void SetZIndex(float z_index);
+ /// Returns the decorator's z-index.
+ /// @return The z-index of the decorator.
+ float GetZIndex() const;
+
+ /// Sets the specificity of the decorator.
+ /// @param[in] specificity The specificity of the decorator.
+ void SetSpecificity(int specificity);
+ /// Returns the specificity of the decorator. This is used when multiple pseudo-classes are active on an
+ /// element, each with similarly-named decorators.
+ /// @return The specificity of the decorator.
+ int GetSpecificity() const;
+
+ /// Called to render the decorator on an element.
+ /// @param[in] element The element to render the decorator on.
+ /// @param[in] element_data The handle to the data generated by the decorator for the element.
+ virtual void RenderElement(Element* element, DecoratorDataHandle element_data) = 0;
+
+protected:
+ /// Releases the decorator through its instancer.
+ virtual void OnReferenceDeactivate();
+
+ /// Attempts to load a texture into the list of textures in use by the decorator.
+ /// @param[in] texture_name The name of the texture to load.
+ /// @param[in] rcss_path The RCSS file the decorator definition was loaded from; this is used to resolve relative paths.
+ /// @return The index of the texture if the load was successful, or -1 if the load failed.
+ int LoadTexture(const String& texture_name, const String& rcss_path);
+ /// Returns one of the decorator's previously loaded textures.
+ /// @param[in] index The index of the desired texture.
+ /// @return The texture at the appropriate index, or NULL if the index was invalid.
+ const Texture* GetTexture(int index = 0) const;
+
+ /// Returns the floating-point value of a numerical property from a dictionary of properties, resolving it
+ /// against a base value if it is a relative property.
+ /// @param[in] properties The user-supplied dictionary of properties.
+ /// @param[in] name The name of the desired property. This must be a numerical property.
+ /// @return The fully-resolved value of the property, or 0 if an error occured.
+ float ResolveProperty(const PropertyDictionary& properties, const String& name, float base_value) const;
+
+private:
+ DecoratorInstancer* instancer;
+
+ // The z-index of this decorator, used to resolve render order when multiple decorators are rendered
+ // simultaneously on the same element.
+ float z_index;
+ // The maximum specificity of the properties used to define the decorator.
+ int specificity;
+
+ // Stores a list of textures in use by this decorator.
+ std::vector< Texture > textures;
+
+ friend class Factory;
+};
+
+}
+}
+
+#endif
diff --git source/mac/Frameworks/Rocket.framework/Versions/A/Resources/Core/DecoratorInstancer.h source/mac/Frameworks/Rocket.framework/Versions/A/Resources/Core/DecoratorInstancer.h
new file mode 100644
index 0000000..1f06e83
--- /dev/null
+++ source/mac/Frameworks/Rocket.framework/Versions/A/Resources/Core/DecoratorInstancer.h
@@ -0,0 +1,94 @@
+/*
+ * This source file is part of libRocket, the HTML/CSS Interface Middleware
+ *
+ * For the latest information, see http://www.librocket.com
+ *
+ * Copyright (c) 2008-2010 CodePoint Ltd, Shift Technology Ltd
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ *
+ */
+
+#ifndef ROCKETCOREDECORATORINSTANCER_H
+#define ROCKETCOREDECORATORINSTANCER_H
+
+#include <Rocket/Core/ReferenceCountable.h>
+#include <Rocket/Core/Header.h>
+#include <Rocket/Core/PropertyDictionary.h>
+#include <Rocket/Core/PropertySpecification.h>
+
+namespace Rocket {
+namespace Core {
+
+class Decorator;
+
+/**
+ An element instancer provides a method for allocating and deallocating decorators.
+
+ It is important at the same instancer that allocated a decorator releases it. This ensures there are no issues with
+ memory from different DLLs getting mixed up.
+
+ @author Peter Curry
+ */
+
+class ROCKETCORE_API DecoratorInstancer : public ReferenceCountable
+{
+public:
+ DecoratorInstancer();
+ virtual ~DecoratorInstancer();
+
+ /// Instances a decorator given the property tag and attributes from the RCSS file.
+ /// @param[in] name The type of decorator desired. For example, "background-decorator: simple;" is declared as type "simple".
+ /// @param[in] properties All RCSS properties associated with the decorator.
+ /// @return The decorator if it was instanced successfully, NULL if an error occured.
+ virtual Decorator* InstanceDecorator(const String& name, const PropertyDictionary& properties) = 0;
+ /// Releases the given decorator.
+ /// @param[in] decorator Decorator to release. This is guaranteed to have been constructed by this instancer.
+ virtual void ReleaseDecorator(Decorator* decorator) = 0;
+
+ /// Releases the instancer.
+ virtual void Release() = 0;
+
+ /// Returns the property specification associated with the
View raw

(Sorry about that, but we can’t show files that are this big right now.)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment